X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=framework%2Fmain%2Fclasses%2Ftemplate%2Fmail%2Fclass_MailTemplateEngine.php;h=951093a02d8035570a4914dae127b9e15e4d5786;hb=ef7a7e55c59c9e887e6bb09c8c02b8126309f716;hp=bd409dbe20c6d18aaf52b8c2fac04326235f5efc;hpb=adcdfc000eba8fac128786adcb8cb480085e7e76;p=core.git diff --git a/framework/main/classes/template/mail/class_MailTemplateEngine.php b/framework/main/classes/template/mail/class_MailTemplateEngine.php index bd409dbe..951093a0 100644 --- a/framework/main/classes/template/mail/class_MailTemplateEngine.php +++ b/framework/main/classes/template/mail/class_MailTemplateEngine.php @@ -3,13 +3,15 @@ namespace Org\Mxchange\CoreFramework\Template\Engine; // Import framework stuff +use Org\Mxchange\CoreFramework\Bootstrap\FrameworkBootstrap; use Org\Mxchange\CoreFramework\Filesystem\InvalidDirectoryException; use Org\Mxchange\CoreFramework\Mailer\DeliverableMail; -use Org\Mxchange\CoreFramework\Parser\Xml\XmlParser; +use Org\Mxchange\CoreFramework\Parser\Parseable; use Org\Mxchange\CoreFramework\Registry\GenericRegistry; use Org\Mxchange\CoreFramework\Response\Responseable; use Org\Mxchange\CoreFramework\Template\CompileableTemplate; use Org\Mxchange\CoreFramework\Template\Engine\BaseTemplateEngine; +use Org\Mxchange\CoreFramework\Utils\String\StringUtils; // Import SPL stuff use \UnexpectedValueException; @@ -41,19 +43,19 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla /** * Main nodes in the XML tree */ - private $mainNodes = array( + private $mainNodes = [ 'mail-data' - ); + ]; /** * Sub nodes in the XML tree */ - private $subNodes = array( + private $subNodes = [ 'subject-line', 'sender-address', 'recipient-address', 'message' - ); + ]; /** * Mailer instance @@ -73,6 +75,9 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla protected function __construct () { // Call parent constructor parent::__construct(__CLASS__); + + // Set template type + $this->setTemplateType('mail'); } /** @@ -93,7 +98,7 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla $applicationInstance = GenericRegistry::getRegistry()->getInstance('application'); // Determine base path - $templateBasePath = $templateInstance->getConfigInstance()->getConfigEntry('application_base_path') . $applicationInstance->getAppShortName(). '/'; + $templateBasePath = FrameworkBootstrap::getConfigurationInstance()->getConfigEntry('application_base_path') . $applicationInstance->getAppShortName(). '/'; // Is the base path valid? if (empty($templateBasePath)) { @@ -114,13 +119,13 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla $templateInstance->setTemplateBasePath($templateBasePath); // Set template extensions - $templateInstance->setRawTemplateExtension($templateInstance->getConfigInstance()->getConfigEntry('raw_template_extension')); - $templateInstance->setCodeTemplateExtension($templateInstance->getConfigInstance()->getConfigEntry('code_template_extension')); + $templateInstance->setRawTemplateExtension(FrameworkBootstrap::getConfigurationInstance()->getConfigEntry('raw_template_extension')); + $templateInstance->setCodeTemplateExtension(FrameworkBootstrap::getConfigurationInstance()->getConfigEntry('code_template_extension')); // Absolute output path for compiled templates $templateInstance->setCompileOutputPath(sprintf('%s%s/', $templateBasePath, - $templateInstance->getConfigInstance()->getConfigEntry('compile_output_path') + FrameworkBootstrap::getConfigurationInstance()->getConfigEntry('compile_output_path') )); // Return the prepared instance @@ -163,7 +168,7 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla * @return void * @throws InvalidXmlNodeException If an unknown/invalid XML node name was found */ - public function startElement ($resource, $element, array $attributes) { + public function startElement ($resource, string $element, array $attributes) { // Initial method name which will never be called... $methodName = 'initEmail'; @@ -174,13 +179,13 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla //* DEBUG: */ echo "START: >".$element."<
\n"; if (in_array($element, $this->getMainNodes())) { // Okay, main node found! - $methodName = 'setEmail' . self::convertToClassName($element); + $methodName = 'setEmail' . StringUtils::convertToClassName($element); } elseif (in_array($element, $this->getSubNodes())) { // Sub node found - $methodName = 'setEmailProperty' . self::convertToClassName($element); + $methodName = 'setEmailProperty' . StringUtils::convertToClassName($element); } elseif ($element != 'text-mail') { // Invalid node name found - throw new InvalidXmlNodeException(array($this, $element, $attributes), XmlParser::EXCEPTION_XML_NODE_UNKNOWN); + throw new InvalidXmlNodeException(array($this, $element, $attributes), Parseable::EXCEPTION_XML_NODE_UNKNOWN); } // Call method @@ -196,25 +201,22 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla * @return void * @throws XmlNodeMismatchException If current main node mismatches the closing one */ - public function finishElement ($resource, $nodeName) { - // Make all lower-case - $nodeName = strtolower($nodeName); - + public function finishElement ($resource, string $nodeName) { // Does this match with current main node? //* 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()), XmlParser::EXCEPTION_XML_NODE_MISMATCH); + throw new XmlNodeMismatchException (array($this, $nodeName, $this->getCurrMainNode()), Parseable::EXCEPTION_XML_NODE_MISMATCH); } elseif (in_array($nodeName, $this->getSubNodes())) { // Silently ignore sub nodes return; } // Construct method name - $methodName = 'finish' . self::convertToClassName($nodeName); + $methodName = 'finish' . StringUtils::convertToClassName($nodeName); // Call the corresponding method - call_user_func_array(array($this, $methodName), array()); + call_user_func_array(array($this, $methodName), []); } /** @@ -224,7 +226,7 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla * @param $characters Characters to handle * @return void */ - public function characterHandler ($resource, $characters) { + public function characterHandler ($resource, string $characters) { // Trim all spaces away $characters = trim($characters); @@ -265,7 +267,7 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla * @param $senderAddress Sender address to set in email * @return void */ - private function setEmailPropertySenderAddress ($senderAddress) { + private function setEmailPropertySenderAddress (string $senderAddress) { // Set the template variable $this->assignVariable('sender', $senderAddress); } @@ -276,7 +278,7 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla * @param $recipientAddress Recipient address to set in email * @return void */ - private function setEmailPropertyRecipientAddress ($recipientAddress) { + private function setEmailPropertyRecipientAddress (string $recipientAddress) { // Set the template variable $this->assignVariable('recipient', $recipientAddress); }