=& $vbulletin->GPC['title']; $vbulletin->userinfo['username'] = unhtmlspecialchars($vbulletin->userinfo['username']); //for emails require_once(DIR . '/includes/class_bbcode_alt.php'); $plaintext_parser =& new vB_BbCodeParser_PlainText($vbulletin, fetch_tag_list()); $plaintext_parser->set_parsing_language(0); // email addresses don't have a language ID $eventmessage = $plaintext_parser->parse($message, 'calendar'); foreach ($calemails AS $index => $toemail) { if (trim($toemail)) { eval(fetch_email_phrases('newevent', 0)); vbmail($toemail, $subject, $message, true); } } } ($hook = vBulletinHook::fetch_hook('calendar_update_complete')) ? eval($hook) : false; if ($visible) { $vbulletin->url = 'calendar.php?' . $vbulletin->session->vars['sessionurl'] . "do=getinfo&e=$eventid&day=" . $eventdata->info['occurdate']; eval(print_standard_redirect('redirect_calendaraddevent')); } else { $vbulletin->url = 'calendar.php?' . $vbulletin->session->vars['sessionurl'] . "c=$calendarinfo[calendarid]"; eval(print_standard_redirect('redirect_calendarmoderated', true, true)); } } else { // Update event $eventdata->set_existing($eventinfo); $eventdata->save(); ($hook = vBulletinHook::fetch_hook('calendar_update_complete')) ? eval($hook) : false; $vbulletin->url = 'calendar.php?' . $vbulletin->session->vars['sessionurl'] . "do=getinfo&e=$eventinfo[eventid]&day=" . $eventdata->info['occurdate']; eval(print_standard_redirect('redirect_calendarupdateevent')); } } // ############################################################################ // ######################## DELETE EVENT REMINDER ############################# // ############################################################################ if ($_REQUEST['do'] == 'deletereminder') { if (!$vbulletin->userinfo['userid']) { print_no_permission(); } if (!$eventinfo['eventid']) { eval(standard_error(fetch_error('invalidid', $idname, $vbulletin->options['contactuslink']))); } ($hook = vBulletinHook::fetch_hook('calendar_deletereminder')) ? eval($hook) : false; $db->query_write(" DELETE FROM " . TABLE_PREFIX . "subscribeevent WHERE userid = " . $vbulletin->userinfo['userid'] . " AND eventid = $eventinfo[eventid] "); $vbulletin->url = 'calendar.php?' . $vbulletin->session->vars['sessionurl'] . "do=getinfo&e=$eventinfo[eventid]"; eval(print_standard_redirect('redirect_subsremove_event', true, true)); } // ############################################################################ // ######################## DELETE EVENT REMINDERS ############################ // ############################################################################ if ($_POST['do'] == 'dostuff') { if (!$vbulletin->userinfo['userid']) { print_no_permission(); } $vbulletin->input->clean_array_gpc('p', array( 'deletebox' => TYPE_ARRAY_BOOL, 'what' => TYPE_STR, 'calendarid' => TYPE_UINT, )); if (empty($vbulletin->GPC['deletebox'])) { eval(standard_error(fetch_error('eventsnoselected'))); } $vbulletin->url = 'calendar.php?' . $vbulletin->session->vars['sessionurl'] . "do=viewreminder" . (!empty($vbulletin->GPC['calendarid']) ? '&c=' . $vbulletin->GPC['calendarid'] : ''); $ids = ''; foreach ($vbulletin->GPC['deletebox'] AS $id => $value) { if ($id = intval($id)) { $ids .= ",$id"; } } ($hook = vBulletinHook::fetch_hook('calendar_dostuff')) ? eval($hook) : false; if (!empty($ids)) { if ($vbulletin->GPC['what'] == 'delete') { $db->query_write(" DELETE FROM " . TABLE_PREFIX . "subscribeevent WHERE subscribeeventid IN (-1$ids) AND userid = " . $vbulletin->userinfo['userid'] ); eval(print_standard_redirect('redirect_reminderdeleted')); } else { if (!empty($reminders["{$vbulletin->GPC['what']}"])) { # make sure the supplied integer is a valid one $db->query_write(" UPDATE " . TABLE_PREFIX . "subscribeevent SET reminder = " . intval($vbulletin->GPC['what']) . " WHERE subscribeeventid IN (-1$ids) AND userid = " . $vbulletin->userinfo['userid'] ); } eval(print_standard_redirect('redirect_reminderupdated')); } } } // ############################################################################ // ######################## MANAGE EVENT REMINDERS ############################ // ############################################################################ if ($_REQUEST['do'] == 'viewreminder') { if (!$vbulletin->userinfo['userid']) { print_no_permission(); } $vbulletin->input->clean_array_gpc('r', array( 'perpage' => TYPE_UINT, 'pagenumber' => TYPE_UINT, 'sortfield' => TYPE_NOHTML, 'sortorder' => TYPE_NOHTML, )); ($hook = vBulletinHook::fetch_hook('calendar_viewreminder_start')) ? eval($hook) : false; // These $_REQUEST values will get used in the sort template so they are assigned to normal variables $perpage =& $vbulletin->GPC['perpage']; $pagenumber =& $vbulletin->GPC['pagenumber']; $sortfield =& $vbulletin->GPC['sortfield']; $sortorder =& $vbulletin->GPC['sortorder']; $calendarid =& $vbulletin->GPC['calendarid']; // look at sorting options: if ($sortorder != 'asc') { $sortorder = 'desc'; } switch ($sortfield) { case 'username': $sqlsortfield = 'user.username'; break; case 'reminder': $sqlsortfield = 'subscribeevent.reminder'; break; case 'title': $sqlsortfield = 'event.' . $sortfield; break; default: $sqlsortfield = 'event.dateline_from'; $sortfield = 'fromdate'; } $eventcount = $db->query_first_slave(" SELECT COUNT(*) AS events FROM " . TABLE_PREFIX . "subscribeevent AS subscribeevent LEFT JOIN " . TABLE_PREFIX . "event AS event ON (subscribeevent.eventid = event.eventid) WHERE subscribeevent.userid = " . $vbulletin->userinfo['userid'] . " AND event.visible = 1 "); $totalevents = intval($eventcount['events']); // really stupid mysql bug sanitize_pageresults($totalevents, $pagenumber, $perpage, 200, $vbulletin->options['maxthreads']); $limitlower = ($pagenumber - 1) * $perpage + 1; $limitupper = ($pagenumber) * $perpage; if ($limitupper > $totalevents) { $limitupper = $totalevents; if ($limitlower > $totalevents) { $limitlower = $totalevents - $perpage; } } if ($limitlower <= 0) { $limitlower = 1; } $getevents = $db->query_read_slave(" SELECT event.*, IF(dateline_to = 0, 1, 0) AS singleday, user.username, subscribeevent.reminder, subscribeevent.subscribeeventid FROM " . TABLE_PREFIX . "subscribeevent AS subscribeevent LEFT JOIN " . TABLE_PREFIX . "event AS event ON (subscribeevent.eventid = event.eventid) LEFT JOIN " . TABLE_PREFIX . "user AS user ON (event.userid = user.userid) WHERE subscribeevent.userid = " . $vbulletin->userinfo['userid'] . " AND event.visible = 1 ORDER BY $sqlsortfield $sortorder "); if ($totalevents = $db->num_rows($getevents)) { $show['haveevents'] = true; while ($event = $db->fetch_array($getevents)) { if (empty($reminders["{$event['reminder']}"])) { $event['reminder'] = 3600; } $event['reminder'] = $vbphrase[$reminders[$event['reminder']]]; $offset = $event['dst'] ? $vbulletin->userinfo['timezoneoffset'] : $vbulletin->userinfo['tzoffset']; $event['dateline_from_user'] = $event['dateline_from'] + $offset * 3600; $event['dateline_to_user'] = $event['dateline_to'] + $offset * 3600; $event['preview'] = htmlspecialchars_uni(strip_bbcode(fetch_trimmed_title(strip_quotes($event['event']), 300), false, true)); $event = fetch_event_date_time($event); $event['calendar'] = $calendarcache["$event[calendarid]"]; $show['singleday'] = !empty($event['singleday']) ? true : false; ($hook = vBulletinHook::fetch_hook('calendar_viewreminder_event')) ? eval($hook) : false; eval('$eventbits .= "' . fetch_template('calendar_reminder_eventbit') . '";'); } $db->free_result($getevents); $sorturl = 'calendar.php?' . $vbulletin->session->vars['sessionurl'] . "do=viewreminder&pp=$perpage"; $pagenav = construct_page_nav($pagenumber, $perpage, $totalevents, $sorturl . "&sort=$sortfield" . (!empty($sortorder) ? "&order=$sortorder" : "")); $oppositesort = ($sortorder == 'asc' ? 'desc' : 'asc'); eval('$sortarrow[' . $sortfield . '] = "' . fetch_template('forumdisplay_sortarrow') . '";'); } else { $show['haveevents'] = false; } array_pop($navbits); $navbits[''] = $vbphrase['event_reminders']; $navbits = construct_navbits($navbits); // build the cp nav require_once(DIR . '/includes/functions_user.php'); construct_usercp_nav('event_reminders'); ($hook = vBulletinHook::fetch_hook('calendar_viewreminder_complete')) ? eval($hook) : false; eval('$navbar = "' . fetch_template('navbar') . '";'); eval('$HTML = "' . fetch_template('CALENDAR_REMINDER') . '";'); eval('print_output("' . fetch_template('USERCP_SHELL') . '");'); } // ############################################################################ // ######################### ADD EVENT REMINDER ############################### // ############################################################################ if ($_POST['do'] == 'doaddreminder') { $vbulletin->input->clean_array_gpc('p', array( 'reminder' => TYPE_UINT )); if (!$vbulletin->userinfo['userid']) { print_no_permission(); } if (!$eventinfo['eventid']) { eval(standard_error(fetch_error('invalidid', $idname, $vbulletin->options['contactuslink']))); } ($hook = vBulletinHook::fetch_hook('calendar_doaddreminder')) ? eval($hook) : false; /*insert query*/ $db->query_write(" REPLACE INTO " . TABLE_PREFIX . "subscribeevent (userid, eventid, reminder) VALUES (" . $vbulletin->userinfo['userid'] . ", $eventinfo[eventid], " . (!empty($reminders["{$vbulletin->GPC['reminder']}"]) ? $vbulletin->GPC['reminder'] : 3600) . ") "); $vbulletin->url = 'calendar.php?' . $vbulletin->session->vars['sessionurl'] . "do=getinfo&e=$eventinfo[eventid]"; eval(print_standard_redirect('redirect_subsadd_event')); } // ############################### start add subscription ############################### if ($_REQUEST['do'] == 'addreminder') { if (!$vbulletin->userinfo['userid']) { print_no_permission(); } if (!$eventinfo['eventid']) { eval(standard_error(fetch_error('invalidid', $idname, $vbulletin->options['contactuslink']))); } // make title safe for display $eventinfo['title'] = htmlspecialchars_uni($eventinfo['title']); $navbits['calendar.php?' . $vbulletin->session->vars['sessionurl'] . "do=viewreminder"] = $vbphrase['event_reminders']; $navbits[''] = $vbphrase['add_reminder']; $navbits = construct_navbits($navbits); require_once(DIR . '/includes/functions_user.php'); construct_usercp_nav('event_reminders'); eval('$navbar = "' . fetch_template('navbar') . '";'); ($hook = vBulletinHook::fetch_hook('calendar_addreminder')) ? eval($hook) : false; $url =& $vbulletin->url; eval('$HTML = "' . fetch_template('calendar_reminder_choosetype') . '";'); eval('print_output("' . fetch_template('USERCP_SHELL') . '");'); } eval(standard_error(fetch_error('invalidid', $idname, $vbulletin->options['contactuslink']))); /*======================================================================*\ || #################################################################### || # CVS: $RCSfile$ - $Revision: 27399 $ || #################################################################### \*======================================================================*/ ?>