Example #1
0
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;
}
Example #2
0
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;
}