Exemplo n.º 1
0
 /**
  * Update module information
  *
  * @param array $arrayModule
  * @param $moduleLocale
  * @return array
  */
 protected function updateModuleInfo($arrayModule = [], $moduleLocale)
 {
     if (count($arrayModule) == 0 || $moduleLocale == '' || $moduleLocale != 'backend' && $moduleLocale != 'frontend') {
         return false;
     } else {
         $arrayModuleReturn = [];
         foreach ($arrayModule as $module) {
             $filePath = APP_DIR . '/' . $moduleLocale . '/' . $module . '/Resource.php';
             //Get new Module name
             $resource = check_resource($filePath, $module, $moduleLocale);
             if (file_exists($filePath) && $resource) {
                 /**
                  * CoreModule $coreModule
                  */
                 $coreModule = CoreModules::findFirst(['conditions' => 'base_name = ?1', 'bind' => ['1' => $module]]);
                 if (!$coreModule) {
                     $coreModule = new CoreModules();
                     $coreModule->base_name = $module;
                     $coreModule->name = $module;
                     $coreModule->is_core = 0;
                     $coreModule->published = 0;
                     $coreModule->location = $moduleLocale;
                     $coreModule->ordering = (int) CoreModules::maximum(['column' => 'ordering']) + 1;
                 }
                 $coreModule->name = $resource['name'];
                 $coreModule->class_name = $resource['class_name'];
                 $coreModule->path = $resource['path'];
                 $coreModule->menu = '';
                 $coreModule->description = $resource['description'];
                 $coreModule->author = $resource['author'];
                 $coreModule->authorUri = $resource['authorUri'];
                 $coreModule->version = $resource['version'];
                 $coreModule->uri = $resource['uri'];
                 if ($moduleLocale == 'backend') {
                     $coreModule->menu = $this->getModuleMenu($module);
                 }
                 if ($moduleLocale == 'frontend') {
                     $coreModule->router = null;
                     //$this->getModuleRouter($module);
                 }
                 if (!$coreModule->save()) {
                     //Do some thing
                 } else {
                     $arrayModuleReturn['success'][] = [$coreModule->name, $moduleLocale];
                 }
             } else {
                 $arrayModuleReturn['error'][] = [$module, $moduleLocale];
             }
         }
         return $arrayModuleReturn;
     }
 }