+// DB_DataObject::debugLevel(1);
+ if (!empty($q['query']['empty_etype'])) {
+ $this->whereAdd("core_enum.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}%'
+ ");
+ }
+ if (isset($q['_etypes'])) {
+ $this->whereAddIn('core_enum.etype', explode(',', $q['_etypes']), 'string');
+ }
+
+ }
+
+ function checkPerm($lvl, $au, $req=null)
+ {
+ if (!$au) {
+ return false;
+ }
+ return true;