DataObjects/Core_email.php
[Pman.Core] / DataObjects / Core_email.php
index 987cbb6..929e608 100644 (file)
@@ -21,7 +21,7 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject
     public $owner_id;
     public $is_system;
     public $active;
-    public $bcc_group;
+    public $bcc_group_id;
     public $test_class;
     
 
@@ -41,17 +41,28 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject
                 $tn.subject LIKE '%{$this->escape($q['search']['nameortitle'])}%'
             ");
         }
-        
+        $cgm = DB_DataObject::Factory('core_group_member')->tableName();;
+      
         $this->selectAdd("
            (
             SELECT 
                 count(user_id) 
             FROM 
-                core_group_member 
+                {$cgm}
             WHERE 
-                to_group_id = core_group_member.group_id
+                to_group_id = {$cgm}.group_id
             ) 
-            AS group_member_count
+            AS group_member_count,
+            
+           (
+            SELECT 
+                count(user_id) 
+            FROM 
+                {$cgm}
+            WHERE 
+                bcc_group_id = {$cgm}.group_id
+           ) 
+           AS bcc_group_member_count
         ");
     }
     
@@ -75,20 +86,20 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject
         }
         
         if ($this->to_group != -1) {
-            $c = DB_DataObject::factory('core_group_member');
-            //$c->groud_id = $this->to_group;
-            
-            $c->setFrom(array(
-                'groud_id' => $this->to_group
-            ));
-            
-            if (!$c->find(true)) {
-              echo "not found";  
+                  
+            $c = DB_DataObject::factory('core_group_member');            
+            $c->whereAdd("group_id = {$this->to_group}");
+                        
+            if (!$c->count()) {
+                if (!empty($request['_ignore_group_count'])) {
+                    if (!$request['_ignore_group_count']) {
+                        $roo->jerr('no_member',array('errcode'=> 100));
+                    }
+                } else {
+                    $roo->jerr('no_member',array('errcode'=> 100));
+                }
             }
             
-            //print_r($this->to_group);
-            print_r($c);
-            print_r($c->count());exit;
         }
     }
     
@@ -351,8 +362,8 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject
         
         // fill in BCC
         
-        if (!empty($this->bcc_group) && empty($contents['rcpts_group'])) {
-            $admin = DB_DAtaObject::Factory('core_group')->lookupMembersByGroupId($this->bcc_group,'email');
+        if (!empty($this->bcc_group_id) && empty($contents['rcpts_group'])) {
+            $admin = DB_DAtaObject::Factory('core_group')->lookupMembersByGroupId($this->bcc_group_id,'email');
             
             if (empty($admin)) {
                 return $p->raiseError("template [{$contents['template']}] - bcc group is empty");