X-Git-Url: https://git.mxchange.org/?p=hub.git;a=blobdiff_plain;f=inc%2Fclasses%2Fmain%2Fhelper%2Fweb%2Flinks%2Fclass_WebLinkHelper.php;fp=inc%2Fclasses%2Fmain%2Fhelper%2Fweb%2Flinks%2Fclass_WebLinkHelper.php;h=0000000000000000000000000000000000000000;hp=1a238a6d2c2239d732363c50b371719a81ce6cf1;hb=7150c6d1a1e3c91d3cfd2e732b26bbe9f0dc4f57;hpb=12dbc1af8f0bc2981711b17c7c955f270c440b35 diff --git a/inc/classes/main/helper/web/links/class_WebLinkHelper.php b/inc/classes/main/helper/web/links/class_WebLinkHelper.php deleted file mode 100644 index 1a238a6d2..000000000 --- a/inc/classes/main/helper/web/links/class_WebLinkHelper.php +++ /dev/null @@ -1,289 +0,0 @@ - - * @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 . - */ -class WebLinkHelper extends BaseWebHelper implements HelpableTemplate { - /** - * Name of the link - */ - private $linkName = ""; - - /** - * Base of the link - */ - private $linkBase = ""; - - /** - * 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 $linkName Name of the link we shall generate - * @param $linkBase Link base for all generated links - * @return $helperInstance A prepared instance of this helper - */ - public final static function createWebLinkHelper (CompileableTemplate $templateInstance, $linkName, $linkBase) { - // Get new instance - $helperInstance = new WebLinkHelper(); - - // Set template instance - $helperInstance->setTemplateInstance($templateInstance); - - // Set link name - $helperInstance->setLinkName($linkName); - - // Set link base - $helperInstance->setLinkBase($linkBase); - - // Add default group - $helperInstance->openGroupByIdContent('main', "", ""); - - // Return the prepared instance - return $helperInstance; - } - - /** - * Renders the link content (HTML code) with given link text and optional - * extra content - * - * @param $linkText Link text to set in link - * @param $extraContent Optional extra HTML content - * @return $linkContent Rendered text link content - */ - private function renderLinkContentWithTextExtraContent ($linkText, $extraContent="") { - // Construct link content - $linkContent = sprintf("%s", - $this->getLinkBase(), - $extraContent, - $linkText, - $linkText - ); - - // Return it - return $linkContent; - } - - /** - * Setter for link name - * - * @param $linkName Name of the link we shall generate - * @return void - */ - protected final function setLinkName ($linkName) { - $this->linkName = (string) $linkName; - } - - /** - * Getter for link name - * - * @return $linkName Name of the link we shall generate - */ - public final function getLinkName () { - return $this->linkName; - } - - /** - * Setter for link base - * - * @param $linkBase Base of the link we shall generate - * @return void - */ - protected final function setLinkBase ($linkBase) { - $this->linkBase = (string) $linkBase; - } - - /** - * Getter for link base - * - * @return $linkBase Base of the link we shall generate - */ - public final function getLinkBase () { - return $this->linkBase; - } - - /** - * Flush the content out,e g. to a template variable - * - * @return void - * @todo Completely unimplemented - */ - public function flushContent () { - // Is a previous opened group still open? - if ($this->ifGroupOpenedPreviously()) { - // Then close it - $this->closePreviousGroupByContent(""); - } // END - if - - // Get the content - $content = $this->renderContent(); - - // Get template engine - $templateInstance = $this->getTemplateInstance(); - - // Add content to variable - $templateInstance->assignVariable($this->getLinkName(), $content); - } - - /** - * Adds a link group (like the form group is) with some raw language to the - * helper. - * - * @param $groupId Id string of the group - * @param $groupText Text for this group to add - * @param $groupCode Code to open and close groups - * @return void - */ - public function addLinkGroup ($groupId, $groupText, $groupCode = "div") { - // Is a group with that name open? - if ($this->ifGroupOpenedPreviously()) { - // Then close it here - $this->closePreviousGroupByContent(""); - } // END - if - - // Generate the group content - $content = sprintf("<{$groupCode} id=\"group_%s_%s\">%s", - $this->getLinkName(), - $groupId, - $groupText - ); - - // Open the new group - $this->openGroupByIdContent($groupId, $content, $groupCode); - } - - /** - * Adds text (note) to the previously opened group or throws an exception - * if no previous group was opened. - * - * @param $groupId Group id to set - * @param $groupNote Note to be added to a group - * @param $groupCode Code to open and close groups - * @return void - * @throws NoGroupOpenedException If no previous group was opened - */ - public function addLinkNote ($groupId, $groupNote, $groupCode = "div") { - // Check if a previous group was opened - if ($this->ifGroupOpenedPreviously() === false) { - // No group was opened before! - throw new NoGroupOpenedException(array($this, $groupNote), self::EXCEPTION_GROUP_NOT_OPENED); - } // END - if - - // Is a previous sub group open? - if ($this->ifSubGroupOpenedPreviously()) { - // Then close it - $this->closePreviousSubGroupByContent(""); - } // END - if - - // Generate the group content - $content = sprintf("<{$groupCode} id=\"subgroup_%s_%s\">%s", - $this->getLinkName(), - $groupId, - $groupNote - ); - - // Open the sub group - $this->openSubGroupByIdContent($groupId, $content, $groupCode); - } - - /** - * Adds a link to the previously opened group or throws an exception if no group has been opened - * - * @param $linkAction Action (action=xxx) value for the link - * @param $linkText Link text and title (title="xxx") for the link - * @return void - * @throws NoGroupOpenedException If no previous group was opened - */ - public function addActionLink ($linkAction, $linkText) { - // Check if a previous group was opened - if ($this->ifGroupOpenedPreviously() === false) { - // No group was opened before! - throw new NoGroupOpenedException(array($this, $linkAction."(".$linkText.")"), self::EXCEPTION_GROUP_NOT_OPENED); - } // END - if - - // Default parameter seperator is & - $seperator = "&"; - - // Is there a question mark in? - $linkArray = explode("?", $this->getLinkBase()); - if (count($linkArray) == 0) { - // No question mark - $seperator = "?"; - } // END - if - - // Prepare action - $action = sprintf("%saction=%s", - $seperator, - $linkAction - ); - - // Renders the link content - $linkContent = $this->renderLinkContentWithTextExtraContent($linkText, $action); - - // Add the content to the previous group - $this->addContentToPreviousGroup($linkContent); - } - - /** - * Adds a link to the previously opened group with a text from language system - * - * @param $linkAction Action (action=xxx) value for the link - * @param $languageId Language id string to use - * @return void - */ - public function addActionLinkById ($linkAction, $languageId) { - // Resolve the language string - $languageResolved = $this->getLanguageInstance()->getMessage($languageId); - - // Add the action link - $this->addActionLink($linkAction, $languageResolved); - } - - /** - * Adds a default link (no extra parameters) to the content with specified - * language id string. - * - * @param $languageId Language id string to use - * @return void - */ - public function addLinkWithTextById ($languageId) { - // Resolve the language string - $languageResolved = $this->getLanguageInstance()->getMessage($languageId); - - // Now add the link - $linkContent = $this->renderLinkContentWithTextExtraContent($languageResolved); - - // Add the content to the previous group - $this->addContentToPreviousGroup($linkContent); - } -} - -// [EOF] -?>