X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=framework%2Fmain%2Fclasses%2Fhelper%2Fhtml%2Fforms%2Fclass_HtmlFormHelper.php;h=768c5ed680933efdda73258fe53538e5135c3566;hb=34e0085d055bf88dcdb0caf4d29bae66fd8eafd7;hp=4e6fbc47eda7f2406279028dc0d263f85b4cb52b;hpb=af6e81a3d07cf468d3fa8cb53a9899790da2a7a1;p=core.git diff --git a/framework/main/classes/helper/html/forms/class_HtmlFormHelper.php b/framework/main/classes/helper/html/forms/class_HtmlFormHelper.php index 4e6fbc47..768c5ed6 100644 --- a/framework/main/classes/helper/html/forms/class_HtmlFormHelper.php +++ b/framework/main/classes/helper/html/forms/class_HtmlFormHelper.php @@ -1,14 +1,17 @@ setTemplateInstance($templateInstance); // Is the form id not set? - if ($formId === FALSE) { + if ($formId === false) { // Use form id from form name $formId = $formName; } // END - if @@ -90,13 +98,13 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { // Set form name $helperInstance->setFormName($formName); - // A form-less field may say 'FALSE' here... - if ($withForm === TRUE) { + // A form-less field may say 'false' here... + if ($withForm === true) { // Create the form $helperInstance->addFormTag($formName, $formId); } else { // Disable form - $helperInstance->enableForm(FALSE); + $helperInstance->enableForm(false); } // Return the prepared instance @@ -106,15 +114,15 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { /** * Add the form tag or close it an already opened form tag * - * @param $formName Name of the form (default: FALSE) - * @param $formId Id of the form (attribute 'id'; default: FALSE) + * @param $formName Name of the form (default: false) + * @param $formId Id of the form (attribute 'id'; default: false) * @return void - * @throws InvalidFormNameException If the form name is invalid ( = FALSE) + * @throws InvalidFormNameException If the form name is invalid ( = false) * @todo Add some unique PIN here to bypass problems with some browser and/or extensions */ - public function addFormTag ($formName = FALSE, $formId = FALSE) { + public function addFormTag ($formName = false, $formId = false) { // When the form is not yet opened at least form name must be valid - if (($this->formOpened === FALSE) && ($formName === FALSE)) { + if (($this->formOpened === false) && ($formName === false)) { // Thrown an exception throw new InvalidFormNameException ($this, self::EXCEPTION_FORM_NAME_INVALID); } // END - if @@ -123,26 +131,21 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { $formContent = ''; // Check whether we shall open or close the form - if (($this->formOpened === FALSE) && ($this->formEnabled === TRUE)) { + if (($this->formOpened === false) && ($this->formEnabled === true)) { // Add HTML code - $formContent = sprintf("
", $formName, $this->getConfigInstance()->getConfigEntry('base_url'), $this->getConfigInstance()->getConfigEntry('form_action'), $this->getConfigInstance()->getConfigEntry('form_method'), - $this->getConfigInstance()->getConfigEntry('form_target') - ); - - // Add form id as well - $formContent .= sprintf(" id=\"%s_form\"", + $this->getConfigInstance()->getConfigEntry('form_target'), $formId ); - // Add close bracket - $formContent .= '>'; - - // Open the form and remeber the form name - $this->formOpened = TRUE; + // Open the form and remeber the form name and id + $this->formName = $formName; + $this->formId = $formId; + $this->formOpened = true; // Add it to the content $this->addHeaderContent($formContent); @@ -157,7 +160,7 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { } // END - if // Simply close it - $this->formOpened = FALSE; + $this->formOpened = false; // Add it to the content $this->addFooterContent($formContent); @@ -175,13 +178,14 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { */ public function addInputTextField ($fieldName, $fieldValue = '') { // Is the form opened? - if (($this->formOpened === FALSE) && ($this->formEnabled === TRUE)) { + if (($this->formOpened === false) && ($this->formEnabled === true)) { // Throw an exception throw new FormClosedException (array($this, $fieldName), self::EXCEPTION_CLOSED_FORM); } // END - if // Generate the content - $inputContent = sprintf("", + $inputContent = sprintf('', + $this->getFormId(), $fieldName, $fieldName, $fieldValue @@ -217,13 +221,14 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { */ public function addInputPasswordField ($fieldName, $fieldValue = '') { // Is the form opened? - if (($this->formOpened === FALSE) && ($this->formEnabled === TRUE)) { + if (($this->formOpened === false) && ($this->formEnabled === true)) { // Throw an exception throw new FormClosedException (array($this, $fieldName), self::EXCEPTION_CLOSED_FORM); } // END - if // Generate the content - $inputContent = sprintf("", + $inputContent = sprintf('', + $this->getFormId(), $fieldName, $fieldName, $fieldValue @@ -244,13 +249,13 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { */ public function addInputHiddenField ($fieldName, $fieldValue = '') { // Is the form opened? - if (($this->formOpened === FALSE) && ($this->formEnabled === TRUE)) { + if (($this->formOpened === false) && ($this->formEnabled === true)) { // Throw an exception throw new FormClosedException (array($this, $fieldName), self::EXCEPTION_CLOSED_FORM); } // END - if // Generate the content - $inputContent = sprintf("", + $inputContent = sprintf('', $fieldName, $fieldValue ); @@ -299,19 +304,20 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { * @return void * @throws FormClosedException If the form is not yet opened */ - public function addInputCheckboxField ($fieldName, $fieldChecked = TRUE) { + public function addInputCheckboxField ($fieldName, $fieldChecked = true) { // Is the form opened? - if (($this->formOpened === FALSE) && ($this->formEnabled === TRUE)) { + if (($this->formOpened === false) && ($this->formEnabled === true)) { // Throw an exception throw new FormClosedException (array($this, $fieldName), self::EXCEPTION_CLOSED_FORM); } // END - if // Set whether the check box is checked... - $checked = " checked=\"checked\""; - if ($fieldChecked === FALSE) $checked = ' '; + $checked = ' checked="checked"'; + if ($fieldChecked === false) $checked = ' '; // Generate the content - $inputContent = sprintf("", + $inputContent = sprintf('', + $this->getFormId(), $fieldName, $fieldName, $checked @@ -331,14 +337,14 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { */ public function addInputResetButton ($buttonText) { // Is the form opened? - if (($this->formOpened === FALSE) && ($this->formEnabled === TRUE)) { + if (($this->formOpened === false) && ($this->formEnabled === true)) { // Throw an exception throw new FormClosedException (array($this, 'reset'), self::EXCEPTION_CLOSED_FORM); } // END - if // Generate the content - $inputContent = sprintf("", - $this->getFormName(), + $inputContent = sprintf('', + $this->getFormId(), $buttonText ); @@ -356,15 +362,15 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { */ public function addInputSubmitButton ($buttonText) { // Is the form opened? - if (($this->formOpened === FALSE) && ($this->formEnabled === TRUE)) { + if (($this->formOpened === false) && ($this->formEnabled === true)) { // Throw an exception throw new FormClosedException (array($this, 'submit'), self::EXCEPTION_CLOSED_FORM); } // END - if // Generate the content - $inputContent = sprintf("", - $this->getFormName(), - $this->getFormName(), + $inputContent = sprintf('', + $this->getFormId(), + $this->getFormId(), $buttonText ); @@ -379,35 +385,32 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { * @param $groupText Text including HTML to show above this group * @return void * @throws FormClosedException If no form has been opened before - * @throws EmptyVariableException If $groupId is not set + * @throws InvalidArgumentException If $groupId is not set */ public function addFormGroup ($groupId = '', $groupText = '') { // Is a form opened? - if (($this->formOpened === FALSE) && ($this->formEnabled === TRUE)) { + if (($this->formOpened === false) && ($this->formEnabled === true)) { // Throw exception here throw new FormClosedException(array($this, $groupId), self::EXCEPTION_CLOSED_FORM); - } // END - if - - // At least the group name should be set - if ((empty($groupId)) && ($this->ifGroupOpenedPreviously() === FALSE)) { + } elseif ((empty($groupId)) && ($this->ifGroupOpenedPreviously() === false)) { // Throw exception here - throw new EmptyVariableException(array($this, 'groupId'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING); + throw new InvalidArgumentException('Parameter "groupId" is empty but group is not closed'); } elseif (empty($groupId)) { // Close the last opened $groupId = $this->getPreviousGroupId(); } // Same group to open? - if (($this->ifGroupOpenedPreviously() === FALSE) && ($groupId === $this->getPreviousGroupId())) { + if (($this->ifGroupOpenedPreviously() === false) && ($groupId === $this->getPreviousGroupId())) { // Abort here silently - return FALSE; + return false; } // END - if // Initialize content with closing div by default $content = " \n"; // Is this group opened? - if ($this->ifGroupOpenedPreviously() === FALSE) { + if ($this->ifGroupOpenedPreviously() === false) { // Begin the div/span blocks $content = sprintf("
@@ -454,35 +457,32 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { * @param $subGroupText Text including HTML to show above this group * @return void * @throws FormFormClosedException If no group has been opened before - * @throws EmptyVariableException If $subGroupId is not set + * @throws InvalidArgumentException If $subGroupId is not set */ public function addFormSubGroup ($subGroupId = '', $subGroupText = '') { // Is a group opened? - if ($this->ifGroupOpenedPreviously() === FALSE) { + if ($this->ifGroupOpenedPreviously() === false) { // Throw exception here throw new FormFormClosedException(array($this, $subGroupId), self::EXCEPTION_UNEXPECTED_CLOSED_GROUP); - } // END - if - - // At least the sub group name should be set - if ((empty($subGroupId)) && ($this->ifSubGroupOpenedPreviously() === FALSE)) { + } elseif ((empty($subGroupId)) && ($this->ifSubGroupOpenedPreviously() === false)) { // Throw exception here - throw new EmptyVariableException(array($this, 'subGroupId'), self::EXCEPTION_UNEXPECTED_EMPTY_STRING); + throw new InvalidArgumentException('Parameter "subGroupId" is empty but sub-group is not closed'); } elseif (empty($subGroupId)) { // Close the last opened $subGroupId = $this->getPreviousSubGroupId(); } // Same sub group to open? - if (($this->ifSubGroupOpenedPreviously() === FALSE) && ($subGroupId == $this->getPreviousSubGroupId())) { + if (($this->ifSubGroupOpenedPreviously() === false) && ($subGroupId == $this->getPreviousSubGroupId())) { // Abort here silently - return FALSE; + return false; } // END - if // Initialize content with closing div by default $content = "
\n"; // Is this group opened? - if ($this->ifSubGroupOpenedPreviously() === FALSE) { + if ($this->ifSubGroupOpenedPreviously() === false) { // Begin the span block $content = sprintf("
@@ -514,33 +514,38 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { } /** - * Add text surrounded by a span block when there is a group opened before - * or else by a div block. + * Adds text surrounded by a label tag for given form field * - * @param $fieldName Field name - * @param $fieldText Text for the field + * @param $fieldName Field name + * @param $fieldText Text for the field + * @param $fieldTitle Optional title for label tag * @return void * @throws FormClosedException If the form is not yet opened */ - public function addFieldText ($fieldName, $fieldText) { + public function addFieldLabel ($fieldName, $fieldText, $fieldTitle = '') { // Is the form opened? - if (($this->formOpened === FALSE) && ($this->formEnabled === TRUE)) { + if (($this->formOpened === false) && ($this->formEnabled === true)) { // Throw an exception throw new FormClosedException (array($this, $fieldName), self::EXCEPTION_CLOSED_FORM); } // END - if - // Set the block type - $block = 'div'; - if ($this->ifGroupOpenedPreviously()) $block = 'span'; + // Default is no title attribute + $titleAttribute = ''; + + // Is title given? + if (!empty($fieldTitle)) { + // Create title attribute + $titleAttribute = sprintf(' title="%s" data-toggle="tooltip"', $fieldTitle); + } // END - if // Generate the content - $inputContent = sprintf(" <%s id=\"%s_text\"> - %s - ", - $block, + $inputContent = sprintf('', + $this->getFormId(), $fieldName, - $fieldText, - $block + $titleAttribute, + $fieldText ); // And add it @@ -558,7 +563,7 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { */ public function addFormNote ($noteId, $formNotes) { // Is the form opened? - if (($this->formOpened === FALSE) && ($this->formEnabled === TRUE)) { + if (($this->formOpened === false) && ($this->formEnabled === true)) { // Throw an exception throw new FormClosedException (array($this, 'form_notes'), self::EXCEPTION_CLOSED_FORM); } // END - if @@ -586,13 +591,13 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { */ public function addInputSelectField ($selectId, $firstEntry) { // Is the form group opened? - if (($this->formOpened === FALSE) && ($this->formEnabled === TRUE)) { + if (($this->formOpened === false) && ($this->formEnabled === true)) { // Throw an exception throw new FormClosedException (array($this, 'form_notes'), self::EXCEPTION_CLOSED_FORM); } // END - if // Shall we close or open the sub group? - if (($this->ifSubGroupOpenedPreviously() === FALSE) && ($this->getPreviousSubGroupId() !== $selectId)) { + if (($this->ifSubGroupOpenedPreviously() === false) && ($this->getPreviousSubGroupId() !== $selectId)) { // Initialize first entry (which might be non-selectable if content is provided if (!empty($firstEntry)) { // Add selection around it @@ -633,7 +638,7 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { */ public function addSelectSubOption ($subName, $subValue) { // Is there a sub group (shall be a selection box!) - if ($this->ifSubGroupOpenedPreviously() === FALSE) { + if ($this->ifSubGroupOpenedPreviously() === false) { // Then throw an exception here throw new HelperNoPreviousOpenedSubGroupException(array($this, $content), self::EXCEPTION_NO_PREVIOUS_SUB_GROUP_OPENED); } // END - if @@ -661,7 +666,7 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { */ public function addSelectOption ($optionName, $optionValue) { // Is there a sub group (shall be a selection box!) - if ($this->ifSubGroupOpenedPreviously() === FALSE) { + if ($this->ifSubGroupOpenedPreviously() === false) { // Then throw an exception here throw new HelperNoPreviousOpenedSubGroupException(array($this, $content), self::EXCEPTION_NO_PREVIOUS_SUB_GROUP_OPENED); } // END - if @@ -688,7 +693,7 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { try { // Get last executed pre filter - $extraInstance = Registry::getRegistry()->getInstance('extra'); + $extraInstance = GenericRegistry::getRegistry()->getInstance('extra'); } catch (NullPointerException $e) { // Instance in registry is not set (NULL) // @TODO We need to log this later @@ -713,7 +718,7 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { * @param $formEnabled Whether form is enabled or disabled * @return void */ - public final function enableForm ($formEnabled = TRUE) { + public final function enableForm ($formEnabled = true) { $this->formEnabled = (bool) $formEnabled; } @@ -736,6 +741,25 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { return $this->formName; } + /** + * Setter for form id + * + * @param $formId Id of this form + * @return void + */ + public final function setFormId ($formId) { + $this->formId = (string) $formId; + } + + /** + * Getter for form id + * + * @return $formId Id of this form + */ + public final function getFormId () { + return $this->formId; + } + /** * Checks whether the registration requires a valid email address * @@ -863,7 +887,7 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { * @todo Implement check if rules have been changed */ public function ifRulesHaveChanged () { - return FALSE; + return false; } /** @@ -926,10 +950,10 @@ class HtmlFormHelper extends BaseHtmlHelper implements HelpableTemplate { */ public function flushContent () { // Is the form still open? - if (($this->formOpened === TRUE) && ($this->formEnabled === TRUE)) { + if (($this->formOpened === true) && ($this->formEnabled === true)) { // Close the form automatically $this->addFormTag(); - } elseif ($this->formEnabled === FALSE) { + } elseif ($this->formEnabled === false) { if ($this->ifSubGroupOpenedPreviously()) { // Close sub group $this->addFormSubGroup();