Zeile 6 | Zeile 6 |
---|
* Website: http://mybb.com * License: http://mybb.com/about/license *
|
* Website: http://mybb.com * License: http://mybb.com/about/license *
|
* $Id: index.php 5092 2010-07-17 11:09:40Z Huji $
| * $Id$
|
*/
|
*/
|
if(function_exists("unicode_decode")) { // Unicode extension introduced in 6.0 error_reporting(E_ALL ^ E_DEPRECATED ^ E_NOTICE ^ E_STRICT); } elseif(defined("E_DEPRECATED")) { // E_DEPRECATED introduced in 5.3 error_reporting(E_ALL ^ E_DEPRECATED ^ E_NOTICE); } else { error_reporting(E_ALL & ~E_NOTICE); }
| |
@set_time_limit(0);
| @set_time_limit(0);
|
Zeile 36 | Zeile 21 |
---|
{ date_default_timezone_set('GMT'); }
|
{ date_default_timezone_set('GMT'); }
|
| require_once MYBB_ROOT.'inc/class_error.php'; $error_handler = new errorHandler();
|
require_once MYBB_ROOT.'inc/class_core.php'; $mybb = new MyBB;
|
require_once MYBB_ROOT.'inc/class_core.php'; $mybb = new MyBB;
|
require_once MYBB_ROOT.'inc/class_error.php'; $error_handler = new errorHandler();
| |
// Include the files necessary for installation require_once MYBB_ROOT.'inc/class_timers.php';
| // Include the files necessary for installation require_once MYBB_ROOT.'inc/class_timers.php';
|
Zeile 74 | Zeile 59 |
---|
$lang = new MyLanguage(); $lang->set_path(MYBB_ROOT.'install/resources'); $lang->load('language');
|
$lang = new MyLanguage(); $lang->set_path(MYBB_ROOT.'install/resources'); $lang->load('language');
|
|
|
// Prevent any shut down functions from running $done_shutdown = 1;
| // Prevent any shut down functions from running $done_shutdown = 1;
|
Zeile 87 | Zeile 72 |
---|
// Include the installation resources require_once INSTALL_ROOT.'resources/output.php'; $output = new installerOutput;
|
// Include the installation resources require_once INSTALL_ROOT.'resources/output.php'; $output = new installerOutput;
|
|
|
$dboptions = array();
if(function_exists('mysqli_connect'))
| $dboptions = array();
if(function_exists('mysqli_connect'))
|
Zeile 96 | Zeile 81 |
---|
'class' => 'DB_MySQLi', 'title' => 'MySQL Improved', 'short_title' => 'MySQLi',
|
'class' => 'DB_MySQLi', 'title' => 'MySQL Improved', 'short_title' => 'MySQLi',
|
'structure_file' => 'mysql_db_tables.php', 'population_file' => 'mysql_db_inserts.php' ); }
| 'structure_file' => 'mysql_db_tables.php', 'population_file' => 'mysql_db_inserts.php' ); }
|
if(function_exists('mysql_connect')) { $dboptions['mysql'] = array(
| if(function_exists('mysql_connect')) { $dboptions['mysql'] = array(
|
Zeile 162 | Zeile 147 |
---|
'adminuser' => $lang->admin_user, 'final' => $lang->finish_setup, );
|
'adminuser' => $lang->admin_user, 'final' => $lang->finish_setup, );
|
|
|
if(!isset($mybb->input['action'])) { $mybb->input['action'] = 'intro'; }
|
if(!isset($mybb->input['action'])) { $mybb->input['action'] = 'intro'; }
|
|
|
switch($mybb->input['action']) { case 'license':
| switch($mybb->input['action']) { case 'license':
|
Zeile 200 | Zeile 185 |
---|
default: intro(); break;
|
default: intro(); break;
|
} }
| } }
|
function intro() { global $output, $mybb, $lang;
|
function intro() { global $output, $mybb, $lang;
|
|
|
$output->print_header($lang->welcome, 'welcome'); if(strpos(strtolower($_SERVER['PHP_SELF']), "upload/") !== false)
|
$output->print_header($lang->welcome, 'welcome'); if(strpos(strtolower($_SERVER['PHP_SELF']), "upload/") !== false)
|
{
| {
|
echo $lang->sprintf($lang->mybb_incorrect_folder); } echo $lang->sprintf($lang->welcome_step, $mybb->version); $output->print_footer('license'); }
|
echo $lang->sprintf($lang->mybb_incorrect_folder); } echo $lang->sprintf($lang->welcome_step, $mybb->version); $output->print_footer('license'); }
|
|
|
function license_agreement() { global $output, $lang, $mybb;
|
function license_agreement() { global $output, $lang, $mybb;
|
|
|
ob_start(); $output->print_header($lang->license_agreement, 'license');
|
ob_start(); $output->print_header($lang->license_agreement, 'license');
|
|
|
if($mybb->input['allow_anonymous_info'] == 1) { require_once MYBB_ROOT."inc/functions_serverstats.php"; $build_server_stats = build_server_stats(1, '', $mybb->version_code, $mybb->config['database']['encoding']);
|
if($mybb->input['allow_anonymous_info'] == 1) { require_once MYBB_ROOT."inc/functions_serverstats.php"; $build_server_stats = build_server_stats(1, '', $mybb->version_code, $mybb->config['database']['encoding']);
|
|
|
if($build_server_stats['info_sent_success'] == false) { echo $build_server_stats['info_image'];
| if($build_server_stats['info_sent_success'] == false) { echo $build_server_stats['info_image'];
|
Zeile 1039 | Zeile 1024 |
---|
echo $lang->req_step_top; $errors = array(); $showerror = 0;
|
echo $lang->req_step_top; $errors = array(); $showerror = 0;
|
|
|
if(!file_exists(MYBB_ROOT."/inc/config.php")) { if(!@rename(MYBB_ROOT."/inc/config.default.php", MYBB_ROOT."/inc/config.php"))
| if(!file_exists(MYBB_ROOT."/inc/config.php")) { if(!@rename(MYBB_ROOT."/inc/config.default.php", MYBB_ROOT."/inc/config.php"))
|
Zeile 1064 | Zeile 1049 |
---|
{ $phpversion = $lang->sprintf($lang->req_step_span_pass, PHP_VERSION); }
|
{ $phpversion = $lang->sprintf($lang->req_step_span_pass, PHP_VERSION); }
|
|
|
if(function_exists('mb_detect_encoding')) { $mboptions[] = $lang->multi_byte; }
|
if(function_exists('mb_detect_encoding')) { $mboptions[] = $lang->multi_byte; }
|
|
|
if(function_exists('iconv')) { $mboptions[] = 'iconv'; }
|
if(function_exists('iconv')) { $mboptions[] = 'iconv'; }
|
|
|
// Check Multibyte extensions if(count($mboptions) < 1) {
| // Check Multibyte extensions if(count($mboptions) < 1) {
|
Zeile 1083 | Zeile 1068 |
---|
else { $mbstatus = implode(', ', $mboptions);
|
else { $mbstatus = implode(', ', $mboptions);
|
}
| }
|
// Check database engines if(count($dboptions) < 1)
| // Check database engines if(count($dboptions) < 1)
|
Zeile 1091 | Zeile 1076 |
---|
$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_dboptions); $dbsupportlist = $lang->sprintf($lang->req_step_span_fail, $lang->none); $showerror = 1;
|
$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_dboptions); $dbsupportlist = $lang->sprintf($lang->req_step_span_fail, $lang->none); $showerror = 1;
|
}
| }
|
else { foreach($dboptions as $dboption)
| else { foreach($dboptions as $dboption)
|
Zeile 1106 | Zeile 1091 |
---|
{ $errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_xmlsupport); $xmlstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_installed);
|
{ $errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_xmlsupport); $xmlstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_installed);
|
$showerror = 1; }
| $showerror = 1; }
|
else { $xmlstatus = $lang->sprintf($lang->req_step_span_pass, $lang->installed);
| else { $xmlstatus = $lang->sprintf($lang->req_step_span_pass, $lang->installed);
|
Zeile 1175 | Zeile 1160 |
---|
@my_chmod(MYBB_ROOT.'uploads', '0777'); @my_chmod(MYBB_ROOT.'uploads/test.write', '0777'); @unlink(MYBB_ROOT.'uploads/test.write');
|
@my_chmod(MYBB_ROOT.'uploads', '0777'); @my_chmod(MYBB_ROOT.'uploads/test.write', '0777'); @unlink(MYBB_ROOT.'uploads/test.write');
|
}
| }
|
// Check avatar directory is writable $avatarswritable = @fopen(MYBB_ROOT.'uploads/avatars/test.write', 'w');
| // Check avatar directory is writable $avatarswritable = @fopen(MYBB_ROOT.'uploads/avatars/test.write', 'w');
|
Zeile 1216 | Zeile 1201 |
---|
function database_info() { global $output, $dbinfo, $errors, $mybb, $dboptions, $lang;
|
function database_info() { global $output, $dbinfo, $errors, $mybb, $dboptions, $lang;
|
|
|
$mybb->input['action'] = 'database_info'; $output->print_header($lang->db_config, 'dbconfig');
| $mybb->input['action'] = 'database_info'; $output->print_header($lang->db_config, 'dbconfig');
|
Zeile 1250 | Zeile 1235 |
---|
{ echo $lang->db_step_config_db; }
|
{ echo $lang->db_step_config_db; }
|
|
|
// Loop through database engines foreach($dboptions as $dbfile => $dbtype) {
| // Loop through database engines foreach($dboptions as $dbfile => $dbtype) {
|
Zeile 1299 | Zeile 1284 |
---|
<tr> <th colspan=\"2\" class=\"first last\">{$dbtype['title']} {$lang->database_settings}</th> </tr>";
|
<tr> <th colspan=\"2\" class=\"first last\">{$dbtype['title']} {$lang->database_settings}</th> </tr>";
|
|
|
// SQLite gets some special settings if($dbfile == 'sqlite')
|
// SQLite gets some special settings if($dbfile == 'sqlite')
|
{ $db_info[$dbfile] .= "
| { $db_info[$dbfile] .= "
|
<tr class=\"alt_row\"> <td class=\"first\"><label for=\"config_{$dbfile}_dbname\">{$lang->database_path}</label></td> <td class=\"last alt_col\"><input type=\"text\" class=\"text_input\" name=\"config[{$dbfile}][dbname]\" id=\"config_{$dbfile}_dbname\" value=\"".htmlspecialchars_uni($mybb->input['config'][$dbfile]['dbname'])."\" /></td>
| <tr class=\"alt_row\"> <td class=\"first\"><label for=\"config_{$dbfile}_dbname\">{$lang->database_path}</label></td> <td class=\"last alt_col\"><input type=\"text\" class=\"text_input\" name=\"config[{$dbfile}][dbname]\" id=\"config_{$dbfile}_dbname\" value=\"".htmlspecialchars_uni($mybb->input['config'][$dbfile]['dbname'])."\" /></td>
|
Zeile 1311 | Zeile 1296 |
---|
} // Others get db host, username, password etc else
|
} // Others get db host, username, password etc else
|
{ $db_info[$dbfile] .= "
| { $db_info[$dbfile] .= "
|
<tr class=\"alt_row\"> <td class=\"first\"><label for=\"config_{$dbfile}_dbhost\">{$lang->database_host}</label></td> <td class=\"last alt_col\"><input type=\"text\" class=\"text_input\" name=\"config[{$dbfile}][dbhost]\" id=\"config_{$dbfile}_dbhost\" value=\"".htmlspecialchars_uni($mybb->input['config'][$dbfile]['dbhost'])."\" /></td>
|
<tr class=\"alt_row\"> <td class=\"first\"><label for=\"config_{$dbfile}_dbhost\">{$lang->database_host}</label></td> <td class=\"last alt_col\"><input type=\"text\" class=\"text_input\" name=\"config[{$dbfile}][dbhost]\" id=\"config_{$dbfile}_dbhost\" value=\"".htmlspecialchars_uni($mybb->input['config'][$dbfile]['dbhost'])."\" /></td>
|
</tr>
| </tr>
|
<tr> <td class=\"first\"><label for=\"config_{$dbfile}_dbuser\">{$lang->database_user}</label></td> <td class=\"last alt_col\"><input type=\"text\" class=\"text_input\" name=\"config[{$dbfile}][dbuser]\" id=\"config_{$dbfile}_dbuser\" value=\"".htmlspecialchars_uni($mybb->input['config'][$dbfile]['dbuser'])."\" /></td>
| <tr> <td class=\"first\"><label for=\"config_{$dbfile}_dbuser\">{$lang->database_user}</label></td> <td class=\"last alt_col\"><input type=\"text\" class=\"text_input\" name=\"config[{$dbfile}][dbuser]\" id=\"config_{$dbfile}_dbuser\" value=\"".htmlspecialchars_uni($mybb->input['config'][$dbfile]['dbuser'])."\" /></td>
|
Zeile 1330 | Zeile 1315 |
---|
<td class=\"last alt_col\"><input type=\"text\" class=\"text_input\" name=\"config[{$dbfile}][dbname]\" id=\"config_{$dbfile}_dbname\" value=\"".htmlspecialchars_uni($mybb->input['config'][$dbfile]['dbname'])."\" /></td> </tr>"; }
|
<td class=\"last alt_col\"><input type=\"text\" class=\"text_input\" name=\"config[{$dbfile}][dbname]\" id=\"config_{$dbfile}_dbname\" value=\"".htmlspecialchars_uni($mybb->input['config'][$dbfile]['dbname'])."\" /></td> </tr>"; }
|
|
|
// Now we're up to table settings $db_info[$dbfile] .= " <tr>
| // Now we're up to table settings $db_info[$dbfile] .= " <tr>
|
Zeile 1341 | Zeile 1326 |
---|
<td class=\"last alt_col\"><input type=\"text\" class=\"text_input\" name=\"config[{$dbfile}][tableprefix]\" id=\"config_{$dbfile}_tableprefix\" value=\"".htmlspecialchars_uni($mybb->input['config'][$dbfile]['tableprefix'])."\" /></td> </tr> ";
|
<td class=\"last alt_col\"><input type=\"text\" class=\"text_input\" name=\"config[{$dbfile}][tableprefix]\" id=\"config_{$dbfile}_tableprefix\" value=\"".htmlspecialchars_uni($mybb->input['config'][$dbfile]['tableprefix'])."\" /></td> </tr> ";
|
|
|
// Encoding selection only if supported if(is_array($encodings)) {
| // Encoding selection only if supported if(is_array($encodings)) {
|
Zeile 1374 | Zeile 1359 |
---|
function create_tables() { global $output, $dbinfo, $errors, $mybb, $dboptions, $lang;
|
function create_tables() { global $output, $dbinfo, $errors, $mybb, $dboptions, $lang;
|
|
|
if(!file_exists(MYBB_ROOT."inc/db_{$mybb->input['dbengine']}.php")) { $errors[] = $lang->db_step_error_invalidengine; database_info(); }
|
if(!file_exists(MYBB_ROOT."inc/db_{$mybb->input['dbengine']}.php")) { $errors[] = $lang->db_step_error_invalidengine; database_info(); }
|
|
|
$config = $mybb->input['config'][$mybb->input['dbengine']];
|
$config = $mybb->input['config'][$mybb->input['dbengine']];
|
|
|
if(strstr($mybb->input['dbengine'], "sqlite") !== false) {
|
if(strstr($mybb->input['dbengine'], "sqlite") !== false) {
|
if(strstr($config['dbname'], "./") !== false || strstr($config['dbname'], "../") !== false)
| if(strstr($config['dbname'], "./") !== false || strstr($config['dbname'], "../") !== false || empty($config['dbname']))
|
{ $errors[] = $lang->db_step_error_sqlite_invalid_dbname; database_info();
| { $errors[] = $lang->db_step_error_sqlite_invalid_dbname; database_info();
|
Zeile 1428 | Zeile 1413 |
---|
{ $errors[] = $lang->sprintf($lang->db_step_error_nodbname, $config['dbname']); }
|
{ $errors[] = $lang->sprintf($lang->db_step_error_nodbname, $config['dbname']); }
|
|
|
// 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; }
|
// 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; }
|
|
|
// Needs to be smaller then 64 characters total (MySQL Limit). // This allows 24 characters for the actual table name, which should be sufficient. if(strlen($config['tableprefix']) > 40) { $errors[] = $lang->db_step_error_tableprefix_too_long;
|
// Needs to be smaller then 64 characters total (MySQL Limit). // This allows 24 characters for the actual table name, which should be sufficient. if(strlen($config['tableprefix']) > 40) { $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', '<')) { $errors[] = $lang->db_step_error_utf8mb4_error; }
|
if(is_array($errors)) { database_info(); }
|
if(is_array($errors)) { database_info(); }
|
|
|
// Decide if we can use a database encoding or not if($db->fetch_db_charsets() != false) {
| // Decide if we can use a database encoding or not if($db->fetch_db_charsets() != false) {
|
Zeile 1456 | Zeile 1446 |
---|
{ $db_encoding = "// \$config['database']['encoding'] = '{$config['encoding']}';"; }
|
{ $db_encoding = "// \$config['database']['encoding'] = '{$config['encoding']}';"; }
|
| $config['dbpass'] = addslashes($config['dbpass']);
|
// Write the configuration file $configdata = "<?php /** * Database configuration *
|
// Write the configuration file $configdata = "<?php /** * Database configuration *
|
* Please see the MyBB Wiki for advanced
| * Please see the MyBB Docs for advanced
|
* database configuration for larger installations
|
* database configuration for larger installations
|
* http://wiki.mybboard.net/ */
| * http://docs.mybb.com/ */
|
\$config['database']['type'] = '{$mybb->input['dbengine']}'; \$config['database']['database'] = '{$config['dbname']}'; \$config['database']['table_prefix'] = '{$config['tableprefix']}';
|
\$config['database']['type'] = '{$mybb->input['dbengine']}'; \$config['database']['database'] = '{$config['dbname']}'; \$config['database']['table_prefix'] = '{$config['tableprefix']}';
|
|
|
\$config['database']['hostname'] = '{$config['dbhost']}'; \$config['database']['username'] = '{$config['dbuser']}'; \$config['database']['password'] = '{$config['dbpass']}';
|
\$config['database']['hostname'] = '{$config['dbhost']}'; \$config['database']['username'] = '{$config['dbuser']}'; \$config['database']['password'] = '{$config['dbpass']}';
|
|
|
/** * 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.
|
/** * 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';
| */
\$config['admin_dir'] = 'admin';
|
/** * Hide all Admin CP links
| /** * Hide all Admin CP links
|
Zeile 1531 | Zeile 1523 |
---|
/** * Database Encoding
|
/** * Database Encoding
|
* If you wish to set an encoding for MyBB uncomment
| * 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
| * 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
|
Zeile 1556 | Zeile 1548 |
---|
'user_mail_logs' => 180, // User mail logs 'promotion_logs' => 180 // Promotion logs );
|
'user_mail_logs' => 180, // User mail logs 'promotion_logs' => 180 // Promotion logs );
|
?>";
| ?>";
|
$file = fopen(MYBB_ROOT.'inc/config.php', 'w'); fwrite($file, $configdata); fclose($file);
|
$file = fopen(MYBB_ROOT.'inc/config.php', 'w'); fwrite($file, $configdata); fclose($file);
|
|
|
// Error reporting back on $db->error_reporting = 1;
|
// Error reporting back on $db->error_reporting = 1;
|
|
|
$output->print_header($lang->table_creation, 'createtables'); echo $lang->sprintf($lang->tablecreate_step_connected, $dboptions[$mybb->input['dbengine']]['short_title'], $db->get_version());
|
$output->print_header($lang->table_creation, 'createtables'); echo $lang->sprintf($lang->tablecreate_step_connected, $dboptions[$mybb->input['dbengine']]['short_title'], $db->get_version());
|
|
|
if($dboptions[$mybb->input['dbengine']]['structure_file']) { $structure_file = $dboptions[$mybb->input['dbengine']]['structure_file'];
| if($dboptions[$mybb->input['dbengine']]['structure_file']) { $structure_file = $dboptions[$mybb->input['dbengine']]['structure_file'];
|
Zeile 1625 | Zeile 1617 |
---|
$db->query($val); }
|
$db->query($val); }
|
// Update the fid sequence for PgSQL
| // Update the sequences for PgSQL
|
if($config['database']['type'] == "pgsql") {
|
if($config['database']['type'] == "pgsql") {
|
$db->query("ALTER SEQUENCE ".$config['database']['table_prefix']."forums_fid_seq RESTART WITH 3");
| $db->query("SELECT setval('{$config['database']['table_prefix']}attachtypes_atid_seq', (SELECT max(atid) FROM {$config['database']['table_prefix']}attachtypes));"); $db->query("SELECT setval('{$config['database']['table_prefix']}forums_fid_seq', (SELECT max(fid) FROM {$config['database']['table_prefix']}forums));"); $db->query("SELECT setval('{$config['database']['table_prefix']}helpdocs_hid_seq', (SELECT max(hid) FROM {$config['database']['table_prefix']}helpdocs));"); $db->query("SELECT setval('{$config['database']['table_prefix']}helpsections_sid_seq', (SELECT max(sid) FROM {$config['database']['table_prefix']}helpsections));"); $db->query("SELECT setval('{$config['database']['table_prefix']}icons_iid_seq', (SELECT max(iid) FROM {$config['database']['table_prefix']}icons));"); $db->query("SELECT setval('{$config['database']['table_prefix']}profilefields_fid_seq', (SELECT max(fid) FROM {$config['database']['table_prefix']}profilefields));"); $db->query("SELECT setval('{$config['database']['table_prefix']}smilies_sid_seq', (SELECT max(sid) FROM {$config['database']['table_prefix']}smilies));"); $db->query("SELECT setval('{$config['database']['table_prefix']}spiders_sid_seq', (SELECT max(sid) FROM {$config['database']['table_prefix']}spiders));"); $db->query("SELECT setval('{$config['database']['table_prefix']}templategroups_gid_seq', (SELECT max(gid) FROM {$config['database']['table_prefix']}templategroups));");
|
}
echo $lang->populate_step_inserted;
| }
echo $lang->populate_step_inserted;
|
Zeile 1662 | Zeile 1662 |
---|
$contents = @file_get_contents(INSTALL_ROOT.'resources/mybb_theme.xml'); if(file_exists(MYBB_ROOT.$mybb->config['admin_dir']."/inc/functions_themes.php")) {
|
$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.$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
| require_once MYBB_ROOT."admin/inc/functions_themes.php"; } else
|
Zeile 1674 | Zeile 1676 |
---|
} $theme_id = import_theme_xml($contents, array("templateset" => -2, "version_compat" => 1)); $tid = build_new_theme("Default", null, $theme_id);
|
} $theme_id = import_theme_xml($contents, array("templateset" => -2, "version_compat" => 1)); $tid = build_new_theme("Default", null, $theme_id);
|
|
|
// Update our properties template set to the correct one $query = $db->simple_select("themes", "properties", "tid='{$tid}'", array('limit' => 1)); $properties = unserialize($db->fetch_field($query, "properties")); $properties['templateset'] = $templateset; unset($properties['inherited']['templateset']);
|
// Update our properties template set to the correct one $query = $db->simple_select("themes", "properties", "tid='{$tid}'", array('limit' => 1)); $properties = unserialize($db->fetch_field($query, "properties")); $properties['templateset'] = $templateset; unset($properties['inherited']['templateset']);
|
$db->update_query("themes", array("def" => 1, "properties" => $db->escape_string(serialize($properties))), "tid='{$tid}'");
| $db->update_query("themes", array("def" => 1, "properties" => $db->escape_string(serialize($properties))), "tid='{$tid}'");
|
echo $lang->theme_step_imported; $output->print_footer('configuration'); }
|
echo $lang->theme_step_imported; $output->print_footer('configuration'); }
|
|
|
function configure() { global $output, $mybb, $errors, $lang;
|
function configure() { global $output, $mybb, $errors, $lang;
|
|
|
$output->print_header($lang->board_config, 'config');
// If board configuration errors
| $output->print_header($lang->board_config, 'config');
// If board configuration errors
|
Zeile 1699 | Zeile 1701 |
---|
$error_list = error_list($errors); echo $lang->sprintf($lang->config_step_error_config, $error_list);
|
$error_list = error_list($errors); echo $lang->sprintf($lang->config_step_error_config, $error_list);
|
$bbname = htmlspecialchars($mybb->input['bbname']); $bburl = htmlspecialchars($mybb->input['bburl']); $websitename = htmlspecialchars($mybb->input['websitename']); $websiteurl = htmlspecialchars($mybb->input['websiteurl']); $cookiedomain = htmlspecialchars($mybb->input['cookiedomain']); $cookiepath = htmlspecialchars($mybb->input['cookiepath']); $contactemail = htmlspecialchars($mybb->input['contactemail']);
| $bbname = htmlspecialchars_uni($mybb->input['bbname']); $bburl = htmlspecialchars_uni($mybb->input['bburl']); $websitename = htmlspecialchars_uni($mybb->input['websitename']); $websiteurl = htmlspecialchars_uni($mybb->input['websiteurl']); $cookiedomain = htmlspecialchars_uni($mybb->input['cookiedomain']); $cookiepath = htmlspecialchars_uni($mybb->input['cookiepath']); $contactemail = htmlspecialchars_uni($mybb->input['contactemail']);
|
} else {
| } else {
|
Zeile 1715 | Zeile 1717 |
---|
$websiteurl = $hostname.'/'; $websitename = 'Your Website'; $contactemail = '';
|
$websiteurl = $hostname.'/'; $websitename = 'Your Website'; $contactemail = '';
|
| $protocol = "http://"; if((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != "off") || substr($bburl, 0, 5) == "https") { $protocol = "https://"; }
|
// Attempt auto-detection if($_SERVER['HTTP_HOST'])
|
// Attempt auto-detection if($_SERVER['HTTP_HOST'])
|
{ $hostname = 'http://'.$_SERVER['HTTP_HOST'];
| { $hostname = $protocol.$_SERVER['HTTP_HOST'];
|
$cookiedomain = '.'.$_SERVER['HTTP_HOST'];
|
$cookiedomain = '.'.$_SERVER['HTTP_HOST'];
|
}
| }
|
elseif($_SERVER['SERVER_NAME']) {
|
elseif($_SERVER['SERVER_NAME']) {
|
$hostname = 'http://'.$_SERVER['SERVER_NAME'];
| $hostname = $protocol.$_SERVER['SERVER_NAME'];
|
$cookiedomain = '.'.$_SERVER['SERVER_NAME']; }
|
$cookiedomain = '.'.$_SERVER['SERVER_NAME']; }
|
|
|
if(substr($cookiedomain, 0, 5) == ".www.") { $cookiedomain = my_substr($cookiedomain, 4);
|
if(substr($cookiedomain, 0, 5) == ".www.") { $cookiedomain = my_substr($cookiedomain, 4);
|
} if($_SERVER['HTTP_HOST'] == 'localhost' || $_SERVER['SERVER_NAME'] == 'localhost')
| }
if($_SERVER['HTTP_HOST'] == 'localhost' || $_SERVER['SERVER_NAME'] == 'localhost' || ip2long($_SERVER['SERVER_NAME']) != false)
|
{ $cookiedomain = ''; }
|
{ $cookiedomain = ''; }
|
|
|
if($_SERVER['SERVER_PORT'] && $_SERVER['SERVER_PORT'] != 80 && !preg_match("#:[0-9]#i", $hostname)) { $hostname .= ':'.$_SERVER['SERVER_PORT']; }
|
if($_SERVER['SERVER_PORT'] && $_SERVER['SERVER_PORT'] != 80 && !preg_match("#:[0-9]#i", $hostname)) { $hostname .= ':'.$_SERVER['SERVER_PORT']; }
|
|
|
$currentlocation = get_current_location(); if($currentlocation) {
| $currentlocation = get_current_location(); if($currentlocation) {
|
Zeile 1756 | Zeile 1765 |
---|
$cookiepath = my_substr($currentlocation, 0, $pos).'/'; } }
|
$cookiepath = my_substr($currentlocation, 0, $pos).'/'; } }
|
|
|
$currentscript = $hostname.get_current_location();
|
$currentscript = $hostname.get_current_location();
|
|
|
if($currentscript) { $bburl = my_substr($currentscript, 0, my_strpos($currentscript, '/install/')); }
|
if($currentscript) { $bburl = my_substr($currentscript, 0, my_strpos($currentscript, '/install/')); }
|
|
|
if($_SERVER['SERVER_ADMIN']) { $contactemail = $_SERVER['SERVER_ADMIN'];
| if($_SERVER['SERVER_ADMIN']) { $contactemail = $_SERVER['SERVER_ADMIN'];
|
Zeile 1777 | Zeile 1786 |
---|
function create_admin_user() { global $output, $mybb, $errors, $db, $lang;
|
function create_admin_user() { global $output, $mybb, $errors, $db, $lang;
|
|
|
$mybb->input['action'] = "adminuser"; // If no errors then check for errors from last step if(!is_array($errors))
| $mybb->input['action'] = "adminuser"; // If no errors then check for errors from last step if(!is_array($errors))
|
Zeile 1837 | Zeile 1846 |
---|
'optionscode' => $db->escape_string($setting['optionscode'][0]['value']), 'value' => $db->escape_string($setting['settingvalue'][0]['value']), 'disporder' => intval($setting['disporder'][0]['value']),
|
'optionscode' => $db->escape_string($setting['optionscode'][0]['value']), 'value' => $db->escape_string($setting['settingvalue'][0]['value']), 'disporder' => intval($setting['disporder'][0]['value']),
|
'gid' => $gid
| 'gid' => $gid, 'isdefault' => 1
|
);
$db->insert_query('settings', $settingdata);
| );
$db->insert_query('settings', $settingdata);
|
Zeile 1906 | Zeile 1916 |
---|
{ $fields[] = $field['attributes']['name']; }
|
{ $fields[] = $field['attributes']['name']; }
|
|
|
$conditions = array();
|
$conditions = array();
|
| |
if(is_array($view['conditions'][0]['condition']))
|
if(is_array($view['conditions'][0]['condition']))
|
{
| {
|
foreach($view['conditions'][0]['condition'] as $condition)
|
foreach($view['conditions'][0]['condition'] as $condition)
|
{
| {
|
if(!$condition['value']) continue; if($condition['attributes']['is_serialized'] == 1) { $condition['value'] = unserialize($condition['value']); } $conditions[$condition['attributes']['name']] = $condition['value'];
|
if(!$condition['value']) continue; if($condition['attributes']['is_serialized'] == 1) { $condition['value'] = unserialize($condition['value']); } $conditions[$condition['attributes']['name']] = $condition['value'];
|
| } }
$custom_profile_fields = array(); if(is_array($view['custom_profile_fields'][0]['field'])) { foreach($view['custom_profile_fields'][0]['field'] as $field) { $custom_profile_fields[] = $field['attributes']['name'];
|
} }
| } }
|
Zeile 1928 | Zeile 1947 |
---|
"title" => $db->escape_string($view['title'][0]['value']), "fields" => $db->escape_string(serialize($fields)), "conditions" => $db->escape_string(serialize($conditions)),
|
"title" => $db->escape_string($view['title'][0]['value']), "fields" => $db->escape_string(serialize($fields)), "conditions" => $db->escape_string(serialize($conditions)),
|
| "custom_profile_fields" => $db->escape_string(serialize($custom_profile_fields)),
|
"sortby" => $db->escape_string($view['sortby'][0]['value']), "sortorder" => $db->escape_string($view['sortorder'][0]['value']), "perpage" => intval($view['perpage'][0]['value']),
| "sortby" => $db->escape_string($view['sortby'][0]['value']), "sortorder" => $db->escape_string($view['sortorder'][0]['value']), "perpage" => intval($view['perpage'][0]['value']),
|
Zeile 1973 | Zeile 1993 |
---|
require MYBB_ROOT.'inc/config.php'; $db = db_connection($config);
|
require MYBB_ROOT.'inc/config.php'; $db = db_connection($config);
|
|
|
require MYBB_ROOT.'inc/settings.php'; $mybb->settings = &$settings;
ob_start(); $output->print_header($lang->finish_setup, 'finish');
|
require MYBB_ROOT.'inc/settings.php'; $mybb->settings = &$settings;
ob_start(); $output->print_header($lang->finish_setup, 'finish');
|
|
|
echo $lang->done_step_usergroupsinserted;
|
echo $lang->done_step_usergroupsinserted;
|
// Insert all of our user groups from the XML file $settings = file_get_contents(INSTALL_ROOT.'resources/usergroups.xml'); $parser = new XMLParser($settings);
| // 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->collapse_dups = 0; $tree = $parser->get_tree();
| $parser->collapse_dups = 0; $tree = $parser->get_tree();
|
Zeile 2000 | Zeile 2020 |
---|
{ continue; }
|
{ continue; }
|
|
|
$new_group[$key] = $db->escape_string($value[0]['value']); } $db->insert_query("usergroups", $new_group, false);
|
$new_group[$key] = $db->escape_string($value[0]['value']); } $db->insert_query("usergroups", $new_group, false);
|
|
|
// If this group can access the admin CP and we haven't established the admin group - set it (just in case we ever change IDs) if($new_group['cancp'] == 1 && !$admin_gid) { $admin_gid = $usergroup['gid'][0]['value']; } $group_count++;
|
// If this group can access the admin CP and we haven't established the admin group - set it (just in case we ever change IDs) if($new_group['cancp'] == 1 && !$admin_gid) { $admin_gid = $usergroup['gid'][0]['value']; } $group_count++;
|
} echo $lang->done . '</p>';
| }
// Restart usergroup sequence with correct # of groups if($config['database']['type'] == "pgsql") { $db->query("SELECT setval('{$config['database']['table_prefix']}usergroups_gid_seq', (SELECT max(gid) FROM {$config['database']['table_prefix']}usergroups));"); }
echo $lang->done . '</p>';
|
echo $lang->done_step_admincreated; $now = TIME_NOW; $salt = random_str();
| echo $lang->done_step_admincreated; $now = TIME_NOW; $salt = random_str();
|
Zeile 2075 | Zeile 2102 |
---|
$parser->collapse_dups = 0; $tree = $parser->get_tree(); $insertmodule = array();
|
$parser->collapse_dups = 0; $tree = $parser->get_tree(); $insertmodule = array();
|
|
|
$db->delete_query("adminoptions");
|
$db->delete_query("adminoptions");
|
|
|
// Insert all the admin permissions foreach($tree['adminoptions'][0]['user'] as $users)
|
// Insert all the admin permissions foreach($tree['adminoptions'][0]['user'] as $users)
|
{
| {
|
$uid = $users['attributes']['uid'];
|
$uid = $users['attributes']['uid'];
|
|
|
foreach($users['permissions'][0]['module'] as $module) { foreach($module['permission'] as $permission) { $insertmodule[$module['attributes']['name']][$permission['attributes']['name']] = $permission['value']; }
|
foreach($users['permissions'][0]['module'] as $module) { foreach($module['permission'] as $permission) { $insertmodule[$module['attributes']['name']][$permission['attributes']['name']] = $permission['value']; }
|
}
| }
|
$defaultviews = array(); foreach($users['defaultviews'][0]['view'] as $view) { $defaultviews[$view['attributes']['type']] = $view['value']; }
|
$defaultviews = array(); foreach($users['defaultviews'][0]['view'] as $view) { $defaultviews[$view['attributes']['type']] = $view['value']; }
|
|
|
$adminoptiondata = array( 'uid' => intval($uid), 'cpstyle' => '',
| $adminoptiondata = array( 'uid' => intval($uid), 'cpstyle' => '',
|
Zeile 2126 | Zeile 2153 |
---|
{ $db->create_fulltext_index('posts', 'message'); }
|
{ $db->create_fulltext_index('posts', 'message'); }
|
// Register a shutdown function which actually tests if this functionality is working add_shutdown('test_shutdown_function');
| |
echo $lang->done_step_cachebuilding; require_once MYBB_ROOT.'inc/class_datacache.php';
| echo $lang->done_step_cachebuilding; require_once MYBB_ROOT.'inc/class_datacache.php';
|
Zeile 2151 | Zeile 2175 |
---|
$cache->update_spiders(); $cache->update_bannedips(); $cache->update_banned();
|
$cache->update_spiders(); $cache->update_bannedips(); $cache->update_banned();
|
| $cache->update_bannedemails();
|
$cache->update_birthdays(); $cache->update_groupleaders();
|
$cache->update_birthdays(); $cache->update_groupleaders();
|
| $cache->update_threadprefixes(); $cache->update_forumsdisplay();
|
$cache->update("plugins", array()); $cache->update("internal_settings", array('encryption_key' => random_str(32)));
|
$cache->update("plugins", array()); $cache->update("internal_settings", array('encryption_key' => random_str(32)));
|
|
|
$version_history = array(); $dh = opendir(INSTALL_ROOT."resources"); while(($file = readdir($dh)) !== false)
|
$version_history = array(); $dh = opendir(INSTALL_ROOT."resources"); while(($file = readdir($dh)) !== false)
|
{
| {
|
if(preg_match("#upgrade([0-9]+).php$#i", $file, $match)) { $version_history[$match[1]] = $match[1];
| if(preg_match("#upgrade([0-9]+).php$#i", $file, $match)) { $version_history[$match[1]] = $match[1];
|
Zeile 2167 | Zeile 2194 |
---|
} sort($version_history, SORT_NUMERIC); $cache->update("version_history", $version_history);
|
} sort($version_history, SORT_NUMERIC); $cache->update("version_history", $version_history);
|
echo $lang->done . '</p>';
| echo $lang->done . '</p>';
|
echo $lang->done_step_success;
| echo $lang->done_step_success;
|
Zeile 2182 | Zeile 2209 |
---|
{ echo $lang->done_step_locked; }
|
{ echo $lang->done_step_locked; }
|
}
| }
|
if(!$written) { echo $lang->done_step_dirdelete;
|
if(!$written) { echo $lang->done_step_dirdelete;
|
} echo $lang->done_subscribe_mailing;
| } echo $lang->done_whats_next;
|
$output->print_footer(''); }
| $output->print_footer(''); }
|
Zeile 2208 | Zeile 2235 |
---|
default: $db = new DB_MySQL; }
|
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'];
|
// 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'];
|
|
|
return $db;
|
return $db;
|
}
| }
|
function error_list($array)
|
function error_list($array)
|
{
| {
|
$string = "<ul>\n"; foreach($array as $error) {
| $string = "<ul>\n"; foreach($array as $error) {
|
Zeile 2228 | Zeile 2255 |
---|
} $string .= "</ul>\n"; return $string;
|
} $string .= "</ul>\n"; return $string;
|
}
| }
function write_settings() { global $db;
|
|
|
function write_settings() { global $db;
| |
$query = $db->simple_select('settings', '*', '', array('order_by' => 'title')); while($setting = $db->fetch_array($query)) { $setting['value'] = str_replace("\"", "\\\"", $setting['value']); $settings .= "\$settings['{$setting['name']}'] = \"{$setting['value']}\";\n";
|
$query = $db->simple_select('settings', '*', '', array('order_by' => 'title')); while($setting = $db->fetch_array($query)) { $setting['value'] = str_replace("\"", "\\\"", $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?>";
| if(!empty($settings)) { $settings = "<?php\n/*********************************\ \n DO NOT EDIT THIS FILE, PLEASE USE\n THE SETTINGS EDITOR\n\*********************************/\n\n{$settings}\n?>";
|
Zeile 2247 | Zeile 2274 |
---|
fwrite($file, $settings); fclose($file); }
|
fwrite($file, $settings); fclose($file); }
|
}
function test_shutdown_function() { global $db; $db->update_query("settings", array('value' => 1), "name='useshutdownfunc'"); write_settings();
| |
} ?>
| } ?>
|