]> git.mxchange.org Git - shipsimu.git/blobdiff - inc/classes/main/helper/web/forms/class_WebFormHelper.php
generateUniqueId() and more useless/deprecated methods removed, code speed-up, link...
[shipsimu.git] / inc / classes / main / helper / web / forms / class_WebFormHelper.php
index 12c01b8d72e9acd4c6389a77c6039f3a9a1b66ed..d167768878bed59912c5e98324eb994ace2167f8 100644 (file)
@@ -33,26 +33,6 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate {
         */
        private $formName = "";
 
-       /**
-        * Wether the group is opened or not
-        */
-       private $groupOpened = false;
-
-       /**
-        * Wether the sub group is opened or not
-        */
-       private $subGroupOpened = false;
-
-       /**
-        * Name of the group
-        */
-       private $groupName = "";
-
-       /**
-        * Name of the sub group
-        */
-       private $subGroupName = "";
-
        /**
         * Wether form tag is enabled (default: true)
         */
@@ -72,12 +52,6 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate {
        protected function __construct () {
                // Call parent constructor
                parent::__construct(__CLASS__);
-
-               // Set part description
-               $this->setObjectDescription("Helper class for HTML forms");
-
-               // Create unique ID number
-               $this->generateUniqueId();
        }
 
        /**
@@ -104,6 +78,7 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate {
 
                // Set form name
                $helperInstance->setFormName($formName);
+
                // A form-less field may say "false" here...
                if ($withForm === true) {
                        // Create the form
@@ -162,7 +137,7 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate {
                        $this->addInputHiddenField('form', $this->getFormName());
 
                        // Is a group open?
-                       if ($this->groupOpened === true) {
+                       if ($this->ifGroupOpenedPreviously()) {
                                // Then automatically close it here
                                $this->addFormGroup();
                        } // END - if
@@ -221,8 +196,8 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate {
         * Add a password input tag to the form or throw an exception if it is not
         * yet opened. The field's name will be set as id.
         *
-        * @param       $fieldName                      Input field name
-        * @param       $fieldValue                     Input default value (default: empty)
+        * @param       $fieldName              Input field name
+        * @param       $fieldValue             Input default value (default: empty)
         * @return      void
         * @throws      FormClosedException             If the form is not yet opened
         */
@@ -248,8 +223,8 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate {
         * Add a hidden input tag to the form or throw an exception if it is not
         * yet opened. The field's name will be set as id.
         *
-        * @param       $fieldName                      Input field name
-        * @param       $fieldValue                     Input default value (default: empty)
+        * @param       $fieldName              Input field name
+        * @param       $fieldValue             Input default value (default: empty)
         * @return      void
         * @throws      FormClosedException             If the form is not yet opened
         */
@@ -305,8 +280,8 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate {
         * Add a checkbox input tag to the form or throw an exception if it is not
         * yet opened. The field's name will be set as id.
         *
-        * @param       $fieldName                      Input field name
-        * @param       $fieldChecked           Wether the field is checked (defaut: checked)
+        * @param       $fieldName              Input field name
+        * @param       $fieldChecked   Wether the field is checked (defaut: checked)
         * @return      void
         * @throws      FormClosedException             If the form is not yet opened
         */
@@ -361,7 +336,7 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate {
         * Add a reset input tag to the form or throw an exception if it is not
         * yet opened. The field's name will be set as id.
         *
-        * @param       $buttonText                     Text displayed on the button
+        * @param       $buttonText             Text displayed on the button
         * @return      void
         * @throws      FormClosedException             If the form is not yet opened
         */
@@ -386,30 +361,30 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate {
        /**
         * Add a form group or close an already opened and open a new one
         *
-        * @param       $groupName      Name of the group or last opened if empty
+        * @param       $groupId        Name of the group or last opened if empty
         * @param       $groupText      Text including HTML to show above this group
         * @return      void
         * @throws      FormClosedException             If no form has been opened before
-        * @throws      EmptyVariableException  If $groupName is not set
+        * @throws      EmptyVariableException  If $groupId is not set
         */
-       public function addFormGroup ($groupName = "", $groupText = "") {
+       public function addFormGroup ($groupId = "", $groupText = "") {
                // Is a form opened?
                if (($this->formOpened === false) && ($this->formEnabled === true)) {
                        // Throw exception here
-                       throw new FormClosedException(array($this, $groupName), self::EXCEPTION_CLOSED_FORM);
+                       throw new FormClosedException(array($this, $groupId), self::EXCEPTION_CLOSED_FORM);
                } // END - if
 
                // At least the group name should be set
-               if ((empty($groupName)) && ($this->groupOpened === false)) {
+               if ((empty($groupId)) && (!$this->ifGroupOpenedPreviously())) {
                        // Throw exception here
-                       throw new EmptyVariableException(array($this, 'groupName'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING);
-               } elseif (empty($groupName)) {
+                       throw new EmptyVariableException(array($this, 'groupId'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING);
+               } elseif (empty($groupId)) {
                        // Close the last opened
-                       $groupName = $this->groupName;
+                       $groupId = $this->getPreviousGroupId();
                }
 
                // Same group to open?
-               if (($this->groupOpened === false) && ($groupName == $this->groupName)) {
+               if ((!$this->ifGroupOpenedPreviously()) && ($groupId == $this->getPreviousGroupId())) {
                        // Abort here silently
                        return false;
                } // END - if
@@ -418,7 +393,7 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate {
                $content = "    </div>\n</div><!-- Group - CLOSE //-->";
 
                // Is this group opened?
-               if ($this->groupOpened === false) {
+               if (!$this->ifGroupOpenedPreviously()) {
                        // Begin the div/span blocks
                        $content = sprintf("<!-- Group %s - OPEN //-->
 <div class=\"group_box\" id=\"%s_group_box\">
@@ -426,35 +401,28 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate {
                %s
        </span>
        <div class=\"group_field\" id=\"%s_group_field\">",
-                               $groupName,
-                               $groupName,
-                               $groupName,
+                               $groupId,
+                               $groupId,
+                               $groupId,
                                $groupText,
-                               $groupName
+                               $groupId
                        );
 
-                       // Add the content
-                       $this->addContent($content);
-
                        // Switch the state
-                       $this->groupName = $groupName;
-                       $this->groupOpened = true;
+                       $this->openGroupByIdContent($groupId, $content);
                } else {
                        // Is a sub group opened?
-                       if ($this->subGroupOpened === true) {
+                       if ($this->ifSubGroupOpenedPreviously()) {
                                // Close it here
                                $this->addFormSubGroup();
                        } // END - if
 
-                       // Add the content
-                       $this->addContent($content);
-
                        // Switch the state
-                       $this->groupOpened = false;
+                       $this->closePreviousGroupByContent($content);
 
                        // All call it again if the group name is not empty
-                       if (!empty($groupName)) {
-                               $this->addFormGroup($groupName, $groupText);
+                       if (!empty($groupId)) {
+                               $this->addFormGroup($groupId, $groupText);
                        } // END - if
                }
        }
@@ -464,30 +432,30 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate {
         * throws an exception if no group has been opened before or if the sub
         * group name is empty.
         *
-        * @param       $subGroupName   Name of the group or last opened if empty
+        * @param       $subGroupId             Name of the group or last opened if empty
         * @param       $subGroupText   Text including HTML to show above this group
         * @return      void
-        * @throws      FormGroupClosedException        If no group has been opened before
-        * @throws      EmptyVariableException          If $subGroupName is not set
+        * @throws      FormFormClosedException         If no group has been opened before
+        * @throws      EmptyVariableException          If $subGroupId is not set
         */
-       public function addFormSubGroup ($subGroupName = "", $subGroupText = "") {
+       public function addFormSubGroup ($subGroupId = "", $subGroupText = "") {
                // Is a group opened?
-               if ($this->groupOpened === false) {
+               if (!$this->ifGroupOpenedPreviously()) {
                        // Throw exception here
-                       throw new FormGroupClosedException(array($this, $subGroupName), self::EXCEPTION_UNEXPECTED_CLOSED_GROUP);
+                       throw new FormFormClosedException(array($this, $subGroupId), self::EXCEPTION_UNEXPECTED_CLOSED_GROUP);
                } // END - if
 
                // At least the sub group name should be set
-               if ((empty($subGroupName)) && ($this->subGroupOpened === false)) {
+               if ((empty($subGroupId)) && (!$this->ifSubGroupOpenedPreviously())) {
                        // Throw exception here
-                       throw new EmptyVariableException(array($this, 'groupName'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING);
-               } elseif (empty($subGroupName)) {
+                       throw new EmptyVariableException(array($this, 'subGroupId'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING);
+               } elseif (empty($subGroupId)) {
                        // Close the last opened
-                       $subGroupName = $this->subGroupName;
+                       $subGroupId = $this->getSubGroupId();
                }
 
                // Same sub group to open?
-               if (($this->subGroupOpened === false) && ($subGroupName == $this->subGroupName)) {
+               if ((!$this->ifSubGroupOpenedPreviously()) && ($subGroupId == $this->getSubGroupId())) {
                        // Abort here silently
                        return false;
                } // END - if
@@ -496,7 +464,7 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate {
                $content = "    </div>\n</div><!-- Sub group- CLOSE //-->";
 
                // Is this group opened?
-               if ($this->subGroupOpened === false) {
+               if (!$this->ifSubGroupOpenedPreviously()) {
                        // Begin the span block
                        $content = sprintf("<!-- Sub group %s - OPEN //-->
 <div class=\"subgroup_box\" id=\"%s_subgroup_box\">
@@ -504,29 +472,22 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate {
                %s
        </span>
        <div class=\"subgroup_field\" id=\"%s_subgroup_field\">",
-                               $subGroupName,
-                               $subGroupName,
-                               $subGroupName,
+                               $subGroupId,
+                               $subGroupId,
+                               $subGroupId,
                                $subGroupText,
-                               $subGroupName
+                               $subGroupId
                        );
 
-                       // Add the content
-                       $this->addContent($content);
-
                        // Switch the state and remeber the name
-                       $this->subGroupOpened = true;
-                       $this->subGroupName = $subGroupName;
+                       $this->openSubGroupByIdContent($subGroupId, $content);
                } else {
-                       // Add the content
-                       $this->addContent($content);
-
                        // Switch the state
-                       $this->subGroupOpened = false;
+                       $this->closePreviousSubGroupByContent($content);
 
                        // All call it again if sub group name is not empty
-                       if (!empty($subGroupName)) {
-                               $this->addFormSubGroup($subGroupName, $subGroupText);
+                       if (!empty($subGroupId)) {
+                               $this->addFormSubGroup($subGroupId, $subGroupText);
                        } // END - if
                }
        }
@@ -549,7 +510,7 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate {
 
                // Set the block type
                $block = "div";
-               if ($this->groupOpened === true) $block = "span";
+               if ($this->ifGroupOpenedPreviously()) $block = "span";
 
                // Generate the content
                $inputContent = sprintf("       <%s id=\"%s_text\">
@@ -582,7 +543,7 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate {
                } // END - if
 
                // Is a group open?
-               if ($this->groupOpened === true) {
+               if ($this->ifGroupOpenedPreviously()) {
                        // Then automatically close it here
                        $this->addFormGroup();
                } // END - if
@@ -629,7 +590,7 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate {
                $extraInstance = Registry::getRegistry()->getInstance('extra');
 
                // Get a configured instance
-               $captchaInstance = ObjectFactory::createObjectByConfiguredName($this->getFormName()."_captcha", array($this, $extraInstance));
+               $captchaInstance = ObjectFactory::createObjectByConfiguredName($this->getFormName().'_captcha', array($this, $extraInstance));
 
                // Initiate the CAPTCHA
                $captchaInstance->initiateCaptcha();
@@ -693,10 +654,10 @@ class WebFormHelper extends BaseWebHelper implements HelpableTemplate {
                        // Close the form automatically
                        $this->addFormTag();
                } elseif ($this->formEnabled === false) {
-                       if ($this->subGroupOpened === true) {
+                       if ($this->ifSubGroupOpenedPreviously()) {
                                // Close sub group
                                $this->addFormSubGroup();
-                       } elseif ($this->groupOpened === true) {
+                       } elseif ($this->ifGroupOpenedPreviously()) {
                                // Close group
                                $this->addFormGroup();
                        }