X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=framework%2Fmain%2Fclasses%2Ftemplate%2Fmenu%2Fclass_MenuTemplateEngine.php;h=bef971829d993b7ebc08e0055b98ce678ee381b3;hp=c5601b4c647d46b1ac6c5f17ccdcb2cb3bb9d51d;hb=8d8cf621bd811811cecd83c65a4ab91f27258e79;hpb=3bb159161d180dd4c9a9d404f40bd77e855d56c4 diff --git a/framework/main/classes/template/menu/class_MenuTemplateEngine.php b/framework/main/classes/template/menu/class_MenuTemplateEngine.php index c5601b4c..bef97182 100644 --- a/framework/main/classes/template/menu/class_MenuTemplateEngine.php +++ b/framework/main/classes/template/menu/class_MenuTemplateEngine.php @@ -1,15 +1,17 @@ getInstance('app'); + $applicationInstance = GenericRegistry::getRegistry()->getInstance('application'); // Determine base path - $templateBasePath = $templateInstance->getConfigInstance()->getConfigEntry('application_base_path') . $applicationInstance->getRequestInstance()->getRequestElement('app') . '/'; + $templateBasePath = $templateInstance->getConfigInstance()->getConfigEntry('application_base_path') . $applicationInstance->getAppShortName(). '/'; // Is the base path valid? if (empty($templateBasePath)) { @@ -176,7 +178,10 @@ class MenuTemplateEngine extends BaseTemplateEngine implements CompileableTempla $templateInstance->setCodeTemplateExtension($templateInstance->getConfigInstance()->getConfigEntry('menu_template_extension')); // Absolute output path for compiled templates - $templateInstance->setCompileOutputPath($templateInstance->getConfigInstance()->getConfigEntry('base_path') . $templateInstance->getConfigInstance()->getConfigEntry('compile_output_path')); + $templateInstance->setCompileOutputPath(sprintf('%s%s/', + $templateBasePath, + $templateInstance->getConfigInstance()->getConfigEntry('compile_output_path') + )); // Set the menu instance $templateInstance->setMenuInstance($menuInstance); @@ -363,7 +368,7 @@ class MenuTemplateEngine extends BaseTemplateEngine implements CompileableTempla */ private function initMenu ($templateDependency = '') { // Get web template engine - $this->setTemplateInstance(ObjectFactory::createObjectByConfiguredName('html_template_class', array($this->getApplicationInstance()))); + $this->setTemplateInstance(ObjectFactory::createObjectByConfiguredName('html_template_class', array(GenericRegistry::getRegistry()->getInstance('application')))); // Handle the dependency template $this->handleTemplateDependency('menu', $templateDependency); @@ -861,26 +866,28 @@ class MenuTemplateEngine extends BaseTemplateEngine implements CompileableTempla } /** - * Getter for menu cache file (FQFN) + * Getter for menu cache file instance * - * @return $fqfn Full-qualified file name of the menu cache + * @return $fileInstance Full-qualified file name of the menu cache */ - public function getMenuCacheFqfn () { - // Get the FQFN ready - $fqfn = sprintf('%s%s%s/%s.%s', - $this->getConfigInstance()->getConfigEntry('base_path'), - $this->getGenericBasePath(), - 'menus/_cache', + public function getMenuCacheFile () { + // Get the application instance from registry + $applicationInstance = GenericRegistry::getRegistry()->getInstance('application'); + + // Get the file instance ready + $fileInstance = new SplFileInfo(sprintf('%s%smenus/_cache/%s.%s', + $this->getConfigInstance()->getConfigEntry('application_base_path'), + $applicationInstance->getAppShortName(), md5( $this->getMenuInstance()->getMenuName() . ':' . $this->__toString() . ':' . $this->getMenuInstance()->__toString() ), $this->getMenuInstance()->getMenuType() - ); + )); // Return it - return $fqfn; + return $fileInstance; } }