public function generate(ModuleGenerateEvent $event) { $templates = $this->findInPath($event->getResourcesPath(), "/__MODULE__.*\\.php\$/"); $this->parser->assign("moduleCode", $event->getModuleCode()); $this->parser->assign("tables", $event->getEntities()); $this->processModule($templates, $event->getResourcesPath(), $event->getModulePath(), $event->getModuleCode()); }
/** * @param ModuleGenerateEvent $event * @return mixed */ protected function generate(ModuleGenerateEvent $event) { $formConfig = $this->readConfigFormFile($event->getModulePath()); if (empty($formConfig)) { return; } $this->parser->assign("form", $formConfig); $this->parser->assign("moduleCode", $event->getModuleCode()); $this->generateClasses($event->getResourcesPath(), $event->getModulePath(), $event->getModuleCode()); $this->generateTemplates($event->getResourcesPath(), $event->getModulePath(), $event->getModuleCode()); $this->generateConfiguration($event->getModulePath(), $event->getModuleCode()); $this->generateRouting($event->getModulePath(), $event->getModuleCode()); }
public function generate(ModuleGenerateEvent $event) { $previousLeft = $this->parser->left_delimiter; $previousRight = $this->parser->right_delimiter; $this->parser->left_delimiter = '[{'; $this->parser->right_delimiter = '}]'; $templates = $this->findInPath($event->getResourcesPath(), "/__TABLE__.*\\.html\$/"); $this->parser->assign("moduleCode", $event->getModuleCode()); $this->parser->assign("tables", $event->getEntities()); foreach ($event->getEntities() as $entity) { $this->processTemplate($entity, $templates, $event->getResourcesPath(), $event->getModuleCode()); } $this->parser->left_delimiter = $previousLeft; $this->parser->right_delimiter = $previousRight; }
/** * @param ModuleGenerateEvent $event * * This method self prepares the event before running the generators. * * Here is the build process: * 1. Launch propel to validate the schema and generate model && sql * 2. Find / prepare all the resources * 3. Compile the module related classes * 4. Compile the table related classes * 5. Compile the templates * 6. Copy raw files * 7. Apply rules * 8. Add everything in config.xml and routing.xml */ public function launchBuild(ModuleGenerateEvent $event) { // Backup trim level and set it to 0 $previousTrimLevel = ConfigQuery::read("html_output_trim_level"); ConfigQuery::write("html_output_trim_level", 0); $moduleCode = $event->getModuleCode(); $modulePath = THELIA_MODULE_DIR . $moduleCode . DS; $resourcesPath = ConfigQuery::read(TheliaStudio::RESOURCE_PATH_CONFIG_NAME) . DS; if (!is_dir($resourcesPath) || !is_readable($resourcesPath)) { throw new FileNotFoundException(sprintf("The resources directory %s doesn't exist", $resourcesPath)); } $e = null; try { $entities = $this->buildEntities($modulePath, $event->getTables()); $event->setModulePath($modulePath)->setResourcesPath($resourcesPath)->setEntities($entities)->setKernel($this->kernel); $event->getDispatcher()->dispatch(TheliaStudioEvents::RUN_GENERATORS, $event); } catch (\Exception $e) { } // Restore trim level ConfigQuery::write("html_output_trim_level", $previousTrimLevel); if (null !== $e) { throw $e; } }
public function generate(ModuleGenerateEvent $event) { $this->processConfiguration($event->getEntities(), $event->getModulePath(), $event->getModuleCode()); }
public function generate(ModuleGenerateEvent $event) { $this->generateSql($event->getModuleCode(), $event->getKernel()); $this->generateModel($event->getModuleCode(), $event->getKernel()); $this->removeMapFile($event->getModulePath()); }