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 5404 2011-03-19 01:17:10Z jammerx2 $
| * $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 91 | Zeile 76 |
---|
$dboptions = array();
if(function_exists('mysqli_connect'))
|
$dboptions = array();
if(function_exists('mysqli_connect'))
|
{
| {
|
$dboptions['mysqli'] = array( 'class' => 'DB_MySQLi', 'title' => 'MySQL Improved',
| $dboptions['mysqli'] = array( 'class' => 'DB_MySQLi', 'title' => 'MySQL Improved',
|
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 178 | Zeile 163 |
---|
break; case 'database_info': database_info();
|
break; case 'database_info': database_info();
|
break;
| break;
|
case 'create_tables': create_tables(); break;
| case 'create_tables': create_tables(); break;
|
Zeile 193 | Zeile 178 |
---|
break; case 'adminuser'; create_admin_user();
|
break; case 'adminuser'; create_admin_user();
|
break;
| break;
|
case 'final': install_done();
|
case 'final': install_done();
|
break;
| break;
|
default: intro(); break;
|
default: intro(); break;
|
}
| }
|
}
function intro()
|
}
function intro()
|
{
| {
|
global $output, $mybb, $lang;
|
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);
| echo $lang->sprintf($lang->mybb_incorrect_folder); } echo $lang->sprintf($lang->welcome_step, $mybb->version);
|
Zeile 219 | Zeile 204 |
---|
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 295 | Zeile 280 |
---|
ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or
|
ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or
|
|
|
b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy.
| b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy.
|
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 1051 | Zeile 1036 |
---|
$showerror = 1; } }
|
$showerror = 1; } }
|
}
| }
|
// Check PHP Version if(version_compare(PHP_VERSION, '5.1.0', "<"))
|
// Check PHP Version if(version_compare(PHP_VERSION, '5.1.0', "<"))
|
{
| {
|
$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->sprintf($lang->req_step_error_phpversion, PHP_VERSION)); $phpversion = $lang->sprintf($lang->req_step_span_fail, PHP_VERSION); $showerror = 1;
|
$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->sprintf($lang->req_step_error_phpversion, PHP_VERSION)); $phpversion = $lang->sprintf($lang->req_step_span_fail, PHP_VERSION); $showerror = 1;
|
}
| }
|
else { $phpversion = $lang->sprintf($lang->req_step_span_pass, PHP_VERSION);
|
else { $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 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 1228 | Zeile 1213 |
---|
{ element.className = 'db_settings'; if(dbengine+'_settings' == element.id)
|
{ element.className = 'db_settings'; if(dbengine+'_settings' == element.id)
|
{
| {
|
Element.show(element); } else
| Element.show(element); } else
|
Zeile 1239 | Zeile 1224 |
---|
} Event.observe(window, 'load', updateDBSettings); </script>";
|
} Event.observe(window, 'load', updateDBSettings); </script>";
|
|
|
// Check for errors from this stage if(is_array($errors))
|
// Check for errors from this stage if(is_array($errors))
|
{
| {
|
$error_list = error_list($errors); echo $lang->sprintf($lang->db_step_error_config, $error_list);
|
$error_list = error_list($errors); echo $lang->sprintf($lang->db_step_error_config, $error_list);
|
}
| }
|
else { echo $lang->db_step_config_db; }
|
else { 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 1261 | Zeile 1246 |
---|
else { $dbengines .= "<option value=\"{$dbfile}\">{$dbtype['title']}</option>";
|
else { $dbengines .= "<option value=\"{$dbfile}\">{$dbtype['title']}</option>";
|
} }
| } }
|
foreach($dboptions as $dbfile => $dbtype) {
| 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') { $db_info[$dbfile] .= " <tr class=\"alt_row\"> <td class=\"first\"><label for=\"config_{$dbfile}_dbname\">{$lang->database_path}</label></td>
|
// SQLite gets some special settings if($dbfile == 'sqlite') { $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>";
| <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>";
|
} // Others get db host, username, password etc else { $db_info[$dbfile] .= "
|
} // Others get db host, username, password etc else { $db_info[$dbfile] .= "
|
<tr class=\"alt_row\">
| <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>
|
<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 1329 | Zeile 1314 |
---|
<td class=\"first\"><label for=\"config_{$dbfile}_dbname\">{$lang->database_name}</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>";
|
<td class=\"first\"><label for=\"config_{$dbfile}_dbname\">{$lang->database_name}</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>";
|
}
| }
|
// Now we're up to table settings $db_info[$dbfile] .= " <tr> <th colspan=\"2\" class=\"first last\">{$dbtype['title']} {$lang->table_settings}</th>
|
// Now we're up to table settings $db_info[$dbfile] .= " <tr> <th colspan=\"2\" class=\"first last\">{$dbtype['title']} {$lang->table_settings}</th>
|
</tr>
| </tr>
|
<tr class=\"first\"> <td class=\"first\"><label for=\"config_{$dbfile}_tableprefix\">{$lang->table_prefix}</label></td> <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> ";
|
<tr class=\"first\"> <td class=\"first\"><label for=\"config_{$dbfile}_tableprefix\">{$lang->table_prefix}</label></td> <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;
| if(!file_exists(MYBB_ROOT."inc/db_{$mybb->input['dbengine']}.php")) { $errors[] = $lang->db_step_error_invalidengine;
|
Zeile 1382 | Zeile 1367 |
---|
}
$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 1395 | Zeile 1380 |
---|
// Attempt to connect to the db require_once MYBB_ROOT."inc/db_{$mybb->input['dbengine']}.php"; switch($mybb->input['dbengine'])
|
// Attempt to connect to the db require_once MYBB_ROOT."inc/db_{$mybb->input['dbengine']}.php"; switch($mybb->input['dbengine'])
|
{ case "sqlite": $db = new DB_SQLite; break; case "pgsql":
| { case "sqlite": $db = new DB_SQLite; break; case "pgsql":
|
$db = new DB_PgSQL; break; case "mysqli":
| $db = new DB_PgSQL; break; case "mysqli":
|
Zeile 1420 | Zeile 1405 |
---|
$connection = $db->connect($connect_array); if($connection === false)
|
$connection = $db->connect($connect_array); if($connection === false)
|
{
| {
|
$errors[] = $lang->sprintf($lang->db_step_error_noconnect, $config['dbhost']); } // double check if the DB exists for MySQL
| $errors[] = $lang->sprintf($lang->db_step_error_noconnect, $config['dbhost']); } // double check if the DB exists for MySQL
|
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)
| // 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)
|
Zeile 1442 | Zeile 1427 |
---|
$errors[] = $lang->db_step_error_tableprefix_too_long; }
|
$errors[] = $lang->db_step_error_tableprefix_too_long; }
|
if(is_array($errors))
| 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();
|
{ 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)
|
{
| {
|
$db_encoding = "\$config['database']['encoding'] = '{$config['encoding']}';";
|
$db_encoding = "\$config['database']['encoding'] = '{$config['encoding']}';";
|
}
| }
|
else { $db_encoding = "// \$config['database']['encoding'] = '{$config['encoding']}';"; }
|
else { $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.mybb.com/
| * http://docs.mybb.com/
|
*/
\$config['database']['type'] = '{$mybb->input['dbengine']}';
| */
\$config['database']['type'] = '{$mybb->input['dbengine']}';
|
Zeile 1503 | Zeile 1495 |
---|
* * If you wish to use the file system (cache/ directory), MemCache, xcache, or eAccelerator * you can change the value below to 'files', 'memcache', 'xcache' or 'eaccelerator' from 'db'.
|
* * If you wish to use the file system (cache/ directory), MemCache, xcache, or eAccelerator * you can change the value below to 'files', 'memcache', 'xcache' or 'eaccelerator' from 'db'.
|
*/
\$config['cache_store'] = 'db';
/**
| */
\$config['cache_store'] = 'db';
/**
|
* Memcache configuration * If you are using memcache as your data-cache, * you need to configure the hostname and port
| * Memcache configuration * If you are using memcache as your data-cache, * you need to configure the hostname and port
|
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 1612 | Zeile 1604 |
---|
if($dboptions[$db->type]['population_file']) { $population_file = $dboptions[$db->type]['population_file'];
|
if($dboptions[$db->type]['population_file']) { $population_file = $dboptions[$db->type]['population_file'];
|
}
| }
|
else { $population_file = 'mysql_db_inserts.php';
| else { $population_file = 'mysql_db_inserts.php';
|
Zeile 1645 | Zeile 1637 |
---|
function insert_templates() {
|
function insert_templates() {
|
global $output, $cache, $db, $lang;
| global $mybb, $output, $cache, $db, $lang;
|
require MYBB_ROOT.'inc/config.php'; $db = db_connection($config);
| require MYBB_ROOT.'inc/config.php'; $db = db_connection($config);
|
Zeile 1670 | 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 1682 | 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"));
| // 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"));
|
Zeile 1698 | Zeile 1692 |
---|
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 if(is_array($errors))
|
$output->print_header($lang->board_config, 'config');
// If board configuration errors if(is_array($errors))
|
{
| {
|
$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 1723 | 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']; } elseif($_SERVER['SERVER_NAME']) {
|
$cookiedomain = '.'.$_SERVER['HTTP_HOST']; } 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 1764 | 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 1780 | Zeile 1781 |
---|
echo $lang->sprintf($lang->config_step_table, $bbname, $bburl, $websitename, $websiteurl, $cookiedomain, $cookiepath, $contactemail); $output->print_footer('adminuser');
|
echo $lang->sprintf($lang->config_step_table, $bbname, $bburl, $websitename, $websiteurl, $cookiedomain, $cookiepath, $contactemail); $output->print_footer('adminuser');
|
}
| }
|
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 1915 | 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 1937 | 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 1976 | Zeile 1987 |
---|
$errors[] = $lang->admin_step_error_noemail; } if(is_array($errors))
|
$errors[] = $lang->admin_step_error_noemail; } if(is_array($errors))
|
{
| {
|
create_admin_user(); }
require MYBB_ROOT.'inc/config.php'; $db = db_connection($config);
|
create_admin_user(); }
require MYBB_ROOT.'inc/config.php'; $db = db_connection($config);
|
|
|
require MYBB_ROOT.'inc/settings.php'; $mybb->settings = &$settings;
|
require MYBB_ROOT.'inc/settings.php'; $mybb->settings = &$settings;
|
|
|
ob_start(); $output->print_header($lang->finish_setup, 'finish');
|
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
| // 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();
|
$usergroup_settings = file_get_contents(INSTALL_ROOT.'resources/usergroups.xml'); $parser = new XMLParser($usergroup_settings); $parser->collapse_dups = 0; $tree = $parser->get_tree();
|
|
|
$admin_gid = ''; $group_count = 0; foreach($tree['usergroups'][0]['usergroup'] as $usergroup)
| $admin_gid = ''; $group_count = 0; foreach($tree['usergroups'][0]['usergroup'] as $usergroup)
|
Zeile 2009 | 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) {
| // 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) {
|
Zeile 2029 | Zeile 2040 |
---|
}
echo $lang->done . '</p>';
|
}
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 2091 | 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 2124 | Zeile 2135 |
---|
$insertmodule = array();
$db->insert_query('adminoptions', $adminoptiondata);
|
$insertmodule = array();
$db->insert_query('adminoptions', $adminoptiondata);
|
} echo $lang->done . '</p>';
| } echo $lang->done . '</p>';
|
// Automatic Login my_unsetcookie("sid");
| // Automatic Login my_unsetcookie("sid");
|
Zeile 2142 | 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 2174 | Zeile 2182 |
---|
$cache->update_forumsdisplay(); $cache->update("plugins", array()); $cache->update("internal_settings", array('encryption_key' => random_str(32)));
|
$cache->update_forumsdisplay(); $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)
|
Zeile 2186 | 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_step_success;
| echo $lang->done . '</p>';
echo $lang->done_step_success;
|
Zeile 2206 | Zeile 2214 |
---|
{ echo $lang->done_step_dirdelete; }
|
{ echo $lang->done_step_dirdelete; }
|
echo $lang->done_subscribe_mailing;
| echo $lang->done_whats_next;
|
$output->print_footer(''); }
| $output->print_footer(''); }
|
Zeile 2227 | 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) { $string = "<ul>\n";
| function error_list($array) { $string = "<ul>\n";
|
Zeile 2247 | Zeile 2255 |
---|
} $string .= "</ul>\n"; return $string;
|
} $string .= "</ul>\n"; return $string;
|
}
function write_settings()
| }
function write_settings()
|
{ global $db;
|
{ global $db;
|
|
|
$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)) {
|
Zeile 2266 | 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();
| |
} ?>
| } ?>
|