DataObjects/Core_enum.php
[Pman.Core] / DataObjects / Events.php
index 06254cd..7105ab0 100644 (file)
@@ -329,7 +329,9 @@ class Pman_Core_DataObjects_Events extends DB_DataObject
         $rem  = array();
         // should this really go in remarks? - 
         if ($obj && method_exists($obj,'toEventString')) {
-            $rem[] = $obj->toEventString() ;
+            if($obj->toEventString() !== false){
+                $rem[] = $obj->toEventString();
+            }
         }
         $rem[] = $remarks;
         $this->remarks = implode(' : ', $rem);
@@ -450,8 +452,13 @@ class Pman_Core_DataObjects_Events extends DB_DataObject
         self::$deleted[] = $del;
         return true;
     }
+    static $extra_data = false;
+    
+    static function writeEventLogExtra($data) {
+        self::$extra_data = $data;
+    }
     
-    function writeEventLog($extra_data  = '')
+    function writeEventLog($extra_data  = false)
     {
         $ff  = HTML_FlexyFramework::get();
         if (empty($ff->Pman['event_log_dir'])) {
@@ -511,9 +518,12 @@ class Pman_Core_DataObjects_Events extends DB_DataObject
         if (!empty(self::$deleted)) {
             $out['DELETED_DATAOBJECTS'] = self::$deleted;
         }
-        if (!empty($extra_data)) {
+        if ($extra_data !== false) {
             $out['EXTRA'] = $extra_data;
         }
+        if ( self::$extra_data !== false) {
+            $out['EXTRA_DATA'] =  self::$extra_data;
+        }
         
         file_put_contents($file, json_encode($out));
         
@@ -633,11 +643,32 @@ class Pman_Core_DataObjects_Events extends DB_DataObject
             unset($d['_table']);
             
             $table->setFrom($d);
+            
+            /*
+             * need to use the old id
+             */
             $table->id = $d['id'];
             
             $table->sequenceKey(false,false);
             
-            $table->insert();     
+            $table->insert();
+            
+            if($table->tableName() == 'crm_mailing_list_member'){
+                $ml = DB_DataObject::factory('crm_mailing_list');
+                if(!$ml->get($table->mailing_list_id)){
+                    continue;
+                }
+
+                $mlm = DB_DataObject::factory('crm_mailing_list_member');
+                $mlm->setFrom(array(
+                    'mailing_list_id' => $table->mailing_list_id,
+                    'is_active' => 1
+                ));
+
+                $o = clone($ml);
+                $ml->no_members = $mlm->count();
+                $ml->update($o);
+            }
         }
         
         $roo->jok('RESTORE');