+
+ case 'less':
+ //CRM-14550 QA Fix
+ $to['Y'] = $now['year'];
+ $to['M'] = $now['mon'];
+ $to['d'] = date('t', mktime(0, 0, 0, $now['mon'], 1, $now['year']));
+ unset($from);
+ break;
+
+ case 'next':
+ $from['d'] = 1;
+ if ($now['mon'] == 12) {
+ $from['M'] = $to['M'] = 1;
+ $from['Y'] = $to['Y'] = $now['year'] + 1;
+ }
+ else {
+ $from['M'] = $to['M'] = $now['mon'] + 1;
+ $from['Y'] = $to['Y'] = $now['year'];
+ }
+ $to['d'] = date('t', mktime(0, 0, 0, $to['M'], 1, $to['Y']));
+ break;
+
+ case 'starting':
+ $from['d'] = $now['mday'];
+ $from['M'] = $now['mon'];
+ $from['Y'] = $now['year'];
+ $from['H'] = 00;
+ $from['i'] = $to['s'] = 00;
+ $to = self::intervalAdd('month', +1, $from);
+ $to = self::intervalAdd('second',-1, $to);
+ break;