public function __construct() { global $db, $template, $user; global $quickinstall_path, $phpbb_root_path, $phpEx, $config, $qi_config; // list of boards $boards_arr = scandir($quickinstall_path . $qi_config['boards_dir']); $s_has_forums = false; foreach ($boards_arr as $board) { if (in_array($board, array('.', '..', '.svn', '.htaccess', '.git'), true) || is_file($quickinstall_path . 'boards/' . $board)) { continue; } $s_has_forums = true; $template->assign_block_vars('row', array('BOARD_NAME' => htmlspecialchars($board), 'BOARD_URL' => $quickinstall_path . $qi_config['boards_dir'] . urlencode($board))); } // list of alternate enviroments $alt_env = '<option value="">' . $user->lang['DEFAULT_ENV'] . '</option>'; $d = dir($quickinstall_path . 'sources/phpBB3_alt'); while (false !== ($file = $d->read())) { if (in_array($file, array('.', '..', '.svn', '.htaccess'), true) || is_file($quickinstall_path . 'sources/phpBB3_alt/' . $file)) { continue; } $alt_env .= '<option>' . htmlspecialchars($file) . '</option>'; } $d->close(); // Assign index specific vars $template->assign_vars(array('U_CREATE' => qi::url('create'), 'S_IN_INSTALL' => false, 'S_IN_SETTINGS' => false, 'S_HAS_FORUMS' => $s_has_forums, 'TABLE_PREFIX' => htmlspecialchars($qi_config['table_prefix']), 'SITE_NAME' => $qi_config['site_name'], 'SITE_DESC' => $qi_config['site_desc'], 'S_AUTOMOD' => empty($qi_config['automod']) ? false : true, 'S_MAKE_WRITABLE' => empty($qi_config['make_writable']) ? false : true, 'S_POPULATE' => empty($qi_config['populate']) ? false : true, 'S_REDIRECT' => empty($qi_config['redirect']) ? false : true, 'S_SUBSILVER' => empty($qi_config['subsilver']) ? false : $qi_config['subsilver'], 'ALT_ENV' => $alt_env, 'PAGE_MAIN' => true, 'NUM_USERS' => !empty($qi_config['num_users']) ? $qi_config['num_users'] : 0, 'NUM_NEW_GROUP' => !empty($qi_config['num_new_group']) ? $qi_config['num_new_group'] : 0, 'CREATE_MOD' => !empty($qi_config['create_mod']) ? 1 : 0, 'CREATE_ADMIN' => !empty($qi_config['create_admin']) ? 1 : 0, 'NUM_CATS' => !empty($qi_config['num_cats']) ? $qi_config['num_cats'] : 0, 'NUM_FORUMS' => !empty($qi_config['num_forums']) ? $qi_config['num_forums'] : 0, 'NUM_TOPICS_MIN' => !empty($qi_config['num_topics_min']) ? $qi_config['num_topics_min'] : 0, 'NUM_TOPICS_MAX' => !empty($qi_config['num_topics_max']) ? $qi_config['num_topics_max'] : 0, 'NUM_REPLIES_MIN' => !empty($qi_config['num_replies_min']) ? $qi_config['num_replies_min'] : 0, 'NUM_REPLIES_MAX' => !empty($qi_config['num_replies_max']) ? $qi_config['num_replies_max'] : 0, 'EMAIL_DOMAIN' => !empty($qi_config['email_domain']) ? $qi_config['email_domain'] : '')); // Output page qi::page_header($user->lang['QI_MAIN'], $user->lang['QI_MAIN_ABOUT']); $template->set_filenames(array('body' => 'main_body.html')); qi::page_footer(); }
public function __construct() { global $db, $template, $user; global $quickinstall_path, $phpbb_root_path, $phpEx, $config, $qi_config; if ($qi_config['version_check']) { // we use this for get_remote_file() include $phpbb_root_path . 'includes/functions_admin.' . $phpEx; // Get current and latest version $errstr = ''; $errno = 0; $info = get_remote_file('phpbbmodders.net', '/files/updatecheck', 'quickinstall.txt', $errstr, $errno); if ($info !== false) { list($latest_version, $announcement_url) = explode("\n", $info); $up_to_date = version_compare(str_replace('rc', 'RC', strtolower($qi_config['qi_version'])), str_replace('rc', 'RC', strtolower($latest_version)), '<') ? false : true; $template->assign_vars(array('UP_TO_DATE' => $up_to_date, 'L_UPDATE' => sprintf($user->lang['UPDATE_TO'], $announcement_url, $latest_version))); } } $changelog_file = $quickinstall_path . 'changelog.xml'; if ($use_changelog = file_exists($changelog_file)) { // let's get the changelog :) $automod_path = ''; if (file_exists($quickinstall_path . 'sources/automod/includes')) { // Let's assume they copied the contents. $automod_path = $quickinstall_path . 'sources/automod/'; } else { if (file_exists($quickinstall_path . 'sources/automod/root/includes')) { // They copied to complete root to automod instead of its contents. $automod_path = $quickinstall_path . 'sources/automod/root/'; } else { if (file_exists($quickinstall_path . 'sources/automod/upload/includes')) { // They copied to complete upload directory to automod instead of its contents. $automod_path = $quickinstall_path . 'sources/automod/upload/'; } else { trigger_error($user->lang['NO_AUTOMOD']); } } } include $automod_path . 'includes/mod_parser.' . $phpEx; $xml_parser = new xml_array(); $data = $xml_parser->parse($changelog_file, file_get_contents($changelog_file)); foreach ($data[0]['children']['ENTRY'] as &$entry) { list($year, $month, $day) = explode('-', $entry['children']['DATE'][0]['data']); $template->assign_block_vars('history', array('DATE' => qi::format_date(mktime(null, null, null, intval($month), intval($day), intval($year)), 'Y-m-d'), 'VERSION' => $entry['children']['VERSION'][0]['data'])); foreach ($entry['children']['CHANGELOG'][0]['children']['CHANGE'] as &$change) { $template->assign_block_vars('history.changelog', array('CHANGE' => htmlspecialchars($change['data']))); } } } $template->assign_vars(array('S_IN_INSTALL' => false, 'S_IN_SETTINGS' => false, 'S_ALLOW_VERSION_CHECK' => $qi_config['version_check'], 'S_ALLOW_CHANGELOG' => $use_changelog, 'PAGE_MAIN' => false)); // Output page qi::page_header($user->lang['QI_ABOUT'], $user->lang['QI_ABOUT_ABOUT']); $template->set_filenames(array('body' => 'about_body.html')); qi::page_footer(); }
public function __construct() { global $db, $template, $user, $settings; global $quickinstall_path, $phpbb_root_path, $phpEx, $config; get_installed_boards(); $profiles = $settings->get_profiles(); // Some error? if ($settings->get_config('error', 0)) { $error_msg = $settings->get_config('error_msg', '', true); $error_msg = htmlspecialchars_decode($error_msg); $template->assign_var('ERROR_MSG', $error_msg); } // Assign index specific vars $template->assign_vars(array('U_CREATE' => qi::url('create'), 'U_CHOOSE_PROFILE' => qi::url('main', array('mode' => 'change_profile')), 'TABLE_PREFIX' => $settings->get_config('table_prefix', ''), 'DB_PERFIX' => htmlspecialchars($settings->get_config('db_prefix', '')), 'SITE_NAME' => $settings->get_config('site_name', ''), 'SITE_DESC' => $settings->get_config('site_desc', ''), 'PROFILE_COUNT' => $profiles['count'], 'PROFILE_OPTIONS' => $profiles['options'], 'DBNAME' => $settings->get_config('dbname', ''), 'INSTALL_STYLES' => $settings->get_config('install_styles', 0), 'DEFAULT_STYLE' => $settings->get_config('default_style', ''), 'S_ERROR' => $settings->get_config('error', 0), 'ERROR_TITLE' => $settings->get_config('error_title', ''), 'S_AUTOMOD' => $settings->get_config('automod', 0), 'S_DELETE_FILES' => $settings->get_config('delete_files', 0), 'S_DROP_DB' => $settings->get_config('drop_db', 0), 'S_MAKE_WRITABLE' => $settings->get_config('make_writable', 0), 'S_POPULATE' => $settings->get_config('populate', 0), 'S_REDIRECT' => $settings->get_config('redirect', 0), 'S_ADMIN_NAME' => $settings->get_config('admin_name', false), 'S_ADMIN_PASS' => $settings->get_config('admin_pass', false), 'S_DBPASSWD' => $settings->get_config('dbpasswd', false), 'S_NODBPASSWD' => $settings->get_config('no_dbpasswd', false), 'S_DBUSER' => $settings->get_config('dbuser', false), 'S_MAIN' => true, 'ALT_ENV' => get_alternative_env($settings->get_config('alt_env')), 'CHUNK_POST' => $settings->get_config('chunk_post', 0), 'CHUNK_TOPIC' => $settings->get_config('chunk_topic', 0), 'CHUNK_USER' => $settings->get_config('chunk_user', 0), 'NUM_USERS' => $settings->get_config('num_users', 0), 'NUM_NEW_GROUP' => $settings->get_config('num_new_group', 0), 'CREATE_MOD' => $settings->get_config('create_mod', 0), 'CREATE_ADMIN' => $settings->get_config('create_admin', 0), 'NUM_CATS' => $settings->get_config('num_cats', 0), 'NUM_FORUMS' => $settings->get_config('num_forums', 0), 'NUM_TOPICS_MIN' => $settings->get_config('num_topics_min', 0), 'NUM_TOPICS_MAX' => $settings->get_config('num_topics_max', 0), 'NUM_REPLIES_MIN' => $settings->get_config('num_replies_min', 0), 'NUM_REPLIES_MAX' => $settings->get_config('num_replies_max', 0), 'EMAIL_DOMAIN' => $settings->get_config('email_domain', ''), 'GRANT_PERMISSIONS' => $settings->get_config('grant_permissions', ''), 'OTHER_CONFIG' => $settings->get_other_config())); // Output page qi::page_header($user->lang['QI_MANAGE'], $user->lang['QI_MANAGE_ABOUT']); $template->set_filenames(array('body' => 'main_body.html')); qi::page_footer(); }
public function __construct() { global $db, $template, $user; global $quickinstall_path, $phpbb_root_path, $phpEx, $config, $qi_config, $msg_title; $action = request_var('action', ''); $delete = request_var('delete', false); if ($delete) { $action = 'delete'; } switch ($action) { case 'delete': $select = request_var('select', array(0 => ''), true); foreach ($select as $item) { $current_item = $quickinstall_path . 'boards/' . $item; // Make sure we have a valid db-name and prefix $qi_config['db_prefix'] = validate_dbname($qi_config['db_prefix'], true); $item = validate_dbname($item); $db->sql_query('DROP DATABASE IF EXISTS ' . $qi_config['db_prefix'] . $item); if (!file_exists($current_item) || !is_dir($current_item)) { continue; } file_functions::delete_dir($current_item); } // Just return to main page after succesfull deletion. qi::redirect('index.' . $phpEx); break; default: // list of boards $boards_arr = scandir($quickinstall_path . $qi_config['boards_dir']); foreach ($boards_arr as $board) { if (in_array($board, array('.', '..', '.svn', '.htaccess', '.git'), true) || is_file($quickinstall_path . 'boards/' . $board)) { continue; } $template->assign_block_vars('row', array('BOARD_NAME' => htmlspecialchars($board), 'BOARD_URL' => $quickinstall_path . $qi_config['boards_dir'] . urlencode($board))); } $template->assign_vars(array('S_IN_INSTALL' => false, 'S_IN_SETTINGS' => false, 'PAGE_MAIN' => false)); // Output page qi::page_header($user->lang['QI_MANAGE'], $user->lang['QI_MANAGE_ABOUT']); $template->set_filenames(array('body' => 'manage_body.html')); qi::page_footer(); break; } }
public function __construct() { global $db, $template, $user, $settings; global $quickinstall_path, $phpbb_root_path, $phpEx, $config; ob_start(); phpinfo(INFO_GENERAL | INFO_CONFIGURATION | INFO_MODULES | INFO_VARIABLES); $phpinfo = ob_get_clean(); $phpinfo = trim($phpinfo); preg_match_all('#<body[^>]*>(.*)</body>#si', $phpinfo, $output); if (empty($phpinfo) || empty($output)) { trigger_error('NO_PHPINFO_AVAILABLE', E_USER_WARNING); } $output = $output[1][0]; // expose_php can make the image not exist if (preg_match('#<a[^>]*><img[^>]*></a>#', $output)) { $output = preg_replace('#<tr class="v"><td>(.*?<a[^>]*><img[^>]*></a>)(.*?)</td></tr>#s', '<tr class="row1"><td><table class="type2"><tr><td>\\2</td><td>\\1</td></tr></table></td></tr>', $output); } else { $output = preg_replace('#<tr class="v"><td>(.*?)</td></tr>#s', '<tr class="row1"><td><table class="type2"><tr><td>\\1</td></tr></table></td></tr>', $output); } $output = preg_replace('#<table[^>]+>#i', '<table>', $output); $output = preg_replace('#<img border="0"#i', '<img', $output); $output = str_replace(array('class="e"', 'class="v"', 'class="h"', '<hr />', '<font', '</font>'), array('class="row1"', 'class="row2"', '', '', '<span', '</span>'), $output); // Fix invalid anchor names (eg "module_Zend Optimizer") $output = preg_replace_callback('#<a name="([^"]+)">#', array($this, 'remove_spaces'), $output); if (empty($output)) { trigger_error('NO_PHPINFO_AVAILABLE', E_USER_WARNING); } $orig_output = $output; preg_match_all('#<div class="center">(.*)</div>#siU', $output, $output); $output = !empty($output[1][0]) ? $output[1][0] : $orig_output; $template->assign_vars(array('S_PHPINFO' => true, 'PHPINFO' => $output)); // Output page qi::page_header($user->lang['PHPINFO'], $user->lang['PHPINFO_EXPLAIN']); $template->set_filenames(array('body' => 'phpinfo_body.html')); qi::page_footer(); }
public function __construct() { global $template, $user, $settings; global $quickinstall_path, $phpbb_root_path, $phpEx, $config, $msg_title; $action = request_var('action', ''); $delete = request_var('delete', false); if ($delete) { $action = 'delete'; } switch ($action) { case 'delete': $select = request_var('select', array(0 => ''), true); $boards = sizeof($select); $error = array(); foreach ($select as $item) { $current_item = $settings->get_boards_dir() . $item; // Need to get the dbname from the board. @(include $current_item . '/config.php'); if (!empty($dbname) && !empty($dbhost) && !empty($dbms)) { $dbms = strpos($dbms, '\\') !== false ? substr(strrchr($dbms, '\\'), 1) : $dbms; if ($dbms == 'sqlite') { $db_file = $dbhost . $dbname; if (file_exists($db_file)) { // Assuming the DB file is created by PHP, then PHP should also have permissions to delete it. @unlink($db_file); } } else { if (!empty($dbuser) && !empty($dbpasswd)) { // The order here is important, don't change it. $db_vars = array($dbms, $dbhost, $dbuser, $dbpasswd, $dbport); $db = db_connect($db_vars); $db->sql_query('DROP DATABASE IF EXISTS ' . $dbname); db_close($db); // Might give a error since the DB it deleted, needs to be more tested. } } } if (!file_exists($current_item) || !is_dir($current_item)) { continue; } file_functions::delete_dir($current_item); if (!empty(file_functions::$error)) { if ($boards > 1) { $error[] = $current_item; file_functions::$error = array(); } else { $error = file_functions::$error; } } } if (empty($error)) { // Just return to main page after succesfull deletion. qi::redirect('index.' . $phpEx); } else { foreach ($error as $row) { $template->assign_block_vars('row', array('ERROR' => htmlspecialchars($row))); } $template->assign_var('L_THE_ERROR', $boards > 1 ? $user->lang['ERROR_DEL_BOARDS'] : $user->lang['ERROR_DEL_FILES']); qi::page_header($user->lang['QI_MANAGE'], $user->lang['QI_MANAGE_ABOUT']); $template->set_filenames(array('body' => 'errors_body.html')); qi::page_footer(); } break; default: // list of boards get_installed_boards(); // Output page qi::page_header($user->lang['QI_MANAGE'], $user->lang['QI_MANAGE_ABOUT']); $template->set_filenames(array('body' => 'manage_body.html')); qi::page_footer(); break; } }
$settings->set_profile_cookie($profile); $profile = ''; } } else { $s_settings_failure = true; } $qi_install = false; } $s_settings_writable = true; if ($settings->install) { // Don't show errors when installing QI $error = ''; } else { if (!is_writable($quickinstall_path . 'settings') || !is_dir($quickinstall_path . 'settings')) { $error .= $user->lang['SETTINGS_NOT_WRITABLE'] . '<br />'; $s_settings_writable = false; } } if ($alt_env_missing && !$attempted && !$saved) { $err_string = sprintf($user->lang['NO_ALT_ENV_FOUND'], $alt_env); $error .= $err_string . '<br />'; } $profiles = $settings->get_profiles(); $template->assign_vars(array('S_BOARDS_WRITABLE' => is_writable($settings->get_boards_dir()), 'S_CACHE_WRITABLE' => is_writable($settings->get_cache_dir()), 'S_CONFIG_WRITABLE' => is_writable($quickinstall_path . 'settings'), 'S_IN_INSTALL' => $settings->install, 'S_IS_CONVERTED' => $settings->is_converted, 'S_SETTINGS_WRITABLE' => $s_settings_writable, 'S_SETTINGS_SUCCESS' => $attempted && $saved ? true : false, 'S_SETTINGS_FAILURE' => $attempted && !$saved ? true : false, 'S_SETTINGS' => true, 'ERROR' => $error, 'U_UPDATE_SETTINGS' => qi::url('settings', array('mode' => 'update_settings')), 'U_CHOOSE_PROFILE' => qi::url('settings', array('mode' => 'change_profile')), 'SAVE_PROFILE' => $profile, 'TABLE_PREFIX' => htmlspecialchars($settings->get_config('table_prefix')), 'SITE_NAME' => $settings->get_config('site_name'), 'SITE_DESC' => $settings->get_config('site_desc'), 'ALT_ENV' => !empty($alt_env) ? $alt_env : false, 'PROFILE_COUNT' => $profiles['count'], 'PROFILE_OPTIONS' => $profiles['options'], 'QI_LANG' => $settings->get_lang_select("{$quickinstall_path}language/", 'qi_lang', 'lang'), 'PHPBB_LANG' => $settings->get_lang_select("{$quickinstall_path}sources/phpBB3/language/", 'default_lang'), 'CONFIG_SAVED' => $saved, 'CONFIG_TEXT' => htmlspecialchars($config_text), 'CHUNK_POST' => $settings->get_config('chunk_post', 0), 'CHUNK_TOPIC' => $settings->get_config('chunk_topic', 0), 'CHUNK_USER' => $settings->get_config('chunk_user', 0), 'CONFIG_ADMIN_EMAIL' => $settings->get_config('admin_email'), 'CONFIG_ADMIN_NAME' => $settings->get_config('admin_name'), 'CONFIG_ADMIN_PASS' => $settings->get_config('admin_pass'), 'CONFIG_ALT_ENV' => get_alternative_env($settings->get_config('alt_env')), 'CONFIG_AUTOMOD' => $settings->get_config('automod', 0), 'CONFIG_BOARD_EMAIL' => $settings->get_config('board_email'), 'CONFIG_BOARDS_DIR' => $settings->get_boards_dir(), 'CONFIG_BOARDS_URL' => $settings->get_boards_url(), 'CONFIG_CACHE_DIR' => $settings->get_cache_dir(), 'CONFIG_COOKIE_DOMAIN' => $settings->get_config('cookie_domain'), 'CONFIG_COOKIE_SECURE' => $settings->get_config('cookie_secure', 0), 'CONFIG_DB_PREFIX' => $settings->get_config('db_prefix'), 'CONFIG_DBHOST' => $settings->get_config('dbhost'), 'CONFIG_DBMS' => gen_dbms_options($settings->get_config('dbms')), 'CONFIG_DBPASSWD' => $settings->get_config('dbpasswd'), 'CONFIG_DBPORT' => $settings->get_config('dbport'), 'CONFIG_DBUSER' => $settings->get_config('dbuser'), 'CONFIG_DEFAULT_STYLE' => $settings->get_config('default_style', ''), 'CONFIG_DELETE_FILES' => $settings->get_config('delete_files', 0), 'CONFIG_DROP_DB' => $settings->get_config('drop_db', 0), 'CONFIG_EMAIL_ENABLE' => $settings->get_config('email_enable', 0), 'CONFIG_GRANT_PERMISSIONS' => $settings->get_config('grant_permissions'), 'CONFIG_INSTALL_STYLES' => $settings->get_config('install_styles', 0), 'CONFIG_MAKE_WRITABLE' => $settings->get_config('make_writable', 0), 'CONFIG_NO_PASSWORD' => $settings->get_config('no_dbpasswd', 0), 'CONFIG_POPULATE' => $settings->get_config('populate', 0), 'CONFIG_QI_DST' => $settings->get_config('qi_dst', 0), 'CONFIG_QI_TZ' => $settings->get_config('qi_tz', ''), 'CONFIG_REDIRECT' => $settings->get_config('redirect', 0), 'CONFIG_SERVER_NAME' => $settings->get_config('server_name'), 'CONFIG_SERVER_PORT' => $settings->get_config('server_port'), 'CONFIG_SHOW_CONFIRM' => $settings->get_config('show_confirm', 0), 'CONFIG_SITE_DESC' => $settings->get_config('site_desc'), 'CONFIG_SITE_NAME' => $settings->get_config('site_name'), 'CONFIG_SMTP_AUTH' => $settings->get_config('smtp_auth'), 'CONFIG_SMTP_DELIVERY' => $settings->get_config('smtp_delivery', 0), 'CONFIG_SMTP_HOST' => $settings->get_config('smtp_host'), 'CONFIG_SMTP_PASS' => $settings->get_config('smtp_pass'), 'CONFIG_SMTP_PORT' => $settings->get_config('smtp_port', 0), 'CONFIG_SMTP_USER' => $settings->get_config('smtp_user'), 'CONFIG_TABLE_PREFIX' => $settings->get_config('table_prefix'), 'CONFIG_NUM_USERS' => $settings->get_config('num_users', 0), 'CONFIG_NUM_NEW_GROUP' => $settings->get_config('num_new_group', 0), 'CONFIG_CREATE_ADMIN' => $settings->get_config('create_admin', 0), 'CONFIG_CREATE_MOD' => $settings->get_config('create_mod', 0), 'CONFIG_NUM_CATS' => $settings->get_config('num_cats', 0), 'CONFIG_NUM_FORUMS' => $settings->get_config('num_forums', 0), 'CONFIG_NUM_TOPICS_MIN' => $settings->get_config('num_topics_min', 0), 'CONFIG_NUM_TOPICS_MAX' => $settings->get_config('num_topics_max', 0), 'CONFIG_NUM_REPLIES_MIN' => $settings->get_config('num_replies_min', 0), 'CONFIG_NUM_REPLIES_MAX' => $settings->get_config('num_replies_max', 0), 'CONFIG_EMAIL_DOMAIN' => $settings->get_config('email_domain'), 'TIMEZONE_OPTIONS' => qi_timezone_select($user, $settings->get_config('qi_tz', 'UTC')), 'OTHER_CONFIG' => $settings->get_other_config(), 'SEL_LANG' => !empty($language) ? $language : '')); /* '' => $settings->get_config('', 0), */ // Output page qi::page_header($user->lang['PROFILES']); $template->set_filenames(array('body' => 'settings_body.html')); qi::page_footer();
*/ /** * @ignore */ if (!defined('IN_QUICKINSTALL')) { exit; } if ($mode == 'update_settings') { // Time to save some settings. $qi_config = utf8_normalize_nfc(request_var('qi_config', array('' => ''), true)); // make sure qi_config.php is writable if (is_writable($quickinstall_path . 'qi_config.cfg')) { $error = update_settings($qi_config); } if (empty($error)) { $s_settings_success = true; $qi_install = false; $language = $qi_config['qi_lang']; } else { $s_settings_failure = true; } } gen_lang_select($language); if ($qi_install) { // Fill some default vaues. } $template->assign_vars(array('S_BOARDS_WRITABLE' => is_writable($quickinstall_path . 'boards'), 'S_CACHE_WRITABLE' => is_writable($quickinstall_path . 'cache'), 'S_CONFIG_WRITABLE' => is_writable($quickinstall_path . 'qi_config.cfg'), 'S_IN_INSTALL' => $qi_install, 'S_IN_SETTINGS' => true, 'S_SETTINGS_SUCCESS' => !empty($s_settings_success) ? true : false, 'S_SETTINGS_FAILURE' => !empty($s_settings_failure) ? true : false, 'ERROR' => !empty($error) ? !$qi_install ? $error : '' : '', 'U_UPDATE_SETTINGS' => qi::url('update_settings'), 'TABLE_PREFIX' => htmlspecialchars($qi_config['table_prefix']), 'SITE_NAME' => $qi_config['site_name'], 'SITE_DESC' => $qi_config['site_desc'], 'ALT_ENV' => !empty($alt_env) ? $alt_env : false, 'PAGE_MAIN' => false, 'CONFIG_ADMIN_EMAIL' => !empty($qi_config['admin_email']) ? $qi_config['admin_email'] : '', 'CONFIG_ADMIN_NAME' => !empty($qi_config['admin_name']) ? $qi_config['admin_name'] : '', 'CONFIG_ADMIN_PASS' => !empty($qi_config['admin_pass']) ? $qi_config['admin_pass'] : '', 'CONFIG_AUTOMOD' => isset($qi_config['automod']) ? $qi_config['automod'] : 1, 'CONFIG_BOARD_EMAIL' => !empty($qi_config['board_email']) ? $qi_config['board_email'] : '', 'CONFIG_BOARDS_DIR' => !empty($qi_config['boards_dir']) ? $qi_config['boards_dir'] : 'boards/', 'CONFIG_COOKIE_DOMAIN' => !empty($qi_config['cookie_domain']) ? $qi_config['cookie_domain'] : 'localhost', 'CONFIG_COOKIE_SECURE' => !empty($qi_config['cookie_secure']) ? $qi_config['cookie_secure'] : 0, 'CONFIG_DB_PREFIX' => !empty($qi_config['db_prefix']) ? $qi_config['db_prefix'] : 'qi_', 'CONFIG_DBHOST' => !empty($qi_config['dbhost']) ? $qi_config['dbhost'] : 'localhost', 'CONFIG_DBMS' => !empty($qi_config['dbms']) ? $qi_config['dbms'] : 'mysql', 'CONFIG_DBPASSWD' => !empty($qi_config['dbpasswd']) ? $qi_config['dbpasswd'] : '', 'CONFIG_DBPORT' => !empty($qi_config['dbport']) ? $qi_config['dbport'] : '', 'CONFIG_DBUSER' => !empty($qi_config['dbuser']) ? $qi_config['dbuser'] : '', 'CONFIG_DEFAULT_LANG' => !empty($qi_config['default_lang']) ? $qi_config['default_lang'] : 'en', 'CONFIG_EMAIL_ENABLE' => !empty($qi_config['email_enable']) ? $qi_config['email_enable'] : 0, 'CONFIG_MAKE_WRITABLE' => !empty($qi_config['make_writable']) ? $qi_config['make_writable'] : 0, 'CONFIG_NO_PASSWORD' => isset($qi_config['no_dbpasswd']) ? $qi_config['no_dbpasswd'] : 0, 'CONFIG_POPULATE' => isset($qi_config['populate']) ? $qi_config['populate'] : 0, 'CONFIG_QI_DST' => !empty($qi_config['qi_dst']) ? $qi_config['qi_dst'] : 0, 'CONFIG_QI_TZ' => !empty($qi_config['qi_tz']) ? $qi_config['qi_tz'] : 0, 'CONFIG_REDIRECT' => isset($qi_config['redirect']) ? $qi_config['redirect'] : 1, 'CONFIG_SERVER_NAME' => !empty($qi_config['server_name']) ? $qi_config['server_name'] : 'localhost', 'CONFIG_SERVER_PORT' => !empty($qi_config['server_port']) ? $qi_config['server_port'] : '80', 'CONFIG_SITE_DESC' => !empty($qi_config['site_desc']) ? $qi_config['site_desc'] : 'eviLs testing hood', 'CONFIG_SITE_NAME' => !empty($qi_config['site_name']) ? $qi_config['site_name'] : 'Testing Board', 'CONFIG_SMTP_AUTH' => !empty($qi_config['smtp_auth']) ? $qi_config['smtp_auth'] : 'PLAIN', 'CONFIG_SMTP_DELIVERY' => !empty($qi_config['smtp_delivery']) ? $qi_config['smtp_delivery'] : 0, 'CONFIG_SMTP_HOST' => !empty($qi_config['smtp_host']) ? $qi_config['smtp_host'] : '', 'CONFIG_SMTP_PASS' => !empty($qi_config['smtp_pass']) ? $qi_config['smtp_pass'] : '', 'CONFIG_SMTP_PORT' => !empty($qi_config['smtp_port']) ? $qi_config['smtp_port'] : 25, 'CONFIG_SMTP_USER' => !empty($qi_config['smtp_user']) ? $qi_config['smtp_user'] : '', 'CONFIG_SUBSILVER' => isset($qi_config['subsilver']) ? $qi_config['subsilver'] : 0, 'CONFIG_TABLE_PREFIX' => !empty($qi_config['table_prefix']) ? $qi_config['table_prefix'] : 'phpbb_', 'CONFIG_NUM_USERS' => isset($qi_config['num_users']) ? $qi_config['num_users'] : 150, 'CONFIG_NUM_NEW_GROUP' => isset($qi_config['num_new_group']) ? $qi_config['num_new_group'] : 50, 'CONFIG_CREATE_ADMIN' => !empty($qi_config['create_admin']) ? 1 : 0, 'CONFIG_CREATE_MOD' => !empty($qi_config['create_mod']) ? 1 : 0, 'CONFIG_NUM_CATS' => isset($qi_config['num_cats']) ? $qi_config['num_cats'] : 2, 'CONFIG_NUM_FORUMS' => isset($qi_config['num_forums']) ? $qi_config['num_forums'] : 10, 'CONFIG_NUM_TOPICS_MIN' => isset($qi_config['num_topics_min']) ? $qi_config['num_topics_min'] : 1, 'CONFIG_NUM_TOPICS_MAX' => isset($qi_config['num_topics_max']) ? $qi_config['num_topics_max'] : 25, 'CONFIG_NUM_REPLIES_MIN' => isset($qi_config['num_replies_min']) ? $qi_config['num_replies_min'] : 1, 'CONFIG_NUM_REPLIES_MAX' => isset($qi_config['num_replies_max']) ? $qi_config['num_replies_max'] : 15, 'CONFIG_EMAIL_DOMAIN' => isset($qi_config['email_domain']) ? $qi_config['email_domain'] : '', 'SEL_LANG' => !empty($language) ? $language : '')); // Output page qi::page_header($user->lang['SETTINGS'], $user->lang['QI_MAIN_ABOUT']); $template->set_filenames(array('body' => 'settings_body.html')); qi::page_footer();
public function __construct() { global $db, $template, $user, $settings, $s_docs; global $quickinstall_path, $phpbb_root_path, $phpEx, $config; if (legacy_request_var('page', '') == 'docs') { $s_about = false; $s_docs = true; } else { $s_about = true; $s_docs = false; } if ($s_about) { $changelog_file = $quickinstall_path . 'CHANGELOG'; if (file_exists($changelog_file)) { // let's get the changelog :) $data = file($changelog_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); // We do not want the first line. unset($data[0]); foreach ($data as $row) { $row = ltrim($row); if ($row[0] == '-') { $key = substr($row, 2); $template->assign_block_vars('history', array('CHANGES_SINCE' => $key, 'U_CHANGES' => strtolower(str_replace(' ', '-', $key)))); } else { $change = substr($row, 2); $template->assign_block_vars('history.changelog', array('CHANGE' => htmlspecialchars($change))); } } } } else { $doc_file = $quickinstall_path . 'readme.txt'; if (file_exists($doc_file)) { $file_ary = file($doc_file, FILE_IGNORE_NEW_LINES); $preg_url = '!(http|http)(s)?:\\/\\/[a-zA-Z0-9.?&_/]+!'; $end = sizeof($file_ary); // We do not want the first line. for ($i = 1; $i < $end; $i++) { if (empty($file_ary[$i]) && empty($file_ary[$i + 1])) { $i = $i + 2; $doc_row = "</p>\n<h3>{$file_ary[$i]}</h3>\n<p>"; } else { if (empty($file_ary[$i]) && !empty($file_ary[$i + 1])) { $doc_row = "<br /><br />\n"; } else { if (preg_match($preg_url, $file_ary[$i], $url)) { $doc_row = preg_replace($preg_url, "<a href=\"\\0\">\\0</a>", $file_ary[$i]); } else { $doc_row = "{$file_ary[$i]}\n"; } } } $template->assign_block_vars('doc_row', array('ROW' => !empty($doc_row) ? $doc_row : '')); } $template->assign_block_vars('doc_row', array('ROW' => '</p>')); /* foreach ($data as $row) { if (empty($row)) { if ($p_start && $empty_row == 1) { $doc_row = "</p>\n"; $p_start = false; } else if ($p_start && $empty_row == 0) { $doc_row = "<br />\n"; } $empty_row++; } else if ($empty_row == 2) { $doc_row = str_replace(':', '', $row); $doc_row = "<h3>$doc_row</h3>\n<p>"; $p_start = true; $empty_row = 0; } else { if(preg_match($preg_url, $row, $url)) { $doc_row = preg_replace($preg_url, "<a href=\"\\0\">\\0</a>",$row); } else { $doc_row = "$row\n"; } $empty_row = 0; } $template->assign_block_vars('doc_row', array( 'ROW' => (!empty($doc_row)) ? $doc_row : '', )); $doc_row = ''; } */ } } $template->assign_vars(array('S_ABOUT' => $s_about, 'S_DOCS' => $s_docs)); // Output page qi::page_header($s_about ? $user->lang['QI_ABOUT'] : $user->lang['QI_ABOUT'], ' '); $template->set_filenames(array('body' => 'about_body.html')); qi::page_footer(); }