| Server IP : 123.56.80.60 / Your IP : 216.73.216.78 Web Server : Apache/2.4.54 (Win32) OpenSSL/1.1.1s PHP/7.4.33 mod_fcgid/2.3.10-dev System : Windows NT iZhx3sob14hnz7Z 10.0 build 14393 (Windows Server 2016) i586 User : SYSTEM ( 0) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/site/20241224/spunner/wp-content/plugins/wp-statistics/src/Models/ |
Upload File : |
<?php
namespace WP_Statistics\Models;
use WP_Statistics\Abstracts\BaseModel;
use WP_Statistics\Decorators\VisitorDecorator;
use WP_Statistics\Utils\Query;
class OnlineModel extends BaseModel
{
public function countOnlines($args = [])
{
$args = $this->parseArgs($args, []);
$result = Query::select('COUNT(ID)')
->from('useronline')
->getVar();
return $result ? $result : 0;
}
public function getOnlineVisitorsData($args = [])
{
$args = $this->parseArgs($args, [
'page' => '',
'per_page' => '',
'order_by' => '',
'order' => '',
]);
$result = Query::select([
'useronline.ID as online_id',
'visitor_id as ID',
'useronline.ip',
'useronline.created',
'useronline.timestamp',
'useronline.referred',
'useronline.agent',
'useronline.platform',
'CAST(useronline.version AS SIGNED) as version',
'useronline.location',
'useronline.region',
'useronline.city',
'visitor.hits',
'useronline.user_id',
'page_id as last_page',
'date as last_view',
'users.display_name',
'users.user_email'
])
->from('useronline')
->join('users', ['useronline.user_id', 'users.ID'], [], 'LEFT')
->join('visitor', ['useronline.visitor_id', 'visitor.ID'])
->perPage($args['page'], $args['per_page'])
->orderBy($args['order_by'], $args['order'])
->decorate(VisitorDecorator::class)
->getAll();
return $result ? $result : [];
}
}