public function doGenerate(ModuleGenerateEvent $event) { $generators = $event->getGenerators(); $this->event = $event; if (empty($generators) || in_array($this->getName(), $generators)) { $this->generate($event); } }
public function generate(ModuleGenerateEvent $event) { /** @var \SplFileInfo $file */ foreach (Finder::create()->files()->in($event->getResourcesPath() . "raw-copy") as $file) { $relativePath = $relativePath = str_replace($event->getResourcesPath() . "raw-copy", "", $file->getRealPath()); $completePath = $event->getModulePath() . $relativePath; @copy($file->getRealPath(), $completePath); } }
public function generate(ModuleGenerateEvent $event) { $ruleReader = new RuleParser(); /** @var \SplFileInfo $rule */ foreach ($this->findInPath($event->getResourcesPath(), "/\\.rule\$/") as $rule) { $relativePath = str_replace($event->getResourcesPath(), "", $rule->getRealPath()); $completePath = $event->getModulePath() . $relativePath; $completePath = substr($completePath, 0, -5); // remove .rule extension $rule = $ruleReader->readRules($rule->getRealPath()); $this->processRule($rule, $completePath); } }
public function generate(ModuleGenerateEvent $event) { $templates = $this->findInPath($event->getResourcesPath(), "/__TABLE__.*\\.php\$/"); $this->parser->assign("moduleCode", $event->getModuleCode()); $this->parser->assign("tables", $event->getEntities()); foreach ($event->getEntities() as $entity) { $this->processPhp($entity, $templates, $event->getResourcesPath(), $event->getModuleCode(), $event->getModulePath()); } }
/** * @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) { $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; }
public function generate(ModuleGenerateEvent $event) { $this->processConfiguration($event->getEntities(), $event->getModulePath(), $event->getModuleCode()); }
protected function buildEvent() { $parser = new SchemaParser(); $entities = $parser->parseXml(new SimpleXMLElement(file_get_contents(__DIR__ . DS . str_replace("/", DS, static::TEST_MODULE_PATH) . "Config" . DS . "schema.xml"))); $this->event->setKernel($this->kernel)->setModulePath($this->getStreamPath(''))->setEntities($entities)->setResourcesPath(realpath(__DIR__ . DS . ".." . DS . "Resources") . DS); }
/** * @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) { $this->generateSql($event->getModuleCode(), $event->getKernel()); $this->generateModel($event->getModuleCode(), $event->getKernel()); $this->removeMapFile($event->getModulePath()); }