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; }
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; }
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]; }
/** * 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()); } }
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; }
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'; } }
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); }
function fs_get_max_search_terms() { return fs_get_option('num_max_search_terms', 10); }