Patch0: dformat.patch
Patch1: reset-error.patch
Patch2: allow-params.patch
+Patch3: relative-dates.patch
BuildRequires: rpm-php-pearprov >= 4.4.2-11
BuildRequires: rpmbuild(macros) >= 1.553
Requires: dokuwiki >= 20080505
%patch0 -p1
%patch1 -p1
%patch2 -p1
+%patch3 -p1
version=$(awk -F"'" '/date/&&/=>/{print $4}' syntax.php)
if [ "$(echo "$version" | tr -d -)" != %{version} ]; then
--- /dev/null
+--- dokuwiki-plugin-icalevents-20100501/syntax.php 2010-12-06 14:11:46.422763640 +0200
++++ iCalEvents/syntax.php 2010-12-06 14:12:11.466106772 +0200
+@@ -59,16 +59,19 @@
+ $match = substr($match, 13, -2); // strip {{iCalEvents> from start and }} from end
+ list($icsURL, $flagStr) = explode('#', $match);
+ parse_str($flagStr, $params);
+-
+- if ($params['from'] == 'today') {
+- $from = time();
+- } else if (preg_match('#(\d\d)/(\d\d)/(\d\d\d\d)#', $params['from'], $fromDate)) {
+- # must be MM/dd/yyyy
+- $from = mktime(0, 0, 0, $fromDate[1], $fromDate[2], $fromDate[3]);
+- } else if (preg_match('/\d+/', $params['from'])) {
+- $from = $params['from'];
++
++ $from = null;
++ if (!empty($params['from'])) {
++ // unix timestamp: handle specially for backward compatability
++ if (preg_match('/^\d+$/', $params['from'])) {
++ $from = (int )$params['from'];
++ } else {
++ // anything that strtotime can parse: 'today', '1 week ago', etc
++ $from = strtotime($params['from']);
++ }
+ }
+- if ($params['previewDays']) {
++
++ if (!empty($params['previewDays'])) {
+ $previewSec = $params['previewDays']*24*3600;
+ } else {
+ $previewSec = 60*24*3600; # two month
+@@ -86,7 +89,7 @@
+
+ $showEndDates = !empty($params['showEndDates']);
+
+- #echo "url=$icsURL from = $from previewSec = $previewSec<br>";
++ #echo "url=$icsURL flags=$flagStr; from = $from; previewSec = $previewSec; dateFormat=$dateFormat;<br/>";
+
+ return array($icsURL, $from, $previewSec, $dateFormat, $showEndDates);
+ }