From: Thomas Mudrunka Date: Fri, 5 Aug 2011 02:53:26 +0000 (+0200) Subject: Opraveno razeni selectboxu, Bug s chybejicim user_name v tabulce useru uz neblokuje X-Git-Url: https://git.harvie.cz/?a=commitdiff_plain;h=66b6f4d63e93fc2320b44f7b98f15f2709e65fb2;p=mirrors%2FSokoMan.git Opraveno razeni selectboxu, Bug s chybejicim user_name v tabulce useru uz neblokuje --- diff --git a/index.php b/index.php index 0ac7c4f..b169e36 100755 --- a/index.php +++ b/index.php @@ -290,11 +290,12 @@ class Sklad_DB extends PDO { return $sql; } - function safe_query($sql) { + function safe_query($sql, $fatal=true) { $result = $this->query($sql); if(!$result) { $error = $this->errorInfo(); - die(trigger_error("QUERY FAILED ($error[0],$error[1]): $error[2]

QUERY:\n
$sql
")); + trigger_error("QUERY FAILED ($error[0],$error[1]): $error[2]

QUERY:\n
$sql
"); + if($fatal) die(); } return $result; } @@ -317,15 +318,19 @@ class Sklad_DB extends PDO { function columns_get_selectbox($columns, $class=false, $suffix_id='_id', $suffix_name='_name') { $selectbox=array(); 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)! if($class && $column['Field'] == $class.$suffix_id) continue; if(!preg_match('/'.$suffix_id.'$/', $column['Field'])) continue; $table=preg_replace('/'.$suffix_id.'$/','',$column['Field']); - $sql = "SELECT $table$suffix_id, $table$suffix_name FROM $table;"; //TODO: tabulka nemusi obsahovat *_name!!! momentalne se to tyka jen tabulky user (a item - u ty to nevadi)! - $result=$this->safe_query($sql)->fetchAll(PDO::FETCH_ASSOC); + + $sql = "SELECT $table$suffix_id, $table$suffix_name FROM $table;"; + $result = $this->safe_query($sql, false); + if(!$result) continue; + $result = $result->fetchAll(PDO::FETCH_ASSOC); foreach($result as $row) $selectbox[$table.$suffix_id][$row[$table.$suffix_id]]=$row[$table.$suffix_name]; } //echo('
'); print_r($selectbox);
-		return ksort($selectbox);
+		return array_filter($selectbox, 'ksort');
 	}
 
 	function contains_history($table) {