Zeile 14 | Zeile 14 |
---|
* * @var string */
|
* * @var string */
|
public $version = "1.8.0";
| public $version = "1.8.23";
|
/** * The version code of MyBB we're running. * * @var integer */
|
/** * The version code of MyBB we're running. * * @var integer */
|
public $version_code = 1800;
| public $version_code = 1823;
|
/** * The current working directory.
| /** * The current working directory.
|
Zeile 68 | Zeile 68 |
---|
/** * Whether or not magic quotes are enabled. *
|
/** * Whether or not magic quotes are enabled. *
|
* @var unknown_type
| * @var int
|
*/ public $magicquotes = 0;
| */ public $magicquotes = 0;
|
Zeile 89 | Zeile 89 |
---|
/** * The request method that called this page. *
|
/** * The request method that called this page. *
|
* @var string.
| * @var string
|
*/ public $request_method = "";
| */ public $request_method = "";
|
Zeile 99 | Zeile 99 |
---|
* @var boolean */ public $safemode = false;
|
* @var boolean */ public $safemode = false;
|
/**
| /**
|
* Loads templates directly from the master theme and disables the installer locked error * * @var boolean */ public $dev_mode = false;
|
* Loads templates directly from the master theme and disables the installer locked error * * @var boolean */ public $dev_mode = false;
|
|
|
/** * Variables that need to be clean. *
| /** * Variables that need to be clean. *
|
Zeile 129 | Zeile 129 |
---|
"sortby", "order" ) );
|
"sortby", "order" ) );
|
/**
| /**
|
* Variables that are to be ignored from cleansing process * * @var array
|
* Variables that are to be ignored from cleansing process * * @var array
|
*/
| */
|
public $ignore_clean_variables = array();
|
public $ignore_clean_variables = array();
|
/** * Using built in shutdown functionality provided by register_shutdown_function for < PHP 5? */ public $use_shutdown = true;
/**
| /** * Using built in shutdown functionality provided by register_shutdown_function for < PHP 5? * * @var bool */ public $use_shutdown = true;
/**
|
* Debug mode?
|
* Debug mode?
|
| * * @var bool
|
*/ public $debug_mode = false;
|
*/ public $debug_mode = false;
|
/**
| /**
|
* Binary database fields need to be handled differently
|
* Binary database fields need to be handled differently
|
| * * @var array
|
*/ public $binary_fields = array( 'adminlog' => array('ipaddress' => true), 'adminsessions' => array('ip' => true), 'maillogs' => array('ipaddress' => true), 'moderatorlog' => array('ipaddress' => true),
|
*/ public $binary_fields = array( 'adminlog' => array('ipaddress' => true), 'adminsessions' => array('ip' => true), 'maillogs' => array('ipaddress' => true), 'moderatorlog' => array('ipaddress' => true),
|
| 'pollvotes' => array('ipaddress' => true),
|
'posts' => array('ipaddress' => true), 'privatemessages' => array('ipaddress' => true), 'searchlog' => array('ipaddress' => true), 'sessions' => array('ip' => true), 'threadratings' => array('ipaddress' => true),
|
'posts' => array('ipaddress' => true), 'privatemessages' => array('ipaddress' => true), 'searchlog' => array('ipaddress' => true), 'sessions' => array('ip' => true), 'threadratings' => array('ipaddress' => true),
|
'users' => array('regip' => true, 'lastip' => true)
| 'users' => array('regip' => true, 'lastip' => true), 'spamlog' => array('ipaddress' => true),
|
);
/**
| );
/**
|
Zeile 169 | Zeile 177 |
---|
* @var datacache */ public $cache;
|
* @var datacache */ public $cache;
|
/**
| /**
|
* The base URL to assets. * * @var string */ public $asset_url = null;
|
* The base URL to assets. * * @var string */ public $asset_url = null;
|
| /** * String input constant for use with get_input(). * * @see get_input */ const INPUT_STRING = 0; /** * Integer input constant for use with get_input(). * * @see get_input */ const INPUT_INT = 1; /** * Array input constant for use with get_input(). * * @see get_input */ const INPUT_ARRAY = 2; /** * Float input constant for use with get_input(). * * @see get_input */ const INPUT_FLOAT = 3; /** * Boolean input constant for use with get_input(). * * @see get_input */ const INPUT_BOOL = 4;
|
/** * Constructor of class.
|
/** * Constructor of class.
|
* * @return MyBB
| |
*/ function __construct() {
| */ function __construct() {
|
Zeile 188 | Zeile 224 |
---|
$protected = array("_GET", "_POST", "_SERVER", "_COOKIE", "_FILES", "_ENV", "GLOBALS"); foreach($protected as $var) {
|
$protected = array("_GET", "_POST", "_SERVER", "_COOKIE", "_FILES", "_ENV", "GLOBALS"); foreach($protected as $var) {
|
if(isset($_REQUEST[$var]) || isset($_FILES[$var]))
| if(isset($_POST[$var]) || isset($_GET[$var]) || isset($_COOKIE[$var]) || isset($_FILES[$var]))
|
{ die("Hacking attempt"); }
| { die("Hacking attempt"); }
|
Zeile 277 | Zeile 313 |
---|
/** * Parses the incoming variables. *
|
/** * Parses the incoming variables. *
|
* @param array The array of incoming variables.
| * @param array $array The array of incoming variables.
|
*/ function parse_incoming($array) {
| */ function parse_incoming($array) {
|
Zeile 299 | Zeile 335 |
---|
function parse_cookies() { if(!is_array($_COOKIE))
|
function parse_cookies() { if(!is_array($_COOKIE))
|
{ return; }
$prefix_length = strlen($this->settings['cookieprefix']);
| { return; }
$prefix_length = strlen($this->settings['cookieprefix']);
|
foreach($_COOKIE as $key => $val) { if($prefix_length && substr($key, 0, $prefix_length) == $this->settings['cookieprefix'])
| foreach($_COOKIE as $key => $val) { if($prefix_length && substr($key, 0, $prefix_length) == $this->settings['cookieprefix'])
|
Zeile 317 | Zeile 353 |
---|
{ unset($this->cookies[$key]); }
|
{ unset($this->cookies[$key]); }
|
}
| }
|
if(empty($this->cookies[$key])) { $this->cookies[$key] = $val;
|
if(empty($this->cookies[$key])) { $this->cookies[$key] = $val;
|
} } }
| } } }
|
/** * Strips slashes out of a given array. *
|
/** * Strips slashes out of a given array. *
|
* @param array The array to strip.
| * @param array $array The array to strip.
|
*/ function strip_slashes_array(&$array)
|
*/ function strip_slashes_array(&$array)
|
{
| {
|
foreach($array as $key => $val) { if(is_array($array[$key]))
| foreach($array as $key => $val) { if(is_array($array[$key]))
|
Zeile 345 | Zeile 381 |
---|
} } }
|
} } }
|
|
|
/** * Unsets globals from a specific array. *
|
/** * Unsets globals from a specific array. *
|
* @param array The array to unset from.
| * @param array $array The array to unset from.
|
*/ function unset_globals($array) {
| */ function unset_globals($array) {
|
Zeile 359 | Zeile 395 |
---|
}
foreach(array_keys($array) as $key)
|
}
foreach(array_keys($array) as $key)
|
{
| {
|
unset($GLOBALS[$key]); unset($GLOBALS[$key]); // Double unset to circumvent the zend_hash_del_key_or_index hole in PHP <4.4.3 and <5.1.4 }
| unset($GLOBALS[$key]); unset($GLOBALS[$key]); // Double unset to circumvent the zend_hash_del_key_or_index hole in PHP <4.4.3 and <5.1.4 }
|
Zeile 372 | Zeile 408 |
---|
function clean_input() { foreach($this->clean_variables as $type => $variables)
|
function clean_input() { foreach($this->clean_variables as $type => $variables)
|
{
| {
|
foreach($variables as $var) { // If this variable is in the ignored array, skip and move to next. if(in_array($var, $this->ignore_clean_variables)) { continue;
|
foreach($variables as $var) { // If this variable is in the ignored array, skip and move to next. if(in_array($var, $this->ignore_clean_variables)) { continue;
|
}
| }
|
if(isset($this->input[$var])) { switch($type) { case "int":
|
if(isset($this->input[$var])) { switch($type) { case "int":
|
$this->input[$var] = $this->get_input($var, 1);
| $this->input[$var] = $this->get_input($var, MyBB::INPUT_INT);
|
break; case "a-z": $this->input[$var] = preg_replace("#[^a-z\.\-_]#i", "", $this->get_input($var));
| break; case "a-z": $this->input[$var] = preg_replace("#[^a-z\.\-_]#i", "", $this->get_input($var));
|
Zeile 404 | Zeile 440 |
---|
/** * Checks the input data type before usage. *
|
/** * Checks the input data type before usage. *
|
* @param string Variable name ($mybb->input) * @param Data type (0/Default=String, 1=Integer, 2=Array) * @param Checked data
| * @param string $name Variable name ($mybb->input) * @param int $type The type of the variable to get. Should be one of MyBB::INPUT_INT, MyBB::INPUT_ARRAY or MyBB::INPUT_STRING. * * @return int|float|array|string Checked data. Type depending on $type
|
*/
|
*/
|
function get_input($name, $type=0)
| function get_input($name, $type = MyBB::INPUT_STRING)
|
{ switch($type) {
|
{ switch($type) {
|
case 2:
| case MyBB::INPUT_ARRAY:
|
if(!isset($this->input[$name]) || !is_array($this->input[$name])) { return array();
|
if(!isset($this->input[$name]) || !is_array($this->input[$name])) { return array();
|
} return $this->input[$name]; case 1:
| } return $this->input[$name]; case MyBB::INPUT_INT: if(!isset($this->input[$name]) || !is_numeric($this->input[$name])) { return 0; } return (int)$this->input[$name]; case MyBB::INPUT_FLOAT:
|
if(!isset($this->input[$name]) || !is_numeric($this->input[$name])) {
|
if(!isset($this->input[$name]) || !is_numeric($this->input[$name])) {
|
return 0;
| return 0.0; } return (float)$this->input[$name]; case MyBB::INPUT_BOOL: if(!isset($this->input[$name]) || !is_scalar($this->input[$name])) { return false;
|
}
|
}
|
return (int)$this->input[$name];
| return (bool)$this->input[$name];
|
default: if(!isset($this->input[$name]) || !is_scalar($this->input[$name])) {
| default: if(!isset($this->input[$name]) || !is_scalar($this->input[$name])) {
|
Zeile 453 | Zeile 502 |
---|
$path = substr($path, 2); }
|
$path = substr($path, 2); }
|
$base_path = '';
| |
if($use_cdn && $this->settings['usecdn'] && !empty($this->settings['cdnurl'])) { $base_path = rtrim($this->settings['cdnurl'], '/');
| if($use_cdn && $this->settings['usecdn'] && !empty($this->settings['cdnurl'])) { $base_path = rtrim($this->settings['cdnurl'], '/');
|
Zeile 481 | Zeile 529 |
---|
/** * Triggers a generic error. *
|
/** * Triggers a generic error. *
|
* @param string The error code.
| * @param string $code The error code.
|
*/ function trigger_generic_error($code) {
| */ function trigger_generic_error($code) {
|
Zeile 506 | Zeile 554 |
---|
$error_code = MYBB_NOT_UPGRADED; break; case "sql_load_error":
|
$error_code = MYBB_NOT_UPGRADED; break; case "sql_load_error":
|
$message = "MyBB was unable to load the SQL extension. Please contact the MyBB Group for support. <a href=\"http://www.mybb.com\">MyBB Website</a>";
| $message = "MyBB was unable to load the SQL extension. Please contact the MyBB Group for support. <a href=\"https://mybb.com\">MyBB Website</a>";
|
$error_code = MYBB_SQL_LOAD_ERROR; break; case "apc_load_error": $message = "APC needs to be configured with PHP to use the APC cache support.";
|
$error_code = MYBB_SQL_LOAD_ERROR; break; case "apc_load_error": $message = "APC needs to be configured with PHP to use the APC cache support.";
|
| $error_code = MYBB_CACHEHANDLER_LOAD_ERROR; break; case "apcu_load_error": $message = "APCu needs to be configured with PHP to use the APCu cache support.";
|
$error_code = MYBB_CACHEHANDLER_LOAD_ERROR; break; case "eaccelerator_load_error": $message = "eAccelerator needs to be configured with PHP to use the eAccelerator cache support.";
|
$error_code = MYBB_CACHEHANDLER_LOAD_ERROR; break; case "eaccelerator_load_error": $message = "eAccelerator needs to be configured with PHP to use the eAccelerator cache support.";
|
$error_code = MYBB_CACHEHANDLER_LOAD_ERROR; break;
| $error_code = MYBB_CACHEHANDLER_LOAD_ERROR; break;
|
case "memcache_load_error": $message = "Your server does not have memcache support enabled.";
|
case "memcache_load_error": $message = "Your server does not have memcache support enabled.";
|
$error_code = MYBB_CACHEHANDLER_LOAD_ERROR;
| $error_code = MYBB_CACHEHANDLER_LOAD_ERROR;
|
break; case "memcached_load_error": $message = "Your server does not have memcached support enabled.";
|
break; case "memcached_load_error": $message = "Your server does not have memcached support enabled.";
|
$error_code = MYBB_CACHEHANDLER_LOAD_ERROR;
| $error_code = MYBB_CACHEHANDLER_LOAD_ERROR;
|
break; case "xcache_load_error": $message = "Xcache needs to be configured with PHP to use the Xcache cache support.";
|
break; case "xcache_load_error": $message = "Xcache needs to be configured with PHP to use the Xcache cache support.";
|
| $error_code = MYBB_CACHEHANDLER_LOAD_ERROR; break; case "redis_load_error": $message = "Your server does not have redis support enabled.";
|
$error_code = MYBB_CACHEHANDLER_LOAD_ERROR; break; default:
|
$error_code = MYBB_CACHEHANDLER_LOAD_ERROR; break; default:
|
$message = "MyBB has experienced an internal error. Please contact the MyBB Group for support. <a href=\"http://www.mybb.com\">MyBB Website</a>";
| $message = "MyBB has experienced an internal error. Please contact the MyBB Group for support. <a href=\"https://mybb.com\">MyBB Website</a>";
|
$error_code = MYBB_GENERAL; } $error_handler->trigger($message, $error_code);
| $error_code = MYBB_GENERAL; } $error_handler->trigger($message, $error_code);
|
Zeile 551 | Zeile 607 |
---|
*/
$grouppermignore = array("gid", "type", "title", "description", "namestyle", "usertitle", "stars", "starimage", "image");
|
*/
$grouppermignore = array("gid", "type", "title", "description", "namestyle", "usertitle", "stars", "starimage", "image");
|
$groupzerogreater = array("pmquota", "maxpmrecipients", "maxreputationsday", "attachquota", "maxemails", "maxwarningsday", "maxposts", "edittimelimit", "canusesigxposts", "maxreputationsperthread", "emailfloodtime");
| $groupzerogreater = array("pmquota", "maxpmrecipients", "maxreputationsday", "attachquota", "maxemails", "maxposts", "edittimelimit", "maxreputationsperuser", "maxreputationsperthread", "emailfloodtime");
|
$displaygroupfields = array("title", "description", "namestyle", "usertitle", "stars", "starimage", "image");
// These are fields in the usergroups table that are also forum permission specific.
| $displaygroupfields = array("title", "description", "namestyle", "usertitle", "stars", "starimage", "image");
// These are fields in the usergroups table that are also forum permission specific.
|
Zeile 567 | Zeile 623 |
---|
'candeleteposts', 'candeletethreads', 'caneditattachments',
|
'candeleteposts', 'candeletethreads', 'caneditattachments',
|
| 'canviewdeletionnotice',
|
'modposts', 'modthreads', 'modattachments',
| 'modposts', 'modthreads', 'modattachments',
|