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(); }
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}"); } }
/** * @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; }