From 2a49e2a7948a6d1f88d5ec0496b66e79edc9ed3c Mon Sep 17 00:00:00 2001 From: Cameron Date: Sun, 8 Mar 2020 19:56:38 -0700 Subject: [PATCH] Moved renderCreateFieldset() table-row routine into new method renderCreateFieldRow(). Cleaned up other code for PHP validation. --- e107_handlers/form_handler.php | 220 +++++++++++++-------------------- 1 file changed, 86 insertions(+), 134 deletions(-) diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php index 59eec8776..eeaa8cfb9 100644 --- a/e107_handlers/form_handler.php +++ b/e107_handlers/form_handler.php @@ -2291,7 +2291,7 @@ class e_form if(vartrue($options['btn-label'])) { $interval = vartrue($options['interval'],1000); - $text .= ''.$options['btn-label'].''; + $text .= ''.$options['btn-label'].''; $text .= ' '.LAN_CANCEL.''; } @@ -2560,7 +2560,7 @@ class e_form * @param mixed $checked * @param array $options [optional useKeyValues] */ - function checkboxes($name, $option_array, $checked, $options=array()) + function checkboxes($name, $option_array=array(), $checked=null, $options=array()) { $name = (strpos($name, '[') === false) ? $name.'[]' : $name; @@ -4405,9 +4405,11 @@ var_dump($select_options);*/ $currentlist = $obj->fieldpref; $pid = $obj->pid;*/ - $trclass = vartrue($fieldvalues['__trclass']) ? ' class="'.$trclass.'"' : ''; + // $trclass = vartrue($fieldvalues['__trclass']) ? ' class="'.$trclass.'"' : ''; unset($fieldvalues['__trclass']); + $trclass = ''; + foreach ($fieldarray as $field => $data) { @@ -4623,7 +4625,9 @@ var_dump($select_options);*/ { if(!$model->getUrl()) { - $model->setUrl($this->getController()->getUrl()); + /** @var e_admin_controller_ui $controller */ + $controller = $this->getController(); + $model->setUrl($controller->getUrl()); } // assemble the url @@ -4649,7 +4653,7 @@ var_dump($select_options);*/ } - private function renderOptions($parms, $value='', $id, $attributes) + private function renderOptions($parms, $id, $attributes) { $tp = e107::getParser(); $cls = false; @@ -4663,21 +4667,22 @@ var_dump($select_options);*/ $deleteIconDefault = $tp->toGlyph('fa-trash'); } */ - - $sf = $this->getController()->getSortField(); + /** @var e_admin_controller_ui $controller */ + $controller = $this->getController(); + $sf = $controller->getSortField(); if(!isset($parms['sort']) && !empty($sf)) { $parms['sort'] = true; } - $value = "
"; + $text = "
"; if(!empty($parms['sort']) && empty($attributes['grid'])) { $mode = preg_replace('/[^\w]/', '', vartrue($_GET['mode'], '')); $from = intval(vartrue($_GET['from'],0)); - $value .= "".ADMIN_SORT_ICON." "; + $text .= "".ADMIN_SORT_ICON." "; } @@ -4713,7 +4718,7 @@ var_dump($select_options);*/ } $query = http_build_query($query, null, '&'); - $value .= " + $text .= " ".$editIconDefault.""; } @@ -4727,20 +4732,20 @@ var_dump($select_options);*/ $parms['class'] = 'action delete btn btn-default'.$delcls; unset($parms['deleteClass']); $parms['icon'] = $deleteIconDefault; - $value .= $this->submit_image('etrigger_delete['.$id.']', $id, 'delete', LAN_DELETE.' [ ID: '.$id.' ]', $parms); + $text .= $this->submit_image('etrigger_delete['.$id.']', $id, 'delete', LAN_DELETE.' [ ID: '.$id.' ]', $parms); } } else { $parms['class'] = 'action delete btn btn-default'.$delcls; $parms['icon'] = $deleteIconDefault; - $value .= $this->submit_image('etrigger_delete['.$id.']', $id, 'delete', LAN_DELETE.' [ ID: '.$id.' ]', $parms); + $text .= $this->submit_image('etrigger_delete['.$id.']', $id, 'delete', LAN_DELETE.' [ ID: '.$id.' ]', $parms); } //$attributes['type'] = 'text'; - $value .= "
"; + $text .= "
"; - return $value; + return $text; } @@ -4815,7 +4820,7 @@ var_dump($select_options);*/ if(!$value) { - $value = $this->renderOptions($parms, $value, $id, $attributes); + $value = $this->renderOptions($parms, $id, $attributes); } return $value; @@ -6033,7 +6038,7 @@ var_dump($select_options);*/ break; case 'files': - + $label = varset($parms['label'], 'LAN_EDIT'); if($attributes['data'] == 'array') { $parms['data'] = 'array'; @@ -6176,7 +6181,7 @@ var_dump($select_options);*/ } - $ret = vartrue($eloptions['pre']).$this->checkboxes($key, $parms, $value, $eloptions).vartrue($eloptions['post']); + $ret = vartrue($eloptions['pre']).$this->checkboxes($key, (array) $parms, $value, $eloptions).vartrue($eloptions['post']); } @@ -7082,40 +7087,9 @@ var_dump($select_options);*/ $leftCell = "".defset(vartrue($att['title']), vartrue($att['title']))."".$required.$label; $rightCell = $this->renderElement($keyName, $model->getIfPosted($valPath), $att, varset($model_required[$key], array()), $model->getId())." ".$help; - if(vartrue($att['type']) == 'bbarea' || !empty($writeParms['nolabel'])) - { - $text .= " - "; - - $text .= (isset($writeParms['nolabel']) && $writeParms['nolabel'] == 2) ? '' : "
".$leftCell."
" ; - $text .= $rightCell." - - - - "; - - } - else - { -// rightCellClass - // leftCellClass - $leftCellClass = (!empty($writeParms['tdClassLeft'])) ? " class='".$writeParms['tdClassLeft']."'" : ""; - $rightCellClass = (!empty($writeParms['tdClassRight'])) ? " class='".$writeParms['tdClassRight']."'" : ""; - $trClass = (!empty($writeParms['trClass'])) ? " class='".$writeParms['trClass']."'" : ""; - - $text .= " - - - ".$leftCell." - - - ".$rightCell." - - - "; - } + $att['writeParms'] = $writeParms; - + $text .= $this->renderCreateFieldRow($leftCell, $rightCell, $att); @@ -7125,11 +7099,11 @@ var_dump($select_options);*/ } //print_a($fdata); - + /* if($required_help) { $required_help = '
'.$this->getRequiredString().' - required fields
'; //TODO - lans - } + }*/ if(!empty($text) || !empty($hidden_fields)) @@ -7153,91 +7127,68 @@ var_dump($select_options);*/ return false; - /* - $text .= " - ".implode("\n", $hidden_fields)." - ".$required_help." - ".vartrue($fdata['table_post'])." -
- "; - // After submit options - $defsubmitopt = array('list' => 'go to list', 'create' => 'create another', 'edit' => 'edit current'); - $submitopt = isset($fdata['after_submit_options']) ? $fdata['after_submit_options'] : true; - if(true === $submitopt) - { - $submitopt = $defsubmitopt; - } - if($submitopt) - { - $selected = isset($fdata['after_submit_default']) && array_key_exists($fdata['after_submit_default'], $submitopt) ? $fdata['after_submit_default'] : ''; - - } - - $triggers = vartrue($fdata['triggers'], 'auto'); - if(is_string($triggers) && 'auto' === $triggers) - { - $triggers = array(); - if($model->getId()) - { - $triggers['submit'] = array(LAN_UPDATE, 'update', $model->getId()); - } - else - { - $triggers['submit'] = array(LAN_CREATE, 'create', 0); - } - $triggers['cancel'] = array(LAN_CANCEL, 'cancel'); - } - - foreach ($triggers as $trigger => $tdata) - { - $text .= ($trigger == 'submit') ? "
" : ""; - $text .= $this->admin_button('etrigger_'.$trigger, $tdata[0], $tdata[1]); - - if($trigger == 'submit' && $submitopt) - { - - $text .= - ' - '; - } - - $text .= ($trigger == 'submit') ?"
" : ""; - - if(isset($tdata[2])) - { - $text .= $this->hidden($trigger.'_value', $tdata[2]); - } - } - - $text .= " -
- - ".vartrue($fdata['fieldset_post'])." - "; - return $text; - */ } + + + + /** + * Render Create/Edit Fieldset Row. + * @param string $label + * @param string $control + * @param array $att + * @return string + */ + public function renderCreateFieldRow($label, $control, $att = array()) + { - + $writeParms = $att['writeParms']; + + if(vartrue($att['type']) == 'bbarea' || !empty($writeParms['nolabel'])) + { + $text = " + + "; + + $text .= (isset($writeParms['nolabel']) && $writeParms['nolabel'] == 2) ? '' : "
".$label."
" ; + $text .= $control." + + + "; + + return $text; + + } + + $leftCellClass = (!empty($writeParms['tdClassLeft'])) ? " class='".$writeParms['tdClassLeft']."'" : ""; + $rightCellClass = (!empty($writeParms['tdClassRight'])) ? " class='".$writeParms['tdClassRight']."'" : ""; + $trClass = (!empty($writeParms['trClass'])) ? " class='".$writeParms['trClass']."'" : ""; + + $text = " + + + ".$label." + + + ".$control." + + + "; + + return $text; + + } + + + + + /** + * @param $id + * @param $fdata + * @param $model + * @param int $tab + * @return string + */ function renderCreateButtonsBar($id, $fdata, $model, $tab=0) { /* @@ -7256,6 +7207,7 @@ var_dump($select_options);*/ $text = ''; // required fields - model definition + /** @var e_object $model */ $model_required = $model->getValidationRules(); $required_help = false; $hidden_fields = array();