summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2013-03-17 14:48:15 +0100
committerThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2013-03-17 14:48:15 +0100
commita89c396c01398878f69e4c4a191a8b32ac080646 (patch)
treeea069caec9805ef62dd760da5d2adc2d826d3714
parent750f24561a9b23c0072b35f31cec3bc2519675b8 (diff)
downloadwebsite-a89c396c01398878f69e4c4a191a8b32ac080646.tar.gz
website-a89c396c01398878f69e4c4a191a8b32ac080646.tar.bz2
website-a89c396c01398878f69e4c4a191a8b32ac080646.tar.xz
website-a89c396c01398878f69e4c4a191a8b32ac080646.zip
Initial jekyll-powered website for github pages
* Removed Registration form and related files (reCAPTCHA / SQL stuff) * Removed including news (needs an alternative solution)
-rw-r--r--.gitignore1
-rw-r--r--CNAME1
-rw-r--r--_config.yml3
-rw-r--r--_layouts/default.html (renamed from includes/common.php)35
-rw-r--r--about.html (renamed from about.php)12
-rwxr-xr-xbin/createaccount.rb80
-rw-r--r--downloads.html (renamed from downloads.php)12
-rw-r--r--includes/conf/mysql.conf.php8
-rwxr-xr-xincludes/fetch-news.sh8
-rw-r--r--includes/libs/libmysql.php89
-rw-r--r--includes/libs/libstrutils.php10
-rw-r--r--includes/models/account.php114
-rw-r--r--includes/news.php110
-rw-r--r--index.html (renamed from index.php)21
-rw-r--r--recaptcha-php/LICENSE22
-rw-r--r--recaptcha-php/README7
-rw-r--r--recaptcha-php/example-captcha.php37
-rw-r--r--recaptcha-php/example-mailhide.php17
-rw-r--r--recaptcha-php/keys.php.example5
-rw-r--r--recaptcha-php/recaptchalib.php277
-rw-r--r--registration.php145
-rw-r--r--sql/createTables.sql13
22 files changed, 29 insertions, 998 deletions
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/includes/common.php b/_layouts/default.html
index fe530fd..e19e2b0 100644
--- a/includes/common.php
+++ b/_layouts/default.html
@@ -1,14 +1,4 @@
-<?php
-/* Main include file for TMW website, including header and footer
- * (c) 2005 Bjorn Lindeijer
- */
-
-define('TMWWEBSITE', true);
-
-function placeHeader($page_title)
-{
- echo "<?xml version=\"1.0\" encoding=\"ISO-8859-15\"?>\n";
-?>
+<?xml version="1.0" encoding="ISO-8859-15" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
@@ -52,10 +42,10 @@ function placeHeader($page_title)
<div class="section_bottomright">
<div class="section">
<ul>
- <li><a href="registration.php">Registration</a></li>
- <li><a href="downloads.php">Downloads</a></li>
- <li><a href="index.php">News</a></li>
- <li><a href="about.php">About</a></li>
+ <li><a href="http://server.themanaworld.org/registration.php">Registration</a></li>
+ <li><a href="{{ site.basepath }}/downloads.html">Downloads</a></li>
+ <li><a href="{{ site.basepath }}/index.html">News</a></li>
+ <li><a href="{{ site.basepath }}/about.html">About</a></li>
<li><a href="http://wiki.themanaworld.org/index.php/Servers">Servers</a></li>
<li><a href="http://wiki.themanaworld.org/">Wiki</a></li>
<li><a href="http://forums.themanaworld.org/">Forums</a></li>
@@ -105,7 +95,7 @@ function placeHeader($page_title)
<div class="section banners">
Server status
<iframe src="http://server.themanaworld.org/status.php" width="130" height="30" frameborder="0" scrolling="no"></iframe>
- <a href="registration.php">Register new account</a>
+ <a href="http://server.themanaworld.org/registration.php">Register new account</a>
</div>
</div>
</div>
@@ -128,16 +118,13 @@ function placeHeader($page_title)
<div class="main_title_topright">
<div class="main_title_bottomright">
<div class="main_title_topleft">
- <h2><?=$page_title?></h2>
+ <h2>{{ page.title }}</h2>
</div>
</div>
</div>
-<?php
-}
-function placeFooter()
-{
-?>
+{{ content }}
+
<div style="clear: both"></div>
</div> <!-- /contents -->
@@ -169,7 +156,3 @@ function placeFooter()
</script>
</body>
</html>
-<?php
-}
-
-?>
diff --git a/about.php b/about.html
index 48f90da..a896c05 100644
--- a/about.php
+++ b/about.html
@@ -1,7 +1,7 @@
-<?php
- include("includes/common.php");
- placeHeader("About");
-?>
+---
+layout: default
+title: About
+---
<h3>Description</h3>
@@ -26,7 +26,3 @@ online world.</p>
member list</a>. On the wiki the
<a href="http://wiki.themanaworld.org/index.php/Developers">Developers</a> page
keeps track of the current contributors as well as retired contributors.</p>
-
-<?php
- placeFooter();
-?>
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.php b/downloads.html
index 6c784f8..1150091 100644
--- a/downloads.php
+++ b/downloads.html
@@ -1,7 +1,7 @@
-<?php
- include("includes/common.php");
- placeHeader("Downloads");
-?>
+---
+layout: default
+title: Downloads
+---
<div style="background-color: rgb(255,220,220); border: 1px solid rgb(240,150,150); padding: 5px; margin: 5px; border-radius: 10px;">
<b>Notice:</b> For the registration of new accounts please use the <a href="registration.php"> web form</a>. The registration from within the client is disabled.
@@ -80,7 +80,3 @@ git clone git://github.com/mana/mana.git
and the dynamic data, please check our
<a href="http://wiki.themanaworld.org/index.php/Git_repository">Git wiki
page</a>.
-
-<?php
- placeFooter();
-?>
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 @@
-<?php
-
- $conf['mysql_hostname'] = "localhost";
- $conf['mysql_database'] = "test";
- $conf['mysql_username'] = "test";
- $conf['mysql_password'] = "test123";
-
-?> \ 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 @@
-<?php
-
-require_once "includes/conf/mysql.conf.php";
-
-class Database
-{
- // implement singleton pattern
- static private $instance = null;
-
- private $conn;
-
- static public function getInstance()
- {
- if (null === self::$instance)
- {
- self::$instance = new self;
- }
- return self::$instance;
- }
-
- // ctor
- private function __construct()
- {
- global $conf;
- $this->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 @@
-<?php
-
- define("BAD_STRING_DESC", "Only alphanumeric characters are allowed.");
-
- function check_chars($string)
- {
- return ctype_alnum($string) && (strpos($string, '"') === FALSE);
- }
-
-?>
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 @@
-<?php
-
-require_once "includes/libs/libstrutils.php";
-
-class TMWAccount
-{
- const ACCOUNT_TBL = "tmw_accounts";
-
- const GENDER_MALE = 1;
- const GENDER_FEMALE = 2;
-
- const STATE_PENDING = 0;
- const STATE_CREATED = 0;
- const STATE_FAILED = 0;
-
- private $id;
- private $username;
- private $password;
- private $email;
- private $gender;
- private $state;
- private $registration;
-
- public static function getAccountCount()
- {
- $db = Database::getInstance();
- $sql = "SELECT COUNT(*) FROM " . TMWAccount::ACCOUNT_TBL;
- return $db->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 @@
-<?php
-// WARNING:
-// This code uses the "DOM XML" extension, which is only available with PHP 4.
-// Be sure to update it to use the "XML", "DOM" or "XMLReader" extensions when
-// SF upgrades to PHP 5.
-//
-// The news is cached locally using a cronjob which runs in the 9th minute of
-// every hour:
-//
-// 9 * * * * /home/groups/t/th/themanaworld/htdocs/includes/fetch-news.sh
-//
-
-//$feedurl = "http://sourceforge.net/export/rss2_projnews.php?group_id=106790&rss_fulltext=1";
-
-$feedurl = "includes/rss2_projnews.cache";
-
-$xml = new XMLReader();
-
-if (!$xml) {
- echo "Error, no XMLReader.\n";
- exit;
-}
-
-$xml->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 '<div class="news">';
- echo '<div class="news_date">' . $newsdata['pubDate'] . '</div>';
- echo '<h3>' . $newsdata['title'] . '</h3>';
- echo '<div class="news_body"><p>' . $newsdata['description'] . '</p></div>';
- echo '</div>';
-}
-
-?>
diff --git a/index.php b/index.html
index e1d49dd..561f372 100644
--- a/index.php
+++ b/index.html
@@ -1,19 +1,12 @@
-<?php
- include('includes/common.php');
- placeHeader("News");
+---
+layout: default
+title: News
+---
-?>
<!-- <div style="background-color: rgb(255,220,220); border: 1px solid rgb(240,150,150); padding: 5px; margin: 5px; -moz-border-radius: 10px; -moz-border-radius: 10px;">
<b>Notice:</b> New account creation disabled due to excessive abuse of this feature. If you want to sign up, contact thorbjorn or Jaxad0127 on IRC for now.
</div>
-->
-<?php
-
- echo file_get_contents('http://updates.themanaworld.org/news.html');
- /*
- $number = 6;
- include('includes/news.php');
- */
-
- placeFooter();
-?>
+<!--
+ TODO: Load http://updates.themanaworld.org/news.html here
+-->
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 @@
-<html>
- <body>
- <form action="" method="post">
-<?php
-
-require_once('recaptchalib.php');
-
-// Get a key from http://recaptcha.net/api/getkey
-$publickey = "";
-$privatekey = "";
-
-# the response from reCAPTCHA
-$resp = null;
-# the error code from reCAPTCHA, if any
-$error = null;
-
-# was there a reCAPTCHA response?
-if ($_POST["recaptcha_response_field"]) {
- $resp = recaptcha_check_answer ($privatekey,
- $_SERVER["REMOTE_ADDR"],
- $_POST["recaptcha_challenge_field"],
- $_POST["recaptcha_response_field"]);
-
- if ($resp->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);
-?>
- <br/>
- <input type="submit" value="submit" />
- </form>
- </body>
-</html>
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 @@
-<html><body>
-<?
-require_once ("recaptchalib.php");
-
-// get a key at http://mailhide.recaptcha.net/apikey
-$mailhide_pubkey = '';
-$mailhide_privkey = '';
-
-?>
-
-The Mailhide version of example@example.com is
-<? echo recaptcha_mailhide_html ($mailhide_pubkey, $mailhide_privkey, "example@example.com"); ?>. <br>
-
-The url for the email is:
-<? echo recaptcha_mailhide_url ($mailhide_pubkey, $mailhide_privkey, "example@example.com"); ?> <br>
-
-</body></html>
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 @@
-<?php
- // Put the keys you got from the signup page
- $publickey = "";
- $privatekey = "";
-?> \ 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 @@
-<?php
-/*
- * This is a PHP library that handles calling reCAPTCHA.
- * - Documentation and latest version
- * http://recaptcha.net/plugins/php/
- * - Get a reCAPTCHA API Key
- * http://recaptcha.net/api/getkey
- * - Discussion group
- * http://groups.google.com/group/recaptcha
- *
- * 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.
- */
-
-/**
- * The reCAPTCHA server URL's
- */
-define("RECAPTCHA_API_SERVER", "http://api.recaptcha.net");
-define("RECAPTCHA_API_SECURE_SERVER", "https://api-secure.recaptcha.net");
-define("RECAPTCHA_VERIFY_SERVER", "api-verify.recaptcha.net");
-
-/**
- * Encodes the given data into a query string format
- * @param $data - array of string elements to be encoded
- * @return string - encoded request
- */
-function _recaptcha_qsencode ($data) {
- $req = "";
- foreach ( $data as $key => $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 <a href='http://recaptcha.net/api/getkey'>http://recaptcha.net/api/getkey</a>");
- }
-
- if ($use_ssl) {
- $server = RECAPTCHA_API_SECURE_SERVER;
- } else {
- $server = RECAPTCHA_API_SERVER;
- }
-
- $errorpart = "";
- if ($error) {
- $errorpart = "&amp;error=" . $error;
- }
- return '<script type="text/javascript" src="'. $server . '/challenge?k=' . $pubkey . $errorpart . '"></script>
-
- <noscript>
- <iframe src="'. $server . '/noscript?k=' . $pubkey . $errorpart . '" height="300" width="500" frameborder="0"></iframe><br/>
- <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
- <input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
- </noscript>';
-}
-
-
-
-
-/**
- * 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 <a href='http://recaptcha.net/api/getkey'>http://recaptcha.net/api/getkey</a>");
- }
-
- 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 <a href='http://mailhide.recaptcha.net/apikey'>http://mailhide.recaptcha.net/apikey</a>");
- }
-
-
- $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]) . "<a href='" . htmlentities ($url) .
- "' onclick=\"window.open('" . htmlentities ($url) . "', '', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=500,height=300'); return false;\" title=\"Reveal this e-mail address\">...</a>@" . 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 @@
-<?php
- require_once('includes/libs/libmysql.php');
- require_once('includes/models/account.php');
- require_once('recaptcha-php/recaptchalib.php');
-
- require_once('recaptcha-php/keys.php');
-
- $enable_captcha = true; // modify this in production
-
- $showform = true;
-
- if (isset($_POST['register']) && $_POST['register'] == "true")
- {
- $showform = false;
- $err = "";
- $acc = new TMWAccount();
- $acc->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 . "<br />";
- }
- $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)
- {
-
-?>
-<p>With this form you can register for a new account. <i>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.</i></p>
-
-<p style="background-color: #ede2da; padding: 5px; border: 1px solid
-#9f9894; border-radius: 10px;"><i>Security warning:</i> 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.</p>
-
-<form action="registration.php" method="post">
-
- <input type="hidden" name="register" value="true" />
- <table>
- <?php if (isset($err))
- {
- echo "<tr><td colspan=\"2\" style=\"border: 1px solid red; color: red;\">" .
- $err . "</td></tr>";
- }
- ?>
- <tr>
- <td>Username:</td>
- <td><input type="text" size="20" name="username" /></td>
- </tr>
- <tr>
- <td>Password:</td>
- <td><input type="password" size="20" name="password1" /></td>
- </tr>
- <tr>
- <td>Retype password:</td>
- <td><input type="password" size="20" name="password2" /></td>
- </tr>
- <tr>
- <td>EMail:</td>
- <td><input type="text" size="30" name="email" /></td>
- </tr>
- <tr>
- <td>Gender:</td>
- <td>
- <select name="gender">
- <option value="0" selected></option>
- <option value="1">Male</option>
- <option value="2">Female</option>
- </select>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <?php echo recaptcha_get_html($publickey); ?>
- </td>
- </tr>
- <tr>
- <td colspan="2" style="text-align:right">
- <input type="submit" value="Register" />
- </td>
- </tr>
- </table>
-</form>
-
-
-<?php
-
- } // end of showform
- else
- {
- ?>
- <p>Your account was scheduled for creation! In a few minutes you should receive an email with verification of your new account.</p>
-
- <p><em>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.</em></p>
-
- <?php }
- placeFooter();
-?>
-
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;