X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=inc%2Fclasses%2Fmain%2Ftemplate%2Fimage%2Fclass_ImageTemplateEngine.php;h=22262c0952d2ab8ac972b52dc1573a74477f9cf0;hp=eb536f84ae590dff5d4c494b7581c36fad2ae879;hb=0462ab432ba34563798ac810bc0178da4d5b3295;hpb=b9c18d6c24e3be4393bf41005aa4e428a0ea3218 diff --git a/inc/classes/main/template/image/class_ImageTemplateEngine.php b/inc/classes/main/template/image/class_ImageTemplateEngine.php index eb536f84..22262c09 100644 --- a/inc/classes/main/template/image/class_ImageTemplateEngine.php +++ b/inc/classes/main/template/image/class_ImageTemplateEngine.php @@ -4,7 +4,7 @@ * * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 Core Developer Team + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2012 Core Developer Team * @license GNU GPL 3.0 or any newer version * @link http://www.ship-simu.org * @@ -51,11 +51,6 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl 'text' ); - /** - * Image instance - */ - private $imageInstance = null; - /** * Current main node */ @@ -74,8 +69,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl /** * Creates an instance of the class TemplateEngine and prepares it for usage * - * @param $appInstance A manageable application - * @return $tplInstance An instance of TemplateEngine + * @return $templateInstance An instance of TemplateEngine * @throws BasePathIsEmptyException If the provided $templateBasePath is empty * @throws InvalidBasePathStringException If $templateBasePath is no string * @throws BasePathIsNoDirectoryException If $templateBasePath is no @@ -83,51 +77,43 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl * @throws BasePathReadProtectedException If $templateBasePath is * read-protected */ - public final static function createImageTemplateEngine (ManageableApplication $appInstance) { + public static final function createImageTemplateEngine () { // Get a new instance - $tplInstance = new ImageTemplateEngine(); + $templateInstance = new ImageTemplateEngine(); - // Get language and file I/O instances from application - $langInstance = $appInstance->getLanguageInstance(); - $ioInstance = $appInstance->getFileIoInstance(); + // Get the application instance from registry + $applicationInstance = Registry::getRegistry()->getInstance('app'); // Determine base path - $templateBasePath = $tplInstance->getConfigInstance()->getConfigEntry('application_base_path') . $appInstance->getRequestInstance()->getRequestElement('app') . '/'; + $templateBasePath = $templateInstance->getConfigInstance()->getConfigEntry('application_base_path') . $applicationInstance->getRequestInstance()->getRequestElement('app') . '/'; // Is the base path valid? if (empty($templateBasePath)) { // Base path is empty - throw new BasePathIsEmptyException($tplInstance, self::EXCEPTION_UNEXPECTED_EMPTY_STRING); + throw new BasePathIsEmptyException($templateInstance, self::EXCEPTION_UNEXPECTED_EMPTY_STRING); } elseif (!is_string($templateBasePath)) { // Is not a string - throw new InvalidBasePathStringException(array($tplInstance, $templateBasePath), self::EXCEPTION_INVALID_STRING); + throw new InvalidBasePathStringException(array($templateInstance, $templateBasePath), self::EXCEPTION_INVALID_STRING); } elseif (!is_dir($templateBasePath)) { // Is not a path - throw new BasePathIsNoDirectoryException(array($tplInstance, $templateBasePath), self::EXCEPTION_INVALID_PATH_NAME); + throw new BasePathIsNoDirectoryException(array($templateInstance, $templateBasePath), self::EXCEPTION_INVALID_PATH_NAME); } elseif (!is_readable($templateBasePath)) { // Is not readable - throw new BasePathReadProtectedException(array($tplInstance, $templateBasePath), self::EXCEPTION_READ_PROTECED_PATH); + throw new BasePathReadProtectedException(array($templateInstance, $templateBasePath), self::EXCEPTION_READ_PROTECED_PATH); } - // Get configuration instance - $configInstance = FrameworkConfiguration::getInstance(); - // Set the base path - $tplInstance->setTemplateBasePath($templateBasePath); - - // Set the language and IO instances - $tplInstance->setLanguageInstance($langInstance); - $tplInstance->setFileIoInstance($ioInstance); + $templateInstance->setTemplateBasePath($templateBasePath); // Set template extensions - $tplInstance->setRawTemplateExtension($configInstance->getConfigEntry('raw_template_extension')); - $tplInstance->setCodeTemplateExtension($configInstance->getConfigEntry('code_template_extension')); + $templateInstance->setRawTemplateExtension($templateInstance->getConfigInstance()->getConfigEntry('raw_template_extension')); + $templateInstance->setCodeTemplateExtension($templateInstance->getConfigInstance()->getConfigEntry('code_template_extension')); // Absolute output path for compiled templates - $tplInstance->setCompileOutputPath($configInstance->getConfigEntry('base_path') . $configInstance->getConfigEntry('compile_output_path')); + $templateInstance->setCompileOutputPath($templateInstance->getConfigInstance()->getConfigEntry('base_path') . $templateInstance->getConfigInstance()->getConfigEntry('compile_output_path')); // Return the prepared instance - return $tplInstance; + return $templateInstance; } /** @@ -183,7 +169,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl $methodName = 'setImageProperty' . $this->convertToClassName($element); } elseif ($element != 'image') { // Invalid node name found - throw new InvalidXmlNodeException(array($this, $element, $attributes), BaseHelper::EXCEPTION_XML_NODE_UNKNOWN); + throw new InvalidXmlNodeException(array($this, $element, $attributes), XmlParser::EXCEPTION_XML_NODE_UNKNOWN); } // Call method @@ -199,7 +185,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl * @return void * @throws XmlNodeMismatchException If current main node mismatches the closing one */ - protected function endElement ($resource, $nodeName) { + public function finishElement ($resource, $nodeName) { // Make all lower-case $nodeName = strtolower($nodeName); @@ -207,7 +193,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl //* DEBUG: */ echo "END: >".$nodeName."<
\n"; if (($nodeName != $this->getCurrMainNode()) && (in_array($nodeName, $this->getMainNodes()))) { // Did not match! - throw new XmlNodeMismatchException (array($this, $nodeName, $this->getCurrMainNode()), BaseHelper::EXCEPTION_XML_NODE_MISMATCH); + throw new XmlNodeMismatchException (array($this, $nodeName, $this->getCurrMainNode()), XmlParser::EXCEPTION_XML_NODE_MISMATCH); } elseif (in_array($nodeName, $this->getSubNodes())) { // Silently ignore sub nodes return; @@ -217,7 +203,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl $methodName = 'finish' . $this->convertToClassName($nodeName); // Call the corresponding method - call_user_func_array(array($this->imageInstance, $methodName), array()); + call_user_func_array(array($this->getImageInstance(), $methodName), array()); } /** @@ -228,7 +214,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl * @return void * @todo Find something usefull with this! */ - protected function characterHandler ($resource, $characters) { + public function characterHandler ($resource, $characters) { // Trim all spaces away $characters = trim($characters); @@ -269,7 +255,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl $className = $this->convertToClassName($imageType.'_image'); // And try to initiate it - $this->imageInstance = ObjectFactory::createObjectByName($className, array($this)); + $this->setImageInstance(ObjectFactory::createObjectByName($className, array($this))); // Set current main node to type $this->currMainNode = 'type'; @@ -283,7 +269,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl */ private function setImageResolution () { // Call the image class - $this->imageInstance->initResolution(); + $this->getImageInstance()->initResolution(); // Current main node is resolution $this->currMainNode = 'resolution'; @@ -297,7 +283,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl */ private function setImageBase () { // Call the image class - $this->imageInstance->initBase(); + $this->getImageInstance()->initBase(); // Current main node is resolution $this->currMainNode = 'base'; @@ -311,7 +297,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl */ private function setImageBackgroundColor () { // Call the image class - $this->imageInstance->initBackgroundColor(); + $this->getImageInstance()->initBackgroundColor(); // Current main node is background-color $this->currMainNode = 'background-color'; @@ -325,7 +311,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl */ private function setImageForegroundColor () { // Call the image class - $this->imageInstance->initForegroundColor(); + $this->getImageInstance()->initForegroundColor(); // Current main node is foreground-color $this->currMainNode = 'foreground-color'; @@ -334,13 +320,13 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl /** * "Setter" for image-string. For more details see above method! * - * @param $groupable Wether this image string is groupable + * @param $groupable Whether this image string is groupable * @return void * @see ImageTemplateEngine::setImageResolution */ private function setImageImageString ($groupable = 'single') { // Call the image class - $this->imageInstance->initImageString($groupable); + $this->getImageInstance()->initImageString($groupable); // Current main node is foreground-color $this->currMainNode = 'image-string'; @@ -354,7 +340,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl */ private function setImagePropertyName ($imageName) { // Call the image class - $this->imageInstance->setImageName($imageName); + $this->getImageInstance()->setImageName($imageName); } /** @@ -365,7 +351,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl */ private function setImagePropertyWidth ($width) { // Call the image class - $this->imageInstance->setWidth($width); + $this->getImageInstance()->setWidth($width); } /** @@ -376,7 +362,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl */ private function setImagePropertyHeight ($height) { // Call the image class - $this->imageInstance->setHeight($height); + $this->getImageInstance()->setHeight($height); } /** @@ -387,7 +373,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl */ private function setImagePropertyRed ($red) { // Call the image class - $this->imageInstance->setRed($red); + $this->getImageInstance()->setRed($red); } /** @@ -398,7 +384,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl */ private function setImagePropertyGreen ($green) { // Call the image class - $this->imageInstance->setGreen($green); + $this->getImageInstance()->setGreen($green); } /** @@ -409,7 +395,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl */ private function setImagePropertyBlue ($blue) { // Call the image class - $this->imageInstance->setBlue($blue); + $this->getImageInstance()->setBlue($blue); } /** @@ -420,7 +406,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl */ private function setImagePropertyStringName ($stringName) { // Call the image class - $this->imageInstance->setStringName($stringName); + $this->getImageInstance()->setStringName($stringName); } /** @@ -431,7 +417,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl */ private function setImagePropertyFontSize ($fontSize) { // Call the image class - $this->imageInstance->setFontSize($fontSize); + $this->getImageInstance()->setFontSize($fontSize); } /** @@ -442,7 +428,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl */ private function setImagePropertyText ($imageString) { // Call the image class - $this->imageInstance->setString($imageString); + $this->getImageInstance()->setString($imageString); } /** @@ -453,7 +439,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl */ private function setImagePropertyX ($x) { // Call the image class - $this->imageInstance->setX($x); + $this->getImageInstance()->setX($x); } /** @@ -464,7 +450,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl */ private function setImagePropertyY ($y) { // Call the image class - $this->imageInstance->setY($y); + $this->getImageInstance()->setY($y); } /** @@ -479,9 +465,9 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl $this->getGenericBasePath(), 'images/_cache', md5( - $this->imageInstance->getImageName().':'.$this->__toString().':'.$this->imageInstance->__toString() + $this->getImageInstance()->getImageName() . ':' . $this->__toString() . ':' . $this->getImageInstance()->__toString() ), - $this->imageInstance->getImageType() + $this->getImageInstance()->getImageType() ); // Return it @@ -496,7 +482,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl */ public function transferToResponse (Responseable $responseInstance) { // Set the image instance - $responseInstance->setImageInstance($this->imageInstance); + $responseInstance->setImageInstance($this->getImageInstance()); } /**