From 47ae1668740233f97b9ee25017ac57aa007fe025 Mon Sep 17 00:00:00 2001 From: Andrey Kutejko Date: Tue, 7 May 2013 17:49:40 +0300 Subject: [PATCH] preview current image --- ipf/form.php | 2 +- ipf/form/widget/fileinput.php | 47 +++++++++++++++++++++++------------ ipf/form/widget/image.php | 12 ++++++++- 3 files changed, 43 insertions(+), 18 deletions(-) diff --git a/ipf/form.php b/ipf/form.php index 118e7f3..9fd280f 100644 --- a/ipf/form.php +++ b/ipf/form.php @@ -98,7 +98,7 @@ class IPF_Form implements Iterator public function clean() { foreach ($this->fields as $name=>$field) { - $field->LateClean($this->data, $this->cleaned_data); + $field->LateClean($this->data, $this->cleaned_data); } return $this->cleaned_data; } diff --git a/ipf/form/widget/fileinput.php b/ipf/form/widget/fileinput.php index ea86baa..1423f68 100644 --- a/ipf/form/widget/fileinput.php +++ b/ipf/form/widget/fileinput.php @@ -7,24 +7,39 @@ class IPF_Form_Widget_FileInput extends IPF_Form_Widget_Input public $allow_extended = true; public $allow_delete = true; - public function render($name, $value, $extra_attrs=array()) + protected function viewCurrentValue($filename) { - $sim = ''; - if (isset($value['data'])) { - $value = $value['data']; - if (is_string($value) && $value != '') { - if ($this->allow_extended) { - $sim = 'Currently: view'; - if ($this->allow_delete) - $sim .= ' |  '; - $sim .= ' Change:'; - } else { - $sim = 'Currently: '.$value.'
Change: '; - } - } + if ($filename) + return 'view'; + else + return ''; + } + + protected function currentValue($filename) + { + if (!$filename) + return ''; + + if ($this->allow_extended) { + $sim = 'Currently: ' . + $this->viewCurrentValue($filename); + if ($this->allow_delete) + $sim .= ' |  '; + $sim .= ' Change:'; + return $sim; + } else { + return 'Currently: '.$filename.'
Change: '; } - $value = ''; - return $sim.parent::render($name, $value, $extra_attrs); + } + + public function render($name, $value, $extra_attrs=array()) + { + if (isset($value['data']) && is_string($value['data']) && $value['data']) + $sim = $this->currentValue($value['data']); + else + $sim = ''; + + return $sim . parent::render($name, '', $extra_attrs); } public function valueFromFormData($name, &$data) diff --git a/ipf/form/widget/image.php b/ipf/form/widget/image.php index 6944954..2d957c4 100644 --- a/ipf/form/widget/image.php +++ b/ipf/form/widget/image.php @@ -2,4 +2,14 @@ class IPF_Form_Widget_Image extends IPF_Form_Widget_FileInput { -} \ No newline at end of file + protected function viewCurrentValue($filename) + { + if ($filename) { + $url = IPF::getUploadUrl() . $filename; + return '  '; + } else { + return ''; + } + } +} + -- 2.49.0