X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=DataObjects%2FCore_notify_recur.php;h=b4f8cd35ea0b1459752cc69dce12db7d628ce30c;hp=8901af3acdd3ec21535040d77fbde1dcca909740;hb=a85826b62774aee981915b83497bf2bffd3553a4;hpb=622abb877b3e426f8bde4c1e0b0211ea880b33e6 diff --git a/DataObjects/Core_notify_recur.php b/DataObjects/Core_notify_recur.php index 8901af3a..b4f8cd35 100644 --- a/DataObjects/Core_notify_recur.php +++ b/DataObjects/Core_notify_recur.php @@ -57,8 +57,7 @@ class Pman_Core_DataObjects_Core_notify_recur extends DB_DataObject } - - + } @@ -67,6 +66,7 @@ class Pman_Core_DataObjects_Core_notify_recur extends DB_DataObject $start = date('Y-m-d H:i:s', max(strtotime("NOW"), strtotime($this->dtstart))); $end = date('Y-m-d H:i:s', min(strtotime("NOW + $advance DAYS"), strtotime($this->dtend))); + return array($start, $end); } function method() @@ -110,14 +110,18 @@ class Pman_Core_DataObjects_Core_notify_recur extends DB_DataObject $usedays[] = date("Y-m-d", $ut); } } - + //print_r($this); foreach($usedays as $d){ foreach($hours as $h){ $date = new DateTime($d. ' ' . $h, new DateTimeZone($this->tz)); - $date->setTimezone(new DateTimeZone(ini_get('date.timezone'))); + $tz= ini_get('date.timezone'); + if(!empty($tz)){ + $date->setTimezone(new DateTimeZone($tz)); + } + $ret[] = $date->format('Y-m-d H:i:s'); } } @@ -142,7 +146,7 @@ class Pman_Core_DataObjects_Core_notify_recur extends DB_DataObject $notifytimes = $this->notifyTimes(2); - ////print_R($notifytimes); + print_R($notifytimes); $newSearch = DB_DataObject::factory('core_notify'); $newSearch->whereAdd( 'act_start > NOW()'); @@ -151,12 +155,10 @@ class Pman_Core_DataObjects_Core_notify_recur extends DB_DataObject // returns array('2012-12-xx'=>12, 'date' => id....) - foreach($notifytimes as $time){ if (isset($old[$time])) { // we already have it... - $oo = DB_DataObject::Factory('core_notify'); $oo->get($old[$time]); $oc = clone($oo); @@ -166,12 +168,11 @@ class Pman_Core_DataObjects_Core_notify_recur extends DB_DataObject unset($old[$time]); continue; } - if (strtotime($time) < time()) { - // will not get deleted.. - //echo "SKIP BEFORE NOW"; - unset($old[$time]); + + if (strtotime($time) < time()) { // should not happen, just in case... continue; } + // do not have a notify event... creat it.. $add = DB_DataObject::factory('core_notify'); $add->setFrom(array( @@ -194,6 +195,13 @@ class Pman_Core_DataObjects_Core_notify_recur extends DB_DataObject } + function person() + { + $p = DB_DAtaObject::factory('Person'); + $p->get($this->person_id); + return $p; + } + function onUpdate($old, $request,$roo) { $this->generateNotificationsSingle(); @@ -212,4 +220,5 @@ class Pman_Core_DataObjects_Core_notify_recur extends DB_DataObject // should delete old events that have not occurred... $n->delete(DB_DATAOBJECT_WHEREADD_ONLY); } + }