Ejemplo n.º 1
0
 public function actionIndex()
 {
     $pos = $_GET['pos'];
     $engin = $_GET['engin'];
     $dy = $_GET['dy'];
     $domen = $_GET['domen'];
     $brw = $_GET['brw'];
     $str_f = $_GET['str_f'];
     $qq = $_GET['qq'];
     $this->pageName = Yii::t('StatsModule.default', 'BROWSERS');
     $this->breadcrumbs = array(Yii::t('StatsModule.default', 'MODULE_NAME') => array('/admin/shop'), $this->pageName);
     $vse = 0;
     $k = 0;
     if (empty($pos)) {
         $pos = 10;
     }
     if ($this->sort == "hi") {
         $sql = "SELECT user FROM cms_surf WHERE dt >= '{$this->sdate}' AND dt <= '{$this->fdate}' AND " . $this->_zp;
         $command = Yii::app()->db->createCommand($sql);
         foreach ($command->queryAll() as $row) {
             $bmas[StatsHelper::GetBrowser($row['user'])]++;
         }
     } else {
         $sql = "SELECT user, ip FROM cms_surf WHERE dt >= '{$this->sdate}' AND dt <= '{$this->fdate}' AND " . $this->_zp . " GROUP BY ip, user";
         $command = Yii::app()->db->createCommand($sql);
         foreach ($command->queryAll() as $row) {
             $gb = StatsHelper::GetBrowser($row['user']);
             if (!isset($ipmas[$row['ip']][$gb])) {
                 $bmas[$gb]++;
                 $ipmas[$row['ip']][$gb] = 1;
             }
         }
     }
     $this->render('index', array('bmas' => $bmas, 'cnt' => $cnt, 'vse' => $vse, 'mmx' => $mmx, 'brw' => $brw, 'k' => $k));
 }
Ejemplo n.º 2
0
 public function actionDetail($detail)
 {
     $group = $_GET['group'];
     if (file_exists("detail.dat") and $group != "false") {
         $group = "true";
     }
     if ($group != "true") {
         echo "<table id=table align=center width=100% cellpadding=5 cellspacing=1 border=0><tr class=h><td width=35>Время</td><td>Referer</td><td width=90>IP-адрес <a class=d href=\"?detail=" . $detail . "&group=true\"\"\">&plusmn;</a></td><td>Хост</td><td>User-Agent</td><td>Страница</td></tr>";
         // $r = mysql_query("SELECT tm,refer,ip,proxy,host,lang,user,req FROM cms_surf WHERE dt='" . $detail . "' ORDER BY i DESC");
         $sql = "SELECT tm,refer,ip,proxy,host,lang,user,req FROM cms_surf WHERE dt='" . $detail . "' ORDER BY i DESC";
         $command = Yii::app()->db->createCommand($sql);
         foreach ($command->queryAll() as $row) {
             //while ($row = mysql_fetch_row($r)) {
             if ($s == "s2") {
                 $s = "s1";
                 echo "<tr class=s1>";
             } else {
                 $s = "s2";
                 echo "<tr class=s2>";
             }
             echo "<td>" . $row['tm'] . "</td>";
             echo "<td align=left style='overflow: hidden;text-overflow: ellipsis;'>";
             $refer = $this->Ref($row['refer']);
             if (is_array($refer)) {
                 list($engine, $query) = $refer;
                 if ($engine == "G" and !empty($query) and stristr($row['refer'], "/url?")) {
                     $row['refer'] = str_replace("/url?", "/search?", $row['refer']);
                 }
                 echo_se($engine);
                 if (empty($query)) {
                     $query = "<font color=grey>неизвестно</font>";
                 }
                 echo ": <a target=_blank href=\"" . $row['refer'] . "\">" . $query . "</a></td>";
             } else {
                 if ($refer == "") {
                     echo "<font color=grey>неизвестно</font>";
                 } else {
                     echo "<a target=_blank href=\"" . $row['refer'] . "\">";
                     if (stristr(urldecode($row['refer']), "xn--")) {
                         $IDN = new idna_convert(array('idn_version' => 2008));
                         echo $IDN->decode(urldecode($row['refer']));
                     } else {
                         echo urldecode($row['refer']);
                     }
                     echo "</a></td>";
                 }
             }
             if ($row['ip'] != "unknown") {
                 echo "<td><a target=_blank href=\"?item=ip&qs=" . $row['ip'] . "\">" . $row['ip'] . "</a>";
             } else {
                 echo "<td><font color=grey>неизвестно</font>";
             }
             if ($row['proxy'] != "") {
                 echo "<br><a target=_blank href=\"?item=ip&qs=" . $row['proxy'] . "\">через proxy</a>";
             }
             echo "</td>";
             if ($row['host'] == "") {
                 echo "<td><font color=grey>неизвестно</font>";
             } else {
                 echo "<td><a target=_blank href=\"http://www.tcpiputils.com/browse/ip-address/" . ($row['proxy'] != "" ? $row['proxy'] : $row['ip']) . "\">" . $row['host'] . "</a>";
             }
             if ($row['lang'] != "") {
                 echo "<br>Язык: " . (!empty(StatsHelper::$LANG[mb_strtoupper($row['lang'])]) ? StatsHelper::$LANG[mb_strtoupper($row['lang'])] : "<font color=grey>неизвестно</font>");
                 if (file_exists("/stats/flags/" . mb_strtolower(StatsHelper::$LANG[mb_strtoupper($row['lang'])]) . ".gif")) {
                     echo " <img align=absmiddle src=/stats/flags/" . mb_strtolower(StatsHelper::$LANG[mb_strtoupper($row['lang'])]) . ".gif width=16 height=12>";
                 }
             }
             echo "</td>";
             echo "<td align=left style='overflow: hidden;text-overflow: ellipsis;'>";
             if (!$this->is_robot($row['user'], $row['host'])) {
                 $brw = StatsHelper::GetBrowser($row['user']);
                 if ($brw != "") {
                     echo "<img src=/stats/browsers/{$brw} width=16 height=16 align=absmiddle> ";
                 }
             }
             echo $row['user'] . "</td>";
             echo "<td align=left style='overflow: hidden;text-overflow: ellipsis;' nowrap><a target=_blank href=" . $row['req'] . ">" . $row['req'] . "</a></td>";
             echo "</tr>";
         }
         echo "<tr class=h><td></td><td></td><td></td><td></td><td></td><td></td></tr></table>";
         //norm(0);
     } else {
         echo "<table id=table align=center width=100% cellpadding=5 cellspacing=1 border=0><tr class=h><td width=90>IP-адрес <a class=d href=\"?detail=" . $detail . "&group=false\"\"\">&plusmn;</a></td><td>Хост</td><td>User-Agent</td><td width=30%>Referer</td><td width=35>Время</td><td>Страница</td></tr>";
         $sql = "SELECT tm,refer,ip,proxy,host,lang,user,req FROM cms_surf WHERE dt='" . $detail . "' ORDER BY i DESC";
         $command = Yii::app()->db->createCommand($sql);
         foreach ($command->queryAll() as $r) {
             //print_r($r);
             //die;
             //$rs = mysql_query("SELECT tm,refer,ip,proxy,host,lang,user,req FROM cms_surf WHERE dt='" . $detail . "' ORDER BY i DESC");
             // while ($r = mysql_fetch_row($rs))
             $row[$r['ip']][] = array($r['tm'], $r['refer'], $r['ip'], $r['proxy'], $r['host'], $r['lang'], $r['user']);
             foreach ($row as $ip => $val) {
                 if ($s == "s2") {
                     $s = "s1";
                     echo "<tr class=s1>";
                 } else {
                     $s = "s2";
                     echo "<tr class=s2>";
                 }
                 if ($ip != "unknown") {
                     echo "<td rowspan=" . count($val) . "><a target=_blank href=\"?item=ip&qs=" . $ip . "\">" . $ip . "</a>";
                 } else {
                     echo "<td><font color=grey>неизвестно</font>";
                 }
                 if ($val[0][2] != "") {
                     echo "<br><a target=_blank href=\"?item=ip&qs=" . $val[0][2] . "\">через proxy</a>";
                 }
                 echo "</td>";
                 $skip = 0;
                 foreach ($val as $k => $rw) {
                     if ($skip != 0) {
                         echo "<tr class=" . $s . ">";
                     }
                     $skip = 1;
                     if ($rw[3] == "") {
                         echo "<td><font color=grey>неизвестно</font>";
                     } else {
                         echo "<td><a target=_blank href=\"http://www.tcpiputils.com/browse/ip-address/" . ($rw[2] != "" ? $rw[2] : $ip) . "\">" . $rw[3] . "</a>";
                     }
                     if ($rw[4] != "") {
                         echo "<br>Язык: " . (!empty(StatsHelper::$LANG[mb_strtoupper($rw[4])]) ? $lang[mb_strtoupper($rw[4])] : "<font color=grey>неизвестно</font>");
                         if (file_exists("flags/" . mb_strtolower(StatsHelper::$LANG[mb_strtoupper($rw[4])]) . ".gif")) {
                             echo " <img align=absmiddle src=flags/" . mb_strtolower(StatsHelper::$LANG[mb_strtoupper($rw[4])]) . ".gif width=16 height=12>";
                         }
                     }
                     echo "</td>";
                     echo "<td align=left style='overflow: hidden;text-overflow: ellipsis;'>";
                     if (!$this->is_robot($rw[5], $rw[3])) {
                         $brw = StatsHelper::GetBrowser($rw[5]);
                         if ($brw != "") {
                             echo "<img src=browsers/{$brw} width=16 height=16 align=absmiddle> ";
                         }
                     }
                     echo $rw[5] . "</td>";
                     echo "<td align=left style='overflow: hidden;text-overflow: ellipsis;'>";
                     $refer = $this->Ref($rw[1]);
                     if (is_array($refer)) {
                         list($engine, $query) = $refer;
                         if ($engine == "G" and !empty($query) and stristr($rw[1], "/url?")) {
                             $rw[1] = str_replace("/url?", "/search?", $rw[1]);
                         }
                         echo_se($engine);
                         if (empty($query)) {
                             $query = "<font color=grey>неизвестно</font>";
                         }
                         echo ": <a target=_blank href=\"" . $rw[1] . "\">" . $query . "</a></td>";
                     } else {
                         if ($refer == "") {
                             echo "<font color=grey>неизвестно</font>";
                         } else {
                             echo "<a target=_blank href=\"" . $row[1] . "\">";
                             if (stristr(urldecode($rw[1]), "xn--")) {
                                 $IDN = new idna_convert(array('idn_version' => 2008));
                                 echo $IDN->decode(urldecode($rw[1]));
                             } else {
                                 echo urldecode($rw[1]);
                             }
                             echo "</a></td>";
                         }
                     }
                     echo "<td>" . $rw[0] . "</td>";
                     echo "<td align=left style='overflow: hidden;text-overflow: ellipsis;' nowrap><a target=_blank href=" . $rw[6] . ">" . $rw[6] . "</a></td>";
                     echo "</tr>";
                 }
             }
         }
         echo "<tr class=h><td></td><td></td><td></td><td></td><td></td><td></td></tr></table>";
     }
 }