'.sprintf(__('Weeks start on %s','amr-ical-events-list'), $amr_day_of_week[$wkst] ).' '.$wkst); } /* -------------------------------------------------- */ function amr_prettyprint_r_ex_date ($rdate) { /* rrule or exrule */ global $amr_formats; /* amr check that this get set to the chosen list type */ // 201407 nor rdates include dtstart - should dtstart be reversed out here, or the text changed ? // $df = pref_date_entry_format_string(); if (is_array($rdate)) { // 20140709 resort the array sort($rdate); foreach ($rdate as $i => $d) { if (is_object($d)) $html[] = amr_format_date ($amr_formats['Day'], $d); // = $d->format($df); /* *** is it already in the right timezone or not ? If just doing 'date' for now, is okay? */ else $html[] = $d; } } return (implode(', ', $html)); } /* -------------------------------------------------- */ function amr_prettyprint_byday ($b) { $fulldayofweek = amr_fulldaytext(); /* MO, TU= etsc*/ $h = array(); $html = ''; if (is_array($b)) { foreach ($b as $d => $n) { if (is_array($n)) { /* must be n bydays */ foreach ($n as $i => $n2) { $temp[] = ical_ordinalize_words($n2); } if (count($temp) == 2) $h[] = implode (__(' and ','amr-ical-events-list'),$temp).' '.$fulldayofweek[$d]; else $h[] = implode (', ',$temp).' '.$fulldayofweek[$d]; $temp = array(); } else { /* normal bydays */ $h[] = $fulldayofweek[$d]; } if (count($h) == 2) $html = implode(__(' and ','amr-ical-events-list'),$h); else $html = implode (', ',$h); if (!is_array($n)) $html = __('every ','amr-ical-events-list').$html; } return($html); } else return ($b); /* who knows what is in if it is not an array? */ } /* -------------------------------------------------- */ function amr_prettyprint_byordinal ($b) { $h = array(); if (is_array($b)) { foreach ($b as $i => $d) { $h[] = ical_ordinalize_words($d); }; if (count($h) == 2) $html = implode(__(' and ','amr-ical-events-list'),$h); else $html = implode (', ',$h); return($html); } else return ($b); } /* -------------------------------------------------- */ function amr_prettyprint_bymonth ($b) { global $wp_locale; $h = array(); if (is_array($b)) { foreach ($b as $i => $d) { $h[] = $wp_locale->get_month($d); }; if (count($h) == 2) $html = implode(__(' or ','amr-ical-events-list'),$h); else $html = implode (', ',$h); return($html); } else return ($b); } /* -------------------------------------------------- */ function amr_prettyprint_duration ($duration) { if (empty($duration)) return; if (!is_array($duration)) echo $duration; else { $h = array(); foreach ($duration as $i => $v) { $h[] = sprintf( _n( '%u '.rtrim($i,'s') /* singular */ , '%u '.$i /* plural */ ,$v // number ,'amr-ical-events-list'),// domain $v); } $html = implode (', ',$h); } echo $html; } /* -------------------------------------------------- */ function amr_prettyprint_rule ($rule) { /* rrule or exrule */ /* Receive an array of prepared fields and combine it into a suitable descriptive string */ global $amr_freq, $amr_freq_unit, $amr_day_of_week_no, $wp_locale; $sep = ' '; $c = ''; if (isset($rule['FREQ'])) { $nicefrequnit = $amr_freq_unit[$rule['FREQ']]; /* already translated value */ if (isset($rule['INTERVAL'])) {/* the freq as it is repetitive */ $interval = ' ' .sprintf(__('Every %s %s','amr-ical-events-list'), ical_ordinalize($rule['INTERVAL']), $nicefrequnit).$sep; } // else $interval = ' '.sprintf( __('every %s','amr-ical-events-list'), $nicefrequnit).$sep; // sounds funny to have daily every day, only have if every 2nd etc // $nicefreq = $amr_freq[$rule['FREQ']].$interval; /* already translated value */ else $interval = $amr_freq[$rule['FREQ']]; /* already translated value */ if (isset($rule['BYSETPOS'])) $c .= ' '. sprintf(__('On %s instance within %s', 'amr-ical-events-list') ,amr_prettyprint_byordinal($rule['BYSETPOS']) ,$interval); // else $c .= $nicefreq; else $c .= $interval; if (isset($rule['COUNT'])) $c .= ' '.sprintf(__('%s times','amr-ical-events-list'), $rule['COUNT']).$sep; if (isset($rule['UNTIL'])) { if ($rule['UNTIL-TIME'] === '00:00') $rule['UNTIL-TIME'] = ''; else if (strtolower($rule['UNTIL-TIME']) === '12:00 am') $rule['UNTIL-TIME'] = ''; $c .= ' '.sprintf(__('until %s %s','amr-ical-events-list'), $rule['UNTIL-DATE'], $rule['UNTIL-TIME']).$sep; } if (isset($rule['MONTH'])) $c .= sprintf(__(' if month is %s','amr-ical-events-list'),amr_prettyprint_bymonth($rule['MONTH'])); // if (isset($rule['BYWEEKNO'])) $c .= ' '.sprintf(__(' in weeks %s','amr-ical-events-list'),implode(',',$rule['BYWEEKNO'])); if (isset($rule['BYWEEKNO'])) $c .= ' ' .sprintf(__(' in %s weeks of the year','amr-ical-events-list'),amr_prettyprint_byordinal($rule['BYWEEKNO'])); // if (isset($rule['BYYEARDAY'])) $c .= ' '.sprintf(__('on the %s day of year','amr-ical-events-list'),implode(',',$rule['BYYEARDAY'])); if (isset($rule['BYYEARDAY'])) $c .= ' '.sprintf(__('on %s day of the year','amr-ical-events-list'),amr_prettyprint_byordinal($rule['BYYEARDAY'])); if (isset($rule['DAY'])) $c .= ' '.sprintf(__('on %s day of each month', 'amr-ical-events-list'),amr_prettyprint_byordinal($rule['DAY'])); if (isset($rule['NBYDAY'])) $nbyday = ' '.sprintf(__('on %s ', 'amr-ical-events-list'),amr_prettyprint_byday($rule['NBYDAY'])); if (isset($rule['BYDAY'])) $byday = ' '.sprintf(__('on %s ', 'amr-ical-events-list'),amr_prettyprint_byday($rule['BYDAY'])); $ofthefreq = ''; // change to accomodate dutch having different artcles for month and year de or het if ($rule['FREQ'] == 'MONTHLY') $ofthefreq = _x(' of the month','eg: last day of the month', 'amr-ical-events-list'); else if ($rule['FREQ'] == 'YEARLY') $ofthefreq = _x(' of the year','eg: last day of the year','amr-ical-events-list'); if (isset ($nbyday) and isset ($byday)) $c .= $nbyday.__(' and ','amr-ical-events-list').$byday.$ofthefreq; else { if (isset ($byday)) $c .= $byday.$ofthefreq; if (isset ($nbyday)) $c .= $nbyday.$ofthefreq; } if (isset($rule['BYHOUR'])) $c .= ' '.sprintf(__('at the %s hour', 'amr-ical-events-list'),implode(',',$rule['BYHOUR'])); if (isset($rule['BYMINUTE'])) $c .= ' '.sprintf(__('at the %s minute', 'amr-ical-events-list'),implode(',',$rule['BYMINUTE'])); if (isset($rule['BYSECOND'])) $c .= ' '.sprintf(__('at the %s second', 'amr-ical-events-list'),implode(',',$rule['BYSECOND'])); if (isset($rule['WKST'])) $c .= '; '.amr_prettyprint_weekst($rule['WKST']); } return (rtrim($c,',')); } /* -------------------------------------------------- */ function amr_prepare_pretty_rrule ($rule) { global $ical_timezone, $amr_formats; /* take the event and it's parsed rrule or exrule and convert some aspects for people use. Used by both edit event and event info */ $df = $amr_formats['Day']; $tf = $amr_formats['Time']; $rule['UNTIL-DATE'] = ''; $rule['UNTIL-TIME'] = ''; if (isset($_GET['wpmldebug'])) {echo '