DataObjects/Events.php
[Pman.Core] / DataObjects / Events.php
index 9585f5b..5b002e9 100644 (file)
@@ -41,16 +41,14 @@ class Pman_Core_DataObjects_Events extends DB_DataObject
         if(!empty($q['person_table'])){
             $jt = DB_DataObject::factory($q['person_table']);
 
-            $et = DB_DataObject::factory($tn);
-            //$this->selectAdd("(select count(*) from Events where Events.dup_id = evet.id) as cnt ");
-            //$this->selectAs($et,'%s','evet');
+            
             
             if(!array_key_exists("{$jt->tableName()}_id", $this->tableColumns())){ // coz we have triiger on mysql...
                 
                 $keys = $jt->keys();
             
-                $this->_join = "LEFT JOIN {$jt->tableName()} AS join_person_id_id ON (join_person_id_id.{$keys[0]}={$tn}.person_id)";
-                //$this->_join = "LEFT JOIN {$jt->tableName()} AS join_person_id_id ON (join_person_id_id.{$keys[0]}=Events.person_id)";
+                $this->_join = "LEFT JOIN {$jt->tableName()} AS join_person_id_id ON (join_person_id_id.{$keys[0]}=Events.person_id)";
+                
                 $this->selectAdd();
                 $this->selectAs();
 
@@ -92,6 +90,15 @@ class Pman_Core_DataObjects_Events extends DB_DataObject
             $dt = date('Y-m-d' , strtotime($q['query']['to']));
             $this->whereAdd(" {$tn}.event_when <=  '$dt' ");
         }
+        
+        if(!empty($q['dup_check'])){
+                  $et = DB_DataObject::factory($tn);
+            $this->_join .= "LEFT JOIN {$et->tableName()} AS evet ON (evet.id=Events.id)";
+            $this->selectAdd("(select count(*)+1 from Events where Events.dup_id = evet.id) as cnt ");            
+                  //$this->selectAs($et,'%s','evet');
+                  $this->having('Events.dup_id = 0 ');
+            
+        }
         /*
         if (!empty($q['query']['grouped']) && $q['query']['grouped'] == 'gr') {
             // grouped..
@@ -120,7 +127,7 @@ class Pman_Core_DataObjects_Events extends DB_DataObject
         
         if (isset($q['on_table']) && !strlen($q['on_table'])) {
             // empty ontable queries.. these are valid..
-            $this->whereAdd("{$tn}.on_table = ''");
+            $this->whereAdd("$tn.on_table = ''");
         }
       
         if (isset($q['query']['person_sum'])) {
@@ -250,12 +257,12 @@ class Pman_Core_DataObjects_Events extends DB_DataObject
         
         if(!empty($q['query']['action'])) {
             $act = $this->escape($q['query']['action']);
-            $this->whereAdd("{$tn}.action LIKE '%{$act}%'");
+            $this->whereAdd("Events.action LIKE '%{$act}%'");
         }
         
         if(!empty($q['query']['on_table'])) {
             $tnb = $this->escape($q['query']['on_table']);
-            $this->whereAdd("{$tn}.on_table LIKE '%{$tnb}%'");
+            $this->whereAdd("Events.on_table LIKE '%{$tnb}%'");
         } 
         
     }