/** * Renders the HTML and javascript for the text box. * * @return string * * @since 1.0 */ public function render() { $config = ConfigProvider::getInstance(); $html = '<div class="form-group">'; $html .= ' <label for="' . $this->name . '">' . $this->label . '</label>'; $html .= '<textarea class="form-control" maxlength="' . $this->textObject->getSize() . '" id="text_field_' . $this->name . '_' . $this->identifier . '" rows="' . $this->rows . '" name="' . $this->name . '">'; if ($this->textObject->getAllowHTML()) { $html .= InputFilter::decode($this->textObject->getValue(), true); } else { $html .= InputFilter::decode($this->textObject->getValue()); } $html .= '</textarea>'; $html .= '</div>'; if ($this->textObject->getRule() != '') { $html .= '<input type="hidden" id="text_field_' . $this->name . '_' . $this->identifier . '_msg" value="' . $this->textObject->getHelper() . '"/>'; $html .= '<input type="hidden" id="text_field_' . $this->name . '_' . $this->identifier . '_rule" value="' . $this->textObject->getRule() . '"/>'; } return $html; }
/** * {@inheritdoc} */ public function renderTextField($name, $label, $mode, $value = '') { self::$logger->debug('>>renderTextField(name=[' . $name . '], label=[' . $label . '], mode=[' . $mode . '], value=[' . $value . '])'); $config = ConfigProvider::getInstance(); $html = ''; if ($mode == 'create') { // give 10 rows for content fields (other 5 by default) if ($name == 'content') { $text = new TextBox($this->BO->getPropObject($name), $label, $name, 10); } else { $text = new TextBox($this->BO->getPropObject($name), $label, $name); } $html .= $text->render(); } if ($mode == 'edit') { // give 10 rows for content fields (other 5 by default) if ($name == 'content') { $viewState = ViewState::getInstance(); if ($viewState->get('markdownTextBoxRows') == '') { $text = new TextBox($this->BO->getPropObject($name), $label, $name, 10); } else { $text = new TextBox($this->BO->getPropObject($name), $label, $name, (int) $viewState->get('markdownTextBoxRows')); } $html .= $text->render(); } else { $text = new TextBox($this->BO->getPropObject($name), $label, $name); $html .= $text->render(); } } if ($mode == 'view') { $html .= '<p><strong>'; $html .= $label; $html .= ':</strong>'; // filter ouput to prevent malicious injection $value = InputFilter::encode($value); // ensures that line returns are rendered $value = str_replace("\n", '<br>', $value); $html .= ' '; $html .= $value; $html .= '</p>'; } self::$logger->debug('<<renderTextField [' . $html . ']'); return $html; }