]> git.andy128k.dev Git - ipf.git/commitdiff
preview current image
authorAndrey Kutejko <andy128k@gmail.com>
Tue, 7 May 2013 14:49:40 +0000 (17:49 +0300)
committerAndrey Kutejko <andy128k@gmail.com>
Tue, 7 May 2013 14:49:40 +0000 (17:49 +0300)
ipf/form.php
ipf/form/widget/fileinput.php
ipf/form/widget/image.php

index 118e7f3c49db1aef39721bfd18c04b25f283b75b..9fd280fb439de3bd7ff40c9057b6b6d63489f39a 100644 (file)
@@ -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;
     }
index ea86baac545253691d197db726eeb64559424fc9..1423f68827b95d93bb7c3d12c18043a1feba2389 100644 (file)
@@ -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 = '<nobr>Currently: <input name="'.$name.'_name" value="'.$value.'" type="hidden" /><input name="'.$name.'_rename" value="'.$value.'" id="id_'.$name.'_rename" type="text" style="width:150px;" /> <a target="_blank" href="'.IPF::getUploadUrl().$value.'">view</a>';
-                    if ($this->allow_delete)
-                        $sim .= '&nbsp;|&nbsp;<input name="'.$name.'_remove" value="1" id="id_'.$name.'_remove" type="checkbox" />&nbsp;<label class="file_remove" for="id_'.$name.'_remove">Remove</label></nobr>';
-                    $sim .= ' Change:';
-                } else {
-                    $sim = '<nobr>Currently: <b>'.$value.'</b><br> Change: ';
-                }
-            }
+        if ($filename)
+            return '<a target="_blank" href="'.IPF::getUploadUrl().$filename.'">view</a>';
+        else
+            return '';
+    }
+
+    protected function currentValue($filename)
+    {
+        if (!$filename)
+            return '';
+
+        if ($this->allow_extended) {
+            $sim = 'Currently: <input name="'.$name.'_name" value="'.$filename.'" type="hidden" /><input name="'.$name.'_rename" value="'.$filename.'" id="id_'.$name.'_rename" type="text" style="width:150px;" /> ' .
+                $this->viewCurrentValue($filename);
+            if ($this->allow_delete)
+                $sim .= '&nbsp;|&nbsp;<input name="'.$name.'_remove" value="1" id="id_'.$name.'_remove" type="checkbox" />&nbsp;<label class="file_remove" for="id_'.$name.'_remove">Remove</label>';
+            $sim .= ' Change:';
+            return $sim;
+        } else {
+            return 'Currently: <b>'.$filename.'</b><br> 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)
index 6944954812b89ee5700f6373565e47e973cb073f..2d957c4682f4eb561e4db2894b382132f630532e 100644 (file)
@@ -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 '&nbsp;<a target="_blank" href="'.$url.'"><img src="'.$url.'" style="max-width:64px;max-height:64px"/></a>&nbsp;';
+        } else {
+            return '';
+        }
+    }
+}
+