DataObjects/Core_notify_recur.php
authorChris <chris@roojs.com>
Thu, 24 May 2012 07:20:55 +0000 (15:20 +0800)
committerChris <chris@roojs.com>
Thu, 24 May 2012 07:20:55 +0000 (15:20 +0800)
DataObjects/Core_notify_recur.php

index 6439563..4a651a2 100644 (file)
@@ -75,7 +75,7 @@ class Pman_Core_DataObjects_Core_notify_recur extends DB_DataObject
                 $hours = array(date('H:i', strtotime($this->dtstart)));
             }
 
-            $days = explode(','. $this->freq_day);
+            $days = json_decode($this->freq_day);
 
             for ($day = date('Y-m-d', strtotime($start));
                     strtotime($day) < strtotime($end);
@@ -95,63 +95,65 @@ class Pman_Core_DataObjects_Core_notify_recur extends DB_DataObject
             return $this->applyTimezoneToList($ret);
         }
         if($this->freq_hour){
-            for($day = date('Y-m-d', strtotime($start));
-                strtotime($day) < strtotime($end);
-                $day = date('Y-m-d', strtotime("$day + 1 DAY")))
+            // happens every day based on freq_hour.
+            $hours = json_decode($this->freq_hour);
+            for ($day = date('Y-m-d', strtotime($start));
+                    strtotime($day) < strtotime($end);
+                    $day = date('Y-m-d', strtotime("$day + 1 DAY")))
             {
                 foreach($hours as $h) {
                     $hh = strpos($h,":") > 0 ? $h : "$H:00";
                     $ret[] = $day . ' ' . $hh;
                 }
-                return $this->applyTimezoneToList($ret);
             }
+            return $this->applyTimezoneToList($ret);
         }
-        switch($this->freq) {
-            case 'HOURLY':
-                // happens every day based on freq_hour.
-                $hours = explode(',', $this->freq_hour);
-                for ($day = date('Y-m-d', strtotime($start));
-                        strtotime($day) < strtotime($end);
-                        $day = date('Y-m-d', strtotime("$day + 1 DAY")))
-                {
-                    foreach($hours as $h) {
-                        $hh = strpos($h,":") > 0 ? $h : "$H:00";
-                        $ret[] = $day . ' ' . $hh;
-                    }
-                }
-                return $this->applyTimezoneToList($ret);
-                
-            case 'DAILY':
-                $hours = explode(',', $this->freq_hour);
-                if (!$hours) {
-                    $hours = array(date('H:i', strtotime($this->dtstart)));
-                }
-                
-                $days = explode(','. $this->freq_day);
-                
-                for ($day = date('Y-m-d', strtotime($start));
-                        strtotime($day) < strtotime($end);
-                        $day = date('Y-m-d', strtotime("$day + 1 DAY")))
-                {
-                    // skip days not accounted for..
-                    if (!in_array(date('N', strtotime($day)), $days)) {
-                        continue;
-                    }
-                    
-                    foreach($hours as $h) {
-                        $hh = strpos($h,":") > 0 ? $h : "$H:00";
-                        $ret[] = $day . ' ' . $hh;
-                    }
-                }
-                
-                return $this->applyTimezoneToList($ret);
-                
-                
-            case 'MONTHLY': // ignored..
-            case 'YEARLY': // ignored..
-                break;
-            
-        }
+//        switch($this->freq) {
+//            case 'HOURLY':
+//                // happens every day based on freq_hour.
+//                $hours = explode(',', $this->freq_hour);
+//                for ($day = date('Y-m-d', strtotime($start));
+//                        strtotime($day) < strtotime($end);
+//                        $day = date('Y-m-d', strtotime("$day + 1 DAY")))
+//                {
+//                    foreach($hours as $h) {
+//                        $hh = strpos($h,":") > 0 ? $h : "$H:00";
+//                        $ret[] = $day . ' ' . $hh;
+//                    }
+//                }
+//                return $this->applyTimezoneToList($ret);
+//                
+//            case 'DAILY':
+//                $hours = explode(',', $this->freq_hour);
+//                if (!$hours) {
+//                    $hours = array(date('H:i', strtotime($this->dtstart)));
+//                }
+//                
+//                $days = explode(','. $this->freq_day);
+//                
+//                for ($day = date('Y-m-d', strtotime($start));
+//                        strtotime($day) < strtotime($end);
+//                        $day = date('Y-m-d', strtotime("$day + 1 DAY")))
+//                {
+//                    // skip days not accounted for..
+//                    if (!in_array(date('N', strtotime($day)), $days)) {
+//                        continue;
+//                    }
+//                    
+//                    foreach($hours as $h) {
+//                        $hh = strpos($h,":") > 0 ? $h : "$H:00";
+//                        $ret[] = $day . ' ' . $hh;
+//                    }
+//                }
+//                
+//                return $this->applyTimezoneToList($ret);
+//                
+//                
+//            case 'MONTHLY': // ignored..
+//            case 'YEARLY': // ignored..
+//                break;
+//            
+//        }
          
     }
     function applyTimezoneToList($ar)