Zeile 52 | Zeile 52 |
---|
} }
|
} }
|
require_once MYBB_ROOT.'inc/class_xml.php';
| |
require_once MYBB_ROOT.'inc/functions_user.php'; require_once MYBB_ROOT.'inc/class_language.php'; $lang = new MyLanguage();
| require_once MYBB_ROOT.'inc/functions_user.php'; require_once MYBB_ROOT.'inc/class_language.php'; $lang = new MyLanguage();
|
Zeile 61 | Zeile 60 |
---|
// Load DB interface require_once MYBB_ROOT."inc/db_base.php";
|
// Load DB interface require_once MYBB_ROOT."inc/db_base.php";
|
| require_once MYBB_ROOT."inc/AbstractPdoDbDriver.php";
|
// Prevent any shut down functions from running $done_shutdown = 1;
| // Prevent any shut down functions from running $done_shutdown = 1;
|
Zeile 121 | Zeile 121 |
---|
'short_title' => 'SQLite', 'structure_file' => 'sqlite_db_tables.php', 'population_file' => 'pgsql_db_inserts.php'
|
'short_title' => 'SQLite', 'structure_file' => 'sqlite_db_tables.php', 'population_file' => 'pgsql_db_inserts.php'
|
| ); }
if (in_array('pgsql', $supported_dbs)) { $dboptions['pgsql_pdo'] = array( 'class' => 'PostgresPdoDbDriver', 'title' => 'PostgreSQL (PDO)', 'short_title' => 'PostgreSQL (PDO)', 'structure_file' => 'pgsql_db_tables.php', 'population_file' => 'pgsql_db_inserts.php' ); }
if (in_array('mysql', $supported_dbs)) { $dboptions['mysql_pdo'] = array( 'class' => 'MysqlPdoDbDriver', 'title' => 'MySQL (PDO)', 'short_title' => 'MySQL (PDO)', 'structure_file' => 'mysql_db_tables.php', 'population_file' => 'mysql_db_inserts.php'
|
); } }
| ); } }
|
Zeile 1118 | Zeile 1138 |
---|
else { $configstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable);
|
else { $configstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable);
|
| @fclose($configwritable);
|
}
|
}
|
@fclose($configwritable);
| |
// Check settings file is writable $settingswritable = @fopen(MYBB_ROOT.'inc/settings.php', 'w');
| // Check settings file is writable $settingswritable = @fopen(MYBB_ROOT.'inc/settings.php', 'w');
|
Zeile 1132 | Zeile 1152 |
---|
else { $settingsstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable);
|
else { $settingsstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable);
|
| @fclose($settingswritable);
|
}
|
}
|
@fclose($settingswritable);
| |
// Check cache directory is writable $cachewritable = @fopen(MYBB_ROOT.'cache/test.write', 'w');
| // Check cache directory is writable $cachewritable = @fopen(MYBB_ROOT.'cache/test.write', 'w');
|
Zeile 1142 | Zeile 1162 |
---|
$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_cachedir); $cachestatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable); $showerror = 1;
|
$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_cachedir); $cachestatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable); $showerror = 1;
|
@fclose($cachewritable);
| |
} else {
| } else {
|
Zeile 1151 | Zeile 1170 |
---|
@my_chmod(MYBB_ROOT.'cache', '0777'); @my_chmod(MYBB_ROOT.'cache/test.write', '0777'); @unlink(MYBB_ROOT.'cache/test.write');
|
@my_chmod(MYBB_ROOT.'cache', '0777'); @my_chmod(MYBB_ROOT.'cache/test.write', '0777'); @unlink(MYBB_ROOT.'cache/test.write');
|
}
| }
|
// Check upload directory is writable $uploadswritable = @fopen(MYBB_ROOT.'uploads/test.write', 'w');
| // Check upload directory is writable $uploadswritable = @fopen(MYBB_ROOT.'uploads/test.write', 'w');
|
Zeile 1159 | Zeile 1178 |
---|
{ $errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_uploaddir); $uploadsstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable);
|
{ $errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_uploaddir); $uploadsstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable);
|
$showerror = 1; @fclose($uploadswritable);
| $showerror = 1;
|
} else {
| } else {
|
Zeile 1178 | Zeile 1196 |
---|
$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_avatardir); $avatarsstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable); $showerror = 1;
|
$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_avatardir); $avatarsstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable); $showerror = 1;
|
@fclose($avatarswritable);
| |
} else {
| } else {
|
Zeile 1423 | Zeile 1440 |
---|
break; case "pgsql": $db = new DB_PgSQL;
|
break; case "pgsql": $db = new DB_PgSQL;
|
| break; case "pgsql_pdo": $db = new PostgresPdoDbDriver();
|
break; case "mysqli": $db = new DB_MySQLi;
|
break; case "mysqli": $db = new DB_MySQLi;
|
| break; case "mysql_pdo": $db = new MysqlPdoDbDriver();
|
break; default: $db = new DB_MySQL;
|
break; default: $db = new DB_MySQL;
|
}
| }
|
$db->error_reporting = 0;
|
$db->error_reporting = 0;
|
| if(!isset($config['encoding'])) { $config['encoding'] = null; }
|
$connect_array = array( "hostname" => $config['dbhost'],
| $connect_array = array( "hostname" => $config['dbhost'],
|
Zeile 1453 | Zeile 1481 |
---|
// Most DB engines only allow certain characters in the table name. Oracle requires an alphabetic character first. if((!preg_match("#^[A-Za-z][A-Za-z0-9_]*$#", $config['tableprefix'])) && $config['tableprefix'] != '')
|
// Most DB engines only allow certain characters in the table name. Oracle requires an alphabetic character first. if((!preg_match("#^[A-Za-z][A-Za-z0-9_]*$#", $config['tableprefix'])) && $config['tableprefix'] != '')
|
{
| {
|
$errors[] = $lang->db_step_error_invalid_tableprefix; }
| $errors[] = $lang->db_step_error_invalid_tableprefix; }
|
Zeile 1464 | Zeile 1492 |
---|
$errors[] = $lang->db_step_error_tableprefix_too_long; }
|
$errors[] = $lang->db_step_error_tableprefix_too_long; }
|
if(($db->engine == 'mysql' || $db->engine == 'mysqli') && $config['encoding'] == 'utf8mb4' && version_compare($db->get_version(), '5.5.3', '<'))
| if($connection !== false && ($db->engine == 'mysql' || $db->engine == 'mysqli') && $config['encoding'] == 'utf8mb4' && version_compare($db->get_version(), '5.5.3', '<'))
|
{ $errors[] = $lang->db_step_error_utf8mb4_error; }
| { $errors[] = $lang->db_step_error_utf8mb4_error; }
|
Zeile 1483 | Zeile 1511 |
---|
{ $db_encoding = "// \$config['database']['encoding'] = '".addcslashes($config['encoding'], "'")."';"; }
|
{ $db_encoding = "// \$config['database']['encoding'] = '".addcslashes($config['encoding'], "'")."';"; }
|
|
|
// Write the configuration file $configdata = "<?php /**
| // Write the configuration file $configdata = "<?php /**
|
Zeile 1527 | Zeile 1555 |
---|
* 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.
|
* 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, or eAccelerator * you can change the value below to 'files', 'memcache', 'memcached', 'xcache', 'apc' or 'eaccelerator' from 'db'. */
| * * 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';
|
\$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.
|
* 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;
|
\$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
| /** * Super Administrators
|
Zeile 1609 | Zeile 1650 |
---|
*/
\$config['disallowed_remote_addresses'] = array(
|
*/
\$config['disallowed_remote_addresses'] = array(
|
'127.0.0.1',
| '0.0.0.0', '127.0.0.0/8',
|
'10.0.0.0/8', '172.16.0.0/12', '192.168.0.0/16',
| '10.0.0.0/8', '172.16.0.0/12', '192.168.0.0/16',
|
Zeile 1647 | Zeile 1689 |
---|
$val = preg_replace('#mybb_(\S+?)([\s\.,\(]|$)#', $config['tableprefix'].'\\1\\2', $val); $val = preg_replace('#;$#', $db->build_create_table_collation().";", $val); preg_match('#CREATE TABLE (\S+)(\s?|\(?)\(#i', $val, $match);
|
$val = preg_replace('#mybb_(\S+?)([\s\.,\(]|$)#', $config['tableprefix'].'\\1\\2', $val); $val = preg_replace('#;$#', $db->build_create_table_collation().";", $val); preg_match('#CREATE TABLE (\S+)(\s?|\(?)\(#i', $val, $match);
|
if($match[1])
| if(!empty($match[1]))
|
{ $db->drop_table($match[1], false, false); echo $lang->sprintf($lang->tablecreate_step_created, $match[1]); } $db->query($val);
|
{ $db->drop_table($match[1], false, false); echo $lang->sprintf($lang->tablecreate_step_created, $match[1]); } $db->query($val);
|
if($match[1])
| if(!empty($match[1]))
|
{ echo $lang->done . "<br />\n"; }
| { echo $lang->done . "<br />\n"; }
|
Zeile 1767 | Zeile 1809 |
---|
// 1.8: Stylesheet Colors $contents = @file_get_contents(INSTALL_ROOT.'resources/mybb_theme_colors.xml');
|
// 1.8: Stylesheet Colors $contents = @file_get_contents(INSTALL_ROOT.'resources/mybb_theme_colors.xml');
|
require_once MYBB_ROOT."inc/class_xml.php"; $parser = new XMLParser($contents);
| $parser = create_xml_parser($contents);
|
$tree = $parser->get_tree();
if(is_array($tree) && is_array($tree['colors']))
| $tree = $parser->get_tree();
if(is_array($tree) && is_array($tree['colors']))
|
Zeile 1945 | Zeile 1986 |
---|
if(isset($_SERVER['SERVER_ADMIN']) && filter_var($_SERVER['SERVER_ADMIN'], FILTER_VALIDATE_EMAIL)) { $contactemail = $_SERVER['SERVER_ADMIN'];
|
if(isset($_SERVER['SERVER_ADMIN']) && filter_var($_SERVER['SERVER_ADMIN'], FILTER_VALIDATE_EMAIL)) { $contactemail = $_SERVER['SERVER_ADMIN'];
|
| } else { $contactemail = null;
|
} }
| } }
|
Zeile 2014 | Zeile 2059 |
---|
$adminuser = $adminemail = '';
$settings = file_get_contents(INSTALL_ROOT.'resources/settings.xml');
|
$adminuser = $adminemail = '';
$settings = file_get_contents(INSTALL_ROOT.'resources/settings.xml');
|
$parser = new XMLParser($settings);
| $parser = create_xml_parser($settings);
|
$parser->collapse_dups = 0; $tree = $parser->get_tree(); $groupcount = $settingcount = 0;
| $parser->collapse_dups = 0; $tree = $parser->get_tree(); $groupcount = $settingcount = 0;
|
Zeile 2085 | Zeile 2130 |
---|
include_once MYBB_ROOT."inc/functions_task.php"; $tasks = file_get_contents(INSTALL_ROOT.'resources/tasks.xml');
|
include_once MYBB_ROOT."inc/functions_task.php"; $tasks = file_get_contents(INSTALL_ROOT.'resources/tasks.xml');
|
$parser = new XMLParser($tasks);
| $parser = create_xml_parser($tasks);
|
$parser->collapse_dups = 0; $tree = $parser->get_tree(); $taskcount = 0;
| $parser->collapse_dups = 0; $tree = $parser->get_tree(); $taskcount = 0;
|
Zeile 2123 | Zeile 2168 |
---|
echo $lang->sprintf($lang->admin_step_insertedtasks, $taskcount);
$views = file_get_contents(INSTALL_ROOT.'resources/adminviews.xml');
|
echo $lang->sprintf($lang->admin_step_insertedtasks, $taskcount);
$views = file_get_contents(INSTALL_ROOT.'resources/adminviews.xml');
|
$parser = new XMLParser($views);
| $parser = create_xml_parser($views);
|
$parser->collapse_dups = 0; $tree = $parser->get_tree(); $view_count = 0;
| $parser->collapse_dups = 0; $tree = $parser->get_tree(); $view_count = 0;
|
Zeile 2227 | Zeile 2272 |
---|
// Insert all of our user groups from the XML file $usergroup_settings = file_get_contents(INSTALL_ROOT.'resources/usergroups.xml');
|
// Insert all of our user groups from the XML file $usergroup_settings = file_get_contents(INSTALL_ROOT.'resources/usergroups.xml');
|
$parser = new XMLParser($usergroup_settings);
| $parser = create_xml_parser($usergroup_settings);
|
$parser->collapse_dups = 0; $tree = $parser->get_tree();
| $parser->collapse_dups = 0; $tree = $parser->get_tree();
|
Zeile 2282 | Zeile 2327 |
---|
'lastvisit' => $now, 'website' => '', 'icq' => '',
|
'lastvisit' => $now, 'website' => '', 'icq' => '',
|
'yahoo' => '',
| |
'skype' =>'', 'google' =>'', 'birthday' => '',
| 'skype' =>'', 'google' =>'', 'birthday' => '',
|
Zeile 2314 | Zeile 2358 |
---|
'referrer' => 0, 'buddylist' => '', 'ignorelist' => '',
|
'referrer' => 0, 'buddylist' => '', 'ignorelist' => '',
|
'pmfolders' => '',
| 'pmfolders' => "0**$%%$1**$%%$2**$%%$3**$%%$4**",
|
'notepad' => '', 'showredirect' => 1, 'usernotes' => ''
| 'notepad' => '', 'showredirect' => 1, 'usernotes' => ''
|
Zeile 2324 | Zeile 2368 |
---|
echo $lang->done_step_adminoptions; $adminoptions = file_get_contents(INSTALL_ROOT.'resources/adminoptions.xml');
|
echo $lang->done_step_adminoptions; $adminoptions = file_get_contents(INSTALL_ROOT.'resources/adminoptions.xml');
|
$parser = new XMLParser($adminoptions);
| $parser = create_xml_parser($adminoptions);
|
$parser->collapse_dups = 0; $tree = $parser->get_tree(); $insertmodule = array();
| $parser->collapse_dups = 0; $tree = $parser->get_tree(); $insertmodule = array();
|
Zeile 2401 | Zeile 2445 |
---|
$cache->update_posticons(); $cache->update_spiders(); $cache->update_bannedips();
|
$cache->update_posticons(); $cache->update_spiders(); $cache->update_bannedips();
|
$cache->update_banned();
| |
$cache->update_bannedemails(); $cache->update_birthdays(); $cache->update_groupleaders(); $cache->update_threadprefixes(); $cache->update_forumsdisplay(); $cache->update("plugins", array());
|
$cache->update_bannedemails(); $cache->update_birthdays(); $cache->update_groupleaders(); $cache->update_threadprefixes(); $cache->update_forumsdisplay(); $cache->update("plugins", array());
|
| $cache->update("mostonline", array( 'numusers' => 0, 'time' => 0, ));
|
$cache->update("internal_settings", array('encryption_key' => random_str(32))); $cache->update_default_theme(); $cache->update_reportreasons(true);
| $cache->update("internal_settings", array('encryption_key' => random_str(32))); $cache->update_default_theme(); $cache->update_reportreasons(true);
|
Zeile 2439 | Zeile 2486 |
---|
if(is_writable('./')) { $lock = @fopen('./lock', 'w');
|
if(is_writable('./')) { $lock = @fopen('./lock', 'w');
|
$written = @fwrite($lock, '1'); @fclose($lock); if($written)
| if($lock !== false)
|
{
|
{
|
echo $lang->done_step_locked;
| $written = @fwrite($lock, '1'); @fclose($lock);
if($written) { echo $lang->done_step_locked; }
|
} } if(!$written)
| } } if(!$written)
|
Zeile 2457 | Zeile 2509 |
---|
/** * @param array $config *
|
/** * @param array $config *
|
* @return DB_MySQL|DB_MySQLi|DB_PgSQL|DB_SQLite
| * @return DB_MySQL|DB_MySQLi|DB_PgSQL|DB_SQLite|PostgresPdoDbDriver|MysqlPdoDbDriver
|
*/ function db_connection($config) {
| */ function db_connection($config) {
|
Zeile 2469 | Zeile 2521 |
---|
break; case "pgsql": $db = new DB_PgSQL;
|
break; case "pgsql": $db = new DB_PgSQL;
|
| break; case "pgsql_pdo": $db = new PostgresPdoDbDriver();
|
break; case "mysqli": $db = new DB_MySQLi;
|
break; case "mysqli": $db = new DB_MySQLi;
|
| break; case "mysql_pdo": $db = new MysqlPdoDbDriver();
|
break; default: $db = new DB_MySQL;
| break; default: $db = new DB_MySQL;
|
Zeile 2514 | Zeile 2572 |
---|
$query = $db->simple_select('settings', '*', '', array('order_by' => 'title')); while($setting = $db->fetch_array($query)) {
|
$query = $db->simple_select('settings', '*', '', array('order_by' => 'title')); while($setting = $db->fetch_array($query)) {
|
$setting['value'] = str_replace("\"", "\\\"", $setting['value']);
| $setting['name'] = addcslashes($setting['name'], "\\'"); $setting['value'] = addcslashes($setting['value'], '\\"$');
|
$settings .= "\$settings['{$setting['name']}'] = \"{$setting['value']}\";\n"; } if(!empty($settings))
| $settings .= "\$settings['{$setting['name']}'] = \"{$setting['value']}\";\n"; } if(!empty($settings))
|