X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=inc%2Fclasses%2Fmain%2Ftemplate%2Fimage%2Fclass_ImageTemplateEngine.php;h=21e1490f5bc5e7ea0d809e34b2a467bf026d3815;hp=309279a695abccb5812943a39db08cf879d49891;hb=e460e503df60eec92ab83b3167eed2e5399097f5;hpb=3107989f93cfb5808ce9d75f1c7d2b7ee3d83d18 diff --git a/inc/classes/main/template/image/class_ImageTemplateEngine.php b/inc/classes/main/template/image/class_ImageTemplateEngine.php index 309279a6..21e1490f 100644 --- a/inc/classes/main/template/image/class_ImageTemplateEngine.php +++ b/inc/classes/main/template/image/class_ImageTemplateEngine.php @@ -25,12 +25,31 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl /** * Main nodes in the XML tree ('image' is ignored) */ - private $mainNodes = array("base", "type", "resolution", "background-color", "foreground-color", "image-string"); + private $mainNodes = array( + 'base', + 'type', + 'resolution', + 'background-color', + 'foreground-color', + 'image-string' + ); /** * Sub nodes in the XML tree */ - private $subNodes = array("name", "string-name", "x", "y", "font-size", "width", "height", "red", "green", "blue", "text"); + private $subNodes = array( + 'name', + 'string-name', + 'x', + 'y', + 'font-size', + 'width', + 'height', + 'red', + 'green', + 'blue', + 'text' + ); /** * Image instance @@ -55,41 +74,46 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl /** * Creates an instance of the class TemplateEngine and prepares it for usage * - * @param $basePath The local base path for all templates - * @param $langInstance An instance of LanguageSystem (default) - * @param $ioInstance An instance of FileIoHandler (default, middleware!) + * @param $appInstance A manageable application * @return $tplInstance An instance of TemplateEngine - * @throws BasePathIsEmptyException If the provided $basePath is empty - * @throws InvalidBasePathStringException If $basePath is no string - * @throws BasePathIsNoDirectoryException If $basePath is no + * @throws BasePathIsEmptyException If the provided $templateBasePath is empty + * @throws InvalidBasePathStringException If $templateBasePath is no string + * @throws BasePathIsNoDirectoryException If $templateBasePath is no * directory or not found - * @throws BasePathReadProtectedException If $basePath is + * @throws BasePathReadProtectedException If $templateBasePath is * read-protected */ - public final static function createImageTemplateEngine ($basePath, ManageableLanguage $langInstance, FileIoHandler $ioInstance) { + public final static function createImageTemplateEngine (ManageableApplication $appInstance) { // Get a new instance $tplInstance = new ImageTemplateEngine(); + // Get language and file I/O instances from application + $langInstance = $appInstance->getLanguageInstance(); + $ioInstance = $appInstance->getFileIoInstance(); + + // Determine base path + $templateBasePath = $tplInstance->getConfigInstance()->readConfig('application_base_path') . $appInstance->getRequestInstance()->getRequestElement('app') . '/'; + // Is the base path valid? - if (empty($basePath)) { + if (empty($templateBasePath)) { // Base path is empty throw new BasePathIsEmptyException($tplInstance, self::EXCEPTION_UNEXPECTED_EMPTY_STRING); - } elseif (!is_string($basePath)) { + } elseif (!is_string($templateBasePath)) { // Is not a string - throw new InvalidBasePathStringException(array($tplInstance, $basePath), self::EXCEPTION_INVALID_STRING); - } elseif (!is_dir($basePath)) { + throw new InvalidBasePathStringException(array($tplInstance, $templateBasePath), self::EXCEPTION_INVALID_STRING); + } elseif (!is_dir($templateBasePath)) { // Is not a path - throw new BasePathIsNoDirectoryException(array($tplInstance, $basePath), self::EXCEPTION_INVALID_PATH_NAME); - } elseif (!is_readable($basePath)) { + throw new BasePathIsNoDirectoryException(array($tplInstance, $templateBasePath), self::EXCEPTION_INVALID_PATH_NAME); + } elseif (!is_readable($templateBasePath)) { // Is not readable - throw new BasePathReadProtectedException(array($tplInstance, $basePath), self::EXCEPTION_READ_PROTECED_PATH); + throw new BasePathReadProtectedException(array($tplInstance, $templateBasePath), self::EXCEPTION_READ_PROTECED_PATH); } // Get configuration instance $configInstance = FrameworkConfiguration::getInstance(); // Set the base path - $tplInstance->setBasePath($basePath); + $tplInstance->setTemplateBasePath($templateBasePath); // Set the language and IO instances $tplInstance->setLanguageInstance($langInstance); @@ -450,7 +474,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl */ public function getImageCacheFqfn () { // Get the FQFN ready - $fqfn = $this->getBasePath().'_cache/' . md5($this->imageInstance->getImageName().":".$this->__toString().":".$this->imageInstance->__toString()) . "." . $this->imageInstance->getImageType(); + $fqfn = $this->getTemplateBasePath().'_cache/' . md5($this->imageInstance->getImageName().':'.$this->__toString().':'.$this->imageInstance->__toString()) . '.' . $this->imageInstance->getImageType(); // Return it return $fqfn;