From c70b6835c32aaf16b0f6d89e596bf70f4b03008c Mon Sep 17 00:00:00 2001 From: Stephen Beaver Date: Mon, 21 Dec 2015 17:06:56 -0500 Subject: Added support for rows, cols and wrap to Forms_Textarea and to pkg_edit.php --- src/usr/local/www/classes/Form/Input.class.php | 7 ++++ src/usr/local/www/classes/Form/Textarea.class.php | 14 ++++++++ src/usr/local/www/pkg_edit.php | 44 ++++++++++++++--------- 3 files changed, 48 insertions(+), 17 deletions(-) (limited to 'src/usr/local/www') diff --git a/src/usr/local/www/classes/Form/Input.class.php b/src/usr/local/www/classes/Form/Input.class.php index 80b96c8..b8c0a30 100644 --- a/src/usr/local/www/classes/Form/Input.class.php +++ b/src/usr/local/www/classes/Form/Input.class.php @@ -122,6 +122,13 @@ class Form_Input extends Form_Element return $this; } + public function setCols($size) + { + $this->_attributes['cols'] = $size; + + return $this; + } + public function setReadonly() { $this->_attributes['readonly'] = 'readonly'; diff --git a/src/usr/local/www/classes/Form/Textarea.class.php b/src/usr/local/www/classes/Form/Textarea.class.php index 8c1c157..9cda51a 100644 --- a/src/usr/local/www/classes/Form/Textarea.class.php +++ b/src/usr/local/www/classes/Form/Textarea.class.php @@ -42,6 +42,20 @@ class Form_Textarea extends Form_Input $this->_value = $value; } + public function setRows($size) + { + $this->_attributes['rows'] = $size; + + return $this; + } + + public function setNoWrap() + { + $this->_attributes['wrap'] = 'none'; + + return $this; + } + protected function _getInput() { $element = parent::_getInput(); diff --git a/src/usr/local/www/pkg_edit.php b/src/usr/local/www/pkg_edit.php index 45cf8f4..e304ca1 100644 --- a/src/usr/local/www/pkg_edit.php +++ b/src/usr/local/www/pkg_edit.php @@ -1015,37 +1015,47 @@ foreach ($pkg['fields']['field'] as $pkga) { // Create a textarea element case "textarea": + $rows = $cols = 0; + if ($pkga['rows']) { - $rows = " rows='{$pkga['rows']}' "; + $rows = $pkga['rows']; } if ($pkga['cols']) { - $cols = " cols='{$pkga['cols']}' "; + $cols = $pkga['cols']; } + if (($pkga['encoding'] == 'base64') && !$get_from_post && !empty($value)) { $value = base64_decode($value); } - $wrap =($pkga['wrap'] == "off" ? 'wrap="off" style="white-space:nowrap;"' : ''); - - if ($grouping) { - $group->add(new Form_Textarea( + $grp = new Form_Textarea( $pkga['fieldname'], $pkga['fielddescr'], $value - ))->setHelp(fixup_string($pkga['description'])); + ); + + $grp->setHelp(fixup_string($pkga['description'])); + + if ($rows > 0) { + $grp->setRows($rows); + } + + if ($cols > 0) { + $grp->setCols($cols); + } + + if ($pkga['wrap'] == "off") { + $grp->setAttribute("wrap", "off"); + $grp->setAttribute("style", "white-space:nowrap;"); + } + + if ($grouping) { + $group->add($grp); } else { if (isset($pkga['advancedfield']) && isset($advfield_count)) { - $advanced->addInput(new Form_Textarea( - $pkga['fieldname'], - $pkga['fielddescr'], - $value - ))->setHelp(fixup_string($pkga['description'])); + $advanced->addInput($grp); } else { - $section->addInput(new Form_Textarea( - $pkga['fieldname'], - $pkga['fielddescr'], - $value - ))->setHelp(fixup_string($pkga['description'])); + $section->addInput($grp); } } -- cgit v1.1