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 | : 13.58.72.156
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 /
plugins /
API /
[ HOME SHELL ]
Name
Size
Permission
Action
DataTable
[ DIR ]
drwxr-xr-x
Filter
[ DIR ]
drwxr-xr-x
Renderer
[ DIR ]
drwxr-xr-x
Reports
[ DIR ]
drwxr-xr-x
config
[ DIR ]
drwxr-xr-x
css
[ DIR ]
drwxr-xr-x
lang
[ DIR ]
drwxr-xr-x
stylesheets
[ DIR ]
drwxr-xr-x
templates
[ DIR ]
drwxr-xr-x
API.php
31.28
KB
-rw-r--r--
Controller.php
7.56
KB
-rw-r--r--
Glossary.php
4.13
KB
-rw-r--r--
Menu.php
1.83
KB
-rw-r--r--
ProcessedReport.php
34.76
KB
-rw-r--r--
RowEvolution.php
25.91
KB
-rw-r--r--
SegmentMetadata.php
3.75
KB
-rw-r--r--
WidgetMetadata.php
11.12
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\API; use Piwik\API\DocumentationGenerator; use Piwik\API\Proxy; use Piwik\API\Request; use Piwik\Common; use Piwik\Config; use Piwik\Piwik; use Piwik\Plugins\API\Renderer\Original; use Piwik\Url; use Piwik\UrlHelper; use Piwik\View; /** * */ class Controller extends \Piwik\Plugin\Controller { function index() { $tokenAuth = Common::getRequestVar('token_auth', 'anonymous', 'string'); $format = Common::getRequestVar('format', false); $serialize = Common::getRequestVar('serialize', false); $token = 'token_auth=' . $tokenAuth; // when calling the API through http, we limit the number of returned results if (!isset($_GET['filter_limit'])) { if (isset($_POST['filter_limit'])) { $_GET['filter_limit'] = $_POST['filter_limit']; } else { $_GET['filter_limit'] = Config::getInstance()->General['API_datatable_default_limit']; } } $request = new Request($token); $response = $request->process(); if (is_array($response)) { if ($format == 'original' && $serialize != 1 ) { Original::sendPlainTextHeader(); } $response = var_export($response, true); } return $response; } public function listAllMethods() { Piwik::checkUserHasSomeViewAccess(); $ApiDocumentation = new DocumentationGenerator(); $prefixUrls = Common::getRequestVar('prefixUrl', 'https://demo.matomo.org/', 'string'); $hostname = parse_url($prefixUrls, PHP_URL_HOST); if (empty($hostname) || !UrlHelper::isLookLikeUrl($prefixUrls) || strpos($prefixUrls, 'http') !== 0 || !Url::isValidHost($hostname)) { $prefixUrls = ''; } return $ApiDocumentation->getApiDocumentationAsStringForDeveloperReference($outputExampleUrls = true, $prefixUrls); } public function listAllAPI() { $view = new View("@API/listAllAPI"); $this->setGeneralVariablesView($view); $ApiDocumentation = new DocumentationGenerator(); $view->countLoadedAPI = Proxy::getInstance()->getCountRegisteredClasses(); $view->list_api_methods_with_links = str_replace('href=\'#', 'href=\'#/', $ApiDocumentation->getApiDocumentationAsString()); return $view->render(); } public function listSegments() { $segments = API::getInstance()->getSegmentsMetadata($this->idSite); $tableDimensions = $tableMetrics = ''; $customVariables = 0; $lastCategory = array(); foreach ($segments as $segment) { $onlyDisplay = array('customVariableName1', 'customVariableName2', 'customVariableValue1', 'customVariableValue2', 'customVariablePageName1', 'customVariablePageValue1'); $customVariableWillBeDisplayed = in_array($segment['segment'], $onlyDisplay); // Don't display more than 4 custom variables name/value rows if ($segment['category'] == 'Custom Variables' && !$customVariableWillBeDisplayed ) { continue; } $thisCategory = $segment['category']; $output = ''; if (empty($lastCategory[$segment['type']]) || $lastCategory[$segment['type']] != $thisCategory ) { $output .= '<tr><td class="segmentCategory" colspan="2"><b>' . $thisCategory . '</b></td></tr>'; } $lastCategory[$segment['type']] = $thisCategory; $exampleValues = isset($segment['acceptedValues']) ? 'Example values: <code>' . $segment['acceptedValues'] . '</code>' : ''; $restrictedToAdmin = isset($segment['permission']) ? '<br/>Note: This segment can only be used by an Admin user' : ''; $output .= '<tr> <td class="segmentString">' . $segment['segment'] . '</td> <td class="segmentName">' . $segment['name'] . $restrictedToAdmin . '<br/>' . $exampleValues . ' </td> </tr>'; // Show only 2 custom variables and display message for rest if ($customVariableWillBeDisplayed) { $customVariables++; if ($customVariables == count($onlyDisplay)) { $output .= '<tr><td colspan="2"> There are 5 custom variables available, so you can segment across any segment name and value range. <br/>For example, <code>customVariableName1==Type;customVariableValue1==Customer</code> <br/>Returns all visitors that have the Custom Variable "Type" set to "Customer". <br/>Custom Variables of scope "page" can be queried separately. For example, to query the Custom Variable of scope "page", <br/>stored in index 1, you would use the segment <code>customVariablePageName1==ArticleLanguage;customVariablePageValue1==FR</code> </td></tr>'; } } if ($segment['type'] == 'dimension') { $tableDimensions .= $output; } else { $tableMetrics .= $output; } } return " <strong>Dimensions</strong> <table> $tableDimensions </table> <br/> <strong>Metrics</strong> <table> $tableMetrics </table> "; } public function glossary() { Piwik::checkUserHasSomeViewAccess(); $reports = Request::processRequest('API', array('method' => 'API.getGlossaryReports', 'filter_limit' => -1)); $metrics = Request::processRequest('API', array('method' => 'API.getGlossaryMetrics', 'filter_limit' => -1)); $glossaryItems = array( 'metrics' => array( 'title' => Piwik::translate('General_Metrics'), 'entries' => $metrics ), 'reports' => array( 'title' => Piwik::translate('General_Reports'), 'entries' => $reports ) ); /** * Triggered to add or modify glossary items. You can either modify one of the existing core categories * 'reports' and 'metrics' or add your own category. * * **Example** * * public function addGlossaryItems(&$glossaryItems) * { * $glossaryItems['users'] = array('title' => 'Users', 'entries' => array( * array('name' => 'User1', 'documentation' => 'This user has ...'), * array('name' => 'User2', 'documentation' => 'This user has ...'), * )); * $glossaryItems['reports']['entries'][] = array('name' => 'My Report', 'documentation' => 'This report has ...'); * } * * @param array &$glossaryItems An array containing all glossary items. */ Piwik::postEvent('API.addGlossaryItems', array(&$glossaryItems)); foreach ($glossaryItems as &$item) { $item['letters'] = array(); foreach ($item['entries'] as &$entry) { $cleanEntryName = mb_ereg_replace('["\']', '', $entry['name']); $letter = mb_strtoupper(mb_substr($cleanEntryName, 0, 1)); $entry['letter'] = $letter; $item['letters'][$letter] = $letter; } } return $this->renderTemplate('glossary', array( 'glossaryItems' => $glossaryItems, )); } }
Close