function hesk_iSaveSettings() { global $hesk_settings, $hesklang; $spam_question = hesk_generate_SPAM_question(); $hesk_settings['secimg_use'] = empty($_SESSION['set_captcha']) ? 0 : 1; $hesk_settings['use_spamq'] = empty($_SESSION['use_spamq']) ? 0 : 1; $hesk_settings['question_ask'] = $spam_question[0]; $hesk_settings['question_ans'] = $spam_question[1]; $hesk_settings['set_attachments'] = empty($_SESSION['set_attachments']) ? 0 : 1; $hesk_settings['hesk_version'] = HESK_NEW_VERSION; if (isset($_SERVER['HTTP_HOST'])) { $hesk_settings['site_url'] = 'http://' . $_SERVER['HTTP_HOST']; if (isset($_SERVER['REQUEST_URI'])) { $hesk_settings['hesk_url'] = 'http://' . $_SERVER['HTTP_HOST'] . str_replace('/install/install.php', '', $_SERVER['REQUEST_URI']); } } /* Encode and escape characters */ $set = $hesk_settings; foreach ($hesk_settings as $k => $v) { if (is_array($v)) { continue; } $set[$k] = addslashes($v); } $set['debug_mode'] = 0; $set['email_providers'] = count($set['email_providers']) ? "'" . implode("','", $set['email_providers']) . "'" : ''; $set['notify_spam_tags'] = count($set['notify_spam_tags']) ? "'" . implode("','", $set['notify_spam_tags']) . "'" : ''; // Check if PHP version is 5.2.3+ $set['db_vrsn'] = version_compare(PHP_VERSION, '5.2.3') >= 0 ? 1 : 0; hesk_iSaveSettingsFile($set); return true; }
function hesk_iSaveSettings() { global $hesk_settings, $hesklang; // Get default settings $hesk_default = hesk_defaultSettings(); // Set a new version number $hesk_settings['hesk_version'] = HESK_NEW_VERSION; // Correct typos in variable names before 2.4 $hesk_settings['smtp_host_port'] = isset($hesk_settings['stmp_host_port']) ? $hesk_settings['stmp_host_port'] : 25; $hesk_settings['smtp_timeout'] = isset($hesk_settings['stmp_timeout']) ? $hesk_settings['stmp_timeout'] : 10; $hesk_settings['smtp_user'] = isset($hesk_settings['stmp_user']) ? $hesk_settings['stmp_user'] : ''; $hesk_settings['smtp_password'] = isset($hesk_settings['stmp_password']) ? $hesk_settings['stmp_password'] : ''; // Assign all required values foreach ($hesk_default as $k => $v) { if (is_array($v)) { // Arrays will be processed separately continue; } if (!isset($hesk_settings[$k])) { $hesk_settings[$k] = $v; } } // Arrays need special care $hesk_settings['attachments'] = isset($hesk_settings['attachments']) ? $hesk_settings['attachments'] : $hesk_default['attachments']; $hesk_settings['email_providers'] = isset($hesk_settings['email_providers']) ? $hesk_settings['email_providers'] : $hesk_default['email_providers']; // Attachments max size must be multiplied by 1024 since version 2.4 if ($hesk_settings['attachments']['max_size'] < 102400) { $hesk_settings['attachments']['max_size'] = $hesk_settings['attachments']['max_size'] * 1024; } // Custom fields for ($i = 1; $i <= 20; $i++) { $this_field = 'custom' . $i; if (isset($hesk_settings['custom_fields'][$this_field]) && $hesk_settings['custom_fields'][$this_field]['use']) { if (!isset($hesk_settings['custom_fields'][$this_field]['place'])) { $hesk_settings['custom_fields'][$this_field]['place'] = 0; $hesk_settings['custom_fields'][$this_field]['type'] = 'text'; $hesk_settings['custom_fields'][$this_field]['value'] = ''; } $hesk_settings['custom_fields'][$this_field]['name'] = addslashes($hesk_settings['custom_fields'][$this_field]['name']); $hesk_settings['custom_fields'][$this_field]['value'] = addslashes($hesk_settings['custom_fields'][$this_field]['value']); } else { $hesk_settings['custom_fields'][$this_field] = $hesk_default['custom_fields'][$this_field]; } } // Encode and escape characters $set = $hesk_settings; foreach ($hesk_settings as $k => $v) { if (is_array($v)) { continue; } $set[$k] = addslashes($v); } $set['debug_mode'] = 0; $set['email_providers'] = count($hesk_settings['email_providers']) ? "'" . implode("','", $hesk_settings['email_providers']) . "'" : ''; // Check if PHP version is 5.2.3+ and MySQL is 5.0.7+ $res = hesk_dbQuery('SELECT VERSION() AS version'); $set['db_vrsn'] = version_compare(PHP_VERSION, '5.2.3') >= 0 && version_compare(hesk_dbResult($res), '5.0.7') >= 0 ? 1 : 0; hesk_iSaveSettingsFile($set); return true; }