more work on standards compliance

This commit is contained in:
rabuzarus 2017-03-17 17:57:57 +01:00
parent 8ae8465d48
commit c785eb29c6
2 changed files with 100 additions and 100 deletions

View file

@ -595,17 +595,17 @@ function process_events($arr) {
$last_date = ''; $last_date = '';
$fmt = t('l, F j'); $fmt = t('l, F j');
if (count($arr)) { if (count($arr)) {
foreach($arr as $rr) { foreach ($arr as $rr) {
$j = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], 'j') : datetime_convert('UTC','UTC',$rr['start'],'j')); $j = (($rr['adjust']) ? datetime_convert('UTC', date_default_timezone_get(), $rr['start'], 'j') : datetime_convert('UTC', 'UTC', $rr['start'], 'j'));
$d = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], $fmt) : datetime_convert('UTC','UTC',$rr['start'],$fmt)); $d = (($rr['adjust']) ? datetime_convert('UTC', date_default_timezone_get(), $rr['start'], $fmt) : datetime_convert('UTC', 'UTC', $rr['start'], $fmt));
$d = day_translate($d); $d = day_translate($d);
$start = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], 'c') : datetime_convert('UTC','UTC',$rr['start'],'c')); $start = (($rr['adjust']) ? datetime_convert('UTC', date_default_timezone_get(), $rr['start'], 'c') : datetime_convert('UTC', 'UTC', $rr['start'], 'c'));
if ($rr['nofinish']){ if ($rr['nofinish']){
$end = null; $end = null;
} else { } else {
$end = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['finish'], 'c') : datetime_convert('UTC','UTC',$rr['finish'],'c')); $end = (($rr['adjust']) ? datetime_convert('UTC', date_default_timezone_get(), $rr['finish'], 'c') : datetime_convert('UTC', 'UTC', $rr['finish'], 'c'));
} }
@ -616,14 +616,14 @@ function process_events($arr) {
// Show edit and drop actions only if the user is the owner of the event and the event // Show edit and drop actions only if the user is the owner of the event and the event
// is a real event (no bithdays) // is a real event (no bithdays)
if (local_user() && local_user() == $rr['uid'] && $rr['type'] == 'event') { if (local_user() && local_user() == $rr['uid'] && $rr['type'] == 'event') {
$edit = ((! $rr['cid']) ? array(App::get_baseurl().'/events/event/'.$rr['id'],t('Edit event'),'','') : null); $edit = ((! $rr['cid']) ? array(App::get_baseurl() . '/events/event/' . $rr['id'], t('Edit event'), '', '') : null);
$drop = array(App::get_baseurl().'/events/drop/'.$rr['id'],t('Delete event'),'',''); $drop = array(App::get_baseurl() . '/events/drop/' . $rr['id'], t('Delete event'), '', '');
} }
$title = strip_tags(html_entity_decode(bbcode($rr['summary']),ENT_QUOTES,'UTF-8')); $title = strip_tags(html_entity_decode(bbcode($rr['summary']), ENT_QUOTES, 'UTF-8'));
if(! $title) { if (! $title) {
list($title, $_trash) = explode("<br",bbcode($rr['desc']),2); list($title, $_trash) = explode("<br", bbcode($rr['desc']), 2);
$title = strip_tags(html_entity_decode($title,ENT_QUOTES,'UTF-8')); $title = strip_tags(html_entity_decode($title, ENT_QUOTES, 'UTF-8'));
} }
$html = format_event_html($rr); $html = format_event_html($rr);
@ -643,7 +643,7 @@ function process_events($arr) {
'is_first'=>$is_first, 'is_first'=>$is_first,
'item'=>$rr, 'item'=>$rr,
'html'=>$html, 'html'=>$html,
'plink' => array($rr['plink'],t('link to source'),'',''), 'plink' => array($rr['plink'], t('link to source'), '', ''),
); );
} }
} }

View file

@ -1,12 +1,12 @@
<?php <?php
/** /**
* @fiel mod/events.php * @file mod/events.php
* @brief The events module * @brief The events module
*/ */
require_once('include/bbcode.php'); require_once 'include/bbcode.php';
require_once('include/datetime.php'); require_once 'include/datetime.php';
require_once('include/event.php'); require_once 'include/event.php';
require_once('include/items.php'); require_once 'include/items.php';
function events_init(App $a) { function events_init(App $a) {
if (! local_user()) { if (! local_user()) {
@ -16,8 +16,9 @@ function events_init(App $a) {
if ($a->argc == 1) { if ($a->argc == 1) {
// if it's a json request abort here becaus we don't // if it's a json request abort here becaus we don't
// need the widget data // need the widget data
if ($a->argv[1] === 'json') if ($a->argv[1] === 'json') {
return; return;
}
$cal_widget = widget_events(); $cal_widget = widget_events();
@ -39,11 +40,11 @@ function events_post(App $a) {
return; return;
} }
$event_id = ((x($_POST,'event_id')) ? intval($_POST['event_id']) : 0); $event_id = ((x($_POST, 'event_id')) ? intval($_POST['event_id']) : 0);
$cid = ((x($_POST,'cid')) ? intval($_POST['cid']) : 0); $cid = ((x($_POST, 'cid')) ? intval($_POST['cid']) : 0);
$uid = local_user(); $uid = local_user();
$start_text = escape_tags($_REQUEST['start_text']); $start_text = escape_tags($_REQUEST['start_text']);
$finish_text = escape_tags($_REQUEST['finish_text']); $finish_text = escape_tags($_REQUEST['finish_text']);
$adjust = intval($_POST['adjust']); $adjust = intval($_POST['adjust']);
@ -69,9 +70,9 @@ function events_post(App $a) {
} }
if ($adjust) { if ($adjust) {
$start = datetime_convert(date_default_timezone_get(), 'UTC',$start); $start = datetime_convert(date_default_timezone_get(), 'UTC', $start);
if (! $nofinish) { if (! $nofinish) {
$finish = datetime_convert(date_default_timezone_get(), 'UTC',$finish); $finish = datetime_convert(date_default_timezone_get(), 'UTC', $finish);
} }
} else { } else {
$start = datetime_convert('UTC', 'UTC', $start); $start = datetime_convert('UTC', 'UTC', $start);
@ -94,18 +95,18 @@ function events_post(App $a) {
$onerror_url = App::get_baseurl() . "/events/" . $action . "?summary=$summary&description=$desc&location=$location&start=$start_text&finish=$finish_text&adjust=$adjust&nofinish=$nofinish"; $onerror_url = App::get_baseurl() . "/events/" . $action . "?summary=$summary&description=$desc&location=$location&start=$start_text&finish=$finish_text&adjust=$adjust&nofinish=$nofinish";
if (strcmp($finish, $start) < 0 && !$nofinish) { if (strcmp($finish, $start) < 0 && !$nofinish) {
notice( t('Event can not end before it has started.') . EOL); notice(t('Event can not end before it has started.') . EOL);
if (intval($_REQUEST['preview'])) { if (intval($_REQUEST['preview'])) {
echo( t('Event can not end before it has started.')); echo t('Event can not end before it has started.');
killme(); killme();
} }
goaway($onerror_url); goaway($onerror_url);
} }
if ((! $summary) || (! $start)) { if ((! $summary) || (! $start)) {
notice( t('Event title and start time are required.') . EOL); notice(t('Event title and start time are required.') . EOL);
if (intval($_REQUEST['preview'])) { if (intval($_REQUEST['preview'])) {
echo( t('Event title and start time are required.')); echo t('Event title and start time are required.');
killme(); killme();
} }
goaway($onerror_url); goaway($onerror_url);
@ -130,7 +131,7 @@ function events_post(App $a) {
$str_contact_deny = perms2str($_POST['contact_deny']); $str_contact_deny = perms2str($_POST['contact_deny']);
// Undo the pseudo-contact of self, since there are real contacts now // Undo the pseudo-contact of self, since there are real contacts now
if ( strpos($str_contact_allow, '<' . $self . '>') !== false ) { if (strpos($str_contact_allow, '<' . $self . '>') !== false ) {
$str_contact_allow = str_replace('<' . $self . '>', '', $str_contact_allow); $str_contact_allow = str_replace('<' . $self . '>', '', $str_contact_allow);
} }
// Make sure to set the `private` field as true. This is necessary to // Make sure to set the `private` field as true. This is necessary to
@ -148,25 +149,25 @@ function events_post(App $a) {
$datarray = array(); $datarray = array();
$datarray['guid'] = get_guid(32); $datarray['guid'] = get_guid(32);
$datarray['start'] = $start; $datarray['start'] = $start;
$datarray['finish'] = $finish; $datarray['finish'] = $finish;
$datarray['summary'] = $summary; $datarray['summary'] = $summary;
$datarray['desc'] = $desc; $datarray['desc'] = $desc;
$datarray['location'] = $location; $datarray['location'] = $location;
$datarray['type'] = $type; $datarray['type'] = $type;
$datarray['adjust'] = $adjust; $datarray['adjust'] = $adjust;
$datarray['nofinish'] = $nofinish; $datarray['nofinish'] = $nofinish;
$datarray['uid'] = $uid; $datarray['uid'] = $uid;
$datarray['cid'] = $cid; $datarray['cid'] = $cid;
$datarray['allow_cid'] = $str_contact_allow; $datarray['allow_cid'] = $str_contact_allow;
$datarray['allow_gid'] = $str_group_allow; $datarray['allow_gid'] = $str_group_allow;
$datarray['deny_cid'] = $str_contact_deny; $datarray['deny_cid'] = $str_contact_deny;
$datarray['deny_gid'] = $str_group_deny; $datarray['deny_gid'] = $str_group_deny;
$datarray['private'] = (($private_event) ? 1 : 0); $datarray['private'] = (($private_event) ? 1 : 0);
$datarray['id'] = $event_id; $datarray['id'] = $event_id;
$datarray['created'] = $created; $datarray['created'] = $created;
$datarray['edited'] = $edited; $datarray['edited'] = $edited;
if (intval($_REQUEST['preview'])) { if (intval($_REQUEST['preview'])) {
$html = format_event_html($datarray); $html = format_event_html($datarray);
@ -188,7 +189,7 @@ function events_post(App $a) {
function events_content(App $a) { function events_content(App $a) {
if (! local_user()) { if (! local_user()) {
notice( t('Permission denied.') . EOL); notice(t('Permission denied.') . EOL);
return; return;
} }
@ -232,7 +233,7 @@ function events_content(App $a) {
'$baseurl' => App::get_baseurl(), '$baseurl' => App::get_baseurl(),
)); ));
$o =''; $o = '';
// tabs // tabs
if ($a->theme_events_in_profile) { if ($a->theme_events_in_profile) {
$tabs = profile_tabs($a, true); $tabs = profile_tabs($a, true);
@ -243,7 +244,7 @@ function events_content(App $a) {
$mode = 'view'; $mode = 'view';
$y = 0; $y = 0;
$m = 0; $m = 0;
$ignored = ((x($_REQUEST,'ignored')) ? intval($_REQUEST['ignored']) : 0); $ignored = ((x($_REQUEST, 'ignored')) ? intval($_REQUEST['ignored']) : 0);
if($a->argc > 1) { if($a->argc > 1) {
if ($a->argc > 2 && $a->argv[1] == 'event') { if ($a->argc > 2 && $a->argv[1] == 'event') {
@ -268,7 +269,7 @@ function events_content(App $a) {
// The view mode part is similiar to /mod/cal.php // The view mode part is similiar to /mod/cal.php
if ($mode == 'view') { if ($mode == 'view') {
$thisyear = datetime_convert('UTC', date_default_timezone_get(),'now', 'Y'); $thisyear = datetime_convert('UTC', date_default_timezone_get(), 'now', 'Y');
$thismonth = datetime_convert('UTC', date_default_timezone_get(), 'now', 'm'); $thismonth = datetime_convert('UTC', date_default_timezone_get(), 'now', 'm');
if (! $y) { if (! $y) {
$y = intval($thisyear); $y = intval($thisyear);
@ -307,20 +308,20 @@ function events_content(App $a) {
$finish = sprintf('%d-%d-%d %d:%d:%d', $y, $m, $dim, 23, 59, 59); $finish = sprintf('%d-%d-%d %d:%d:%d', $y, $m, $dim, 23, 59, 59);
if ($a->argv[1] === 'json'){ if ($a->argv[1] === 'json') {
if (x($_GET,'start')) $start = $_GET['start']; if (x($_GET, 'start')) {$start = $_GET['start'];}
if (x($_GET,'end')) $finish = $_GET['end']; if (x($_GET, 'end')) {$finish = $_GET['end'];}
} }
$start = datetime_convert('UTC', 'UTC', $start); $start = datetime_convert('UTC', 'UTC', $start);
$finish = datetime_convert('UTC', 'UTC', $finish); $finish = datetime_convert('UTC', 'UTC', $finish);
$adjust_start = datetime_convert('UTC', date_default_timezone_get(), $start); $adjust_start = datetime_convert('UTC', date_default_timezone_get(), $start);
$adjust_finish = datetime_convert('UTC', date_default_timezone_get(), $finish); $adjust_finish = datetime_convert('UTC', date_default_timezone_get(), $finish);
// put the event parametes in an array so we can better transmit them // put the event parametes in an array so we can better transmit them
$event_params = array( $event_params = array(
'event_id' => (x($_GET,'id') ? $_GET["id"] : 0), 'event_id' => (x($_GET, 'id') ? $_GET['id'] : 0),
'start' => $start, 'start' => $start,
'finish' => $finish, 'finish' => $finish,
'adjust_start' => $adjust_start, 'adjust_start' => $adjust_start,
@ -329,7 +330,7 @@ function events_content(App $a) {
); );
// get events by id or by date // get events by id or by date
if (x($_GET,'id')){ if (x($_GET, 'id')){
$r = event_by_id(local_user(), $event_params); $r = event_by_id(local_user(), $event_params);
} else { } else {
$r = events_by_date(local_user(), $event_params); $r = events_by_date(local_user(), $event_params);
@ -360,33 +361,33 @@ function events_content(App $a) {
killme(); killme();
} }
if (x($_GET,'id')){ if (x($_GET, 'id')){
$tpl = get_markup_template("event.tpl"); $tpl = get_markup_template("event.tpl");
} else { } else {
$tpl = get_markup_template("events_js.tpl"); $tpl = get_markup_template("events_js.tpl");
} }
// Get rid of dashes in key names, Smarty3 can't handle them // Get rid of dashes in key names, Smarty3 can't handle them
foreach($events as $key => $event) { foreach ($events as $key => $event) {
$event_item = array(); $event_item = array();
foreach($event['item'] as $k => $v) { foreach ($event['item'] as $k => $v) {
$k = str_replace('-','_',$k); $k = str_replace('-' ,'_', $k);
$event_item[$k] = $v; $event_item[$k] = $v;
} }
$events[$key]['item'] = $event_item; $events[$key]['item'] = $event_item;
} }
$o = replace_macros($tpl, array( $o = replace_macros($tpl, array(
'$baseurl' => App::get_baseurl(), '$baseurl' => App::get_baseurl(),
'$tabs' => $tabs, '$tabs' => $tabs,
'$title' => t('Events'), '$title' => t('Events'),
'$view' => t('View'), '$view' => t('View'),
'$new_event' => array(App::get_baseurl() . '/events/new', t('Create New Event'), '', ''), '$new_event' => array(App::get_baseurl() . '/events/new', t('Create New Event'), '', ''),
'$previous' => array(App::get_baseurl() . '/events/$prevyear/$prevmonth', t('Previous'), '', ''), '$previous' => array(App::get_baseurl() . '/events/$prevyear/$prevmonth', t('Previous'), '', ''),
'$next' => array(App::get_baseurl() . '/events/$nextyear/$nextmonth', t('Next'), '', ''), '$next' => array(App::get_baseurl() . '/events/$nextyear/$nextmonth', t('Next'), '', ''),
'$calendar' => cal($y, $m, $links, ' eventcal'), '$calendar' => cal($y, $m, $links, ' eventcal'),
'$events' => $events, '$events' => $events,
'$today' => t('today'), '$today' => t('today'),
'$month' => t('month'), '$month' => t('month'),
@ -395,14 +396,12 @@ function events_content(App $a) {
'$list' => t('list'), '$list' => t('list'),
)); ));
if (x($_GET,'id')) { if (x($_GET, 'id')) {
echo $o; echo $o;
killme(); killme();
} }
return $o; return $o;
} }
if ($mode === 'edit' && $event_id) { if ($mode === 'edit' && $event_id) {
@ -410,39 +409,41 @@ function events_content(App $a) {
intval($event_id), intval($event_id),
intval(local_user()) intval(local_user())
); );
if (dbm::is_result($r)) if (dbm::is_result($r)) {
$orig_event = $r[0]; $orig_event = $r[0];
}
} }
// Passed parameters overrides anything found in the DB // Passed parameters overrides anything found in the DB
if ($mode === 'edit' || $mode === 'new') { if ($mode === 'edit' || $mode === 'new') {
if (!x($orig_event)) $orig_event = array(); if (!x($orig_event)) {$orig_event = array();}
// In case of an error the browser is redirected back here, with these parameters filled in with the previous values // In case of an error the browser is redirected back here, with these parameters filled in with the previous values
if (x($_REQUEST,'nofinish')) $orig_event['nofinish'] = $_REQUEST['nofinish']; if (x($_REQUEST, 'nofinish')) {$orig_event['nofinish'] = $_REQUEST['nofinish'];}
if (x($_REQUEST,'adjust')) $orig_event['adjust'] = $_REQUEST['adjust']; if (x($_REQUEST, 'adjust')) {$orig_event['adjust'] = $_REQUEST['adjust'];}
if (x($_REQUEST,'summary')) $orig_event['summary'] = $_REQUEST['summary']; if (x($_REQUEST, 'summary')) {$orig_event['summary'] = $_REQUEST['summary'];}
if (x($_REQUEST,'description')) $orig_event['description'] = $_REQUEST['description']; if (x($_REQUEST, 'description')) {$orig_event['description'] = $_REQUEST['description'];}
if (x($_REQUEST,'location')) $orig_event['location'] = $_REQUEST['location']; if (x($_REQUEST, 'location')) {$orig_event['location'] = $_REQUEST['location'];}
if (x($_REQUEST,'start')) $orig_event['start'] = $_REQUEST['start']; if (x($_REQUEST, 'start')) {$orig_event['start'] = $_REQUEST['start'];}
if (x($_REQUEST,'finish')) $orig_event['finish'] = $_REQUEST['finish']; if (x($_REQUEST, 'finish')) {$orig_event['finish'] = $_REQUEST['finish'];}
} }
if($mode === 'edit' || $mode === 'new') { if ($mode === 'edit' || $mode === 'new') {
$n_checked = ((x($orig_event) && $orig_event['nofinish']) ? ' checked="checked" ' : ''); $n_checked = ((x($orig_event) && $orig_event['nofinish']) ? ' checked="checked" ' : '');
$a_checked = ((x($orig_event) && $orig_event['adjust']) ? ' checked="checked" ' : ''); $a_checked = ((x($orig_event) && $orig_event['adjust']) ? ' checked="checked" ' : '');
$t_orig = ((x($orig_event)) ? $orig_event['summary'] : '');
$d_orig = ((x($orig_event)) ? $orig_event['desc'] : ''); $t_orig = ((x($orig_event)) ? $orig_event['summary'] : '');
$d_orig = ((x($orig_event)) ? $orig_event['desc'] : '');
$l_orig = ((x($orig_event)) ? $orig_event['location'] : ''); $l_orig = ((x($orig_event)) ? $orig_event['location'] : '');
$eid = ((x($orig_event)) ? $orig_event['id'] : 0); $eid = ((x($orig_event)) ? $orig_event['id'] : 0);
$cid = ((x($orig_event)) ? $orig_event['cid'] : 0); $cid = ((x($orig_event)) ? $orig_event['cid'] : 0);
$uri = ((x($orig_event)) ? $orig_event['uri'] : ''); $uri = ((x($orig_event)) ? $orig_event['uri'] : '');
if (! x($orig_event)) { if (! x($orig_event)) {
$sh_checked = ''; $sh_checked = '';
} else { } else {
$sh_checked = (($orig_event['allow_cid'] === '<' . local_user() . '>' && (! $orig_event['allow_gid']) && (! $orig_event['deny_cid']) && (! $orig_event['deny_gid'])) ? '' : ' checked="checked" ' ); $sh_checked = (($orig_event['allow_cid'] === '<' . local_user() . '>' && (! $orig_event['allow_gid']) && (! $orig_event['deny_cid']) && (! $orig_event['deny_gid'])) ? '' : ' checked="checked" ');
} }
if ($cid OR ($mode !== 'new')) { if ($cid OR ($mode !== 'new')) {
@ -458,18 +459,18 @@ function events_content(App $a) {
$tz = (($orig_event['adjust']) ? date_default_timezone_get() : 'UTC'); $tz = (($orig_event['adjust']) ? date_default_timezone_get() : 'UTC');
} }
$syear = datetime_convert('UTC', $tz, $sdt, 'Y'); $syear = datetime_convert('UTC', $tz, $sdt, 'Y');
$smonth = datetime_convert('UTC', $tz, $sdt, 'm'); $smonth = datetime_convert('UTC', $tz, $sdt, 'm');
$sday = datetime_convert('UTC', $tz, $sdt, 'd'); $sday = datetime_convert('UTC', $tz, $sdt, 'd');
$shour = ((x($orig_event)) ? datetime_convert('UTC', $tz, $sdt, 'H') : 0); $shour = ((x($orig_event)) ? datetime_convert('UTC', $tz, $sdt, 'H') : 0);
$sminute = ((x($orig_event)) ? datetime_convert('UTC', $tz, $sdt, 'i') : 0); $sminute = ((x($orig_event)) ? datetime_convert('UTC', $tz, $sdt, 'i') : 0);
$fyear = datetime_convert('UTC', $tz, $fdt, 'Y'); $fyear = datetime_convert('UTC', $tz, $fdt, 'Y');
$fmonth = datetime_convert('UTC', $tz, $fdt, 'm'); $fmonth = datetime_convert('UTC', $tz, $fdt, 'm');
$fday = datetime_convert('UTC', $tz, $fdt, 'd'); $fday = datetime_convert('UTC', $tz, $fdt, 'd');
$fhour = ((x($orig_event)) ? datetime_convert('UTC', $tz, $fdt, 'H') : 0); $fhour = ((x($orig_event)) ? datetime_convert('UTC', $tz, $fdt, 'H') : 0);
$fminute = ((x($orig_event)) ? datetime_convert('UTC', $tz, $fdt, 'i') : 0); $fminute = ((x($orig_event)) ? datetime_convert('UTC', $tz, $fdt, 'i') : 0);
$f = get_config('system','event_input_format'); $f = get_config('system','event_input_format');
@ -477,7 +478,7 @@ function events_content(App $a) {
$f = 'ymd'; $f = 'ymd';
} }
require_once('include/acl_selectors.php'); require_once 'include/acl_selectors.php' ;
if ($mode === 'new') { if ($mode === 'new') {
$acl = (($cid) ? '' : populate_acl(((x($orig_event)) ? $orig_event : $a->user))); $acl = (($cid) ? '' : populate_acl(((x($orig_event)) ? $orig_event : $a->user)));
@ -529,8 +530,8 @@ function events_content(App $a) {
if ($mode === 'drop' && $event_id) { if ($mode === 'drop' && $event_id) {
$del = 0; $del = 0;
$event_params = array('event_id' => ($event_id)); $params = array('event_id' => ($event_id));
$ev = event_by_id(local_user(), $event_params); $ev = event_by_id(local_user(), $params);
// Delete only real events (no birthdays) // Delete only real events (no birthdays)
if (dbm::is_result($ev) && $ev[0]['type'] == 'event') { if (dbm::is_result($ev) && $ev[0]['type'] == 'event') {
@ -538,12 +539,11 @@ function events_content(App $a) {
} }
if ($del == 0) { if ($del == 0) {
notice( t('Failed to remove event' ) . EOL); notice(t('Failed to remove event' ) . EOL);
} else { } else {
info( t('Event removed') . EOL); info(t('Event removed') . EOL);
} }
goaway(App::get_baseurl() . '/events'); goaway(App::get_baseurl() . '/events');
} }
} }