From a4f747c5de3b831ba3c1d387817fdc75be25e1cc Mon Sep 17 00:00:00 2001 From: gumi Date: Sat, 29 Jun 2019 17:04:09 +0000 Subject: move away from PHP, use static pages with the api --- .gitignore | 5 + bin/create_account.sh | 94 ------------ default.css | 15 ++ downloads.php | 33 +++-- favicon.ico | 1 + includes/common.php | 40 +++-- includes/conf/mysql.conf.php.example | 8 - includes/email.php | 63 -------- includes/fetch-news.sh | 8 - includes/libs/libmysql.php | 89 ----------- includes/models/account.php | 114 -------------- includes/news.php | 1 + index.php | 6 +- 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 | 279 ----------------------------------- registration.php | 150 ++----------------- robots.txt | 5 +- rusha.min.js | 3 + thank_you.php | 11 -- 23 files changed, 84 insertions(+), 929 deletions(-) delete mode 100755 bin/create_account.sh create mode 120000 favicon.ico delete mode 100644 includes/conf/mysql.conf.php.example delete mode 100644 includes/email.php delete mode 100755 includes/fetch-news.sh delete mode 100644 includes/libs/libmysql.php delete mode 100644 includes/models/account.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 create mode 100644 rusha.min.js delete mode 100644 thank_you.php diff --git a/.gitignore b/.gitignore index 5f69a57..0ebeea6 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,8 @@ /news.html # generated, I think /images/thumbs +/news.rss + +# part of another repo +/register +/recover diff --git a/bin/create_account.sh b/bin/create_account.sh deleted file mode 100755 index f073a48..0000000 --- a/bin/create_account.sh +++ /dev/null @@ -1,94 +0,0 @@ -#!/bin/bash -# Run every minute - -MAIL_FROM='user@host' -MAIL_FROM_NAME='The Mana World server' -MAIL_SUBJECT='The Mana World account registration' - - -SQL_HOST='localhost' -SQL_USER='user' -SQL_PASSWORD='password' -SQL_DATABASE='db' -SQL_TABLE='table' - -LADMIN_DIR='/path/to/tmwserver/login/' -LADMIN_BIN='tmwa-admin' - -### end configuration - - -mail_command() -{ -# no arguments; takes a message on stdin - /usr/sbin/sendmail -t -} - -die() -{ - echo "$@" - exit 1 -} - -one_word() -{ - test $# -eq 1 || die "Error: evil spaces!" -} - -one_word $SQL_HOST -one_word $SQL_USER -one_word $SQL_PASSWORD -one_word $SQL_DATABASE -one_word $SQL_TABLE - -send_email() -{ -# Note: USERNAME and EMAIL are captured -mail_command << __EOF__ -From: $MAIL_FROM_NAME <$MAIL_FROM> -To: $USERNAME <$EMAIL> -Subject: $MAIL_SUBJECT - -Hello $USERNAME, - -$@ -__EOF__ -} - -do_mysql() -{ - # SQL statements on stdin - mysql --host="$SQL_HOST" --user="$SQL_USER" --password="$SQL_PASSWORD" "$SQL_DATABASE" -} - -frob_accounts() -{ - IFS=$'\t' - while read ID USERNAME PASSWORD EMAIL GENDER - do - if test "$GENDER" = '1'; then GENDER=M; fi - if test "$GENDER" = '2'; then GENDER=F; fi - - RESULT=$(cd $LADMIN_DIR; $LADMIN_BIN <<< "create $USERNAME $GENDER $EMAIL $PASSWORD" 2>&1) - echo RESULT: "$RESULT" - if grep -q 'successfully created' <<< "$RESULT" - then - send_email 'Your account was created successfully. Have fun playing The Mana World!' - STATE=1 - else - send_email $'Something went wrong when automatically creating your account.\nError message:' "$RESULT" - STATE=2 - fi - do_mysql << __EOF__ -update $SQL_TABLE set state = $STATE, password = '' where id = $ID -__EOF__ - done -} - -do_mysql << __EOF__ | tail -n+2 | frob_accounts -select id, username, password, email, gender -from $SQL_TABLE -where state = 0 -__EOF__ - -echo Everything is Ok. diff --git a/default.css b/default.css index 42bbdef..25be71e 100644 --- a/default.css +++ b/default.css @@ -234,6 +234,21 @@ h1 { vertical-align: text-bottom; } +.tmwa-status, .tmwa-status:visited { + display: block; + color: green; + font-family: sans-serif; + /*font-size: 9px;*/ + padding-top: 9px; + text-align: center; + font-weight: bold; + +} + +.tmwa-status.offline, .tmwa-status.offline:visited { + color: red; +} + #contents_leftrepeat { background-image: url(images/contents_leftrepeat.png); background-repeat: repeat-y; diff --git a/downloads.php b/downloads.php index 561153b..55a15f3 100644 --- a/downloads.php +++ b/downloads.php @@ -8,32 +8,32 @@

ManaPlus client

+

The recommended client is available on the ManaPlus website.

+


The Mana World packages

- +

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

- +
- - - - - - + + + + + - - - + +
-

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

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 versions

+ + + + The Mana World - <?php echo $page_title; ?> @@ -54,11 +61,10 @@ function placeHeader($page_title)
  • Downloads
  • News
  • About
  • -
  • Support (IRC)
  • +
  • Account Recovery
  • Wiki
  • Forums
  • FAQ
  • -
  • Servers
  • @@ -71,7 +77,26 @@ function placeHeader($page_title)
    Server status - + Online +
    @@ -153,16 +178,9 @@ function placeFooter() - + - - - \ No newline at end of file diff --git a/includes/email.php b/includes/email.php deleted file mode 100644 index 6184d56..0000000 --- a/includes/email.php +++ /dev/null @@ -1,63 +0,0 @@ - \____|____(______/__| \(______/ #\n"; - $data .= "# __ __ .__ .___ #\n"; - $data .= "# / \ / \___________| | __| _/ #\n"; - $data .= "# \ \/\/ / _ \_ __ \ | / __ | #\n"; - $data .= "# \ ( <_> ) | \/ |__/ /_/ | #\n"; - $data .= "# \__/\ / \____/|__| |____/\____ | #\n"; - $data .= "# \/ \/ #\n"; - $data .= "# #\n"; - $data .= "###############################################################\n"; - $data .= $emailText; - - $data .= "\r\n\r\n--" . $boundary . "\r\n"; - $data .= "Content-type: text/html;charset=utf-8\r\n\r\n"; - - $data .= ' - - -Home Page -Home Page -Official Client Mana Plus -The Mana World News -The Mana World Wiki -The Mana World Forums -The Mana World Support (IRC) -About The Mana World -Creative Commons -GNU General Public License -Open Source Initiative -The Mana World on Facebook -The Mana World on G+ -The Mana World on Youtube -Official Client Mana Plus -Mac OS Downloads -Windows Installer -Linux Versions -Image Map - -'.nl2br($emailText).' -
    - © 2004-2014 The Mana World -
    - -'; - $data .= "\r\n\r\n--" . $boundary . "--"; - return array($headers,$data); -} -?> 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/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 index 791e3c4..21e7f27 100644 --- a/includes/news.php +++ b/includes/news.php @@ -11,6 +11,7 @@ function printNews($num='all') { $content .= $buffer; if (preg_match('/<\/div>/',$buffer)) { $count++; + $content .= "
    "; } if ($count == $num && $num != 'all') { $content .= '
    More News >>
    '; diff --git a/index.php b/index.php index 0e0bbfb..dd9dd15 100644 --- a/index.php +++ b/index.php @@ -4,13 +4,13 @@ include('includes/news.php'); placeHeader("Home"); ?>
    -

    The Mana World Project

    +

    The Mana World Project


    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.

    -
    +

    Recent News

    -
    +
    - -
    -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 d08622c..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 5e6e8e5..0000000 --- a/recaptcha-php/recaptchalib.php +++ /dev/null @@ -1,279 +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 https://www.google.com/recaptcha/admin/create"); - } - - 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 https://www.google.com/recaptcha/admin/create"); - } - - 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, "/recaptcha/api/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 "https://www.google.com/recaptcha/admin/create?" . _recaptcha_qsencode (array ('domains' => $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://www.google.com/recaptcha/mailhide/apikey"); - } - - - $ky = pack('H*', $privkey); - $cryptmail = _recaptcha_aes_encrypt ($email, $ky); - - return "http://www.google.com/recaptcha/mailhide/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://www.google.com/recaptcha/mailhide/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 index 8a5c49e..8a0c4ac 100644 --- a/registration.php +++ b/registration.php @@ -1,155 +1,23 @@ 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; - } - } - } - if ($showform) - { - include("includes/common.php"); - placeHeader("Registration"); - + include('includes/common.php'); + placeHeader("Registration"); ?>

    With this form you can register for a new account.

    Note that you also need to download Manaplus, The Mana World's official client, and run it to log in and play.

    -

    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. Also your email is important to send you a new password if you forgot yours (further information).

    +

    We will never give your email to someone else or send you spam! Its only purpose is to notify you whether account creation succeeded. Also your email is important to send you a new password if you forgot yours (further information).

    +

    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 +#9f9894; border-radius: 10px;">Security warning: Do not use the same username and password on +two different servers. The passwords transit in plain text and nothing stops the admins of third-party +servers from trying your password on the official server. 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: - -
    - -
    - -
    -
    - +>> Continue >> \r\nReply-To: Accounts \r\n"; - $data .= "== Account Created ==\n"; - $data .= " Welcome to The Mana World! Your account should now be enabled. If you have any problems with your login contact The Mana World via the Support (live) or Forums (maybe a delay) for help. Game tips & walkthroughs are available on the Wiki. Our Forums are a great place to ask for advice and discuss possible changes. News is available in the client or on the Home Site. - Godspeed Adventurer, - The Mana World\n"; - $message = getEmailTemplate($data); - $headers .= $message[0]; - - //mail($mail_to,$subject,$message[1],$headers); - - header("Location: /thank_you.php"); - } + placeFooter(); ?> diff --git a/robots.txt b/robots.txt index 9925915..cbd051e 100644 --- a/robots.txt +++ b/robots.txt @@ -1,10 +1,7 @@ User-agent: * disallow: /includes/ -disallow: /recaptcha-php/ -disallow: /sql/ -disallow: /bin/ -disallow: /thank_you.php disallow: /news.html +disallow: /api/ allow: / sitemap: http://www.themanaworld.org/sitemap.xml diff --git a/rusha.min.js b/rusha.min.js new file mode 100644 index 0000000..db090d1 --- /dev/null +++ b/rusha.min.js @@ -0,0 +1,3 @@ +/*! rusha 2018-02-26 */ + +(function e(t,r){if(typeof exports==="object"&&typeof module==="object")module.exports=r();else if(typeof define==="function"&&define.amd)define([],r);else if(typeof exports==="object")exports["Rusha"]=r();else t["Rusha"]=r()})(typeof self!=="undefined"?self:this,function(){return function(e){var t={};function r(n){if(t[n]){return t[n].exports}var a=t[n]={i:n,l:false,exports:{}};e[n].call(a.exports,a,a.exports,r);a.l=true;return a.exports}r.m=e;r.c=t;r.d=function(e,t,n){if(!r.o(e,t)){Object.defineProperty(e,t,{configurable:false,enumerable:true,get:n})}};r.n=function(e){var t=e&&e.__esModule?function t(){return e["default"]}:function t(){return e};r.d(t,"a",t);return t};r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};r.p="";return r(r.s=3)}([function(e,t,r){function n(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}var a=r(5);var i=r(1),o=i.toHex,s=i.ceilHeapSize;var f=r(6);var u=function(e){for(e+=9;e%64>0;e+=1){}return e};var c=function(e,t){var r=new Uint8Array(e.buffer);var n=t%4,a=t-n;switch(n){case 0:r[a+3]=0;case 1:r[a+2]=0;case 2:r[a+1]=0;case 3:r[a+0]=0}for(var i=(t>>2)+1;i>2]|=128<<24-(t%4<<3);e[((t>>2)+2&~15)+14]=r/(1<<29)|0;e[((t>>2)+2&~15)+15]=r<<3};var p=function(e,t){var r=new Int32Array(e,t+320,5);var n=new Int32Array(5);var a=new DataView(n.buffer);a.setInt32(0,r[0],false);a.setInt32(4,r[1],false);a.setInt32(8,r[2],false);a.setInt32(12,r[3],false);a.setInt32(16,r[4],false);return n};var l=function(){function e(t){n(this,e);t=t||64*1024;if(t%64>0){throw new Error("Chunk size must be a multiple of 128 bit")}this._offset=0;this._maxChunkLen=t;this._padMaxChunkLen=u(t);this._heap=new ArrayBuffer(s(this._padMaxChunkLen+320+20));this._h32=new Int32Array(this._heap);this._h8=new Int8Array(this._heap);this._core=new a({Int32Array:Int32Array},{},this._heap)}e.prototype._initState=function e(t,r){this._offset=0;var n=new Int32Array(t,r+320,5);n[0]=1732584193;n[1]=-271733879;n[2]=-1732584194;n[3]=271733878;n[4]=-1009589776};e.prototype._padChunk=function e(t,r){var n=u(t);var a=new Int32Array(this._heap,0,n>>2);c(a,t);h(a,t,r);return n};e.prototype._write=function e(t,r,n,a){f(t,this._h8,this._h32,r,n,a||0)};e.prototype._coreCall=function e(t,r,n,a,i){var o=n;this._write(t,r,n);if(i){o=this._padChunk(n,a)}this._core.hash(o,this._padMaxChunkLen)};e.prototype.rawDigest=function e(t){var r=t.byteLength||t.length||t.size||0;this._initState(this._heap,this._padMaxChunkLen);var n=0,a=this._maxChunkLen;for(n=0;r>n+a;n+=a){this._coreCall(t,n,a,r,false)}this._coreCall(t,n,r-n,r,true);return p(this._heap,this._padMaxChunkLen)};e.prototype.digest=function e(t){return o(this.rawDigest(t).buffer)};e.prototype.digestFromString=function e(t){return this.digest(t)};e.prototype.digestFromBuffer=function e(t){return this.digest(t)};e.prototype.digestFromArrayBuffer=function e(t){return this.digest(t)};e.prototype.resetState=function e(){this._initState(this._heap,this._padMaxChunkLen);return this};e.prototype.append=function e(t){var r=0;var n=t.byteLength||t.length||t.size||0;var a=this._offset%this._maxChunkLen;var i=void 0;this._offset+=n;while(r0},false)}function u(e,t){var r={main:[t]};var n={main:[]};var a={main:{}};while(f(r)){var i=Object.keys(r);for(var o=0;o>2]|0;s=a[t+324>>2]|0;u=a[t+328>>2]|0;h=a[t+332>>2]|0;l=a[t+336>>2]|0;for(r=0;(r|0)<(e|0);r=r+64|0){o=i;f=s;c=u;p=h;v=l;for(n=0;(n|0)<64;n=n+4|0){y=a[r+n>>2]|0;d=((i<<5|i>>>27)+(s&u|~s&h)|0)+((y+l|0)+1518500249|0)|0;l=h;h=u;u=s<<30|s>>>2;s=i;i=d;a[e+n>>2]=y}for(n=e+64|0;(n|0)<(e+80|0);n=n+4|0){y=(a[n-12>>2]^a[n-32>>2]^a[n-56>>2]^a[n-64>>2])<<1|(a[n-12>>2]^a[n-32>>2]^a[n-56>>2]^a[n-64>>2])>>>31;d=((i<<5|i>>>27)+(s&u|~s&h)|0)+((y+l|0)+1518500249|0)|0;l=h;h=u;u=s<<30|s>>>2;s=i;i=d;a[n>>2]=y}for(n=e+80|0;(n|0)<(e+160|0);n=n+4|0){y=(a[n-12>>2]^a[n-32>>2]^a[n-56>>2]^a[n-64>>2])<<1|(a[n-12>>2]^a[n-32>>2]^a[n-56>>2]^a[n-64>>2])>>>31;d=((i<<5|i>>>27)+(s^u^h)|0)+((y+l|0)+1859775393|0)|0;l=h;h=u;u=s<<30|s>>>2;s=i;i=d;a[n>>2]=y}for(n=e+160|0;(n|0)<(e+240|0);n=n+4|0){y=(a[n-12>>2]^a[n-32>>2]^a[n-56>>2]^a[n-64>>2])<<1|(a[n-12>>2]^a[n-32>>2]^a[n-56>>2]^a[n-64>>2])>>>31;d=((i<<5|i>>>27)+(s&u|s&h|u&h)|0)+((y+l|0)-1894007588|0)|0;l=h;h=u;u=s<<30|s>>>2;s=i;i=d;a[n>>2]=y}for(n=e+240|0;(n|0)<(e+320|0);n=n+4|0){y=(a[n-12>>2]^a[n-32>>2]^a[n-56>>2]^a[n-64>>2])<<1|(a[n-12>>2]^a[n-32>>2]^a[n-56>>2]^a[n-64>>2])>>>31;d=((i<<5|i>>>27)+(s^u^h)|0)+((y+l|0)-899497514|0)|0;l=h;h=u;u=s<<30|s>>>2;s=i;i=d;a[n>>2]=y}i=i+o|0;s=s+f|0;u=u+c|0;h=h+p|0;l=l+v|0}a[t+320>>2]=i;a[t+324>>2]=s;a[t+328>>2]=u;a[t+332>>2]=h;a[t+336>>2]=l}return{hash:i}}},function(e,t){var r=this;var n=void 0;if(typeof self!=="undefined"&&typeof self.FileReaderSync!=="undefined"){n=new self.FileReaderSync}var a=function(e,t,r,n,a,i){var o=void 0,s=i%4,f=(a+s)%4,u=a-f;switch(s){case 0:t[i]=e.charCodeAt(n+3);case 1:t[i+1-(s<<1)|0]=e.charCodeAt(n+2);case 2:t[i+2-(s<<1)|0]=e.charCodeAt(n+1);case 3:t[i+3-(s<<1)|0]=e.charCodeAt(n)}if(a>2]=e.charCodeAt(n+o)<<24|e.charCodeAt(n+o+1)<<16|e.charCodeAt(n+o+2)<<8|e.charCodeAt(n+o+3)}switch(f){case 3:t[i+u+1|0]=e.charCodeAt(n+u+2);case 2:t[i+u+2|0]=e.charCodeAt(n+u+1);case 1:t[i+u+3|0]=e.charCodeAt(n+u)}};var i=function(e,t,r,n,a,i){var o=void 0,s=i%4,f=(a+s)%4,u=a-f;switch(s){case 0:t[i]=e[n+3];case 1:t[i+1-(s<<1)|0]=e[n+2];case 2:t[i+2-(s<<1)|0]=e[n+1];case 3:t[i+3-(s<<1)|0]=e[n]}if(a>2|0]=e[n+o]<<24|e[n+o+1]<<16|e[n+o+2]<<8|e[n+o+3]}switch(f){case 3:t[i+u+1|0]=e[n+u+2];case 2:t[i+u+2|0]=e[n+u+1];case 1:t[i+u+3|0]=e[n+u]}};var o=function(e,t,r,a,i,o){var s=void 0,f=o%4,u=(i+f)%4,c=i-u;var h=new Uint8Array(n.readAsArrayBuffer(e.slice(a,a+i)));switch(f){case 0:t[o]=h[3];case 1:t[o+1-(f<<1)|0]=h[2];case 2:t[o+2-(f<<1)|0]=h[1];case 3:t[o+3-(f<<1)|0]=h[0]}if(i>2|0]=h[s]<<24|h[s+1]<<16|h[s+2]<<8|h[s+3]}switch(u){case 3:t[o+c+1|0]=h[c+2];case 2:t[o+c+2|0]=h[c+1];case 1:t[o+c+3|0]=h[c]}};e.exports=function(e,t,n,s,f,u){if(typeof e==="string"){return a(e,t,n,s,f,u)}if(e instanceof Array){return i(e,t,n,s,f,u)}if(r&&r.Buffer&&r.Buffer.isBuffer(e)){return i(e,t,n,s,f,u)}if(e instanceof ArrayBuffer){return i(new Uint8Array(e),t,n,s,f,u)}if(e.buffer instanceof ArrayBuffer){return i(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),t,n,s,f,u)}if(e instanceof Blob){return o(e,t,n,s,f,u)}throw new Error("Unsupported data type.")}},function(e,t,r){var n=function(){function e(e,t){for(var r=0;rYour 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 ask for help on the Forums or Support (IRC).

    "; - placeFooter(); -} else { - header("Location: /registration.php"); -} -?> -- cgit v1.2.3-60-g2f50