Zeile 67 | Zeile 67 |
---|
// Include the necessary constants for installation $grouppermignore = array('gid', 'type', 'title', 'description', 'namestyle', 'usertitle', 'stars', 'starimage', 'image');
|
// Include the necessary constants for installation $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 193 | Zeile 193 |
---|
{ global $output, $mybb, $lang;
|
{ 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 1443 | 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 1477 | 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 1493 | 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 1586 | Zeile 1584 |
---|
'promotion_logs' => 180 // Promotion 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', );
";
|
$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 1601 | Zeile 1635 |
---|
if($dboptions[$mybb->input['dbengine']]['structure_file']) { $structure_file = $dboptions[$mybb->input['dbengine']]['structure_file'];
|
if($dboptions[$mybb->input['dbengine']]['structure_file']) { $structure_file = $dboptions[$mybb->input['dbengine']]['structure_file'];
|
}
| }
|
else { $structure_file = 'mysql_db_tables.php';
| else { $structure_file = 'mysql_db_tables.php';
|
Zeile 1613 | 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 1627 | Zeile 1661 |
---|
echo $lang->tablecreate_step_done; $output->print_footer('populate_tables'); }
|
echo $lang->tablecreate_step_done; $output->print_footer('populate_tables'); }
|
|
|
/** * Insert our default data */ function populate_tables() { global $output, $lang;
|
/** * Insert our default data */ function populate_tables() { global $output, $lang;
|
|
|
require MYBB_ROOT.'inc/config.php'; $db = db_connection($config);
| require MYBB_ROOT.'inc/config.php'; $db = db_connection($config);
|
Zeile 1648 | Zeile 1682 |
---|
else { $population_file = 'mysql_db_inserts.php';
|
else { $population_file = 'mysql_db_inserts.php';
|
}
| }
|
require_once INSTALL_ROOT."resources/{$population_file}"; foreach($inserts as $val) { $val = preg_replace('#mybb_(\S+?)([\s\.,]|$)#', $config['database']['table_prefix'].'\\1\\2', $val); $db->query($val);
|
require_once INSTALL_ROOT."resources/{$population_file}"; foreach($inserts as $val) { $val = preg_replace('#mybb_(\S+?)([\s\.,]|$)#', $config['database']['table_prefix'].'\\1\\2', $val); $db->query($val);
|
}
| }
|
// Update the sequences for PgSQL if($config['database']['type'] == "pgsql") {
| // Update the sequences for PgSQL if($config['database']['type'] == "pgsql") {
|
Zeile 1796 | Zeile 1830 |
---|
global $output, $mybb, $errors, $lang;
$output->print_header($lang->board_config, 'config');
|
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 1817 | Zeile 1851 |
---|
} } }
|
} } }
|
|
|
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 if(is_array($errors))
|
EOF;
// If board configuration errors if(is_array($errors))
|
{
| {
|
$error_list = error_list($errors); echo $lang->sprintf($lang->config_step_error_config, $error_list);
| $error_list = error_list($errors); echo $lang->sprintf($lang->config_step_error_config, $error_list);
|
Zeile 1859 | 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']; }
if(my_substr($cookiedomain, 0, 4) == "www.")
|
{ $hostname = $protocol.$_SERVER['SERVER_NAME']; $cookiedomain = $_SERVER['SERVER_NAME']; }
if(my_substr($cookiedomain, 0, 4) == "www.")
|
{
| {
|
$cookiedomain = substr($cookiedomain, 4); }
| $cookiedomain = substr($cookiedomain, 4); }
|
Zeile 1883 | Zeile 1917 |
---|
else { $cookiedomain = ".{$cookiedomain}";
|
else { $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']; }
|
}
echo $lang->sprintf($lang->config_step_table, $bbname, $bburl, $websitename, $websiteurl, $cookiedomain, $cookiepath, $contactemail);
| }
echo $lang->sprintf($lang->config_step_table, $bbname, $bburl, $websitename, $websiteurl, $cookiedomain, $cookiepath, $contactemail);
|
Zeile 1923 | Zeile 1972 |
---|
$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 1946 | Zeile 1995 |
---|
} } </script>
|
} } </script>
|
|
|
EOF;
if(is_array($errors))
| EOF;
if(is_array($errors))
|
Zeile 2362 | Zeile 2411 |
---|
$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");
|