basic vcalendar formatting support
This commit is contained in:
parent
79e5c2456b
commit
53dc9cf2eb
@ -45,6 +45,56 @@ function format_event_html($ev) {
|
|||||||
return $o;
|
return $o;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function ical_wrapper($ev) {
|
||||||
|
|
||||||
|
if(! ((is_array($ev)) && count($ev)))
|
||||||
|
return '';
|
||||||
|
|
||||||
|
$o .= "BEGIN:VCALENDAR";
|
||||||
|
$o .= "\nVERSION:2.0";
|
||||||
|
$o .= "\nMETHOD:PUBLISH";
|
||||||
|
$o .= "\nPRODID:-//" . get_config('system','sitename') . "//" . RED_PLATFORM . "//" . strtoupper(get_app()->language). "\n";
|
||||||
|
if(array_key_exists('start',$ev))
|
||||||
|
$o .= format_event_ical($ev);
|
||||||
|
else {
|
||||||
|
foreach($ev as $e) {
|
||||||
|
$o .= format_event_ical($e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$o .= "\nEND:VCALENDAR\n";
|
||||||
|
|
||||||
|
return $o;
|
||||||
|
}
|
||||||
|
|
||||||
|
function format_event_ical($ev) {
|
||||||
|
|
||||||
|
$o = '';
|
||||||
|
|
||||||
|
$o .= "\nBEGIN:VEVENT";
|
||||||
|
if($ev['start'])
|
||||||
|
$o .= "\nDTSTART:" . datetime_convert('UTC','UTC', $ev['start'],'Ymd\\This' . (($ev['adjust']) ? '\\Z' : ''));
|
||||||
|
if($ev['finish'] && ! $ev['nofinish'])
|
||||||
|
$o .= "\nDTEND:" . datetime_convert('UTC','UTC', $ev['finish'],'Ymd\\This' . (($ev['adjust']) ? '\\Z' : ''));
|
||||||
|
if($ev['summary'])
|
||||||
|
$o .= "\nSUMMARY:" . format_ical_text($ev['summary']);
|
||||||
|
if($ev['location'])
|
||||||
|
$o .= "\nLOCATION:" . format_ical_text($ev['location']);
|
||||||
|
if($ev['description'])
|
||||||
|
$o .= "\nDESCRIPTION:" . format_ical_text($ev['description']);
|
||||||
|
$o .= "\nEND:VEVENT\n";
|
||||||
|
return $o;
|
||||||
|
}
|
||||||
|
|
||||||
|
function format_ical_text($s) {
|
||||||
|
|
||||||
|
require_once('include/bbcode.php');
|
||||||
|
require_once('include/html2plain.php');
|
||||||
|
return(wordwrap(html2plain(bbcode($s)),72,"\n ",true));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function format_event_bbcode($ev) {
|
function format_event_bbcode($ev) {
|
||||||
|
|
||||||
$o = '';
|
$o = '';
|
||||||
|
@ -659,9 +659,11 @@ function widget_bookmarkedchats($arr) {
|
|||||||
$r = q("select * from xchat where xchat_xchan = '%s' group by xchat_url order by xchat_desc",
|
$r = q("select * from xchat where xchat_xchan = '%s' group by xchat_url order by xchat_desc",
|
||||||
dbesc($h)
|
dbesc($h)
|
||||||
);
|
);
|
||||||
|
if($r) {
|
||||||
for($x = 0; $x < count($r); $x ++)
|
for($x = 0; $x < count($r); $x ++) {
|
||||||
$r[$x]['xchat_url'] = zid($r[$x]['xchat_url']);
|
$r[$x]['xchat_url'] = zid($r[$x]['xchat_url']);
|
||||||
|
}
|
||||||
|
}
|
||||||
return replace_macros(get_markup_template('bookmarkedchats.tpl'),array(
|
return replace_macros(get_markup_template('bookmarkedchats.tpl'),array(
|
||||||
'$header' => t('Bookmarked Chatrooms'),
|
'$header' => t('Bookmarked Chatrooms'),
|
||||||
'$rooms' => $r
|
'$rooms' => $r
|
||||||
@ -677,9 +679,11 @@ function widget_suggestedchats($arr) {
|
|||||||
if(! $h)
|
if(! $h)
|
||||||
return;
|
return;
|
||||||
$r = q("select *, count(xchat_url) as total from xchat group by xchat_url order by total desc, xchat_desc limit 24");
|
$r = q("select *, count(xchat_url) as total from xchat group by xchat_url order by total desc, xchat_desc limit 24");
|
||||||
|
if($r) {
|
||||||
for($x = 0; $x < count($r); $x ++)
|
for($x = 0; $x < count($r); $x ++) {
|
||||||
$r[$x]['xchat_url'] = zid($r[$x]['xchat_url']);
|
$r[$x]['xchat_url'] = zid($r[$x]['xchat_url']);
|
||||||
|
}
|
||||||
|
}
|
||||||
return replace_macros(get_markup_template('bookmarkedchats.tpl'),array(
|
return replace_macros(get_markup_template('bookmarkedchats.tpl'),array(
|
||||||
'$header' => t('Suggested Chatrooms'),
|
'$header' => t('Suggested Chatrooms'),
|
||||||
'$rooms' => $r
|
'$rooms' => $r
|
||||||
|
Reference in New Issue
Block a user