Esempio n. 1
0
 function get_hits_visits_uniques($_dt_start, $_dt_end = 0, $_filters = array())
 {
     $config =& SlimStatConfig::get_instance();
     if (!empty($_filters)) {
         return SlimStat::count_hits_visits_uniques("`dt`>=" . intval($_dt_start) . " AND `dt`<=" . intval($_dt_end), $_filters);
     } elseif ($_dt_end == 0) {
         return SlimStat::count_hits_visits_uniques("`dt`>=" . intval($_dt_start));
     } elseif ($_dt_end > time()) {
         return SlimStat::count_hits_visits_uniques("`dt`>=" . intval($_dt_start) . " AND `dt`<=" . intval($_dt_end));
     } else {
         $query = "SELECT `hits`, `visits`, `uniques`";
         $query .= " FROM `" . SlimStat::my_esc($config->database) . "`.`" . SlimStat::my_esc($config->dt_table) . "`";
         $query .= " WHERE `dt_start`=" . intval($_dt_start) . " AND `dt_end`=" . intval($_dt_end) . " LIMIT 1";
         if ($result = mysql_query($query)) {
             if (mysql_num_rows($result) == 1) {
                 if ($hvu = mysql_fetch_assoc($result)) {
                     return $hvu;
                 }
             } else {
                 $hvu = SlimStat::count_hits_visits_uniques("`dt`>=" . intval($_dt_start) . " AND `dt`<=" . intval($_dt_end));
                 $query = "INSERT INTO `" . SlimStat::my_esc($config->database) . "`.`" . SlimStat::my_esc($config->dt_table) . "`";
                 $query .= " ( `dt_start`, `dt_end`, `hits`, `visits`, `uniques` ) VALUES ( ";
                 $query .= intval($_dt_start) . ", " . intval($_dt_end) . ", " . intval($hvu["hits"]) . ", " . intval($hvu["visits"]) . ", " . intval($hvu["uniques"]) . " )";
                 //print $query;
                 mysql_query($query);
                 return $hvu;
             }
         }
     }
 }