Je mozny vygooglit model jednim kliknutim, escapuje se URL v relacnich lincich
[mirrors/SokoMan.git] / index.php
index c1d366072753d374a9be4b8e8c349ac8d29970ac..40b215fcf0d8121e33284b10d2548b4f67bd4f7f 100755 (executable)
--- a/index.php
+++ b/index.php
@@ -73,6 +73,10 @@ class HTML {
                return "<img src='$src' alt='$title' title='$title'$options; />";
        }
 
+       function img_link($src, $link='#void', $title='img_link', $internal=true, $translate=true, $options='width=64') {
+               return $this->link($this->img($src,$title,$options),$link,$internal,$translate);
+       }
+
        function input($name=false, $value=false, $type='text', $placeholder=false, $options=false, $prefix='') {
                $html = T($prefix)."<input type='$type' ";
                if($name) $html.= "name='$name' ";
@@ -269,13 +273,13 @@ EOF;
                        foreach($image as $column) if(isset($table[$id][$column])) {
                                $type = @array_shift(preg_split('/_/', $column));
                                $src=URL_IMAGES."/$type/".$table[$id][$column].'.jpg';
-                               $table[$id][$type.'_image']=$this->img($src, $table[$id][$column]);
+                               $table[$id][$type.'_image']=$this->img_link($src, $src, $table[$id][$column], false, false);
                        }
                }
        }
 
        function render_barcode($barcode,$opts=false) {
-               return $this->link($this->img($this->internal_url("barcode/$barcode"),$barcode,$opts),"barcode/$barcode",true,false);
+               return $this->img_link($this->internal_url("barcode/$barcode"),$this->internal_url("barcode/$barcode"),$barcode,false,false,$opts);
        }
 
        function table_add_barcodes(&$table) {
@@ -292,7 +296,11 @@ EOF;
                $relations = array( //TODO: Autodetect???
                        'model' => array(
                                'model_id' => array(array('item',$where_url)),
-                               'model_barcode' => array(array('store','assistant/%d?barcode=%v'))
+                               'model_barcode' => array(array('store','assistant/%d?barcode=%v')),
+                               'model_name' => array(array('google','http://google.com/search?q=%v',true))
+                       ),
+                       'item' => array(
+                               'item_serial' => array(array('dispose','assistant/%d?serial=%v'),array('sell','assistant/%d?serial=%v'))
                        ),
                        'category' => array('category_id' => array(array('item',$where_url))),
                        'producer' => array('producer_id' => array(array('item',$where_url))),
@@ -306,10 +314,10 @@ EOF;
                                        foreach($relations[$class][$column] as $destination) {
                                                $destination_url = str_replace(
                                                        array('%d','%c','%v'),
-                                                       array($destination[0],$column,$value),
+                                                       array(urlencode($destination[0]),urlencode($column),urlencode($value)),
                                                        $destination[1]
                                                );
-                                               @$table[$id][$class.$suffix_relations] .= $this->link($destination[0], $destination_url).',';
+                                               @$table[$id][$class.$suffix_relations] .= $this->link($destination[0], $destination_url, !isset($destination[2])).',';
                                        }
                                }
                        }
This page took 0.118691 seconds and 4 git commands to generate.