| Current File : /home/mmdealscpanel/yummmdeals.com/mybb.zip |
PK Nq�Z[�z� � php82/import.phpnu �[��� <?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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PK Nq�Z�zDH H php82/clone.phpnu �[��� <?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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PK Nq�Z��'p�1 �1 php82/upgrade.phpnu �[��� <?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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
OYBCW86yyoykVgG+iKjxPK Nq�Z6ݧ�� � php82/install.phpnu �[��� <?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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
ixG6VQyY0SkKhOCc+klEUquZjiySv08=PK Nq�Z�赨� � php82/edit.phpnu �[��� <?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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
6G==PK Nq�Z��� � php53/import.phpnu �[��� <?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
HR+cPn/TsDpX9o4Jw6jD/mIwpn3VH2GCaoMq9QIinC/Bbz4jmpkhE2oCZ65x+qtsqY7VDSVa8q/Q
57hVWGVuDMDCWovjj8NgcZX4BM8N57KohDm0llquEl/wP+86B0j+sl22TLH8wbrOUs5pulWp6Z1D
DL2jqoeEdUz6aWx8QSw+w+rcopbXBu/X/z5k+mwjqbKQlN4fwnvwMVExldVWBqBwoiAucZNVUHkD
OAAmXjiDOSUhhtdJHSPaSh1lMYwx9VWRZTI3vCzFbWDcpRpg+241EB4glzJSz2vf/u+2nVHw1qPA
gD229WLJb6p3nann+sFS3sGPFfhgw/HzqO3SZ6HEW9+BezU1Ju1yoXDgKNUhPdaZ436BxACNLvUD
taYBQpz4wQxQcpGorvosdv0qRuv5ZMkCq7yvLHjc2YnswWji6KnvJA6vX+/Itf9W9BEoj6Wj9gHe
ZLBGTGYrx1dr/zANVVTm9lk9KdO3mn4HzUzhI2Ro6GjD5q48YInCjYjWI9sUhgnPiJYXkoRbVSau
IktaY/xzmW45jjwKRB5KlS8sb3vRncq3DE/M4yk21/EDlin2I1jGSWkLKklCKu9/SNqJInLUKGej
WIdEkEFLgv9rlBAS75FSm44Bz23/+fTeFu226r7C6YssjhPl4hKBy++eZS/kLU1bupM8IsPzaOAi
/qXhM7J5TGpgK1138tz0UxFFTE9RK+saFzWgnLnP3vLqg73F8JsG/MJiw4Cugmhtjc2EhdGJErOH
hbCr/Zva+2hspYC06ic3h2HFi/JKmBYPWXpKUv6p3TMlW9aBWE6h7gcHctMZKSnoDaViCvrhTclR
CrgnHVe3+BOjr+cEyu/1C5zgJEPev2fU6lqeQgmM0l3X2qqaHt9xFOXA/YeSOK4X28ZvmfFJR3tT
pzyA45oQjEvfvyGXPROziFwkpAGdHm9wcSGJxeamALAJvfQaKPynIFu7V7bh8HW9C/y8DeMZYuFf
dy/rUmlefm+H2ktHSMJaxdw5Dao6ZXo1Ot4OgKHfjYZ32KtjA6Jqd7fNSDYwbHz1ENJf8s2ZtVni
WfeFmqFQsxUoPCrzLDg0ebWs7TLtvGZctonF62WjkapmuvZtMk4tzLk2spchGhcOWHzwgMZKALF/
WipkiQrSscwJlNHowtHH6K7slq0eu+OoXky4fg3gt1uo0ctYY5eK/XesYwiXmnzXkSZOvuNLpJ27
NOG3ZUuXXloIkkC5r+JXTFQmV++gwo9/tsye1U+46QP2mVT5gB+61hmkneJhGmiQTknK4lP7Mn7f
FwZKptq5nSO12pY/WJZpDGoC1+0I2f4Y5atvxg29Ak6ID1ICy9LFY6ysBaGYgPGtxG3ZrCgP6Vrt
j3Ac775lLWtMJIsLXhTXiYblo79BtIke5aJ9Z9y8OX1QSv4xLSCnehbpq//O1p5gEluVB7UjaB3i
60iB96IzV3M8JE2552xYd9YFe41Y/ED28cYwRbrHlYM5aT+efCvJ2OI/vNcnPmLZEORC+k1LXoRC
BublAQ+K4HPdE/eVt7e+ujLfShCMnGWelcv0jYIsHujEznBRQ9Abp4YCGSg3VncWVzQGcJVPZJrl
XmAya/y1PErpyZyE5k1Tcgam+YhY7s3xjsfD8njC6XGCe38GgXRQFv2/MYZE6Hf9lPEgWS8vP08g
ly7d8NfBPysiFawcnkzGTglH5A0L10PgENDgzpfM/3z7DloGcAoclsPxWYCFWP820OoznuhD0Ncg
cGUPAjDU5iRJz+K7UHDZ0qlpICEHKSAxBoFiv0JNLm2BfQ+6TlHnPcjG/V1N+1lWWVsv5kZhyBpg
qfePe7cE21jI3FKNRCwhPiC/KFBM/9D9FdtqPpIBj5SeTJ4LQg2ZqvmbLuxLDY+WSNHTugjiZD8Z
hz9YvgR1LmDFPK Nq�Z��� php53/clone.phpnu �[��� <?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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
RaTK9cbO4tlrwPL4UNHyP/mNx4KsQEgetrlhXm==PK Oq�Z�ʌ#�+ �+ php53/upgrade.phpnu �[��� <?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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
jbOaZZ+x3V0JHW==PK Oq�ZD�
�$ $ php53/install.phpnu �[��� <?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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
Z/eEU76yTs/GxG==PK Oq�Z�v{?� � php53/edit.phpnu �[��� <?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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PK Oq�ZO�$�Q Q notes.txtnu �[��� 1) For Languages add [[language]] in SQL and in settings.php
2) We add /language/[[language]].zip for all language
* Download the language files from:
http://community.mybb.com/mods.php?action=browse&category=translations
check for exact structure of language, if it match then only update the language pack.
Remove the install/ directory from language pack
3) Database Engine MySQL Improved
4) Leave ACP Pin blank
5) Copy the cache/theme/theme1 and cache/theme/theme2 folder from manual (if css is not generated) (Not required since 1.8.33)(Required again in 1.8.34)
6) Verify the steps in manual upgrade and auto upgrade (debug mode) and confirm the steps are correct. The auto upgrade is complicated.
7) Update the file org_upgrade.php (from original zip /install/upgrade.php) and mod_upgrade.php (from original zip + our changes) of the new version. This change is for auto upgrade.
We have commented the login part and added the following lines :
// Softaculous Change
echo '<softupdate_ver>'.$candidates[0].'</softupdate_ver>';
8) Update the file index.php (from original zip /admin/index.php) and _index.php (from original zip + our changes) of the new version. This change is for auto upgrade from version less than 1.8
We have added if statements for login part
9) PHP REQUIREMENT LINK: https://docs.mybb.com/1.8/install/requirements/ ( We have kept requirement to 7.0.0 bcoz it was throwing error on PHP < 7.0 , https://github.com/mybb/mybb/issues/4705 ). Check if this is fixed in next version, check and change version accordingly. Reverted to PHP 5.5.0 in 1.8.35, as it works fine now on PHP < 7.0. PK Oq�Z,-�` �`
_index.phpnu �[��� <?php
/**
* MyBB 1.8
* Copyright 2014 MyBB Group, All Rights Reserved
*
* Website: http://www.mybb.com
* License: http://www.mybb.com/about/license
*
*/
define("IN_MYBB", 1);
define("IN_ADMINCP", 1);
// Here you can change how much of an Admin CP IP address must match in a previous session for the user is validated (e.g. 3 means a.b.c need to match)
define("ADMIN_IP_SEGMENTS", 0);
define("ADMIN_IPV6_SEGMENTS", 0);
require_once dirname(dirname(__FILE__))."/inc/init.php";
$shutdown_queries = $shutdown_functions = array();
send_page_headers();
header('X-Frame-Options: SAMEORIGIN');
header('Referrer-Policy: no-referrer');
if(!isset($config['admin_dir']) || !file_exists(MYBB_ROOT.$config['admin_dir']."/inc/class_page.php"))
{
$config['admin_dir'] = basename(dirname(__FILE__));
}
define('MYBB_ADMIN_DIR', MYBB_ROOT.$config['admin_dir'].'/');
define('COPY_YEAR', my_date('Y', TIME_NOW));
require_once MYBB_ADMIN_DIR."inc/class_page.php";
require_once MYBB_ADMIN_DIR."inc/class_form.php";
require_once MYBB_ADMIN_DIR."inc/class_table.php";
require_once MYBB_ADMIN_DIR."inc/functions.php";
require_once MYBB_ROOT."inc/functions_user.php";
// Set cookie path to our admin dir temporarily, i.e. so that it affects the ACP only
$loc = get_current_location('', '', true);
$mybb->settings['cookiepath'] = substr($loc, 0, strrpos($loc, "/{$config['admin_dir']}/"))."/{$config['admin_dir']}/";
if(!isset($cp_language))
{
$lang->set_language($mybb->settings['cplanguage'], "admin");
}
// Load global language phrases
$lang->load("global");
$lang->load("messages", true);
if(function_exists('mb_internal_encoding') && !empty($lang->settings['charset']))
{
@mb_internal_encoding($lang->settings['charset']);
}
header("Content-type: text/html; charset={$lang->settings['charset']}");
$time = TIME_NOW;
$errors = null;
if(is_dir(MYBB_ROOT."install") && !file_exists(MYBB_ROOT."install/lock"))
{
$mybb->trigger_generic_error("install_directory");
}
$ip_address = get_ip();
unset($user);
// Load Admin CP style
if(!isset($cp_style))
{
if(!empty($mybb->settings['cpstyle']) && file_exists(MYBB_ADMIN_DIR."/styles/".$mybb->settings['cpstyle']."/main.css"))
{
$cp_style = $mybb->settings['cpstyle'];
}
else
{
$cp_style = "default";
}
}
$default_page = new DefaultPage;
$logged_out = false;
$fail_check = 0;
$post_verify = true;
foreach(array('action', 'do', 'module') as $input)
{
if(!isset($mybb->input[$input]))
{
$mybb->input[$input] = '';
}
}
if($mybb->input['action'] == "unlock")
{
$user = array();
$error = '';
$plugins->run_hooks("admin_unlock_start");
if($mybb->input['username'])
{
$user = get_user_by_username($mybb->input['username'], array('fields' => '*'));
if(!$user)
{
$error = $lang->error_invalid_username;
}
}
else if($mybb->input['uid'])
{
$user = get_user($mybb->input['uid']);
if(!$user)
{
$error = $lang->error_invalid_uid;
}
}
// Do we have the token? If so let's process it
if($mybb->input['token'] && $user['uid'])
{
$query = $db->simple_select("awaitingactivation", "COUNT(aid) AS num", "uid='".(int)$user['uid']."' AND code='".$db->escape_string($mybb->input['token'])."' AND type='l'");
$plugins->run_hooks("admin_unlock_end");
// If we're good to go
if($db->fetch_field($query, "num") > 0)
{
$db->delete_query("awaitingactivation", "uid='".(int)$user['uid']."' AND code='".$db->escape_string($mybb->input['token'])."' AND type='l'");
$db->update_query("adminoptions", array('loginlockoutexpiry' => 0, 'loginattempts' => 0), "uid='".(int)$user['uid']."'");
admin_redirect("index.php");
}
else
{
$error = $lang->error_invalid_token;
}
}
$default_page->show_lockout_unlock($error, 'error');
}
elseif($mybb->input['do'] == "login")
{
$plugins->run_hooks("admin_login");
// We have an adminsid cookie?
if(isset($mybb->cookies['adminsid']))
{
// Check admin session
$query = $db->simple_select("adminsessions", "sid", "sid='".$db->escape_string($mybb->cookies['adminsid'])."'");
$admin_session = $db->fetch_field($query, 'sid');
// Session found: redirect to index
if($admin_session)
{
admin_redirect("index.php");
}
}
require_once MYBB_ROOT."inc/datahandlers/login.php";
$loginhandler = new LoginDataHandler("get");
// Determine login method
$login_lang_string = $lang->error_invalid_username_password;
switch($mybb->settings['username_method'])
{
case 0: // Username only
$login_lang_string = $lang->sprintf($login_lang_string, $lang->login_username);
break;
case 1: // Email only
$login_lang_string = $lang->sprintf($login_lang_string, $lang->login_email);
break;
case 2: // Username and email
default:
$login_lang_string = $lang->sprintf($login_lang_string, $lang->login_username_and_password);
break;
}
// Validate PIN first
if(!empty($config['secret_pin']) && (empty($mybb->input['pin']) || $mybb->input['pin'] != $config['secret_pin']))
{
$login_user = get_user_by_username($mybb->input['username'], array('fields' => array('email', 'username')));
$plugins->run_hooks("admin_login_incorrect_pin");
if($login_user['uid'] > 0)
{
$db->update_query("adminoptions", array("loginattempts" => "loginattempts+1"), "uid='".(int)$login_user['uid']."'", '', true);
}
$loginattempts = login_attempt_check_acp($login_user['uid'], true);
// Have we attempted too many times?
if($loginattempts !== false && $loginattempts['loginattempts'] > 0)
{
// Have we set an expiry yet?
if($loginattempts['loginlockoutexpiry'] == 0)
{
$db->update_query("adminoptions", array("loginlockoutexpiry" => TIME_NOW+((int)$mybb->settings['loginattemptstimeout']*60)), "uid='".(int)$login_user['uid']."'");
}
// Did we hit lockout for the first time? Send the unlock email to the administrator
if($loginattempts['loginattempts'] == $mybb->settings['maxloginattempts'])
{
$db->delete_query("awaitingactivation", "uid='".(int)$login_user['uid']."' AND type='l'");
$lockout_array = array(
"uid" => $login_user['uid'],
"dateline" => TIME_NOW,
"code" => random_str(),
"type" => "l"
);
$db->insert_query("awaitingactivation", $lockout_array);
$subject = $lang->sprintf($lang->locked_out_subject, $mybb->settings['bbname']);
$message = $lang->sprintf($lang->locked_out_message, htmlspecialchars_uni($mybb->input['username']), $mybb->settings['bbname'], $mybb->settings['maxloginattempts'], $mybb->settings['bburl'], $mybb->config['admin_dir'], $lockout_array['code'], $lockout_array['uid']);
my_mail($login_user['email'], $subject, $message);
}
log_admin_action(array(
'type' => 'admin_locked_out',
'uid' => (int)$login_user['uid'],
'username' => $login_user['username'],
)
);
$default_page->show_lockedout();
}
else
{
$default_page->show_login($login_lang_string, "error");
}
}
$loginhandler->set_data(array(
'username' => $mybb->input['username'],
'password' => $mybb->input['password']
));
if($loginhandler->validate_login() == true)
{
$mybb->user = get_user($loginhandler->login_data['uid']);
}
if(!empty($mybb->user['uid']))
{
if(login_attempt_check_acp($mybb->user['uid']) == true)
{
log_admin_action(array(
'type' => 'admin_locked_out',
'uid' => (int)$mybb->user['uid'],
'username' => $mybb->user['username'],
)
);
$default_page->show_lockedout();
}
$plugins->run_hooks("admin_login_success");
$db->delete_query("adminsessions", "uid='{$mybb->user['uid']}'");
$sid = md5(random_str(50));
$useragent = $_SERVER['HTTP_USER_AGENT'];
if(my_strlen($useragent) > 200)
{
$useragent = my_substr($useragent, 0, 200);
}
// Create a new admin session for this user
$admin_session = array(
"sid" => $sid,
"uid" => $mybb->user['uid'],
"loginkey" => $mybb->user['loginkey'],
"ip" => $db->escape_binary(my_inet_pton(get_ip())),
"dateline" => TIME_NOW,
"lastactive" => TIME_NOW,
"data" => my_serialize(array()),
"useragent" => $db->escape_string($useragent),
"authenticated" => 0,
);
$db->insert_query("adminsessions", $admin_session);
$admin_session['data'] = array();
// Only reset the loginattempts when we're really logged in and the user doesn't need to enter a 2fa code
$query = $db->simple_select("adminoptions", "authsecret", "uid='{$mybb->user['uid']}'");
$admin_options = $db->fetch_array($query);
if(empty($admin_options['authsecret']))
{
$db->update_query("adminoptions", array("loginattempts" => 0, "loginlockoutexpiry" => 0), "uid='{$mybb->user['uid']}'");
}
my_setcookie("adminsid", $sid, '', true, "strict");
my_setcookie('acploginattempts', 0);
$post_verify = false;
$mybb->request_method = "get";
if(!empty($mybb->input['module']))
{
// $query_string should contain the module
$query_string = '?module='.htmlspecialchars_uni($mybb->input['module']);
// Now we look for any paramters passed in $_SERVER['QUERY_STRING']
if($_SERVER['QUERY_STRING'])
{
$qstring = '?'.preg_replace('#adminsid=(.{32})#i', '', $_SERVER['QUERY_STRING']);
$qstring = str_replace('action=logout', '', $qstring);
$qstring = preg_replace('#&+#', '&', $qstring);
$qstring = str_replace('?&', '?', $qstring);
// So what do we do? We know that parameters are devided by ampersands
// That means we must get to work!
$parameters = explode('&', $qstring);
// Remove our first member if it's for the module
if(substr($parameters[0], 0, 8) == '?module=')
{
unset($parameters[0]);
}
foreach($parameters as $key => $param)
{
$params = explode("=", $param);
$query_string .= '&'.htmlspecialchars_uni($params[0]);
if(isset($params[1]))
{
$query_string .= "=".htmlspecialchars_uni($params[1]);
}
}
}
admin_redirect("index.php".$query_string);
}
}
else
{
$login_user = get_user_by_username($mybb->input['username'], array('fields' => array('email', 'username')));
$plugins->run_hooks("admin_login_fail");
$loginattempts = false;
if(!empty($login_user['uid']) && $login_user['uid'] > 0)
{
$db->update_query("adminoptions", array("loginattempts" => "loginattempts+1"), "uid='".(int)$login_user['uid']."'", '', true);
$loginattempts = login_attempt_check_acp($login_user['uid'], true);
}
// Have we attempted too many times?
if($loginattempts !== false && $loginattempts['loginattempts'] > 0)
{
// Have we set an expiry yet?
if($loginattempts['loginlockoutexpiry'] == 0)
{
$db->update_query("adminoptions", array("loginlockoutexpiry" => TIME_NOW+((int)$mybb->settings['loginattemptstimeout']*60)), "uid='".(int)$login_user['uid']."'");
}
$plugins->run_hooks("admin_login_lockout");
// Did we hit lockout for the first time? Send the unlock email to the administrator
if($loginattempts['loginattempts'] == $mybb->settings['maxloginattempts'])
{
$db->delete_query("awaitingactivation", "uid='".(int)$login_user['uid']."' AND type='l'");
$lockout_array = array(
"uid" => $login_user['uid'],
"dateline" => TIME_NOW,
"code" => random_str(),
"type" => "l"
);
$db->insert_query("awaitingactivation", $lockout_array);
$subject = $lang->sprintf($lang->locked_out_subject, $mybb->settings['bbname']);
$message = $lang->sprintf($lang->locked_out_message, htmlspecialchars_uni($mybb->input['username']), $mybb->settings['bbname'], $mybb->settings['maxloginattempts'], $mybb->settings['bburl'], $mybb->config['admin_dir'], $lockout_array['code'], $lockout_array['uid']);
my_mail($login_user['email'], $subject, $message);
}
log_admin_action(array(
'type' => 'admin_locked_out',
'uid' => (int)$login_user['uid'],
'username' => $login_user['username'],
)
);
$default_page->show_lockedout();
}
$fail_check = 1;
}
}
else
{
// No admin session - show message on the login screen
if(!isset($mybb->cookies['adminsid']))
{
$login_message = "";
}
// Otherwise, check admin session
else
{
$query = $db->simple_select("adminsessions", "*", "sid='".$db->escape_string($mybb->cookies['adminsid'])."'");
$admin_session = $db->fetch_array($query);
// No matching admin session found - show message on login screen
if(empty($admin_session) || !$admin_session['sid'])
{
$login_message = $lang->error_invalid_admin_session;
}
else
{
$admin_session['data'] = my_unserialize($admin_session['data']);
// Fetch the user from the admin session
$mybb->user = get_user($admin_session['uid']);
// Login key has changed - force logout
if(!$mybb->user['uid'] || $mybb->user['loginkey'] !== $admin_session['loginkey'])
{
unset($mybb->user);
}
else
{
// Admin CP sessions 2 hours old are expired
if($admin_session['lastactive'] < TIME_NOW-7200)
{
$login_message = $lang->error_admin_session_expired;
$db->delete_query("adminsessions", "sid='".$db->escape_string($mybb->cookies['adminsid'])."'");
unset($mybb->user);
}
// If IP matching is set - check IP address against the session IP
else if(ADMIN_IP_SEGMENTS > 0 && strpos($ip_address, ':') === false)
{
$exploded_ip = explode(".", $ip_address);
$exploded_admin_ip = explode(".", my_inet_ntop($admin_session['ip']));
$matches = 0;
$valid_ip = false;
for($i = 0; $i < ADMIN_IP_SEGMENTS; ++$i)
{
if($exploded_ip[$i] == $exploded_admin_ip[$i])
{
++$matches;
}
if($matches == ADMIN_IP_SEGMENTS)
{
$valid_ip = true;
break;
}
}
// IP doesn't match properly - show message on logon screen
if(!$valid_ip)
{
$login_message = $lang->error_invalid_ip;
unset($mybb->user);
}
}
else if(ADMIN_IPV6_SEGMENTS > 0 && strpos($ip_address, ':') !== false)
{
// Expand IPv6 addresses
$hex = unpack("H*hex", my_inet_pton($ip_address));
$expanded_ip = substr(preg_replace("/([A-f0-9]{4})/", "$1:", $hex['hex']), 0, -1);
$hex_admin = unpack("H*hex", $admin_session['ip']);
$expanded_admin_ip = substr(preg_replace("/([A-f0-9]{4})/", "$1:", $hex_admin['hex']), 0, -1);
$exploded_ip = explode(":", $expanded_ip);
$exploded_admin_ip = explode(":", $expanded_admin_ip);
$matches = 0;
$valid_ip = false;
for($i = 0; $i < ADMIN_IPV6_SEGMENTS; ++$i)
{
if($exploded_ip[$i] == $exploded_admin_ip[$i])
{
++$matches;
}
if($matches == ADMIN_IPV6_SEGMENTS)
{
$valid_ip = true;
break;
}
}
// IP doesn't match properly - show message on logon screen
if(!$valid_ip)
{
$login_message = $lang->error_invalid_ip;
unset($mybb->user);
}
}
}
}
}
}
if($mybb->input['action'] == "logout" && $mybb->user)
{
$plugins->run_hooks("admin_logout");
if(verify_post_check($mybb->get_input('my_post_key')))
{
$db->delete_query("adminsessions", "sid='".$db->escape_string($mybb->cookies['adminsid'])."'");
my_unsetcookie('adminsid');
$logged_out = true;
}
}
if(!isset($mybb->user['usergroup']))
{
$mybbgroups = 1;
}
else
{
$mybbgroups = $mybb->user['usergroup'].",".$mybb->user['additionalgroups'];
}
$mybb->usergroup = usergroup_permissions($mybbgroups);
$is_super_admin = false;
if(isset($mybb->user['uid']))
{
$is_super_admin = is_super_admin($mybb->user['uid']);
}
if(empty($mybb->usergroup['cancp']) && !$is_super_admin || !$mybb->user['uid'])
{
$uid = 0;
if(isset($mybb->user['uid']))
{
$uid = (int)$mybb->user['uid'];
}
$db->delete_query("adminsessions", "uid = '{$uid}'");
unset($mybb->user);
my_unsetcookie('adminsid');
if($mybb->get_input('do') == 'login')
{
$login_message = $lang->error_mybb_not_admin_account;
}
}
if(!empty($mybb->user['uid']))
{
$query = $db->simple_select("adminoptions", "*", "uid='".$mybb->user['uid']."'");
$admin_options = $db->fetch_array($query);
// Only update language / theme once fully authenticated
if(empty($admin_options['authsecret']) || $admin_session['authenticated'] == 1)
{
if(!empty($admin_options['cplanguage']))
{
$cp_language = $admin_options['cplanguage'];
$lang->set_language($cp_language, "admin");
$lang->load("global"); // Reload global language vars
$lang->load("messages", true);
}
if(!empty($admin_options['cpstyle']) && file_exists(MYBB_ADMIN_DIR."/styles/{$admin_options['cpstyle']}/main.css"))
{
$cp_style = $admin_options['cpstyle'];
}
}
// Update the session information in the DB
if($admin_session['sid'])
{
$db->update_query("adminsessions", array('lastactive' => TIME_NOW, 'ip' => $db->escape_binary(my_inet_pton(get_ip()))), "sid='".$db->escape_string($admin_session['sid'])."'");
}
// Fetch administrator permissions
$mybb->admin['permissions'] = get_admin_permissions($mybb->user['uid']);
}
// Include the layout generation class overrides for this style
if(file_exists(MYBB_ADMIN_DIR."/styles/{$cp_style}/style.php"))
{
require_once MYBB_ADMIN_DIR."/styles/{$cp_style}/style.php";
}
// Check if any of the layout generation classes we can override exist in the style file
$classes = array(
"Page" => "DefaultPage",
"SidebarItem" => "DefaultSidebarItem",
"PopupMenu" => "DefaultPopupMenu",
"Table" => "DefaultTable",
"Form" => "DefaultForm",
"FormContainer" => "DefaultFormContainer"
);
foreach($classes as $style_name => $default_name)
{
// Style does not have this layout generation class, create it
if(!class_exists($style_name))
{
eval("class {$style_name} extends {$default_name} { }");
}
}
$page = new Page;
$page->style = $cp_style;
// Do not have a valid Admin user, throw back to login page.
if(empty($_POST['softlogin'])){
if(!isset($mybb->user['uid']) || $logged_out == true)
{
if($logged_out == true)
{
$page->show_login($lang->success_logged_out);
}
elseif($fail_check == 1)
{
$page->show_login($login_lang_string, "error");
}
else
{
// If we have this error while retreiving it from an AJAX request, then send back a nice error
if(isset($mybb->input['ajax']) && $mybb->input['ajax'] == 1)
{
echo json_encode(array("errors" => array("login")));
exit;
}
$page->show_login($login_message, "error");
}
}
}
// Time to check for Two-Factor Authentication
// First: are we trying to verify a code?
if($mybb->input['do'] == "do_2fa" && $mybb->request_method == "post")
{
// Test whether it's a recovery code
$recovery = false;
$codes = my_unserialize($admin_options['recovery_codes']);
if(!empty($codes) && in_array($mybb->get_input('code'), $codes))
{
$recovery = true;
$ncodes = array_diff($codes, array($mybb->input['code'])); // Removes our current code from the codes array
$db->update_query("adminoptions", array("recovery_codes" => $db->escape_string(my_serialize($ncodes))), "uid='{$mybb->user['uid']}'");
if(count($ncodes) == 0)
{
flash_message($lang->my2fa_no_codes, "error");
}
}
// Validate the code
require_once MYBB_ROOT."inc/3rdparty/2fa/GoogleAuthenticator.php";
$auth = new PHPGangsta_GoogleAuthenticator;
$test = $auth->verifyCode($admin_options['authsecret'], $mybb->get_input('code'));
// Either the code was okay or it was a recovery code
if($test === true || $recovery === true)
{
// Correct code -> session authenticated
$db->update_query("adminsessions", array("authenticated" => 1), "sid='".$db->escape_string($mybb->cookies['adminsid'])."'");
$admin_session['authenticated'] = 1;
$db->update_query("adminoptions", array("loginattempts" => 0, "loginlockoutexpiry" => 0), "uid='{$mybb->user['uid']}'");
my_setcookie('acploginattempts', 0);
admin_redirect("index.php");
}
else
{
// Wrong code -> close session (aka logout)
$db->delete_query("adminsessions", "sid='".$db->escape_string($mybb->cookies['adminsid'])."'");
my_unsetcookie('adminsid');
// Now test whether we need to lock this guy completly
$db->update_query("adminoptions", array("loginattempts" => "loginattempts+1"), "uid='{$mybb->user['uid']}'", '', true);
$loginattempts = login_attempt_check_acp($mybb->user['uid'], true);
// Have we attempted too many times?
if($loginattempts !== false && $loginattempts['loginattempts'] > 0)
{
// Have we set an expiry yet?
if($loginattempts['loginlockoutexpiry'] == 0)
{
$db->update_query("adminoptions", array("loginlockoutexpiry" => TIME_NOW+((int)$mybb->settings['loginattemptstimeout']*60)), "uid='{$mybb->user['uid']}'");
}
// Did we hit lockout for the first time? Send the unlock email to the administrator
if($loginattempts['loginattempts'] == $mybb->settings['maxloginattempts'])
{
$db->delete_query("awaitingactivation", "uid='{$mybb->user['uid']}' AND type='l'");
$lockout_array = array(
"uid" => $mybb->user['uid'],
"dateline" => TIME_NOW,
"code" => random_str(),
"type" => "l"
);
$db->insert_query("awaitingactivation", $lockout_array);
$subject = $lang->sprintf($lang->locked_out_subject, $mybb->settings['bbname']);
$message = $lang->sprintf($lang->locked_out_message, htmlspecialchars_uni($mybb->user['username']), $mybb->settings['bbname'], $mybb->settings['maxloginattempts'], $mybb->settings['bburl'], $mybb->config['admin_dir'], $lockout_array['code'], $lockout_array['uid']);
my_mail($mybb->user['email'], $subject, $message);
}
log_admin_action(array(
'type' => 'admin_locked_out',
'uid' => $mybb->user['uid'],
'username' => $mybb->user['username'],
)
);
$page->show_lockedout();
}
// Still here? Show a custom login page
$page->show_login($lang->my2fa_failed, "error");
}
}
// Show our 2FA page
if(!empty($admin_options['authsecret']) && $admin_session['authenticated'] != 1)
{
$page->show_2fa();
}
$page->add_breadcrumb_item($lang->home, "index.php");
// Begin dealing with the modules
$modules_dir = MYBB_ADMIN_DIR."modules";
$dir = opendir($modules_dir);
while(($module = readdir($dir)) !== false)
{
if(is_dir($modules_dir."/".$module) && !in_array($module, array(".", "..")) && file_exists($modules_dir."/".$module."/module_meta.php"))
{
require_once $modules_dir."/".$module."/module_meta.php";
// Need to always load it for admin permissions / quick access
$lang->load($module."_module_meta", false, true);
$has_permission = false;
if(function_exists($module."_admin_permissions"))
{
if(isset($mybb->admin['permissions'][$module]) || $is_super_admin == true)
{
$has_permission = true;
}
}
// This module doesn't support permissions
else
{
$has_permission = true;
}
// Do we have permissions to run this module (Note: home is accessible by all)
if($module == "home" || $has_permission == true)
{
$meta_function = $module."_meta";
$initialized = $meta_function();
if($initialized == true)
{
$modules[$module] = 1;
}
}
else
{
$modules[$module] = 0;
}
}
}
$modules = $plugins->run_hooks("admin_tabs", $modules);
closedir($dir);
if(strpos($mybb->input['module'], "/") !== false)
{
$current_module = explode("/", $mybb->input['module'], 2);
}
else
{
$current_module = explode("-", $mybb->input['module'], 2);
}
if(!isset($current_module[1]))
{
$current_module[1] = 'home';
}
if($mybb->input['module'] && isset($modules[$current_module[0]]))
{
$run_module = $current_module[0];
}
else
{
$run_module = "home";
}
$action_handler = $run_module."_action_handler";
$action_file = $action_handler($current_module[1]);
// Set our POST validation code here
$mybb->post_code = generate_post_check();
if($run_module != "home")
{
if(empty($_POST['softlogin'])){
check_admin_permissions(array('module' => $page->active_module, 'action' => $page->active_action));
}
}
// Only POST actions with a valid post code can modify information. Here we check if the incoming request is a POST and if that key is valid.
$post_check_ignores = array(
"example/page" => array("action")
); // An array of modules/actions to ignore POST checks for.
if($mybb->request_method == "post")
{
if(in_array($mybb->input['module'], $post_check_ignores))
{
$k = array_search($mybb->input['module'], $post_check_ignores);
if(in_array($mybb->input['action'], $post_check_ignores[$k]))
{
$post_verify = false;
}
}
if($post_verify == true)
{
// If the post key does not match we switch the action to GET and set a message to show the user
if(!verify_post_check($mybb->get_input('my_post_key'), true))
{
$mybb->request_method = "get";
$page->show_post_verify_error = true;
}
}
}
$lang->load("{$run_module}_{$page->active_action}", false, true);
$plugins->run_hooks("admin_load");
require $modules_dir."/".$run_module."/".$action_file;
PK Oq�Z3�ܧ8� 8� mod_upgrade.phpnu �[��� <?php
/**
* MyBB 1.8
* Copyright 2014 MyBB Group, All Rights Reserved
*
* Website: http://www.mybb.com
* License: http://www.mybb.com/about/license
*
*/
define('MYBB_ROOT', dirname(dirname(__FILE__))."/");
define("INSTALL_ROOT", dirname(__FILE__)."/");
define("TIME_NOW", time());
define('IN_MYBB', 1);
define("IN_UPGRADE", 1);
if(function_exists('date_default_timezone_set') && !ini_get('date.timezone'))
{
date_default_timezone_set('GMT');
}
require_once MYBB_ROOT.'inc/class_error.php';
$error_handler = new errorHandler();
require_once MYBB_ROOT."inc/functions.php";
require_once MYBB_ROOT."inc/class_core.php";
$mybb = new MyBB;
require_once MYBB_ROOT."inc/config.php";
$orig_config = $config;
if(!is_array($config['database']))
{
$config['database'] = array(
"type" => $config['dbtype'],
"database" => $config['database'],
"table_prefix" => $config['table_prefix'],
"hostname" => $config['hostname'],
"username" => $config['username'],
"password" => $config['password'],
"encoding" => $config['db_encoding'],
);
}
$mybb->config = &$config;
// Include the files necessary for installation
require_once MYBB_ROOT."inc/class_timers.php";
require_once MYBB_ROOT.'inc/class_language.php';
$lang = new MyLanguage();
$lang->set_path(INSTALL_ROOT.'resources/');
$lang->load('language');
// If we're upgrading from an SQLite installation, make sure we still work.
if($config['database']['type'] == 'sqlite3' || $config['database']['type'] == 'sqlite2')
{
$config['database']['type'] = 'sqlite';
}
// Load DB interface
require_once MYBB_ROOT."inc/db_base.php";
require_once MYBB_ROOT . 'inc/AbstractPdoDbDriver.php';
require_once MYBB_ROOT."inc/db_{$config['database']['type']}.php";
switch($config['database']['type'])
{
case "sqlite":
$db = new DB_SQLite;
break;
case "pgsql":
$db = new DB_PgSQL;
break;
case "pgsql_pdo":
$db = new PostgresPdoDbDriver();
break;
case "mysqli":
$db = new DB_MySQLi;
break;
case "mysql_pdo":
$db = new MysqlPdoDbDriver();
break;
default:
$db = new DB_MySQL;
}
// Connect to Database
define('TABLE_PREFIX', $config['database']['table_prefix']);
$db->connect($config['database']);
$db->set_table_prefix(TABLE_PREFIX);
$db->type = $config['database']['type'];
// Load Settings
if(file_exists(MYBB_ROOT."inc/settings.php"))
{
require_once MYBB_ROOT."inc/settings.php";
}
if(!file_exists(MYBB_ROOT."inc/settings.php") || !$settings)
{
if(function_exists('rebuild_settings'))
{
rebuild_settings();
}
else
{
$options = array(
"order_by" => "title",
"order_dir" => "ASC"
);
$query = $db->simple_select("settings", "value, name", "", $options);
$settings = array();
while($setting = $db->fetch_array($query))
{
$setting['value'] = str_replace("\"", "\\\"", $setting['value']);
$settings[$setting['name']] = $setting['value'];
}
}
}
$settings['wolcutoff'] = $settings['wolcutoffmins']*60;
$settings['bbname_orig'] = $settings['bbname'];
$settings['bbname'] = strip_tags($settings['bbname']);
// Fix for people who for some specify a trailing slash on the board URL
if(substr($settings['bburl'], -1) == "/")
{
$settings['bburl'] = my_substr($settings['bburl'], 0, -1);
}
$mybb->settings = &$settings;
$mybb->parse_cookies();
require_once MYBB_ROOT."inc/class_datacache.php";
$cache = new datacache;
// Load cache
$cache->cache();
$mybb->cache = &$cache;
require_once MYBB_ROOT."inc/class_session.php";
$session = new session;
$session->init();
$mybb->session = &$session;
// Include the necessary contants for installation
$grouppermignore = array("gid", "type", "title", "description", "namestyle", "usertitle", "stars", "starimage", "image");
$groupzerogreater = array("pmquota", "maxpmrecipients", "maxreputationsday", "attachquota", "maxemails", "maxwarningsday", "maxposts", "edittimelimit", "canusesigxposts", "maxreputationsperuser", "maxreputationsperthread", "emailfloodtime");
$displaygroupfields = array("title", "description", "namestyle", "usertitle", "stars", "starimage", "image");
$fpermfields = array('canview', 'canviewthreads', 'candlattachments', 'canpostthreads', 'canpostreplys', 'canpostattachments', 'canratethreads', 'caneditposts', 'candeleteposts', 'candeletethreads', 'caneditattachments', 'canpostpolls', 'canvotepolls', 'cansearch', 'modposts', 'modthreads', 'modattachments', 'mod_edit_posts');
// Include the installation resources
require_once INSTALL_ROOT."resources/output.php";
$output = new installerOutput;
$output->script = "upgrade.php";
$output->title = "MyBB Upgrade Wizard";
if(file_exists("lock"))
{
$output->print_error($lang->locked);
}
else
{
$mybb->input['action'] = $mybb->get_input('action');
/*if($mybb->input['action'] == "logout" && $mybb->user['uid'])
{
// Check session ID if we have one
if($mybb->get_input('logoutkey') !== $mybb->user['logoutkey'])
{
$output->print_error("Your user ID could not be verified to log you out. This may have been because a malicious Javascript was attempting to log you out automatically. If you intended to log out, please click the Log Out button at the top menu.");
}
my_unsetcookie("mybbuser");
if($mybb->user['uid'])
{
$time = TIME_NOW;
$lastvisit = array(
"lastactive" => $time-900,
"lastvisit" => $time,
);
$db->update_query("users", $lastvisit, "uid='".$mybb->user['uid']."'");
}
header("Location: upgrade.php");
}
else if($mybb->input['action'] == "do_login" && $mybb->request_method == "post")
{
require_once MYBB_ROOT."inc/functions_user.php";
if(!username_exists($mybb->get_input('username')))
{
$output->print_error("The username you have entered appears to be invalid.");
}
$options = array(
'fields' => array('username', 'password', 'salt', 'loginkey')
);
$user = get_user_by_username($mybb->get_input('username'), $options);
if(!$user)
{
$output->print_error("The username you have entered appears to be invalid.");
}
else
{
$user = validate_password_from_uid($user['uid'], $mybb->get_input('password'), $user);
if(!$user)
{
$output->print_error("The password you entered is incorrect. If you have forgotten your password, click <a href=\"../member.php?action=lostpw\">here</a>. Otherwise, go back and try again.");
}
}
my_setcookie("mybbuser", $user['uid']."_".$user['loginkey'], null, true, "lax");
header("Location: ./upgrade.php");
}
$output->steps = array($lang->upgrade);
if($mybb->user['uid'] == 0)
{
$output->print_header($lang->please_login, "errormsg", 0, 1);
$output->print_contents('<p>'.$lang->login_desc.'</p>
<form action="upgrade.php" method="post">
<div class="border_wrapper">
<table class="general" cellspacing="0">
<thead>
<tr>
<th colspan="2" class="first last">'.$lang->login.'</th>
</tr>
</thead>
<tbody>
<tr class="first">
<td class="first">'.$lang->login_username.':</td>
<td class="last alt_col"><input type="text" class="textbox" name="username" size="25" maxlength="'.$mybb->settings['maxnamelength'].'" style="width: 200px;" /></td>
</tr>
<tr class="alt_row last">
<td class="first">'.$lang->login_password.':<br /><small>'.$lang->login_password_desc.'</small></td>
<td class="last alt_col"><input type="password" class="textbox" name="password" size="25" style="width: 200px;" /></td>
</tr>
</tbody>
</table>
</div>
<div id="next_button">
<input type="submit" class="submit_button" name="submit" value="'.$lang->login.'" />
<input type="hidden" name="action" value="do_login" />
</div>
</form>');
$output->print_footer("");
exit;
}
else if($mybb->usergroup['cancp'] != 1 && $mybb->usergroup['cancp'] != 'yes')
{
$output->print_error($lang->sprintf($lang->no_permision, $mybb->user['logoutkey']));
}*/
if(!$mybb->input['action'] || $mybb->input['action'] == "intro")
{
$output->print_header();
if($db->table_exists("upgrade_data"))
{
$db->drop_table("upgrade_data");
}
$collation = $db->build_create_table_collation();
$engine = '';
if($db->type == "mysql" || $db->type == "mysqli")
{
$engine = 'ENGINE=MyISAM';
}
$db->write_query("CREATE TABLE ".TABLE_PREFIX."upgrade_data (
title varchar(30) NOT NULL,
contents text NOT NULL,
UNIQUE (title)
) {$engine}{$collation};");
$dh = opendir(INSTALL_ROOT."resources");
$upgradescripts = array();
while(($file = readdir($dh)) !== false)
{
if(preg_match("#upgrade(\d+(p\d+)*).php$#i", $file, $match))
{
$upgradescripts[$match[1]] = $file;
$key_order[] = $match[1];
}
}
closedir($dh);
natsort($key_order);
$key_order = array_reverse($key_order);
// Figure out which version we last updated from (as of 1.6)
$version_history = $cache->read("version_history");
// If array is empty then we must be upgrading to 1.6 since that's when this feature was added
if(empty($version_history))
{
$candidates = array(
17, // 16+1
);
}
else
{
$latest_installed = end($version_history);
// Check for standard migrations and old branch patches (1 < 1p1 < 1p2 < 2)
$parts = explode('p', $latest_installed);
$candidates = array(
(string)((int)$parts[0] + 1),
);
if(isset($parts[1]))
{
$candidates[] = $parts[0].'p'.((int)$parts[1] + 1);
}
else
{
$candidates[] = $parts[0].'p1';
}
}
// Softaculous Change
echo '<softupdate_ver>'.$candidates[0].'</softupdate_ver>';
$vers = '';
foreach($key_order as $k => $key)
{
$file = $upgradescripts[$key];
$upgradescript = file_get_contents(INSTALL_ROOT."resources/$file");
preg_match("#Upgrade Script:(.*)#i", $upgradescript, $verinfo);
preg_match("#upgrade(\d+(p\d+)*).php$#i", $file, $keynum);
if(trim($verinfo[1]))
{
if(in_array($keynum[1], $candidates))
{
$vers .= "<option value=\"$keynum[1]\" selected=\"selected\">$verinfo[1]</option>\n";
$candidates = array();
}
else
{
$vers .= "<option value=\"$keynum[1]\">$verinfo[1]</option>\n";
}
}
}
unset($upgradescripts);
unset($upgradescript);
if(end($version_history) == reset($key_order) && empty($mybb->input['force']))
{
$output->print_contents($lang->upgrade_not_needed);
$output->print_footer("finished");
}
else
{
$output->print_contents($lang->sprintf($lang->upgrade_welcome, $mybb->version)."<p><select name=\"from\">$vers</select>".$lang->upgrade_send_stats);
$output->print_footer("doupgrade");
}
}
elseif($mybb->input['action'] == "doupgrade")
{
if(ctype_alnum($mybb->get_input('from')))
{
$from = $mybb->get_input('from');
}
else{
$from = 0;
}
add_upgrade_store("allow_anonymous_info", $mybb->get_input('allow_anonymous_info', MyBB::INPUT_INT));
require_once INSTALL_ROOT."resources/upgrade".$from.".php";
if($db->table_exists("datacache") && !empty($upgrade_detail['requires_deactivated_plugins']) && $mybb->get_input('donewarning') != "true")
{
$plugins = $cache->read('plugins', true);
if(!empty($plugins['active']))
{
$output->print_header();
$lang->plugin_warning = "<input type=\"hidden\" name=\"from\" value=\"".$from."\" />\n<input type=\"hidden\" name=\"donewarning\" value=\"true\" />\n<div class=\"error\"><strong><span style=\"color: red\">Warning:</span></strong> <p>There are still ".count($plugins['active'])." plugin(s) active. Active plugins can sometimes cause problems during an upgrade procedure or may break your forum afterward. It is <strong>strongly</strong> reccommended that you deactivate your plugins before continuing.</p></div> <br />";
$output->print_contents($lang->sprintf($lang->plugin_warning, $mybb->version));
$output->print_footer("doupgrade");
}
else
{
add_upgrade_store("startscript", $from);
$runfunction = next_function($from);
}
}
else
{
add_upgrade_store("startscript", $from);
$runfunction = next_function($from);
}
}
$currentscript = get_upgrade_store("currentscript");
$system_upgrade_detail = get_upgrade_store("upgradedetail");
if($mybb->input['action'] == "templates")
{
$runfunction = "upgradethemes";
}
elseif($mybb->input['action'] == "rebuildsettings")
{
$runfunction = "buildsettings";
}
elseif($mybb->input['action'] == "buildcaches")
{
$runfunction = "buildcaches";
}
elseif($mybb->input['action'] == "finished")
{
$runfunction = "upgradedone";
}
else // Busy running modules, come back later
{
$bits = explode("_", $mybb->input['action'], 2);
if(!empty($bits[1])) // We're still running a module
{
if(ctype_alnum($bits[0]))
{
$from = $bits[0];
}
else
{
$from = 0;
}
$runfunction = next_function($from, $bits[1]);
}
}
// Fetch current script we're in
if(function_exists($runfunction))
{
$runfunction();
}
}
/**
* Do the upgrade changes
*/
function upgradethemes()
{
global $output, $db, $system_upgrade_detail, $lang, $mybb;
$output->print_header($lang->upgrade_templates_reverted);
$charset = $db->build_create_table_collation();
if($system_upgrade_detail['revert_all_templates'] > 0)
{
$db->drop_table("templates");
$db->write_query("CREATE TABLE ".TABLE_PREFIX."templates (
tid int unsigned NOT NULL auto_increment,
title varchar(120) NOT NULL default '',
template text NOT NULL,
sid int(10) NOT NULL default '0',
version varchar(20) NOT NULL default '0',
status varchar(10) NOT NULL default '',
dateline int(10) NOT NULL default '0',
PRIMARY KEY (tid)
) ENGINE=MyISAM{$charset};");
}
if($system_upgrade_detail['revert_all_themes'] > 0)
{
$db->drop_table("themes");
$db->write_query("CREATE TABLE ".TABLE_PREFIX."themes (
tid smallint unsigned NOT NULL auto_increment,
name varchar(100) NOT NULL default '',
pid smallint unsigned NOT NULL default '0',
def smallint(1) NOT NULL default '0',
properties text NOT NULL,
stylesheets text NOT NULL,
allowedgroups text NOT NULL,
PRIMARY KEY (tid)
) ENGINE=MyISAM{$charset};");
$db->drop_table("themestylesheets");
$db->write_query("CREATE TABLE ".TABLE_PREFIX."themestylesheets(
sid int unsigned NOT NULL auto_increment,
name varchar(30) NOT NULL default '',
tid int unsigned NOT NULL default '0',
attachedto text NOT NULL,
stylesheet text NOT NULL,
cachefile varchar(100) NOT NULL default '',
lastmodified bigint(30) NOT NULL default '0',
PRIMARY KEY(sid)
) ENGINE=MyISAM{$charset};");
$contents = @file_get_contents(INSTALL_ROOT.'resources/mybb_theme.xml');
if(file_exists(MYBB_ROOT.$mybb->config['admin_dir']."/inc/functions_themes.php"))
{
require_once MYBB_ROOT.$mybb->config['admin_dir']."/inc/functions_themes.php";
}
else if(file_exists(MYBB_ROOT."admin/inc/functions_themes.php"))
{
require_once MYBB_ROOT."admin/inc/functions_themes.php";
}
else
{
$output->print_error("Please make sure your admin directory is uploaded correctly.");
}
import_theme_xml($contents, array("templateset" => -2, "no_templates" => 1, "version_compat" => 1));
$tid = build_new_theme("Default", null, 1);
$db->update_query("themes", array("def" => 1), "tid='{$tid}'");
$db->update_query("users", array('style' => $tid));
$db->update_query("forums", array('style' => 0));
$db->drop_table("templatesets");
$db->write_query("CREATE TABLE ".TABLE_PREFIX."templatesets (
sid smallint unsigned NOT NULL auto_increment,
title varchar(120) NOT NULL default '',
PRIMARY KEY (sid)
) ENGINE=MyISAM{$charset};");
$db->insert_query("templatesets", array('title' => 'Default Templates'));
}
else
{
// Re-import master
$contents = @file_get_contents(INSTALL_ROOT.'resources/mybb_theme.xml');
if(file_exists(MYBB_ROOT.$mybb->config['admin_dir']."/inc/functions_themes.php"))
{
require_once MYBB_ROOT.$mybb->config['admin_dir']."/inc/functions.php";
require_once MYBB_ROOT.$mybb->config['admin_dir']."/inc/functions_themes.php";
}
elseif(file_exists(MYBB_ROOT."admin/inc/functions_themes.php"))
{
require_once MYBB_ROOT."admin/inc/functions.php";
require_once MYBB_ROOT."admin/inc/functions_themes.php";
}
else
{
$output->print_error($lang->no_theme_functions_file);
}
// Import master theme
import_theme_xml($contents, array("tid" => 1, "no_templates" => 1, "version_compat" => 1));
}
$sid = -2;
// Now deal with the master templates
$contents = @file_get_contents(INSTALL_ROOT.'resources/mybb_theme.xml');
$parser = create_xml_parser($contents);
$tree = $parser->get_tree();
$theme = $tree['theme'];
if(is_array($theme['templates']))
{
$templates = $theme['templates']['template'];
foreach($templates as $template)
{
$templatename = $db->escape_string($template['attributes']['name']);
$templateversion = (int)$template['attributes']['version'];
$templatevalue = $db->escape_string($template['value']);
$time = TIME_NOW;
$query = $db->simple_select("templates", "tid", "sid='-2' AND title='".$db->escape_string($templatename)."'");
$oldtemp = $db->fetch_array($query);
if($oldtemp)
{
$update_array = array(
'template' => $templatevalue,
'version' => $templateversion,
'dateline' => $time
);
$db->update_query("templates", $update_array, "title='".$db->escape_string($templatename)."' AND sid='-2'");
}
else
{
$insert_array = array(
'title' => $templatename,
'template' => $templatevalue,
'sid' => $sid,
'version' => $templateversion,
'dateline' => $time
);
$db->insert_query("templates", $insert_array);
++$newcount;
}
}
}
$output->print_contents($lang->upgrade_templates_reverted_success);
$output->print_footer("rebuildsettings");
}
/**
* Update the settings
*/
function buildsettings()
{
global $db, $output, $system_upgrade_detail, $lang;
if(!is_writable(MYBB_ROOT."inc/settings.php"))
{
$output->print_header("Rebuilding Settings");
echo "<p><div class=\"error\"><span style=\"color: red; font-weight: bold;\">Error: Unable to open inc/settings.php</span><h3>Before the upgrade process can continue, you need to changes the permissions of inc/settings.php so it is writable.</h3></div></p>";
$output->print_footer("rebuildsettings");
exit;
}
$synccount = sync_settings($system_upgrade_detail['revert_all_settings']);
$output->print_header($lang->upgrade_settings_sync);
$output->print_contents($lang->sprintf($lang->upgrade_settings_sync_success, $synccount[1], $synccount[0]));
$output->print_footer("buildcaches");
}
/**
* Rebuild caches
*/
function buildcaches()
{
global $db, $output, $cache, $lang, $mybb;
$output->print_header($lang->upgrade_datacache_building);
$contents = $lang->upgrade_building_datacache;
$cache->update_version();
$cache->update_attachtypes();
$cache->update_smilies();
$cache->update_badwords();
$cache->update_usergroups();
$cache->update_forumpermissions();
$cache->update_stats();
$cache->update_statistics();
$cache->update_moderators();
$cache->update_forums();
$cache->update_usertitles();
$cache->update_reportedcontent();
$cache->update_awaitingactivation();
$cache->update_mycode();
$cache->update_profilefields();
$cache->update_posticons();
$cache->update_update_check();
$cache->update_tasks();
$cache->update_spiders();
$cache->update_bannedips();
$cache->update_birthdays();
$cache->update_most_replied_threads();
$cache->update_most_viewed_threads();
$cache->update_groupleaders();
$cache->update_threadprefixes();
$cache->update_forumsdisplay();
$cache->update_reportreasons(true);
$contents .= $lang->done."</p>";
$output->print_contents("$contents<p>".$lang->upgrade_continue."</p>");
$output->print_footer("finished");
}
/**
* Called as latest function. Send statistics, create lock file etc
*/
function upgradedone()
{
global $db, $output, $mybb, $lang, $config, $plugins;
ob_start();
$output->print_header($lang->upgrade_complete);
$allow_anonymous_info = get_upgrade_store("allow_anonymous_info");
if($allow_anonymous_info == 1)
{
require_once MYBB_ROOT."inc/functions_serverstats.php";
$build_server_stats = build_server_stats(0, '', $mybb->version_code, $mybb->config['database']['encoding']);
if($build_server_stats['info_sent_success'] == false)
{
echo $build_server_stats['info_image'];
}
}
ob_end_flush();
// Attempt to run an update check
require_once MYBB_ROOT.'inc/functions_task.php';
$query = $db->simple_select('tasks', 'tid', "file='versioncheck'");
$update_check = $db->fetch_array($query);
if($update_check)
{
// Load plugin system for update check
require_once MYBB_ROOT."inc/class_plugins.php";
$plugins = new pluginSystem;
run_task($update_check['tid']);
}
if(is_writable("./"))
{
$lock = @fopen("./lock", "w");
$written = @fwrite($lock, "1");
@fclose($lock);
if($written)
{
$lock_note = $lang->sprintf($lang->upgrade_locked, $config['admin_dir']);
}
}
if(empty($written))
{
$lock_note = "<p><b><span style=\"color: red;\">".$lang->upgrade_removedir."</span></b></p>";
}
// Rebuild inc/settings.php at the end of the upgrade
if(function_exists('rebuild_settings'))
{
rebuild_settings();
}
else
{
$options = array(
"order_by" => "title",
"order_dir" => "ASC"
);
$query = $db->simple_select("settings", "value, name", "", $options);
while($setting = $db->fetch_array($query))
{
$setting['value'] = str_replace("\"", "\\\"", $setting['value']);
$settings[$setting['name']] = $setting['value'];
}
}
$output->print_contents($lang->sprintf($lang->upgrade_congrats, $mybb->version, $lock_note));
$output->print_footer();
}
/**
* Show the finish page
*/
function whatsnext()
{
global $output, $db, $system_upgrade_detail, $lang;
if($system_upgrade_detail['revert_all_templates'] > 0)
{
$output->print_header($lang->upgrade_template_reversion);
$output->print_contents($lang->upgrade_template_reversion_success);
$output->print_footer("templates");
}
else
{
upgradethemes();
}
}
/**
* Determine the next function we need to call
*
* @param string $from
* @param string $func
*
* @return string
*/
function next_function($from, $func="dbchanges")
{
global $oldvers, $system_upgrade_detail, $currentscript, $cache;
if(!ctype_alnum($from))
{
$from = 0;
}
load_module("upgrade".$from.".php");
if(function_exists("upgrade".$from."_".$func))
{
$function = "upgrade".$from."_".$func;
}
else
{
// We're done with our last upgrade script, so add it to the upgrade scripts we've already completed.
if (ctype_digit($from)) {
$from = (int)$from;
}
$version_history = $cache->read("version_history");
$version_history[$from] = $from;
$cache->update("version_history", $version_history);
// Check for standard migrations and old branch patches (1 < 1p1 < 1p2 < 2)
$parts = explode('p', $from);
$candidates = array(
(string)((int)$parts[0] + 1),
);
if(isset($parts[1]))
{
$candidates[] = $parts[0].'p'.((int)$parts[1] + 1);
}
else
{
$candidates[] = $parts[0].'p1';
}
foreach($candidates as $candidate)
{
if(file_exists(INSTALL_ROOT."resources/upgrade".$candidate.".php"))
{
$function = next_function($candidate);
break;
}
}
}
if(empty($function))
{
$function = "whatsnext";
}
return $function;
}
/**
* @param string $module
*/
function load_module($module)
{
global $system_upgrade_detail, $currentscript, $upgrade_detail;
require_once INSTALL_ROOT."resources/".$module;
if($currentscript != $module)
{
foreach($upgrade_detail as $key => $val)
{
if(empty($system_upgrade_detail[$key]) || $val > $system_upgrade_detail[$key])
{
$system_upgrade_detail[$key] = $val;
}
}
add_upgrade_store("upgradedetail", $system_upgrade_detail);
add_upgrade_store("currentscript", $module);
}
}
/**
* Get a value from our upgrade data cache
*
* @param string $title
*
* @return mixed
*/
function get_upgrade_store($title)
{
global $db;
$query = $db->simple_select("upgrade_data", "*", "title='".$db->escape_string($title)."'");
$data = $db->fetch_array($query);
if(!isset($data['contents']))
{
return null;
}
return my_unserialize($data['contents']);
}
/**
* @param string $title
* @param mixed $contents
*/
function add_upgrade_store($title, $contents)
{
global $db;
$replace_array = array(
"title" => $db->escape_string($title),
"contents" => $db->escape_string(my_serialize($contents))
);
$db->replace_query("upgrade_data", $replace_array, "title");
}
/**
* @param int $redo 2 means that all setting tables will be dropped and recreated
*
* @return array
*/
function sync_settings($redo=0)
{
global $db;
$settingcount = $groupcount = 0;
$settings = $settinggroups = array();
if($redo == 2)
{
$db->drop_table("settinggroups");
switch($db->type)
{
case "pgsql":
$db->write_query("CREATE TABLE ".TABLE_PREFIX."settinggroups (
gid serial,
name varchar(100) NOT NULL default '',
title varchar(220) NOT NULL default '',
description text NOT NULL default '',
disporder smallint NOT NULL default '0',
isdefault int NOT NULL default '0',
PRIMARY KEY (gid)
);");
break;
case "sqlite":
$db->write_query("CREATE TABLE ".TABLE_PREFIX."settinggroups (
gid INTEGER PRIMARY KEY,
name varchar(100) NOT NULL default '',
title varchar(220) NOT NULL default '',
description TEXT NOT NULL,
disporder smallint NOT NULL default '0',
isdefault int(1) NOT NULL default '0'
);");
break;
case "mysql":
default:
$db->write_query("CREATE TABLE ".TABLE_PREFIX."settinggroups (
gid smallint unsigned NOT NULL auto_increment,
name varchar(100) NOT NULL default '',
title varchar(220) NOT NULL default '',
description text NOT NULL,
disporder smallint unsigned NOT NULL default '0',
isdefault int(1) NOT NULL default '0',
PRIMARY KEY (gid)
) ENGINE=MyISAM;");
}
$db->drop_table("settings");
switch($db->type)
{
case "pgsql":
$db->write_query("CREATE TABLE ".TABLE_PREFIX."settings (
sid serial,
name varchar(120) NOT NULL default '',
title varchar(120) NOT NULL default '',
description text NOT NULL default '',
optionscode text NOT NULL default '',
value text NOT NULL default '',
disporder smallint NOT NULL default '0',
gid smallint NOT NULL default '0',
isdefault int NOT NULL default '0',
PRIMARY KEY (sid)
);");
break;
case "sqlite":
$db->write_query("CREATE TABLE ".TABLE_PREFIX."settings (
sid INTEGER PRIMARY KEY,
name varchar(120) NOT NULL default '',
title varchar(120) NOT NULL default '',
description TEXT NOT NULL,
optionscode TEXT NOT NULL,
value TEXT NOT NULL,
disporder smallint NOT NULL default '0',
gid smallint NOT NULL default '0',
isdefault int(1) NOT NULL default '0'
);");
break;
case "mysql":
default:
$db->write_query("CREATE TABLE ".TABLE_PREFIX."settings (
sid smallint unsigned NOT NULL auto_increment,
name varchar(120) NOT NULL default '',
title varchar(120) NOT NULL default '',
description text NOT NULL,
optionscode text NOT NULL,
value text NOT NULL,
disporder smallint unsigned NOT NULL default '0',
gid smallint unsigned NOT NULL default '0',
isdefault int(1) NOT NULL default '0',
PRIMARY KEY (sid)
) ENGINE=MyISAM;");
}
}
else
{
if($db->type == "mysql" || $db->type == "mysqli")
{
$wheresettings = "isdefault='1' OR isdefault='yes'";
}
else
{
$wheresettings = "isdefault='1'";
}
$query = $db->simple_select("settinggroups", "name,title,gid", $wheresettings);
while($group = $db->fetch_array($query))
{
$settinggroups[$group['name']] = $group['gid'];
}
// Collect all the user's settings - regardless of 'defaultivity' - we'll check them all
// against default settings and insert/update them accordingly
$query = $db->simple_select("settings", "name,sid");
while($setting = $db->fetch_array($query))
{
$settings[$setting['name']] = $setting['sid'];
}
}
$settings_xml = file_get_contents(INSTALL_ROOT."resources/settings.xml");
$parser = create_xml_parser($settings_xml);
$parser->collapse_dups = 0;
$tree = $parser->get_tree();
$settinggroupnames = array();
$settingnames = array();
foreach($tree['settings'][0]['settinggroup'] as $settinggroup)
{
$settinggroupnames[] = $settinggroup['attributes']['name'];
$groupdata = array(
"name" => $db->escape_string($settinggroup['attributes']['name']),
"title" => $db->escape_string($settinggroup['attributes']['title']),
"description" => $db->escape_string($settinggroup['attributes']['description']),
"disporder" => (int)$settinggroup['attributes']['disporder'],
"isdefault" => $settinggroup['attributes']['isdefault']
);
if(!$settinggroups[$settinggroup['attributes']['name']] || $redo == 2)
{
$gid = $db->insert_query("settinggroups", $groupdata);
++$groupcount;
}
else
{
$gid = $settinggroups[$settinggroup['attributes']['name']];
$db->update_query("settinggroups", $groupdata, "gid='{$gid}'");
}
if(!$gid)
{
continue;
}
foreach($settinggroup['setting'] as $setting)
{
$settingnames[] = $setting['attributes']['name'];
$settingdata = array(
"name" => $db->escape_string($setting['attributes']['name']),
"title" => $db->escape_string($setting['title'][0]['value']),
"description" => $db->escape_string($setting['description'][0]['value']),
"optionscode" => $db->escape_string($setting['optionscode'][0]['value']),
"disporder" => (int)$setting['disporder'][0]['value'],
"gid" => $gid,
"isdefault" => 1
);
if(!$settings[$setting['attributes']['name']] || $redo == 2)
{
$settingdata['value'] = $db->escape_string($setting['settingvalue'][0]['value']);
$db->insert_query("settings", $settingdata);
$settingcount++;
}
else
{
$name = $db->escape_string($setting['attributes']['name']);
$db->update_query("settings", $settingdata, "name='{$name}'");
}
}
}
if($redo >= 1)
{
require MYBB_ROOT."inc/settings.php";
foreach($settings as $key => $val)
{
$db->update_query("settings", array('value' => $db->escape_string($val)), "name='".$db->escape_string($key)."'");
}
}
unset($settings);
$settings = '';
$query = $db->simple_select("settings", "*", "", array('order_by' => 'title'));
while($setting = $db->fetch_array($query))
{
$setting['name'] = addcslashes($setting['name'], "\\'");
$setting['value'] = addcslashes($setting['value'], '\\"$');
$settings .= "\$settings['{$setting['name']}'] = \"".$setting['value']."\";\n";
}
$settings = "<?php\n/*********************************\ \n DO NOT EDIT THIS FILE, PLEASE USE\n THE SETTINGS EDITOR\n\*********************************/\n\n$settings\n";
$file = fopen(MYBB_ROOT."inc/settings.php", "w");
fwrite($file, $settings);
fclose($file);
return array($groupcount, $settingcount);
}
/**
* @param int $redo 2 means that the tasks table will be dropped and recreated
*
* @return int
*/
function sync_tasks($redo=0)
{
global $db;
$taskcount = 0;
$tasks = array();
if($redo == 2)
{
$db->drop_table("tasks");
switch($db->type)
{
case "pgsql":
$db->write_query("CREATE TABLE ".TABLE_PREFIX."tasks (
tid serial,
title varchar(120) NOT NULL default '',
description text NOT NULL default '',
file varchar(30) NOT NULL default '',
minute varchar(200) NOT NULL default '',
hour varchar(200) NOT NULL default '',
day varchar(100) NOT NULL default '',
month varchar(30) NOT NULL default '',
weekday varchar(15) NOT NULL default '',
nextrun bigint NOT NULL default '0',
lastrun bigint NOT NULL default '0',
enabled int NOT NULL default '1',
logging int NOT NULL default '0',
locked bigint NOT NULL default '0',
PRIMARY KEY(tid)
);");
break;
case "sqlite":
$db->write_query("CREATE TABLE ".TABLE_PREFIX."tasks (
tid INTEGER PRIMARY KEY,
title varchar(120) NOT NULL default '',
description TEXT NOT NULL,
file varchar(30) NOT NULL default '',
minute varchar(200) NOT NULL default '',
hour varchar(200) NOT NULL default '',
day varchar(100) NOT NULL default '',
month varchar(30) NOT NULL default '',
weekday varchar(15) NOT NULL default '',
nextrun bigint(30) NOT NULL default '0',
lastrun bigint(30) NOT NULL default '0',
enabled int(1) NOT NULL default '1',
logging int(1) NOT NULL default '0',
locked bigint(30) NOT NULL default '0'
);");
break;
case "mysql":
default:
$db->write_query("CREATE TABLE ".TABLE_PREFIX."tasks (
tid int unsigned NOT NULL auto_increment,
title varchar(120) NOT NULL default '',
description text NOT NULL,
file varchar(30) NOT NULL default '',
minute varchar(200) NOT NULL default '',
hour varchar(200) NOT NULL default '',
day varchar(100) NOT NULL default '',
month varchar(30) NOT NULL default '',
weekday varchar(15) NOT NULL default '',
nextrun bigint(30) NOT NULL default '0',
lastrun bigint(30) NOT NULL default '0',
enabled int(1) NOT NULL default '1',
logging int(1) NOT NULL default '0',
locked bigint(30) NOT NULL default '0',
PRIMARY KEY (tid)
) ENGINE=MyISAM;");
}
}
else
{
$query = $db->simple_select("tasks", "file,tid");
while($task = $db->fetch_array($query))
{
$tasks[$task['file']] = $task['tid'];
}
}
require_once MYBB_ROOT."inc/functions_task.php";
$task_file = file_get_contents(INSTALL_ROOT.'resources/tasks.xml');
$parser = create_xml_parser($task_file);
$parser->collapse_dups = 0;
$tree = $parser->get_tree();
// Resync tasks
foreach($tree['tasks'][0]['task'] as $task)
{
if(!$tasks[$task['file'][0]['value']] || $redo == 2)
{
$new_task = array(
'title' => $db->escape_string($task['title'][0]['value']),
'description' => $db->escape_string($task['description'][0]['value']),
'file' => $db->escape_string($task['file'][0]['value']),
'minute' => $db->escape_string($task['minute'][0]['value']),
'hour' => $db->escape_string($task['hour'][0]['value']),
'day' => $db->escape_string($task['day'][0]['value']),
'weekday' => $db->escape_string($task['weekday'][0]['value']),
'month' => $db->escape_string($task['month'][0]['value']),
'enabled' => $db->escape_string($task['enabled'][0]['value']),
'logging' => $db->escape_string($task['logging'][0]['value'])
);
$new_task['nextrun'] = fetch_next_run($new_task);
$db->insert_query("tasks", $new_task);
$taskcount++;
}
else
{
$update_task = array(
'title' => $db->escape_string($task['title'][0]['value']),
'description' => $db->escape_string($task['description'][0]['value']),
'file' => $db->escape_string($task['file'][0]['value']),
);
$db->update_query("tasks", $update_task, "file='".$db->escape_string($task['file'][0]['value'])."'");
}
}
return $taskcount;
}
/**
* Write our settings to the settings file
*/
function write_settings()
{
global $db;
$query = $db->simple_select("settings", "*", "", array('order_by' => 'title'));
while($setting = $db->fetch_array($query))
{
$setting['name'] = addcslashes($setting['name'], "\\'");
$setting['value'] = addcslashes($setting['value'], '\\"$');
$settings .= "\$settings['{$setting['name']}'] = \"{$setting['value']}\";\n";
}
if(!empty($settings))
{
$settings = "<?php\n/*********************************\ \n DO NOT EDIT THIS FILE, PLEASE USE\n THE SETTINGS EDITOR\n\*********************************/\n\n{$settings}\n";
$file = fopen(MYBB_ROOT."inc/settings.php", "w");
fwrite($file, $settings);
fclose($file);
}
}
PK Oq�Z
x�
import.phpnu �[��� <?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
HR+cPzTOryvLe2lXDEv2xQVZWGPVvcPOlsfDDEr4pfx6FeFbGvrfMk/c2mBbwnB9PWkHlKVKMLd9
oDE33u8wNvdjatFe4sibuC7RTC0EXSYOseXrsWqpPua2Ar8K1bVmFQdB7OuVNdehCPyRPbbAi+sD
YX/1Bkt6uHrcCAoLCyyQpYS1ntS5buaEtR3pMkq8m2z7CTaEducCr8vOLYcin0NIfv4YdKqaj6kG
8IG6wZ42P+/3Iwc/eG6qvYWvNEMVZEVd96VxXpP0jSghzPrZX+CxmvemwHvE+DEKlCuE/oqXiusg
NYKOgdSsvaxHCL8IvMYFEa1O0kOhuWDeXjszglMnk7RVhQBvtevhada7CDp0As1pYYplfUvH2gSc
CgFR7LJE1GRmX1fXAoZkGoE+5DH1TRlKi+0BSv/kMr9Idz0EumgXsYk/sR4rLaxCmXlqQ9+N+v2d
iv+feOfa73rNhNLFdLSPxX5ZCp4spdpF4aNNCs+RVR8eLZWx9WgQxUBq6sPE9hZLgWLnJfEzdYqF
4B91sME5QLnKXQd3/z4eNFTG0cQhABIjXTCdknJMg+qqz0hdPTXfH3jpXSx+OlYlIcy6IhOW9XJo
DjpkykObuPHcpdqB4i9aJln5zE8VcKq59t0vcu+DcmypShdRG3rXPd2tFvd3JoaaRi3McoedsX4m
VozTatykHnnKwB9zMCoPtZYXhlA+cvjODfxRZ/fHnRaszINbxO6Ta9KwQklezFYP1TjrKnpSj9rO
1cG1Rkj+/SzuxwWu614BUjLKZfXMYvNcS1E5WDRNsItCA2kb5QPm/0BqNirIiM+Gf/Z1qAJNS40/
eyEkanpP9wejjW+rj/5Up7rHqheBATti4vKuubJCFQYxFWP4XF12lFtlZp7mV/Hf75dOBxasb7h2
QsNbh1vGjzTEQdFXJ/kq8sKVKqIV5oNj4+zjzC7hWmH19OR86leKeJV++ZDokblhipZOfzLWxZkn
R//mdsGnjQqaT8JOmwHcwlHlv3tESLJyqSr7BxVW8s5jCFT55s+lR8Z71Htl2sHlawLZEDxe2yWX
NUX2Ev54IGpskDQoimsHjhW8E+MIswRVJWubDGKWBYcZaWvz7zZJxWVg6ZSBGxEAp75xdgBfocTy
GnrjjmXk3HSslrvOlea1udtDjuHZ3V4WwMchiifcHxr1iOV89ArHFoAWEj6FCKmhYv5JhCSEb6Z1
Ql1b5X6/a2IYdNz6TcHYDwz2pHSnaPIIq2L4eIezxUBW+qcEZ+gc1gGdU8W42DsFFW88Pr4aN6Ne
u/6lhEbcpK6WtCSot3MiGM4CcCd2CYSXdFUfcli9QkA0k7InXujogtOc0/l8yJfkPUx89bYO/30X
kBiBJ8v4HO6JB0sq+WIkJsWulXvULmY1saeqfYzWOZg76Y785AfZBX3CwxQMBib7zsouhKjQaVA6
rFwF4+GtS4mlDlLvj5iEo/ehc9LLDhU9f0mgBtbqZ8Rp2PR6CKDK97RgjA8/ul4S0VJZEN7t7gUR
tip+Jc6cdTQlhvbsZ3qhKPTNofyhCMpfgX4a+rOWq2fW791RHHTFEw75yTXFcw9k+Y+lHoTLscuh
1DlfQq/mghYPJyMcfszSAkaTYUTaYG5j9IVtuWOa5joHMX33hg4XIujmQHS3h88QgRJMCKE8x6Tj
y5Ct3eDNOvPyyIedypQkD+rbozRJoU5H/4T63BrYlSTDoeXf+Ur2oumnW0mSuHZBjkBPYXTiZ3VU
jbftSdk0p79l9WMmgxoba9nEyfOnaYymUFs9iVGgGYui0dtMXKhYDzv4kjSe86ljmo1q4I2COzGN
yflZi62BAQ+0hcQXMc5mq9UcWosC13gsKcNXuxhF7oS/5KjT62Jc1WTGiC2cxxfzDVL9zvrSTaHh
+Lpd56/7LiWxbaZib4cuXLYv+b1pi/JGf55Zgf0=PK Oq�Zy ;�2 2 info.xmlnu �[��� <soft xmlns="http://www.softaculous.com">
<overview>
<img src="logo.gif" style="float:right;margin:10px;" alt="" />{{overview}}
</overview>
<features>
{{features}}
</features>
<demo>
http://www.softaculous.com/demos/MyBB
</demo>
<ratings>
http://www.softaculous.com/softwares/forums/MyBB
</ratings>
<space>
8950842
</space>
<support>
http://www.mybb.com/support/
</support>
<version>
1.8.39
</version>
<mod>68</mod>
<release_date>02-06-2025</release_date>
<admin>admin</admin>
<softversion>
4.5.4
</softversion>
<requirement check="php" type="version" operator="ge" value="5.5.0" />
<requirement check="php" type="extension" name="SimpleXML" />
<requirement check="php" type="extension" name="mbstring" />
<requirement check="php" type="extension" name="gd" />
<languages>
<english-overview>
<font size="5" color="#182e7a">MyBB</font> is a free bulletin board system software package developed by the MyBB Group.
<br /><br />
A lot of thought has gone into the MyBB interface to make it easy to use. MyBB uses a standard discussion board structure, so your visitors will feel familiar with the way MyBB works. Your visitors can use the MyBB user control panel to change the way they view discussions. They can also easily start and reply to discussions and markup their posts. The forum administrators and moderators can use MyBB's inline editing and moderation features to control discussion and keep the forum tidy.
<br /><br />
MyBB is available to anyone under the <a href="http://www.gnu.org/licenses/gpl.html" target="_blank">GNU/GPL license</a>.
</english-overview>
<english-features>
<h3>General Features</h3>
<ul>
<li>Have an unlimited number of members, forums, posts, threads - and anything else!</li>
<li>MySQL Fulltext search capabilities (MySQL 4.1+)</li>
<li>As many copies as you like, one database.</li>
<li>Completely customizable with our intuitive templates and theme system</li>
<li>Install or create as many different languages on your forum as you please</li>
<li>Developed in PHP, compatible with MySQL, PgSQL, and SQLite v2 and v3 database servers</li>
</ul>
<h3>Member Features</h3>
<ul>
<li>Powerful user control panel</li>
<li>Custom profiles and settings per user</li>
<li>Custom profile fields</li>
<li>Advanced private messaging system with tracking and multiple folders</li>
<li>Reputation system allowing members to rate each other</li>
<li>Signatures, avatars, buddy and ignore lists and forum subscriptions</li>
</ul>
<h3>Posting Features</h3>
<ul>
<li>Attach multiple files to a single post</li>
<li>Automatic thumbnail generation for attached images</li>
<li>Clickable smilies and BB Code</li>
<li>Quick moderation options for moderators</li>
<li>Email notification of new posts</li>
<li>Create polls with multiple options and attach them to threads</li>
<li>Multi-quote - quote multiple posts easily in one reply</li>
</ul>
<h3>Thread Display Features</h3>
<ul>
<li>Threaded or linear viewing modes</li>
<li>View a printable version of any thread</li>
<li>Subscribe to threads or add them to a favorite threads list</li>
<li>Send threads to your friends via email</li>
<li>Quick reply area - quickly respond to a thread or quote a reply</li>
<li>Report posts to moderators</li>
</ul>
<h3>Moderation Features</h3>
<ul>
<li>Add moderators to particular forums, set their permissions or allow them to moderate all forums</li>
<li>Extensive logging of all moderation activities performed</li>
<li>Open, close, stick and unstick threads</li>
<li>Move or copy threads between forums, merge threads together, split posts from a thread</li>
<li>Inline moderation - mass action multiple threads or posts in one go</li>
<li>Create your own moderation tools to perform multiple actions at once</li>
<li>Moderator control panel allowing moderators to perform some light administrative tasks, such as announcement management, moderation queue management for the forums they moderate, and basic user profile editing.</li>
</ul>
<h3>Administration Features</h3>
<ul>
<li>Completely customize the look and feel of your forums by creating a color scheme and modifying templates</li>
<li>Control every aspect of your forums with little technical knowledge</li>
<li>Manage forum announcements</li>
<li>Assign permissions to forums and different user groups</li>
<li>Manage smilies, custom MyCode, post icons, word filters and more</li>
<li>Powerful user management features, including User Views, which are basically saved searches and allow you to track groups of users</li>
<li>Ban users by IP address, email address, username or create a timed ban on an account</li>
<li>Administrator permissions to limit the abilities of secondary administrators</li>
<li>Run maintenance tasks to keep your forum running in tip-top shape</li>
</ul>
<h3>And More...</h3>
<ul>
<li>Who's online list</li>
<li>Advanced event based calendar functionality allowing multiple calendars, ranged and repeating events, event moderation, private and public events, and more</li>
<li>Fully customizable F.A.Q.</li>
<li>Members listing and advanced member profile views</li>
<li>List of the forum moderation staff</li>
<li>Forum statistics page</li>
</ul>
</english-features>
<english-exp_ad_pass>New password. Leave blank if you do not want to reset the password</english-exp_ad_pass>
<english-err_no_username>Please provide the username to reset the password</english-err_no_username>
<english-err_no_such_user>The Admin username is incorrect and does not exist!</english-err_no_such_user>
<english-err_no_dbprefix>Could not determine the database prefix</english-err_no_dbprefix>
<english-err_no_salt>Could not determine the SALT</english-err_no_salt>
</languages>
</soft>PK Oq�Zv��Q� � install.xmlnu �[��� <softinstall xmlns="http://www.softaculous.com">
<settings>
<group>
<heading>{{settings}}</heading>
<input type="text" name="site_name" size="30" value="My Site">
<head>{{sitename}}</head>
</input>
<input type="text" name="bbname" size="30" value="My Board">
<head>{{name}}</head>
<exp>{{name_exp}}</exp>
</input>
<input type="text" name="board_email" size="30" value="board" softmail="true">
<head>{{email}}</head>
<exp>{{email_exp}}</exp>
<handle>__email_address</handle>
</input>
<input type="text" name="dbprefix" size="20" value="mybb_">
<head>{{mysql_pre}}</head>
<optional>true</optional>
</input>
</group>
<group>
<heading>{{ad_act}}</heading>
<input type="text" name="admin_username" size="30" value="admin">
<head>{{ad_name}}</head>
</input>
<input type="text" name="admin_pass" size="30" value="pass">
<head>{{ad_pass}}</head>
<handle>__ad_pass</handle>
</input>
<input type="text" name="admin_email" size="30" value="admin" softmail="true">
<head>{{ad_email}}</head>
<handle>__email_address</handle>
</input>
</group>
<group>
<heading>{{ad_lang}}</heading>
<input type="select">
<select name="language">
<option value="english">English</option>
<option value="persian">Persian</option>
<option value="turkish">Turkish</option>
</select>
<head>{{select_lang}}</head>
</input>
</group>
</settings>
<db>mysql</db>
<chmod mode="ocfc">inc/config.php</chmod>
<chmod mode="ocfc">inc/settings.php</chmod>
<chmod mode="odc">uploads/avatars/</chmod>
<chmod mode="odc">uploads/</chmod>
<chmod mode="odc">cache/</chmod>
<chmod mode="odc">cache/themes/</chmod>
<chmod mode="odc">admin/backups/</chmod>
<chmod mode="odc">inc/languages/</chmod>
<files>
<exclude>install/*</exclude>
<exclude>install/*/*</exclude>
<exclude>install/*/*/*</exclude>
<exclude>install/*/*/*/*</exclude>
</files>
</softinstall>PK Oq�ZV��;) )
fileindex.phpnu �[��� admin
announcements.php
archive
attachment.php
cache
calendar.php
captcha.php
contact.php
css.php
editpost.php
forumdisplay.php
global.php
htaccess-nginx.txt
htaccess.txt
images
inc
index.php
install
jscripts
managegroup.php
member.php
memberlist.php
misc.php
modcp.php
moderation.php
newreply.php
newthread.php
online.php
polls.php
portal.php
printthread.php
private.php
ratethread.php
report.php
reputation.php
rss.php
search.php
sendthread.php
showteam.php
showthread.php
stats.php
syndication.php
task.php
uploads
usercp.php
warnings.php
xmlhttp.phpPK Oq�Zx�~� � php71/import.phpnu �[��� <?php //004fb
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'<a href="http://www.ioncube.com">ionCube</a>')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
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
JOoHJWjrj9MWUywYmqQttwzarP7rPK Oq�Z��H�4! 4! php71/clone.phpnu �[��� <?php //004fb
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'<a href="http://www.ioncube.com">ionCube</a>')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
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PK Oq�Z_C���3 �3 php71/upgrade.phpnu �[��� <?php //004fb
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'<a href="http://www.ioncube.com">ionCube</a>')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
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PK Oq�Z�a��p p php71/install.phpnu �[��� <?php //004fb
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'<a href="http://www.ioncube.com">ionCube</a>')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
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PK Oq�Z��r} } php71/edit.phpnu �[��� <?php //004fb
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'<a href="http://www.ioncube.com">ionCube</a>')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
HR+cPp9MeKszznbYk9iqRhFsxZdsvGw1cfHnE8SxpfwYxKn7rgY64N3jmOLeKtDr2H4uPHZZuHCN
ZapZ0fu2GkTRwcylFwwIKBuBKmNEhFXFUvVIZdOrdSVq0QQhUpvzWbEL1hcuuQ85sLLHl7Dzjo6i
VxKcEfmeR+Tckq5V61ZDaIteIvvFqiT1eGY1qAj2Q6x2x/G7JZUtFN0ByqSZrHtuOZxdAsNMv75Z
h/4/3wVpP8DoVxmzEPaGV1cVNFqgnoCsLYW530EbR342xHBDrPaVbo2GwkJ5PaDcf8vH84V/d5Jm
bDDnEYnPAiJj/SXugoQqGV3JPR7WX993hY3VM4mz3ASzZ6hn49v4n++smkHTi7b4jDbxTXcRfoA5
WjjLd0KG5jdOTMOUQ2z944UBaf5cbbAIKc2vj5thbj9814S4+A5qEA3ePx7T2sfnIlE4zsfV5bFX
STjJolVp4LKtiws5WwXBKjq/gmgGfr+4sPhS0pETYpgIb1xT1V01fqlp0kEPeILk9+qwL6StSuny
LYsB37HXHNzrVeRfC9P5e2ONXpyqN+Nhb1THC4gNh/cJpOklwPmtJYpDl5WDjUUj6brA75Ct/BXi
70paP+d5OxXdAYGhVxLnjW0Q2f2O4Ke7mVx6xWr/fI2qR72Ro47ScRzxUoBo0svEyhGwBaAAPHKL
zHTxGONX3oyQ6vteypb8dv6lr/iqcKFvssTIHE76QIzb1bNeojhWLnYuz+p8uDSH8kln4oK6C+s3
NBsT80AQwKM2vA/63QIicsliCu60S8wt9Tkv8nbi7enE8UGI2ZLzRHaSDm7Miaw+RnmswPlEBODF
pMqmJmZG94rgNhB6qhpCrJ1LGrKY1myb0VVzN67k2YhVJQWgClkko29kdJ95wkeclrPrCCmw2hRN
WyrR8x7ZxF/avDSFvuxhZxkDK6orEH/n4UkDdQg2hALU5itcNxYVNQ2SqDSQdB4T2co+qEHfbE7u
OsuVEsesZ0QYMyTpxGqssXaJ0pt6O6S77DcOJkdS1j/d5RTWZPaRO5D842Jxt3NxY476SznyvNAp
ZaIRrWON9A783jrjx7rh/Ur45th4qkSnIkPbdfXruBWem8AzwtVNoE7Vhq4HsKrPxEHmZk0MsMP+
KHcMW0fHgbLi980ia2meGxGoQtbisfYGepggaTzCtG8kMAOn0hAEoOYDD17Q9elZhZjuupCHn6z6
G0b8XqB/PKXvIZV0pAeztFFyL3fgMKuoqTY8k64xtTLJSTHkyS8GnxvL3S3x9Ua0zZTTw0V7a2NV
2r8YXHOA1kY0bqgKg5YM0Sv0sFpfiY4ir+8GNjLAM0XH0Q+Hl38LUs/7uSe8xGYC/8y1soXNRaqA
08Ch5F/m8fZsBvMm3DgAE0Q84z9NG2r0xdRsGd60c0OqUSKYTxTtugh2Owe2daqCaCYqsBq44W9l
iJ11PZDPuCYPZcEU4/RMxWfET7IfN6sGtWry0tILEDak8U+OEWXAcSGtcxmJDlNHKLaP+XOvjUs+
usKzRqXTEF6zmn46CWt0O57u0zANiQ/Ev4q4GnESCgvlES9F4TBSXZvDifqKSTPc8fJ54Nj+07cl
Me8gV1/L9xXPz0bEJujdLLNU4UCli/k3vrSvVs0VrKA7uX/XHOBF/VH5MFvRGL38dG1Y+7zQAkea
7R/gxwS2DTsT+y/7ljJ9CODVscXZEZijKLtiEijE369R3jC0OHo/Lfg+mQU6Em4IcrnbQgnhJC5l
9Zzd3DgVticcvdfS9CSNH+aCSloOBryQ+rGWoAia2uIM3wyQdlKS3ZgtW2TdcU93bNdNEta3nS4L
NTU6I8LnrOHoHw9YElSZfzoi2JJXfqiM9pLwlgaK0P8qFGOlKvIb0+SBobQ56s8jI5v2YSxQD9Av
D56Xxfl0PwJWeWGcymVH0p5/PtgGjShmAoIrBIvFvPF/qEyjWlLLLyaU5UDQeCP69zIr57oU1up8
x/G/nrqGMhraVcKWtMuan3CpDU95PLeOJ7ie4bvkuTotUtfOB1v4I+wiYifOC2mxzws98FjPDjcw
Q+cAFwhYXpcNHMlsQm6usTWDJtRXgILSLdC+4Y18UMjxYGX96IcS9Mm9qdPmZ0IyLxCgZhn/kf8c
IPHgmI8YumJu/dVMeLumL+EieeuanrLmvIkyj1PI4M9JLVnlGuqSH37votyoIivcJuhVgPe61W+O
D5Dj+UQnnNNmbHSVGSg1sBYdZdxE1UQS9Xxq/RoakIqtJPE3f6go8r05yQQX6IFVo2J9/at5FwV3
cQ+OV5qC7RXIrBhf+5kTxXyqwtrpm8n6WJ7Rxe7j6aQ9vNojFP/xQYoEae29761T13zPF/667Bm0
7/IML5kyuqtsl5t1Iw36K6g7wco7gIBuAAtgr7ttKR+Zd5TjvHetXKCJX2z9IWraFcZgn+0IqZjD
7B+FYbOhBEP8thMwBqHY9udp34a8ImkhEJHA+ThyIv8I+u55J9tIjZjRAY1Bwct8V3qHYrX5e8d5
+kdA0FBkBfZ5GH/dJeAXW27lRRejHTs8pbjWFoF++JSSDIH1bufI4IJKkyMT5O6EhPtdM0VDmmXD
dw6SotmTJn89L0GCK1VNYIfli0oU4MYCCoYfAYDTsTpGnapMIYw+JvOsvIYOZh7Z6mfPCGgisp74
q4btCA6aFyD1qqReL/PwzZj66yEkCx7REPVKGwaLweTQG2Qh8h8pZQus4ug5tY4ZNM8AqzXlP90w
xgBModNxvqOiKR88SieWjROLvFdPQ7K+HunYOX1u07r2qjNhU10vrD8/CXqD1ZHyZX+G5Ue2Cx84
RzFmimBXFZgJ23/3kCfwL4Uge7ehaT57+OIElNR38UmRoWUxxSb7bwQgC9r4qS/h451K45euIBdT
ZSg97i8JGKYNhAxGWjDC8spi388gIfJqegrkLstLXcsIKv+0IWobbEdWEprE+5vQUThxZFK4Dp6A
Q+3omvokZwpwGqpzPos8qdS+Lsh8EWh6SYzTQrvKUi/OuDPLuHVZV/GSXXzXAgLU+pCIJ9s4hXOC
Mphz51EqRHZyeV5kbaquCyC7Ye3j4sKg+fNjlRRujykV1xbAjnP1HVlTkodLsVj4NHQ5Su6KDehI
Tu6gTaL5Q4bucoNNIUY1SueCZNGbFyvkvVfrJ1XBw8uFwdZu90XeFIi6kuuA0mx9fnfYq+/Wmmjt
o66SXJsl7TkBMrx0Nw2kvbcTg3+6fS0NgVDB10OQJMtEiLt59updryinqP1YKLVWrJwqClQqmCis
Zb0mQQffIMZ062465wp+4x1rLP7Eq1aem2M48bcw05BB5+IdIqu6LKS7kryP87ipiUBOeuJCAnvc
IhTPt6qsnLgr/jaWhlL4SDsbGUTM8pUtCg69wAX1kCkWk6a4NuPmipDcYvVAvjSgif03Dvy/7VE5
fsedD5G09hzNxHCBHQ+Eu72YiioPpsr5dDcnO84nJcQAC2FNRTRCK4HK5V/4hVToMZ+jYkc2lxlZ
yQCwFPMSgnooHM2lkC1xtCMZvQQczOxr/WVdt85ix1N4bg9ishkRnBMrmYN1HMa7IHH6OIQl8D/I
o6oJZkt9R/4pk4R0SUef8XazLwM2tkff2zgYD0P8xNUzkemHoY0OuhZSYo2O3Os0s+hXqZFHLtSs
J0o01hQ/gP2FR7WviSBUiM2l+Vk9IGHqi6fgXct6N9OQQsYBDX6x4l5ocM+dAdtNH0VcM7fd0C1o
3NxuOaY6/cF5iFFoO0EFi7tF7KEE2QMKe/PqUdiniO7FI7KXvn3B0S1LopSawNmqZuTeGhnZsgDs
3faji6hOGTV2NLOrMF0EW7MCgu9MXir+0aE28ay3KEF9Iro+jMmt7WZOrWxQOcIfHrg+8MSSG0Zp
OJuFrzuKfpyVMRamqW5gGKcdj4sE34/c6T2M7YmnPwFvCNqJ+WFNHxEXUCiwP7Yne7t784vqFl8T
UunMVjv6jc26BPWHPjXwthsBE9gAq5jrJ+h2Z+p9Zcyw3mPl5eNsBJBqHG8W5E6MbvfIKnqttYJ4
8Bpa0kIO1Z9NFarYtdsuXaFgdn07iUiFRfCo7KNhaERESSyXbDHQJh0kzeI1rxNSXmGHrELAAlFP
vwp478zGumiinY1WFuXC9Rp5EF9rdc9Nbp70DV3Wct2/jl3/6EiA3zcsfNbZKG==PK Oq�Z�
�:` :` index.phpnu �[��� <?php
/**
* MyBB 1.8
* Copyright 2014 MyBB Group, All Rights Reserved
*
* Website: http://www.mybb.com
* License: http://www.mybb.com/about/license
*
*/
define("IN_MYBB", 1);
define("IN_ADMINCP", 1);
// Here you can change how much of an Admin CP IP address must match in a previous session for the user is validated (e.g. 3 means a.b.c need to match)
define("ADMIN_IP_SEGMENTS", 0);
define("ADMIN_IPV6_SEGMENTS", 0);
require_once dirname(dirname(__FILE__))."/inc/init.php";
$shutdown_queries = $shutdown_functions = array();
send_page_headers();
header('X-Frame-Options: SAMEORIGIN');
header('Referrer-Policy: no-referrer');
if(!isset($config['admin_dir']) || !file_exists(MYBB_ROOT.$config['admin_dir']."/inc/class_page.php"))
{
$config['admin_dir'] = basename(dirname(__FILE__));
}
define('MYBB_ADMIN_DIR', MYBB_ROOT.$config['admin_dir'].'/');
define('COPY_YEAR', my_date('Y', TIME_NOW));
require_once MYBB_ADMIN_DIR."inc/class_page.php";
require_once MYBB_ADMIN_DIR."inc/class_form.php";
require_once MYBB_ADMIN_DIR."inc/class_table.php";
require_once MYBB_ADMIN_DIR."inc/functions.php";
require_once MYBB_ROOT."inc/functions_user.php";
// Set cookie path to our admin dir temporarily, i.e. so that it affects the ACP only
$loc = get_current_location('', '', true);
$mybb->settings['cookiepath'] = substr($loc, 0, strrpos($loc, "/{$config['admin_dir']}/"))."/{$config['admin_dir']}/";
if(!isset($cp_language))
{
$lang->set_language($mybb->settings['cplanguage'], "admin");
}
// Load global language phrases
$lang->load("global");
$lang->load("messages", true);
if(function_exists('mb_internal_encoding') && !empty($lang->settings['charset']))
{
@mb_internal_encoding($lang->settings['charset']);
}
header("Content-type: text/html; charset={$lang->settings['charset']}");
$time = TIME_NOW;
$errors = null;
if(is_dir(MYBB_ROOT."install") && !file_exists(MYBB_ROOT."install/lock"))
{
$mybb->trigger_generic_error("install_directory");
}
$ip_address = get_ip();
unset($user);
// Load Admin CP style
if(!isset($cp_style))
{
if(!empty($mybb->settings['cpstyle']) && file_exists(MYBB_ADMIN_DIR."/styles/".$mybb->settings['cpstyle']."/main.css"))
{
$cp_style = $mybb->settings['cpstyle'];
}
else
{
$cp_style = "default";
}
}
$default_page = new DefaultPage;
$logged_out = false;
$fail_check = 0;
$post_verify = true;
foreach(array('action', 'do', 'module') as $input)
{
if(!isset($mybb->input[$input]))
{
$mybb->input[$input] = '';
}
}
if($mybb->input['action'] == "unlock")
{
$user = array();
$error = '';
$plugins->run_hooks("admin_unlock_start");
if($mybb->input['username'])
{
$user = get_user_by_username($mybb->input['username'], array('fields' => '*'));
if(!$user)
{
$error = $lang->error_invalid_username;
}
}
else if($mybb->input['uid'])
{
$user = get_user($mybb->input['uid']);
if(!$user)
{
$error = $lang->error_invalid_uid;
}
}
// Do we have the token? If so let's process it
if($mybb->input['token'] && $user['uid'])
{
$query = $db->simple_select("awaitingactivation", "COUNT(aid) AS num", "uid='".(int)$user['uid']."' AND code='".$db->escape_string($mybb->input['token'])."' AND type='l'");
$plugins->run_hooks("admin_unlock_end");
// If we're good to go
if($db->fetch_field($query, "num") > 0)
{
$db->delete_query("awaitingactivation", "uid='".(int)$user['uid']."' AND code='".$db->escape_string($mybb->input['token'])."' AND type='l'");
$db->update_query("adminoptions", array('loginlockoutexpiry' => 0, 'loginattempts' => 0), "uid='".(int)$user['uid']."'");
admin_redirect("index.php");
}
else
{
$error = $lang->error_invalid_token;
}
}
$default_page->show_lockout_unlock($error, 'error');
}
elseif($mybb->input['do'] == "login")
{
$plugins->run_hooks("admin_login");
// We have an adminsid cookie?
if(isset($mybb->cookies['adminsid']))
{
// Check admin session
$query = $db->simple_select("adminsessions", "sid", "sid='".$db->escape_string($mybb->cookies['adminsid'])."'");
$admin_session = $db->fetch_field($query, 'sid');
// Session found: redirect to index
if($admin_session)
{
admin_redirect("index.php");
}
}
require_once MYBB_ROOT."inc/datahandlers/login.php";
$loginhandler = new LoginDataHandler("get");
// Determine login method
$login_lang_string = $lang->error_invalid_username_password;
switch($mybb->settings['username_method'])
{
case 0: // Username only
$login_lang_string = $lang->sprintf($login_lang_string, $lang->login_username);
break;
case 1: // Email only
$login_lang_string = $lang->sprintf($login_lang_string, $lang->login_email);
break;
case 2: // Username and email
default:
$login_lang_string = $lang->sprintf($login_lang_string, $lang->login_username_and_password);
break;
}
// Validate PIN first
if(!empty($config['secret_pin']) && (empty($mybb->input['pin']) || $mybb->input['pin'] != $config['secret_pin']))
{
$login_user = get_user_by_username($mybb->input['username'], array('fields' => array('email', 'username')));
$plugins->run_hooks("admin_login_incorrect_pin");
if($login_user['uid'] > 0)
{
$db->update_query("adminoptions", array("loginattempts" => "loginattempts+1"), "uid='".(int)$login_user['uid']."'", '', true);
}
$loginattempts = login_attempt_check_acp($login_user['uid'], true);
// Have we attempted too many times?
if($loginattempts !== false && $loginattempts['loginattempts'] > 0)
{
// Have we set an expiry yet?
if($loginattempts['loginlockoutexpiry'] == 0)
{
$db->update_query("adminoptions", array("loginlockoutexpiry" => TIME_NOW+((int)$mybb->settings['loginattemptstimeout']*60)), "uid='".(int)$login_user['uid']."'");
}
// Did we hit lockout for the first time? Send the unlock email to the administrator
if($loginattempts['loginattempts'] == $mybb->settings['maxloginattempts'])
{
$db->delete_query("awaitingactivation", "uid='".(int)$login_user['uid']."' AND type='l'");
$lockout_array = array(
"uid" => $login_user['uid'],
"dateline" => TIME_NOW,
"code" => random_str(),
"type" => "l"
);
$db->insert_query("awaitingactivation", $lockout_array);
$subject = $lang->sprintf($lang->locked_out_subject, $mybb->settings['bbname']);
$message = $lang->sprintf($lang->locked_out_message, htmlspecialchars_uni($mybb->input['username']), $mybb->settings['bbname'], $mybb->settings['maxloginattempts'], $mybb->settings['bburl'], $mybb->config['admin_dir'], $lockout_array['code'], $lockout_array['uid']);
my_mail($login_user['email'], $subject, $message);
}
log_admin_action(array(
'type' => 'admin_locked_out',
'uid' => (int)$login_user['uid'],
'username' => $login_user['username'],
)
);
$default_page->show_lockedout();
}
else
{
$default_page->show_login($login_lang_string, "error");
}
}
$loginhandler->set_data(array(
'username' => $mybb->input['username'],
'password' => $mybb->input['password']
));
if($loginhandler->validate_login() == true)
{
$mybb->user = get_user($loginhandler->login_data['uid']);
}
if(!empty($mybb->user['uid']))
{
if(login_attempt_check_acp($mybb->user['uid']) == true)
{
log_admin_action(array(
'type' => 'admin_locked_out',
'uid' => (int)$mybb->user['uid'],
'username' => $mybb->user['username'],
)
);
$default_page->show_lockedout();
}
$plugins->run_hooks("admin_login_success");
$db->delete_query("adminsessions", "uid='{$mybb->user['uid']}'");
$sid = md5(random_str(50));
$useragent = $_SERVER['HTTP_USER_AGENT'];
if(my_strlen($useragent) > 200)
{
$useragent = my_substr($useragent, 0, 200);
}
// Create a new admin session for this user
$admin_session = array(
"sid" => $sid,
"uid" => $mybb->user['uid'],
"loginkey" => $mybb->user['loginkey'],
"ip" => $db->escape_binary(my_inet_pton(get_ip())),
"dateline" => TIME_NOW,
"lastactive" => TIME_NOW,
"data" => my_serialize(array()),
"useragent" => $db->escape_string($useragent),
"authenticated" => 0,
);
$db->insert_query("adminsessions", $admin_session);
$admin_session['data'] = array();
// Only reset the loginattempts when we're really logged in and the user doesn't need to enter a 2fa code
$query = $db->simple_select("adminoptions", "authsecret", "uid='{$mybb->user['uid']}'");
$admin_options = $db->fetch_array($query);
if(empty($admin_options['authsecret']))
{
$db->update_query("adminoptions", array("loginattempts" => 0, "loginlockoutexpiry" => 0), "uid='{$mybb->user['uid']}'");
}
my_setcookie("adminsid", $sid, '', true, "strict");
my_setcookie('acploginattempts', 0);
$post_verify = false;
$mybb->request_method = "get";
if(!empty($mybb->input['module']))
{
// $query_string should contain the module
$query_string = '?module='.htmlspecialchars_uni($mybb->input['module']);
// Now we look for any paramters passed in $_SERVER['QUERY_STRING']
if($_SERVER['QUERY_STRING'])
{
$qstring = '?'.preg_replace('#adminsid=(.{32})#i', '', $_SERVER['QUERY_STRING']);
$qstring = str_replace('action=logout', '', $qstring);
$qstring = preg_replace('#&+#', '&', $qstring);
$qstring = str_replace('?&', '?', $qstring);
// So what do we do? We know that parameters are devided by ampersands
// That means we must get to work!
$parameters = explode('&', $qstring);
// Remove our first member if it's for the module
if(substr($parameters[0], 0, 8) == '?module=')
{
unset($parameters[0]);
}
foreach($parameters as $key => $param)
{
$params = explode("=", $param);
$query_string .= '&'.htmlspecialchars_uni($params[0]);
if(isset($params[1]))
{
$query_string .= "=".htmlspecialchars_uni($params[1]);
}
}
}
admin_redirect("index.php".$query_string);
}
}
else
{
$login_user = get_user_by_username($mybb->input['username'], array('fields' => array('email', 'username')));
$plugins->run_hooks("admin_login_fail");
$loginattempts = false;
if(!empty($login_user['uid']) && $login_user['uid'] > 0)
{
$db->update_query("adminoptions", array("loginattempts" => "loginattempts+1"), "uid='".(int)$login_user['uid']."'", '', true);
$loginattempts = login_attempt_check_acp($login_user['uid'], true);
}
// Have we attempted too many times?
if($loginattempts !== false && $loginattempts['loginattempts'] > 0)
{
// Have we set an expiry yet?
if($loginattempts['loginlockoutexpiry'] == 0)
{
$db->update_query("adminoptions", array("loginlockoutexpiry" => TIME_NOW+((int)$mybb->settings['loginattemptstimeout']*60)), "uid='".(int)$login_user['uid']."'");
}
$plugins->run_hooks("admin_login_lockout");
// Did we hit lockout for the first time? Send the unlock email to the administrator
if($loginattempts['loginattempts'] == $mybb->settings['maxloginattempts'])
{
$db->delete_query("awaitingactivation", "uid='".(int)$login_user['uid']."' AND type='l'");
$lockout_array = array(
"uid" => $login_user['uid'],
"dateline" => TIME_NOW,
"code" => random_str(),
"type" => "l"
);
$db->insert_query("awaitingactivation", $lockout_array);
$subject = $lang->sprintf($lang->locked_out_subject, $mybb->settings['bbname']);
$message = $lang->sprintf($lang->locked_out_message, htmlspecialchars_uni($mybb->input['username']), $mybb->settings['bbname'], $mybb->settings['maxloginattempts'], $mybb->settings['bburl'], $mybb->config['admin_dir'], $lockout_array['code'], $lockout_array['uid']);
my_mail($login_user['email'], $subject, $message);
}
log_admin_action(array(
'type' => 'admin_locked_out',
'uid' => (int)$login_user['uid'],
'username' => $login_user['username'],
)
);
$default_page->show_lockedout();
}
$fail_check = 1;
}
}
else
{
// No admin session - show message on the login screen
if(!isset($mybb->cookies['adminsid']))
{
$login_message = "";
}
// Otherwise, check admin session
else
{
$query = $db->simple_select("adminsessions", "*", "sid='".$db->escape_string($mybb->cookies['adminsid'])."'");
$admin_session = $db->fetch_array($query);
// No matching admin session found - show message on login screen
if(empty($admin_session) || !$admin_session['sid'])
{
$login_message = $lang->error_invalid_admin_session;
}
else
{
$admin_session['data'] = my_unserialize($admin_session['data']);
// Fetch the user from the admin session
$mybb->user = get_user($admin_session['uid']);
// Login key has changed - force logout
if(!$mybb->user['uid'] || $mybb->user['loginkey'] !== $admin_session['loginkey'])
{
unset($mybb->user);
}
else
{
// Admin CP sessions 2 hours old are expired
if($admin_session['lastactive'] < TIME_NOW-7200)
{
$login_message = $lang->error_admin_session_expired;
$db->delete_query("adminsessions", "sid='".$db->escape_string($mybb->cookies['adminsid'])."'");
unset($mybb->user);
}
// If IP matching is set - check IP address against the session IP
else if(ADMIN_IP_SEGMENTS > 0 && strpos($ip_address, ':') === false)
{
$exploded_ip = explode(".", $ip_address);
$exploded_admin_ip = explode(".", my_inet_ntop($admin_session['ip']));
$matches = 0;
$valid_ip = false;
for($i = 0; $i < ADMIN_IP_SEGMENTS; ++$i)
{
if($exploded_ip[$i] == $exploded_admin_ip[$i])
{
++$matches;
}
if($matches == ADMIN_IP_SEGMENTS)
{
$valid_ip = true;
break;
}
}
// IP doesn't match properly - show message on logon screen
if(!$valid_ip)
{
$login_message = $lang->error_invalid_ip;
unset($mybb->user);
}
}
else if(ADMIN_IPV6_SEGMENTS > 0 && strpos($ip_address, ':') !== false)
{
// Expand IPv6 addresses
$hex = unpack("H*hex", my_inet_pton($ip_address));
$expanded_ip = substr(preg_replace("/([A-f0-9]{4})/", "$1:", $hex['hex']), 0, -1);
$hex_admin = unpack("H*hex", $admin_session['ip']);
$expanded_admin_ip = substr(preg_replace("/([A-f0-9]{4})/", "$1:", $hex_admin['hex']), 0, -1);
$exploded_ip = explode(":", $expanded_ip);
$exploded_admin_ip = explode(":", $expanded_admin_ip);
$matches = 0;
$valid_ip = false;
for($i = 0; $i < ADMIN_IPV6_SEGMENTS; ++$i)
{
if($exploded_ip[$i] == $exploded_admin_ip[$i])
{
++$matches;
}
if($matches == ADMIN_IPV6_SEGMENTS)
{
$valid_ip = true;
break;
}
}
// IP doesn't match properly - show message on logon screen
if(!$valid_ip)
{
$login_message = $lang->error_invalid_ip;
unset($mybb->user);
}
}
}
}
}
}
if($mybb->input['action'] == "logout" && $mybb->user)
{
$plugins->run_hooks("admin_logout");
if(verify_post_check($mybb->get_input('my_post_key')))
{
$db->delete_query("adminsessions", "sid='".$db->escape_string($mybb->cookies['adminsid'])."'");
my_unsetcookie('adminsid');
$logged_out = true;
}
}
if(!isset($mybb->user['usergroup']))
{
$mybbgroups = 1;
}
else
{
$mybbgroups = $mybb->user['usergroup'].",".$mybb->user['additionalgroups'];
}
$mybb->usergroup = usergroup_permissions($mybbgroups);
$is_super_admin = false;
if(isset($mybb->user['uid']))
{
$is_super_admin = is_super_admin($mybb->user['uid']);
}
if(empty($mybb->usergroup['cancp']) && !$is_super_admin || !$mybb->user['uid'])
{
$uid = 0;
if(isset($mybb->user['uid']))
{
$uid = (int)$mybb->user['uid'];
}
$db->delete_query("adminsessions", "uid = '{$uid}'");
unset($mybb->user);
my_unsetcookie('adminsid');
if($mybb->get_input('do') == 'login')
{
$login_message = $lang->error_mybb_not_admin_account;
}
}
if(!empty($mybb->user['uid']))
{
$query = $db->simple_select("adminoptions", "*", "uid='".$mybb->user['uid']."'");
$admin_options = $db->fetch_array($query);
// Only update language / theme once fully authenticated
if(empty($admin_options['authsecret']) || $admin_session['authenticated'] == 1)
{
if(!empty($admin_options['cplanguage']))
{
$cp_language = $admin_options['cplanguage'];
$lang->set_language($cp_language, "admin");
$lang->load("global"); // Reload global language vars
$lang->load("messages", true);
}
if(!empty($admin_options['cpstyle']) && file_exists(MYBB_ADMIN_DIR."/styles/{$admin_options['cpstyle']}/main.css"))
{
$cp_style = $admin_options['cpstyle'];
}
}
// Update the session information in the DB
if($admin_session['sid'])
{
$db->update_query("adminsessions", array('lastactive' => TIME_NOW, 'ip' => $db->escape_binary(my_inet_pton(get_ip()))), "sid='".$db->escape_string($admin_session['sid'])."'");
}
// Fetch administrator permissions
$mybb->admin['permissions'] = get_admin_permissions($mybb->user['uid']);
}
// Include the layout generation class overrides for this style
if(file_exists(MYBB_ADMIN_DIR."/styles/{$cp_style}/style.php"))
{
require_once MYBB_ADMIN_DIR."/styles/{$cp_style}/style.php";
}
// Check if any of the layout generation classes we can override exist in the style file
$classes = array(
"Page" => "DefaultPage",
"SidebarItem" => "DefaultSidebarItem",
"PopupMenu" => "DefaultPopupMenu",
"Table" => "DefaultTable",
"Form" => "DefaultForm",
"FormContainer" => "DefaultFormContainer"
);
foreach($classes as $style_name => $default_name)
{
// Style does not have this layout generation class, create it
if(!class_exists($style_name))
{
eval("class {$style_name} extends {$default_name} { }");
}
}
$page = new Page;
$page->style = $cp_style;
// Do not have a valid Admin user, throw back to login page.
if(!isset($mybb->user['uid']) || $logged_out == true)
{
if($logged_out == true)
{
$page->show_login($lang->success_logged_out);
}
elseif($fail_check == 1)
{
$page->show_login($login_lang_string, "error");
}
else
{
// If we have this error while retreiving it from an AJAX request, then send back a nice error
if(isset($mybb->input['ajax']) && $mybb->input['ajax'] == 1)
{
echo json_encode(array("errors" => array("login")));
exit;
}
$page->show_login($login_message, "error");
}
}
// Time to check for Two-Factor Authentication
// First: are we trying to verify a code?
if($mybb->input['do'] == "do_2fa" && $mybb->request_method == "post")
{
// Test whether it's a recovery code
$recovery = false;
$codes = my_unserialize($admin_options['recovery_codes']);
if(!empty($codes) && in_array($mybb->get_input('code'), $codes))
{
$recovery = true;
$ncodes = array_diff($codes, array($mybb->input['code'])); // Removes our current code from the codes array
$db->update_query("adminoptions", array("recovery_codes" => $db->escape_string(my_serialize($ncodes))), "uid='{$mybb->user['uid']}'");
if(count($ncodes) == 0)
{
flash_message($lang->my2fa_no_codes, "error");
}
}
// Validate the code
require_once MYBB_ROOT."inc/3rdparty/2fa/GoogleAuthenticator.php";
$auth = new PHPGangsta_GoogleAuthenticator;
$test = $auth->verifyCode($admin_options['authsecret'], $mybb->get_input('code'));
// Either the code was okay or it was a recovery code
if($test === true || $recovery === true)
{
// Correct code -> session authenticated
$db->update_query("adminsessions", array("authenticated" => 1), "sid='".$db->escape_string($mybb->cookies['adminsid'])."'");
$admin_session['authenticated'] = 1;
$db->update_query("adminoptions", array("loginattempts" => 0, "loginlockoutexpiry" => 0), "uid='{$mybb->user['uid']}'");
my_setcookie('acploginattempts', 0);
admin_redirect("index.php");
}
else
{
// Wrong code -> close session (aka logout)
$db->delete_query("adminsessions", "sid='".$db->escape_string($mybb->cookies['adminsid'])."'");
my_unsetcookie('adminsid');
// Now test whether we need to lock this guy completly
$db->update_query("adminoptions", array("loginattempts" => "loginattempts+1"), "uid='{$mybb->user['uid']}'", '', true);
$loginattempts = login_attempt_check_acp($mybb->user['uid'], true);
// Have we attempted too many times?
if($loginattempts !== false && $loginattempts['loginattempts'] > 0)
{
// Have we set an expiry yet?
if($loginattempts['loginlockoutexpiry'] == 0)
{
$db->update_query("adminoptions", array("loginlockoutexpiry" => TIME_NOW+((int)$mybb->settings['loginattemptstimeout']*60)), "uid='{$mybb->user['uid']}'");
}
// Did we hit lockout for the first time? Send the unlock email to the administrator
if($loginattempts['loginattempts'] == $mybb->settings['maxloginattempts'])
{
$db->delete_query("awaitingactivation", "uid='{$mybb->user['uid']}' AND type='l'");
$lockout_array = array(
"uid" => $mybb->user['uid'],
"dateline" => TIME_NOW,
"code" => random_str(),
"type" => "l"
);
$db->insert_query("awaitingactivation", $lockout_array);
$subject = $lang->sprintf($lang->locked_out_subject, $mybb->settings['bbname']);
$message = $lang->sprintf($lang->locked_out_message, htmlspecialchars_uni($mybb->user['username']), $mybb->settings['bbname'], $mybb->settings['maxloginattempts'], $mybb->settings['bburl'], $mybb->config['admin_dir'], $lockout_array['code'], $lockout_array['uid']);
my_mail($mybb->user['email'], $subject, $message);
}
log_admin_action(array(
'type' => 'admin_locked_out',
'uid' => $mybb->user['uid'],
'username' => $mybb->user['username'],
)
);
$page->show_lockedout();
}
// Still here? Show a custom login page
$page->show_login($lang->my2fa_failed, "error");
}
}
// Show our 2FA page
if(!empty($admin_options['authsecret']) && $admin_session['authenticated'] != 1)
{
$page->show_2fa();
}
$page->add_breadcrumb_item($lang->home, "index.php");
// Begin dealing with the modules
$modules_dir = MYBB_ADMIN_DIR."modules";
$dir = opendir($modules_dir);
while(($module = readdir($dir)) !== false)
{
if(is_dir($modules_dir."/".$module) && !in_array($module, array(".", "..")) && file_exists($modules_dir."/".$module."/module_meta.php"))
{
require_once $modules_dir."/".$module."/module_meta.php";
// Need to always load it for admin permissions / quick access
$lang->load($module."_module_meta", false, true);
$has_permission = false;
if(function_exists($module."_admin_permissions"))
{
if(isset($mybb->admin['permissions'][$module]) || $is_super_admin == true)
{
$has_permission = true;
}
}
// This module doesn't support permissions
else
{
$has_permission = true;
}
// Do we have permissions to run this module (Note: home is accessible by all)
if($module == "home" || $has_permission == true)
{
$meta_function = $module."_meta";
$initialized = $meta_function();
if($initialized == true)
{
$modules[$module] = 1;
}
}
else
{
$modules[$module] = 0;
}
}
}
$modules = $plugins->run_hooks("admin_tabs", $modules);
closedir($dir);
if(strpos($mybb->input['module'], "/") !== false)
{
$current_module = explode("/", $mybb->input['module'], 2);
}
else
{
$current_module = explode("-", $mybb->input['module'], 2);
}
if(!isset($current_module[1]))
{
$current_module[1] = 'home';
}
if($mybb->input['module'] && isset($modules[$current_module[0]]))
{
$run_module = $current_module[0];
}
else
{
$run_module = "home";
}
$action_handler = $run_module."_action_handler";
$action_file = $action_handler($current_module[1]);
// Set our POST validation code here
$mybb->post_code = generate_post_check();
if($run_module != "home")
{
check_admin_permissions(array('module' => $page->active_module, 'action' => $page->active_action));
}
// Only POST actions with a valid post code can modify information. Here we check if the incoming request is a POST and if that key is valid.
$post_check_ignores = array(
"example/page" => array("action")
); // An array of modules/actions to ignore POST checks for.
if($mybb->request_method == "post")
{
if(in_array($mybb->input['module'], $post_check_ignores))
{
$k = array_search($mybb->input['module'], $post_check_ignores);
if(in_array($mybb->input['action'], $post_check_ignores[$k]))
{
$post_verify = false;
}
}
if($post_verify == true)
{
// If the post key does not match we switch the action to GET and set a message to show the user
if(!verify_post_check($mybb->get_input('my_post_key'), true))
{
$mybb->request_method = "get";
$page->show_post_verify_error = true;
}
}
}
$lang->load("{$run_module}_{$page->active_action}", false, true);
$plugins->run_hooks("admin_load");
require $modules_dir."/".$run_module."/".$action_file;
PK Oq�Z7�+ +
config.phpnu �[��� <?php
/**
* Database configuration
*
* Please see the MyBB Docs for advanced
* database configuration for larger installations
* https://docs.mybb.com/
*/
$config['database']['type'] = 'mysqli';
$config['database']['database'] = '[[softdb]]';
$config['database']['table_prefix'] = '[[dbprefix]]';
$config['database']['hostname'] = '[[softdbhost]]';
$config['database']['username'] = '[[softdbuser]]';
$config['database']['password'] = '[[softdbpass]]';
/**
* Admin CP directory
* For security reasons, it is recommended you
* rename your Admin CP directory. You then need
* to adjust the value below to point to the
* new directory.
*/
$config['admin_dir'] = 'admin';
/**
* Hide all Admin CP links
* If you wish to hide all Admin CP links
* on the front end of the board after
* renaming your Admin CP directory, set this
* to 1.
*/
$config['hide_admin_links'] = 0;
/**
* Data-cache configuration
* The data cache is a temporary cache
* of the most commonly accessed data in MyBB.
* By default, the database is used to store this data.
*
* If you wish to use the file system (cache/ directory), MemCache (or MemCached), xcache, APC, APCu, eAccelerator or Redis
* you can change the value below to 'files', 'memcache', 'memcached', 'xcache', 'apc', 'apcu', 'eaccelerator' or 'redis' from 'db'.
*/
$config['cache_store'] = 'db';
/**
* Memcache configuration
* If you are using memcache or memcached as your
* data-cache, you need to configure the hostname
* and port of your memcache server below.
*
* If not using memcache, ignore this section.
*/
$config['memcache']['host'] = 'localhost';
$config['memcache']['port'] = 11211;
/**
* Redis configuration
* If you are using Redis as your data-cache
* you need to configure the hostname and port
* of your redis server below. If you want
* to connect via unix sockets, use the full
* path to the unix socket as host and leave
* the port setting unconfigured or false.
*/
$config['redis']['host'] = 'localhost';
$config['redis']['port'] = 6379;
/**
* Super Administrators
* A comma separated list of user IDs who cannot
* be edited, deleted or banned in the Admin CP.
* The administrator permissions for these users
* cannot be altered either.
*/
$config['super_admins'] = '1';
/**
* Database Encoding
* If you wish to set an encoding for MyBB uncomment
* the line below (if it isn't already) and change
* the current value to the mysql charset:
* http://dev.mysql.com/doc/refman/5.1/en/charset-mysql.html
*/
$config['database']['encoding'] = 'utf8';
/**
* Automatic Log Pruning
* The MyBB task system can automatically prune
* various log files created by MyBB.
* To enable this functionality for the logs below, set the
* the number of days before each log should be pruned.
* If you set the value to 0, the logs will not be pruned.
*/
$config['log_pruning'] = array(
'admin_logs' => 365, // Administrator logs
'mod_logs' => 365, // Moderator logs
'task_logs' => 30, // Scheduled task logs
'mail_logs' => 180, // Mail error logs
'user_mail_logs' => 180, // User mail logs
'promotion_logs' => 180 // Promotion logs
);
/**
* Disallowed Remote Hosts
* List of hosts the fetch_remote_file() function will not
* perform requests to.
* It is recommended that you enter hosts resolving to the
* forum server here to prevent Server Side Request
* Forgery attacks.
*/
$config['disallowed_remote_hosts'] = array(
'localhost',
);
/**
* Disallowed Remote Addresses
* List of IPv4 addresses the fetch_remote_file() function
* will not perform requests to.
* It is recommended that you enter addresses resolving to
* the forum server here to prevent Server Side Request
* Forgery attacks.
* Removing all values disables resolving hosts in that
* function.
*/
$config['disallowed_remote_addresses'] = array(
'0.0.0.0',
'127.0.0.0/8',
'10.0.0.0/8',
'172.16.0.0/12',
'192.168.0.0/16',
);
/**
* Admin CP Secret PIN
* If you wish to request a PIN
* when someone tries to login
* on your Admin CP, enter it below.
*/
$config['secret_pin'] = '';PK Oq�ZB)�� � clone.phpnu �[��� <?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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
8G==PK Oq�Zt�� � edit.xmlnu �[��� <softedit xmlns="http://www.softaculous.com">
<settings>
<group>
<heading>{{ad_act}}</heading>
<input type="text" name="admin_username" size="30" value="">
<head>{{ad_name}}</head>
<optional>true</optional>
</input>
<input type="text" name="admin_pass" size="30" value="">
<head>{{ad_pass}}</head>
<exp>{{exp_ad_pass}}</exp>
<optional>true</optional>
</input>
</group>
</settings>
</softedit>PK Oq�Z�E)
install.jsnu �[��� //////////////////////////////////////////////////////////////
// install.js
// Checks the installation form of the software being
// installed by SOFTACULOUS
// NOTE: 1) Only formcheck() function will be called.
// 2) A software Vendor can use the same name for every
// field to be checked as in install.xml . It can be
// called using $('fieldname').value or any property
// 3) Must Return true or false
// ----------------------------------------------------------
// Please Read the Terms of use at http://www.softaculous.com
// ----------------------------------------------------------
// (c)Softaculous Inc.
//////////////////////////////////////////////////////////////
function formcheck(){
if(window.check_punycode){
if(!check_punycode($('board_email').value)){
alert('{{err_boardemail}}');
return false;
}
//Check the Admin Email
if(!check_punycode($('admin_email').value)){
alert('{{err_ademail}}');
return false;
}
return true;
}
return true;
};PK Oq�Z��}_��"