Hey I got a huge problem with my Index.php for old 1.12 MaNGOS Platinum.
It doesn't fit with Mangos Zero but here it is... The problem is writing to database cause the password doesn't encrypt from password to sha_pass_hash!
Index.php
Code:
<?php
/**
* @project: Web frontend for Mangos
* @date: 27.07.2006
* @author: Alexandr Arutyunov (Lordsc)
* @copyright: Alexandr Arutyunov (Lordsc)
* @email: lordsc@**********
* @license: GNU General Public License (GPL)
*/
error_reporting(E_ERROR);
#####################
// DISABLED // ÎÒÊËÞ×ÅÍÎ
/*
include('check.php');
if($db_checking_res['realmlist'] !== true || $db_checking_res['bugtracker'] !== true || $db_checking_res['files'] !== true || $db_checking_res['news'] !== true)
{
header("location:install.php");exit;
}
*/
#####################
define('INCLUDED', true);
$siteerrors = array();
// main config file
require('config.php');
// site config file
require('inc/admin/admin.site.config.inc.php');
$valid_dirs = explode('|',$site['valid_upload_dirs']);
$valid_files = explode('|',$site['valid_upload_files']);
// Check lang
if(isset($_COOKIE['Language'])) $site['lang'] = $_COOKIE['Language'];
if(!$site['lang'] || !file_exists('lang/'.$site['lang'].'.php')) require('lang/en.php');
else require('lang/'.$site['lang'].'.php');
// Database class
require('inc/site.db_class.php');
// Other functions
require('inc/site.functions.php');
$realm_db = new DBLayer($realmd_database['localhost'], $realmd_database['root'], $realmd_database['root'], $realmd_database['realmd']);
if($database_encoding)$realm_db->query("SET NAMES $database_encoding");
// user log in/out & check
require('inc/site.login.php');
// if ($user[gmlevel]==0 || !$user[islogined]) exit('testing .....'); // Uncoment for only admins enter // **àñêîìåíòèðóéòå äëÿ äîñòóïà òîëüêî àäìèíîâ
if(!$_GET['p'])$_GET['p'] = 1;
$page = explode('/', $_GET['n']);
switch($page[0]){
case "account":
if (isset($page[1])) switch($page[1]){
case 'create':
$inc_page = 'account.create.php'; break;
case 'activate':
$inc_page = 'account.activate.php'; break;
case 'login':
$inc_page = 'account.login.php'; break;
case 'manage':
$inc_page = 'account.manage.php'; break;
case 'realmstatus':
$inc_page = 'account.realmstatus.php'; break;
case 'viewcharacter':
$inc_page = 'account.viewcharacter.php'; break;
} else echo 'Unknown page!'; break;
case "news":
if (isset($page[1])) switch($page[1]){
case 'archive':
$inc_page = 'news.archive.php'; break;
case 'post':
$inc_page = 'news.post.php'; break;
} else $inc_page = 'news.php'; break;
case "interactive":
if (isset($page[1])) switch($page[1]){
case 'honor':
$inc_page = 'int.honor.php'; break;
case 'map':
$inc_page = 'int.map.php'; break;
case 'online':
$inc_page = 'int.player.online.php'; break;
case 'stats':
$inc_page = 'int.stats.php'; break;
case 'maponline':
$inc_page = 'pomm/pomm.php'; break;
} else echo 'Unknown page!'; break;
case "game":
if (isset($page[1])) switch($page[1]){
case 'about':
$inc_page = 'gameinfo.about.php'; break;
case 'history':
$inc_page = 'gameinfo.history.php'; break;
case 'commands':
$inc_page = 'int.commands.php'; break;
} else echo 'Unknown page!'; break;
case "files":
if (isset($page[1])) switch($page[1]){
case 'all':
$inc_page = 'files.all.php'; break;
case 'client':
$inc_page = 'files.client.php'; break;
case 'patch':
$inc_page = 'files.patch.php'; break;
case 'gallery':
$inc_page = 'files.gallery.php'; break;
case 'post':
$inc_page = 'files.post.php'; break;
} else echo 'Unknown page!'; break;
case "forum":
if ($forum_included)
{
if (isset($page[1])) {
$forumid=$page[1];
$inc_page = 'forum.handler.php'; break;
}
else $inc_page = 'forum.handler.php';
}
else {
$inc_page = 'forum.handler.php';
}
break;
case "request":
$inc_page = 'site.ajax_requests.php'; break;
case "upload":
$inc_page = 'page.upload.php'; break;
case "getsmall":
$inc_page = 'site.getsmall.php'; break;
case "workshop":
if (isset($page[1])) switch($page[1]){
case 'updates':
$inc_page = 'error.php'; break;
case 'bugtracker':
$inc_page = 'ws.bugtracker.php'; break;
case 'addbug':
$inc_page = 'ws.bugtracker.post.php'; break;
} else echo "Unknown page!"; break;
case "error":
$inc_page = 'error.php'; break;
case "database":
if (isset($page[1])) switch($page[1]){
case 'items':
$inc_page = 'error.php'; break;
case 'creatures':
$inc_page = 'error.php'; break;
case 'characters':
$inc_page = 'error.php'; break;
case 'quests':
$inc_page = 'error.php'; break;
case 'itemsets':
$inc_page = 'error.php'; break;
} else echo "Unknown page!"; break;
case "admin":
if (isset($page[1])) switch($page[1]){
case 'accountlist':
$inc_page = '/admin/admin.account.list.php'; break;
case 'realmlist':
$inc_page = '/admin/admin.server.realmlist.php'; break;
case 'items':
$inc_page = '/admin/admin.server.items.php'; break;
case 'viewitem':
$inc_page = '/admin/admin.server.viewitem.php'; break;
case 'playersonline':
$inc_page = '/admin/admin.player.online.php'; break;
case 'characterlist':
$inc_page = '/admin/admin.character.list.php'; break;
case 'characteritems':
$inc_page = '/admin/admin.character.items.php'; break;
case 'siteconfig':
$inc_page = '/admin/admin.site.config.php'; break;
case 'keys':
//$inc_page = '/admin/admin.site.keys.php'; break;
$inc_page = 'error.php'; break;
case 'ipban':
$inc_page = '/admin/admin.server.ipban.php'; break;
case 'map':
$inc_page = '/admin/admin.player.onlinemap.php'; break;
case 'guildlist':
$inc_page = 'error.php'; break;
default:
$inc_page = '/admin/admin.php'; break;
} else $inc_page = '/admin/admin.php'; break;
default:
$inc_page = 'news.php'; break;
};
require('inc/'.$inc_page);
$realm_db->close();
if(is_object($mangos_db))$mangos_db->close();
?>
Account.Create.php
Code:
<?php
if (INCLUDED!==true) exit('Dieee !!!');
$page['title'] = "$lang[pagetitle_account_create]";
require('inc/site.account.class.php');
$account_sys = NEW account;
include('inc/page.header.php');
if($site['accounts_email_activation'] === true)include('inc/activation/activation.tmp.php');
$r_login = htmlspecialchars(trim("$_POST[r_login]"));
$r_pass = trim("$_POST[r_pass]");
$r_cpass = trim("$_POST[r_cpass]");
$r_email = htmlspecialchars(trim("$_POST[r_email]"));
if($_POST['step3'] && $r_login && $r_pass && $r_email)
{
if($site['accounts_email_activation'] === true){
$tmp_act_key = $account_sys->generate_activation_key();
if($realm_db->query("INSERT INTO `account` (`username`,`password`,`email`,`last_ip`,`banned`,`locked`) VALUES ('$r_login','$r_pass','$r_email','$_SERVER[REMOTE_ADDR]','1','1')"))
{
$smtp_settings_arr = explode('|',$site['smtp_settings']);
$smtp_settings['address'] = $smtp_settings_arr[0];
$smtp_settings['username'] = $smtp_settings_arr[1];
$smtp_settings['password'] = $smtp_settings_arr[2];
$account_sys->add_activation_key($r_login,$tmp_act_key);
$account_sys->send_key($tmp_act_key,$r_email,$r_login,$site_cookie['cookie_domain'].$site_cookie['cookie_path'].'index.php',$site['server_email'],$smtp_settings);
print"<br>
<center>
<p class='header_2' style='color:green;'>Registation successfull !</p>
But you need to activate your account. <br>
Activation key has been send to your email.
</center>
<meta http-equiv=refresh content='2;url=$_SERVER[PHP_SELF]?n=account/login'>";
}
else
{
print"<br>
<center>
<p class='header_2' style='color:red;'>Registation failed !</p>
</center>
<meta http-equiv=refresh content='2;url=$_SERVER[PHP_SELF]?n=account/create'>";
}
}else{
if($realm_db->query("INSERT INTO `account` (`username`,`password`,`email`,`last_ip`) VALUES ('$r_login','$r_pass','$r_email','$_SERVER[REMOTE_ADDR]')") or die(mysql_error()))
{
print"<br>
<center>
<p class='header_2' style='color:green;'>Registation successfull !</p>
</center>
<meta http-equiv=refresh content='2;url=$_SERVER[PHP_SELF]?n=account/login'>";
}
else
{
print"<br>
<center>
<p class='header_2' style='color:red;'>Registation failed !</p>
</center>
<meta http-equiv=refresh content='2;url=$_SERVER[PHP_SELF]?n=account/create'>";
}
}
}
elseif($_POST['step2'])
{
$inc_text = file_get_contents('lang/text/'.$site['lang'].'/acc_create_notice.html');
?>
<script language='JavaScript' src='inc/ajax_lib/Js.js'></script>
<script language='Javascript'>
<!--
var succ;
var succ2;
function check_login(){
if(!document.regform.r_login.value || document.regform.r_login.value.length > 24 || document.regform.r_login.value.length < 3){
document.getElementById('t_login').innerHTML ='<img src="img/aff_cross.gif" align="absmiddle" style="border:none!important;"> <br> <?php echo$lang['acc_reg_checklogin'];?> !';
return false;
}
else{
document.getElementById('t_login').innerHTML ='<img src="img/aff_tick.gif" align="absmiddle" style="border:none!important;">';
checklogin_q();
return succ;
}
}
function check_pass(){
if(!document.regform.r_pass.value || document.regform.r_pass.value.length > 24 || document.regform.r_pass.value.length < 3){
document.getElementById('t_pass').innerHTML = '<img src="img/aff_cross.gif" align="absmiddle" style="border:none!important;"> <br> <?php echo$lang['acc_reg_checkpass'];?> !';
return false;
}else{
document.getElementById('t_pass').innerHTML = '<img src="img/aff_tick.gif" align="absmiddle" style="border:none!important;">';
return true;
}
}
function check_cpass(){
if(!document.regform.r_cpass.value || document.regform.r_pass.value!=document.regform.r_cpass.value){
document.getElementById('t_cpass').innerHTML ='<img src="img/aff_cross.gif" align="absmiddle" style="border:none!important;"> <br> <?php echo$lang['acc_reg_checkcpass'];?> !';
return false;
}
else{document.getElementById('t_cpass').innerHTML ='<img src="img/aff_tick.gif" align="absmiddle" style="border:none!important;">';
return true;
}
}
function check_email(){
if(!document.regform.r_email.value || document.regform.r_email.value.length > 50 || document.regform.r_email.value.length < 3){
document.getElementById('t_email').innerHTML ='<img src="img/aff_cross.gif" align="absmiddle" style="border:none!important;"> <br> <?php echo$lang['acc_reg_checkemail'];?> !';
return false;
}
else{
document.getElementById('t_email').innerHTML ='<img src="img/aff_tick.gif" align="absmiddle" style="border:none!important;">';
checkemail_q();
return succ2;
}
}
function check_data(){
c = 1;
if(check_login()==false){c=0;}
if(check_pass()==false){c=0;}
if(check_cpass()==false){c=0;}
if(check_email()==false){c=0;}
if(c==0){return false;}
else{return true;}
}
// -->
</script>
<script language='Javascript'>
<!--
function checklogin_q(){
query = document.regform.r_login.value;
var req = new Subsys_JsHttpRequest_Js();
req.onreadystatechange = function() {
if (req.readyState == 4) {
if (req.responseJS) {
if(req.responseJS.result=='true'){
document.getElementById('t_login').innerHTML ='<img src="img/aff_cross.gif" align="absmiddle" style="border:none!important;"> <br> <?php echo$lang['acc_reg_checkloginex'];?> !';
succ = false;
}
else{
succ = true;
}
}
}
}
req.caching = false;
req.open('GET', '<? echo$_SERVER[PHP_SELF];?>?n=request', true);
req.send({ action: 'checklogin', login: query });
}
function checkemail_q(){
query = document.regform.r_email.value;
var req = new Subsys_JsHttpRequest_Js();
req.onreadystatechange = function() {
if (req.readyState == 4) {
if (req.responseJS) {
if(req.responseJS.result=='true'){
document.getElementById('t_email').innerHTML ='<img src="img/aff_cross.gif" align="absmiddle" style="border:none!important;"> <br> <?php echo$lang['acc_reg_checkemailex'];?> !';
succ2 = false;
}
else{
succ2 = true;
}
}
}
}
req.caching = false;
req.open('GET', '<? echo$_SERVER[PHP_SELF];?>?n=request', true);
req.send({ action: 'checkemail', email: query });
}
// -->
</script>
<div class='blogbody' style='margin-top:6px;'>
<!-- Progress -->
<table cellspacing='2' cellpadding='2' align='center'>
<tr>
<td>
<img src="img/left-end.gif" alt="" border="0" height="45" width="12"><img src="img/step1b.gif" alt="" border="0" height="45" width="74"><img src="img/step2c.gif" alt="" border="0" height="45" width="73"><img src="img/right-end.gif" alt="" border="0" height="45" width="13">
</td>
</tr>
</table>
<!-- / Progress -->
<form method='post' name='regform' OnSubmit="return check_data();">
<input type='hidden' name='step3' value='1'>
<table cellspacing='2' cellpadding='2' border='0' width='420' align='center'>
<tr>
<td align='left'>
<?php echo$inc_text;?>
</td>
</tr>
<tr>
<td align='right' width='100%' style='border: 2px dotted #CBA300;'>
<b><?php echo$lang['acc_reg_login'];?>:</b> <input type='text' name='r_login' size='40' maxlength='16' onblur='check_login();'><font id='t_login' style='display:inline;margin:1px;'></font>
</td>
</tr>
<tr>
<td align='right' width='100%' style='border: 2px dotted #CBA300;'>
<b><?php echo$lang['acc_reg_pass'];?>:</b> <input type='password' name='r_pass' size='40' maxlength='16' onblur='check_pass();'><font id='t_pass' style='display:inline;margin:1px;'></font>
</td>
</tr>
<tr>
<td align='right' width='100%' style='border: 2px dotted #CBA300;'>
<b><?php echo$lang['acc_reg_cpass'];?>:</b> <input type='password' name='r_cpass' size='40' maxlength='16' onblur='check_cpass();'><font id='t_cpass' style='display:inline;margin:1px;'></font>
</td>
</tr>
<tr>
<td align='right' width='100%' style='border: 2px dotted #CBA300;'>
<b><?php echo$lang['acc_reg_email'];?>:</b> <input type='text' name='r_email' size='40' maxlength='50' onblur='check_email();'><font id='t_email' style='display:inline;margin:1px;'></font>
</td>
</tr>
<tr>
<td align='center'>
<br>
<a href='<?php echo$_SERVER['PHP_SELF'];?>?n=account/create'><img src='img/buttons/<?php echo$site['lang'];?>/back-button.gif' border='0'></a>
<input type='image' src='img/buttons/<?php echo$site['lang'];?>/createaccount-button.gif'>
</td>
</tr>
</table>
</form>
</div>
<?php
}
elseif(!$_POST)
{
$inc_text = file_get_contents('lang/text/'.$site['lang'].'/acc_create_rules.html');
?>
<div class='blogbody' style='margin-top:6px;'>
<form method='post'>
<input type='hidden' name='step2' value='1'>
<!-- Progress -->
<table cellspacing='2' cellpadding='2' align='center'>
<tr>
<td>
<img src="img/left-end.gif" alt="" border="0" height="45" width="12"><img src="img/step1c.gif" alt="" border="0" height="45" width="74"><img src="img/step2a.gif" alt="" border="0" height="45" width="73"><img src="img/right-end.gif" alt="" border="0" height="45" width="13">
</td>
</tr>
</table>
<!-- / Progress -->
<table cellspacing='2' cellpadding='2' border='0' width='420' align='center'>
<tr>
<td align='left'>
<?php echo$inc_text;?>
</td>
</tr>
<tr>
<td align='center'>
<br>
<a href='<?php echo$_SERVER['PHP_SELF'];?>'><img src='img/buttons/<?php echo$site['lang'];?>/disagree-button.gif' border='0'></a>
<input type='image' src='img/buttons/<?php echo$site['lang'];?>/agree-button.gif'>
</td>
</tr>
</table>
</form>
</div>
<?php
}
include('inc/page.footer.php');
?>