Esempio n. 1
0
 /**
  * Gets the module from the provided module array
  * @param array $moduleArray A array with the module properties, as retrieved from the webservices
  * @return Module
  */
 private function getModuleFromArray(array $moduleArray)
 {
     $namespace = $moduleArray[RepositoryModule::ATTRIBUTE_NAMESPACE];
     $name = $moduleArray[RepositoryModule::ATTRIBUTE_NAME];
     $version = null;
     if (array_key_exists(RepositoryModule::ATTRIBUTE_VERSION, $moduleArray)) {
         $version = $moduleArray[RepositoryModule::ATTRIBUTE_VERSION];
     }
     $ziboVersion = null;
     if (array_key_exists(RepositoryModule::ATTRIBUTE_ZIBO_VERSION, $moduleArray)) {
         $ziboVersion = $moduleArray[RepositoryModule::ATTRIBUTE_ZIBO_VERSION];
     }
     $dependencies = array();
     if (array_key_exists(RepositoryModule::TAG_DEPENDENCY, $moduleArray)) {
         $dependencies = $this->getModulesFromArray($moduleArray[RepositoryModule::TAG_DEPENDENCY]);
     }
     $module = new Module($namespace, $name, $version, $ziboVersion, $dependencies);
     if (array_key_exists(RepositoryModule::TAG_VERSIONS, $moduleArray)) {
         foreach ($moduleArray[RepositoryModule::TAG_VERSIONS] as $moduleVersionArray) {
             $moduleVersion = $this->getModuleFromArray($moduleVersionArray);
             $module->addVersion($moduleVersion);
         }
     }
     return $module;
 }