/** * @desc Deletes all events relating to the wwassignment passed in. * @param $wwassignmentid integer The wwassignment ID. * @return integer 0 on success */ function _wwassignment_delete_events($wwassignment) { $wwassignmentid = $wwassignment->id; if ($events = get_records_select('event', "modulename = 'wwassignment' and instance = '{$wwassignmentid}'")) { foreach ($events as $event) { // error_log("deleting event ".$event->id); delete_event($event->id); } } return 0; }
function certificate_delete_instance($id) { if (!($certificate = get_record('certificate', 'id', $id))) { return false; } $result = true; delete_records('certificate_issues', 'certificateid', $certificate->id); if (!delete_records('certificate', 'id', $certificate->id)) { $result = false; } if ($events = get_records_select('event', "modulename = 'certificate' and instance = '{$certificate->id}'")) { foreach ($events as $event) { delete_event($event->id); } } return $result; }
session_start(); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <?php include 'header.php'; if (isset($_POST['addBook'])) { add_book(); } elseif (isset($_POST['deleteBook'])) { delete_book(); } elseif (isset($_POST['addEvent'])) { add_event(); } elseif (isset($_POST['deleteEvent'])) { delete_event(); } elseif (isset($_POST['uploadNewsletter'])) { upload_newsletter(); } elseif (isset($_POST['deleteNewsletter'])) { delete_newsletter(); } elseif (isset($_POST['uploadReport'])) { upload_report(); } elseif (isset($_POST['deleteReport'])) { delete_report(); } else { echo "Error: Please submit changes to the site first."; } // TODO: If logged_user is the admin user, then this page will be available as a link // TODO: Add following forms: // ADD/DELETE Books/Events Form // Upload Newsletter form
function delete_course_module($id) { global $CFG; require_once $CFG->libdir . '/gradelib.php'; if (!($cm = get_record('course_modules', 'id', $id))) { return true; } $modulename = get_field('modules', 'name', 'id', $cm->module); //delete events from calendar if ($events = get_records_select('event', "instance = '{$cm->instance}' AND modulename = '{$modulename}'")) { foreach ($events as $event) { delete_event($event->id); } } //delete grade items, outcome items and grades attached to modules if ($grade_items = grade_item::fetch_all(array('itemtype' => 'mod', 'itemmodule' => $modulename, 'iteminstance' => $cm->instance, 'courseid' => $cm->course))) { foreach ($grade_items as $grade_item) { $grade_item->delete('moddelete'); } } delete_context(CONTEXT_MODULE, $cm->id); return delete_records('course_modules', 'id', $cm->id); }
public static function delete_recursive_event($eventid, $eventtype) { global $langNotValidInput; $rec_eventid = Database::get()->query('SELECT source_event_id FROM personal_calendar WHERE id=?d', $eventid); if ($rec_eventid) { return delete_event($rec_eventid, $eventtype, true); } else { return array('success' => false, 'message' => $langNotValidInput); } }
$event['description'] = $_POST['desc']; $event['subject'] = $_POST['subject']; $_REQUEST['action'] = 'modify'; } } } else { if ($_REQUEST['action'] == 'submit_delete') { if (delete_event_slot($_SESSION['valid_user'], $event['event_id'], $_REQUEST['date_time'])) { $page_info_message = "Time slot deleted successfully!"; } else { $page_error_message = "Event time slot could not be deleted. Please try again."; } $_REQUEST['action'] = 'delete'; } else { if ($_REQUEST['action'] == 'delete_event') { if (delete_event($_SESSION['valid_user'], $event['event_id'])) { $page_info_message = "Event deleted successfully!"; $page_error_message = "No event to display."; } else { $page_error_message = "Event time slot could not be deleted. Please try again."; $_REQUEST['action'] = 'delete'; } } } } } // end of if event_id if (!empty($_REQUEST['page_info_message'])) { $page_info_message = $_REQUEST['page_info_message']; } $page_title = 'Booking Calendar - Event Details';
/** * Delete event * * Delete event for this model, assumes we have a serial_number * **/ public function delete_event() { delete_event($this->serial_number, $this->tablename); }
/** * Delete a course module and any associated data at the course level (events) * Until 1.5 this function simply marked a deleted flag ... now it * deletes it completely. * */ function delete_course_module($id) { global $CFG, $DB; require_once $CFG->libdir . '/gradelib.php'; require_once $CFG->dirroot . '/blog/lib.php'; if (!($cm = $DB->get_record('course_modules', array('id' => $id)))) { return true; } $modulename = $DB->get_field('modules', 'name', array('id' => $cm->module)); //delete events from calendar if ($events = $DB->get_records('event', array('instance' => $cm->instance, 'modulename' => $modulename))) { foreach ($events as $event) { delete_event($event->id); } } //delete grade items, outcome items and grades attached to modules if ($grade_items = grade_item::fetch_all(array('itemtype' => 'mod', 'itemmodule' => $modulename, 'iteminstance' => $cm->instance, 'courseid' => $cm->course))) { foreach ($grade_items as $grade_item) { $grade_item->delete('moddelete'); } } // Delete completion and availability data; it is better to do this even if the // features are not turned on, in case they were turned on previously (these will be // very quick on an empty table) $DB->delete_records('course_modules_completion', array('coursemoduleid' => $cm->id)); $DB->delete_records('course_modules_availability', array('coursemoduleid' => $cm->id)); $DB->delete_records('course_completion_criteria', array('moduleinstance' => $cm->id, 'criteriatype' => COMPLETION_CRITERIA_TYPE_ACTIVITY)); delete_context(CONTEXT_MODULE, $cm->id); return $DB->delete_records('course_modules', array('id' => $cm->id)); }
/** * This function will handles the whole deletion process of a module. This includes calling * the modules delete_instance function, deleting files, events, grades, conditional data, * the data in the course_module and course_sections table and adding a module deletion * event to the DB. * * @param int $cmid the course module id * @since 2.5 */ function course_delete_module($cmid) { global $CFG, $DB, $USER; require_once $CFG->libdir . '/gradelib.php'; require_once $CFG->dirroot . '/blog/lib.php'; // Get the course module. if (!($cm = $DB->get_record('course_modules', array('id' => $cmid)))) { return true; } // Get the module context. $modcontext = context_module::instance($cm->id); // Get the course module name. $modulename = $DB->get_field('modules', 'name', array('id' => $cm->module), MUST_EXIST); // Get the file location of the delete_instance function for this module. $modlib = "{$CFG->dirroot}/mod/{$modulename}/lib.php"; // Include the file required to call the delete_instance function for this module. if (file_exists($modlib)) { require_once $modlib; } else { throw new moodle_exception('cannotdeletemodulemissinglib', '', '', null, "Cannot delete this module as the file mod/{$modulename}/lib.php is missing."); } $deleteinstancefunction = $modulename . '_delete_instance'; // Ensure the delete_instance function exists for this module. if (!function_exists($deleteinstancefunction)) { throw new moodle_exception('cannotdeletemodulemissingfunc', '', '', null, "Cannot delete this module as the function {$modulename}_delete_instance is missing in mod/{$modulename}/lib.php."); } // Call the delete_instance function, if it returns false throw an exception. if (!$deleteinstancefunction($cm->instance)) { throw new moodle_exception('cannotdeletemoduleinstance', '', '', null, "Cannot delete the module {$modulename} (instance)."); } // Remove all module files in case modules forget to do that. $fs = get_file_storage(); $fs->delete_area_files($modcontext->id); // Delete events from calendar. if ($events = $DB->get_records('event', array('instance' => $cm->instance, 'modulename' => $modulename))) { foreach ($events as $event) { delete_event($event->id); } } // Delete grade items, outcome items and grades attached to modules. if ($grade_items = grade_item::fetch_all(array('itemtype' => 'mod', 'itemmodule' => $modulename, 'iteminstance' => $cm->instance, 'courseid' => $cm->course))) { foreach ($grade_items as $grade_item) { $grade_item->delete('moddelete'); } } // Delete completion and availability data; it is better to do this even if the // features are not turned on, in case they were turned on previously (these will be // very quick on an empty table). $DB->delete_records('course_modules_completion', array('coursemoduleid' => $cm->id)); $DB->delete_records('course_modules_availability', array('coursemoduleid' => $cm->id)); $DB->delete_records('course_modules_avail_fields', array('coursemoduleid' => $cm->id)); $DB->delete_records('course_completion_criteria', array('moduleinstance' => $cm->id, 'criteriatype' => COMPLETION_CRITERIA_TYPE_ACTIVITY)); // Delete the context. delete_context(CONTEXT_MODULE, $cm->id); // Delete the module from the course_modules table. $DB->delete_records('course_modules', array('id' => $cm->id)); // Delete module from that section. if (!delete_mod_from_section($cm->id, $cm->section)) { throw new moodle_exception('cannotdeletemodulefromsection', '', '', null, "Cannot delete the module {$modulename} (instance) from section."); } // Trigger a mod_deleted event with information about this module. $eventdata = new stdClass(); $eventdata->modulename = $modulename; $eventdata->cmid = $cm->id; $eventdata->courseid = $cm->course; $eventdata->userid = $USER->id; events_trigger('mod_deleted', $eventdata); add_to_log($cm->course, 'course', "delete mod", "view.php?id={$cm->course}", "{$modulename} {$cm->instance}", $cm->id); rebuild_course_cache($cm->course, true); }
function delete_user($userID) { //make sure we have a user id to prevent deleting other peoples events! if ($userID == '' || $userID == '%') { return false; } //convert the userid into a username $userDetails = get_user($userID); $username = $userDetails['username']; //remove a user and all related events $result = wrap_db_query("SELECT event_id FROM " . BOOKING_EVENT_TABLE . " WHERE user_id = '" . $userID . "'"); if (!$result) { return false; } //delete all the events and associated links from the booking schedule while ($fields = wrap_db_fetch_array($result)) { delete_event($username, $fields['event_id'], false); } // delete any saved options set for this user $query = 'DELETE FROM ' . BOOKING_USER_OPTIONS_TABLE . ' WHERE user_id="' . $userID . '"'; wrap_db_query($query); //attempt to delete any options found. No point failing if they can't be removed though. // delete any pending buddies for this user and any entrances where this user is the pending buddy $query = 'DELETE FROM ' . BOOKING_BUDDIES_PENDING . ' WHERE user_id="' . $userID . '" OR buddy_id="' . $userID . '"'; wrap_db_query($query); //attempt to delete any pending buddies found. No point failing if they can't be removed though. // delete any buddies for this user and any entrances where this user is the buddy $query = 'DELETE FROM ' . BOOKING_BUDDIES . ' WHERE user_id="' . $userID . '" OR buddy_id="' . $userID . '"'; wrap_db_query($query); //attempt to delete any buddies found. No point failing if they can't be removed though. //finally, delete the actual user $result = wrap_db_query("DELETE FROM " . BOOKING_USER_TABLE . " WHERE user_id = '" . $userID . "' LIMIT 1"); if (!$result) { return false; } //if you get here then everything went smoothly return true; }
function url_action_calendar($tools, $get, $post) { require_once $tools->include_path . 'cal_include.php'; if (!$tools->logged_in()) { $tools->page_not_found(); } /* get the current mailbox if any */ $mailbox = $tools->get_mailbox(); /* set the current mailbox */ if ($mailbox) { $tools->set_mailbox($mailbox); } /* default values */ $page_data = array(); $week = false; $month = false; $today = date('m-d-Y'); $year = false; $title = ''; $detail = ''; $repeat = 0; $duration = 0; $event_time = 0; $month_label = false; $day = false; $last_day = false; $events = array(); $duration = ''; $duration2 = ''; $event_time = ''; $event_time2 = ''; $first_week_day = false; $all_events = array(); $edit_id = 0; $dsp_page = 'calendar_month'; $final_week = false; if (isset($post['calendar_add'])) { $req_flds = array('title', 'year', 'month', 'day'); $opt_flds = array('repeat', 'detail', 'event_time', 'event_time2', 'duration', 'duration2'); $cal_atts = normalize_input($req_flds, $opt_flds, $post); $cnt = count($req_flds) + count($opt_flds); if (count($cal_atts) == $cnt) { $edit_id = add_cal_event($cal_atts, $tools); if ($edit_id) { $tools->send_notice('Event Added'); $dsp_page = 'edit'; } else { $tools->send_notice('An error occured adding this event'); $dsp_page = 'add'; } } else { $dsp_page = 'add'; foreach ($req_flds as $v) { if (isset($cal_atts[$v])) { ${$v} = $cal_atts[$v]; } } foreach ($opt_flds as $v) { if (isset($cal_atts[$v])) { ${$v} = $cal_atts[$v]; } } } } elseif (isset($post['calendar_update'])) { if (isset($post['event_id']) && ($event_id = $post['event_id'])) { $edit_id = $post['event_id']; $dsp_page = 'edit'; $req_flds = array('title', 'year', 'month', 'day', 'event_id'); $opt_flds = array('repeat', 'detail', 'event_time', 'event_time2', 'duration', 'duration2'); $cal_atts = normalize_input($req_flds, $opt_flds, $post); $cnt = count($req_flds) + count($opt_flds); if (count($cal_atts) == $cnt) { $res = update_event($tools, $cal_atts); if ($res) { $tools->send_notice('Event Updated'); } } } } elseif (isset($post['calendar_delete'])) { if (isset($post['event_id']) && ($del_id = intval($post['event_id']))) { if (delete_event($tools, $del_id)) { calendar_init($tools); $tools->send_notice('Event Deleted'); $dsp_page = 'calendar_month'; $month = date('m'); $year = date('Y'); $month_label = strtolower(date('F')); $last_day = date('d', mktime(0, 0, 0, $month + 1, 0, $year)); $first_week_day = date('w', mktime(0, 0, 0, $month, 1, $year)); if ($first_week_day + $last_day > 36) { $final_week = 6; } elseif ($first_week_day == 0 && $last_day == 28) { $final_week = 4; } else { $final_week = 5; } } else { $edit_id = $del_id; send_notice('Could not delete event'); } } } elseif (isset($get['list_events'])) { $dsp_page = 'list_events'; $all_events = get_calendar_events(false, false, false, 'all', $tools); } elseif (isset($get['add_event'])) { $dsp_page = 'add'; foreach (array('year', 'month', 'day') as $v) { if (isset($get[$v])) { ${$v} = $get[$v]; } } } elseif (isset($get['edit_event'])) { $dsp_page = 'edit'; $edit_id = intval($get['edit_event']); foreach (array('year', 'month', 'day') as $v) { if (isset($get[$v])) { ${$v} = $get[$v]; } } } elseif (isset($get['year']) && $get['year']) { if (preg_match("/^\\d{4}\$/", $get['year'])) { $year = $get['year']; $dsp_page = 'calendar_year'; /* check for month in URL args */ if (isset($get['month']) && $get['month']) { $month = strtotime($get['month']); if ($month && $month != -1) { $month_label = $get['month']; $month = date('m', $month); $dsp_page = 'calendar_month'; $last_day = date('d', mktime(0, 0, 0, $month + 1, 0, $year)); $first_week_day = date('w', mktime(0, 0, 0, $month, 1, $year)); if ($first_week_day + $last_day > 36) { $final_week = 6; } elseif ($first_week_day == 0 && $last_day == 28) { $final_week = 4; } else { $final_week = 5; } /* check for week in the URL args */ if (isset($get['week']) && $get['week']) { if (preg_match("/^week([1-{$final_week}])\$/", $get['week'], $matches)) { $dsp_page = 'calendar_week'; $week = $matches[1]; if ($week == 1) { $last_month = strtolower(date('F', mktime(0, 0, 0, $month - 1, 1, $year))); $last_int_month = strtolower(date('m', mktime(0, 0, 0, $month - 1, 1, $year))); $last_year = date('Y', mktime(0, 0, 0, $month - 1, 1, $year)); $last_last_day = date('d', mktime(0, 0, 0, $last_int_month + 1, 0, $last_year)); $last_month_first_week_day = date('w', mktime(0, 0, 0, $last_int_month, 1, $last_year)); if ($last_month_first_week_day + $last_last_day > 36) { $last_final_week = 6; } elseif ($first_week_day == 0 && $last_day == 28) { $last_final_week = 4; } else { $last_final_week = 5; } $last_url = '?page=calendar&year=' . $last_year . '&month=' . $last_month . '&week=week' . $last_final_week; $next_url = '?page=calendar&year=' . $year . '&month=' . $month_label . '&week=week2'; } elseif ($week == $final_week) { $next_month = strtolower(date('F', mktime(0, 0, 0, $month + 1, 1, $year))); $next_year = date('Y', mktime(0, 0, 0, $month + 1, 1, $year)); $next_url = '?page=calendar&year=' . $next_year . '&month=' . $next_month . '&week=week1'; $last_url = '?page=calendar&year=' . $year . '&month=' . $month_label . '&week=week' . ($week - 1); } else { $next_url = '?page=calendar&year=' . $year . '&month=' . $month_label . '&week=week' . ($week + 1); $last_url = '?page=calendar&year=' . $year . '&month=' . $month_label . '&week=week' . ($week - 1); } $page_data['last_url'] = $last_url; $page_data['next_url'] = $next_url; } } elseif (isset($get['day']) && $get['day'] > 0 && $get['day'] <= $last_day) { $dsp_page = 'calendar_day'; $day = $get['day']; if ($day == $last_day) { $last_url = '?page=calendar&year=' . $year . '&month=' . $month_label . '&day=' . ($day - 1); if ($month == 12) { $next_url = '?page=calendar&year=' . ($year + 1) . '&month=january&day=1'; } else { $next_month = strtolower(date("F", mktime(0, 0, 0, $month + 1, 1, $year))); $next_url = '?page=calendar&year=' . $year . '&month=' . $next_month . '&day=1'; } } elseif ($day == 1) { if ($month == 1) { $last_url = '?page=calendar&year=' . ($year - 1) . '&month=december&day=31'; } else { $last_month = strtolower(date("F", mktime(0, 0, 0, $month - 1, 1, $year))); $last_day = date("t", mktime(0, 0, 0, $month - 1, 1, $year)); $last_url = '?page=calendar&year=' . $year . '&month=' . $last_month . '&day=' . $last_day; } $next_url = '?page=calendar&year=' . $year . '&month=' . $month_label . '&day=2'; } else { $last_url = '?page=calendar&year=' . $year . '&month=' . $month_label . '&day=' . ($day - 1); $next_url = '?page=calendar&year=' . $year . '&month=' . $month_label . '&day=' . ($day + 1); } $page_data['last_url'] = $last_url; $page_data['next_url'] = $next_url; } } } } } else { $dsp_page = 'calendar_month'; $month = date('m'); $year = date('Y'); $month_label = strtolower(date('F')); $last_day = date('d', mktime(0, 0, 0, $month + 1, 0, $year)); $first_week_day = date('w', mktime(0, 0, 0, $month, 1, $year)); if ($first_week_day + $last_day > 36) { $final_week = 6; } elseif ($first_week_day == 0 && $last_day == 28) { $final_week = 4; } else { $final_week = 5; } } if ($dsp_page != 'add' && $dsp_page != 'edit') { $events = get_calendar_events($month, $year, $day, $dsp_page, $tools); } if ($edit_id != 0 && $dsp_page == 'edit') { list($year, $month, $day, $event_time, $event_time2, $duration, $duration2, $title, $detail, $repeat) = get_cal_event($tools, $edit_id); } /* Build some more values for the display and stick everything into the $page_data array */ $prev_month = strtolower(date('F', mktime(0, 0, 0, $month - 1, 1, $year))); $prev_month_url = '?page=calendar&year=' . date('Y', mktime(0, 0, 0, $month - 1, 1, $year)) . '&month=' . $prev_month; $next_month = strtolower(date('F', mktime(0, 0, 0, $month + 1, 1, $year))); $next_month_url = '?page=calendar&year=' . date('Y', mktime(0, 0, 0, $month + 1, 1, $year)) . '&month=' . $next_month; $page_data['cal_data'] = array('events' => $events, 'all_events' => $all_events, 'month' => $month, 'year' => $year, 'day' => $day, 'week' => $week, 'last_day' => $last_day, 'first_week_day' => $first_week_day, 'final_week' => $final_week, 'prev_month' => $prev_month, 'next_month' => $next_month, 'today' => $today, 'next_month_url' => $next_month_url, 'prev_month_url' => $prev_month_url, 'month_label' => $month_label); $page_data['dsp_page'] = $dsp_page; $page_data['title'] = $title; $page_data['detail'] = $detail; $page_data['event_time'] = $event_time; $page_data['duration'] = $duration; $page_data['repeat'] = $repeat; $page_data['duration'] = $duration; $page_data['duration2'] = $duration2; $page_data['event_time'] = $event_time; $page_data['event_time2'] = $event_time2; $page_data['edit_id'] = $edit_id; $tools->set_title($tools->str[1]); return $page_data; }
save_event($values); $app->redirect('/backoffice/eventos'); }); $app->get('/evento/editar/:id', $authenticate($app), function ($id) use($app) { $event = get_events_id($id); $app->render('evento_editar.php', array('event' => $event, 'pageTitle' => _('Editar') . ' ' . get_setting('evento_singular'))); }); // Guardar Evento Editar $app->post('/evento/editar', $authenticate($app), function () use($app) { $event = $app->request()->post('event'); update_event($event); $app->redirect('/backoffice/eventos'); }); //Deletes a event $app->get('/evento/apagar/:id', $authenticate($app), function ($id) use($app) { delete_event($id); $app->redirect('/backoffice/eventos'); }); // Get the user page settings $app->get('/defenicoes', $authenticate($app), function () use($app) { $app->render('defenicoes.php', array('pageTitle' => _('Definições'))); }); // Save defenicoes no website $app->post('/defenicoes', $authenticate($app), function () use($app, $db) { $settings = $app->request()->post('settings'); echo var_dump($settings); // Guarda o nome do titulo if (isset($settings['nome'])) { $value = "'" . $settings['nome'] . "'"; save_setting('nome', $value); }
function setevent($itemid, $add) { global $DB; $item = $this->items[$itemid]; $update = false; if (!$add || $item->duetime == 0) { // Remove the event (if any) if (!$item->eventid) { return; // No event to remove } delete_event($item->eventid); $this->items[$itemid]->eventid = 0; $update = true; } else { // Add/update event $event = new stdClass(); $event->name = $item->displaytext; $event->description = get_string('calendardescription', 'checklist', $this->checklist->name); $event->courseid = $this->course->id; $event->modulename = 'checklist'; $event->instance = $this->checklist->id; $event->eventtype = 'due'; $event->timestart = $item->duetime; if ($item->eventid) { $event->id = $item->eventid; update_event($event); } else { $this->items[$itemid]->eventid = add_event($event); $update = true; } } if ($update) { // Event added or removed $upditem = new stdClass(); $upditem->id = $itemid; $upditem->eventid = $this->items[$itemid]->eventid; $DB->update_record('checklist_item', $upditem); } }
/** * Given an ID of an instance of this module, * this function will permanently delete the instance * and any data that depends on it. * * @param int $id Id of the module instance * @return boolean Success/Failure */ function adobeconnect_delete_instance($id) { if (!($adobeconnect = get_record('adobeconnect', 'id', $id))) { return false; } $result = true; // Remove meeting from Adobe connect server $adbmeetings = get_records('adobeconnect_meeting_groups', 'instanceid', $adobeconnect->id); if (!empty($adbmeetings)) { $aconnect = aconnect_login(); foreach ($adbmeetings as $meeting) { // Update calendar event $eventid = get_field('event', 'id', 'courseid', $adobeconnect->course, 'instance', $adobeconnect->id, 'groupid', $meeting->groupid); if (!empty($eventid)) { delete_event($eventid); } aconnect_remove_meeting($aconnect, $meeting->meetingscoid); } aconnect_logout($aconnect); } $result &= delete_records('adobeconnect', 'id', $adobeconnect->id); $result &= delete_records('adobeconnect_meeting_groups', 'instanceid', $adobeconnect->id); return $result; }
echo html_tag('table', html_tag('tr', html_tag('th', _("Do you really want to delete this event?") . '<br />', '', $color[4], 'colspan="2"')) . html_tag('tr', html_tag('td', _("Date:"), 'right', $color[4]) . html_tag('td', date_intl(_("m/d/Y"), mktime(0, 0, 0, $dmonth, $dday, $dyear)), 'left', $color[4])) . html_tag('tr', html_tag('td', _("Time:"), 'right', $color[4]) . html_tag('td', date_intl(_("H:i"), mktime($dhour, $dminute, 0, $dmonth, $dday, $dyear)), 'left', $color[4])) . html_tag('tr', html_tag('td', _("Title:"), 'right', $color[4]) . html_tag('td', htmlspecialchars($tmparray['title']), 'left', $color[4])) . html_tag('tr', html_tag('td', _("Message:"), 'right', $color[4]) . html_tag('td', nl2br(htmlspecialchars($tmparray['message'])), 'left', $color[4])) . html_tag('tr', html_tag('td', " <form name=\"delevent\" method=\"post\" action=\"{$calself}\">\n" . " <input type=\"hidden\" name=\"dyear\" value=\"{$dyear}\" />\n" . " <input type=\"hidden\" name=\"dmonth\" value=\"{$dmonth}\" />\n" . " <input type=\"hidden\" name=\"dday\" value=\"{$dday}\" />\n" . " <input type=\"hidden\" name=\"year\" value=\"{$year}\" />\n" . " <input type=\"hidden\" name=\"month\" value=\"{$month}\" />\n" . " <input type=\"hidden\" name=\"day\" value=\"{$day}\" />\n" . " <input type=\"hidden\" name=\"dhour\" value=\"{$dhour}\" />\n" . " <input type=\"hidden\" name=\"dminute\" value=\"{$dminute}\" />\n" . " <input type=\"hidden\" name=\"confirmed\" value=\"yes\" />\n" . ' <input type="submit" value="' . _("Yes") . "\" />\n" . " </form>\n", 'right', $color[4]) . html_tag('td', " <form name=\"nodelevent\" method=\"post\" action=\"day.php\">\n" . " <input type=\"hidden\" name=\"year\" value=\"{$year}\" />\n" . " <input type=\"hidden\" name=\"month\" value=\"{$month}\" />\n" . " <input type=\"hidden\" name=\"day\" value=\"{$day}\" />\n" . ' <input type="submit" value="' . _("No") . "\" />\n" . " </form>\n", 'left', $color[4])), '', $color[0], 'border="0" cellpadding="2" cellspacing="1"'); } if ($month <= 0) { $month = date('m'); } if ($year <= 0) { $year = date('Y'); } if ($day <= 0) { $day = date('d'); } $calself = basename($PHP_SELF); displayPageHeader($color, 'None'); //load calendar menu calendar_header(); echo html_tag('tr', '', '', $color[0]) . html_tag('td') . html_tag('table', '', '', $color[0], 'width="100%" border="0" cellpadding="2" cellspacing="1"') . html_tag('tr') . html_tag('td', '', 'left') . date_intl(_("l, F j Y"), mktime(0, 0, 0, $month, $day, $year)); if (isset($dyear) && isset($dmonth) && isset($dday) && isset($dhour) && isset($dminute)) { if (isset($confirmed)) { delete_event("{$dmonth}{$dday}{$dyear}", "{$dhour}{$dminute}"); echo '<br /><br />' . _("Event deleted!") . "<br />\n"; echo "<a href=\"day.php?year={$year}&month={$month}&day={$day}\">" . _("Day View") . "</a>\n"; } else { readcalendardata(); confirm_deletion(); } } else { echo '<br />' . _("Nothing to delete!"); } ?> </table></td></tr></table> </body></html>
<?php include 'connect.php'; $conect = connect_acc(); $user_num = $_POST['USER_NUM']; $name = ""; if ($_POST['call'] == 0) { read_events($user_num, $conect); } else { $name = $_POST['name']; delete_event($user_num, $name, $conect); } function read_events($user_num, $conect) { if ($result = $conect->query("SELECT * FROM `event` WHERE `USER_#`='{$user_num}'")) { if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo $row["EVENT_NAME"] . "!" . $row["PRIORTY"] . "!" . $row["TIME_END"] . "!" . $row["TIME_BEGIN"] . "!" . $row["DAY"] . "!" . $row["BUFF_BEGIN"] . "!" . $row["BUFF_END"] . "~"; } } } else { die('Error: Failed to Connect'); } } function delete_event($user_num, $name, $conect) { $day = $_POST['day']; if ($conect->query("DELETE FROM `event` WHERE `USER_#`='{$user_num}' AND `EVENT_NAME`=\"{$name}\" AND `DAY`=\"{$day}\"")) { echo "Succesfully Deleted Entry."; } else { echo "Error occurred when deleting entry.";
/** * This function is called at the end of quiz_add_instance * and quiz_update_instance, to do the common processing. * * @param object $quiz the quiz object. */ function quiz_after_add_or_update($quiz) { // Save the feedback delete_records('quiz_feedback', 'quizid', $quiz->id); for ($i = 0; $i <= $quiz->feedbackboundarycount; $i += 1) { $feedback = new stdClass(); $feedback->quizid = $quiz->id; $feedback->feedbacktext = $quiz->feedbacktext[$i]; $feedback->mingrade = $quiz->feedbackboundaries[$i]; $feedback->maxgrade = $quiz->feedbackboundaries[$i - 1]; if (!insert_record('quiz_feedback', $feedback, false)) { return "Could not save quiz feedback."; } } // Update the events relating to this quiz. // This is slightly inefficient, deleting the old events and creating new ones. However, // there are at most two events, and this keeps the code simpler. if ($events = get_records_select('event', "modulename = 'quiz' and instance = '{$quiz->id}'")) { foreach ($events as $event) { delete_event($event->id); } } $event = new stdClass(); $event->description = $quiz->intro; $event->courseid = $quiz->course; $event->groupid = 0; $event->userid = 0; $event->modulename = 'quiz'; $event->instance = $quiz->id; $event->timestart = $quiz->timeopen; $event->timeduration = $quiz->timeclose - $quiz->timeopen; $event->visible = instance_is_visible('quiz', $quiz); $event->eventtype = 'open'; if ($quiz->timeclose and $quiz->timeopen and $event->timeduration <= QUIZ_MAX_EVENT_LENGTH) { // Single event for the whole quiz. $event->name = $quiz->name; add_event($event); } else { // Separate start and end events. $event->timeduration = 0; if ($quiz->timeopen) { $event->name = $quiz->name . ' (' . get_string('quizopens', 'quiz') . ')'; add_event($event); unset($event->id); // So we can use the same object for the close event. } if ($quiz->timeclose) { $event->name = $quiz->name . ' (' . get_string('quizcloses', 'quiz') . ')'; $event->timestart = $quiz->timeclose; $event->eventtype = 'close'; add_event($event); } } //update related grade item quiz_grade_item_update(stripslashes_recursive($quiz)); }
function postcalendar_user_submit($args) { // We need at least ADD permission to submit an event if (!(bool) PC_ACCESS_ADD) { return _POSTCALENDARNOAUTH; } $output = new pnHTML(); $output->SetInputMode(_PNH_VERBATIMINPUT); // get the theme globals :: is there a better way to do this? pnThemeLoad(pnUserGetTheme()); global $bgcolor1, $bgcolor2, $bgcolor3, $bgcolor4, $bgcolor5, $textcolor1, $textcolor2; // $category = pnVarCleanFromInput('event_category'); $category = pnVarCleanFromInput('category'); if (!empty($category)) { $category = unserialize(base64_decode($category)); //print_r($category); } else { //print_r($_POST); $cat = $_POST['category']; $category = unserialize(base64_decode($cat)); //print_r($category); } //print_r($category); // echo("<!-- Here is the argument array: -->\n"); // foreach ($args as $tmpkey => $tmpval) { // debugging // echo("<!-- $tmpkey => '$tmpval' -->\n"); // } extract($args); $Date =& postcalendar_getDate(); $year = substr($Date, 0, 4); $month = substr($Date, 4, 2); $day = substr($Date, 6, 2); // basic event information $event_desc = pnVarCleanFromInput('event_desc'); $event_category = pnVarCleanFromInput('event_category'); $event_subject = pnVarCleanFromInput('event_subject'); $event_sharing = pnVarCleanFromInput('event_sharing'); $event_topic = pnVarCleanFromInput('event_topic'); //id of the user the event is for $event_userid = pnVarCleanFromInput('event_userid'); if (!is_numeric($event_userid)) { $event_userid = 0; } $event_pid = pnVarCleanFromInput('event_pid'); if (!is_numeric($event_pid)) { $event_pid = ""; } // event start information $event_startmonth = pnVarCleanFromInput('event_startmonth'); $event_startday = pnVarCleanFromInput('event_startday'); $event_startyear = pnVarCleanFromInput('event_startyear'); $event_starttimeh = pnVarCleanFromInput('event_starttimeh'); $event_starttimem = pnVarCleanFromInput('event_starttimem'); $event_startampm = pnVarCleanFromInput('event_startampm'); // location data $event_location = pnVarCleanFromInput('event_location'); $event_street1 = pnVarCleanFromInput('event_street1'); $event_street2 = pnVarCleanFromInput('event_street2'); $event_city = pnVarCleanFromInput('event_city'); $event_state = pnVarCleanFromInput('event_state'); $event_postal = pnVarCleanFromInput('event_postal'); $event_location_info = serialize(compact('event_location', 'event_street1', 'event_street2', 'event_city', 'event_state', 'event_postal')); // contact data $event_contname = pnVarCleanFromInput('event_contname'); $event_conttel = pnVarCleanFromInput('event_conttel'); $event_contemail = pnVarCleanFromInput('event_contemail'); $event_website = pnVarCleanFromInput('event_website'); $event_fee = pnVarCleanFromInput('event_fee'); $event_patient_name = pnVarCleanFromInput('patient_name'); // event repeating data if (is_array($category)) { //$event_subject = $event_desc = $category['desc']; $event_category = $category['id']; $event_duration = $category['event_duration']; //seconds of the event $event_dur_hours = $event_duration / (60 * 60); //seconds divided by 60 seconds * 60 minutes $event_dur_minutes = $event_duration % (60 * 60) / 60; $event_repeat = $category['event_repeat']; $event_repeat_freq = $category['event_repeat_freq']; $event_repeat_freq_type = $category['event_repeat_freq_type']; $event_repeat_on_num = $category['event_repeat_on_num']; $event_repeat_on_day = $category['event_repeat_on_day']; $event_repeat_on_freq = $category['event_repeat_on_freq']; $event_recurrspec = serialize(compact('event_repeat_freq', 'event_repeat_freq_type', 'event_repeat_on_num', 'event_repeat_on_day', 'event_repeat_on_freq')); // event end information $multiple = $category['end_date_freq'] . " "; switch ($category['end_date_type']) { case REPEAT_EVERY_DAY: case REPEAT_EVERY_WORK_DAY: //end date is in days $multiple .= "days"; break; case REPEAT_EVERY_WEEK: //end date is in weeks $multiple .= "weeks"; break; case REPEAT_EVERY_MONTH: //end date is in months $multiple .= "months"; break; case REPEAT_EVERY_YEAR: //end date is in years $multiple .= "years"; break; } $edate = strtotime(pnVarCleanFromInput('Date')); $event_startmonth = date("m", $edate); $event_startday = date("d", $edate); $event_startyear = date("Y", $edate); $event_enddate = strtotime(pnVarCleanFromInput('Date') . " + " . $multiple); $event_endmonth = date("m", $event_enddate); $event_endday = date("d", $event_enddate); $event_endyear = date("Y", $event_enddate); $event_endtype = $category['end_date_flag']; // I'm pretty sure this was a bug since 'event_all_day' appears nowhere // else in the code, but it's hard to tell WTF is going on. // $event_allday = $category['event_all_day']; $event_allday = $category['all_day']; } else { $event_dur_hours = pnVarCleanFromInput('event_dur_hours'); $event_dur_minutes = pnVarCleanFromInput('event_dur_minutes'); $event_duration = 60 * 60 * $event_dur_hours + 60 * $event_dur_minutes; $event_repeat = pnVarCleanFromInput('event_repeat'); $event_repeat_freq = pnVarCleanFromInput('event_repeat_freq'); $event_repeat_freq_type = pnVarCleanFromInput('event_repeat_freq_type'); $event_repeat_on_num = pnVarCleanFromInput('event_repeat_on_num'); $event_repeat_on_day = pnVarCleanFromInput('event_repeat_on_day'); $event_repeat_on_freq = pnVarCleanFromInput('event_repeat_on_freq'); $event_recurrspec = serialize(compact('event_repeat_freq', 'event_repeat_freq_type', 'event_repeat_on_num', 'event_repeat_on_day', 'event_repeat_on_freq')); // event end information $event_endmonth = pnVarCleanFromInput('event_endmonth'); $event_endday = pnVarCleanFromInput('event_endday'); $event_endyear = pnVarCleanFromInput('event_endyear'); $event_endtype = pnVarCleanFromInput('event_endtype'); $event_allday = pnVarCleanFromInput('event_allday'); } // Added by Rod: if ($event_allday) { $event_starttimeh = 0; $event_starttimem = 0; $event_startampm = 1; $event_dur_hours = 24; $event_dur_minutes = 0; $event_duration = 60 * 60 * $event_dur_hours; } $form_action = pnVarCleanFromInput('form_action'); $pc_html_or_text = pnVarCleanFromInput('pc_html_or_text'); $pc_event_id = pnVarCleanFromInput('pc_event_id'); $data_loaded = pnVarCleanFromInput('data_loaded'); $is_update = pnVarCleanFromInput('is_update'); $authid = pnVarCleanFromInput('authid'); //pennfirm uname matchup future fix //if(pnUserLoggedIn()) { $uname = pnUserGetVar('uname'); } //else { $uname = pnConfigGetVar('anonymous'); } $uname = $_SESSION['authUser']; if (!isset($event_repeat)) { $event_repeat = 0; } if (!isset($pc_event_id) || empty($pc_event_id) || $data_loaded) { // lets wrap all the data into array for passing to submit and preview functions $eventdata = compact('event_subject', 'event_desc', 'event_sharing', 'event_category', 'event_topic', 'event_startmonth', 'event_startday', 'event_startyear', 'event_starttimeh', 'event_starttimem', 'event_startampm', 'event_endmonth', 'event_endday', 'event_endyear', 'event_endtype', 'event_dur_hours', 'event_dur_minutes', 'event_duration', 'event_allday', 'event_location', 'event_street1', 'event_street2', 'event_city', 'event_state', 'event_postal', 'event_location_info', 'event_contname', 'event_conttel', 'event_contemail', 'event_website', 'event_fee', 'event_repeat', 'event_repeat_freq', 'event_repeat_freq_type', 'event_repeat_on_num', 'event_repeat_on_day', 'event_repeat_on_freq', 'event_recurrspec', 'uname', "event_userid", "event_pid", 'Date', 'year', 'month', 'day', 'pc_html_or_text', 'event_patient_name', 'event_pid'); $eventdata['is_update'] = $is_update; $eventdata['pc_event_id'] = $pc_event_id; $eventdata['data_loaded'] = true; $eventdata['category'] = base64_encode(serialize($category)); } else { $event =& postcalendar_userapi_pcGetEventDetails($pc_event_id); //echo "uname is:$uname other name is: ".$event['uname'] . "<br />"; if ($uname != $event['uname']) { if (!validateGroupStatus($uname, getUsername($event['uname']))) { return _PC_CAN_NOT_EDIT; } } $eventdata['event_subject'] = $event['title']; $eventdata['event_desc'] = $event['hometext']; $eventdata['event_sharing'] = $event['sharing']; $eventdata['event_category'] = $event['catid']; $eventdata['event_topic'] = $event['topic']; $eventdata['event_startmonth'] = substr($event['eventDate'], 5, 2); $eventdata['event_startday'] = substr($event['eventDate'], 8, 2); $eventdata['event_startyear'] = substr($event['eventDate'], 0, 4); $eventdata['event_starttimeh'] = substr($event['startTime'], 0, 2); $eventdata['event_starttimem'] = substr($event['startTime'], 3, 2); $eventdata['event_startampm'] = $eventdata['event_starttimeh'] < 12 ? 1 : 2; //1 is am , 2 is pm $eventdata['event_endmonth'] = substr($event['endDate'], 5, 2); $eventdata['event_endday'] = substr($event['endDate'], 8, 2); $eventdata['event_endyear'] = substr($event['endDate'], 0, 4); $eventdata['event_endtype'] = $event['endDate'] == '0000-00-00' ? '0' : '1'; $eventdata['event_dur_hours'] = $event['duration_hours']; $eventdata['event_dur_minutes'] = $event['duration_minutes']; $eventdata['event_duration'] = $event['duration']; $eventdata['event_allday'] = $event['alldayevent']; $loc_data = unserialize($event['location']); $eventdata['event_location'] = $loc_data['event_location']; $eventdata['event_street1'] = $loc_data['event_street1']; $eventdata['event_street2'] = $loc_data['event_street2']; $eventdata['event_city'] = $loc_data['event_city']; $eventdata['event_state'] = $loc_data['event_state']; $eventdata['event_postal'] = $loc_data['event_postal']; $eventdata['event_location_info'] = $loc_data; $eventdata['event_contname'] = $event['contname']; $eventdata['event_conttel'] = $event['conttel']; $eventdata['event_contemail'] = $event['contemail']; $eventdata['event_website'] = $event['website']; $eventdata['event_fee'] = $event['fee']; $eventdata['event_repeat'] = $event['recurrtype']; $rspecs = unserialize($event['recurrspec']); $eventdata['event_repeat_freq'] = $rspecs['event_repeat_freq']; $eventdata['event_repeat_freq_type'] = $rspecs['event_repeat_freq_type']; $eventdata['event_repeat_on_num'] = $rspecs['event_repeat_on_num']; $eventdata['event_repeat_on_day'] = $rspecs['event_repeat_on_day']; $eventdata['event_repeat_on_freq'] = $rspecs['event_repeat_on_freq']; $eventdata['event_recurrspec'] = $rspecs; $eventdata['uname'] = $uname; $eventdata['event_userid'] = $event['event_userid']; $eventdata['event_pid'] = $event['pid']; $eventdata['event_aid'] = $event['aid']; $eventdata['Date'] = $Date; $eventdata['year'] = $year; $eventdata['month'] = $month; $eventdata['day'] = $day; $eventdata['is_update'] = true; $eventdata['pc_event_id'] = $pc_event_id; $event_data['patient_name'] = $event_patient_name; $eventdata['data_loaded'] = true; $eventdata['pc_html_or_text'] = $pc_html_or_text; $eventdata['category'] = base64_encode(serialize($category)); } // lets get the module's information $modinfo = pnModGetInfo(pnModGetIDFromName(__POSTCALENDAR__)); $categories = pnModAPIFunc(__POSTCALENDAR__, 'user', 'getCategories'); $output->tabindex = 1; //================================================================ // ERROR CHECKING //================================================================ // removed event_desc as a required_var $required_vars = array('event_subject'); $required_name = array(_PC_EVENT_TITLE, _PC_EVENT_DESC); $error_msg = ''; $output->SetOutputMode(_PNH_RETURNOUTPUT); $reqCount = count($required_vars); //print_r($eventdata); for ($r = 0; $r < $reqCount; $r++) { if (empty(${$required_vars}[$r]) || !preg_match('/\\S/i', ${$required_vars}[$r])) { $error_msg .= $output->Text('<b>' . $required_name[$r] . '</b> ' . _PC_SUBMIT_ERROR4); $error_msg .= $output->Linebreak(); } } unset($reqCount); // check repeating frequencies if ($event_repeat == REPEAT) { //can't have a repeating event that doesnt have an end date if ($event_endtype == 0) { $error_msg .= $output->Text("Repeating events must have an end date set."); $error_msg .= $output->Linebreak(); } if (!isset($event_repeat_freq) || $event_repeat_freq < 1 || empty($event_repeat_freq)) { $error_msg .= $output->Text(_PC_SUBMIT_ERROR5); $error_msg .= $output->Linebreak(); } elseif (!is_numeric($event_repeat_freq)) { $error_msg .= $output->Text(_PC_SUBMIT_ERROR6); $error_msg .= $output->Linebreak(); } } elseif ($event_repeat == REPEAT_ON) { //can't have a repeating event that doesnt have an end date if ($event_endtype == 0) { $error_msg .= $output->Text("Repeating events must have an end date set."); $error_msg .= $output->Linebreak(); } if (!isset($event_repeat_on_freq) || $event_repeat_on_freq < 1 || empty($event_repeat_on_freq)) { $error_msg .= $output->Text(_PC_SUBMIT_ERROR5); $error_msg .= $output->Linebreak(); } elseif (!is_numeric($event_repeat_on_freq)) { $error_msg .= $output->Text(_PC_SUBMIT_ERROR6); $error_msg .= $output->Linebreak(); } } // check date validity if (_SETTING_TIME_24HOUR) { $startTime = $event_starttimeh . ':' . $event_starttimem; $endTime = $event_endtimeh . ':' . $event_endtimem; } else { if ($event_startampm == _AM_VAL) { $event_starttimeh = $event_starttimeh == 12 ? '00' : $event_starttimeh; } else { $event_starttimeh = $event_starttimeh != 12 ? $event_starttimeh += 12 : $event_starttimeh; } $startTime = $event_starttimeh . ':' . $event_starttimem; } $sdate = strtotime($event_startyear . '-' . $event_startmonth . '-' . $event_startday); $edate = strtotime($event_endyear . '-' . $event_endmonth . '-' . $event_endday); $tdate = strtotime(date('Y-m-d')); if ($edate < $sdate && $event_endtype == 1) { $error_msg .= $output->Text(_PC_SUBMIT_ERROR1); $error_msg .= $output->Linebreak(); } if (!checkdate($event_startmonth, $event_startday, $event_startyear)) { $error_msg .= $output->Text(_PC_SUBMIT_ERROR2 . " '{$event_startyear}-{$event_startmonth}-{$event_startday}'"); $error_msg .= $output->Linebreak(); } if (!checkdate($event_endmonth, $event_endday, $event_endyear)) { $error_msg .= $output->Text(_PC_SUBMIT_ERROR3 . " '{$event_endyear}-{$event_endmonth}-{$event_endday}'"); $error_msg .= $output->Linebreak(); } //check limit on category if (($ret = checkCategoryLimits($eventdata)) != null) { $error_msg .= $output->Text("This category has a limit of {$ret['limit']} between {$ret['start']} and {$ret['end']} which you have exceeded."); $error_msg .= $output->Linebreak(); //$output->Text(pnModAPIFunc('PostCalendar','user','buildSubmitForm',$eventdata)); //return $output->GetOutput(); } //echo "fa: " . $form_action . " double_book: " . pnVarCleanFromInput("double_book") . " update: " . $eventdata['is_update'] . " em: " . $error_msg; //event collision check if ($form_action == "commit" && pnVarCleanFromInput("double_book") != 1 && !$eventdata['is_update'] && empty($error_msg)) { //check on new shceduling events(in or out of office) to make sure that //you don't have more than one set per day //event category 1 is in office, event category 2 is out of office if ($eventdata['event_category'] == 2 || $eventdata['event_category'] == 3) { $searchargs = array(); $searchargs['start'] = $eventdata['event_startmonth'] . "/" . $eventdata['event_startday'] . "/" . $eventdata['event_startyear']; $searchargs['end'] = $eventdata['event_endmonth'] . "/" . $eventdata['event_endday'] . "/" . $eventdata['event_endyear']; $searchargs['provider_id'] = $eventdata['event_userid']; //faFLag uses pcgeteventsfa, which can search on provider $searchargs['faFlag'] = true; $searchargs['s_keywords'] = " (a.pc_catid = 2 OR a.pc_catid = 3) "; //print_r($searchargs); $eventsByDate =& postcalendar_userapi_pcGetEvents($searchargs); $ekey = md5($event_data['subject'] . date("U") . rand(0, 1000)); $oldstatus = $eventdata['event_status']; $oldtitle = $eventdata['event_subject']; $old_patient_name = $eventdata['patient_name']; $old_dur_hours = $eventdata['event_dur_hours']; $old_dur_min = $eventdata['event_dur_minutes']; $old_duration = $eventdata['event_duration']; $eventdata['event_subject'] = mysql_real_escape_string($ekey); $eventdata['event_status'] = _EVENT_TEMPORARY; if (!pnModAPIFunc(__POSTCALENDAR__, 'user', 'submitEvent', $eventdata)) { $error_msg .= $output->Text('<center><div style="padding:5px; border:1px solid red; background-color: pink;">'); $error_msg .= $output->Text("<b>The system was unable to check you event for conflicts with other events because there was a problem with your database.</b><br />"); $error_msg .= $output->Text('</div></center>'); $error_msg .= $output->Linebreak(); $error_msg .= $output->Text($dbconn->ErrorMsg()); } $searchargs['s_keywords'] = " (a.pc_catid = 2 OR a.pc_catid = 3) AND a.pc_title = '" . $eventdata['event_subject'] . "' "; $searchargs['event_status'] = _EVENT_TEMPORARY; $submitEventByDate =& postcalendar_userapi_pcGetEvents($searchargs); if (!delete_event($ekey)) { $error_msg .= $output->Text('<center><div style="padding:5px; border:1px solid red; background-color: pink;">'); $error_msg .= $output->Text("<b>The system was unable to delete a temporary record it created, this may have left the database in an inconsistent state.</b><br />"); $error_msg .= $output->Text('</div></center>'); $error_msg .= $output->Linebreak(); $error_msg .= $output->Text($dbconn->ErrorMsg()); } $eventdata['event_status'] = $oldstatus; $eventdata['event_subject'] = $oldtitle; $eventdata['patient_name '] = $old_patient_name; $eventdata['event_dur_hours'] = $old_dur_hour; $eventdata['event_dur_minutes'] = $old_dur_min; foreach ($submitEventByDate as $date => $newevent) { if (count($eventsByDate[$date]) > 0 && count($newevent) > 0) { foreach ($eventsByDate[$date] as $con_event) { if ($con_event['catid'] == $newevent[0]['catid']) { $error_msg .= $output->Text('There is a conflict on ' . $date . ' with event ' . $con_event['title']); $error_msg .= $output->Linebreak(); } } } } /*echo "<br /><br />"; print_r($eventsByDate); echo "<br /><br />"; print_r($submitEventByDate);*/ } $colls = checkEventCollision($eventdata); if (count($colls) > 0) { foreach ($colls as $coll) { $error_msg .= $output->Text("Event Collides with: " . $coll['title'] . " at " . date("g:i a", strtotime($coll['startTime'])) . "<br />"); $error_msg .= $output->Linebreak(); } $error_msg .= $output->Text("Submit again to \"Double Book\" <br />To change values click back in your browser."); $error_msg .= $output->Linebreak(); // the following line will display "DOUBLE BOOKED" if when adding an event there is a collistion with anothe appointment //$eventdata['event_subject'] = "DOUBLE BOOKED " . $eventdata['event_subject']; $eventdata['double_book'] = 1; } } $output->SetOutputMode(_PNH_KEEPOUTPUT); if ($form_action == 'preview') { //================================================================ // Preview the event //================================================================ // check authid if (!pnSecConfirmAuthKey()) { return _NO_DIRECT_ACCESS; } if (!empty($error_msg)) { $preview = false; $output->Text('<table border="0" width="100%" cellpadding="1" cellspacing="0"><tr><td bgcolor="red">'); $output->Text('<table border="0" width="100%" cellpadding="1" cellspacing="0"><tr><td bgcolor="pink">'); $output->Text('<center><b>' . _PC_SUBMIT_ERROR . '</b></center>'); $output->Linebreak(); $output->Text($error_msg); $output->Text('</td></td></table>'); $output->Text('</td></td></table>'); $output->Linebreak(2); } else { $output->Text(pnModAPIFunc(__POSTCALENDAR__, 'user', 'eventPreview', $eventdata)); $output->Linebreak(); } } elseif ($form_action == 'commit') { //================================================================ // Enter the event into the DB //================================================================ if (!empty($error_msg)) { if (!pnSecConfirmAuthKey(true)) { return _NO_DIRECT_ACCESS; } } else { if (!pnSecConfirmAuthKey()) { return _NO_DIRECT_ACCESS; } } if (!empty($error_msg)) { $preview = false; $output->Text('<table border="0" width="100%" cellpadding="1" cellspacing="0"><tr><td bgcolor="red">'); $output->Text('<table border="0" width="100%" cellpadding="1" cellspacing="0"><tr><td bgcolor="pink">'); $output->Text('<center><b>' . _PC_SUBMIT_ERROR . '</b></center>'); $output->Linebreak(); $output->Text($error_msg); $output->Text('</td></td></table>'); $output->Text('</td></td></table>'); $output->Linebreak(2); } else { if (!pnModAPIFunc(__POSTCALENDAR__, 'user', 'submitEvent', $eventdata)) { $output->Text('<center><div style="padding:5px; border:1px solid red; background-color: pink;">'); $output->Text("<b>" . _PC_EVENT_SUBMISSION_FAILED . "</b>"); $output->Text('</div></center>'); $output->Linebreak(); $output->Text($dbconn->ErrorMsg()); } else { // clear the Smarty cache $tpl = new pcSmarty(); $tpl->clear_all_cache(); $output->Text('<center><div style="padding:5px; border:1px solid green; background-color: lightgreen;">'); if ($is_update) { $output->Text("<b>" . _PC_EVENT_EDIT_SUCCESS . "</b>"); } else { $output->Text("<b>" . _PC_EVENT_SUBMISSION_SUCCESS . "</b>"); } $output->Text('</div></center>'); $output->Linebreak(); // clear the form vars $event_subject = $event_desc = $event_sharing = $event_category = $event_topic = $event_startmonth = $event_startday = $event_startyear = $event_starttimeh = $event_starttimem = $event_startampm = $event_endmonth = $event_endday = $event_endyear = $event_endtype = $event_dur_hours = $event_dur_minutes = $event_duration = $event_allday = $event_location = $event_street1 = $event_street2 = $event_city = $event_state = $event_postal = $event_location_info = $event_contname = $event_conttel = $event_contemail = $event_website = $event_fee = $event_repeat = $event_repeat_freq = $event_repeat_freq_type = $event_repeat_on_num = $event_repeat_on_day = $event_repeat_on_freq = $event_recurrspec = $uname = $Date = $year = $month = $day = $pc_html_or_text = $event_patient_name = $evnet_pid = null; $is_update = false; $pc_event_id = 0; //$_SESSION['category'] = ""; // lets wrap all the data into array for passing to submit and preview functions $eventdata = compact('event_subject', 'event_desc', 'event_sharing', 'event_category', 'event_topic', 'event_startmonth', 'event_startday', 'event_startyear', 'event_starttimeh', 'event_starttimem', 'event_startampm', 'event_endmonth', 'event_endday', 'event_endyear', 'event_endtype', 'event_dur_hours', 'event_dur_minutes', 'event_duration', 'event_allday', 'event_location', 'event_street1', 'event_street2', 'event_city', 'event_state', 'event_postal', 'event_location_info', 'event_contname', 'event_conttel', 'event_contemail', 'event_website', 'event_fee', 'event_repeat', 'event_repeat_freq', 'event_repeat_freq_type', 'event_repeat_on_num', 'event_repeat_on_day', 'event_repeat_on_freq', 'event_recurrspec', 'uname', 'Date', 'year', 'month', 'day', 'pc_html_or_text', 'is_update', 'pc_event_id', 'event_patient_name'); //if no using the no_nav format then show form again after submit if (pnVarCleanFromInput("no_nav") == 1) { return $output->GetOutput(); } } } } $output->Text(pnModAPIFunc('PostCalendar', 'user', 'buildSubmitForm', $eventdata)); return $output->GetOutput(); }
function delete_course_module($id) { if (!($cm = get_record('course_modules', 'id', $id))) { return true; } $modulename = get_field('modules', 'name', 'id', $cm->module); if ($events = get_records_select('event', "instance = '{$cm->instance}' AND modulename = '{$modulename}'")) { foreach ($events as $event) { delete_event($event->id); } } return delete_records('course_modules', 'id', $cm->id); }
$app->delete('', $check_token_exists, function ($calendar_id, $username) { delete_member($username, $calendar_id); }); }); }); $app->group('/events', function () use($app) { global $check_token_exists; global $decode_body; $app->get('', $check_token_exists, function ($calendar_id) { get_events($calendar_id); }); $app->post('', $check_token_exists, $decode_body, function ($calendar_id) { create_event($calendar_id); }); $app->group('/:event_id', function () use($app) { global $check_token_exists; global $decode_body; $app->get('', $check_token_exists, function ($calendar_id, $event_id) { get_event($calendar_id, $event_id); }); $app->put('', $check_token_exists, $decode_body, function ($calendar_id, $event_id) { edit_event($calendar_id, $event_id); }); $app->delete('', $check_token_exists, function ($calendar_id, $event_id) { delete_event($calendar_id, $event_id); }); }); }); }); }); $app->run();
//60 sec x 60 mins = secs in an hour //echo "times: " . $secsUntilSlotStart . ' > ' . $secsForMinimumAllowedCancellation ; //make sure slot is not in the past if ($secsUntilSlotStart < 0) { $page_error_message = 'This event has already been. You are not allowed to delete items in the past.'; } else { if (wrap_session_is_registered("admin_user") || $secsUntilSlotStart > $secsForMinimumAllowedCancellation) { //check if we should refund the credits, we only do this if the start time is later than the minimum cancellation period $refundUsersCredits = true; //assume we do (will only apply if they use credits) if (wrap_session_is_registered("admin_user") && $secsUntilSlotStart < $secsForMinimumAllowedCancellation) { //an admin is deleting this event for the user outside of the minimum cancellation period. //do the delete but don't give the user their credits back $refundUsersCredits = false; } if (delete_event($event_username, $event['event_id'], $refundUsersCredits)) { $page_info_message = "Event deleted successfully!"; if (wrap_session_is_registered("admin_user")) { if ($refundUsersCredits) { $page_info_message .= '<br><br>Booking credits have been returned to the user (where applicable).'; } else { $page_info_message .= '<br><br>Any booking credits used have not been refunded as this booking falls inside of the minimum cancellation period.'; } } $page_error_message = "No event to display."; $showEventDetails = false; } else { $page_error_message = "Event could not be deleted. Please try again."; $_REQUEST['action'] = 'delete'; } } else {
} $agdx->store($id); } else { // add new event $recursion = null; if (!empty($_POST['frequencyperiod']) && intval($_POST['frequencynumber']) > 0 && !empty($_POST['enddate'])) { $recursion = array('unit' => $_POST['frequencyperiod'], 'repeat' => $_POST['frequencynumber'], 'end' => $_POST['enddate']); } $ev = add_event($event_title, $content, $startdate, $duration, $recursion); foreach($ev['event'] as $id) { $agdx->store($id); } } Session::Messages($langStoredOK, 'alert-success'); redirect_to_home_page("modules/agenda/index.php?course=$course_code"); } elseif (isset($_GET['delete']) && $_GET['delete'] == 'yes') { $resp = (isset($_GET['rep']) && $_GET['rep'] == 'yes')? delete_recursive_event($id):delete_event($id); $agdx->remove($id); $msgresp = ($resp['success'])? $langDeleteOK : $langDeleteError.": ".$resp['message']; $alerttype = ($resp['success'])? 'alert-success' : 'alert-error'; Session::Messages($msgresp, $alerttype); redirect_to_home_page("modules/agenda/index.php?course=$course_code"); } $is_recursive_event = false; if (isset($_GET['addEvent']) or isset($_GET['edit'])) { $pageName = $langAddEvent; $tool_content .= action_bar(array( array('title' => $langBack, 'url' => "$_SERVER[SCRIPT_NAME]?course=$course_code", 'icon' => 'fa-reply',
function lesson_delete_instance($id) { /// Given an ID of an instance of this module, /// this function will permanently delete the instance /// and any data that depends on it. if (!($lesson = get_record("lesson", "id", "{$id}"))) { return false; } $result = true; if (!delete_records("lesson", "id", "{$lesson->id}")) { $result = false; } if (!delete_records("lesson_pages", "lessonid", "{$lesson->id}")) { $result = false; } if (!delete_records("lesson_answers", "lessonid", "{$lesson->id}")) { $result = false; } if (!delete_records("lesson_attempts", "lessonid", "{$lesson->id}")) { $result = false; } if (!delete_records("lesson_grades", "lessonid", "{$lesson->id}")) { $result = false; } if (!delete_records("lesson_timer", "lessonid", "{$lesson->id}")) { $result = false; } if (!delete_records("lesson_branch", "lessonid", "{$lesson->id}")) { $result = false; } if (!delete_records("lesson_high_scores", "lessonid", "{$lesson->id}")) { $result = false; } if ($events = get_records_select('event', "modulename = 'lesson' and instance = '{$lesson->id}'")) { foreach ($events as $event) { delete_event($event->id); } } return $result; }
/** * Runs any processes that must be run * after a lesson insert/update * * @param object $lesson Lesson form data * @return void **/ function lesson_process_post_save(&$lesson) { if ($events = get_records_select('event', "modulename = 'lesson' and instance = '{$lesson->id}'")) { foreach ($events as $event) { delete_event($event->id); } } $event = new stdClass(); $event->description = $lesson->name; $event->courseid = $lesson->course; $event->groupid = 0; $event->userid = 0; $event->modulename = 'lesson'; $event->instance = $lesson->id; $event->eventtype = 'open'; $event->timestart = $lesson->available; $event->visible = instance_is_visible('lesson', $lesson); $event->timeduration = $lesson->deadline - $lesson->available; if ($lesson->deadline and $lesson->available and $event->timeduration <= LESSON_MAX_EVENT_LENGTH) { // Single event for the whole lesson. $event->name = $lesson->name; add_event($event); } else { // Separate start and end events. $event->timeduration = 0; if ($lesson->available) { $event->name = $lesson->name . ' (' . get_string('lessonopens', 'lesson') . ')'; add_event($event); unset($event->id); // So we can use the same object for the close event. } if ($lesson->deadline) { $event->name = $lesson->name . ' (' . get_string('lessoncloses', 'lesson') . ')'; $event->timestart = $lesson->deadline; $event->eventtype = 'close'; add_event($event); } } }
/** * This function is called at the end of qcreate_add_instance * and qcreate_update_instance, to do the common processing. * * @param object $qcreate the qcreate object. */ function qcreate_after_add_or_update($qcreate) { global $COURSE; // Update the events relating to this qcreate. // This is slightly inefficient, deleting the old events and creating new ones. However, // there are at most two events, and this keeps the code simpler. if ($events = get_records_select('event', "modulename = 'qcreate' and instance = '{$qcreate->id}'")) { foreach ($events as $event) { delete_event($event->id); } } $event = new stdClass(); $event->description = $qcreate->intro; $event->courseid = $qcreate->course; $event->groupid = 0; $event->userid = 0; $event->modulename = 'qcreate'; $event->instance = $qcreate->id; $event->timestart = $qcreate->timeopen; $event->timeduration = $qcreate->timeclose - $qcreate->timeopen; $event->visible = instance_is_visible('qcreate', $qcreate); $event->eventtype = 'open'; if ($qcreate->timeclose and $qcreate->timeopen and $event->timeduration <= QCREATE_MAX_EVENT_LENGTH) { // Single event for the whole qcreate. $event->name = $qcreate->name; add_event($event); } else { // Separate start and end events. $event->timeduration = 0; if ($qcreate->timeopen) { $event->name = $qcreate->name . ' (' . get_string('qcreateopens', 'qcreate') . ')'; add_event($event); unset($event->id); // So we can use the same object for the close event. } if ($qcreate->timeclose) { $event->name = $qcreate->name . ' (' . get_string('qcreatecloses', 'qcreate') . ')'; $event->timestart = $qcreate->timeclose; $event->eventtype = 'close'; add_event($event); } } //update related grade item qcreate_grade_item_update(stripslashes_recursive($qcreate)); }
function delete_recursive_event($eventid){ global $langNotValidInput; $rec_eventid = Database::get()->querySingle('SELECT source_event_id FROM agenda WHERE id=?d',$eventid); if($rec_eventid){ return delete_event($rec_eventid, true); } else { return array('success'=>false, 'message'=>$langNotValidInput); } }
function questionnaire_set_events($questionnaire) { // Adding the questionnaire to the eventtable. global $DB; if ($events = $DB->get_records('event', array('modulename' => 'questionnaire', 'instance' => $questionnaire->id))) { foreach ($events as $event) { delete_event($event->id); } } // The open-event. $event = new stdClass(); $event->description = $questionnaire->name; $event->courseid = $questionnaire->course; $event->groupid = 0; $event->userid = 0; $event->modulename = 'questionnaire'; $event->instance = $questionnaire->id; $event->eventtype = 'open'; $event->timestart = $questionnaire->opendate; $event->visible = instance_is_visible('questionnaire', $questionnaire); $event->timeduration = $questionnaire->closedate - $questionnaire->opendate; if ($questionnaire->closedate and $questionnaire->opendate and $event->timeduration <= QUESTIONNAIRE_MAX_EVENT_LENGTH) { // Single event for the whole questionnaire. $event->name = $questionnaire->name; add_event($event); } else { // Separate start and end events. $event->timeduration = 0; if ($questionnaire->opendate) { $event->name = $questionnaire->name . ' (' . get_string('questionnaireopens', 'questionnaire') . ')'; add_event($event); unset($event->id); // So we can use the same object for the close event. } if ($questionnaire->closedate) { $event->name = $questionnaire->name . ' (' . get_string('questionnairecloses', 'questionnaire') . ')'; $event->timestart = $questionnaire->closedate; $event->eventtype = 'close'; add_event($event); } } }
function questionnaire_delete_instance($id) { global $DB, $CFG; require_once $CFG->dirroot . '/mod/questionnaire/locallib.php'; if (!($questionnaire = $DB->get_record('questionnaire', array('id' => $id)))) { return false; } $result = true; if (!$DB->delete_records('questionnaire', array('id' => $questionnaire->id))) { $result = false; } if ($survey = $DB->get_record('questionnaire_survey', array('id' => $questionnaire->sid))) { // If this survey is owned by this course, delete all of the survey records and responses. if ($survey->owner == $questionnaire->course) { $result = $result && questionnaire_delete_survey($questionnaire->sid, $questionnaire->id); } } if ($events = $DB->get_records('event', array("modulename" => 'questionnaire', "instance" => $questionnaire->id))) { foreach ($events as $event) { delete_event($event->id); } } return $result; }
<?php require_once "../functions.php"; function delete_event($event_id) { global $database; $now = time(); $date = date('Y-m-d H:i:s', $now); $req = "delete from events where id='{$event_id}'"; $result = $database->query($req); $req = "delete from users_events where event_id='{$event_id}'"; $result = $database->query($req); return true; } if (user_is_logged()) { if (delete_event($_POST['event-id'])) { $response = array('status' => true, 'message' => 'Event deleted'); } else { $response = array('status' => false, 'message' => 'Error'); } echo json_encode($response); }