Current Path: > home > codekrsu > > escapematrixonline.com > wp-content > plugins > > wp-statistics > src > Models
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
AuthorsModel.php | File | 13567 bytes | June 01 2025 13:51:42. | |
EventsModel.php | File | 8579 bytes | April 01 2025 13:53:58. | |
ExclusionsModel.php | File | 1522 bytes | January 05 2025 12:14:56. | |
HistoricalModel.php | File | 7033 bytes | April 01 2025 13:53:58. | |
OnlineModel.php | File | 1931 bytes | June 01 2025 13:51:42. | |
PostsModel.php | File | 16538 bytes | June 01 2025 13:51:42. | |
TaxonomyModel.php | File | 7458 bytes | June 29 2025 11:30:46. | |
ViewsModel.php | File | 13188 bytes | June 29 2025 11:30:46. | |
VisitorsModel.php | File | 57279 bytes | June 01 2025 13:51:42. |
<?php namespace WP_Statistics\Models; use WP_Statistics\Abstracts\BaseModel; use WP_STATISTICS\Admin_Template; use WP_Statistics\Components\DateTime; use WP_Statistics\Utils\Query; class EventsModel extends BaseModel { public function countEvents($args = []) { $args = $this->parseArgs($args, [ 'event_name' => '', 'event_target' => '', 'author_id' => '', 'post_type' => '', 'post_id' => '', 'date' => '', 'group_by' => '', 'field' => '', 'not_null' => '' ]); $field = !empty($args['field']) ? $args['field'] : '*'; $query = Query::select("COUNT($field)") ->from('events') ->where('event_name', 'IN', $args['event_name']) ->where('events.page_id', '=', $args['post_id']) ->whereJson('event_data', 'target_url', '=', $args['event_target']) ->whereDate('events.date', $args['date']) ->groupBy($args['group_by']); if (!empty($args['author_id']) || !empty($args['post_type']) || !empty($args['post_id'])) { $query ->join('posts', ['events.page_id', 'posts.ID']) ->where('posts.post_type', '=', $args['post_type']) ->where('posts.post_author', '=', $args['author_id']); } $result = $query->getVar(); return $result; } public function getEvents($args = []) { $args = $this->parseArgs($args, [ 'page' => 1, 'per_page' => Admin_Template::$item_per_page, 'event_name' => '', 'event_target' => '', 'author_id' => '', 'post_type' => '', 'post_id' => '', 'date' => '', 'decorator' => '', 'order' => 'date', 'order_by' => 'DESC', ]); $query = Query::select('*') ->from('events') ->where('event_name', 'IN', $args['event_name']) ->where('events.page_id', '=', $args['post_id']) ->whereJson('event_data', 'target_url', '=', $args['event_target']) ->whereDate('events.date', $args['date']) ->orderBy($args['order'], $args['order_by']) ->perPage($args['page'], $args['per_page']) ->decorate($args['decorator']); if (!empty($args['author_id']) || !empty($args['post_type']) || !empty($args['post_id'])) { $query ->join('posts', ['events.page_id', 'posts.ID']) ->where('posts.post_type', '=', $args['post_type']) ->where('posts.post_author', '=', $args['author_id']); } return $query->getAll(); } public function countDailyEvents($args = []) { $args = $this->parseArgs($args, [ 'event_name' => '', 'event_target' => '', 'author_id' => '', 'post_type' => '', 'post_id' => '', 'date' => '', 'decorator' => '', 'order' => 'date', 'order_by' => 'DESC', ]); $query = Query::select('COUNT(events.ID) as count, DATE(events.date) as date') ->from('events') ->where('event_name', 'IN', $args['event_name']) ->where('events.page_id', '=', $args['post_id']) ->whereJson('event_data', 'target_url', '=', $args['event_target']) ->whereDate('events.date', $args['date']) ->orderBy($args['order'], $args['order_by']) ->groupBy('Date(events.date)') ->decorate($args['decorator']); if (!empty($args['author_id']) || !empty($args['post_type']) || !empty($args['post_id'])) { $query ->join('posts', ['events.page_id', 'posts.ID']) ->where('posts.post_type', '=', $args['post_type']) ->where('posts.post_author', '=', $args['author_id']); } return $query->getAll(); } public function countEventsByPage($args = []) { $args = $this->parseArgs($args, [ 'event_name' => '', 'event_target' => '', 'author_id' => '', 'post_type' => '', 'post_id' => '', 'date' => '', 'decorator' => '', 'per_page' => '', 'page' => 1, 'order' => 'count', 'order_by' => 'DESC', ]); $query = Query::select('COUNT(events.ID) as count, events.page_id, events.event_data') ->from('events') ->where('event_name', 'IN', $args['event_name']) ->where('events.page_id', '=', $args['post_id']) ->whereJson('event_data', 'target_url', '=', $args['event_target']) ->whereDate('events.date', $args['date']) ->orderBy($args['order'], $args['order_by']) ->groupBy('events.page_id') ->decorate($args['decorator']) ->whereNotNull('events.page_id') ->perPage($args['page'], $args['per_page']); if (!empty($args['author_id']) || !empty($args['post_type']) || !empty($args['post_id'])) { $query ->join('posts', ['events.page_id', 'posts.ID']) ->where('posts.post_type', '=', $args['post_type']) ->where('posts.post_author', '=', $args['author_id']); } return $query->getAll(); } public function getTopEvents($args = []) { $args = $this->parseArgs($args, [ 'date' => '', 'post_id' => '', 'post_type' => '', 'author_id' => '', 'page' => 1, 'per_page' => Admin_Template::$item_per_page, 'event_name'=> '', 'decorator' => '' ]); $query = Query::select([ "JSON_UNQUOTE(JSON_EXTRACT(`event_data`, '$.target_url')) AS url", "event_data", "COUNT(*) AS count" ]) ->from('events') ->where('event_name', 'IN', $args['event_name']) ->where('events.page_id', '=', $args['post_id']) ->whereDate('events.date', $args['date']) ->orderBy('count', 'DESC') ->perPage($args['page'], $args['per_page']) ->groupBy('url') ->decorate($args['decorator']); if (!empty($args['author_id']) || !empty($args['post_type']) || !empty($args['post_id'])) { $query ->join('posts', ['events.page_id', 'posts.ID']) ->where('posts.post_type', '=', $args['post_type']) ->where('posts.post_author', '=', $args['author_id']); } return $query->getAll(); } public function countTopEvents($args = []) { $args = $this->parseArgs($args, [ 'event_name' => '', 'author_id' => '', 'post_type' => '', 'post_id' => '', 'date' => '', ]); $subQuery = Query::select("JSON_UNQUOTE(JSON_EXTRACT(`event_data`, '$.target_url')) AS url") ->from('events') ->where('event_name', 'IN', $args['event_name']) ->where('events.page_id', '=', $args['post_id']) ->whereDate('events.date', $args['date']) ->groupBy('url'); if (!empty($args['author_id']) || !empty($args['post_type']) || !empty($args['post_id'])) { $subQuery ->join('posts', ['events.page_id', 'posts.ID']) ->where('posts.post_type', '=', $args['post_type']) ->where('posts.post_author', '=', $args['author_id']); } $result = Query::select('COUNT(url)') ->fromQuery($subQuery->getQuery()) ->getVar(); return $result; } public function insertEvent($args) { $data = [ 'date' => DateTime::get('now', 'Y-m-d H:i:s'), 'page_id' => $args['page_id'], 'visitor_id' => $args['visitor_id'], 'event_name' => $args['event_name'], 'event_data' => json_encode($args['event_data']) ]; $result = Query::insert('events') ->set($data) ->execute(); return $result; } }
SILENT KILLER Tool