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)); }
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\"\"\">±</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\"\"\">±</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>"; } }