X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=cal%2Fcal.php;h=38f104628d36e52aa28d05b96eace6fe5c77c8c0;hb=206f41ecf9925199f115cacda782927d031042b4;hp=5ec8d73e18f9a9923677d1fb79a7b23169466a81;hpb=ebcc291e0662c37714fbdd22f9d1b19536cc48d1;p=friendica-addons.git
diff --git a/cal/cal.php b/cal/cal.php
index 5ec8d73e..38f10462 100644
--- a/cal/cal.php
+++ b/cal/cal.php
@@ -62,9 +62,9 @@ function cal_content()
// requested? then show all of your events, otherwise only those that
// don't have limitations set in allow_cid and allow_gid
if (local_user() == $uid) {
- $r = q("SELECT `start`, `finish`, `adjust`, `summary`, `desc`, `location` FROM `event` WHERE `uid`=".$uid.";");
+ $r = q("SELECT `start`, `finish`, `adjust`, `summary`, `desc`, `location` FROM `event` WHERE `uid`=".$uid." and `cid`=0;");
} else {
- $r = q("SELECT `start`, `finish`, `adjust`, `summary`, `desc`, `location` FROM `event` WHERE `allow_cid`='' and `allow_gid`='' and `uid`='".$uid."';");
+ $r = q("SELECT `start`, `finish`, `adjust`, `summary`, `desc`, `location` FROM `event` WHERE `allow_cid`='' and `allow_gid`='' and `uid`='".$uid."' and `cid`='0';");
}
// we have the events that are available for the requestor
// now format the output according to the requested format
@@ -93,7 +93,7 @@ function cal_format_output ($r, $f, $tz)
$tmp1 = strtotime($rr['start']);
$tmp2 = strtotime($rr['finish']);
$time_format = "%H:%M:%S";
- $date_format = "%d.%m.%Y";
+ $date_format = "%Y-%m-%d";
$o .= '"'.$rr['summary'].'", "'.strftime($date_format, $tmp1) .
'", "'.strftime($time_format, $tmp1).'", "'.$rr['desc'] .
'", "'.strftime($date_format, $tmp2) .
@@ -106,13 +106,16 @@ function cal_format_output ($r, $f, $tz)
case "ical":
header("Content-type: text/ics");
$o = 'BEGIN:VCALENDAR'. PHP_EOL
- . 'PRODID:-//friendica calendar export//0.1//EN' . PHP_EOL
- . 'VERSION:2.0' . PHP_EOL;
+ . 'VERSION:2.0' . PHP_EOL
+ . 'PRODID:-//friendica calendar export//0.1//EN' . PHP_EOL;
// TODO include timezone informations in cases were the time is not in UTC
// see http://tools.ietf.org/html/rfc2445#section-4.8.3
// . 'BEGIN:VTIMEZONE' . PHP_EOL
// . 'TZID:' . $tz . PHP_EOL
// . 'END:VTIMEZONE' . PHP_EOL;
+// TODO instead of PHP_EOL CRLF should be used for long entries
+// but test your solution against http://icalvalid.cloudapp.net/
+// also long lines SHOULD be split at 75 characters length
foreach ($r as $rr) {
if ($rr['adjust'] == 1) {
$UTC = 'Z';
@@ -133,14 +136,17 @@ function cal_format_output ($r, $f, $tz)
if ($rr['summary'])
$tmp = $rr['summary'];
$tmp = str_replace(PHP_EOL, PHP_EOL.' ',$tmp);
+ $tmp = addcslashes($tmp, ',;');
$o .= 'SUMMARY:' . $tmp . PHP_EOL;
if ($rr['desc'])
$tmp = $rr['desc'];
$tmp = str_replace(PHP_EOL, PHP_EOL.' ',$tmp);
+ $tmp = addcslashes($tmp, ',;');
$o .= 'DESCRIPTION:' . $tmp . PHP_EOL;
if ($rr['location']) {
$tmp = $rr['location'];
$tmp = str_replace(PHP_EOL, PHP_EOL.' ',$tmp);
+ $tmp = addcslashes($tmp, ',;');
$o .= 'LOCATION:' . $tmp . PHP_EOL;
}
$o .= 'END:VEVENT' . PHP_EOL;
@@ -171,16 +177,23 @@ function cal_addon_settings ( &$a, &$s )
$checked = (($enabled) ? ' checked="checked" ' : '');
$url = $a->get_baseurl().'/cal/'.$a->user['nickname'].'/export/format';
+ $s .= '';
$s .= ' '.t('If this is enabled, you public events will be available at').' '.$url.''.t('Export Events').'
';
- $s .= '