[geeklog-cvs] geeklog-1.3/public_html calendar.php,1.53,1.54
dhaun at iowaoutdoors.org
dhaun at iowaoutdoors.org
Wed Dec 15 15:51:48 EST 2004
Update of /var/cvs/geeklog-1.3/public_html
In directory www:/tmp/cvs-serv22040
Modified Files:
calendar.php
Log Message:
Let (Event) Admins delete events directly from the site calendar's day and week view (just like personal events). Also fixed extra <br> being emitted for events that weren't visible to the current user (bug #268).
Index: calendar.php
===================================================================
RCS file: /var/cvs/geeklog-1.3/public_html/calendar.php,v
retrieving revision 1.53
retrieving revision 1.54
diff -C2 -d -r1.53 -r1.54
*** calendar.php 11 Dec 2004 14:54:48 -0000 1.53
--- calendar.php 15 Dec 2004 20:51:46 -0000 1.54
***************
*** 14,17 ****
--- 14,18 ----
// | Mark Limburg - mlimburg at users.sourceforge.net |
// | Jason Whittenburg - jwhitten at securitygeeks.com |
+ // | Dirk Haun - dirk at haun-online.de |
// +---------------------------------------------------------------------------+
// | |
***************
*** 182,185 ****
--- 183,228 ----
/**
+ * Return link to "delete event" image
+ *
+ * Note: Personal events can be deleted if the current user is the owner of the
+ * calendar and has _read_ access to them.
+ *
+ * @param string $mode 'personal' for personal events
+ * @param array $A event permissions and id
+ * @return string link or empty string
+ *
+ */
+ function getDeleteImageLink ($mode, $A)
+ {
+ global $_CONF, $LANG22, $LANG30;
+
+ $retval = '';
+
+ if ($mode == 'personal') {
+ if (SEC_hasAccess ($A['owner_id'], $A['group_id'], $A['perm_owner'],
+ $A['perm_group'], $A['perm_members'], $A['perm_anon']) > 0) {
+
+ $retval = '<a href="' . $_CONF['site_url']
+ . '/calendar_event.php?action=deleteevent&eid='
+ . $A['eid'] . '"><img src="' . $_CONF['layout_url']
+ . '/images/icons/delete_event.gif" border="0" alt="'
+ . $LANG30[30] . '" title="' . $LANG30[30] . '"></a>';
+ }
+ } else if (SEC_hasRights ('event.edit')) {
+ if (SEC_hasAccess ($A['owner_id'], $A['group_id'], $A['perm_owner'],
+ $A['perm_group'], $A['perm_members'], $A['perm_anon']) == 3) {
+
+ $retval = '<a href="' . $_CONF['site_admin_url']
+ . '/event.php?mode=' . $LANG22[22] . '&eid='
+ . $A['eid'] . '"><img src="' . $_CONF['layout_url']
+ . '/images/icons/delete_event.gif" border="0" alt="'
+ . $LANG30[30] . '" title="' . $LANG30[30] . '"></a>';
+ }
+ }
+
+ return $retval;
+ }
+
+ /**
* Gets a small, text-only version of a calendar
*
***************
*** 301,308 ****
$mode = '';
! if (isset ($HTTP_POST_VARS['mode'])) {
! $mode = COM_applyFilter ($HTTP_POST_VARS['mode']);
! } else if (isset ($HTTP_GET_VARS['mode'])) {
! $mode = COM_applyFilter ($HTTP_GET_VARS['mode']);
}
--- 344,349 ----
$mode = '';
! if (isset ($_REQUEST['mode'])) {
! $mode = COM_applyFilter ($_REQUEST['mode']);
}
***************
*** 318,322 ****
// Set mode back to master if user refreshes screen after their session expires
! if (($_USER['uid'] <= 1) AND $mode == 'personal') {
$mode = '';
}
--- 359,363 ----
// Set mode back to master if user refreshes screen after their session expires
! if (($mode == 'personal') && (!isset ($_USER['uid']) || ($_USER['uid'] <= 1))) {
$mode = '';
}
***************
*** 331,340 ****
}
! if (isset ($HTTP_POST_VARS['msg'])) {
! $msg = COM_applyFilter ($HTTP_POST_VARS['msg'], true);
! } else if (isset ($HTTP_GET_VARS['msg'])) {
! $msg = COM_applyFilter ($HTTP_GET_VARS['msg'], true);
! } else {
! $msg = 0;
}
if ($msg > 0) {
--- 372,381 ----
}
! // after this point, we can safely assume that if $mode == 'personal',
! // the current user is actually allowed to use this personal calendar
!
! $msg = 0;
! if (isset ($_REQUEST['msg'])) {
! $msg = COM_applyFilter ($_REQUEST['msg'], true);
}
if ($msg > 0) {
***************
*** 343,350 ****
$view = '';
! if (isset ($HTTP_POST_VARS['view'])) {
! $view = COM_applyFilter ($HTTP_POST_VARS['view']);
! } else if (isset ($HTTP_GET_VARS['view'])) {
! $view = COM_applyFilter ($HTTP_GET_VARS['view']);
}
--- 384,389 ----
$view = '';
! if (isset ($_REQUEST['view'])) {
! $view = COM_applyFilter ($_REQUEST['view']);
}
***************
*** 353,366 ****
}
! if (isset ($HTTP_POST_VARS['year']) || isset ($HTTP_POST_VARS['month']) ||
! isset ($HTTP_POST_VARS['day'])) {
! $year = COM_applyFilter ($HTTP_POST_VARS['year'], true);
! $month = COM_applyFilter ($HTTP_POST_VARS['month'], true);
! $day = COM_applyFilter ($HTTP_POST_VARS['day'], true);
! } else {
! $year = COM_applyFilter ($HTTP_GET_VARS['year'], true);
! $month = COM_applyFilter ($HTTP_GET_VARS['month'], true);
! $day = COM_applyFilter ($HTTP_GET_VARS['day'], true);
! }
// Create new calendar object
--- 392,398 ----
}
! $year = COM_applyFilter ($_REQUEST['year'], true);
! $month = COM_applyFilter ($_REQUEST['month'], true);
! $day = COM_applyFilter ($_REQUEST['day'], true);
// Create new calendar object
***************
*** 410,414 ****
// Build calendar matrix
! $cal->setCalendarMatrix($month,$year);
switch ($view) {
--- 442,446 ----
// Build calendar matrix
! $cal->setCalendarMatrix ($month, $year);
switch ($view) {
***************
*** 465,473 ****
for ($i = 1; $i <= count ($alldaydata); $i++) {
$A = current($alldaydata);
! if (SEC_hasAccess($A['owner_id'],$A['group_id'],$A['perm_owner'],$A['perm_group'],$A['perm_members'],$A['perm_anon']) > 0 AND $mode == 'personal') {
! $cal_templates->set_var('delete_imagelink','<a href="' . $_CONF['site_url'] . '/calendar_event.php?action=deleteevent&eid=' . $A['eid'] . '"><img alt="' . $LANG30[30] . '" src="' . $_CONF['layout_url'] . '/images/icons/delete_event.gif" border="0"></a>');
! } else {
! $cal_templates->set_var('delete_imagelink','');
! }
$cal_templates->set_var('event_time', $LANG30[26]);
$cal_templates->set_var('eid', $A['eid']);
--- 497,502 ----
for ($i = 1; $i <= count ($alldaydata); $i++) {
$A = current($alldaydata);
! $cal_templates->set_var ('delete_imagelink',
! getDeleteImageLink ($mode, $A));
$cal_templates->set_var('event_time', $LANG30[26]);
$cal_templates->set_var('eid', $A['eid']);
***************
*** 499,509 ****
. strftime ($_CONF['timeonly'], strtotime ($A['dateend']
. ' ' . $A['timeend'])));
! if (SEC_hasAccess ($A['owner_id'], $A['group_id'],
! $A['perm_owner'], $A['perm_group'], $A['perm_members'],
! $A['perm_anon']) > 0 AND $mode == 'personal') {
! $cal_templates->set_var ('delete_imagelink', '<a href="' . $_CONF['site_url'] . '/calendar_event.php?action=deleteevent&eid=' . $A['eid'] . '"><img alt="' . $LANG30[30] . '" src="' . $_CONF['layout_url'] . '/images/icons/delete_event.gif" border="0"></a>');
! } else {
! $cal_templates->set_var('delete_imagelink','');
! }
$cal_templates->set_var('eid', $A['eid']);
$cal_templates->set_var('event_title', stripslashes($A['title']));
--- 528,533 ----
. strftime ($_CONF['timeonly'], strtotime ($A['dateend']
. ' ' . $A['timeend'])));
! $cal_templates->set_var ('delete_imagelink',
! getDeleteImageLink ($mode, $A));
$cal_templates->set_var('eid', $A['eid']);
$cal_templates->set_var('event_title', stripslashes($A['title']));
***************
*** 533,538 ****
$display .= $cal_templates->parse('output', 'dayview');
$display .= COM_siteFooter();
-
break;
case 'week':
$cal_templates = new Template($_CONF['path_layout'] . 'calendar');
--- 557,562 ----
$display .= $cal_templates->parse('output', 'dayview');
$display .= COM_siteFooter();
break;
+
case 'week':
$cal_templates = new Template($_CONF['path_layout'] . 'calendar');
***************
*** 547,555 ****
} else {
$cal_templates->set_var('calendar_title', $_CONF['site_name'] . ' ' . $LANG30[29]);
! if (!empty($_USER['uid']) AND $_CONF['personalcalendars'] == 1) {
$cal_templates->set_var('calendar_toggle', '[<a href="' . $_CONF['site_url'] . "/calendar.php?mode=personal&view=week&month=$month&day=$day&year=$year\">" . $LANG30[12] . '</a>]');
! } else {
$cal_templates->set_var('calendar_toggle', '');
! }
}
if ($mode == 'personal') {
--- 571,579 ----
} else {
$cal_templates->set_var('calendar_title', $_CONF['site_name'] . ' ' . $LANG30[29]);
! if (!empty($_USER['uid']) AND $_CONF['personalcalendars'] == 1) {
$cal_templates->set_var('calendar_toggle', '[<a href="' . $_CONF['site_url'] . "/calendar.php?mode=personal&view=week&month=$month&day=$day&year=$year\">" . $LANG30[12] . '</a>]');
! } else {
$cal_templates->set_var('calendar_toggle', '');
! }
}
if ($mode == 'personal') {
***************
*** 666,676 ****
. '</a>');
// Provide delete event link if user has access
! if (SEC_hasAccess($A['owner_id'],$A['group_id'],$A['perm_owner'],$A['perm_group'],$A['perm_members'],$A['perm_anon']) == 3 AND $mode == 'personal') {
! $cal_templates->set_var('delete_imagelink','<a href="' . $_CONF['site_url'] . '/calendar_event.php?action=deleteevent&eid=' . $A['eid'] . '"><img alt="' . $LANG30[30] . '" border="0" src="' . $_CONF['layout_url'] . '/images/icons/delete_event.gif"></a>');
! } else {
! $cal_templates->set_var('delete_imagelink','');
! }
! $cal_templates->parse('events_day'.$i,'events',true);
!
}
if ($nrows == 0) {
--- 690,696 ----
. '</a>');
// Provide delete event link if user has access
! $cal_templates->set_var ('delete_imagelink',
! getDeleteImageLink ($mode, $A));
! $cal_templates->parse ('events_day' . $i, 'events', true);
}
if ($nrows == 0) {
***************
*** 688,701 ****
$display .= COM_siteFooter();
break;
! default:
// Load templates
$cal_templates = new Template($_CONF['path_layout'] . 'calendar');
! $cal_templates->set_file(array('calendar'=>'calendar.thtml',
! 'week' => 'calendarweek.thtml',
! 'day' => 'calendarday.thtml',
! 'event' => 'calendarevent.thtml',
! 'mastercal'=>'mastercalendaroption.thtml',
! 'personalcal'=>'personalcalendaroption.thtml',
! 'addevent'=>'addeventoption.thtml'));
$cal_templates->set_var ('site_url', $_CONF['site_url']);
--- 708,724 ----
$display .= COM_siteFooter();
break;
!
! default: // month view
// Load templates
$cal_templates = new Template($_CONF['path_layout'] . 'calendar');
! $cal_templates->set_file (array (
! 'calendar' => 'calendar.thtml',
! 'week' => 'calendarweek.thtml',
! 'day' => 'calendarday.thtml',
! 'event' => 'calendarevent.thtml',
! 'mastercal' => 'mastercalendaroption.thtml',
! 'personalcal' => 'personalcalendaroption.thtml',
! 'addevent' => 'addeventoption.thtml'
! ));
$cal_templates->set_var ('site_url', $_CONF['site_url']);
***************
*** 831,835 ****
$month = '0' . $month;
}
! $calsql = "SELECT * FROM {$_TABLES['events']} WHERE (datestart >= \"$year-$month-$curday->daynumber 00:00:00\" AND datestart <= \"$year-$month-$curday->daynumber 23:59:59\") OR (dateend >= \"$year-$month-$curday->daynumber 00:00:00\" AND dateend <= \"$year-$month-$curday->daynumber 23:59:59\") OR (\"$year-$month-$curday->daynumber\" between datestart and dateend) ORDER BY datestart,timestart";
}
--- 854,858 ----
$month = '0' . $month;
}
! $calsql = "SELECT * FROM {$_TABLES['events']} WHERE ((datestart >= \"$year-$month-$curday->daynumber 00:00:00\" AND datestart <= \"$year-$month-$curday->daynumber 23:59:59\") OR (dateend >= \"$year-$month-$curday->daynumber 00:00:00\" AND dateend <= \"$year-$month-$curday->daynumber 23:59:59\") OR (\"$year-$month-$curday->daynumber\" between datestart and dateend))" . COM_getPermSql ('AND') . " ORDER BY datestart,timestart";
}
***************
*** 840,854 ****
$entries = '';
for ($z = 1; $z <= $q2_numrows; $z++) {
! $results = DB_fetchArray($query2);
! if (SEC_hasAccess($results['owner_id'],$results['group_id'],$results['perm_owner'],$results['perm_group'],$results['perm_members'],$results['perm_anon']) > 0) {
! if ($results['title']) {
! $cal_templates->set_var('cal_day_entries','');
! $entries .= '<a href="' . $_CONF['site_url']
! . '/calendar_event.php?' . addMode ($mode)
! . 'eid=' . $results['eid']
! . '" class="cal-event">'
! . stripslashes ($results['title']) . '</a><hr>';
! }
! }
}
for ($z = $z; $z <= 4; $z++) {
--- 863,874 ----
$entries = '';
for ($z = 1; $z <= $q2_numrows; $z++) {
! $results = DB_fetchArray ($query2);
! if ($results['title']) {
! $cal_templates->set_var ('cal_day_entries', '');
! $entries .= '<a href="' . $_CONF['site_url']
! . '/calendar_event.php?' . addMode ($mode)
! . 'eid=' . $results['eid'] . '" class="cal-event">'
! . stripslashes ($results['title']) . '</a><hr>';
! }
}
for ($z = $z; $z <= 4; $z++) {
***************
*** 881,885 ****
$j = 8;
} else {
! // Print empty box for any day in the first week that occur before the first day
$cal_templates->set_var('cal_day_style','cal-nullday');
$cal_templates->set_var('cal_day_anchortags', '');
--- 901,906 ----
$j = 8;
} else {
! // Print empty box for any days in the first week that occur
! // before the first day
$cal_templates->set_var('cal_day_style','cal-nullday');
$cal_templates->set_var('cal_day_anchortags', '');
More information about the geeklog-cvs
mailing list