!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache/2.2.22 (Debian). PHP/5.6.36 

uname -a: Linux h05.hvosting.ua 4.9.110-amd64 #3 SMP Sun Nov 4 16:27:09 UTC 2018 x86_64 

uid=1389(h33678) gid=1099(h33678) groups=1099(h33678),502(mgrsecure) 

Safe-mode: OFF (not secure)

/home/h33678/data/www/msdp.undp.org.ua/modules/zzvisitors/   drwxr-xr-x
Free 106.8 GB of 200.55 GB (53.25%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     module.php (15.97 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?
class Visitors
{
    var 
$UserMode   false;
    var 
$AdminMode  false;
    var 
$SearchMode false;
    var 
$PanelMode  true;
    var 
$UserAsynchMode true;
    var 
$VisitorsTable;
    var 
$VisitorsOSTable;
    var 
$VisitorsScreenTable;
    var 
$Directory;
    var 
$ClassName 'Visitors';
    function 
Visitors()
    {

        
$this->Directory dirname(__FILE__);
        
$this->ClassName $this->ClassName;
    }
    function 
User()
    {
        return;
    }

    function 
UserAsynch()
    {
        global 
$language$ULANG;
        if (isset(
$_POST['getdate']))
        {
            
$arr['ok'] = true;            
            
$arr['date'] = (int)GetCurrentDay().' '.$ULANG['MonthRP'.((int)GetCurrentMonth())].' '.GetCurrentYear().' '.$ULANG['YearRP'];
            
$arr['time'] = GetCurrentHours().":".GetCurrentMinutes();
            
$arr['day']  = $ULANG['Day'.GetCurrentDayOfWeek()];
            echo 
"{ok:{$arr['ok']}, okString:'', date:'{$arr['date']}', time:'{$arr['time']}', day:'{$arr['day']}'}";            
            return;
        }
        if (isset(
$_POST['width']) && isset($_POST['height']) && isset($_COOKIE['uid']))
         {
             
$ip $_SERVER['REMOTE_ADDR'];
            
$uid $_COOKIE['uid'];
             
$screen $_POST['width']."x".$_POST['height'];
             
$_SESSION['screen_width'] = $_POST['width']; 
            
mysql_query("INSERT INTO AMCMS_visitors_screen (visitor_uid, visitor_screen) VALUES ('{$uid}', '{$screen}')");
         }            

    }
    function 
Menu()
    {
        global 
$ALANG;
        return array(
                array(
'title' => $ALANG['VisitorsMenuGeneral'],  'link' => '?mod='.$this->ClassName.'&General'),
                );            
    }
    function 
GetAllVisitors()
    {
        
$res mysql_query("SELECT COUNT(visitor_uid) FROM AMCMS_visitors_uids");
        
$row mysql_fetch_assoc($res);
        return 
$row['COUNT(visitor_uid)'];
    }
    function 
GetTodayVisitors()
    {
        
$res mysql_query("SELECT COUNT(DISTINCT visitor_uid) FROM AMCMS_visitors_visits WHERE DATE(visitor_session_start) = DATE(NOW())");
        
$row mysql_fetch_assoc($res);
        return 
$row['COUNT(DISTINCT visitor_uid)'];
        
    }
    function 
GetNowVisitors()
    {
        
$res mysql_query("SELECT COUNT(*) FROM AMCMS_visitors_visits WHERE visitor_session_finish >= DATE_SUB(now(), INTERVAL 7 MINUTE)");
        
$row mysql_fetch_assoc($res);        
        
$count $row['COUNT(*)'];        
        return 
$count == $count;        
    }    
    
    function 
GetPageVisit()
    {
        
$res mysql_query("SELECT SUM(page_visits_count) FROM AMCMS_visitors_pages WHERE page_address = '".trim($_SERVER['REQUEST_URI'])."'");
        
$row mysql_fetch_assoc($res);
        
$count $row['SUM(page_visits_count)'];        
        return 
$count;
    }
    
    function 
GetVisitorsForLast30DaysByDays()
    {
        
$sql "";
        for (
$i 1$i <= 30$i++)
        {
              
$time strtotime("-".$i." day");
            
$year date("Y"$time);
            
$month date("m"$time);
            
$day date("d"$time);        
            
$date1 $year."-".$month."-".$day." 00:00:00";
             
$date2 $year."-".$month."-".$day." 23:59:59";
             
$sql "SELECT visitor_count FROM AMCMS_visitors_date WHERE (visitor_date >= '{$date1}') AND (visitor_date <= '{$date2}')";
             
$rows[$i]['date'] = $year."-".$month."-".$day;
            
$res mysql_query($sql);
             
$row mysql_fetch_assoc($res);
             
$rows[$i]['count'] = $row['visitor_count'];
        }
        return 
$rows;
    }
    function 
Admin()
    {
            global 
$ALANG$alang;
              
$smarty GetAdminSmarty("zzvisitors");
            
// визитов по месяцам
            
$res mysql_query("SELECT COUNT(visitor_sid)as count, MONTH(visitor_session_start) as month, YEAR(visitor_session_start) as year FROM `AMCMS_visitors_visits` GROUP BY month, year ORDER BY year DESC, month DESC");
            
$monthstat = array();            
            
$yearstat  = array();
            while(
$row mysql_fetch_assoc($res))
            {
                
$monthstat[$row['year']."-".$row['month']]['visits'] = $row;
                
$yearstat[$row['year']]['visits']['count'] += $row['count'];
                
$ys['visits']['count'] += $row['count'];                
            }
            
// обращений к сайту по месяцам
            
$res mysql_query("SELECT SUM(page_visits_count) as count, MONTH(page_date)as month, YEAR(page_date) as year FROM `AMCMS_visitors_pages` GROUP BY year, month ORDER BY year DESC, month DESC");
            while(
$row mysql_fetch_assoc($res))
            {
                
$monthstat[$row['year']."-".$row['month']]['access'] = $row;
                
$yearstat[$row['year']]['access']['count'] += $row['count'];
                
$ys['access']['count'] += $row['count'];                
            }            
            
// новых посетителей по месяцам
            
$res mysql_query("SELECT COUNT(visitor_uid)as count, MONTH(visitor_first_visit)as month, YEAR(visitor_first_visit) as year FROM `AMCMS_visitors_uids` GROUP BY month, year ORDER BY year DESC, month DESC");
            while(
$row mysql_fetch_assoc($res))
            {
                
$monthstat[$row['year']."-".$row['month']]['new'] = $row;
                
$yearstat[$row['year']]['new']['count'] += $row['count'];
                
$ys['new']['count'] += $row['count'];            
            }
            
$yearstat['Total'] = $ys;
            
$smarty->assign("monthstat"$monthstat);
            
$smarty->assign("yearstat"$yearstat);
            
$weekdaystat = array();
            
// визитов по дням недели
            
$res mysql_query("SELECT COUNT(visitor_sid) as count, WEEKDAY(visitor_session_start) as weekday FROM `AMCMS_visitors_visits` GROUP BY weekday ORDER BY weekday ASC");
            while(
$row mysql_fetch_assoc($res))
                
$weekdaystat[$row['weekday'] + 1]['visits']['count'] = $row['count'];
            
// новых по дням недели
            
$res mysql_query("SELECT COUNT(visitor_uid) as count, WEEKDAY(visitor_first_visit) as weekday FROM `AMCMS_visitors_uids` GROUP BY weekday ORDER BY weekday ASC");
            while(
$row mysql_fetch_assoc($res))
                
$weekdaystat[$row['weekday'] + 1]['new']['count'] = $row['count'];
            
// страниц по дням недели
            
$res mysql_query("SELECT SUM(page_visits_count) as count, WEEKDAY(page_date) as weekday FROM `AMCMS_visitors_pages` GROUP BY weekday ORDER BY weekday ASC");
            while(
$row mysql_fetch_assoc($res))
                
$weekdaystat[$row['weekday'] + 1]['access']['count'] = $row['count'];        
            
$smarty->assign("weekdaystat"$weekdaystat);        
            
$hoursstat = array();
            
            
            
// статистика по браузерам
            
$res mysql_query("SELECT COUNT(*) as count, visitor_browser FROM AMCMS_visitors_agents WHERE visitor_date >= DATE_SUB(now(), INTERVAL 3 MONTH) GROUP BY visitor_browser ORDER BY count DESC");
            while(
$row mysql_fetch_assoc($res))
                
$browserstat[] = array("browser" => $row['visitor_browser'],
                                        
"count" => $row['count']);
            
$smarty->assign("browserstat"$browserstat);        
            
// детализированная статистика по браузерам
            
$res mysql_query("SELECT COUNT(*) as count, visitor_browser, visitor_browser_version FROM AMCMS_visitors_agents WHERE visitor_date >= DATE_SUB(now(), INTERVAL 3 MONTH) GROUP BY visitor_browser, visitor_browser_version ORDER BY count DESC");
            while(
$row mysql_fetch_assoc($res))
                
$browserdetstat[] = array("browser" => $row['visitor_browser'],
                                          
"version" => $row['visitor_browser_version'],
                                          
"count" => $row['count']);
            
$smarty->assign("browserdetstat"$browserdetstat);        

            
$res mysql_query("SELECT COUNT(*) as count, visitor_width, visitor_height FROM AMCMS_visitors_screens WHERE visitor_date >= DATE_SUB(now(), INTERVAL 3 MONTH) GROUP BY visitor_width, visitor_height ORDER BY count DESC");
            while(
$row mysql_fetch_assoc($res))
                
$screenstat[] = array("width" => $row['visitor_width'],
                                      
"height" => $row['visitor_height'],
                                      
"count" => $row['count']);
            
$smarty->assign("screenstat"$screenstat);        

            
            
// визитов по часам
            
$res mysql_query("SELECT COUNT(visitor_sid) as count, HOUR(visitor_session_start) as hours FROM `AMCMS_visitors_visits` GROUP BY hours ORDER BY hours ASC");
            while(
$row mysql_fetch_assoc($res))
                
$hoursstat[$row['hours']]['visits']['count'] = $row['count'];        
            
// новых по часам
            
$res mysql_query("SELECT COUNT(visitor_uid) as count, HOUR(visitor_first_visit) as hours FROM `AMCMS_visitors_uids` GROUP BY hours ORDER BY hours ASC");
            while(
$row mysql_fetch_assoc($res))
                
$hoursstat[$row['hours']]['new']['count'] = $row['count'];        
            
// обращений к сайту по часам
            
$res mysql_query("SELECT SUM(page_visits_count)as count, HOUR(page_date) as hours FROM `AMCMS_visitors_pages` GROUP BY hours ORDER BY hours ASC");
            while(
$row mysql_fetch_assoc($res))
                
$hoursstat[$row['hours']]['access']['count'] = $row['count'];        
            
$smarty->assign("hoursstat"$hoursstat);        


/*            // визитов по дням
            $res = mysql_query("SELECT COUNT(visitor_sid) as count, DAY(visitor_session_start) as day, MONTH(visitor_session_start) as month, YEAR(visitor_session_start) as year, WEEKDAY(visitor_session_start) as weekday FROM `AMCMS_visitors_visits` GROUP BY month, year, day ORDER BY year DESC, month DESC, day DESC");
            // новых посетителей по дням
            $res = mysql_query("SELECT COUNT(visitor_uid)as count, DAY(visitor_first_visit) as day, MONTH(visitor_first_visit)as month, YEAR(visitor_first_visit) as year FROM `AMCMS_visitors_uids` GROUP BY year, month, day ORDER BY year DESC, month DESC, day DESC");
            
            
            // обращений к сайту по дням
            $res = mysql_query("SELECT SUM(page_visits_count)as count, DAY(page_date) as day, MONTH(page_date)as month, YEAR(page_date) as year FROM `AMCMS_visitors_pages` GROUP BY year, month, day ORDER BY year DESC, month DESC, day DESC");
            
            */
            
$result['Content'] = $smarty->fetch('visitors.tpl');
            
$result['Title'] = $ALANG['VisitorsGeneral'];
            return 
$result;

            
//SELECT *

            //$countries = array();        
            //$cities = array();    
            //$gi = geoip_open("geoip/GeoIPCity.dat" , GEOIP_MEMORY_CACHE);
            /*$res = mysql_query("SELECT * FROM AMCMS_visitors_uids");
            while ($row = mysql_fetch_assoc($res))
            {
                $countries[$row['visitor_country']]++;
                $cities[$row['visitor_city']]++;;
            }            
            natsort($countries);
            natsort($cities);
            $countries = array_reverse($countries);
            $cities = array_reverse($cities);
            print_r($countries);
            print_r($cities);*/
        /*    $html = "";
            $html .= "<ul>";
            $res = mysql_query("SELECT visitor_country, COUNT(visitor_country) FROM `AMCMS_visitors_uids` GROUP BY visitor_country ORDER BY COUNT(visitor_country) DESC");
            while ($row = mysql_fetch_assoc($res))
            {
                $country = $row['visitor_country'];
                $sql = "SELECT *, COUNT(visitor_city) FROM `AMCMS_visitors_uids` WHERE visitor_country='{$country}' GROUP BY visitor_city ORDER BY COUNT(visitor_city) DESC"; 
                $res_cities = mysql_query($sql);
                $html .= "<li>".$country." (".$row['COUNT(visitor_country)'].")";
                $html .= "<ul>";
                while ($city = mysql_fetch_assoc($res_cities))
                {
                    if (strlen($city['visitor_city']) == 0)
                        $city['visitor_city'] = "Unknown";
                    $html .= "<li>".$city['visitor_city']. " (".$city['COUNT(visitor_city)'].")</li>";
                }
                $html .= "</ul>";
                $html .= "</li>";
            }
            $html .= "</ul>";*/    
                
                /*$record = geoip_record_by_addr($gi,$row['visitor_ip']);
                $country = $record->country_name; 
                $city = $record->city;
            //    mysql_query("INSERT INTO AMCMS_visitors_ips (visitor_ip, visitor_country, visitor_city) VALUES ('{$row['visitor_ip']}', '{$country}', '{$city}')");
                $countries[$record->country_name]++;
                $cities[$record->city]++;;*/
                //echo var_dump($row);
            
$smarty->assign("visitors_countries"$html);
            
$result['Content'] = $smarty->fetch('visitors.tpl');
            return 
$result;
    }        
    function 
Panel()
    {
        global 
$ulang$ULANG$smarty;
        
$ip $_SERVER['REMOTE_ADDR'];
        
$date GetCurrentDateAndTime();
        
$agent $_SERVER['HTTP_USER_AGENT'];
        
$expire false;
        
$newUID false;
        
$bot    false;
        
$sid session_id();
        if (!isset(
$_COOKIE['expire']))
        {
            
$browser detect_browser($agent);
            if (
$browser["name"] == "BOT")
                
$bot true;
            
$expire true;
        }        
        if (isset(
$_COOKIE['uid']) && strlen(trim($_COOKIE['uid'])) > 8)
        {            
            
$uid    $_COOKIE['uid'];
            
$sql "SELECT * FROM AMCMS_visitors_uids WHERE (visitor_uid = '{$uid}') LIMIT 0, 1";
            
$res mysql_query($sql);
            if (
mysql_num_rows($res) > 0)
                
$newUID false;            
            else
                
$newUID true;
        } else
        {
            
$uid    uniqid(mt_rand());
            
$newUID true;    
            
$sql "SELECT * FROM AMCMS_visitors_uids WHERE (visitor_ip = '{$ip}') AND (visitor_first_visit >= DATE_SUB(now(),INTERVAL 1 HOUR)) LIMIT 0, 1";
            
$res mysql_query($sql);
            if (
mysql_num_rows($res) > 0)
            {
                
//$bot = true;            
                
$expire false;
                
$newUID false;
            }
        }
          if (!
$bot)
        {
            if (!isset(
$_SESSION['visit_start']))
            {
                
$_SESSION['visit_start'] = GetCurrentDateAndTime();
                
$_SESSION['visit_finish'] = GetCurrentDateAndTime();
                
$_SESSION['visit_pages_count'] = 1;
//                $_SESSION['visit_pages'][] = $_SERVER['REQUEST_URI'];
                
$pages serialize($_SESSION['visit_pages']);
                
$sql "INSERT INTO AMCMS_visitors_visits (visitor_uid, visitor_ip, visitor_sid, visitor_session_start, visitor_session_finish, visitor_viewed_pages, visitor_viewed_pages_count) VALUES ('$uid', '$ip', '{$sid}', '{$_SESSION['visit_start']}', '{$_SESSION['visit_finish']}', '{$pages}', '{$_SESSION['visit_pages_count']}')";
                
mysql_query($sql);                
            } else
            {
                
$_SESSION['visit_finish'] = GetCurrentDateAndTime();
                
$_SESSION['visit_pages_count']++;
                
$_SESSION['visit_pages'][] = $_SERVER['REQUEST_URI'];
                
$pages serialize($_SESSION['visit_pages']);
                
$sql "UPDATE AMCMS_visitors_visits SET visitor_session_finish = '{$_SESSION['visit_finish']}', visitor_viewed_pages = '{$pages}', visitor_viewed_pages_count = '{$_SESSION['visit_pages_count']}' WHERE visitor_sid = '$sid'";
                
mysql_query($sql);                
            }
            if (
$newUID)
            {
                
setcookie("uid"$uidtime() + 8*60*60*24*30*12);    
                
$sql "INSERT INTO AMCMS_visitors_uids (visitor_ip, visitor_uid, visitor_first_visit, visitor_last_visit) VALUES ('$ip', '$uid', now(), now())";
                
mysql_query($sql);
            } else
            {
                
$sql "UPDATE AMCMS_visitors_uids SET visitor_last_visit = now() WHERE visitor_uid = '{$uid}'";
                
mysql_query($sql);
            }
            if (
$expire && isset($_SESSION['screen_width']) && isset($_SESSION['screen_height']))
            {
                
$sql "INSERT INTO AMCMS_visitors_agents (visitor_uid, visitor_agent, visitor_browser, visitor_browser_version, visitor_os, visitor_os_version, visitor_date) VALUES ('$uid', '$agent', '{$browser['name']}', '{$browser['version']}', '{$browser['os']}', '{$browser['os_version']}', now())";
                
mysql_query($sql);
                
$ip $_SERVER['REMOTE_ADDR'];
                
$uid $_COOKIE['uid'];
                
mysql_query("INSERT INTO AMCMS_visitors_screens (visitor_uid, visitor_width, visitor_height, visitor_date) VALUES ('{$uid}', '{$_SESSION['screen_width']}', '{$_SESSION['screen_height']}', now())");
                
setcookie("expire""1"time() + 60*60*24*30);                    
            }            
            
$sql "select * from AMCMS_visitors_pages where (month(page_date) = month(now())) and (year(page_date) = year(now())) AND (page_address = '{$_SERVER['REQUEST_URI']}')";
            
$res mysql_query($sql) or die(mysql_error());
            if (
mysql_num_rows($res) == 0)
            {
                
$sql "INSERT INTO AMCMS_visitors_pages (page_date, page_address, page_visits_count, page_title) VALUES (now(), '{$_SERVER['REQUEST_URI']}', '1', '{$smarty->tpl_vars['PageTitle']}')";                
                
mysql_query($sql);
            } else
            {
                
$row mysql_fetch_assoc($res);
                
$count $row['page_visits_count'] + 1;
                
$sql "UPDATE AMCMS_visitors_pages SET page_visits_count = '{$count}' where page_id = '{$row['page_id']}'";
                
mysql_query($sql);                
            }
        }

        
$sm GetUserSmarty($this->ClassName);
        
        
$cond "AND TIMEDIFF(NOW(), user_date_lastaccess) < '00:08:00'";
        
$count mysql_fetch_assoc(mysql_query("SELECT COUNT(*) as count FROM AMCMS_users WHERE user_status = '1' {$cond}"));
        
$count $count['count'];
        
$now max(array($count$this->GetNowVisitors()));
        
$guests max(array(0$now $count));
        
$sm->assign("now"$now );
        
$sm->assign("guests"$guests );        
        
$sm->assign("all"$this->GetAllVisitors());
        
$sm->assign("today"$this->GetTodayVisitors());
        
$sm->assign("pages"$this->GetPageVisit());    
        
$sm->assign("online"$count);                                        
        
$result['Visitors'] = array('Title' => "Статистика",
                                     
'Content' => $sm->fetch("panel.tpl"),
                                     
'Module' => $this->ClassName,
                                    
'class' => 'statistic');
        return 
$result;
    }

$Modules ["Visitors"] = new Visitors();
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by PinoyWH1Z | C99Shell Github | Generation time: 0.0209 ]--