more calendar work, undo strict_privacy flag to use different approach
This commit is contained in:
parent
a10abd4860
commit
df8ac668b8
10 changed files with 119 additions and 51 deletions
|
@ -1,47 +1,121 @@
|
|||
<?php
|
||||
|
||||
|
||||
function format_event_html($ev) {
|
||||
function format_event_html($ev,$pre = '') {
|
||||
|
||||
require_once('include/bbcode.php');
|
||||
|
||||
if(! ((is_array($ev)) && count($ev)))
|
||||
return '';
|
||||
|
||||
$bd_format = t('l F d, Y \@ g A') ; // Friday January 18, 2011 @ 8 AM
|
||||
|
||||
$o = '<div class="vevent">';
|
||||
|
||||
$o .= '<p class="description">' . bbcode($ev['desc']) . '</p>';
|
||||
$o .= '<p class="description event-description">' . bbcode($ev['desc']) . '</p>';
|
||||
|
||||
$o .= '<p>' . t('Starts:') . ' <abbr class="dtstart" title="'
|
||||
. datetime_convert('UTC','UTC',$ev['start'], $ev['adjust'] ? ATOM_TIME : 'Y-m-d\TH:i:s' )
|
||||
$o .= '<p class="event-start">' . t('Starts:') . ' <abbr class="dtstart" title="'
|
||||
. datetime_convert('UTC','UTC',$ev['start'], (($ev['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' ))
|
||||
. '" >'
|
||||
. (($ev['adjust']) ? datetime_convert('UTC', date_default_timezone_get(),
|
||||
$ev['start'] /*, format */ )
|
||||
: datetime_convert('UTC', 'UTC',
|
||||
$ev['start'] /*, format */ ))
|
||||
. (($ev['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(),
|
||||
$ev['start'] , $bd_format ))
|
||||
: day_translate(datetime_convert('UTC', 'UTC',
|
||||
$ev['start'] , $bd_format)))
|
||||
. '</abbr></p>';
|
||||
|
||||
if(! $ev['nofinish'])
|
||||
$o .= '<p>' . t('Finishes:') . ' <abbr class="dtend" title="'
|
||||
. datetime_convert('UTC','UTC',$ev['finish'], $ev['adjust'] ? ATOM_TIME : 'Y-m-d\TH:i:s' )
|
||||
$o .= '<p class="event-end" >' . t('Finishes:') . ' <abbr class="dtend" title="'
|
||||
. datetime_convert('UTC','UTC',$ev['finish'], (($ev['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' ))
|
||||
. '" >'
|
||||
. (($ev['adjust']) ? datetime_convert('UTC', date_default_timezone_get(),
|
||||
$ev['finish'] /*, format */ )
|
||||
: datetime_convert('UTC', 'UTC',
|
||||
$ev['finish'] /*, format */ ))
|
||||
. (($ev['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(),
|
||||
$ev['finish'] , $bd_format ))
|
||||
: day_translate(datetime_convert('UTC', 'UTC',
|
||||
$ev['finish'] , $bd_format )))
|
||||
. '</abbr></p>';
|
||||
|
||||
if(strlen($ev['location']))
|
||||
$o .= '<p> ' . t('Location:') . '<span class="location">'
|
||||
$o .= '<p class="event-location"> ' . t('Location:') . '<span class="location">'
|
||||
. bbcode($ev['location'])
|
||||
. '</span></p>';
|
||||
|
||||
$o .= '</div>';
|
||||
|
||||
return $o;
|
||||
}
|
||||
|
||||
|
||||
function parse_event($h) {
|
||||
|
||||
require_once('include/Scrape.php');
|
||||
require_once('library/HTMLPurifier.auto.php');
|
||||
require_once('include/html2bbcode');
|
||||
|
||||
$h = '<html><body>' . $h . '</body></html>';
|
||||
|
||||
$ret = array();
|
||||
|
||||
$dom = HTML5_Parser::parse($h);
|
||||
|
||||
if(! $dom)
|
||||
return $ret;
|
||||
|
||||
$items = $dom->getElementsByTagName('*');
|
||||
|
||||
foreach($items as $item) {
|
||||
if(attribute_contains($item->getAttribute('class'), 'vevent')) {
|
||||
$level2 = $item->getElementsByTagName('*');
|
||||
foreach($level2 as $x) {
|
||||
if(attribute_contains($x->getAttribute('class'),'dtstart') && $x->getAttribute('title')) {
|
||||
$ret['start'] = $x->getAttribute('title');
|
||||
if(! strpos($ret['start'],'Z'))
|
||||
$ret['adjust'] = true;
|
||||
}
|
||||
if(attribute_contains($x->getAttribute('class'),'dtend') && $x->getAttribute('title'))
|
||||
$ret['finish'] = $x->getAttribute('title');
|
||||
|
||||
if(attribute_contains($x->getAttribute('class'),'description'))
|
||||
$ret['desc'] = $x->textContent;
|
||||
if(attribute_contains($x->getAttribute('class'),'location'))
|
||||
$ret['location'] = $x->textContent;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// sanitise
|
||||
|
||||
if((x($ret,'desc')) && ((strpos($ret['desc'],'<') !== false) || (strpos($ret['desc'],'>') !== false))) {
|
||||
$config = HTMLPurifier_Config::createDefault();
|
||||
$config->set('Cache.DefinitionImpl', null);
|
||||
$purifier = new HTMLPurifier($config);
|
||||
$ret['desc'] = html2bbcode($purifier->purify($ret['desc']));
|
||||
}
|
||||
|
||||
if((x($ret,'location')) && ((strpos($ret['location'],'<') !== false) || (strpos($ret['location'],'>') !== false))) {
|
||||
$config = HTMLPurifier_Config::createDefault();
|
||||
$config->set('Cache.DefinitionImpl', null);
|
||||
$purifier = new HTMLPurifier($config);
|
||||
$ret['location'] = html2bbcode($purifier->purify($ret['location']));
|
||||
}
|
||||
|
||||
if(x($ret,'start'))
|
||||
$ret['start'] = datetime_convert('UTC','UTC',$ret['start']);
|
||||
if(x($ret,'finish'))
|
||||
$ret['finish'] = datetime_convert('UTC','UTC',$ret['finish']);
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function sort_by_date($a) {
|
||||
|
||||
|
|
|
@ -27,8 +27,6 @@ function notifier_run($argv, $argc){
|
|||
|
||||
$a->set_baseurl(get_config('system','url'));
|
||||
|
||||
$prv = get_config('system','strict_privacy');
|
||||
|
||||
logger('notifier: invoked: ' . print_r($argv,true));
|
||||
|
||||
$cmd = $argv[1];
|
||||
|
@ -332,9 +330,6 @@ function notifier_run($argv, $argc){
|
|||
break;
|
||||
case 'stat':
|
||||
|
||||
if($prv)
|
||||
break;
|
||||
|
||||
if($followup && $contact['notify']) {
|
||||
logger('notifier: slapdelivery: ' . $contact['name']);
|
||||
$deliver_status = slapper($owner,$contact['notify'],$slap);
|
||||
|
@ -465,7 +460,7 @@ function notifier_run($argv, $argc){
|
|||
|
||||
if($slap && count($url_recipients) && $followup && $notify_hub && (! $expire)) {
|
||||
foreach($url_recipients as $url) {
|
||||
if($url && (! $prv)) {
|
||||
if($url) {
|
||||
logger('notifier: urldelivery: ' . $url);
|
||||
$deliver_status = slapper($owner,$url,$slap);
|
||||
// TODO: redeliver/queue these items on failure, though there is no contact record
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue