Piwik\Plugin\Dependency::getMissingDependencies PHP Method

getMissingDependencies() public method

public getMissingDependencies ( $requires )
    public function getMissingDependencies($requires)
    {
        $missingRequirements = array();
        if (empty($requires)) {
            return $missingRequirements;
        }
        foreach ($requires as $name => $requiredVersion) {
            $currentVersion = $this->getCurrentVersion($name);
            $missingVersions = $this->getMissingVersions($currentVersion, $requiredVersion);
            if (!empty($missingVersions)) {
                $missingRequirements[] = array('requirement' => $name, 'actualVersion' => $currentVersion, 'requiredVersion' => $requiredVersion, 'causedBy' => implode(', ', $missingVersions));
            }
        }
        return $missingRequirements;
    }

Usage Example

 private function makeSureThereAreNoMissingRequirements($metadata)
 {
     $requires = array();
     if (!empty($metadata->require)) {
         $requires = (array) $metadata->require;
     }
     $dependency = new PluginDependency();
     $missingDependencies = $dependency->getMissingDependencies($requires);
     if (!empty($missingDependencies)) {
         $message = '';
         foreach ($missingDependencies as $dep) {
             $params = array(ucfirst($dep['requirement']), $dep['actualVersion'], $dep['requiredVersion']);
             $message .= Piwik::translate('CorePluginsAdmin_MissingRequirementsNotice', $params);
         }
         throw new PluginInstallerException($message);
     }
 }
All Usage Examples Of Piwik\Plugin\Dependency::getMissingDependencies