array('folder'=>'en','hr'=>'------ Reply above this line ------')); if (!isset($hesk_settings['x_frame_opt'])) { $hesk_settings['x_frame_opt'] = 1; } if (!isset($hesk_settings['force_ssl'])) { $hesk_settings['force_ssl'] = 0; } error_reporting(E_ALL); // Database upgrades from old versions can take quite some time, remove time limit if ( function_exists('set_time_limit') ) { set_time_limit(0); } require(HESK_PATH . 'inc/common.inc.php'); require(HESK_PATH . 'inc/admin_functions.inc.php'); require(HESK_PATH . 'inc/setup_functions.inc.php'); hesk_load_database_functions(); // Start the session hesk_session_start(); // ******* FUNCTIONS ******* // function hesk_iTestDatabaseConnection($use_existing_settings = false) { global $hesk_db_link, $hesk_settings, $hesklang; $db_success = 1; // Get MySQL settings, except for successful updates if ( ! $use_existing_settings) { $hesk_settings['db_host'] = hesk_input( hesk_POST('host') ); $hesk_settings['db_name'] = hesk_input( hesk_POST('name') ); $hesk_settings['db_user'] = hesk_input( hesk_POST('user') ); $hesk_settings['db_pass'] = str_replace('&', '&', hesk_input( hesk_POST('pass') ) ); if (INSTALL_PAGE == 'install.php') { // Get table prefix, don't allow any special chars $hesk_settings['db_pfix'] = preg_replace('/[^0-9a-zA-Z_]/', '', hesk_POST('pfix', 'hesk_') ); } } // Use MySQLi extension to connect? $use_mysqli = function_exists('mysqli_connect') ? true : false; // Start output buffering ob_start(); // Connect to database if ($use_mysqli) { // Do we need a special port? Check and connect to the database if ( strpos($hesk_settings['db_host'], ':') ) { list($hesk_settings['db_host_no_port'], $hesk_settings['db_port']) = explode(':', $hesk_settings['db_host']); $hesk_db_link = mysqli_connect($hesk_settings['db_host_no_port'], $hesk_settings['db_user'], $hesk_settings['db_pass'], $hesk_settings['db_name'], intval($hesk_settings['db_port']) ) or $db_success=0; } else { $hesk_db_link = mysqli_connect($hesk_settings['db_host'], $hesk_settings['db_user'], $hesk_settings['db_pass'], $hesk_settings['db_name']) or $db_success=0; } } else { $hesk_db_link = mysql_connect($hesk_settings['db_host'],$hesk_settings['db_user'], $hesk_settings['db_pass']) or $db_success=0; // Select database works OK? if ($db_success == 1 && ! mysql_select_db($hesk_settings['db_name'], $hesk_db_link) ) { // No, try to create the database if (function_exists('mysql_create_db') && mysql_create_db($hesk_settings['db_name'], $hesk_db_link)) { if (mysql_select_db($hesk_settings['db_name'], $hesk_db_link)) { $db_success = 1; } else { $db_success = 0; } } else { $db_success = 0; } } } ob_end_clean(); // Test DB permissions if ($db_success) { $sql[0] = "DROP TABLE IF EXISTS `".hesk_dbEscape($hesk_settings['db_pfix'])."mysql_test`"; $sql[1] = "CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."mysql_test` (`id` smallint(1) unsigned NOT NULL DEFAULT '0') ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci"; $sql[2] = "INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."mysql_test` (`id`) VALUES ('0')"; $sql[3] = "SELECT `id` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."mysql_test` WHERE `id`='0' LIMIT 1"; $sql[4] = "UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."mysql_test` SET `id`='1' WHERE `id`='0'"; $sql[5] = "DELETE FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."mysql_test` WHERE `id`='0'"; $sql[6] = "ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."mysql_test` ADD `name` CHAR(1) NULL DEFAULT NULL AFTER `id`"; $sql[7] = "CREATE INDEX `name` ON `".hesk_dbEscape($hesk_settings['db_pfix'])."mysql_test`(`name`) "; $sql[8] = "DROP TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."mysql_test`"; if ($use_mysqli) { for ($i=0; $i<=8; $i++) { if (! $res = mysqli_query($hesk_db_link, $sql[$i])) { global $mysql_log; $mysql_log = mysqli_error($hesk_db_link); hesk_iDatabase(1); } } } else { for ($i=0; $i<=8; $i++) { if (! $res = mysql_query($sql[$i], $hesk_db_link)) { global $mysql_log; $mysql_log = mysql_error(); hesk_iDatabase(1); } } } } // Any errors? if ( ! $db_success) { global $mysql_log; $mysql_log = $use_mysqli ? mysqli_connect_error() : mysql_error(); hesk_iDatabase(1); } // Check MySQL version define('MYSQL_VERSION', hesk_dbResult( hesk_dbQuery('SELECT VERSION() AS version') ) ); if ( version_compare(MYSQL_VERSION,REQUIRE_MYSQL_VERSION,'<') ) { hesk_iDatabase(5); } return $hesk_db_link; } // END hesk_iTestDatabaseConnection() function hesk_iSaveSettingsFile($set) { global $hesk_settings, $hesklang; // Make sure OPcache is reset when modifying settings if ( function_exists('opcache_reset') ) { opcache_reset(); } $settings_file_content=' GENERAL // --> General settings $hesk_settings[\'site_title\']=\'' . $set['site_title'] . '\'; $hesk_settings[\'site_url\']=\'' . $set['site_url'] . '\'; $hesk_settings[\'hesk_title\']=\'' . $set['hesk_title'] . '\'; $hesk_settings[\'hesk_url\']=\'' . $set['hesk_url'] . '\'; $hesk_settings[\'webmaster_mail\']=\'' . $set['webmaster_mail'] . '\'; $hesk_settings[\'noreply_mail\']=\'' . $set['noreply_mail'] . '\'; $hesk_settings[\'noreply_name\']=\'' . $set['noreply_name'] . '\'; $hesk_settings[\'site_theme\']=\'' . $set['site_theme'] . '\'; // --> Language settings $hesk_settings[\'can_sel_lang\']=' . $set['can_sel_lang'] . '; $hesk_settings[\'language\']=\'' . $set['language'] . '\'; $hesk_settings[\'languages\']=array( \'English\' => array(\'folder\'=>\'en\',\'hr\'=>\'------ Reply above this line ------\'), ); // --> Database settings $hesk_settings[\'db_host\']=\'' . $set['db_host'] . '\'; $hesk_settings[\'db_name\']=\'' . $set['db_name'] . '\'; $hesk_settings[\'db_user\']=\'' . $set['db_user'] . '\'; $hesk_settings[\'db_pass\']=\'' . $set['db_pass'] . '\'; $hesk_settings[\'db_pfix\']=\'' . $set['db_pfix'] . '\'; $hesk_settings[\'db_vrsn\']=' . $set['db_vrsn'] . '; // ==> HELP DESK // --> Help desk settings $hesk_settings[\'admin_dir\']=\'' . $set['admin_dir'] . '\'; $hesk_settings[\'attach_dir\']=\'' . $set['attach_dir'] . '\'; $hesk_settings[\'cache_dir\']=\'' . $set['cache_dir'] . '\'; $hesk_settings[\'max_listings\']=' . $set['max_listings'] . '; $hesk_settings[\'print_font_size\']=' . $set['print_font_size'] . '; $hesk_settings[\'autoclose\']=' . $set['autoclose'] . '; $hesk_settings[\'max_open\']=' . $set['max_open'] . '; $hesk_settings[\'new_top\']=' . $set['new_top'] . '; $hesk_settings[\'reply_top\']=' . $set['reply_top'] . '; $hesk_settings[\'hide_replies\']=' . $set['hide_replies'] . '; $hesk_settings[\'limit_width\']=' . $set['limit_width'] . '; // --> Features $hesk_settings[\'autologin\']=' . $set['autologin'] . '; $hesk_settings[\'autoassign\']=' . $set['autoassign'] . '; $hesk_settings[\'require_email\']=' . $set['require_email'] . '; $hesk_settings[\'require_owner\']=' . $set['require_owner'] . '; $hesk_settings[\'require_subject\']=' . $set['require_subject'] . '; $hesk_settings[\'require_message\']=' . $set['require_message'] . '; $hesk_settings[\'custclose\']=' . $set['custclose'] . '; $hesk_settings[\'custopen\']=' . $set['custopen'] . '; $hesk_settings[\'rating\']=' . $set['rating'] . '; $hesk_settings[\'cust_urgency\']=' . $set['cust_urgency'] . '; $hesk_settings[\'sequential\']=' . $set['sequential'] . '; $hesk_settings[\'time_worked\']=' . $set['time_worked'] . '; $hesk_settings[\'spam_notice\']=' . $set['spam_notice'] . '; $hesk_settings[\'list_users\']=' . $set['list_users'] . '; $hesk_settings[\'debug_mode\']=' . $set['debug_mode'] . '; $hesk_settings[\'short_link\']=' . $set['short_link'] . '; $hesk_settings[\'select_cat\']=' . $set['select_cat'] . '; $hesk_settings[\'select_pri\']=' . $set['select_pri'] . '; $hesk_settings[\'cat_show_select\']=' . $set['cat_show_select'] . '; // --> SPAM Prevention $hesk_settings[\'secimg_use\']=' . $set['secimg_use'] . '; $hesk_settings[\'secimg_sum\']=\'' . $set['secimg_sum'] . '\'; $hesk_settings[\'recaptcha_use\']=' . $set['recaptcha_use'] . '; $hesk_settings[\'recaptcha_public_key\']=\'' . $set['recaptcha_public_key'] . '\'; $hesk_settings[\'recaptcha_private_key\']=\'' . $set['recaptcha_private_key'] . '\'; $hesk_settings[\'question_use\']=' . $set['question_use'] . '; $hesk_settings[\'question_ask\']=\'' . $set['question_ask'] . '\'; $hesk_settings[\'question_ans\']=\'' . $set['question_ans'] . '\'; // --> Security $hesk_settings[\'attempt_limit\']=' . $set['attempt_limit'] . '; $hesk_settings[\'attempt_banmin\']=' . $set['attempt_banmin'] . '; $hesk_settings[\'reset_pass\']=' . $set['reset_pass'] . '; $hesk_settings[\'email_view_ticket\']=' . $set['email_view_ticket'] . '; $hesk_settings[\'x_frame_opt\']=' . $set['x_frame_opt'] . '; $hesk_settings[\'force_ssl\']=' . $set['force_ssl'] . '; // --> Attachments $hesk_settings[\'attachments\']=array ( \'use\' => ' . $set['attachments']['use'] . ', \'max_number\' => ' . $set['attachments']['max_number'] . ', \'max_size\' => ' . $set['attachments']['max_size'] . ', \'allowed_types\' => array(\'' . implode('\',\'',$set['attachments']['allowed_types']) . '\') ); // ==> KNOWLEDGEBASE // --> Knowledgebase settings $hesk_settings[\'kb_enable\']=' . $set['kb_enable'] . '; $hesk_settings[\'kb_wysiwyg\']=' . $set['kb_wysiwyg'] . '; $hesk_settings[\'kb_search\']=' . $set['kb_search'] . '; $hesk_settings[\'kb_search_limit\']=' . $set['kb_search_limit'] . '; $hesk_settings[\'kb_views\']=' . $set['kb_views'] . '; $hesk_settings[\'kb_date\']=' . $set['kb_date'] . '; $hesk_settings[\'kb_recommendanswers\']=' . $set['kb_recommendanswers'] . '; $hesk_settings[\'kb_rating\']=' . $set['kb_rating'] . '; $hesk_settings[\'kb_substrart\']=' . $set['kb_substrart'] . '; $hesk_settings[\'kb_cols\']=' . $set['kb_cols'] . '; $hesk_settings[\'kb_numshow\']=' . $set['kb_numshow'] . '; $hesk_settings[\'kb_popart\']=' . $set['kb_popart'] . '; $hesk_settings[\'kb_latest\']=' . $set['kb_latest'] . '; $hesk_settings[\'kb_index_popart\']=' . $set['kb_index_popart'] . '; $hesk_settings[\'kb_index_latest\']=' . $set['kb_index_latest'] . '; $hesk_settings[\'kb_related\']=' . $set['kb_related'] . '; // ==> EMAIL // --> Email sending $hesk_settings[\'smtp\']=' . $set['smtp'] . '; $hesk_settings[\'smtp_host_name\']=\'' . $set['smtp_host_name'] . '\'; $hesk_settings[\'smtp_host_port\']=' . $set['smtp_host_port'] . '; $hesk_settings[\'smtp_timeout\']=' . $set['smtp_timeout'] . '; $hesk_settings[\'smtp_ssl\']=' . $set['smtp_ssl'] . '; $hesk_settings[\'smtp_tls\']=' . $set['smtp_tls'] . '; $hesk_settings[\'smtp_user\']=\'' . $set['smtp_user'] . '\'; $hesk_settings[\'smtp_password\']=\'' . $set['smtp_password'] . '\'; // --> Email piping $hesk_settings[\'email_piping\']=' . $set['email_piping'] . '; // --> POP3 Fetching $hesk_settings[\'pop3\']=' . $set['pop3'] . '; $hesk_settings[\'pop3_job_wait\']=' . $set['pop3_job_wait'] . '; $hesk_settings[\'pop3_host_name\']=\'' . $set['pop3_host_name'] . '\'; $hesk_settings[\'pop3_host_port\']=' . $set['pop3_host_port'] . '; $hesk_settings[\'pop3_tls\']=' . $set['pop3_tls'] . '; $hesk_settings[\'pop3_keep\']=' . $set['pop3_keep'] . '; $hesk_settings[\'pop3_user\']=\'' . $set['pop3_user'] . '\'; $hesk_settings[\'pop3_password\']=\'' . $set['pop3_password'] . '\'; // --> IMAP Fetching $hesk_settings[\'imap\']=' . $set['imap'] . '; $hesk_settings[\'imap_job_wait\']=' . $set['imap_job_wait'] . '; $hesk_settings[\'imap_host_name\']=\'' . $set['imap_host_name'] . '\'; $hesk_settings[\'imap_host_port\']=' . $set['imap_host_port'] . '; $hesk_settings[\'imap_enc\']=\'' . $set['imap_enc'] . '\'; $hesk_settings[\'imap_keep\']=' . $set['imap_keep'] . '; $hesk_settings[\'imap_user\']=\'' . $set['imap_user'] . '\'; $hesk_settings[\'imap_password\']=\'' . $set['imap_password'] . '\'; // --> Email loops $hesk_settings[\'loop_hits\']=' . $set['loop_hits'] . '; $hesk_settings[\'loop_time\']=' . $set['loop_time'] . '; // --> Detect email typos $hesk_settings[\'detect_typos\']=' . $set['detect_typos'] . '; $hesk_settings[\'email_providers\']=array(' . $set['email_providers'] . '); // --> Notify customer when $hesk_settings[\'notify_new\']=' . $set['notify_new'] . '; $hesk_settings[\'notify_skip_spam\']=' . $set['notify_skip_spam'] . '; $hesk_settings[\'notify_spam_tags\']=array(' . $set['notify_spam_tags'] . '); $hesk_settings[\'notify_closed\']=' . $set['notify_closed'] . '; // --> Other $hesk_settings[\'strip_quoted\']=' . $set['strip_quoted'] . '; $hesk_settings[\'eml_req_msg\']=' . $set['eml_req_msg'] . '; $hesk_settings[\'save_embedded\']=' . $set['save_embedded'] . '; $hesk_settings[\'multi_eml\']=' . $set['multi_eml'] . '; $hesk_settings[\'confirm_email\']=' . $set['confirm_email'] . '; $hesk_settings[\'open_only\']=' . $set['open_only'] . '; // ==> TICKET LIST $hesk_settings[\'ticket_list\']=array(\'' . implode('\',\'',$set['ticket_list']) . '\'); // --> Other $hesk_settings[\'submittedformat\']=' . $set['submittedformat'] . '; $hesk_settings[\'updatedformat\']=' . $set['updatedformat'] . '; // ==> MISC // --> Date & Time $hesk_settings[\'timezone\']=\'' . $set['timezone'] . '\'; $hesk_settings[\'timeformat\']=\'' . $set['timeformat'] . '\'; $hesk_settings[\'time_display\']=\'' . $set['time_display'] . '\'; // --> Other $hesk_settings[\'ip_whois\']=\'' . $set['ip_whois'] . '\'; $hesk_settings[\'maintenance_mode\']=' . $set['maintenance_mode'] . '; $hesk_settings[\'alink\']=' . $set['alink'] . '; $hesk_settings[\'submit_notice\']=' . $set['submit_notice'] . '; $hesk_settings[\'online\']=' . $set['online'] . '; $hesk_settings[\'online_min\']=' . $set['online_min'] . '; $hesk_settings[\'check_updates\']=' . $set['check_updates'] . '; ############################# # DO NOT EDIT BELOW # ############################# $hesk_settings[\'hesk_version\']=\'' . $set['hesk_version'] . '\'; if ($hesk_settings[\'debug_mode\']) { error_reporting(E_ALL); } else { error_reporting(0); } if (!defined(\'IN_SCRIPT\')) {die(\'Invalid attempt!\');}'; // Write to the settings file if ( ! file_put_contents(HESK_PATH . 'hesk_settings.inc.php', $settings_file_content) ) { hesk_error($hesklang['err_openset']); } return true; } // END hesk_iSaveSettingsFile() function hesk_iDatabase($problem=0) { global $hesk_settings, $hesk_db_link, $mysql_log; hesk_iHeader(); ?>
| Help desk timezone: |
HESK Software End User License Agreement
Read the HESK End-User License Agreement here
'; echo file_exists('../docs/license.html') ? '' : $eula_alt; ?>
'1. License agreement', 2 => '2. Check setup', 3 => '3. Setup Database', 4 => '4. Finishing touches' ); ?>
|
||||||||||
Read installation guide before using this setup script!', 'Important'); } ?> |