Zeile 52 | Zeile 52 |
---|
} }
|
} }
|
require_once MYBB_ROOT.'inc/class_xml.php';
| |
require_once MYBB_ROOT.'inc/functions_user.php'; require_once MYBB_ROOT.'inc/class_language.php'; $lang = new MyLanguage();
|
require_once MYBB_ROOT.'inc/functions_user.php'; require_once MYBB_ROOT.'inc/class_language.php'; $lang = new MyLanguage();
|
$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"; require_once MYBB_ROOT."inc/AbstractPdoDbDriver.php";
|
// Prevent any shut down functions from running $done_shutdown = 1;
|
// Prevent any shut down functions from running $done_shutdown = 1;
|
// 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 75 | Zeile 78 |
---|
$dboptions = array();
if(function_exists('mysqli_connect'))
|
$dboptions = array();
if(function_exists('mysqli_connect'))
|
{
| {
|
$dboptions['mysqli'] = array( 'class' => 'DB_MySQLi', 'title' => 'MySQL Improved', 'short_title' => 'MySQLi',
|
$dboptions['mysqli'] = array( '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 97 | Zeile 100 |
---|
}
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'
|
);
|
);
|
}
| }
|
if(class_exists('PDO')) { $supported_dbs = PDO::getAvailableDrivers();
| if(class_exists('PDO')) { $supported_dbs = PDO::getAvailableDrivers();
|
Zeile 117 | Zeile 120 |
---|
'title' => 'SQLite 3', 'short_title' => 'SQLite', 'structure_file' => 'sqlite_db_tables.php',
|
'title' => 'SQLite 3', 'short_title' => 'SQLite', 'structure_file' => 'sqlite_db_tables.php',
|
| 'population_file' => 'pgsql_db_inserts.php' ); }
if (in_array('pgsql', $supported_dbs)) { $dboptions['pgsql_pdo'] = array( 'class' => 'PostgresPdoDbDriver', 'title' => 'PostgreSQL (PDO)', 'short_title' => 'PostgreSQL (PDO)', 'structure_file' => 'pgsql_db_tables.php', 'population_file' => 'pgsql_db_inserts.php' ); }
if (in_array('mysql', $supported_dbs)) { $dboptions['mysql_pdo'] = array( 'class' => 'MysqlPdoDbDriver', 'title' => 'MySQL (PDO)', 'short_title' => 'MySQL (PDO)', 'structure_file' => 'mysql_db_tables.php',
|
'population_file' => 'mysql_db_inserts.php' ); }
|
'population_file' => 'mysql_db_inserts.php' ); }
|
}
| }
|
if(file_exists('lock') && $mybb->dev_mode != true) {
| if(file_exists('lock') && $mybb->dev_mode != true) {
|
Zeile 133 | Zeile 156 |
---|
$output->print_footer(); } else
|
$output->print_footer(); } else
|
{
| {
|
$output->steps = array( 'intro' => $lang->welcome, 'license' => $lang->license_agreement,
| $output->steps = array( 'intro' => $lang->welcome, 'license' => $lang->license_agreement,
|
Zeile 151 | Zeile 174 |
---|
{ case 'license': license_agreement();
|
{ case 'license': license_agreement();
|
break;
| break;
|
case 'requirements_check': requirements_check(); break;
| case 'requirements_check': requirements_check(); break;
|
Zeile 160 | Zeile 183 |
---|
break; case 'create_tables': create_tables();
|
break; case 'create_tables': create_tables();
|
break;
| break;
|
case 'populate_tables': populate_tables(); break;
| case 'populate_tables': populate_tables(); break;
|
Zeile 169 | Zeile 192 |
---|
break; case 'configuration': configure();
|
break; case 'configuration': configure();
|
break;
| break;
|
case 'adminuser': create_admin_user();
|
case 'adminuser': create_admin_user();
|
break;
| break;
|
case 'final': install_done();
|
case 'final': install_done();
|
break;
| break;
|
default: $mybb->input['action'] = 'intro'; intro(); break;
|
default: $mybb->input['action'] = 'intro'; intro(); break;
|
} }
| } }
|
|
|
| /** * 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 222 |
---|
$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 232 |
---|
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 280 | Zeile 309 |
---|
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
|
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
|
|
|
The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated
| The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated
|
Zeile 293 | Zeile 322 |
---|
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
|
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
|
document.
| document.
|
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
| 4. Combined Works.
You may convey a Combined Work under terms of your choice that,
|
Zeile 316 | Zeile 345 |
---|
copies of the GNU GPL and this license document.
d) Do one of the following:
|
copies of the GNU GPL and this license document.
d) Do one of the following:
|
|
|
0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to
| 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to
|
Zeile 343 | Zeile 372 |
---|
Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.)
|
Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.)
|
|
|
5. Combined Libraries.
You may place library facilities that are a work based on the
| 5. Combined Libraries.
You may place library facilities that are a work based on the
|
Zeile 351 | Zeile 380 |
---|
facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following:
|
facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following:
|
|
|
a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License.
| a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License.
|
Zeile 923 | Zeile 952 |
---|
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
|
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
|
|
|
If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a
| If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a
|
Zeile 995 | Zeile 1024 |
---|
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
|
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
|
|
|
If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates
| If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates
|
Zeile 1009 | Zeile 1038 |
---|
echo $lang->sprintf($lang->license_step, $license); $output->print_footer('requirements_check'); }
|
echo $lang->sprintf($lang->license_step, $license); $output->print_footer('requirements_check'); }
|
| /** * Check our requirements */
|
function requirements_check() { global $output, $mybb, $dboptions, $lang;
|
function requirements_check() { global $output, $mybb, $dboptions, $lang;
|
|
|
$mybb->input['action'] = "requirements_check"; $output->print_header($lang->req_check, 'requirements'); echo $lang->req_step_top;
| $mybb->input['action'] = "requirements_check"; $output->print_header($lang->req_check, 'requirements'); echo $lang->req_step_top;
|
Zeile 1030 | Zeile 1062 |
---|
$configstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable); $showerror = 1; }
|
$configstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable); $showerror = 1; }
|
} }
| } }
|
// Check PHP Version if(version_compare(PHP_VERSION, '5.2.0', "<"))
| // Check PHP Version if(version_compare(PHP_VERSION, '5.2.0', "<"))
|
Zeile 1039 | Zeile 1071 |
---|
$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
| } else
|
{ $phpversion = $lang->sprintf($lang->req_step_span_pass, PHP_VERSION); }
| { $phpversion = $lang->sprintf($lang->req_step_span_pass, PHP_VERSION); }
|
Zeile 1053 | Zeile 1085 |
---|
}
if(function_exists('iconv'))
|
}
if(function_exists('iconv'))
|
{
| {
|
$mboptions[] = 'iconv'; }
| $mboptions[] = 'iconv'; }
|
Zeile 1065 | Zeile 1097 |
---|
else { $mbstatus = implode(', ', $mboptions);
|
else { $mbstatus = implode(', ', $mboptions);
|
}
| }
|
// 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);
|
// 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; } else {
| $showerror = 1; } else {
|
foreach($dboptions as $dboption) { $dbsupportlist[] = $dboption['title'];
| foreach($dboptions as $dboption) { $dbsupportlist[] = $dboption['title'];
|
Zeile 1089 | Zeile 1121 |
---|
$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;
|
$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;
|
}
| }
|
else { $xmlstatus = $lang->sprintf($lang->req_step_span_pass, $lang->installed);
| else { $xmlstatus = $lang->sprintf($lang->req_step_span_pass, $lang->installed);
|
Zeile 1101 | Zeile 1133 |
---|
{ $errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_configfile); $configstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable);
|
{ $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; }
| $showerror = 1; }
|
else { $configstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable);
|
else { $configstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable);
|
| @fclose($configwritable);
|
}
|
}
|
@fclose($configwritable);
| |
// Check settings file is writable $settingswritable = @fopen(MYBB_ROOT.'inc/settings.php', 'w');
| // Check settings file is writable $settingswritable = @fopen(MYBB_ROOT.'inc/settings.php', 'w');
|
Zeile 1115 | Zeile 1147 |
---|
{ $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 { $settingsstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable);
|
} else { $settingsstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable);
|
| @fclose($settingswritable);
|
}
|
}
|
@fclose($settingswritable);
| |
// Check cache directory is writable $cachewritable = @fopen(MYBB_ROOT.'cache/test.write', 'w');
| // Check cache directory is writable $cachewritable = @fopen(MYBB_ROOT.'cache/test.write', 'w');
|
Zeile 1130 | Zeile 1162 |
---|
$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_cachedir); $cachestatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable); $showerror = 1;
|
$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_cachedir); $cachestatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable); $showerror = 1;
|
@fclose($cachewritable);
| |
} else {
| } else {
|
Zeile 1139 | Zeile 1170 |
---|
@my_chmod(MYBB_ROOT.'cache', '0777'); @my_chmod(MYBB_ROOT.'cache/test.write', '0777'); @unlink(MYBB_ROOT.'cache/test.write');
|
@my_chmod(MYBB_ROOT.'cache', '0777'); @my_chmod(MYBB_ROOT.'cache/test.write', '0777'); @unlink(MYBB_ROOT.'cache/test.write');
|
}
| }
|
// Check upload directory is writable $uploadswritable = @fopen(MYBB_ROOT.'uploads/test.write', 'w'); if(!$uploadswritable) { $errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_uploaddir); $uploadsstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable);
|
// Check upload directory is writable $uploadswritable = @fopen(MYBB_ROOT.'uploads/test.write', 'w'); if(!$uploadswritable) { $errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_uploaddir); $uploadsstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable);
|
$showerror = 1; @fclose($uploadswritable);
| $showerror = 1;
|
} else {
| } else {
|
Zeile 1157 | Zeile 1187 |
---|
@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 1166 | Zeile 1196 |
---|
$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_avatardir); $avatarsstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable); $showerror = 1;
|
$errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_avatardir); $avatarsstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_writable); $showerror = 1;
|
@fclose($avatarswritable);
| |
} else {
| } else {
|
Zeile 1176 | Zeile 1205 |
---|
@my_chmod(MYBB_ROOT.'uploads/avatars/test.write', '0777'); @unlink(MYBB_ROOT.'uploads/avatars/test.write'); }
|
@my_chmod(MYBB_ROOT.'uploads/avatars/test.write', '0777'); @unlink(MYBB_ROOT.'uploads/avatars/test.write'); }
|
|
|
// Output requirements page echo $lang->sprintf($lang->req_step_reqtable, $phpversion, $dbsupportlist, $mbstatus, $xmlstatus, $configstatus, $settingsstatus, $cachestatus, $uploadsstatus, $avatarsstatus);
if($showerror == 1)
|
// Output requirements page 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 1194 | Zeile 1223 |
---|
$output->print_footer('database_info'); } }
|
$output->print_footer('database_info'); } }
|
| /** * 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;
|
|
|
$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 1211 | Zeile 1243 |
---|
var element = $(this); element.addClass('db_settings'); if(dbengine+'_settings' == element.attr('id'))
|
var element = $(this); element.addClass('db_settings'); if(dbengine+'_settings' == element.attr('id'))
|
{
| {
|
element.show(); } else
| element.show(); } else
|
Zeile 1219 | Zeile 1251 |
---|
element.hide(); } });
|
element.hide(); } });
|
}
| }
|
$(function() { updateDBSettings();
| $(function() { updateDBSettings();
|
Zeile 1236 | Zeile 1268 |
---|
{ echo $lang->db_step_config_db; }
|
{ echo $lang->db_step_config_db; }
|
|
|
$dbengines = '';
// Loop through database engines
| $dbengines = '';
// Loop through database engines
|
Zeile 1245 | Zeile 1277 |
---|
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 {
| } else {
|
$dbengines .= "<option value=\"{$dbfile}\">{$dbtype['title']}</option>"; } }
| $dbengines .= "<option value=\"{$dbfile}\">{$dbtype['title']}</option>"; } }
|
Zeile 1259 | Zeile 1291 |
---|
$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 1271 | Zeile 1303 |
---|
if(empty($mybb->input['config'][$dbfile]['dbname'])) { $mybb->input['config'][$dbfile]['dbname'] = '';
|
if(empty($mybb->input['config'][$dbfile]['dbname'])) { $mybb->input['config'][$dbfile]['dbname'] = '';
|
}
| }
|
if(empty($mybb->input['config'][$dbfile]['dbuser'])) { $mybb->input['config'][$dbfile]['dbuser'] = '';
|
if(empty($mybb->input['config'][$dbfile]['dbuser'])) { $mybb->input['config'][$dbfile]['dbuser'] = '';
|
}
| }
|
if(empty($mybb->input['config'][$dbfile]['dbpass'])) { $mybb->input['config'][$dbfile]['dbpass'] = '';
| if(empty($mybb->input['config'][$dbfile]['dbpass'])) { $mybb->input['config'][$dbfile]['dbpass'] = '';
|
Zeile 1283 | Zeile 1315 |
---|
if(empty($mybb->input['config'][$dbfile]['encoding'])) { $mybb->input['config'][$dbfile]['encoding'] = "utf8";
|
if(empty($mybb->input['config'][$dbfile]['encoding'])) { $mybb->input['config'][$dbfile]['encoding'] = "utf8";
|
}
| }
|
$class = ''; if(empty($first) && !$mybb->get_input('dbengine')) {
| $class = ''; if(empty($first) && !$mybb->get_input('dbengine')) {
|
Zeile 1373 | Zeile 1405 |
---|
$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;
|
Zeile 1384 | Zeile 1419 |
---|
database_info(); }
|
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)
|
Zeile 1405 | Zeile 1440 |
---|
break; case "pgsql": $db = new DB_PgSQL;
|
break; case "pgsql": $db = new DB_PgSQL;
|
| break; case "pgsql_pdo": $db = new PostgresPdoDbDriver();
|
break; case "mysqli": $db = new DB_MySQLi;
|
break; case "mysqli": $db = new DB_MySQLi;
|
| break; case "mysql_pdo": $db = new MysqlPdoDbDriver();
|
break; default: $db = new DB_MySQL;
|
break; default: $db = new DB_MySQL;
|
}
| }
|
$db->error_reporting = 0;
|
$db->error_reporting = 0;
|
| if(!isset($config['encoding'])) { $config['encoding'] = null; }
|
$connect_array = array( "hostname" => $config['dbhost'],
| $connect_array = array( "hostname" => $config['dbhost'],
|
Zeile 1425 | Zeile 1471 |
---|
$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. if((!preg_match("#^[A-Za-z][A-Za-z0-9_]*$#", $config['tableprefix'])) && $config['tableprefix'] != '')
|
// Most DB engines only allow certain characters in the table name. Oracle requires an alphabetic character first. if((!preg_match("#^[A-Za-z][A-Za-z0-9_]*$#", $config['tableprefix'])) && $config['tableprefix'] != '')
|
{
| {
|
$errors[] = $lang->db_step_error_invalid_tableprefix; }
| $errors[] = $lang->db_step_error_invalid_tableprefix; }
|
Zeile 1446 | Zeile 1492 |
---|
$errors[] = $lang->db_step_error_tableprefix_too_long; }
|
$errors[] = $lang->db_step_error_tableprefix_too_long; }
|
if(($db->engine == 'mysql' || $db->engine == 'mysqli') && $config['encoding'] == 'utf8mb4' && version_compare($db->get_version(), '5.5.3', '<'))
| if($connection !== false && ($db->engine == 'mysql' || $db->engine == 'mysqli') && $config['encoding'] == 'utf8mb4' && version_compare($db->get_version(), '5.5.3', '<'))
|
{ $errors[] = $lang->db_step_error_utf8mb4_error; }
if(is_array($errors))
|
{ $errors[] = $lang->db_step_error_utf8mb4_error; }
if(is_array($errors))
|
{
| {
|
database_info(); }
// Decide if we can use a database encoding or not if($db->fetch_db_charsets() != false) {
|
database_info(); }
// 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 1519 |
---|
* * 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 1511 | Zeile 1555 |
---|
* The data cache is a temporary cache * of the most commonly accessed data in MyBB. * By default, the database is used to store this data.
|
* The data cache is a temporary cache * of the most commonly accessed data in MyBB. * By default, the database is used to store this data.
|
* * If you wish to use the file system (cache/ directory), MemCache (or MemCached), xcache, APC, or eAccelerator * you can change the value below to 'files', 'memcache', 'memcached', 'xcache', 'apc' or 'eaccelerator' from 'db'. */
| * * If you wish to use the file system (cache/ directory), MemCache (or MemCached), xcache, APC, APCu, eAccelerator or Redis * you can change the value below to 'files', 'memcache', 'memcached', 'xcache', 'apc', 'apcu', 'eaccelerator' or 'redis' from 'db'. */
|
\$config['cache_store'] = 'db';
/**
| \$config['cache_store'] = 'db';
/**
|
Zeile 1529 | Zeile 1573 |
---|
\$config['memcache']['host'] = 'localhost'; \$config['memcache']['port'] = 11211;
|
\$config['memcache']['host'] = 'localhost'; \$config['memcache']['port'] = 11211;
|
| /** * Redis configuration * If you are using Redis as your data-cache * you need to configure the hostname and port * of your redis server below. If you want * to connect via unix sockets, use the full * path to the unix socket as host and leave * the port setting unconfigured or false. */
\$config['redis']['host'] = 'localhost'; \$config['redis']['port'] = 6379;
|
/** * Super Administrators * A comma separated list of user IDs who cannot
| /** * Super Administrators * A comma separated list of user IDs who cannot
|
Zeile 1537 | Zeile 1594 |
---|
* The administrator permissions for these users * cannot be altered either. */
|
* The administrator permissions for these users * cannot be altered either. */
|
|
|
\$config['super_admins'] = '1';
/**
| \$config['super_admins'] = '1';
/**
|
Zeile 1546 | Zeile 1603 |
---|
* 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
|
*/
{$db_encoding}
/**
| */
{$db_encoding}
/**
|
* Automatic Log Pruning * The MyBB task system can automatically prune * various log files created by MyBB.
| * Automatic Log Pruning * The MyBB task system can automatically prune * various log files created by MyBB.
|
Zeile 1566 | Zeile 1623 |
---|
'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( '0.0.0.0', '127.0.0.0/8', '10.0.0.0/8', '172.16.0.0/12', '192.168.0.0/16',
|
);
";
| );
";
|
Zeile 1573 | Zeile 1662 |
---|
$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;
|
|
|
$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'];
|
$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'];
|
} else
| } else
|
{ $structure_file = 'mysql_db_tables.php';
|
{ $structure_file = 'mysql_db_tables.php';
|
}
| }
|
require_once INSTALL_ROOT."resources/{$structure_file}"; foreach($tables as $val)
| require_once INSTALL_ROOT."resources/{$structure_file}"; foreach($tables as $val)
|
Zeile 1595 | Zeile 1689 |
---|
$val = preg_replace('#mybb_(\S+?)([\s\.,\(]|$)#', $config['tableprefix'].'\\1\\2', $val); $val = preg_replace('#;$#', $db->build_create_table_collation().";", $val); preg_match('#CREATE TABLE (\S+)(\s?|\(?)\(#i', $val, $match);
|
$val = preg_replace('#mybb_(\S+?)([\s\.,\(]|$)#', $config['tableprefix'].'\\1\\2', $val); $val = preg_replace('#;$#', $db->build_create_table_collation().";", $val); preg_match('#CREATE TABLE (\S+)(\s?|\(?)\(#i', $val, $match);
|
if($match[1])
| if(!empty($match[1]))
|
{ $db->drop_table($match[1], false, false); echo $lang->sprintf($lang->tablecreate_step_created, $match[1]); } $db->query($val);
|
{ $db->drop_table($match[1], false, false); echo $lang->sprintf($lang->tablecreate_step_created, $match[1]); } $db->query($val);
|
if($match[1])
| if(!empty($match[1]))
|
{ echo $lang->done . "<br />\n"; }
| { echo $lang->done . "<br />\n"; }
|
Zeile 1610 | Zeile 1704 |
---|
$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 1654 | Zeile 1751 |
---|
$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 1690 | Zeile 1790 |
---|
require_once MYBB_ROOT."admin/inc/functions_themes.php"; } else
|
require_once MYBB_ROOT."admin/inc/functions_themes.php"; } else
|
{
| {
|
$output->print_error("Please make sure your admin directory is uploaded correctly."); } $theme_id = import_theme_xml($contents, array("templateset" => -2, "version_compat" => 1));
| $output->print_error("Please make sure your admin directory is uploaded correctly."); } $theme_id = import_theme_xml($contents, array("templateset" => -2, "version_compat" => 1));
|
Zeile 1709 | Zeile 1809 |
---|
// 1.8: Stylesheet Colors $contents = @file_get_contents(INSTALL_ROOT.'resources/mybb_theme_colors.xml');
|
// 1.8: Stylesheet Colors $contents = @file_get_contents(INSTALL_ROOT.'resources/mybb_theme_colors.xml');
|
require_once MYBB_ROOT."inc/class_xml.php"; $parser = new XMLParser($contents);
| $parser = create_xml_parser($contents);
|
$tree = $parser->get_tree();
if(is_array($tree) && is_array($tree['colors']))
| $tree = $parser->get_tree();
if(is_array($tree) && is_array($tree['colors']))
|
Zeile 1758 | Zeile 1857 |
---|
} }
|
} }
|
$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'); if(inp.value != inp.defaultValue) { if(!parenttr.next('.setting_peeker').length)
|
function warnUser(inp, warn) { var parenttr = $('#'+inp.id).closest('tr'); if(inp.value != inp.defaultValue) { if(!parenttr.next('.setting_peeker').length)
|
{
| {
|
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>'); }
|
Zeile 1790 | Zeile 1892 |
---|
} } }
|
} } }
|
|
|
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 1925 |
---|
{ $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 1934 |
---|
}
// 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 1960 |
---|
$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.'/';
$currentlocation = get_current_location(); if($currentlocation) { // TODO: Change this to find the last position of /install/ $pos = my_strpos($currentlocation, '/install/'); if($pos === 0)
| $port = ":{$_SERVER['SERVER_PORT']}"; $pos = strrpos($cookiedomain, $port);
if($pos !== false)
|
{
|
{
|
$cookiepath = "/";
| $cookiedomain = substr($cookiedomain, 0, $pos);
|
}
|
}
|
else
| if($_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443 && !preg_match("#:[0-9]#i", $hostname))
|
{
|
{
|
$cookiepath = my_substr($currentlocation, 0, $pos).'/';
| $hostname .= $port;
|
} }
|
} }
|
$currentscript = $hostname.get_current_location();
if($currentscript) { $bburl = my_substr($currentscript, 0, my_strpos($currentscript, '/install/')); }
if($_SERVER['SERVER_ADMIN'])
| $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'];
|
| } else { $contactemail = null;
|
} }
| } }
|
Zeile 1898 | Zeile 1997 |
---|
$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 1905 | Zeile 2007 |
---|
$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))
|
{
| {
|
if(empty($mybb->input['bburl'])) { $errors[] = $lang->config_step_error_url;
|
if(empty($mybb->input['bburl'])) { $errors[] = $lang->config_step_error_url;
|
}
| }
|
if(empty($mybb->input['bbname'])) { $errors[] = $lang->config_step_error_name;
|
if(empty($mybb->input['bbname'])) { $errors[] = $lang->config_step_error_name;
|
}
| }
|
if(is_array($errors)) { configure();
|
if(is_array($errors)) { configure();
|
}
| }
|
} $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 2040 |
---|
} } </script>
|
} } </script>
|
|
|
EOF;
if(is_array($errors))
| EOF;
if(is_array($errors))
|
Zeile 1957 | Zeile 2059 |
---|
$adminuser = $adminemail = '';
$settings = file_get_contents(INSTALL_ROOT.'resources/settings.xml');
|
$adminuser = $adminemail = '';
$settings = file_get_contents(INSTALL_ROOT.'resources/settings.xml');
|
$parser = new XMLParser($settings);
| $parser = create_xml_parser($settings);
|
$parser->collapse_dups = 0; $tree = $parser->get_tree(); $groupcount = $settingcount = 0;
| $parser->collapse_dups = 0; $tree = $parser->get_tree(); $groupcount = $settingcount = 0;
|
Zeile 2028 | Zeile 2130 |
---|
include_once MYBB_ROOT."inc/functions_task.php"; $tasks = file_get_contents(INSTALL_ROOT.'resources/tasks.xml');
|
include_once MYBB_ROOT."inc/functions_task.php"; $tasks = file_get_contents(INSTALL_ROOT.'resources/tasks.xml');
|
$parser = new XMLParser($tasks);
| $parser = create_xml_parser($tasks);
|
$parser->collapse_dups = 0; $tree = $parser->get_tree(); $taskcount = 0;
| $parser->collapse_dups = 0; $tree = $parser->get_tree(); $taskcount = 0;
|
Zeile 2066 | Zeile 2168 |
---|
echo $lang->sprintf($lang->admin_step_insertedtasks, $taskcount);
$views = file_get_contents(INSTALL_ROOT.'resources/adminviews.xml');
|
echo $lang->sprintf($lang->admin_step_insertedtasks, $taskcount);
$views = file_get_contents(INSTALL_ROOT.'resources/adminviews.xml');
|
$parser = new XMLParser($views);
| $parser = create_xml_parser($views);
|
$parser->collapse_dups = 0; $tree = $parser->get_tree(); $view_count = 0;
| $parser->collapse_dups = 0; $tree = $parser->get_tree(); $view_count = 0;
|
Zeile 2108 | Zeile 2210 |
---|
"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 2127 | Zeile 2229 |
---|
echo $lang->sprintf($lang->admin_step_admintable, $adminuser, $adminemail); $output->print_footer('final');
|
echo $lang->sprintf($lang->admin_step_admintable, $adminuser, $adminemail); $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 2142 | Zeile 2247 |
---|
$errors[] = $lang->admin_step_error_nopassword; } if($mybb->get_input('adminpass') != $mybb->get_input('adminpass2'))
|
$errors[] = $lang->admin_step_error_nopassword; } if($mybb->get_input('adminpass') != $mybb->get_input('adminpass2'))
|
{
| {
|
$errors[] = $lang->admin_step_error_nomatch; } if(empty($mybb->input['adminemail']))
|
$errors[] = $lang->admin_step_error_nomatch; } if(empty($mybb->input['adminemail']))
|
{
| {
|
$errors[] = $lang->admin_step_error_noemail; } if(is_array($errors))
| $errors[] = $lang->admin_step_error_noemail; } if(is_array($errors))
|
Zeile 2164 | Zeile 2269 |
---|
$output->print_header($lang->finish_setup, 'finish');
echo $lang->done_step_usergroupsinserted;
|
$output->print_header($lang->finish_setup, 'finish');
echo $lang->done_step_usergroupsinserted;
|
|
|
// Insert all of our user groups from the XML file $usergroup_settings = file_get_contents(INSTALL_ROOT.'resources/usergroups.xml');
|
// Insert all of our user groups from the XML file $usergroup_settings = file_get_contents(INSTALL_ROOT.'resources/usergroups.xml');
|
$parser = new XMLParser($usergroup_settings);
| $parser = create_xml_parser($usergroup_settings);
|
$parser->collapse_dups = 0; $tree = $parser->get_tree();
| $parser->collapse_dups = 0; $tree = $parser->get_tree();
|
Zeile 2178 | Zeile 2283 |
---|
// usergroup[cancp][0][value] $new_group = array(); foreach($usergroup as $key => $value)
|
// usergroup[cancp][0][value] $new_group = array(); foreach($usergroup as $key => $value)
|
{
| {
|
if(!is_array($value)) { continue;
| if(!is_array($value)) { continue;
|
Zeile 2194 | Zeile 2299 |
---|
$admin_gid = $usergroup['gid'][0]['value']; } $group_count++;
|
$admin_gid = $usergroup['gid'][0]['value']; } $group_count++;
|
}
| }
|
// 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));");
|
// 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;
| echo $lang->done . '</p>';
echo $lang->done_step_admincreated;
|
Zeile 2221 | Zeile 2326 |
---|
'lastactive' => $now, 'lastvisit' => $now, 'website' => '',
|
'lastactive' => $now, 'lastvisit' => $now, 'website' => '',
|
'icq' => '', 'aim' => '', 'yahoo' => '',
| |
'skype' =>'', 'google' =>'', 'birthday' => '',
| 'skype' =>'', 'google' =>'', 'birthday' => '',
|
Zeile 2234 | Zeile 2336 |
---|
'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 2253 | Zeile 2357 |
---|
'referrer' => 0, 'buddylist' => '', 'ignorelist' => '',
|
'referrer' => 0, 'buddylist' => '', 'ignorelist' => '',
|
'pmfolders' => '',
| 'pmfolders' => "0**$%%$1**$%%$2**$%%$3**$%%$4**",
|
'notepad' => '', 'showredirect' => 1, 'usernotes' => ''
| 'notepad' => '', 'showredirect' => 1, 'usernotes' => ''
|
Zeile 2263 | Zeile 2367 |
---|
echo $lang->done_step_adminoptions; $adminoptions = file_get_contents(INSTALL_ROOT.'resources/adminoptions.xml');
|
echo $lang->done_step_adminoptions; $adminoptions = file_get_contents(INSTALL_ROOT.'resources/adminoptions.xml');
|
$parser = new XMLParser($adminoptions);
| $parser = create_xml_parser($adminoptions);
|
$parser->collapse_dups = 0; $tree = $parser->get_tree(); $insertmodule = array();
| $parser->collapse_dups = 0; $tree = $parser->get_tree(); $insertmodule = array();
|
Zeile 2293 | Zeile 2397 |
---|
'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 2410 |
---|
// 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 2340 | Zeile 2444 |
---|
$cache->update_posticons(); $cache->update_spiders(); $cache->update_bannedips();
|
$cache->update_posticons(); $cache->update_spiders(); $cache->update_bannedips();
|
$cache->update_banned();
| |
$cache->update_bannedemails(); $cache->update_birthdays(); $cache->update_groupleaders(); $cache->update_threadprefixes(); $cache->update_forumsdisplay(); $cache->update("plugins", array());
|
$cache->update_bannedemails(); $cache->update_birthdays(); $cache->update_groupleaders(); $cache->update_threadprefixes(); $cache->update_forumsdisplay(); $cache->update("plugins", array());
|
| $cache->update("mostonline", array( 'numusers' => 0, 'time' => 0, ));
|
$cache->update("internal_settings", array('encryption_key' => random_str(32))); $cache->update_default_theme();
|
$cache->update("internal_settings", array('encryption_key' => random_str(32))); $cache->update_default_theme();
|
| $cache->update_reportreasons(true);
|
$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))
| { if(preg_match("#upgrade(\d+(p\d+)*).php$#i", $file, $match))
|
{ $version_history[$match[1]] = $match[1];
|
{ $version_history[$match[1]] = $match[1];
|
} } sort($version_history, SORT_NUMERIC);
| } } natsort($version_history);
|
$cache->update("version_history", $version_history);
// Schedule an update check so it occurs an hour ago. Gotta stay up to date!
| $cache->update("version_history", $version_history);
// Schedule an update check so it occurs an hour ago. Gotta stay up to date!
|
Zeile 2375 | Zeile 2483 |
---|
$written = 0; if(is_writable('./'))
|
$written = 0; if(is_writable('./'))
|
{
| {
|
$lock = @fopen('./lock', 'w');
|
$lock = @fopen('./lock', 'w');
|
$written = @fwrite($lock, '1'); @fclose($lock); if($written)
| if($lock !== false)
|
{
|
{
|
echo $lang->done_step_locked;
| $written = @fwrite($lock, '1'); @fclose($lock);
if($written) { echo $lang->done_step_locked; }
|
}
|
}
|
}
| }
|
if(!$written) { echo $lang->done_step_dirdelete;
| if(!$written) { echo $lang->done_step_dirdelete;
|
Zeile 2392 | Zeile 2505 |
---|
$output->print_footer(''); }
|
$output->print_footer(''); }
|
| /** * @param array $config * * @return DB_MySQL|DB_MySQLi|DB_PgSQL|DB_SQLite|PostgresPdoDbDriver|MysqlPdoDbDriver */
|
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 2402 | Zeile 2520 |
---|
break; case "pgsql": $db = new DB_PgSQL;
|
break; case "pgsql": $db = new DB_PgSQL;
|
| break; case "pgsql_pdo": $db = new PostgresPdoDbDriver();
|
break; case "mysqli": $db = new DB_MySQLi;
|
break; case "mysqli": $db = new DB_MySQLi;
|
| break; case "mysql_pdo": $db = new MysqlPdoDbDriver();
|
break; default: $db = new DB_MySQL;
|
break; default: $db = new DB_MySQL;
|
}
| }
|
// 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; }
|
| /** * @param array $array * * @return string */
|
function error_list($array) { $string = "<ul>\n";
| function error_list($array) { $string = "<ul>\n";
|
Zeile 2431 | Zeile 2560 |
---|
return $string; }
|
return $string; }
|
| /** * Write our settings to the settings file */
|
function write_settings() { global $db;
| function write_settings() { global $db;
|
Zeile 2439 | Zeile 2571 |
---|
$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 2583 |
---|
fclose($file); } }
|
fclose($file); } }
|
?>
| |