Example #1
0
function fs_install_impl(&$fsdb, $upgrade_if_needed = false)
{
    $db_status_arr = fs_get_db_status($fsdb);
    $db_status = $db_status_arr['status'];
    $db_version = $db_status_arr['ver'];
    $msg = fs_get_database_status_message($db_status_arr);
    if ($db_status == FS_DB_VALID) {
        return true;
    } else {
        if ($db_status == FS_DB_NOT_CONFIGURED || $db_status == FS_DB_IS_NEWER_THAN_CODE) {
            echo $msg;
            return false;
        } else {
            if ($db_status == FS_DB_GENERAL_ERROR || $db_status == FS_DB_CONNECTION_ERROR) {
                echo $msg . " : " . $fsdb->debug();
                return false;
            } else {
                if ($db_status == FS_DB_NOT_INSTALLED) {
                    if (!fs_db_install($fsdb)) {
                        return false;
                    }
                } else {
                    if ($db_status == FS_DB_NEED_UPGRADE && $upgrade_if_needed) {
                        if (!fs_db_upgrade($fsdb, $db_version)) {
                            return false;
                        }
                        fs_do_action("db_upgraded");
                        // after a db upgrade (major releases only) reset donation status for users that didn't donate
                        $donation = fs_get_option('donation_status');
                        if ($donation != 'donated') {
                            fs_update_option('donation_status', '');
                            fs_update_option('last_nag_time', time());
                        }
                    }
                }
            }
        }
    }
    return true;
}
Example #2
0
function fs_init_language()
{
    global $FS_LANG;
    global $fs_gettext;
    $fsdb =& fs_get_db_conn();
    $current_lang = null;
    if ($fsdb->is_connected()) {
        $current_lang = fs_get_option('current_language');
    }
    if (empty($current_lang)) {
        $current_lang = FS_DEFAULT_LANG;
    }
    if ($FS_LANG == $current_lang) {
        return;
    }
    $transfile = FS_ABS_PATH . '/i18n/firestats-' . $current_lang . '.po';
    if (file_exists($transfile)) {
        $fs_gettext = new fs_gettext($transfile);
    } else {
        $fs_gettext = new fs_gettext();
    }
    $FS_LANG = $current_lang;
}
Example #3
0
function fs_format_sql_date($option_key)
{
    $t = fs_get_option($option_key);
    if (empty($t)) {
        return false;
    }
    $s = sscanf($t, "%d/%d/%d");
    return $s[2] . '-' . $s[1] . '-' . $s[0];
}
Example #4
0
/**
 * store some usage FireStats usage information
 */
function fs_maintain_usage_stats()
{
    if (fs_is_admin()) {
        $first_run_time = fs_get_system_option('first_run_time');
        if (!$first_run_time) {
            fs_update_system_option('first_run_time', time());
        }
        $firestats_id = fs_get_system_option('firestats_id');
        if (!$firestats_id) {
            fs_update_system_option('firestats_id', mt_rand());
        }
    }
    $first_login = fs_get_option('first_login');
    if (!$first_login) {
        fs_update_option('first_login', time());
    }
}
Example #5
0
function fs_last_sent_info_outdated()
{
    $last_sysinfo_ser = fs_get_option('last_sent_sysinfo');
    if ($last_sysinfo_ser) {
        $current_sysinfo = fs_get_sysinfo();
        $last_sysinfo = unserialize($last_sysinfo_ser);
        foreach ($last_sysinfo as $k => $v) {
            if (isset($current_sysinfo[$k]) && $current_sysinfo[$k] != $last_sysinfo[$k]) {
                return true;
            }
        }
        return false;
    }
    return true;
}
Example #6
0
function fs_ajax_change_language(&$response)
{
    if (fs_check_is_demo($response)) {
        return;
    }
    $language = $_POST['language'];
    $current = fs_get_option('current_language');
    if ($current != $language) {
        fs_update_option('current_language', $language);
        $response['refresh'] = 'true';
    }
}
Example #7
0
function fs_get_time_range_dropbox($key, $onchange)
{
    $arr = array();
    $arr[] = fs_mkPair(1, fs_r('the last 24 hours'));
    $arr[] = fs_mkPair(7, fs_r('the last week'));
    $arr[] = fs_mkPair(30, fs_r('the last month'));
    $arr[] = fs_mkPair(90, fs_r('the three months'));
    $arr[] = fs_mkPair(180, fs_r('the last six months'));
    $arr[] = fs_mkPair(365, fs_r('the last year'));
    $arr[] = fs_mkPair('ever', fs_r('all time'));
    $arr[] = fs_mkPair('time_range', fs_r('time range'));
    $selected = fs_get_option($key, 90);
    return fs_create_dropbox($arr, $selected, $key, $onchange);
}
Example #8
0
function fs_get_max_search_terms()
{
    return fs_get_option('num_max_search_terms', 10);
}