Zeile 56 | Zeile 56 |
---|
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();
|
$lang->set_path(MYBB_ROOT.'install/resources');
| $lang->set_path(INSTALL_ROOT.'resources');
|
$lang->load('language');
|
$lang->load('language');
|
| // Load DB interface require_once MYBB_ROOT."inc/db_base.php";
|
// Prevent any shut down functions from running $done_shutdown = 1;
|
// Prevent any shut down functions from running $done_shutdown = 1;
|
// Include the necessary contants for installation
| // Include the necessary constants for installation
|
$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');
| $groupzerogreater = array('pmquota', 'maxpmrecipients', 'maxreputationsday', 'attachquota', 'maxemails', 'maxwarningsday', 'maxposts', 'edittimelimit', 'canusesigxposts', 'maxreputationsperuser', 'maxreputationsperthread', 'emailfloodtime');
|
$displaygroupfields = array('title', 'description', 'namestyle', 'usertitle', 'stars', 'starimage', 'image');
|
$displaygroupfields = array('title', 'description', 'namestyle', 'usertitle', 'stars', 'starimage', 'image');
|
$fpermfields = array('canview', 'candlattachments', 'canpostthreads', 'canpostreplys', 'canpostattachments', 'canratethreads', 'caneditposts', 'candeleteposts', 'candeletethreads', 'caneditattachments', 'canpostpolls', 'canvotepolls', 'cansearch');
| $fpermfields = array('canview', 'canviewthreads', 'candlattachments', 'canpostthreads', 'canpostreplys', 'canpostattachments', 'canratethreads', 'caneditposts', 'candeleteposts', 'candeletethreads', 'caneditattachments', 'canpostpolls', 'canvotepolls', 'cansearch', 'modposts', 'modthreads', 'modattachments', 'mod_edit_posts');
|
// Include the installation resources require_once INSTALL_ROOT.'resources/output.php';
| // Include the installation resources require_once INSTALL_ROOT.'resources/output.php';
|
Zeile 93 | Zeile 96 |
---|
'short_title' => 'MySQL', 'structure_file' => 'mysql_db_tables.php', 'population_file' => 'mysql_db_inserts.php'
|
'short_title' => 'MySQL', 'structure_file' => 'mysql_db_tables.php', 'population_file' => 'mysql_db_inserts.php'
|
); }
| ); }
|
if(function_exists('pg_connect'))
|
if(function_exists('pg_connect'))
|
{
| {
|
$dboptions['pgsql'] = array( 'class' => 'DB_PgSQL', 'title' => 'PostgreSQL', 'short_title' => 'PostgreSQL', 'structure_file' => 'pgsql_db_tables.php',
|
$dboptions['pgsql'] = array( 'class' => 'DB_PgSQL', 'title' => 'PostgreSQL', 'short_title' => 'PostgreSQL', 'structure_file' => 'pgsql_db_tables.php',
|
'population_file' => 'mysql_db_inserts.php'
| 'population_file' => 'pgsql_db_inserts.php'
|
); }
| ); }
|
Zeile 111 | Zeile 114 |
---|
{ $supported_dbs = PDO::getAvailableDrivers(); if(in_array('sqlite', $supported_dbs))
|
{ $supported_dbs = PDO::getAvailableDrivers(); if(in_array('sqlite', $supported_dbs))
|
{
| {
|
$dboptions['sqlite'] = array( 'class' => 'DB_SQLite', 'title' => 'SQLite 3', 'short_title' => 'SQLite', 'structure_file' => 'sqlite_db_tables.php',
|
$dboptions['sqlite'] = array( 'class' => 'DB_SQLite', 'title' => 'SQLite 3', 'short_title' => 'SQLite', 'structure_file' => 'sqlite_db_tables.php',
|
'population_file' => 'mysql_db_inserts.php'
| 'population_file' => 'pgsql_db_inserts.php'
|
); } }
| ); } }
|
Zeile 183 | Zeile 186 |
---|
} }
|
} }
|
| /** * Welcome page */
|
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(); if(strpos(strtolower(get_current_location('', '', true)), '/upload/') !== false)
|
{ echo $lang->sprintf($lang->mybb_incorrect_folder); }
| { echo $lang->sprintf($lang->mybb_incorrect_folder); }
|
Zeile 196 | Zeile 202 |
---|
$output->print_footer('license'); }
|
$output->print_footer('license'); }
|
| /** * Show the license agreement */
|
function license_agreement() { global $output, $lang, $mybb;
| function license_agreement() { global $output, $lang, $mybb;
|
Zeile 203 | Zeile 212 |
---|
ob_start(); $output->print_header($lang->license_agreement, 'license');
|
ob_start(); $output->print_header($lang->license_agreement, 'license');
|
if($mybb->get_input('allow_anonymous_info', 1) == 1)
| if($mybb->get_input('allow_anonymous_info', MyBB::INPUT_INT) == 1)
|
{ require_once MYBB_ROOT."inc/functions_serverstats.php"; $build_server_stats = build_server_stats(1, '', $mybb->version_code);
| { require_once MYBB_ROOT."inc/functions_serverstats.php"; $build_server_stats = build_server_stats(1, '', $mybb->version_code);
|
Zeile 1010 | Zeile 1019 |
---|
$output->print_footer('requirements_check'); }
|
$output->print_footer('requirements_check'); }
|
| /** * Check our requirements */
|
function requirements_check() { global $output, $mybb, $dboptions, $lang;
| function requirements_check() { global $output, $mybb, $dboptions, $lang;
|
Zeile 1061 | Zeile 1073 |
---|
if(count($mboptions) < 1) { $mbstatus = $lang->sprintf($lang->req_step_span_fail, $lang->none);
|
if(count($mboptions) < 1) { $mbstatus = $lang->sprintf($lang->req_step_span_fail, $lang->none);
|
} else
| } else
|
{ $mbstatus = implode(', ', $mboptions);
|
{ $mbstatus = implode(', ', $mboptions);
|
}
| }
|
// Check database engines if(count($dboptions) < 1)
|
// Check database engines if(count($dboptions) < 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;
|
$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 1088 | Zeile 1100 |
---|
{ $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);
|
}
| }
|
// Check config file is writable $configwritable = @fopen(MYBB_ROOT.'inc/config.php', 'w');
| // Check config file is writable $configwritable = @fopen(MYBB_ROOT.'inc/config.php', 'w');
|
Zeile 1102 | Zeile 1114 |
---|
$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_configfile); $configstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable); $showerror = 1;
|
$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_configfile); $configstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable); $showerror = 1;
|
}
| }
|
else { $configstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable);
| else { $configstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable);
|
Zeile 1115 | Zeile 1127 |
---|
{ $errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_settingsfile); $settingsstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable);
|
{ $errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_settingsfile); $settingsstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable);
|
$showerror = 1;
| $showerror = 1;
|
} else {
| } else {
|
Zeile 1166 | Zeile 1178 |
---|
$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
| @fclose($avatarswritable); } else
|
{ $avatarsstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable); @fclose($avatarswritable);
| { $avatarsstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable); @fclose($avatarswritable);
|
Zeile 1181 | Zeile 1193 |
---|
echo $lang->sprintf($lang->req_step_reqtable, $phpversion, $dbsupportlist, $mbstatus, $xmlstatus, $configstatus, $settingsstatus, $cachestatus, $uploadsstatus, $avatarsstatus);
if($showerror == 1)
|
echo $lang->sprintf($lang->req_step_reqtable, $phpversion, $dbsupportlist, $mbstatus, $xmlstatus, $configstatus, $settingsstatus, $cachestatus, $uploadsstatus, $avatarsstatus);
if($showerror == 1)
|
{
| {
|
$error_list = error_list($errors); echo $lang->sprintf($lang->req_step_error_tablelist, $error_list); echo "\n <input type=\"hidden\" name=\"action\" value=\"{$mybb->input['action']}\" />";
| $error_list = error_list($errors); echo $lang->sprintf($lang->req_step_error_tablelist, $error_list); echo "\n <input type=\"hidden\" name=\"action\" value=\"{$mybb->input['action']}\" />";
|
Zeile 1195 | Zeile 1207 |
---|
} }
|
} }
|
| /** * Which database do we use? */
|
function database_info() { global $output, $dbinfo, $errors, $mybb, $dboptions, $lang;
| function database_info() { global $output, $dbinfo, $errors, $mybb, $dboptions, $lang;
|
Zeile 1221 | Zeile 1236 |
---|
}); } $(function()
|
}); } $(function()
|
{
| {
|
updateDBSettings(); }); </script>";
| updateDBSettings(); }); </script>";
|
Zeile 1231 | Zeile 1246 |
---|
{ $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;
|
Zeile 1245 | Zeile 1260 |
---|
if($mybb->get_input('dbengine') == $dbfile) { $dbengines .= "<option value=\"{$dbfile}\" selected=\"selected\">{$dbtype['title']}</option>";
|
if($mybb->get_input('dbengine') == $dbfile) { $dbengines .= "<option value=\"{$dbfile}\" selected=\"selected\">{$dbtype['title']}</option>";
|
}
| }
|
else { $dbengines .= "<option value=\"{$dbfile}\">{$dbtype['title']}</option>";
|
else { $dbengines .= "<option value=\"{$dbfile}\">{$dbtype['title']}</option>";
|
} }
| } }
|
$db_info = array(); foreach($dboptions as $dbfile => $dbtype) {
| $db_info = array(); foreach($dboptions as $dbfile => $dbtype) {
|
Zeile 1259 | Zeile 1274 |
---|
$db = new $dbtype['class']; $encodings = $db->fetch_db_charsets(); $encoding_select = '';
|
$db = new $dbtype['class']; $encodings = $db->fetch_db_charsets(); $encoding_select = '';
|
$mybb->input['config'] = $mybb->get_input('config', 2);
| $mybb->input['config'] = $mybb->get_input('config', MyBB::INPUT_ARRAY);
|
if(empty($mybb->input['config'][$dbfile]['dbhost'])) { $mybb->input['config'][$dbfile]['dbhost'] = "localhost";
| if(empty($mybb->input['config'][$dbfile]['dbhost'])) { $mybb->input['config'][$dbfile]['dbhost'] = "localhost";
|
Zeile 1373 | Zeile 1388 |
---|
$output->print_footer('create_tables'); }
|
$output->print_footer('create_tables'); }
|
| /** * Create our tables */
|
function create_tables() { global $output, $dbinfo, $errors, $mybb, $dboptions, $lang;
|
function create_tables() { global $output, $dbinfo, $errors, $mybb, $dboptions, $lang;
|
|
|
$mybb->input['dbengine'] = $mybb->get_input('dbengine'); if(!file_exists(MYBB_ROOT."inc/db_{$mybb->input['dbengine']}.php")) { $errors[] = $lang->db_step_error_invalidengine; database_info();
|
$mybb->input['dbengine'] = $mybb->get_input('dbengine'); if(!file_exists(MYBB_ROOT."inc/db_{$mybb->input['dbengine']}.php")) { $errors[] = $lang->db_step_error_invalidengine; database_info();
|
}
$mybb->input['config'] = $mybb->get_input('config', 2);
| }
$mybb->input['config'] = $mybb->get_input('config', MyBB::INPUT_ARRAY);
|
$config = $mybb->input['config'][$mybb->input['dbengine']];
if(strstr($mybb->input['dbengine'], "sqlite") !== false)
|
$config = $mybb->input['config'][$mybb->input['dbengine']];
if(strstr($mybb->input['dbengine'], "sqlite") !== false)
|
{
| {
|
if(strstr($config['dbname'], "./") !== false || strstr($config['dbname'], "../") !== false || empty($config['dbname'])) { $errors[] = $lang->db_step_error_sqlite_invalid_dbname;
| if(strstr($config['dbname'], "./") !== false || strstr($config['dbname'], "../") !== false || empty($config['dbname'])) { $errors[] = $lang->db_step_error_sqlite_invalid_dbname;
|
Zeile 1402 | Zeile 1420 |
---|
{ case "sqlite": $db = new DB_SQLite;
|
{ case "sqlite": $db = new DB_SQLite;
|
break;
| break;
|
case "pgsql": $db = new DB_PgSQL; break;
| case "pgsql": $db = new DB_PgSQL; break;
|
Zeile 1425 | Zeile 1443 |
---|
$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']);
| $errors[] = $lang->sprintf($lang->db_step_error_noconnect, htmlspecialchars_uni($config['dbhost']));
|
} // double check if the DB exists for MySQL elseif(method_exists($db, 'select_db') && !$db->select_db($config['dbname'])) {
|
} // double check if the DB exists for MySQL elseif(method_exists($db, 'select_db') && !$db->select_db($config['dbname'])) {
|
$errors[] = $lang->sprintf($lang->db_step_error_nodbname, $config['dbname']);
| $errors[] = $lang->sprintf($lang->db_step_error_nodbname, htmlspecialchars_uni($config['dbname']));
|
}
// Most DB engines only allow certain characters in the table name. Oracle requires an alphabetic character first.
| }
// Most DB engines only allow certain characters in the table name. Oracle requires an alphabetic character first.
|
Zeile 1459 | Zeile 1477 |
---|
// 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'] = '".addcslashes($config['encoding'], "'")."';";
|
} else {
|
} else {
|
$db_encoding = "// \$config['database']['encoding'] = '{$config['encoding']}';";
| $db_encoding = "// \$config['database']['encoding'] = '".addcslashes($config['encoding'], "'")."';";
|
}
|
}
|
$config['dbpass'] = addslashes($config['dbpass']);
| |
// Write the configuration file $configdata = "<?php
| // Write the configuration file $configdata = "<?php
|
Zeile 1475 | Zeile 1491 |
---|
* * Please see the MyBB Docs for advanced * database configuration for larger installations
|
* * Please see the MyBB Docs for advanced * database configuration for larger installations
|
* http://docs.mybb.com/
| * https://docs.mybb.com/
|
*/
|
*/
|
\$config['database']['type'] = '{$mybb->input['dbengine']}'; \$config['database']['database'] = '{$config['dbname']}'; \$config['database']['table_prefix'] = '{$config['tableprefix']}';
| \$config['database']['type'] = '".addcslashes($mybb->input['dbengine'], "'")."'; \$config['database']['database'] = '".addcslashes($config['dbname'], "'")."'; \$config['database']['table_prefix'] = '".addcslashes($config['tableprefix'], "'")."';
|
|
|
\$config['database']['hostname'] = '{$config['dbhost']}'; \$config['database']['username'] = '{$config['dbuser']}'; \$config['database']['password'] = '{$config['dbpass']}';
| \$config['database']['hostname'] = '".addcslashes($config['dbhost'], "'")."'; \$config['database']['username'] = '".addcslashes($config['dbuser'], "'")."'; \$config['database']['password'] = '".addcslashes($config['dbpass'], "'")."';
|
/** * Admin CP directory
| /** * Admin CP directory
|
Zeile 1566 | Zeile 1582 |
---|
'mail_logs' => 180, // Mail error logs 'user_mail_logs' => 180, // User mail logs 'promotion_logs' => 180 // Promotion logs
|
'mail_logs' => 180, // Mail error logs 'user_mail_logs' => 180, // User mail logs 'promotion_logs' => 180 // Promotion logs
|
| );
/** * Disallowed Remote Hosts * List of hosts the fetch_remote_file() function will not * perform requests to. * It is recommended that you enter hosts resolving to the * forum server here to prevent Server Side Request * Forgery attacks. */
\$config['disallowed_remote_hosts'] = array( 'localhost', );
/** * Disallowed Remote Addresses * List of IPv4 addresses the fetch_remote_file() function * will not perform requests to. * It is recommended that you enter addresses resolving to * the forum server here to prevent Server Side Request * Forgery attacks. * Removing all values disables resolving hosts in that * function. */
\$config['disallowed_remote_addresses'] = array( '127.0.0.1', '10.0.0.0/8', '172.16.0.0/12', '192.168.0.0/16',
|
);
";
| );
";
|
Zeile 1573 | Zeile 1620 |
---|
$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);
|
| if(function_exists('opcache_invalidate')) { opcache_invalidate(MYBB_ROOT."inc/config.php"); }
|
// Error reporting back on $db->error_reporting = 1;
| // Error reporting back on $db->error_reporting = 1;
|
Zeile 1595 | Zeile 1647 |
---|
$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($match[1]) {
|
$db->drop_table($match[1], false, false); echo $lang->sprintf($lang->tablecreate_step_created, $match[1]); }
| $db->drop_table($match[1], false, false); echo $lang->sprintf($lang->tablecreate_step_created, $match[1]); }
|
Zeile 1610 | Zeile 1662 |
---|
$output->print_footer('populate_tables'); }
|
$output->print_footer('populate_tables'); }
|
| /** * Insert our default data */
|
function populate_tables() {
|
function populate_tables() {
|
global $output, $lang;
| global $output, $lang, $dboptions;
|
require MYBB_ROOT.'inc/config.php'; $db = db_connection($config);
| require MYBB_ROOT.'inc/config.php'; $db = db_connection($config);
|
Zeile 1623 | Zeile 1678 |
---|
if(!empty($dboptions[$db->type]['population_file'])) { $population_file = $dboptions[$db->type]['population_file'];
|
if(!empty($dboptions[$db->type]['population_file'])) { $population_file = $dboptions[$db->type]['population_file'];
|
} else {
| } else {
|
$population_file = 'mysql_db_inserts.php'; }
| $population_file = 'mysql_db_inserts.php'; }
|
Zeile 1654 | Zeile 1709 |
---|
$output->print_footer('templates'); }
|
$output->print_footer('templates'); }
|
| /** * Install our theme */
|
function insert_templates() { global $mybb, $output, $cache, $db, $lang;
| function insert_templates() { global $mybb, $output, $cache, $db, $lang;
|
Zeile 1758 | Zeile 1816 |
---|
} }
|
} }
|
$db->update_query("themes", array("def" => 1, "properties" => $db->escape_string(serialize($properties)), "stylesheets" => $db->escape_string(serialize($stylesheets))), "tid = '{$tid}'");
| $db->update_query("themes", array("def" => 1, "properties" => $db->escape_string(my_serialize($properties)), "stylesheets" => $db->escape_string(my_serialize($stylesheets))), "tid = '{$tid}'");
|
echo $lang->theme_step_imported; $output->print_footer('configuration'); }
|
echo $lang->theme_step_imported; $output->print_footer('configuration'); }
|
| /** * Default configuration */
|
function configure() { global $output, $mybb, $errors, $lang;
$output->print_header($lang->board_config, 'config');
|
function configure() { global $output, $mybb, $errors, $lang;
$output->print_header($lang->board_config, 'config');
|
|
|
echo <<<EOF
|
echo <<<EOF
|
<script type="text/javascript">
| <script type="text/javascript">
|
function warnUser(inp, warn) { var parenttr = $('#'+inp.id).closest('tr');
| function warnUser(inp, warn) { var parenttr = $('#'+inp.id).closest('tr');
|
Zeile 1781 | Zeile 1842 |
---|
{ var revertlink = ' <a href="javascript:revertSetting(\''+inp.defaultValue+'\', \'#'+inp.id+'\');">{$lang->config_step_revert}</a>'; parenttr.removeClass('last').after('<tr class="setting_peeker"><td colspan="2">'+warn+revertlink+'</td></tr>');
|
{ var revertlink = ' <a href="javascript:revertSetting(\''+inp.defaultValue+'\', \'#'+inp.id+'\');">{$lang->config_step_revert}</a>'; parenttr.removeClass('last').after('<tr class="setting_peeker"><td colspan="2">'+warn+revertlink+'</td></tr>');
|
}
| }
|
} else { parenttr.next('.setting_peeker').remove(); if(parenttr.is(':last-child')) { parenttr.addClass('last'); }
|
} else { parenttr.next('.setting_peeker').remove(); if(parenttr.is(':last-child')) { parenttr.addClass('last'); }
|
}
| }
|
}
|
}
|
|
|
function revertSetting(defval, inpid) {
|
function revertSetting(defval, inpid) {
|
$(inpid).val(defval);
| $(inpid).val(defval);
|
var parenttr = $(inpid).closest('tr'); parenttr.next('.setting_peeker').remove(); if(parenttr.is(':last-child')) { parenttr.addClass('last');
|
var parenttr = $(inpid).closest('tr'); parenttr.next('.setting_peeker').remove(); if(parenttr.is(':last-child')) { parenttr.addClass('last');
|
}
| }
|
} </script>
|
} </script>
|
|
|
EOF;
// If board configuration errors
| EOF;
// If board configuration errors
|
Zeile 1823 | Zeile 1884 |
---|
{ $bbname = 'Forums'; $cookiedomain = '';
|
{ $bbname = 'Forums'; $cookiedomain = '';
|
$cookiepath = '/';
| |
$websitename = 'Your Website';
|
$websitename = 'Your Website';
|
$contactemail = '';
| |
$protocol = "http://"; if((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != "off"))
| $protocol = "http://"; if((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != "off"))
|
Zeile 1834 | Zeile 1893 |
---|
}
// Attempt auto-detection
|
}
// Attempt auto-detection
|
if($_SERVER['HTTP_HOST'])
| if(!empty($_SERVER['HTTP_HOST']))
|
{ $hostname = $protocol.$_SERVER['HTTP_HOST']; $cookiedomain = $_SERVER['HTTP_HOST']; }
|
{ $hostname = $protocol.$_SERVER['HTTP_HOST']; $cookiedomain = $_SERVER['HTTP_HOST']; }
|
elseif($_SERVER['SERVER_NAME'])
| elseif(!empty($_SERVER['SERVER_NAME']))
|
{ $hostname = $protocol.$_SERVER['SERVER_NAME']; $cookiedomain = $_SERVER['SERVER_NAME']; }
|
{ $hostname = $protocol.$_SERVER['SERVER_NAME']; $cookiedomain = $_SERVER['SERVER_NAME']; }
|
if(substr($cookiedomain, 0, 4) == "www.")
| if(my_substr($cookiedomain, 0, 4) == "www.")
|
{
|
{
|
$cookiedomain = my_substr($cookiedomain, 4);
| $cookiedomain = substr($cookiedomain, 4);
|
}
// IP addresses and hostnames are not valid
| }
// IP addresses and hostnames are not valid
|
Zeile 1860 | Zeile 1919 |
---|
$cookiedomain = ".{$cookiedomain}"; }
|
$cookiedomain = ".{$cookiedomain}"; }
|
if($_SERVER['SERVER_PORT'] && $_SERVER['SERVER_PORT'] != 80 && !preg_match("#:[0-9]#i", $hostname))
| if(!empty($_SERVER['SERVER_PORT']))
|
{
|
{
|
$hostname .= ':'.$_SERVER['SERVER_PORT']; } $websiteurl = $hostname.'/';
| $port = ":{$_SERVER['SERVER_PORT']}"; $pos = strrpos($cookiedomain, $port);
|
|
|
$currentlocation = get_current_location(); if($currentlocation) { // TODO: Change this to find the last position of /install/ $pos = my_strpos($currentlocation, '/install/'); if($pos === 0) { $cookiepath = "/"; } else
| if($pos !== false)
|
{
|
{
|
$cookiepath = my_substr($currentlocation, 0, $pos).'/';
| $cookiedomain = substr($cookiedomain, 0, $pos);
|
}
|
}
|
}
$currentscript = $hostname.get_current_location();
if($currentscript) { $bburl = my_substr($currentscript, 0, my_strpos($currentscript, '/install/')); }
if($_SERVER['SERVER_ADMIN'])
| if($_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443 && !preg_match("#:[0-9]#i", $hostname)) { $hostname .= $port; } }
$currentlocation = get_current_location('', '', true); $noinstall = substr($currentlocation, 0, strrpos($currentlocation, '/install/'));
$cookiepath = $noinstall.'/'; $bburl = $hostname.$noinstall; $websiteurl = $hostname.'/';
if(isset($_SERVER['SERVER_ADMIN']) && filter_var($_SERVER['SERVER_ADMIN'], FILTER_VALIDATE_EMAIL))
|
{ $contactemail = $_SERVER['SERVER_ADMIN']; }
| { $contactemail = $_SERVER['SERVER_ADMIN']; }
|
Zeile 1898 | Zeile 1952 |
---|
$output->print_footer('adminuser'); }
|
$output->print_footer('adminuser'); }
|
| /** * How do we want to name the admin user? */
|
function create_admin_user() { global $output, $mybb, $errors, $db, $lang;
| function create_admin_user() { global $output, $mybb, $errors, $db, $lang;
|
Zeile 1920 | Zeile 1977 |
---|
} } $output->print_header($lang->create_admin, 'admin');
|
} } $output->print_header($lang->create_admin, 'admin');
|
|
|
echo <<<EOF
|
echo <<<EOF
|
<script type="text/javascript">
| <script type="text/javascript">
|
function comparePass() { var parenttr = $('#adminpass2').closest('tr');
| function comparePass() { var parenttr = $('#adminpass2').closest('tr');
|
Zeile 1938 | Zeile 1995 |
---|
} } </script>
|
} } </script>
|
|
|
EOF;
if(is_array($errors))
| EOF;
if(is_array($errors))
|
Zeile 2005 | Zeile 2062 |
---|
$db->update_query("settings", array('value' => $db->escape_string($mybb->get_input('cookiepath'))), "name='cookiepath'"); $db->update_query("settings", array('value' => $db->escape_string($mybb->get_input('contactemail'))), "name='adminemail'"); $db->update_query("settings", array('value' => 'contact.php'), "name='contactlink'");
|
$db->update_query("settings", array('value' => $db->escape_string($mybb->get_input('cookiepath'))), "name='cookiepath'"); $db->update_query("settings", array('value' => $db->escape_string($mybb->get_input('contactemail'))), "name='adminemail'"); $db->update_query("settings", array('value' => 'contact.php'), "name='contactlink'");
|
|
|
write_settings();
echo $lang->sprintf($lang->admin_step_insertesettings, $settingcount, $groupcount);
| write_settings();
echo $lang->sprintf($lang->admin_step_insertesettings, $settingcount, $groupcount);
|
Zeile 2108 | Zeile 2165 |
---|
"type" => $db->escape_string($view['attributes']['type']), "visibility" => (int)$view['attributes']['visibility'], "title" => $db->escape_string($view['title'][0]['value']),
|
"type" => $db->escape_string($view['attributes']['type']), "visibility" => (int)$view['attributes']['visibility'], "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)),
| "fields" => $db->escape_string(my_serialize($fields)), "conditions" => $db->escape_string(my_serialize($conditions)), "custom_profile_fields" => $db->escape_string(my_serialize($custom_profile_fields)),
|
"sortby" => $db->escape_string($view['sortby'][0]['value']), "sortorder" => $db->escape_string($view['sortorder'][0]['value']), "perpage" => (int)$view['perpage'][0]['value'],
| "sortby" => $db->escape_string($view['sortby'][0]['value']), "sortorder" => $db->escape_string($view['sortorder'][0]['value']), "perpage" => (int)$view['perpage'][0]['value'],
|
Zeile 2129 | Zeile 2186 |
---|
$output->print_footer('final'); }
|
$output->print_footer('final'); }
|
| /** * Installation is finished */
|
function install_done() { global $output, $db, $mybb, $errors, $cache, $lang;
| function install_done() { global $output, $db, $mybb, $errors, $cache, $lang;
|
Zeile 2136 | Zeile 2196 |
---|
if(empty($mybb->input['adminuser'])) { $errors[] = $lang->admin_step_error_nouser;
|
if(empty($mybb->input['adminuser'])) { $errors[] = $lang->admin_step_error_nouser;
|
}
| }
|
if(empty($mybb->input['adminpass'])) { $errors[] = $lang->admin_step_error_nopassword;
| if(empty($mybb->input['adminpass'])) { $errors[] = $lang->admin_step_error_nopassword;
|
Zeile 2209 | Zeile 2269 |
---|
$salt = random_str(); $loginkey = generate_loginkey(); $saltedpw = md5(md5($salt).md5($mybb->get_input('adminpass')));
|
$salt = random_str(); $loginkey = generate_loginkey(); $saltedpw = md5(md5($salt).md5($mybb->get_input('adminpass')));
|
|
|
$newuser = array( 'username' => $db->escape_string($mybb->get_input('adminuser')), 'password' => $saltedpw,
| $newuser = array( 'username' => $db->escape_string($mybb->get_input('adminuser')), 'password' => $saltedpw,
|
Zeile 2222 | Zeile 2282 |
---|
'lastvisit' => $now, 'website' => '', 'icq' => '',
|
'lastvisit' => $now, 'website' => '', 'icq' => '',
|
'aim' => '', 'yahoo' => '',
| |
'skype' =>'', 'google' =>'', 'birthday' => '',
| 'skype' =>'', 'google' =>'', 'birthday' => '',
|
Zeile 2234 | Zeile 2292 |
---|
'receivepms' => 1, 'pmnotice' => 1, 'pmnotify' => 1,
|
'receivepms' => 1, 'pmnotice' => 1, 'pmnotify' => 1,
|
| 'buddyrequestspm' => 1, 'buddyrequestsauto' => 0,
|
'showimages' => 1, 'showvideos' => 1, 'showsigs' => 1,
| 'showimages' => 1, 'showvideos' => 1, 'showsigs' => 1,
|
Zeile 2293 | Zeile 2353 |
---|
'uid' => (int)$uid, 'cpstyle' => '', 'notes' => '',
|
'uid' => (int)$uid, 'cpstyle' => '', 'notes' => '',
|
'permissions' => $db->escape_string(serialize($insertmodule)), 'defaultviews' => $db->escape_string(serialize($defaultviews))
| 'permissions' => $db->escape_string(my_serialize($insertmodule)), 'defaultviews' => $db->escape_string(my_serialize($defaultviews))
|
);
$insertmodule = array();
| );
$insertmodule = array();
|
Zeile 2306 | Zeile 2366 |
---|
// Automatic Login my_unsetcookie("sid"); my_unsetcookie("mybbuser");
|
// Automatic Login my_unsetcookie("sid"); my_unsetcookie("mybbuser");
|
my_setcookie('mybbuser', $uid.'_'.$loginkey, null, true);
| my_setcookie('mybbuser', $uid.'_'.$loginkey, null, true, "lax");
|
ob_end_flush();
// Make fulltext columns if supported
| ob_end_flush();
// Make fulltext columns if supported
|
Zeile 2349 | Zeile 2409 |
---|
$cache->update("plugins", array()); $cache->update("internal_settings", array('encryption_key' => random_str(32))); $cache->update_default_theme();
|
$cache->update("plugins", array()); $cache->update("internal_settings", array('encryption_key' => random_str(32))); $cache->update_default_theme();
|
| $cache->update_reportreasons(true);
|
$version_history = array(); $dh = opendir(INSTALL_ROOT."resources");
| $version_history = array(); $dh = opendir(INSTALL_ROOT."resources");
|
Zeile 2357 | Zeile 2418 |
---|
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];
|
} }
| } }
|
sort($version_history, SORT_NUMERIC); $cache->update("version_history", $version_history);
| sort($version_history, SORT_NUMERIC); $cache->update("version_history", $version_history);
|
Zeile 2375 | Zeile 2436 |
---|
$written = 0; if(is_writable('./'))
|
$written = 0; if(is_writable('./'))
|
{
| {
|
$lock = @fopen('./lock', 'w'); $written = @fwrite($lock, '1'); @fclose($lock);
| $lock = @fopen('./lock', 'w'); $written = @fwrite($lock, '1'); @fclose($lock);
|
Zeile 2383 | Zeile 2444 |
---|
{ echo $lang->done_step_locked; }
|
{ echo $lang->done_step_locked; }
|
}
| }
|
if(!$written) { echo $lang->done_step_dirdelete;
| if(!$written) { echo $lang->done_step_dirdelete;
|
Zeile 2392 | Zeile 2453 |
---|
$output->print_footer(''); }
|
$output->print_footer(''); }
|
| /** * @param array $config * * @return DB_MySQL|DB_MySQLi|DB_PgSQL|DB_SQLite */
|
function db_connection($config) { require_once MYBB_ROOT."inc/db_{$config['database']['type']}.php";
| function db_connection($config) { require_once MYBB_ROOT."inc/db_{$config['database']['type']}.php";
|
Zeile 2420 | Zeile 2486 |
---|
return $db; }
|
return $db; }
|
| /** * @param array $array * * @return string */
|
function error_list($array) { $string = "<ul>\n";
| function error_list($array) { $string = "<ul>\n";
|
Zeile 2431 | Zeile 2502 |
---|
return $string; }
|
return $string; }
|
| /** * Write our settings to the settings file */
|
function write_settings() { global $db;
| function write_settings() { global $db;
|
Zeile 2439 | Zeile 2513 |
---|
$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))
|
Zeile 2450 | Zeile 2525 |
---|
fclose($file); } }
|
fclose($file); } }
|
?>
| |