DataObjects/Core_watch.php
[Pman.Core] / DataObjects / Core_enum.php
index 2096a4a..563de4b 100644 (file)
@@ -23,7 +23,7 @@ class Pman_Core_DataObjects_Core_enum extends DB_DataObject
     
     function applyFilters($q, $au)
     {
-        //print_r($q);exit;
+        
 //        DB_DataObject::debugLevel(1);
         if (!empty($q['query']['empty_etype'])) {
             $this->whereAdd("etype = ''");
@@ -58,13 +58,17 @@ class Pman_Core_DataObjects_Core_enum extends DB_DataObject
             ");
         }
         
-//        print_r($this);
-        if(!empty($q['id'])){
-            $this->id = $q['id'];
+    }
+    
+    function checkPerm($lvl, $au, $req=null)
+    {
+        if (!$au) {
+            return false;
         }
-        
+        return true;
     }
     
+    
     function autoJoinCmsTranslate($lang)
     {
         $l = $this->escape($lang);
@@ -180,6 +184,30 @@ class Pman_Core_DataObjects_Core_enum extends DB_DataObject
         return 0;
     }
     
+    function lookupCreate($etype,$name, $display_name=false) {
+        
+        // check
+        $ce = DB_DataObject::Factory('core_enum');
+        $ce->setFrom(array(
+            'etype' => '',
+            'name' => $etype
+        ));
+        if (!$ce->find(true)) {
+            $ce->display_name = $etype;
+            $ce->insert();
+        }
+        
+        $ce = DB_DataObject::Factory('core_enum');
+        $ce->etype = $etype;
+        $ce->name = $name;
+        if ($ce->find(true)) {
+            return $ce->id;
+        }
+        $ce->active = 1;
+        $ce->display_name = $display_name === false ? $ce->name : $display_name;
+        return  $ce->insert();
+        
+    }
     
     function lookupById($id) {
         $ce = DB_DataObject::Factory('core_enum');
@@ -252,7 +280,6 @@ class Pman_Core_DataObjects_Core_enum extends DB_DataObject
     
     function initEnums($data, $base = array())
     {
-        die('here');
         // base only contains etype...
         //print_r($data);
         $seq_id = 0;