public static final function clearEvents()
 {
     wssLog(__METHOD__ . "() triggered.");
     global $wpdb;
     $settings = WsdPlugin::getSettings();
     $keepMaxEntries = (int) WpsOption::getOption('WPS_KEEP_NUM_ENTRIES_LT');
     if ($keepMaxEntries < 1) {
         $query = "TRUNCATE " . WsdPlugin::getTableName(WpsSettings::LIVE_TRAFFIC_TABLE_NAME);
         $result = $wpdb->query($query);
         wssLog("Deleting live traffic entries.", array('query' => $query, 'result' => $result));
         return;
     }
     $optData = WpsOption::getOption(WpsSettings::LIVE_TRAFFIC_ENTRIES);
     if (empty($optData)) {
         wssLog("Option (" . WpsSettings::LIVE_TRAFFIC_ENTRIES . ") not found.");
         return;
     }
     $numEntries = $wpdb->get_var("SELECT COUNT(entryId) FROM " . WsdPlugin::getTableName(WpsSettings::LIVE_TRAFFIC_TABLE_NAME));
     if ($numEntries != $keepMaxEntries) {
         WpsOption::updateOption(WpsSettings::LIVE_TRAFFIC_ENTRIES, $numEntries);
     }
     if (intval($optData) <= $keepMaxEntries) {
         return;
     }
     $tableName = WsdPlugin::getTableName(WpsSettings::LIVE_TRAFFIC_TABLE_NAME);
     $querySelect = "SELECT min(t.entryTime)\n                            FROM\n                            (\n                                SELECT\n                                    entryTime\n                                FROM\n                                    " . $tableName . "\n                                ORDER BY\n                                    entryTime DESC\n                                LIMIT " . $keepMaxEntries . "\n                            ) AS t";
     $deleteFromTime = $wpdb->get_var($querySelect);
     $queryDelete = "DELETE FROM " . $tableName . " WHERE entryTime < %s";
     $result = $wpdb->query($wpdb->prepare($queryDelete, $deleteFromTime));
     wssLog("Deleting live traffic entries.", array('query' => "DELETE FROM {$tableName} WHERE entryTime < {$deleteFromTime}", 'deleted' => $result));
     if (false === $result) {
         return;
     }
     // update option
     $numEntries = $wpdb->get_var("SELECT COUNT(entryId) FROM " . WsdPlugin::getTableName(WpsSettings::LIVE_TRAFFIC_TABLE_NAME));
     WpsOption::updateOption(WpsSettings::LIVE_TRAFFIC_ENTRIES, $numEntries);
 }
Exemple #2
0
<?php

/*/#! Check for install errors */
if (!wpsCanDisplayPage()) {
    return;
}
$rm = strtoupper($_SERVER['REQUEST_METHOD']);
$settings = WsdPlugin::getSettings();
$rssWidgetData = WpsOption::getOption('WSD-RSS-WGT-DISPLAY');
$rssWidgetChecked = false;
if (!empty($rssWidgetData) && $rssWidgetData == 'yes') {
    $rssWidgetChecked = true;
}
$enableLiveTraffic = WpsOption::getOption(WpsSettings::ENABLE_LIVE_TRAFFIC, false);
if ('POST' == $rm) {
    // check nonce
    if (isset($_POST['wsdplugin_update_settings_field'])) {
        if (!wp_verify_nonce($_POST['wsdplugin_update_settings_field'], 'wsdplugin_update_settings')) {
            wp_die(__('Invalid request.', WpsSettings::TEXT_DOMAIN));
        }
    } else {
        wp_die(__('Invalid request.', WpsSettings::TEXT_DOMAIN));
    }
    //#! UPDATE SETTINGS
    if (isset($_POST['updateSettingsButton'])) {
        // validate and save settings
        $postData = $_POST['chk_options'];
        parse_str($postData, $checkboxes);
        if (empty($checkboxes)) {
            foreach ($settings as &$entry) {
                $entry['value'] = 0;