Beispiel #1
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $writer = $this->getProfileWriter($input);
     $list = \TikiDb::get()->table('tiki_modules')->fetchColumn('moduleId', array());
     foreach ($list as $moduleId) {
         \Tiki_Profile_InstallHandler_Module::export($writer, $moduleId);
     }
     $writer->save();
 }
Beispiel #2
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $moduleId = $input->getArgument('module');
     $writer = $this->getProfileWriter($input);
     $result = \Tiki_Profile_InstallHandler_Module::export($writer, $moduleId);
     if ($result) {
         $writer->save();
     } else {
         $output->writeln("Module not found: {$moduleId}");
     }
 }
Beispiel #3
0
 /**
  * @param $filename
  * @return array|mixed
  */
 private function read_module_file($filename)
 {
     $cachelib = TikiLib::lib('cache');
     $expiry = filemtime($filename);
     if ($modules = $cachelib->getSerialized($filename, 'modules', $expiry)) {
         return $modules;
     }
     $content = file_get_contents($filename);
     if (!$content) {
         TikiLib::lib('errorreport')->report(tr('Module file "%0" not found.', $filename));
         return '';
     }
     $profile = Tiki_Profile::fromString("{CODE(caption=>YAML)}{$content}{CODE}");
     $out = array_fill_keys(array_values($this->module_zones), array());
     foreach ($profile->getObjects() as $object) {
         if ($object->getType() == 'module') {
             $handler = new Tiki_Profile_InstallHandler_Module($object, array());
             $data = $handler->getData();
             $object->replaceReferences($data);
             $data = $handler->formatData($data);
             $data['groups'] = unserialize($data['groups']);
             $position = $data['position'];
             $zone = $this->module_zones[$position];
             $out[$zone][] = $data;
         }
     }
     $cachelib->cacheItem($filename, serialize($out), 'modules');
     return $out;
 }