X-Git-Url: https://git.harvie.cz/?a=blobdiff_plain;f=index.php;h=caf25a0ef3039c92e95f2ea419b87abbc7565589;hb=042a49887f093945b7ef913556e506c30ce2bbda;hp=7994b33153117f2a4a817d319c21bf57dac5458c;hpb=88c38b26e8ac27d3e7de78a0a7bc904994f0bed4;p=mirrors%2FSokoMan.git diff --git a/index.php b/index.php index 7994b33..caf25a0 100755 --- a/index.php +++ b/index.php @@ -81,7 +81,17 @@ class HTML { return $this->link($this->img($src,$title,$options),$link,$internal,$translate); } + function textarea($name=false, $value='', $placeholder=false, $options=false, $prefix='') { + $html = T($prefix)."textarea($name, $value, $placeholder, $options, $prefix); $html = T($prefix)."$html"; } + function favicon($url='/favicon.ico') { + return ''; + + } + function head($title=false,$charset='UTF-8',$more='') { $title = $title ? "\n$title" : ''; $html= ''; $html.= ''.$title.$more; + $html.= $this->favicon(dirname($_SERVER['SCRIPT_NAME']).'/favicon.ico'); $html.= ''; return $html; } @@ -164,6 +180,7 @@ class Sklad_HTML extends HTML { //TODO: Split into few more methods $script = $_SERVER['SCRIPT_NAME']; $search = htmlspecialchars(@trim($_GET['q'])); $message = strip_tags(@trim($_GET['message']),'
'); + $fortune = 'test'; $instance = INSTANCE_ID != '' ? '/'.INSTANCE_ID : ''; $user_id = htmlspecialchars($user['id']); $user_gid = htmlspecialchars($user['gid']); @@ -263,6 +280,9 @@ EOF;
$message
+
+$fortune +
EOF; return $html; @@ -302,7 +322,7 @@ EOF; 'model' => array( 'model_id' => array(array('item',$where_url)), 'model_barcode' => array(array('store','assistant/%d?barcode=%v')), - 'model_name' => array(array('google','http://google.com/search?q=%v',true)) + 'model_name' => array(array('google','http://google.com/search?q=%v',true)) //TODO: add manufacturer to google query ), 'item' => array( 'item_serial' => array(array('dispose','assistant/%d?serial=%v'),array('sell','assistant/%d?serial=%v')) @@ -364,17 +384,32 @@ EOF; $table = $table_sorted; } + function table_hide_columns(&$table, $class) { //TODO: Move to build_query_select() !!! :-))) + $fields_hide = array( + 'item' => array('model_descript','model_price_in','model_price_out','model_barcode','model_countable','model_reserve','model_eshop_hide','room_descript','room_author','producer_name','producer_note','vendor_note') + ); + //print_r($table); die(); + if(isset($fields_hide[$class])) foreach($table as $id => $row) { + foreach($fields_hide[$class] as $field) unset($table[$id][$field]); + } + } + function render_item_table($table,$class=false) { if(empty($table)) return '

'.T('holy primordial emptiness is all you can find here...').'


'; $this->table_add_images($table); if($class) $this->table_add_relations($table,$class); $this->table_add_barcodes($table); $this->table_collapse($table); + if($class) $this->table_hide_columns($table,$class); $this->table_sort($table); return $this->table($table); } function render_insert_inputs($class,$columns,$selectbox,$current,$hidecols,$update) { + $textarea = array( + 'item' => array('item_note'), + 'model' => array('model_descript') + ); $html = ''; foreach($columns as $column) { $html.=T($class).':'.T($column['Field']).': '; @@ -389,6 +424,9 @@ EOF; case isset($selectbox[$column['Field']]): $html.=$this->select($name,$selectbox[$column['Field']],$val); break; + case isset($textarea[$class]) && in_array($column['Field'],$textarea[$class]): + $html.=$this->input($name, $val, 'textarea'); + break; default: $html.=$this->input($name, $val); break; @@ -495,7 +533,7 @@ class Sklad_DB extends PDO { 'item' => array('model', 'category', 'producer', 'vendor', 'room', 'status'), 'model' => array('category', 'producer') ); //TODO Autodetect using foreign keys? - $search_fields = array( + $fields_search = array( 'item' => array('item_id','item_serial','model_name','model_barcode','model_descript','producer_name','vendor_name'), 'model' => array('model_id','model_name','model_barcode','model_descript','producer_name') ); //TODO Autodetect @@ -513,9 +551,9 @@ class Sklad_DB extends PDO { //WHERE/REGEXP if($search) { $search = $this->quote($search); - if(!isset($search_fields[$class])) die(trigger_error(T("Can't search in $class table yet :-("))); //TODO: post_redirect_get + if(!isset($fields_search[$class])) die(trigger_error(T("Can't search in $class table yet :-("))); //TODO: post_redirect_get $sql_search = ''; - foreach($search_fields[$class] as $column) $sql_search .= "OR $column REGEXP $search "; + foreach($fields_search[$class] as $column) $sql_search .= "OR $column REGEXP $search "; $where[] = "FALSE $sql_search"; } elseif($id) $where[] = "$class$suffix_id = $id"; if(!$history && $this->contains_history($class)) $where[] = $class.'_valid_till=0'; @@ -583,7 +621,9 @@ class Sklad_DB extends PDO { function columns_get_selectbox($columns, $class=false, $suffix_id='_id', $suffix_name='_name') { $selectbox=array( //TODO: Hardcoded... - 'model_countable' => array(0 => 'no', 1 => 'yes') + 'model_countable' => array(0 => 'no', 1 => 'yes'), + 'model_eshop_hide' => array(0 => 'no', 1 => 'yes'), + 'vendor_id' => array('COMPULSORY' => 'select...') ); foreach($columns as $column) { if($column['Field'] == 'user_id') continue; //TODO HACK Blacklist: tabulka nemusi obsahovat *_name!!! momentalne se to tyka jen tabulky user (a item - u ty to nevadi)! @@ -802,7 +842,7 @@ class Sklad_UI { } function check_auth() { - new HTTP_Auth('SkladovejSystem', true, array($this->db->auth,'check_auth')); + new HTTP_Auth('WareHouse ['.BACKEND_AUTH.']', true, array($this->db->auth,'check_auth')); } function post_redirect_get($location, $message='', $error=false, $translate=true) { @@ -833,7 +873,8 @@ class Sklad_UI { function check_input_validity($field, $value='', $ruleset=0) { $rules = array(0 => array( 'model_barcode' => '/./', - 'item_serial' => '/./' + 'item_serial' => '/./', + 'vendor_id' => '/^[0-9]*$/' )); if(isset($rules[$ruleset][$field]) && !preg_match($rules[$ruleset][$field], trim($value))) return false; return true;