Pokus o preklad username na userid
[mirrors/SokoMan.git] / index.php
index e0160347bb35f891b15a59e7925eb15011dd9a04..d6c7e5750e1476c26f199601a45b9852e67e9f3c 100755 (executable)
--- a/index.php
+++ b/index.php
@@ -328,7 +328,7 @@ EOF;
                $where_url = '%d/?where[%c]==%v';
                $relations = array( //TODO: Autodetect???
                        'model' => array(
-                               'model_id' => array(array('item',$where_url)),
+                               'model_id' => array(array('item',$where_url),array('edit','model/%v/edit/')),
                                'model_barcode' => array(array('store','assistant/%d?barcode=%v')),
                                'model_name' => array(array('google','http://google.com/search?q=%v',true)) //TODO: add manufacturer to google query
                        ),
@@ -355,7 +355,7 @@ EOF;
                                                        array(urlencode($destination[0]),urlencode($column),urlencode($value)),
                                                        $destination[1]
                                                );
-                                               if(isset($destination[2])) {
+                                               if(isset($destination[2]) && isset($relations_conditions[$destination[2]])) {
                                                        //$condition = $relations_conditions[$destination[2]]($table,$id);
                                                        if(!eval($relations_conditions[$destination[2]])) continue;
                                                }
@@ -387,7 +387,7 @@ EOF;
        }
 
        function table_sort(&$table) {
-               $precedence = array('item_id', 'model_image', 'model_name','model_descript','category_name','status_name','room_name','item_quantity','item_price_in','item_price_out','item_relations');
+               $precedence = array('item_id', 'model_image', 'model_name','model_descript','category_name','status_name','room_name','item_quantity','item_price_in','item_price_out','model_price_in','model_price_out','item_relations','model_relations');
                $table_sorted = array();
                foreach($table as $id => $row) {
                        $table_sorted[$id] = array();
@@ -600,19 +600,30 @@ class Sklad_DB extends PDO {
                return $result;
        }
 
-       function translate_query_results($result) {
+       function translate_query_results(&$result) {
                $translate_cols = array('status_name', 'item_valid_till'); //TODO: Hardcoded
                foreach($result as $key => $row) {
                        foreach($translate_cols as $col) if(isset($result[$key][$col])){
                                $result[$key][$col] = T($result[$key][$col]);
                        }
                }
-               return $result;
+       }
+
+       function load_backend_data_to_query_results(&$result) {
+               $translate_cols = array(
+                       'item_author' => 'return($this->auth->get_username_by_id($result[$key][$col]));'
+               ); //TODO: Hardcoded
+               foreach($result as $key => $row) {
+                       foreach($translate_cols as $col => $backend) if(isset($result[$key][$col])){
+                               $result[$key][$col] = eval($backend);
+                       }
+               }
        }
 
        function safe_query_fetch($sql, $fatal=true, $fetch_flags = PDO::FETCH_ASSOC, $translate=true) {
                $result = $this->safe_query($sql, $fatal)->fetchAll($fetch_flags);
-               if($translate) $result = $this->translate_query_results($result);
+               $this->load_backend_data_to_query_results($result);
+               if($translate) $this->translate_query_results($result);
                return $result;
        }
 
This page took 0.242458 seconds and 4 git commands to generate.