예제 #1
0
 /**
  * Get dependencies
  *
  * @param AJXP_PluginsService $pluginService
  * @return array
  */
 public function getActiveDependencies($pluginService)
 {
     $deps = array();
     $nodes = $this->cachedNodesFromManifest("dependencies/activePlugin");
     foreach ($nodes as $arrayNode) {
         $value = $arrayNode["pluginName"];
         $parts = explode("|", $value);
         foreach ($parts as $depName) {
             if ($depName == "access.AJXP_STREAM_PROVIDER") {
                 $deps = array_merge($deps, $pluginService->getStreamWrapperPlugins());
             } else {
                 if (strpos($depName, "+") !== false) {
                     $typed = $pluginService->getPluginsByType(substr($depName, 0, strlen($depName) - 1));
                     foreach ($typed as $typPlug) {
                         $deps[] = $typPlug->getId();
                     }
                 } else {
                     $deps[] = $depName;
                     // array_merge($deps, explode("|", $value));
                 }
             }
         }
     }
     return $deps;
 }
예제 #2
0
 /**
  * Get dependencies
  *
  * @param AJXP_PluginsService $pluginService
  * @return array
  */
 public function getActiveDependencies($pluginService)
 {
     if (!$this->manifestLoaded) {
         return array();
     }
     $deps = array();
     $nodes = $this->xPath->query("dependencies/activePlugin/@pluginName");
     foreach ($nodes as $attr) {
         $value = $attr->value;
         if ($value == "access.AJXP_STREAM_PROVIDER") {
             $deps = array_merge($deps, $pluginService->getStreamWrapperPlugins());
         } else {
             $deps = array_merge($deps, explode("|", $value));
         }
     }
     return $deps;
 }