diff --git a/e107_handlers/admin_ui.php b/e107_handlers/admin_ui.php index 82afb826d..2ff2c34d4 100644 --- a/e107_handlers/admin_ui.php +++ b/e107_handlers/admin_ui.php @@ -3198,11 +3198,28 @@ class e_admin_controller_ui extends e_admin_controller break; case 'images': - //XXX FIXME - entities in stored result. + case 'files': + + // XXX Cam @ SecretR: didn't work here. See model_class.php line 2046. + // if(!is_array($value)) + // { + // $value = e107::unserialize($value); + // } break; } +/* + if($attributes['serialize'] == true) + { + $attributes['data'] = 'array'; + } + + if($attributes['data'] != 'array') + { + $value = e107::unserialize($value); + } +*/ if(vartrue($attributes['dataPath'])) { diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php index baba387e8..5f487075c 100644 --- a/e107_handlers/form_handler.php +++ b/e107_handlers/form_handler.php @@ -3358,18 +3358,20 @@ class e_form break; case 'images': - - $value = str_replace(''',"'",html_entity_decode($value)); //FIXME @SecretR Horrible workaround to Line 3203 of admin_ui.php - $ival = e107::unserialize($value); + // return print_a($value, true); for ($i=0; $i < 5; $i++) - { - $k = $key.'[path]['.$i.']'; - $ret .= $this->imagepicker($k, $ival['path'][$i], defset($label, $label), $parms); + { + $k = $key.'['.$i.'][path]'; + $ival = $value[$i]['path']; + + $ret .= $this->imagepicker($k, $ival, defset($label, $label), $parms); } break; + //TODO 'files' + case 'file': //TODO - thumb, image list shortcode, js tooltip... $label = varset($parms['label'], 'LAN_EDIT'); unset($parms['label']); diff --git a/e107_handlers/model_class.php b/e107_handlers/model_class.php index 9152cde75..fc7334437 100644 --- a/e107_handlers/model_class.php +++ b/e107_handlers/model_class.php @@ -2041,6 +2041,13 @@ class e_front_model extends e_model */ public function getIfPosted($key, $default = '', $index = null) { + $d = $this->getDataFields(); + + if($d[$key] == 'array') + { + return e107::unserialize($this->getData((string) $key, $default, $index)); + } + $posted = $this->getPostedData((string) $key, null, $index); if(null !== $posted) {