Beispiel #1
0
 public static function set_hit_count($fix_count = false)
 {
     global $iwp_mmb_core;
     if ($fix_count || !is_admin() && !IWP_MMB_Stats::is_bot()) {
         $date = date('Y-m-d');
         $iwp_client_user_hit_count = (array) get_option('iwp_client_user_hit_count');
         if (!$iwp_client_user_hit_count) {
             $iwp_client_user_hit_count[$date] = 1;
             update_option('iwp_client_user_hit_count', $iwp_client_user_hit_count);
         } else {
             $dated_keys = array_keys($iwp_client_user_hit_count);
             $last_visit_date = $dated_keys[count($dated_keys) - 1];
             $days = intval((strtotime($date) - strtotime($last_visit_date)) / 60 / 60 / 24);
             if ($days > 1) {
                 $date_to_add = date('Y-m-d', strtotime($last_visit_date));
                 for ($i = 1; $i < $days; $i++) {
                     if (count($iwp_client_user_hit_count) > 14) {
                         $shifted = @array_shift($iwp_client_user_hit_count);
                     }
                     $next_key = strtotime('+1 day', strtotime($date_to_add));
                     if ($next_key == $date) {
                         break;
                     } else {
                         $iwp_client_user_hit_count[$next_key] = 0;
                     }
                 }
             }
             if (!isset($iwp_client_user_hit_count[$date])) {
                 $iwp_client_user_hit_count[$date] = 0;
             }
             if (!$fix_count) {
                 $iwp_client_user_hit_count[$date] = (int) $iwp_client_user_hit_count[$date] + 1;
             }
             if (count($iwp_client_user_hit_count) > 14) {
                 $shifted = @array_shift($iwp_client_user_hit_count);
             }
             update_option('iwp_client_user_hit_count', $iwp_client_user_hit_count);
         }
     }
 }