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');
// Load DB interface require_once MYBB_ROOT."inc/db_base.php";
|
$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'); $fpermfields = array('canview', 'canviewthreads', 'candlattachments', 'canpostthreads', 'canpostreplys', 'canpostattachments', 'canratethreads', 'caneditposts', 'candeleteposts', 'candeletethreads', 'caneditattachments', 'canpostpolls', 'canvotepolls', 'cansearch', 'modposts', 'modthreads', 'modattachments', 'mod_edit_posts');
| $displaygroupfields = array('title', 'description', 'namestyle', 'usertitle', 'stars', 'starimage', 'image'); $fpermfields = array('canview', 'canviewthreads', 'candlattachments', 'canpostthreads', 'canpostreplys', 'canpostattachments', 'canratethreads', 'caneditposts', 'candeleteposts', 'candeletethreads', 'caneditattachments', 'canpostpolls', 'canvotepolls', 'cansearch', 'modposts', 'modthreads', 'modattachments', 'mod_edit_posts');
|
Zeile 106 | Zeile 106 |
---|
'title' => 'PostgreSQL', 'short_title' => 'PostgreSQL', 'structure_file' => 'pgsql_db_tables.php',
|
'title' => 'PostgreSQL', 'short_title' => 'PostgreSQL', 'structure_file' => 'pgsql_db_tables.php',
|
'population_file' => 'mysql_db_inserts.php'
| 'population_file' => 'pgsql_db_inserts.php'
|
); }
| ); }
|
Zeile 120 | 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' ); }
|
Zeile 128 | Zeile 148 |
---|
if(file_exists('lock') && $mybb->dev_mode != true) { $output->print_error($lang->locked);
|
if(file_exists('lock') && $mybb->dev_mode != true) { $output->print_error($lang->locked);
|
}
| }
|
else if($installed == true && empty($mybb->input['action'])) { $output->print_header($lang->already_installed, "errormsg", 0);
| else if($installed == true && empty($mybb->input['action'])) { $output->print_header($lang->already_installed, "errormsg", 0);
|
Zeile 151 | Zeile 171 |
---|
);
switch($mybb->get_input('action'))
|
);
switch($mybb->get_input('action'))
|
{
| {
|
case 'license': license_agreement();
|
case 'license': license_agreement();
|
break;
| break;
|
case 'requirements_check': requirements_check();
|
case 'requirements_check': requirements_check();
|
break;
| break;
|
case 'database_info': database_info(); break; case 'create_tables': create_tables();
|
case 'database_info': database_info(); break; case 'create_tables': create_tables();
|
break;
| break;
|
case 'populate_tables': populate_tables(); break;
| case 'populate_tables': populate_tables(); break;
|
Zeile 186 | Zeile 206 |
---|
} }
|
} }
|
| /** * Welcome page */
|
function intro() { global $output, $mybb, $lang;
|
function intro() { global $output, $mybb, $lang;
|
$output->print_header($lang->welcome, 'welcome');
| $output->print_header();
|
if(strpos(strtolower(get_current_location('', '', true)), '/upload/') !== false) { echo $lang->sprintf($lang->mybb_incorrect_folder);
| if(strpos(strtolower(get_current_location('', '', true)), '/upload/') !== false) { echo $lang->sprintf($lang->mybb_incorrect_folder);
|
Zeile 199 | 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 672 | Zeile 698 |
---|
Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
|
Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
|
|
|
e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no
| e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no
|
Zeile 813 | Zeile 839 |
---|
received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
|
received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
|
|
|
Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently
| Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently
|
Zeile 954 | Zeile 980 |
---|
the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
|
the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
|
|
|
Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the
| Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the
|
Zeile 1013 | Zeile 1039 |
---|
$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 1046 | Zeile 1075 |
---|
else { $phpversion = $lang->sprintf($lang->req_step_span_pass, PHP_VERSION);
|
else { $phpversion = $lang->sprintf($lang->req_step_span_pass, PHP_VERSION);
|
}
| }
|
$mboptions = array();
|
$mboptions = array();
|
|
|
if(function_exists('mb_detect_encoding')) { $mboptions[] = $lang->multi_byte;
|
if(function_exists('mb_detect_encoding')) { $mboptions[] = $lang->multi_byte;
|
}
| }
|
if(function_exists('iconv'))
|
if(function_exists('iconv'))
|
{
| {
|
$mboptions[] = 'iconv'; }
| $mboptions[] = 'iconv'; }
|
Zeile 1064 | Zeile 1093 |
---|
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 { $mbstatus = implode(', ', $mboptions);
| else { $mbstatus = implode(', ', $mboptions);
|
Zeile 1075 | Zeile 1104 |
---|
{ $errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_dboptions); $dbsupportlist = $lang->sprintf($lang->req_step_span_fail, $lang->none);
|
{ $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']; } $dbsupportlist = implode(', ', $dbsupportlist);
|
foreach($dboptions as $dboption) { $dbsupportlist[] = $dboption['title']; } $dbsupportlist = implode(', ', $dbsupportlist);
|
}
| }
|
// Check XML parser is installed if(!function_exists('xml_parser_create')) { $errors[] = $lang->sprintf($lang->req_step_error_box, $lang->req_step_error_xmlsupport); $xmlstatus = $lang->sprintf($lang->req_step_span_fail, $lang->not_installed);
|
// Check XML parser is installed if(!function_exists('xml_parser_create')) { $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
| $showerror = 1; } else
|
{ $xmlstatus = $lang->sprintf($lang->req_step_span_pass, $lang->installed); }
| { $xmlstatus = $lang->sprintf($lang->req_step_span_pass, $lang->installed); }
|
Zeile 1104 | 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; } else
| $showerror = 1; } else
|
{ $configstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable); }
| { $configstatus = $lang->sprintf($lang->req_step_span_pass, $lang->writable); }
|
Zeile 1198 | Zeile 1227 |
---|
} }
|
} }
|
| /** * 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 1376 | Zeile 1408 |
---|
$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 1408 | Zeile 1443 |
---|
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; } $db->error_reporting = 0;
|
break; default: $db = new DB_MySQL; } $db->error_reporting = 0;
|
| if(!isset($config['encoding'])) { $config['encoding'] = null; }
|
$connect_array = array( "hostname" => $config['dbhost'],
| $connect_array = array( "hostname" => $config['dbhost'],
|
Zeile 1427 | Zeile 1473 |
---|
$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'] != '') {
|
Zeile 1447 | Zeile 1493 |
---|
if(strlen($config['tableprefix']) > 40) { $errors[] = $lang->db_step_error_tableprefix_too_long;
|
if(strlen($config['tableprefix']) > 40) { $errors[] = $lang->db_step_error_tableprefix_too_long;
|
}
if(($db->engine == 'mysql' || $db->engine == 'mysqli') && $config['encoding'] == 'utf8mb4' && version_compare($db->get_version(), '5.5.3', '<'))
| }
if($connection !== false && ($db->engine == 'mysql' || $db->engine == 'mysqli') && $config['encoding'] == 'utf8mb4' && version_compare($db->get_version(), '5.5.3', '<'))
|
{ $errors[] = $lang->db_step_error_utf8mb4_error;
|
{ $errors[] = $lang->db_step_error_utf8mb4_error;
|
}
| }
|
if(is_array($errors)) {
| if(is_array($errors)) {
|
Zeile 1461 | Zeile 1507 |
---|
// 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 1478 | Zeile 1522 |
---|
* * 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 1515 | Zeile 1559 |
---|
* of the most commonly accessed data in MyBB. * By default, the database is used to store this data. *
|
* 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 1532 | Zeile 1576 |
---|
\$config['memcache']['host'] = 'localhost'; \$config['memcache']['port'] = 11211;
|
\$config['memcache']['host'] = 'localhost'; \$config['memcache']['port'] = 11211;
|
| /** * Redis configuration * If you are using Redis as your data-cache * you need to configure the hostname and port * of your redis server below. If you want * to connect via unix sockets, use the full * path to the unix socket as host and leave * the port setting unconfigured or false. */
\$config['redis']['host'] = 'localhost'; \$config['redis']['port'] = 6379;
|
/** * Super Administrators
| /** * Super Administrators
|
Zeile 1569 | Zeile 1626 |
---|
'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 1576 | Zeile 1664 |
---|
$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 1598 | Zeile 1691 |
---|
$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 1613 | Zeile 1706 |
---|
$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 1626 | Zeile 1722 |
---|
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 1655 | Zeile 1751 |
---|
echo $lang->populate_step_inserted; $output->print_footer('templates');
|
echo $lang->populate_step_inserted; $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 1712 | Zeile 1811 |
---|
// 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();
|
$tree = $parser->get_tree();
|
|
|
if(is_array($tree) && is_array($tree['colors'])) { if(is_array($tree['colors']['scheme']))
| if(is_array($tree) && is_array($tree['colors'])) { if(is_array($tree['colors']['scheme']))
|
Zeile 1767 | Zeile 1865 |
---|
$output->print_footer('configuration'); }
|
$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 1784 | Zeile 1885 |
---|
{ 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 1835 | Zeile 1936 |
---|
}
// 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'];
|
Zeile 1861 | Zeile 1962 |
---|
$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'];
| $port = ":{$_SERVER['SERVER_PORT']}"; $pos = strrpos($cookiedomain, $port);
if($pos !== false) { $cookiedomain = substr($cookiedomain, 0, $pos); }
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/'));
|
$currentlocation = get_current_location('', '', true); $noinstall = substr($currentlocation, 0, strrpos($currentlocation, '/install/'));
|
|
|
$cookiepath = $noinstall.'/'; $bburl = $hostname.$noinstall; $websiteurl = $hostname.'/';
|
$cookiepath = $noinstall.'/'; $bburl = $hostname.$noinstall; $websiteurl = $hostname.'/';
|
$contactemail = $_SERVER['SERVER_ADMIN']; }
| if(isset($_SERVER['SERVER_ADMIN']) && filter_var($_SERVER['SERVER_ADMIN'], FILTER_VALIDATE_EMAIL)) { $contactemail = $_SERVER['SERVER_ADMIN']; } else { $contactemail = null; } }
|
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'); }
|
| /** * 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 1896 | Zeile 2019 |
---|
$errors[] = $lang->config_step_error_name; } if(is_array($errors))
|
$errors[] = $lang->config_step_error_name; } if(is_array($errors))
|
{
| {
|
configure(); } } $output->print_header($lang->create_admin, 'admin');
|
configure(); } } $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 1919 | Zeile 2042 |
---|
} } </script>
|
} } </script>
|
|
|
EOF;
if(is_array($errors))
| EOF;
if(is_array($errors))
|
Zeile 1938 | Zeile 2061 |
---|
$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 2009 | Zeile 2132 |
---|
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 2047 | Zeile 2170 |
---|
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 2110 | Zeile 2233 |
---|
$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 2148 | Zeile 2274 |
---|
// 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 2203 | Zeile 2329 |
---|
'lastvisit' => $now, 'website' => '', 'icq' => '',
|
'lastvisit' => $now, 'website' => '', 'icq' => '',
|
'aim' => '', 'yahoo' => '',
| |
'skype' =>'', 'google' =>'', 'birthday' => '',
| 'skype' =>'', 'google' =>'', 'birthday' => '',
|
Zeile 2215 | Zeile 2339 |
---|
'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 2234 | Zeile 2360 |
---|
'referrer' => 0, 'buddylist' => '', 'ignorelist' => '',
|
'referrer' => 0, 'buddylist' => '', 'ignorelist' => '',
|
'pmfolders' => '',
| 'pmfolders' => "0**$%%$1**$%%$2**$%%$3**$%%$4**",
|
'notepad' => '', 'showredirect' => 1, 'usernotes' => ''
| 'notepad' => '', 'showredirect' => 1, 'usernotes' => ''
|
Zeile 2244 | Zeile 2370 |
---|
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 2287 | Zeile 2413 |
---|
// 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 2321 | Zeile 2447 |
---|
$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_bannedemails(); $cache->update_birthdays(); $cache->update_groupleaders();
|
Zeile 2330 | Zeile 2455 |
---|
$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 2373 | Zeile 2499 |
---|
$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"; switch($config['database']['type'])
|
function db_connection($config) { require_once MYBB_ROOT."inc/db_{$config['database']['type']}.php"; switch($config['database']['type'])
|
{
| {
|
case "sqlite": $db = new DB_SQLite; break; case "pgsql": $db = new DB_PgSQL;
|
case "sqlite": $db = new DB_SQLite; break; case "pgsql": $db = new DB_PgSQL;
|
| break; case "pgsql_pdo": $db = new PostgresPdoDbDriver();
|
break; case "mysqli": $db = new DB_MySQLi;
|
break; case "mysqli": $db = new DB_MySQLi;
|
| break; case "mysql_pdo": $db = new MysqlPdoDbDriver();
|
break; default: $db = new DB_MySQL;
| break; default: $db = new DB_MySQL;
|
Zeile 2397 | Zeile 2534 |
---|
$db->connect($config['database']); $db->set_table_prefix(TABLE_PREFIX); $db->type = $config['database']['type'];
|
$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 2412 | Zeile 2554 |
---|
return $string; }
|
return $string; }
|
| /** * Write our settings to the settings file */
|
function write_settings() { global $db;
| function write_settings() { global $db;
|
Zeile 2420 | Zeile 2565 |
---|
$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))
|