X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=DataObjects%2FCore_notify_recur.php;h=b4f8cd35ea0b1459752cc69dce12db7d628ce30c;hp=022460629ab8f8b719c5fe51ddc869d9cc7dc931;hb=a85826b62774aee981915b83497bf2bffd3553a4;hpb=e339cf3b3fb12ec4ad04a00af85bd498c603155a diff --git a/DataObjects/Core_notify_recur.php b/DataObjects/Core_notify_recur.php index 02246062..b4f8cd35 100644 --- a/DataObjects/Core_notify_recur.php +++ b/DataObjects/Core_notify_recur.php @@ -66,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() @@ -109,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'); } } @@ -141,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()'); @@ -150,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); @@ -165,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( @@ -193,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,44 +221,4 @@ class Pman_Core_DataObjects_Core_notify_recur extends DB_DataObject $n->delete(DB_DATAOBJECT_WHEREADD_ONLY); } - function toRooSingleArray($authUser, $request) - { - $ret = $this->toArray(); - - if(!empty($ret['keyword_filters'])){ - $keywords = array_unique(array_filter(explode(',', $ret['keyword_filters']))); - - $clipping_keywords = DB_DataObject::factory('clipping_keywords'); - $clipping_keywords->whereAddIn('id', $keywords, 'int'); - - $li = array(); - - foreach ($clipping_keywords->fetchAll('id', 'keyword') as $k => $v){ - $li[] = array( - 'id' => $k, - 'keyword' => $v - ); - } - - $ret['keywords'] = json_encode($li); - } - - return $ret; - } - - function toRooArray($request) - { - $ret = $this->toArray(); - - if(!empty($ret['keyword_filters'])){ - $keywords = array_unique(array_filter(explode(',', $ret['keyword_filters']))); - - $clipping_keywords = DB_DataObject::factory('clipping_keywords'); - $clipping_keywords->whereAddIn('id', $keywords, 'int'); - - $ret['keywords'] = implode(',', $clipping_keywords->fetchAll('keyword')); - } - - return $ret; - } }