示例#1
0
 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();
 }
示例#2
0
 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();
 }
示例#3
0
 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();
 }
示例#4
0
 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;
     }
 }
示例#5
0
 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();
 }
示例#6
0
 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;
     }
 }
示例#7
0
            $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();
示例#8
0
*/
/**
* @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();
示例#9
0
 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();
 }