コード例 #1
0
 public function findNewModules()
 {
     global $cms;
     global $parametersMod;
     $answer = '';
     $newModules = array();
     $newModuleGroups = $this->getFolders(PLUGIN_DIR);
     foreach ($newModuleGroups as $key => $newModuleGroup) {
         $newModuleGroups[$key] = self::getFolders(PLUGIN_DIR . $key . "/");
     }
     foreach ($newModuleGroups as $newModuleGroupKey => $newModuleGroup) {
         foreach ($newModuleGroup as $newModuleKey => $newModule) {
             $currentModule = \Db::getModule(null, $newModuleGroupKey, $newModuleKey);
             if (file_exists(BASE_DIR . PLUGIN_DIR . $newModuleGroupKey . '/' . $newModuleKey . '/install/plugin.ini')) {
                 $configuration = new ConfigurationFile(BASE_DIR . PLUGIN_DIR . $newModuleGroupKey . '/' . $newModuleKey . '/install/plugin.ini');
                 if (!$currentModule) {
                     $newModules[] = array('action' => 'insert', 'configuration' => $configuration, 'dependend' => false);
                 } else {
                     if ((double) $currentModule['version'] < (double) $configuration->getModuleVersion()) {
                         $newModules[] = array('action' => 'update', 'configuration' => $configuration, 'dependend' => false);
                     }
                 }
             } else {
                 $answer .= $parametersMod->getValue('developer', 'modules', 'admin_translations_install', 'error_ini_file_doesnt_exist') . '<b>' . $newModuleGroupKey . '/' . $newModuleKey . '/install/plugin.ini</b>';
             }
         }
     }
     if (sizeof($newModules) > 0) {
         $answer .= '<link media="screen" rel="stylesheet" type="text/css" href="' . BASE_URL . MODULE_DIR . 'developer/modules/style.css"/>';
     }
     foreach ($newModules as $key2 => &$newModule2) {
         //fill alreadyUsed array;
         $this->setDepend($newModules, $newModule2, 1);
     }
     foreach ($newModules as $key => $newModule) {
         if (!$newModule['dependend']) {
             $answer .= $this->printInstallBlock($newModules, $newModule, $alreadyUsed2, 1);
         }
     }
     return $answer;
 }