function applyFilters($q, $au)
{
-//
-//// DB_DataObject::debugLevel(1);
-// if (!empty($q['query']['empty_etype'])) {
-// $this->whereAdd("etype = ''");
-// }
-//
-// // this should be handled by roo... using '!name[0]' ....
-// if(!empty($q['!name'])){
-// $names = is_array($q['!name']) ? $q['!name'] : explode(',', $q['!name']);
-// foreach($names as $name){
-// $name = $this->escape($name);
-// $this->whereAdd("
-// core_enum.name NOT IN ('$name')
-// ");
-// }
-// }
-// if(!empty($q['search']['display_name'])) {
-// $name = $this->escape($q['search']['display_name']);
-// // ilike on postgres?!?
-// $this->whereAdd("
-// core_enum.display_name LIKE '{$name}%'
-// ");
-//
-// }
-//
-// if(!empty($q['query']['name'])) {
-// $name = $this->escape($q['query']['name']);
-// // ilike on postgres?!?
-// $this->whereAdd("
-// core_enum.name LIKE '%{$name}%'
-// OR
-// core_enum.display_name LIKE '%{$name}%'
-// ");
-// }
-//
-//// print_r($this);
-// if(!empty($q['id'])){
-// $this->id = $q['id'];
-// }
+
+// DB_DataObject::debugLevel(1);
+ if (!empty($q['query']['empty_etype'])) {
+ $this->whereAdd("etype = ''");
+ }
+
+ // this should be handled by roo... using '!name[0]' ....
+ if(!empty($q['!name'])){
+ $names = is_array($q['!name']) ? $q['!name'] : explode(',', $q['!name']);
+ foreach($names as $name){
+ $name = $this->escape($name);
+ $this->whereAdd("
+ core_enum.name NOT IN ('$name')
+ ");
+ }
+ }
+ if(!empty($q['search']['display_name'])) {
+ $name = $this->escape($q['search']['display_name']);
+ // ilike on postgres?!?
+ $this->whereAdd("
+ core_enum.display_name LIKE '{$name}%'
+ ");
+
+ }
+
+ if(!empty($q['query']['search'])) {
+ $name = $this->escape($q['query']['search']);
+ // ilike on postgres?!?
+ $this->whereAdd("
+ core_enum.name LIKE '%{$name}%'
+ OR
+ core_enum.display_name LIKE '%{$name}%'
+ ");
+ }
+
+// print_r($this);
+ if(!empty($q['id'])){
+ $this->id = $q['id'];
+ }
}
function beforeUpdate($old, $request,$roo)
- {
+ {
$tn = $this->tableName();
$x = $this->factory($tn);
if(!($old->etype == $request['etype'] && $old->name == $request['name'])){
- $x->whereAdd("etype = '{$request['etype']}' AND name = '{$request['name']}'");
+ $x->whereAdd("etype = '{$this->escape($request['etype'])}' AND name = '{$this->escape($request['name'])}'");
$x->find(true);
if($x->count() > 0){
$roo->jerr('is exsiting');
$roo->jerr('name is exsiting');
}
}else{
- $x->whereAdd("etype = '{$req['etype']}' AND name = '{$req['name']}'");
+ $x->whereAdd("etype = '{$this->escape($req['etype'])}' AND name = '{$this->escape($req['name'])}'");
$x->find(true);
if($x->count() > 0){
$roo->jerr('is exsiting');
if ($old->etype != $this->etype) {
$x->query("SELECT core_enum_seqmax_update('". $this->escape($old->etype) ."')");
}
+ if($this->name != $old->name && empty($old->etype) && empty($this->etype)){
+ $x->query("UPDATE core_enum SET etype = '". $this->escape($this->name)
+ ."' WHERE etype = '". $this->escape($old->name)."'");
+ }
}
/**