From a89c396c01398878f69e4c4a191a8b32ac080646 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Sun, 17 Mar 2013 14:48:15 +0100 Subject: Initial jekyll-powered website for github pages * Removed Registration form and related files (reCAPTCHA / SQL stuff) * Removed including news (needs an alternative solution) --- .gitignore | 1 + CNAME | 1 + _config.yml | 3 + _layouts/default.html | 158 +++++++++++++++++++++ about.html | 28 ++++ about.php | 32 ----- bin/createaccount.rb | 80 ----------- downloads.html | 82 +++++++++++ downloads.php | 86 ------------ includes/common.php | 175 ----------------------- includes/conf/mysql.conf.php | 8 -- includes/fetch-news.sh | 8 -- includes/libs/libmysql.php | 89 ------------ includes/libs/libstrutils.php | 10 -- includes/models/account.php | 114 --------------- includes/news.php | 110 --------------- index.html | 12 ++ index.php | 19 --- recaptcha-php/LICENSE | 22 --- recaptcha-php/README | 7 - recaptcha-php/example-captcha.php | 37 ----- recaptcha-php/example-mailhide.php | 17 --- recaptcha-php/keys.php.example | 5 - recaptcha-php/recaptchalib.php | 277 ------------------------------------- registration.php | 145 ------------------- sql/createTables.sql | 13 -- 26 files changed, 285 insertions(+), 1254 deletions(-) create mode 100644 .gitignore create mode 100644 CNAME create mode 100644 _config.yml create mode 100644 _layouts/default.html create mode 100644 about.html delete mode 100644 about.php delete mode 100755 bin/createaccount.rb create mode 100644 downloads.html delete mode 100644 downloads.php delete mode 100644 includes/common.php delete mode 100644 includes/conf/mysql.conf.php delete mode 100755 includes/fetch-news.sh delete mode 100644 includes/libs/libmysql.php delete mode 100644 includes/libs/libstrutils.php delete mode 100644 includes/models/account.php delete mode 100644 includes/news.php create mode 100644 index.html delete mode 100644 index.php delete mode 100644 recaptcha-php/LICENSE delete mode 100644 recaptcha-php/README delete mode 100644 recaptcha-php/example-captcha.php delete mode 100644 recaptcha-php/example-mailhide.php delete mode 100644 recaptcha-php/keys.php.example delete mode 100644 recaptcha-php/recaptchalib.php delete mode 100644 registration.php delete mode 100644 sql/createTables.sql diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ca35be0 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +_site diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..2189ac2 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +www.themanaworld.org diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..d798b36 --- /dev/null +++ b/_config.yml @@ -0,0 +1,3 @@ +safe: true +url: http://www.themanaworld.org +basepath: diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 0000000..e19e2b0 --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,158 @@ + + + + + The Mana World + + + + + + + + + + +
+
+ +
+
+ +
+

The Mana World

+
+ +
+
+
+
+
+ +
+ + + +
+
+
+
+
+
+
+ +
+
+
+

{{ page.title }}

+
+
+
+ +{{ content }} + +
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+ + +
+
+ + + + + diff --git a/about.html b/about.html new file mode 100644 index 0000000..a896c05 --- /dev/null +++ b/about.html @@ -0,0 +1,28 @@ +--- +layout: default +title: About +--- + +

Description

+ +

The Mana World (TMW) is a serious effort to create an innovative free and +open source MMORPG. TMW uses 2D graphics and aims to create a large and diverse +interactive world. It is licensed under the GPL, making sure this game can't +ever run away from you.

+ +

The project includes the development of both a client and a server, as well +as the development of an online world. At the moment we're making alpha +releases of the client, while our server is in early development. The eAthena +free software Ragnarok Online server is used until our own server has matured +enough to replace it. Once ready, we'll be making releases of our server too so +anybody will be free to set up their own server and start building their own +online world.

+ +

Contributors

+ +

There are many people who have been involved in this project. For a list of + people with developer access, check out the project + +member list. On the wiki the +Developers page +keeps track of the current contributors as well as retired contributors.

diff --git a/about.php b/about.php deleted file mode 100644 index 48f90da..0000000 --- a/about.php +++ /dev/null @@ -1,32 +0,0 @@ - - -

Description

- -

The Mana World (TMW) is a serious effort to create an innovative free and -open source MMORPG. TMW uses 2D graphics and aims to create a large and diverse -interactive world. It is licensed under the GPL, making sure this game can't -ever run away from you.

- -

The project includes the development of both a client and a server, as well -as the development of an online world. At the moment we're making alpha -releases of the client, while our server is in early development. The eAthena -free software Ragnarok Online server is used until our own server has matured -enough to replace it. Once ready, we'll be making releases of our server too so -anybody will be free to set up their own server and start building their own -online world.

- -

Contributors

- -

There are many people who have been involved in this project. For a list of - people with developer access, check out the project - -member list. On the wiki the -Developers page -keeps track of the current contributors as well as retired contributors.

- - diff --git a/bin/createaccount.rb b/bin/createaccount.rb deleted file mode 100755 index 0f9228e..0000000 --- a/bin/createaccount.rb +++ /dev/null @@ -1,80 +0,0 @@ -#!/usr/bin/ruby - -require 'mysql' -require 'net/smtp' - -$smtp_server = 'localhost' -$mail_from = 'noreply@themanaworld.org' -$mail_from_name = 'The Mana World server' -$mail_subject = 'The Mana World Account registration' -$mail_body_success = "Your account was created successfully. Have fun playing The Mana World!\n" -$mail_body_error = "The was something wrong with the creation of your account.\n" + - "Error message: " -$mysql_hostname = "localhost" -$mysql_database = "test" -$mysql_username = "test" -$mysql_password = "test123" -$create_script = "/path/to/script" - -############################################################################## - -returns = [ - {'message' => "successfully created", 'status' => :SUCCESS, 'final_state' => 1 }, - {'message' => "Same account already exists", 'status' => :FAILED, 'final_state' => 2 }, - {'message' => "Email is too short", 'status' => :FAILED, 'final_state' => 2 }, - {'message' => "Email is too long", 'status' => :FAILED, 'final_state' => 2 }, - {'message' => "Invalid email", 'status' => :FAILED, 'final_state' => 2 }, - {'message' => "Account name is too short", 'status' => :FAILED, 'final_state' => 2 }, - {'message' => "Account name is too long", 'status' => :FAILED, 'final_state' => 2 }, - {'message' => "Illegal character", 'status' => :FAILED, 'final_state' => 2 }, - {'message' => "command not found", 'status' => :FAILED, 'final_state' => 2 }, -] - -############################################################################## - -def send_mail(email, username, status, errm) - message = "From: #{$mail_from_name} <#{$mail_from}>\n" + - "To: #{username} <#{email}>\n" + - "Subject: #{$mail_subject}\n\n" - message << "Hello #{username},\n\n" - - if status == :SUCCESS then - message << $mail_body_success - elsif status == :FAILED then - message << $mail_body_error << errm - end - - Net::SMTP.start($smtp_server) do |smtp| - smtp.send_message(message, $mail_from, email) - end -end - -############################################################################## - -db = Mysql::new($mysql_hostname, $mysql_username, $mysql_password, $mysql_database) -db.query("SELECT id, username, password, email, gender - FROM tmw_accounts - WHERE state = 0").each do |id, username, password, email, g| - begin - gender = case g.to_i - when 1 then "M" - when 2 then "F" - end - - # insert the right command here - retval = `#{$create_script} create #{username} #{gender} #{email} #{password}` - # parse the return value - returns.each do |retcode| - if retval.include? retcode['message'] then - send_mail( email, username, retcode['status'], retcode['message'] ) - db.query("UPDATE tmw_accounts SET STATE = #{retcode['final_state']} WHERE id = #{id}") - end - end - rescue - puts "ERROR occured" - puts $! - db.query("UPDATE tmw_accounts SET STATE = 2 WHERE id = #{id}") - end -end -db.close - diff --git a/downloads.html b/downloads.html new file mode 100644 index 0000000..1150091 --- /dev/null +++ b/downloads.html @@ -0,0 +1,82 @@ +--- +layout: default +title: Downloads +--- + +
+Notice: For the registration of new accounts please use the web form. The registration from within the client is disabled. +
+ +

ManaPlus client

+The recommended client is available on this other website. + +

Mana client

+ +

The old official client for playing The Mana World is the Mana client and is + developed as part of the Mana project. + The latest version of the client can be downloaded from there.

+ +

There will probably be no more releases of the Mana client that support this server. Use ManaPlus instead. +

+ +

The Mana World packages

+ +

The Mana World packages are available for many platforms. These are based on + the Mana client, but have a different default skin and will show up + as "The Mana World" in the application menu.

+ + + +
+ + +
MacOS X package 0.5.0 (outdated, see forum)
+ + + + +
+ + + + + + +
+ +

For packagers (or for users who're interested), the branding files can be + downloaded separately:

+ + + +
+ +
+ +

For older versions please see our files +page on SourceForge. Note however that these releases are no longer supported and +likely to no longer work with our server.

+ +

Music

+ +

We no longer recommend music be installed directly, +as it easily becomes out-of-date.

+

To enable music in the client, make sure that "Download Music" is checked +in the Audio tab of the Setup window.

+ +

Development version

+ +

The latest version of the client is developed as part of the +Mana project and is available from the +Git repositories on github. For +checking out the latest development version of the client you can use the +command:

+ +
+git clone git://github.com/mana/mana.git
+
+ +

For more instructions and information about other projects like the server +and the dynamic data, please check our +Git wiki +page. diff --git a/downloads.php b/downloads.php deleted file mode 100644 index 6c784f8..0000000 --- a/downloads.php +++ /dev/null @@ -1,86 +0,0 @@ - - -

-Notice: For the registration of new accounts please use the web form. The registration from within the client is disabled. -
- -

ManaPlus client

-The recommended client is available on this other website. - -

Mana client

- -

The old official client for playing The Mana World is the Mana client and is - developed as part of the Mana project. - The latest version of the client can be downloaded from there.

- -

There will probably be no more releases of the Mana client that support this server. Use ManaPlus instead. -

- -

The Mana World packages

- -

The Mana World packages are available for many platforms. These are based on - the Mana client, but have a different default skin and will show up - as "The Mana World" in the application menu.

- - - -
- - -
MacOS X package 0.5.0 (outdated, see forum)
- - - - -
- - - - - - -
- -

For packagers (or for users who're interested), the branding files can be - downloaded separately:

- - - -
- -
- -

For older versions please see our files -page on SourceForge. Note however that these releases are no longer supported and -likely to no longer work with our server.

- -

Music

- -

We no longer recommend music be installed directly, -as it easily becomes out-of-date.

-

To enable music in the client, make sure that "Download Music" is checked -in the Audio tab of the Setup window.

- -

Development version

- -

The latest version of the client is developed as part of the -Mana project and is available from the -Git repositories on github. For -checking out the latest development version of the client you can use the -command:

- -
-git clone git://github.com/mana/mana.git
-
- -

For more instructions and information about other projects like the server -and the dynamic data, please check our -Git wiki -page. - - diff --git a/includes/common.php b/includes/common.php deleted file mode 100644 index fe530fd..0000000 --- a/includes/common.php +++ /dev/null @@ -1,175 +0,0 @@ -\n"; -?> - - - - The Mana World - - - - - - - - - - -

-
- -
-
- -
-

The Mana World

-
- -
-
-
-
-
- -
- - - -
-
-
-
-
-
-
- -
-
-
-

-
-
-
- -
- -
-
-
-
-
-
-
- -
-
-
-
-
- - -
-
- - - - - - diff --git a/includes/conf/mysql.conf.php b/includes/conf/mysql.conf.php deleted file mode 100644 index d0122d5..0000000 --- a/includes/conf/mysql.conf.php +++ /dev/null @@ -1,8 +0,0 @@ - \ No newline at end of file diff --git a/includes/fetch-news.sh b/includes/fetch-news.sh deleted file mode 100755 index 5cc9ea5..0000000 --- a/includes/fetch-news.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# -# Fetches project news and saves it for local use. -# - -/usr/bin/wget -q -O /home/tmw/public_html/www/includes/rss2_projnews.tmp 'http://sourceforge.net/export/rss2_projnews.php?group_id=106790&rss_fulltext=1' > /dev/null -/bin/mv -f /home/tmw/public_html/www/includes/rss2_projnews.tmp \ - /home/tmw/public_html/www/includes/rss2_projnews.cache diff --git a/includes/libs/libmysql.php b/includes/libs/libmysql.php deleted file mode 100644 index 5a3a06c..0000000 --- a/includes/libs/libmysql.php +++ /dev/null @@ -1,89 +0,0 @@ -conn = mysql_connect( $conf['mysql_hostname'], - $conf['mysql_username'], - $conf['mysql_password'] ) - or die ("Connection to database failed!" . mysql_error()); - - mysql_select_db( $conf['mysql_database'], $this->conn ) - or die ("Selection of database failed! " . mysql_error()); - } - - private function checkConnect() - { - if (!isset($this->conn)) - { - die("Not connected to database"); - } - } - - // returns the value in the first row and column - public function getValue( $sql ) - { - $this->checkConnect(); - - $res = mysql_query( $sql, $this->conn ); - if (!$res) - { - die('Error while calling database: ' . mysql_error()); - } - $vals = mysql_fetch_row( $res ); - mysql_free_result( $res ); - return $vals[0]; - } - - // executes some sql and returns affected rows - public function exec( $sql ) - { - $this->checkConnect(); - - $res = mysql_query( $sql, $this->conn ); - if (!$res) - { - die('Error while calling database: ' . mysql_error()); - } - $numrows = mysql_affected_rows( $this->conn ); - return $numrows; - } - - public function escape( $string ) - { - $this->checkConnect(); - - return mysql_real_escape_string( $string, $this->conn ); - } - - public function disconnect() - { - if ( mysql_ping( $this->conn ) ) - { - mysql_close( $this->conn ); - } - } - -} - - -?> \ No newline at end of file diff --git a/includes/libs/libstrutils.php b/includes/libs/libstrutils.php deleted file mode 100644 index ee81c33..0000000 --- a/includes/libs/libstrutils.php +++ /dev/null @@ -1,10 +0,0 @@ - diff --git a/includes/models/account.php b/includes/models/account.php deleted file mode 100644 index ef253c6..0000000 --- a/includes/models/account.php +++ /dev/null @@ -1,114 +0,0 @@ -getValue( $sql ); - } - - public static function existsUsername($str) - { - $db = Database::getInstance(); - $sql = sprintf("SELECT COUNT(*) FROM " . TMWAccount::ACCOUNT_TBL . - " WHERE USERNAME = '%s'", $db->escape($str)); - return ($db->getValue($sql) == 1); - } - - public function setUsername($name){ $this->username = $name; } - public function setPassword($pwd){ $this->password = $pwd; } - public function setEMail($email){ $this->email = $email; } - public function setGender($gender){ $this->gender = $gender; } - - public function validate() - { - $errors = array(); - - // check here for correct values.. - if (strlen($this->username) < 4) - $errors[] = "Username is too short"; - - if (strlen($this->username) >= 24) - $errors[] = "Username is too long"; - - if (strlen($this->password) < 4) - $errors[] = "Password is too short"; - - if (strlen($this->password) >= 24) - $errors[] = "Password is too long"; - - if (strlen($this->email) < 4) - $errors[] = "EMail is too short"; - - if (strlen($this->email) >= 40) - $errors[] = "EMail is too long"; - - if (!check_chars($this->username)) - $errors[] = 'Username contains invalid characters. ' . BAD_STRING_DESC; - - if (!check_chars($this->password)) - $errors[] = 'Password contains invalid characters. ' . BAD_STRING_DESC; - - if ($this->gender != TMWAccount::GENDER_MALE && - $this->gender != TMWAccount::GENDER_FEMALE ) - { - $errors[] = 'Gender has to be Male or Female!'; - } - - if (!filter_var($this->email, FILTER_VALIDATE_EMAIL)) - { - $errors[] = 'EMail has wrong format.'; - } - - - // returns true if everything is fine ( test with === true) - if (count($errors) == 0) - { - return true; - } - else - { - return $errors; - } - } - - - - public function storeAccount() - { - $db = Database::getInstance(); - $sql = sprintf( "INSERT INTO " . TMWAccount::ACCOUNT_TBL . - " (USERNAME, PASSWORD, EMAIL, GENDER) " . - "VALUES ('%s', '%s', '%s', %d) ", - $db->escape($this->username), - $db->escape($this->password), - $db->escape($this->email), - $this->gender); - - $rows = $db->exec( $sql ); - return ( $rows == 1 ); - } -} - -?> diff --git a/includes/news.php b/includes/news.php deleted file mode 100644 index e1c5311..0000000 --- a/includes/news.php +++ /dev/null @@ -1,110 +0,0 @@ -open($feedurl); -xml_read_rss($xml); -$xml->close(); - -function xml_read_rss($xml) -{ - if ($xml->next("rss")) { - xml_read_channels($xml); - } else { - echo "Error, not an rss feed."; - } -} - -function xml_read_channels($xml) -{ - while ($xml->read()) { - switch ($xml->nodeType) { - case XMLReader::ELEMENT: - if ($xml->name == "channel") { - xml_read_channel($xml); - } else { - xml_read_unknown_element($xml); - } - break; - case XMLReader::END_ELEMENT: - return; - } - } -} - -function xml_read_channel($xml) -{ - while ($xml->read()) { - switch ($xml->nodeType) { - case XMLReader::ELEMENT: - if ($xml->name == "item") { - xml_read_item($xml); - } else { - xml_read_unknown_element($xml); - } - break; - case XMLReader::END_ELEMENT: - return; - } - } -} - -function xml_read_item($xml) -{ - $newsdata = array(); - - while ($xml->read()) { - switch ($xml->nodeType) { - case XMLReader::ELEMENT: - $newsdata[$xml->name] = $xml->readString(); - xml_read_unknown_element($xml); - break; - case XMLReader::END_ELEMENT: - print_news_item($newsdata); - return; - } - } -} - -function xml_read_unknown_element($xml) -{ - while ($xml->read()) { - switch ($xml->nodeType) { - case XMLReader::ELEMENT: - xml_read_unknown_element($xml); - break; - case XMLReader::END_ELEMENT: - return; - } - } -} - -function print_news_item($newsdata) -{ - echo '
'; - echo '
' . $newsdata['pubDate'] . '
'; - echo '

' . $newsdata['title'] . '

'; - echo '

' . $newsdata['description'] . '

'; - echo '
'; -} - -?> diff --git a/index.html b/index.html new file mode 100644 index 0000000..561f372 --- /dev/null +++ b/index.html @@ -0,0 +1,12 @@ +--- +layout: default +title: News +--- + + + diff --git a/index.php b/index.php deleted file mode 100644 index e1d49dd..0000000 --- a/index.php +++ /dev/null @@ -1,19 +0,0 @@ - - - diff --git a/recaptcha-php/LICENSE b/recaptcha-php/LICENSE deleted file mode 100644 index b612f71..0000000 --- a/recaptcha-php/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2007 reCAPTCHA -- http://recaptcha.net -AUTHORS: - Mike Crawford - Ben Maurer - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/recaptcha-php/README b/recaptcha-php/README deleted file mode 100644 index 21f1a27..0000000 --- a/recaptcha-php/README +++ /dev/null @@ -1,7 +0,0 @@ -reCAPTCHA README -================ - -The reCAPTCHA PHP Lirary helps you use the reCAPTCHA API. Documentation -for this library can be found at - - http://recaptcha.net/plugins/php diff --git a/recaptcha-php/example-captcha.php b/recaptcha-php/example-captcha.php deleted file mode 100644 index 1c4ca5f..0000000 --- a/recaptcha-php/example-captcha.php +++ /dev/null @@ -1,37 +0,0 @@ - - -
-is_valid) { - echo "You got it!"; - } else { - # set the error code so that we can display it - $error = $resp->error; - } -} -echo recaptcha_get_html($publickey, $error); -?> -
- -
- - diff --git a/recaptcha-php/example-mailhide.php b/recaptcha-php/example-mailhide.php deleted file mode 100644 index e389eb9..0000000 --- a/recaptcha-php/example-mailhide.php +++ /dev/null @@ -1,17 +0,0 @@ - - - -The Mailhide version of example@example.com is -.
- -The url for the email is: -
- - diff --git a/recaptcha-php/keys.php.example b/recaptcha-php/keys.php.example deleted file mode 100644 index 4355a6c..0000000 --- a/recaptcha-php/keys.php.example +++ /dev/null @@ -1,5 +0,0 @@ - \ No newline at end of file diff --git a/recaptcha-php/recaptchalib.php b/recaptcha-php/recaptchalib.php deleted file mode 100644 index 897c509..0000000 --- a/recaptcha-php/recaptchalib.php +++ /dev/null @@ -1,277 +0,0 @@ - $value ) - $req .= $key . '=' . urlencode( stripslashes($value) ) . '&'; - - // Cut the last '&' - $req=substr($req,0,strlen($req)-1); - return $req; -} - - - -/** - * Submits an HTTP POST to a reCAPTCHA server - * @param string $host - * @param string $path - * @param array $data - * @param int port - * @return array response - */ -function _recaptcha_http_post($host, $path, $data, $port = 80) { - - $req = _recaptcha_qsencode ($data); - - $http_request = "POST $path HTTP/1.0\r\n"; - $http_request .= "Host: $host\r\n"; - $http_request .= "Content-Type: application/x-www-form-urlencoded;\r\n"; - $http_request .= "Content-Length: " . strlen($req) . "\r\n"; - $http_request .= "User-Agent: reCAPTCHA/PHP\r\n"; - $http_request .= "\r\n"; - $http_request .= $req; - - $response = ''; - if( false == ( $fs = @fsockopen($host, $port, $errno, $errstr, 10) ) ) { - die ('Could not open socket'); - } - - fwrite($fs, $http_request); - - while ( !feof($fs) ) - $response .= fgets($fs, 1160); // One TCP-IP packet - fclose($fs); - $response = explode("\r\n\r\n", $response, 2); - - return $response; -} - - - -/** - * Gets the challenge HTML (javascript and non-javascript version). - * This is called from the browser, and the resulting reCAPTCHA HTML widget - * is embedded within the HTML form it was called from. - * @param string $pubkey A public key for reCAPTCHA - * @param string $error The error given by reCAPTCHA (optional, default is null) - * @param boolean $use_ssl Should the request be made over ssl? (optional, default is false) - - * @return string - The HTML to be embedded in the user's form. - */ -function recaptcha_get_html ($pubkey, $error = null, $use_ssl = false) -{ - if ($pubkey == null || $pubkey == '') { - die ("To use reCAPTCHA you must get an API key from http://recaptcha.net/api/getkey"); - } - - if ($use_ssl) { - $server = RECAPTCHA_API_SECURE_SERVER; - } else { - $server = RECAPTCHA_API_SERVER; - } - - $errorpart = ""; - if ($error) { - $errorpart = "&error=" . $error; - } - return ' - - '; -} - - - - -/** - * A ReCaptchaResponse is returned from recaptcha_check_answer() - */ -class ReCaptchaResponse { - var $is_valid; - var $error; -} - - -/** - * Calls an HTTP POST function to verify if the user's guess was correct - * @param string $privkey - * @param string $remoteip - * @param string $challenge - * @param string $response - * @param array $extra_params an array of extra variables to post to the server - * @return ReCaptchaResponse - */ -function recaptcha_check_answer ($privkey, $remoteip, $challenge, $response, $extra_params = array()) -{ - if ($privkey == null || $privkey == '') { - die ("To use reCAPTCHA you must get an API key from http://recaptcha.net/api/getkey"); - } - - if ($remoteip == null || $remoteip == '') { - die ("For security reasons, you must pass the remote ip to reCAPTCHA"); - } - - - - //discard spam submissions - if ($challenge == null || strlen($challenge) == 0 || $response == null || strlen($response) == 0) { - $recaptcha_response = new ReCaptchaResponse(); - $recaptcha_response->is_valid = false; - $recaptcha_response->error = 'incorrect-captcha-sol'; - return $recaptcha_response; - } - - $response = _recaptcha_http_post (RECAPTCHA_VERIFY_SERVER, "/verify", - array ( - 'privatekey' => $privkey, - 'remoteip' => $remoteip, - 'challenge' => $challenge, - 'response' => $response - ) + $extra_params - ); - - $answers = explode ("\n", $response [1]); - $recaptcha_response = new ReCaptchaResponse(); - - if (trim ($answers [0]) == 'true') { - $recaptcha_response->is_valid = true; - } - else { - $recaptcha_response->is_valid = false; - $recaptcha_response->error = $answers [1]; - } - return $recaptcha_response; - -} - -/** - * gets a URL where the user can sign up for reCAPTCHA. If your application - * has a configuration page where you enter a key, you should provide a link - * using this function. - * @param string $domain The domain where the page is hosted - * @param string $appname The name of your application - */ -function recaptcha_get_signup_url ($domain = null, $appname = null) { - return "http://recaptcha.net/api/getkey?" . _recaptcha_qsencode (array ('domain' => $domain, 'app' => $appname)); -} - -function _recaptcha_aes_pad($val) { - $block_size = 16; - $numpad = $block_size - (strlen ($val) % $block_size); - return str_pad($val, strlen ($val) + $numpad, chr($numpad)); -} - -/* Mailhide related code */ - -function _recaptcha_aes_encrypt($val,$ky) { - if (! function_exists ("mcrypt_encrypt")) { - die ("To use reCAPTCHA Mailhide, you need to have the mcrypt php module installed."); - } - $mode=MCRYPT_MODE_CBC; - $enc=MCRYPT_RIJNDAEL_128; - $val=_recaptcha_aes_pad($val); - return mcrypt_encrypt($enc, $ky, $val, $mode, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"); -} - - -function _recaptcha_mailhide_urlbase64 ($x) { - return strtr(base64_encode ($x), '+/', '-_'); -} - -/* gets the reCAPTCHA Mailhide url for a given email, public key and private key */ -function recaptcha_mailhide_url($pubkey, $privkey, $email) { - if ($pubkey == '' || $pubkey == null || $privkey == "" || $privkey == null) { - die ("To use reCAPTCHA Mailhide, you have to sign up for a public and private key, " . - "you can do so at http://mailhide.recaptcha.net/apikey"); - } - - - $ky = pack('H*', $privkey); - $cryptmail = _recaptcha_aes_encrypt ($email, $ky); - - return "http://mailhide.recaptcha.net/d?k=" . $pubkey . "&c=" . _recaptcha_mailhide_urlbase64 ($cryptmail); -} - -/** - * gets the parts of the email to expose to the user. - * eg, given johndoe@example,com return ["john", "example.com"]. - * the email is then displayed as john...@example.com - */ -function _recaptcha_mailhide_email_parts ($email) { - $arr = preg_split("/@/", $email ); - - if (strlen ($arr[0]) <= 4) { - $arr[0] = substr ($arr[0], 0, 1); - } else if (strlen ($arr[0]) <= 6) { - $arr[0] = substr ($arr[0], 0, 3); - } else { - $arr[0] = substr ($arr[0], 0, 4); - } - return $arr; -} - -/** - * Gets html to display an email address given a public an private key. - * to get a key, go to: - * - * http://mailhide.recaptcha.net/apikey - */ -function recaptcha_mailhide_html($pubkey, $privkey, $email) { - $emailparts = _recaptcha_mailhide_email_parts ($email); - $url = recaptcha_mailhide_url ($pubkey, $privkey, $email); - - return htmlentities($emailparts[0]) . "...@" . htmlentities ($emailparts [1]); - -} - - -?> diff --git a/registration.php b/registration.php deleted file mode 100644 index ee93bb5..0000000 --- a/registration.php +++ /dev/null @@ -1,145 +0,0 @@ -setUsername($_POST['username']); - $acc->setPassword($_POST['password1']); - $acc->setEMail($_POST['email']); - $acc->setGender($_POST['gender']); - - $val = $acc->validate(); - if (is_array($val)) - { - foreach( $val as $error) - { - $err .= $error . "
"; - } - $showform = true; - } - - if ($_POST['password2'] != $_POST['password1']) - { - $err .= "The given passwords don't match!"; $showform = true; - } - - if (TMWAccount::existsUsername( $_POST['username'] )) - { - $err .= "The username is in use!"; $showform = true; - } - - if ($enable_captcha) - { - // check captcha - $resp = recaptcha_check_answer ($privatekey, $_SERVER["REMOTE_ADDR"], - $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]); - - if (!$resp->is_valid) - { - $err .= "The captcha was incorrect!"; $showform = true; - } - } - - if (!$showform) - { - // create the account - if (!$acc->storeAccount()) - { - $err = "The was an unknown error while storing your new account"; - $showform = true; - } - } - } - - include("includes/common.php"); - placeHeader("Registration"); - - - if ($showform) - { - -?> -

With this form you can register for a new account. We will never give your email to someone else or send you spam! Its only purpose is to be able to send you back whether account creation succeeded.

- -

Security warning: Do not use the same username and password on -two different servers. The server admins can read all of them in clear text and -nothing stops them from trying them on other servers. It happened a lot in the -past that users of the official server got "hacked" because they ignored this -important precaution.

- -
- - - - "; - } - ?> - - - - - - - - - - - - - - - - - - - - - - - - - - -
" . - $err . "
Username:
Password:
Retype password:
EMail:
Gender: - -
- -
- -
-
- - - -

Your account was scheduled for creation! In a few minutes you should receive an email with verification of your new account.

- -

If the account doesn't work after five minutes, please contact Freeyorp or Frost on the forums or IRC. We can make it for you.

- - - diff --git a/sql/createTables.sql b/sql/createTables.sql deleted file mode 100644 index 6442b6b..0000000 --- a/sql/createTables.sql +++ /dev/null @@ -1,13 +0,0 @@ -CREATE TABLE `tmw_accounts` -( - `ID` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , - `USERNAME` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL , - `PASSWORD` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL , - `EMAIL` VARCHAR( 200 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL , - `STATE` TINYINT UNSIGNED NOT NULL DEFAULT '0', - `REGISTRATION` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , - `GENDER` TINYINT UNSIGNED NOT NULL DEFAULT '0', - -- - INDEX ( `STATE` ) , - UNIQUE ( `USERNAME` ) -) ENGINE = InnoDB; -- cgit v1.2.3-70-g09d2