]> git.mxchange.org Git - mailer.git/blobdiff - inc/classes/main/helper/web/blocks/class_WebBlockHelper.php
Code syncronized with shipsimu code base
[mailer.git] / inc / classes / main / helper / web / blocks / class_WebBlockHelper.php
diff --git a/inc/classes/main/helper/web/blocks/class_WebBlockHelper.php b/inc/classes/main/helper/web/blocks/class_WebBlockHelper.php
new file mode 100644 (file)
index 0000000..48b32d8
--- /dev/null
@@ -0,0 +1,151 @@
+<?php
+/**
+ * A helper for generating blocks (div or span) on web pages
+ *
+ * @author             Roland Haeder <webmaster@ship-simu.org>
+ * @version            0.0.0
+ * @copyright  Copyright (c) 2007, 2008 Roland Haeder, this is free software
+ * @license            GNU GPL 3.0 or any newer version
+ * @link               http://www.ship-simu.org
+ *
+ * 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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+class WebBlockHelper extends BaseWebHelper implements HelpableTemplate {
+       /**
+        * Name of the block
+        */
+       private $blockName = "";
+
+       /**
+        * Protected constructor
+        *
+        * @return      void
+        */
+       protected function __construct () {
+               // Call parent constructor
+               parent::__construct(__CLASS__);
+       }
+
+       /**
+        * Creates the helper class
+        *
+        * @param       $templateInstance       An instance of a template engine
+        * @param       $blockName                      Name of the block we shall generate
+        * @return      $helperInstance         A prepared instance of this helper
+        */
+       public final static function createWebBlockHelper (CompileableTemplate $templateInstance, $blockName) {
+               // Get new instance
+               $helperInstance = new WebBlockHelper();
+
+               // Set template instance
+               $helperInstance->setTemplateInstance($templateInstance);
+
+               // Set block name
+               $helperInstance->setBlockName($blockName);
+
+               // Return the prepared instance
+               return $helperInstance;
+       }
+
+       /**
+        * Setter for block name
+        *
+        * @param       $blockName      Name of the block we shall generate
+        * @return      void
+        */
+       protected final function setBlockName ($blockName) {
+               $this->blockName = (string) $blockName;
+       }
+
+       /**
+        * Getter for block name
+        *
+        * @return      $blockName      Name of the block we shall generate
+        */
+       public final function getBlockName () {
+               return $this->blockName;
+       }
+
+       /**
+        * Checks wether include registration date in this block
+        *
+        * @return      $withRegistration       Wether with registration date
+        */
+       public function ifIncludeRegistrationStamp () {
+               $withRegistration = ($this->getConfigInstance()->readConfig('block_shows_registration') === "Y");
+               return $withRegistration;
+       }
+
+       /**
+        * Assignes a template variable with a message from a given message id
+        *
+        * @param       $templateVariable       Template variable to assign
+        * @param       $messageId                      Message id to load an assign
+        * @return      void
+        */
+       public function assignMessageField ($templateVariable, $messageId) {
+               // Get message
+               $message = $this->getLanguageInstance()->getMessage($messageId);
+
+               // And assign it
+               $this->getTemplateInstance()->assignVariable($templateVariable, $message);
+       }
+
+       /**
+        * Assigns a link field with a given value
+        *
+        * @param       $linkField              "Link field" (variable) to assign
+        * @param       $actionValue    Action value to assign
+        * @return      void
+        */
+       public function assignLinkFieldWithAction ($linkField, $actionValue) {
+               $this->getTemplateInstance()->assignVariable($linkField . '_action', $actionValue);
+       }
+
+       /**
+        * "Filter" method for translating the raw user status into something human-readable
+        *
+        * @param       $userStatus             Raw user status from database layer
+        * @return      $translated             Translated user status
+        */
+       protected function doFilterUserStatusTranslator ($userStatus) {
+               // Generate message id
+               $messageId = 'user_status_' . strtolower($userStatus);
+
+               // Get that message
+               $translated = $this->getLanguageInstance()->getMessage($messageId);
+
+               // Return it
+               return $translated;
+       }
+
+       /**
+        * Flush the content out,e g. to a template variable
+        *
+        * @return      void
+        */
+       public function flushContent () {
+               // Get template instance
+               $templateInstance = $this->getTemplateInstance();
+
+               // Get the template named like this block
+               $templateInstance->loadCodeTemplate("block_" . $this->getBlockName());
+
+               // Transfer it to the template instance
+               $templateInstance->assignVariable($this->getBlockName(), $templateInstance->getRawTemplateData());
+       }
+}
+
+// [EOF]
+?>