コード例 #1
0
ファイル: Loader.class.php プロジェクト: Welvin/stingle
 /**
  * Get dependencies of plugin
  * 
  * @throws RuntimeException
  * @return Dependency
  */
 public function getDependencies()
 {
     $className = "Dependency{$this->pluginName}";
     try {
         if (!class_exists($className)) {
             if (file_exists(SITE_PACKAGES_PATH . "{$this->packageName}/{$this->pluginName}/{$className}.class.php")) {
                 stingleInclude(SITE_PACKAGES_PATH . "{$this->packageName}/{$this->pluginName}/{$className}.class.php", null, null, true);
             } elseif (file_exists(STINGLE_PATH . "packages/{$this->packageName}/{$this->pluginName}/{$className}.class.php")) {
                 stingleInclude(STINGLE_PATH . "packages/{$this->packageName}/{$this->pluginName}/{$className}.class.php", null, null, true);
             } else {
                 throw new RuntimeException();
             }
         }
         $deps = new $className();
     } catch (RuntimeException $e) {
         $deps = new Dependency();
     }
     if ($this->packageName != $this->pluginName) {
         try {
             $this->packageManager->checkPluginExistance($this->packageName, $this->packageName);
             $deps->addPlugin($this->packageName, $this->packageName);
         } catch (Exception $e) {
         }
     }
     return $deps;
 }