X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=inc%2Fclasses%2Fmain%2Ftemplate%2Fmail%2Fclass_MailTemplateEngine.php;h=90ae7ccdddb3b457c083acb2ff9ae2ea8a2cc6c8;hp=bad30ac3b51907d67542a209c61081af911fa163;hb=948e194bc84bf2219426dc56ad7481d04cd82374;hpb=0cd57c3885f00ad77fc599e53ed2f2d5e7ac267f diff --git a/inc/classes/main/template/mail/class_MailTemplateEngine.php b/inc/classes/main/template/mail/class_MailTemplateEngine.php index bad30ac3..90ae7ccd 100644 --- a/inc/classes/main/template/mail/class_MailTemplateEngine.php +++ b/inc/classes/main/template/mail/class_MailTemplateEngine.php @@ -2,11 +2,12 @@ /** * The own template engine for loading caching and sending out images * - * @author Roland Haeder + * @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 - 2015 Core Developer Team * @license GNU GPL 3.0 or any newer version - * @link http://www.ship-simu.org + * @link http://www.shipsimu.org + * @todo This template engine does not make use of setTemplateType() * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -25,7 +26,9 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla /** * Main nodes in the XML tree */ - private $mainNodes = array("mail-data"); + private $mainNodes = array( + 'mail-data' + ); /** * Sub nodes in the XML tree @@ -40,7 +43,7 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla /** * Mailer instance */ - private $mailerInstance = null; + private $mailerInstance = NULL; /** * Current main node @@ -60,8 +63,7 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla /** * 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 @@ -69,51 +71,43 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla * @throws BasePathReadProtectedException If $templateBasePath is * read-protected */ - public final static function createMailTemplateEngine (ManageableApplication $appInstance) { + public static final function createMailTemplateEngine () { // Get a new instance - $tplInstance = new MailTemplateEngine(); + $templateInstance = new MailTemplateEngine(); - // 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()->readConfig('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->readConfig('raw_template_extension')); - $tplInstance->setCodeTemplateExtension($configInstance->readConfig('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->readConfig('base_path') . $configInstance->readConfig('compile_output_path')); + $templateInstance->setCompileOutputPath($templateInstance->getConfigInstance()->getConfigEntry('base_path') . $templateInstance->getConfigInstance()->getConfigEntry('compile_output_path')); // Return the prepared instance - return $tplInstance; + return $templateInstance; } /** @@ -152,7 +146,7 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla * @return void * @throws InvalidXmlNodeException If an unknown/invalid XML node name was found */ - protected function startElement ($resource, $element, array $attributes) { + public function startElement ($resource, $element, array $attributes) { // Initial method name which will never be called... $methodName = 'initEmail'; @@ -163,13 +157,13 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla //* DEBUG: */ echo "START: >".$element."<
\n"; if (in_array($element, $this->getMainNodes())) { // Okay, main node found! - $methodName = 'setEmail' . $this->convertToClassName($element); + $methodName = 'setEmail' . self::convertToClassName($element); } elseif (in_array($element, $this->getSubNodes())) { // Sub node found - $methodName = 'setEmailProperty' . $this->convertToClassName($element); + $methodName = 'setEmailProperty' . self::convertToClassName($element); } elseif ($element != 'text-mail') { // 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 @@ -185,7 +179,7 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla * @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); @@ -193,14 +187,14 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla //* 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; } // Construct method name - $methodName = 'finish' . $this->convertToClassName($nodeName); + $methodName = 'finish' . self::convertToClassName($nodeName); // Call the corresponding method call_user_func_array(array($this, $methodName), array()); @@ -213,14 +207,14 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla * @param $characters Characters to handle * @return void */ - protected function characterHandler ($resource, $characters) { + public function characterHandler ($resource, $characters) { // Trim all spaces away $characters = trim($characters); // Is this string empty? if (empty($characters)) { // Then skip it silently - return false; + return; } // END - if // Add the message now @@ -273,12 +267,10 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla /** * Setter for subject line property * - * @param $subjectLine Subject line to set in email * @return void */ - private function setEmailPropertySubjectLine ($subjectLine) { - // Set the template variable - $this->assignVariable('subject', $subjectLine); + private function setEmailPropertySubjectLine () { + // Empty for now } /** @@ -327,7 +319,7 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla public function getMailCacheFqfn () { // Initialize FQFN $fqfn = ''; - $this->debugBackTrace(); + $this->debugBackTrace('Unfinished area!'); // Return it return $fqfn;