���ѧۧݧ�ӧ�� �ާ֧ߧ֧էا֧� - ���֧էѧܧ�ڧ��ӧѧ�� - /home/rickpfrv/tie.cx/app/controllers/Dashboard.php
���ѧ٧ѧ�
<?php namespace Altum\Controllers; use Altum\Middlewares\Authentication; use Altum\Models\Domain; class Dashboard extends Controller { public function index() { Authentication::guard(); /* Prepare the filtering system */ $filters = (new \Altum\Filters(['is_enabled', 'type'], ['url'], ['datetime', 'clicks', 'url'])); /* Prepare the paginator */ $total_rows = database()->query("SELECT COUNT(*) AS `total` FROM `links` WHERE `user_id` = {$this->user->user_id}")->fetch_object()->total ?? 0; $paginator = (new \Altum\Paginator($total_rows, 25, $_GET['page'] ?? 1, url('links?' . $filters->get_get() . '&page=%d'))); /* Get the links list for the project */ $links_result = database()->query(" SELECT `links`.*, `domains`.`scheme`, `domains`.`host` FROM `links` LEFT JOIN `domains` ON `links`.`domain_id` = `domains`.`domain_id` WHERE `links`.`user_id` = {$this->user->user_id} {$paginator->get_sql_limit()} "); /* Iterate over the links */ $links = []; while($row = $links_result->fetch_object()) { $row->full_url = $row->domain_id ? $row->scheme . $row->host . '/' . $row->url : url($row->url); $links[] = $row; } /* Prepare the pagination view */ $pagination = (new \Altum\Views\View('partials/pagination', (array) $this))->run(['paginator' => $paginator]); /* Get statistics */ if(count($links)) { $links_chart = []; $start_date_query = (new \DateTime())->modify('-30 day')->format('Y-m-d H:i:s'); $end_date_query = (new \DateTime())->modify('+1 day')->format('Y-m-d H:i:s'); $track_links_result = database()->query(" SELECT COUNT(`id`) AS `pageviews`, SUM(`is_unique`) AS `visitors`, DATE_FORMAT(`datetime`, '%Y-%m-%d') AS `formatted_date` FROM `track_links` WHERE `user_id` = {$this->user->user_id} AND (`datetime` BETWEEN '{$start_date_query}' AND '{$end_date_query}') GROUP BY `formatted_date` ORDER BY `formatted_date` "); /* Generate the raw chart data and save logs for later usage */ while($row = $track_links_result->fetch_object()) { $logs[] = $row; $label = \Altum\Date::get($row->formatted_date, 4); $links_chart[$label] = [ 'pageviews' => $row->pageviews, 'visitors' => $row->visitors ]; } $links_chart = get_chart_data($links_chart); } /* Some statistics for the widgets */ if(settings()->links->domains_is_enabled) { $domains_total = database()->query("SELECT COUNT(*) AS `total` FROM `domains` WHERE `user_id` = {$this->user->user_id} AND `type` = 0")->fetch_object()->total; } $projects_total = database()->query("SELECT COUNT(*) AS `total` FROM `projects` WHERE `user_id` = {$this->user->user_id}")->fetch_object()->total; $links_total = database()->query("SELECT COUNT(*) AS `total` FROM `links` WHERE `user_id` = {$this->user->user_id}")->fetch_object()->total; /* Get statistics based on the total clicks */ $links_clicks_total = database()->query("SELECT SUM(`clicks`) AS `total` FROM `links` WHERE `user_id` = {$this->user->user_id}")->fetch_object()->total; /* Delete Modal */ $view = new \Altum\Views\View('links/link_delete_modal', (array) $this); \Altum\Event::add_content($view->run(), 'modals'); /* Create Link Modal */ $domains = (new Domain())->get_domains($this->user); $data = [ 'domains' => $domains ]; $view = new \Altum\Views\View('links/create_link_modals', (array) $this); \Altum\Event::add_content($view->run($data), 'modals'); /* Existing projects */ $projects = (new \Altum\Models\Project())->get_projects($this->user->user_id); /* Prepare the Links View */ $data = [ 'links' => $links, 'pagination' => $pagination, 'filters' => $filters, 'projects' => $projects ]; $view = new \Altum\Views\View('links/links_content', (array) $this); $this->add_view_content('links_content', $view->run($data)); /* Prepare the View */ $data = [ 'links_chart' => $links_chart ?? false, /* Widgets stats */ 'domains_total' => $domains_total ?? 0, 'projects_total' => $projects_total, 'links_total' => $links_total, 'links_clicks_total' => $links_clicks_total ]; $view = new \Altum\Views\View('dashboard/index', (array) $this); $this->add_view_content('content', $view->run($data)); } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | ���֧ߧ֧�ѧ�ڧ� ����ѧߧڧ��: 0 |
proxy
|
phpinfo
|
���ѧ����ۧܧ�