function bigbluebutton_add_instance($bigbluebutton)
{
    $bigbluebutton->timemodified = time();
    if ($returnid = insert_record('bigbluebutton', $bigbluebutton)) {
        $event = NULL;
        $event->courseid = $bigbluebutton->course;
        $event->name = $bigbluebutton->name;
        $event->meetingname = $bigbluebutton->meetingname;
        $event->meetingid = $bigbluebutton->meetingid;
        $event->attendeepw = $bigbluebutton->attendeepw;
        $event->moderatorpw = $bigbluebutton->moderatorpw;
        $event->autologin = $bigbluebutton->autologin;
        $event->newwindow = $bigbluebutton->newwindow;
        $event->welcomemsg = $bigbluebutton->welcomemsg;
        add_event($event);
    }
    return $returnid;
}
function certificate_update_instance($certificate)
{
    $certificate->timemodified = time();
    $certificate->id = $certificate->instance;
    if ($returnid = update_record('certificate', $certificate)) {
        if ($event->id = get_field('event', 'id', 'modulename', 'certificate', 'instance', $certificate->id)) {
            $event->name = $certificate->name;
            update_event($event);
        } else {
            $event = NULL;
            $event->name = $certificate->name;
            $event->courseid = $certificate->course;
            $event->groupid = 0;
            $event->userid = 0;
            $event->modulename = 'certificate';
            $event->instance = $certificate->id;
            add_event($event);
        }
    } else {
        delete_records('event', 'modulename', 'certificate', 'instance', $certificate->id);
    }
    return $returnid;
}
Example #3
0
/**
* @desc Creates the corresponding events for a wwassignment.
* @param $wwsetname string The name of the set.
* @param $wwassignmentid string The ID of the wwassignment record.
* @param $opendate integer The UNIX timestamp of the open date.
* @param $duedate integer The UNIX timestamp of the due date.
* @return integer 0 on success. -1 on error.
*/
function _wwassignment_create_events($wwsetname, $wwassignment, $opendate, $duedate)
{
    global $COURSE;
    unset($event);
    $event->name = $wwsetname;
    $event->description = 'WeBWorK Set Event';
    $event->courseid = $wwassignment->course;
    $event->groupid = 0;
    $event->userid = 0;
    $event->format = 1;
    $event->modulename = 'wwassignment';
    $event->instance = $wwassignment->id;
    $event->visible = 1;
    // FIXME -- this doesn't create a new object  we'll just handle the due date for now
    // what you want is $openevent = clone $event  this makes a shallow copy of the object
    //$openevent = $event;
    // FIXME -- it's likely that only the due date needs to be posted. once that is sure, clean this up.
    $dueevent = $event;
    //$openevent->name .= ' is Open.';
    //$openevent->eventtype = 'open';
    //$openevent->timestart = $opendate;
    //$openevent->timeduration = $duedate - $opendate;
    $dueevent->name .= ' is Due.';
    $dueevent->eventtype = 'due';
    $dueevent->timestart = $duedate;
    $dueevent->timeduration = 1;
    // error_log("adding a due event");
    $result = 0;
    //if(!add_event($openevent)) {
    //    $result = -1;
    //}
    if (!add_event($dueevent)) {
        $result = -1;
    }
    return $result;
}
Example #4
0
/**
 * Update certificate instance.
 *
 * @param stdClass $certificate
 * @return bool true
 */
function certificate_update_instance($certificate)
{
    global $DB;
    // Update the certificate
    $certificate->timemodified = time();
    $certificate->id = $certificate->instance;
    $DB->update_record('certificate', $certificate);
    // Update the event if it exists, else create
    if ($event = $DB->get_record('event', array('modulename' => 'certificate', 'instance' => $certificate->id))) {
        $event->name = $certificate->name;
        update_event($event);
    } else {
        $event = new stdClass();
        $event->name = $certificate->name;
        $event->description = '';
        $event->courseid = $certificate->course;
        $event->groupid = 0;
        $event->userid = 0;
        $event->modulename = 'certificate';
        $event->instance = $certificate->id;
        add_event($event);
    }
    return true;
}
Example #5
0
/**
 * 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));
}
Example #6
0
function chat_refresh_events($courseid = 0)
{
    // This standard function will check all instances of this module
    // and make sure there are up-to-date events created for each of them.
    // If courseid = 0, then every chat event in the site is checked, else
    // only chat events belonging to the course specified are checked.
    // This function is used, in its new format, by restore_refresh_events()
    if ($courseid) {
        if (!($chats = get_records("chat", "course", $courseid))) {
            return true;
        }
    } else {
        if (!($chats = get_records("chat"))) {
            return true;
        }
    }
    $moduleid = get_field('modules', 'id', 'name', 'chat');
    foreach ($chats as $chat) {
        $event = NULL;
        $event->name = addslashes($chat->name);
        $event->description = addslashes($chat->intro);
        $event->timestart = $chat->chattime;
        if ($event->id = get_field('event', 'id', 'modulename', 'chat', 'instance', $chat->id)) {
            update_event($event);
        } else {
            $event->courseid = $chat->course;
            $event->groupid = 0;
            $event->userid = 0;
            $event->modulename = 'chat';
            $event->instance = $chat->id;
            $event->eventtype = $chat->schedule;
            $event->timeduration = 0;
            $event->visible = get_field('course_modules', 'visible', 'module', $moduleid, 'instance', $chat->id);
            add_event($event);
        }
    }
    return true;
}
Example #7
0
/**
 * This standard function will check all instances of this module
 * and make sure there are up-to-date events created for each of them.
 * If courseid = 0, then every chat event in the site is checked, else
 * only chat events belonging to the course specified are checked.
 * This function is used, in its new format, by restore_refresh_events()
 *
 * @global object
 * @param int $courseid
 * @return bool
 */
function chat_refresh_events($courseid = 0)
{
    global $DB;
    if ($courseid) {
        if (!($chats = $DB->get_records("chat", array("course" => $courseid)))) {
            return true;
        }
    } else {
        if (!($chats = $DB->get_records("chat"))) {
            return true;
        }
    }
    $moduleid = $DB->get_field('modules', 'id', array('name' => 'chat'));
    foreach ($chats as $chat) {
        $cm = get_coursemodule_from_id('chat', $chat->id);
        $event = new object();
        $event->name = $chat->name;
        $event->description = format_module_intro('chat', $chat, $cm->id);
        $event->timestart = $chat->chattime;
        if ($event->id = $DB->get_field('event', 'id', array('modulename' => 'chat', 'instance' => $chat->id))) {
            update_event($event);
        } else {
            $event->courseid = $chat->course;
            $event->groupid = 0;
            $event->userid = 0;
            $event->modulename = 'chat';
            $event->instance = $chat->id;
            $event->eventtype = $chat->schedule;
            $event->timeduration = 0;
            $event->visible = $DB->get_field('course_modules', 'visible', array('module' => $moduleid, 'instance' => $chat->id));
            add_event($event);
        }
    }
    return true;
}
Example #8
0
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);
        }
    }
}
Example #9
0
/**
 * This is a standard Moodle module that checks to make sure there are events for each activity
 *
 * @param var $courseid The ID of the course this activity belongs to (default 0 for all courses)
 * @return bool success
 */
function turnitintool_refresh_events($courseid = 0)
{
    if ($courseid == 0) {
        if (!($turnitintools = turnitintool_get_records("turnitintool"))) {
            $result = true;
        }
    } else {
        if (!($turnitintools = turnitintool_get_records("turnitintool", "course", $courseid))) {
            $result = true;
        }
    }
    $module = turnitintool_get_records_select('modules', "name='turnitintool'", NULL, 'id');
    $moduleid = current(array_keys($module));
    foreach ($turnitintools as $turnitintool) {
        $event = new stdClass();
        $event->description = $turnitintool->intro;
        if (!($parts = turnitintool_get_records("turnitintool_parts", "turnitintoolid", $turnitintool->id))) {
            $result = false;
        }
        foreach ($parts as $part) {
            $event->timestart = $part->dtdue;
            if ($events = turnitintool_get_record_select('event', "modulename='turnitintool' AND instance=" . $turnitintool->id . " AND name='" . $turnitintool->name . " - " . $part->partname . "'")) {
                $event->id = $events->id;
                if (method_exists('calendar_event', 'update')) {
                    $calendarevent = calendar_event::load($event->id);
                    $calendarevent->update($event);
                } else {
                    update_event($event);
                }
            } else {
                $event->courseid = $turnitintool->course;
                $event->groupid = 0;
                $event->userid = 0;
                $event->modulename = 'turnitintool';
                $event->instance = $turnitintool->id;
                $event->eventtype = 'due';
                $event->timeduration = 0;
                $event->name = $turnitintool->name . ' - ' . $part->partname;
                $coursemodule = turnitintool_get_record('course_modules', 'module', $moduleid, 'instance', $turnitintool->id);
                $event->visible = $coursemodule->visible;
                if (method_exists('calendar_event', 'create')) {
                    calendar_event::create($event);
                } else {
                    add_event($event);
                }
            }
        }
        $result = true;
    }
    return $result;
}
Example #10
0
/**
 * 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);
        }
    }
}
Example #11
0
 /**
  *
  * Adds an event to the calendar of a user
  * @param object $event a object containing details of an event tot be saved into a users calendar
  */
 function save_event($event)
 {
     //we can not user add_event in moodle 2.0 as it requires the user to have persmissions to add events to the
     //calendar however this capability check can be bypassed if we use the calendar event class so we will use add_event in
     //1.9 and calendar_event class in 2.0
     global $CFG, $USER;
     if (stripos($CFG->release, "2.") !== false) {
         require_once $CFG->dirroot . '/calendar/lib.php';
         $calevent = new calendar_event($event);
         $calevent->update($event, false);
         if ($calevent !== false) {
             return $calevent->id;
         }
     } else {
         return add_event($event);
     }
 }
Example #12
0
function feedback_restore_mods($mod, $restore)
{
    global $CFG;
    // $allValues = array();
    // $allTrackings = array();
    $status = true;
    $restore_userdata = restore_userdata_selected($restore, 'feedback', $mod->id);
    //Get record from backup_ids
    $data = backup_getid($restore->backup_unique_code, $mod->modtype, $mod->id);
    if ($data) {
        //Now get completed xmlized object
        $info = $data->info;
        //check of older backupversion of feedback
        $version = intval(backup_todb($info['MOD']['#']['VERSION']['0']['#']));
        //Now, build the feedback record structure
        $feedback->course = $restore->course_id;
        $feedback->name = backup_todb($info['MOD']['#']['NAME']['0']['#']);
        $feedback->summary = backup_todb($info['MOD']['#']['SUMMARY']['0']['#']);
        $feedback->anonymous = backup_todb($info['MOD']['#']['ANONYMOUS']['0']['#']);
        $feedback->email_notification = backup_todb($info['MOD']['#']['EMAILNOTIFICATION']['0']['#']);
        $feedback->multiple_submit = backup_todb($info['MOD']['#']['MULTIPLESUBMIT']['0']['#']);
        $feedback->autonumbering = backup_todb($info['MOD']['#']['AUTONUMBERING']['0']['#']);
        $feedback->page_after_submit = backup_todb($info['MOD']['#']['PAGEAFTERSUB']['0']['#']);
        $feedback->site_after_submit = backup_todb($info['MOD']['#']['SITEAFTERSUB']['0']['#']);
        $feedback->publish_stats = backup_todb($info['MOD']['#']['PUBLISHSTATS']['0']['#']);
        $feedback->timeopen = backup_todb($info['MOD']['#']['TIMEOPEN']['0']['#']);
        $feedback->timeclose = backup_todb($info['MOD']['#']['TIMECLOSE']['0']['#']);
        $feedback->timemodified = backup_todb($info['MOD']['#']['TIMEMODIFIED']['0']['#']);
        //The structure is equal to the db, so insert the feedback
        $newid = insert_record("feedback", $feedback);
        //create events
        // the open-event
        if ($feedback->timeopen > 0) {
            $event = NULL;
            $event->name = get_string('start', 'feedback') . ' ' . $feedback->name;
            $event->description = $feedback->summary;
            $event->courseid = $feedback->course;
            $event->groupid = 0;
            $event->userid = 0;
            $event->modulename = 'feedback';
            $event->instance = $newid;
            $event->eventtype = 'open';
            $event->timestart = $feedback->timeopen;
            $event->visible = instance_is_visible('feedback', $feedback);
            if ($feedback->timeclose > 0) {
                $event->timeduration = $feedback->timeclose - $feedback->timeopen;
            } else {
                $event->timeduration = 0;
            }
            add_event($event);
        }
        // the close-event
        if ($feedback->timeclose > 0) {
            $event = NULL;
            $event->name = get_string('stop', 'feedback') . ' ' . $feedback->name;
            $event->description = $feedback->summary;
            $event->courseid = $feedback->course;
            $event->groupid = 0;
            $event->userid = 0;
            $event->modulename = 'feedback';
            $event->instance = $newid;
            $event->eventtype = 'close';
            $event->timestart = $feedback->timeclose;
            $event->visible = instance_is_visible('feedback', $feedback);
            $event->timeduration = 0;
            add_event($event);
        }
        //Do some output
        if (!defined('RESTORE_SILENTLY')) {
            echo "<ul><li>" . get_string("modulename", "feedback") . " \"" . $feedback->name . "\"<br />";
        }
        backup_flush(300);
        if ($newid) {
            //Now, build the feedback_item record structure
            $items = $info['MOD']['#']['ITEMS']['0']['#']['ITEM'];
            for ($i = 0; $i < sizeof($items); $i++) {
                $item_info = $items[$i];
                $item->feedback = $newid;
                $item->template = 0;
                $item->name = backup_todb($item_info['#']['NAME']['0']['#']);
                $item->presentation = backup_todb($item_info['#']['PRESENTATION']['0']['#']);
                $item->presentation = str_replace("\n", '', $item->presentation);
                if ($version >= 1) {
                    $item->typ = backup_todb($item_info['#']['TYP']['0']['#']);
                    $item->hasvalue = backup_todb($item_info['#']['HASVALUE']['0']['#']);
                    switch ($item->typ) {
                        case 'radio':
                            $item->typ = 'multichoice';
                            $item->presentation = 'r' . FEEDBACK_MULTICHOICERESTORE_TYPE_SEP . $item->presentation;
                            break;
                        case 'check':
                            $item->typ = 'multichoice';
                            $item->presentation = 'c' . FEEDBACK_MULTICHOICERESTORE_TYPE_SEP . $item->presentation;
                            break;
                        case 'dropdown':
                            $item->typ = 'multichoice';
                            $item->presentation = 'd' . FEEDBACK_MULTICHOICERESTORE_TYPE_SEP . $item->presentation;
                            break;
                        case 'radiorated':
                            $item->typ = 'multichoicerated';
                            $item->presentation = 'r' . FEEDBACK_MULTICHOICERESTORE_TYPE_SEP . $item->presentation;
                            break;
                        case 'dropdownrated':
                            $item->typ = 'multichoicerated';
                            $item->presentation = 'd' . FEEDBACK_MULTICHOICERESTORE_TYPE_SEP . $item->presentation;
                            break;
                    }
                } else {
                    $oldtyp = intval(backup_todb($item_info['#']['TYP']['0']['#']));
                    switch ($oldtyp) {
                        case 0:
                            $item->typ = 'label';
                            $item->hasvalue = 0;
                            break;
                        case 1:
                            $item->typ = 'textfield';
                            $item->hasvalue = 1;
                            break;
                        case 2:
                            $item->typ = 'textarea';
                            $item->hasvalue = 1;
                            break;
                        case 3:
                            $item->typ = 'radio';
                            $item->hasvalue = 1;
                            break;
                        case 4:
                            $item->typ = 'check';
                            $item->hasvalue = 1;
                            break;
                        case 5:
                            $item->typ = 'dropdown';
                            $item->hasvalue = 1;
                            break;
                    }
                }
                $item->position = backup_todb($item_info['#']['POSITION']['0']['#']);
                $item->required = backup_todb($item_info['#']['REQUIRED']['0']['#']);
                //put this new item into the database
                $newitemid = insert_record('feedback_item', $item);
                //Now check if want to restore user data and do it.
                if ($restore_userdata) {
                    $values = $item_info['#']['FBVALUES']['0']['#']['FBVALUE'];
                    for ($ii = 0; $ii < sizeof($values); $ii++) {
                        $value_info = $values[$ii];
                        $value = new object();
                        $value->id = '';
                        $value->item = $newitemid;
                        $value->completed = 0;
                        $value->tmp_completed = backup_todb($value_info['#']['COMPLETED']['0']['#']);
                        $value->value = backup_todb($value_info['#']['VAL']['0']['#']);
                        $value->value = addslashes($value->value);
                        $value->course_id = backup_todb($value_info['#']['COURSE_ID']['0']['#']);
                        //put this new value into the database
                        $newvalueid = insert_record('feedback_value', $value);
                        $value->id = $newvalueid;
                        // $allValues[] = $value;
                    }
                }
            }
            //Now check if want to restore user data again and do it.
            if ($restore_userdata) {
                //restore tracking-data
                $trackings = $info['MOD']['#']['TRACKINGS']['0']['#']['TRACKING'];
                for ($i = 0; $i < sizeof($trackings); $i++) {
                    $tracking_info = $trackings[$i];
                    $tracking = new object();
                    $tracking->id = '';
                    $tracking->userid = backup_todb($tracking_info['#']['USERID']['0']['#']);
                    //have to change later
                    $tracking->feedback = $newid;
                    $tracking->completed = backup_todb($tracking_info['#']['COMPLETED']['0']['#']);
                    //have to change later
                    $tracking->count = backup_todb($tracking_info['#']['COUNT']['0']['#']);
                    if ($tracking->userid > 0) {
                        //We have to recode the userid field
                        $user = backup_getid($restore->backup_unique_code, "user", $tracking->userid);
                        if ($user) {
                            $tracking->userid = $user->new_id;
                        }
                    }
                    //save the tracking
                    $newtrackingid = insert_record('feedback_tracking', $tracking);
                    $tracking->id = $newtrackingid;
                    // $allTrackings[] = $tracking;
                }
                //restore completeds
                $completeds = $info['MOD']['#']['COMPLETEDS']['0']['#']['COMPLETED'];
                for ($i = 0; $i < sizeof($completeds); $i++) {
                    $completed_info = $completeds[$i];
                    $completed = new object();
                    $completed->feedback = $newid;
                    $completed->userid = backup_todb($completed_info['#']['USERID']['0']['#']);
                    $completed->timemodified = backup_todb($completed_info['#']['TIMEMODIFIED']['0']['#']);
                    $completed->random_response = backup_todb($completed_info['#']['RANDOMRESPONSE']['0']['#']);
                    if (!($anonymous_response = backup_todb($completed_info['#']['ANONYMOUSRESPONSE']['0']['#']))) {
                        $anonymous_response = 1;
                    }
                    $completed->anonymous_response = $anonymous_response;
                    if ($completed->userid > 0) {
                        //We have to recode the userid field
                        $user = backup_getid($restore->backup_unique_code, "user", $completed->userid);
                        if ($user) {
                            $completed->userid = $user->new_id;
                        }
                    }
                    //later this have to be changed
                    $oldcompletedid = backup_todb($completed_info['#']['ID']['0']['#']);
                    //save the completed
                    $newcompletedid = insert_record('feedback_completed', $completed);
                    //the newcompletedid have to be changed at every values
                    $tochangevals = get_records('feedback_value', 'tmp_completed', $oldcompletedid);
                    if ($tochangevals) {
                        foreach ($tochangevals as $tmpVal) {
                            $tmpVal->completed = $newcompletedid;
                            $tmpVal->tmp_completed = 0;
                            update_record('feedback_value', $tmpVal);
                        }
                    }
                    //the newcompletedid have to be changed at every tracking
                    $tochangetracks = get_records('feedback_tracking', 'completed', $oldcompletedid);
                    if ($tochangetracks) {
                        foreach ($tochangetracks as $tmpTrack) {
                            $tmpTrack->completed = $newcompletedid;
                            $tmpTrack->tmp_completed = 0;
                            update_record('feedback_tracking', $tmpTrack);
                        }
                    }
                }
            }
            //We have the newid, update backup_ids
            backup_putid($restore->backup_unique_code, $mod->modtype, $mod->id, $newid);
        } else {
            $status = false;
        }
        if (!defined('RESTORE_SILENTLY')) {
            //Finalize ul
            echo "</ul>";
        }
    } else {
        $status = false;
    }
    return $status;
}
Example #13
0
function wwassignment_refresh_events($courseid = 0)
{
    error_log('wwassignment_refresh_events called');
    if ($courseid == 0) {
        if (!($wwassignment = get_records('wwassignment'))) {
            return true;
        }
    } else {
        if (!($wwassignment = get_records('wwassignment', 'course', $courseid))) {
            return true;
        }
    }
    $moduleid = get_field('modules', 'id', 'name', 'wwassignment');
    foreach ($wwassignment as $wwassignment) {
        $event = NULL;
        $event->name = addslashes($wwassignment->name);
        $event->description = addslashes($wwassignment->description);
        $event->timestart = $wwassignment->timedue;
        if ($event->id = get_field('event', 'id', 'modulename', 'wwassignment', 'instance', $wwassignment->id)) {
            update_event($event);
        } else {
            $event->courseid = $wwassignment->course;
            $event->groupid = 0;
            $event->userid = 0;
            $event->modulename = 'wwassignment';
            $event->instance = $wwassignment->id;
            $event->eventtype = 'due';
            $event->timeduration = 0;
            $event->visible = get_field('course_modules', 'visible', 'module', $moduleid, 'instance', $wwassignment->id);
            add_event($event);
        }
    }
    return true;
}
Example #14
0
/**
 * Make sure up-to-date events are created for all mediaboard instances
 *
 * This standard function will check all instances of this module
 * and make sure there are up-to-date events created for each of them.
 * If courseid = 0, then every mediaboard event in the site is checked, else
 * only mediaboard events belonging to the course specified are checked.
 * This function is used, in its new format, by restore_refresh_events()
 *
 * @param $courseid int optional If zero then all mediaboards for all courses are covered
 * @return boolean Always returns true
 */
function mediaboard_refresh_events($courseid = 0)
{
    global $DB;
    if ($courseid == 0) {
        if (!($mediaboards = $DB->get_records("mediaboard"))) {
            return true;
        }
    } else {
        if (!($mediaboards = $DB->get_records("mediaboard", array("course" => $courseid)))) {
            return true;
        }
    }
    $moduleid = $DB->get_field('modules', 'id', array('name' => 'mediaboard'));
    foreach ($mediaboards as $mediaboard) {
        $cm = get_coursemodule_from_id('mediaboard', $mediaboard->id);
        $event = new stdClass();
        $event->name = $mediaboard->name;
        $event->description = format_module_intro('mediaboard', $mediaboard, $cm->id);
        $event->timestart = $mediaboard->timedue;
        if ($event->id = $DB->get_field('event', 'id', array('modulename' => 'mediaboard', 'instance' => $mediaboard->id))) {
            update_event($event);
        } else {
            $event->courseid = $mediaboard->course;
            $event->groupid = 0;
            $event->userid = 0;
            $event->modulename = 'mediaboard';
            $event->instance = $mediaboard->id;
            $event->eventtype = 'due';
            $event->timeduration = 0;
            $event->visible = $DB->get_field('course_modules', 'visible', array('module' => $moduleid, 'instance' => $mediaboard->id));
            add_event($event);
        }
    }
    return true;
}
Example #15
0
<?php

include 'config/db.php';
include 'libraries/events.php';
include 'libraries/general.php';
$device_id = mysqli_real_escape_string($conn, $_GET['device_id']);
if (ctype_digit($device_id) && !empty($device_id)) {
    $sql = "DELETE FROM `devices` WHERE `device_id`='{$device_id}'";
    if ($conn->query($sql) === TRUE) {
        //set success message
        $device_label = get_device_label_from_id($device_id);
        $event_type = "Device Removed";
        $event_message = "Device {$device_label} was removed";
        $event_status = "Complete";
        add_event($event_type, $event_message, $event_status);
        $_SESSION['success'] = "Success, device removed.";
    } else {
        //set error message
        $_SESSION['error'] = "Error, device not removed.";
    }
    //redirect back to where we came from
    $referrer = $_SESSION['referrer'];
    unset($_SESSION['referrer']);
    //clear session var
    header("Location: {$referrer}");
    //redirect!
}
<?php

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
Example #17
0
 //see if the user wanted their selected options to be saved
 if ($_POST['saveBookingOptions'] == 'yes') {
     if ($bookingByUserID != '' && $bookingByUserID != '%') {
         //remove any existing preferences for this user
         $query = 'DELETE FROM ' . BOOKING_USER_OPTIONS_TABLE . ' WHERE user_id="' . $bookingByUserID . '"';
         wrap_db_query($query);
         //save the new preferences to the db for use next time
         $numBookingOptions = count($_POST['bookingOptions']);
         for ($o = 0; $o < $numBookingOptions; $o++) {
             $query = "INSERT INTO " . BOOKING_USER_OPTIONS_TABLE . " SET user_id = " . $bookingByUserID . ", option_id = '" . $_POST['bookingOptions'][$o] . "'";
             wrap_db_query($query);
         }
     }
 }
 // Attempt to Add the Event to the Database
 $add_event_id = add_event($bookingForUsername, $scheduled_date_time_data, $_REQUEST['subject'], $_REQUEST['location'], $starting_date . ' ' . $_REQUEST['start_time'], $ending_date . ' ' . $_REQUEST['end_time'], $_REQUEST['recur_interval'], $_REQUEST['recur_freq'], $recur_date, $_REQUEST['desc'], $_POST['bookingOptions']);
 if (!empty($add_event_id)) {
     $page_info_message = "Event added successfully!";
     //if the user uses booking credits update their remaining credits
     if ($deductCredits && $bookeeUsesCredits) {
         update_booking_credits($bookingForUsername, $scheduled_slots, 'dec');
         //Set the right message depending on if we are making the booking for ourselves or not
         if ($bookingForUsername == $_SESSION['valid_user']) {
             //booking for self
             $page_info_message .= '<br><br>' . $scheduled_slots . ' credits have been deducted for this booking. You have ' . remaining_booking_credits($bookingForUsername) . ' credits remaining.';
         } else {
             //booking for someone else
             $page_info_message .= '<br><br>NOTE: User ' . $bookingForUsername . ' has had ' . $scheduled_slots . ' credits deducted. ' . remaining_booking_credits($bookingForUsername) . ' credits remaining.';
         }
     }
     //see if booking cinfirmation e-mails are to get sent out
Example #18
0
         $recursion = null;
         if (!empty($_POST['frequencyperiod']) && intval($_POST['frequencynumber']) > 0 && !empty($_POST['enddate'])) {
             $recursion = array('unit' => $_POST['frequencyperiod'], 'repeat' => $_POST['frequencynumber'], 'end' => $_POST['enddate']);
         }            
         if(isset($_POST['rep']) && $_POST['rep'] == 'yes'){
             $resp = update_recursive_event($id, $event_title, $startdate, $duration, $content, $recursion);
         } else {
             $resp = update_event($id, $event_title, $startdate, $duration, $content, $recursion);
         }
         $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");              
 }
Example #19
0
/** 
 *  This creates new events given as timeopen and closeopen by $feedback.
 *  @param object $feedback
 *  @return void
 */
function feedback_set_events($feedback)
{
    // adding the feedback to the eventtable (I have seen this at quiz-module)
    delete_records('event', 'modulename', 'feedback', 'instance', $feedback->id);
    // the open-event
    if ($feedback->timeopen > 0) {
        $event = NULL;
        $event->name = get_string('start', 'feedback') . ' ' . $feedback->name;
        $event->description = $feedback->summary;
        $event->courseid = $feedback->course;
        $event->groupid = 0;
        $event->userid = 0;
        $event->modulename = 'feedback';
        $event->instance = $feedbackid;
        $event->eventtype = 'open';
        $event->timestart = $feedback->timeopen;
        $event->visible = instance_is_visible('feedback', $feedback);
        if ($feedback->timeclose > 0) {
            $event->timeduration = $feedback->timeclose - $feedback->timeopen;
        } else {
            $event->timeduration = 0;
        }
        add_event($event);
    }
    // the close-event
    if ($feedback->timeclose > 0) {
        $event = NULL;
        $event->name = get_string('stop', 'feedback') . ' ' . $feedback->name;
        $event->description = $feedback->summary;
        $event->courseid = $feedback->course;
        $event->groupid = 0;
        $event->userid = 0;
        $event->modulename = 'feedback';
        $event->instance = $feedbackid;
        $event->eventtype = 'close';
        $event->timestart = $feedback->timeclose;
        $event->visible = instance_is_visible('feedback', $feedback);
        $event->timeduration = 0;
        add_event($event);
    }
}
Example #20
0
function hotpot_update_events($hotpot)
{
    // remove any previous calendar events for this hotpot
    delete_records('event', 'modulename', 'hotpot', 'instance', $hotpot->id);
    $event = new stdClass();
    $event->description = addslashes($hotpot->summary);
    $event->courseid = $hotpot->course;
    $event->groupid = 0;
    $event->userid = 0;
    $event->modulename = 'hotpot';
    $event->instance = $hotpot->id;
    $event->timestart = $hotpot->timeopen;
    if ($cm = get_coursemodule_from_id('hotpot', $hotpot->id)) {
        $event->visible = hotpot_is_visible($cm);
    } else {
        $event->visible = 1;
    }
    if ($hotpot->timeclose && $hotpot->timeopen) {
        // we have both a start and an end date
        $event->eventtype = 'open';
        $event->timeduration = $hotpot->timeclose - $hotpot->timeopen;
        if ($event->timeduration > HOTPOT_MAX_EVENT_LENGTH) {
            /// Long durations create two events
            $event->name = addslashes($hotpot->name) . ' (' . get_string('hotpotopens', 'hotpot') . ')';
            $event->timeduration = 0;
            add_event($event);
            $event->timestart = $hotpot->timeclose;
            $event->eventtype = 'close';
            $event->name = addslashes($hotpot->name) . ' (' . get_string('hotpotcloses', 'hotpot') . ')';
            unset($event->id);
            add_event($event);
        } else {
            // single event with duration
            $event->name = $hotpot->name;
            add_event($event);
        }
    } elseif ($hotpot->timeopen) {
        // only an open date
        $event->name = addslashes($hotpot->name) . ' (' . get_string('hotpotopens', 'hotpot') . ')';
        $event->eventtype = 'open';
        $event->timeduration = 0;
        add_event($event);
    } elseif ($hotpot->timeclose) {
        // only a closing date
        $event->name = addslashes($hotpot->name) . ' (' . get_string('hotpotcloses', 'hotpot') . ')';
        $event->timestart = $hotpot->timeclose;
        $event->eventtype = 'close';
        $event->timeduration = 0;
        add_event($event);
    }
}
Example #21
0
function update_trigger($triggerid, $expression = NULL, $description = NULL, $type = NULL, $priority = NULL, $status = NULL, $comments = NULL, $url = NULL, $deps = array(), $templateid = 0)
{
    $trigger = get_trigger_by_triggerid($triggerid);
    $trig_hosts = get_hosts_by_triggerid($triggerid);
    $trig_host = DBfetch($trig_hosts);
    $event_to_unknown = false;
    if (is_null($expression)) {
        /* Restore expression */
        $expression = explode_exp($trigger["expression"], 0);
    } else {
        if ($expression != explode_exp($trigger["expression"], 0)) {
            $event_to_unknown = true;
        }
    }
    if (!validate_expression($expression)) {
        return false;
    }
    $exp_hosts = get_hosts_by_expression($expression);
    if ($exp_hosts) {
        $chd_hosts = get_hosts_by_templateid($trig_host["hostid"]);
        if (DBfetch($chd_hosts)) {
            $exp_host = DBfetch($exp_hosts);
            $db_chd_triggers = get_triggers_by_templateid($triggerid);
            while ($db_chd_trigger = DBfetch($db_chd_triggers)) {
                $chd_trig_hosts = get_hosts_by_triggerid($db_chd_trigger["triggerid"]);
                $chd_trig_host = DBfetch($chd_trig_hosts);
                $newexpression = str_replace("{" . $exp_host["host"] . ":", "{" . $chd_trig_host["host"] . ":", $expression);
                // recursion
                update_trigger($db_chd_trigger["triggerid"], $newexpression, $description, $type, $priority, NULL, $comments, $url, replace_template_dependencies($deps, $chd_trig_host['hostid']), $triggerid);
            }
        }
    }
    $result = delete_function_by_triggerid($triggerid);
    if (!$result) {
        return $result;
    }
    $expression = implode_exp($expression, $triggerid);
    /* errors can be ignored cose function must return NULL */
    if ($event_to_unknown) {
        add_event($triggerid, TRIGGER_VALUE_UNKNOWN);
    }
    reset_items_nextcheck($triggerid);
    $sql = "UPDATE triggers SET";
    if (!is_null($expression)) {
        $sql .= ' expression=' . zbx_dbstr($expression) . ',';
    }
    if (!is_null($description)) {
        $sql .= ' description=' . zbx_dbstr($description) . ',';
    }
    if (!is_null($type)) {
        $sql .= ' type=' . $type . ',';
    }
    if (!is_null($priority)) {
        $sql .= ' priority=' . $priority . ',';
    }
    if (!is_null($status)) {
        $sql .= ' status=' . $status . ',';
    }
    if (!is_null($comments)) {
        $sql .= ' comments=' . zbx_dbstr($comments) . ',';
    }
    if (!is_null($url)) {
        $sql .= ' url=' . zbx_dbstr($url) . ',';
    }
    if (!is_null($templateid)) {
        $sql .= ' templateid=' . $templateid . ',';
    }
    $sql .= ' value=2 WHERE triggerid=' . $triggerid;
    $result = DBexecute($sql);
    delete_dependencies_by_triggerid($triggerid);
    foreach ($deps as $id => $triggerid_up) {
        if (!($result2 = add_trigger_dependency($triggerid, $triggerid_up))) {
            error(S_INCORRECT_DEPENDENCY . ' [' . expand_trigger_description($triggerid_up) . ']');
        }
        $result &= $result2;
    }
    if ($result) {
        $trig_hosts = get_hosts_by_triggerid($triggerid);
        $msg = "Trigger '" . $trigger["description"] . "' updated";
        $trig_host = DBfetch($trig_hosts);
        if ($trig_host) {
            $msg .= " for host '" . $trig_host["host"] . "'";
        }
        info($msg);
    }
    if ($result) {
        $trigger_new = get_trigger_by_triggerid($triggerid);
        add_audit_ext(AUDIT_ACTION_UPDATE, AUDIT_RESOURCE_TRIGGER, $triggerid, $trigger["description"], 'triggers', $trigger, $trigger_new);
    }
    return $result;
}
Example #22
0
    /**
     * Update existing event and logs the action
     * @param int $eventid id in table personal_calendar
     * @param string $title event title
     * @param string $start event datetime
     * @param text $content event details
     * @param boolean $recursivelly specifies if the update should be applied to all events of the group of recursive events or to the specific one
     */
    function update_event($eventid, $title, $start, $duration, $content, $recursion, $recursivelly = false){
        global $uid, $langNotValidInput, $course_id;

        if (!preg_match('/[0-9]+(:[0-9]+){0,2}/', $duration)) {
            $duration = '0:00';
        }

        if($recursivelly && !is_null($recursion)){
            $oldrec = get_event_recursion($eventid, $course_id);
            $p = "P".$recursion['repeat'].$recursion['unit'];
            $e = DateTime::createFromFormat('d-m-Y', $recursion['end'])->format('Y-m-d');
            if($oldrec->recursion_period != $p || $oldrec->recursion_end != $e){
                delete_recursive_event($eventid);
                return add_event($title, $content, $start, $duration, $recursion);
            }
        }

        if(!is_null($recursion) && !is_recursive($eventid))
        {
            delete_event($eventid);
            return add_event($title, $content, $start, $duration, $recursion);
        }

        $d1 = DateTime::createFromFormat('d-m-Y H:i', $start);
        $d2 = DateTime::createFromFormat('d-m-Y H:i:s', $start);
        $title = trim($title);
        if(empty($title) || !(($d1 && $d1->format('d-m-Y H:i') == $start) || ($d2 && $d2->format('d-m-Y H:i:s') == $start)))
        {
            return array('success'=>false, 'message'=>$langNotValidInput);
        } else {
            $start = $d1->format('Y-m-d H:i');
        }

        $where_clause = ($recursivelly)? "WHERE source_event_id = ?d AND course_id = ?d":"WHERE id = ?d AND course_id = ?d";
        $startdatetimeformatted = ($recursivelly)? $d1->format('H:i'):$d1->format('Y-m-d H:i');
        $start_date_update_clause = ($recursivelly)? "start = CONCAT(date_format(start, '%Y-%m-%d '),?t), ":"start = ?t, ";
        Database::get()->query("UPDATE agenda SET "
            . "title = ?s, "
            . $start_date_update_clause
            . "duration = ?t, "
            . "content = ?s "
            . $where_clause,
            $title, $startdatetimeformatted, $duration, purify($content), $eventid, $course_id);

        Log::record($course_id, MODULE_ID_AGENDA, LOG_MODIFY, array('user_id' => $uid, 'id' => $eventid,
        'title' => $title,
        'recursivelly' => $recursivelly,
        'content' => ellipsize_html(canonicalize_whitespace(strip_tags($content)), 50, '+')));
        return array('success'=>true, 'message'=>'', 'event'=>$eventid);
    }
Example #23
0
function workshop_update_instance($workshop)
{
    // Given an object containing all the necessary data,
    // (defined by the form in mod.html) this function
    // will update an existing instance with new data.
    global $CFG;
    $workshop->timemodified = time();
    $workshop->submissionstart = make_timestamp($workshop->submissionstartyear, $workshop->submissionstartmonth, $workshop->submissionstartday, $workshop->submissionstarthour, $workshop->submissionstartminute);
    $workshop->assessmentstart = make_timestamp($workshop->assessmentstartyear, $workshop->assessmentstartmonth, $workshop->assessmentstartday, $workshop->assessmentstarthour, $workshop->assessmentstartminute);
    $workshop->submissionend = make_timestamp($workshop->submissionendyear, $workshop->submissionendmonth, $workshop->submissionendday, $workshop->submissionendhour, $workshop->submissionendminute);
    $workshop->assessmentend = make_timestamp($workshop->assessmentendyear, $workshop->assessmentendmonth, $workshop->assessmentendday, $workshop->assessmentendhour, $workshop->assessmentendminute);
    $workshop->releasegrades = make_timestamp($workshop->releaseyear, $workshop->releasemonth, $workshop->releaseday, $workshop->releasehour, $workshop->releaseminute);
    if (!workshop_check_dates($workshop)) {
        return get_string('invaliddates', 'workshop');
    }
    // set the workshop's type
    $wtype = 0;
    // 3 phases, no grading grades
    if ($workshop->includeself or $workshop->ntassessments) {
        $wtype = 1;
    }
    // 3 phases with grading grades
    if ($workshop->nsassessments) {
        $wtype = 2;
    }
    // 5 phases with grading grades
    $workshop->wtype = $wtype;
    // encode password if necessary
    if (!empty($workshop->password)) {
        $workshop->password = md5($workshop->password);
    } else {
        unset($workshop->password);
    }
    $workshop->id = $workshop->instance;
    if ($returnid = update_record("workshop", $workshop)) {
        $dates = array('submissionstart' => $workshop->submissionstart, 'submissionend' => $workshop->submissionend, 'assessmentstart' => $workshop->assessmentstart, 'assessmentend' => $workshop->assessmentend);
        $moduleid = get_field('modules', 'id', 'name', 'workshop');
        foreach ($dates as $type => $date) {
            if ($event = get_record('event', 'modulename', 'workshop', 'instance', $workshop->id, 'eventtype', $type)) {
                $event->name = get_string($type . 'event', 'workshop', $workshop->name);
                $event->description = $workshop->description;
                $event->eventtype = $type;
                $event->timestart = $date;
                update_event($event);
            } else {
                if ($date) {
                    $event = NULL;
                    $event->name = get_string($type . 'event', 'workshop', $workshop->name);
                    $event->description = $workshop->description;
                    $event->courseid = $workshop->course;
                    $event->groupid = 0;
                    $event->userid = 0;
                    $event->modulename = 'workshop';
                    $event->instance = $workshop->instance;
                    $event->eventtype = $type;
                    $event->timestart = $date;
                    $event->timeduration = 0;
                    $event->visible = get_field('course_modules', 'visible', 'module', $moduleid, 'instance', $workshop->id);
                    add_event($event);
                }
            }
        }
    }
    if (time() > $workshop->assessmentstart) {
        // regrade all the submissions...
        set_field("workshop_submissions", "nassessments", 0, "workshopid", $workshop->id);
        workshop_grade_assessments($workshop);
    }
    return $returnid;
}
        $event_result = $conn->query(add_event($username, "added", $_POST['special_mailer_types']));
    } elseif ($_POST['change_special_mailers'] == 'remove_special_mailer') {
        $remove_mailers_result = $conn->query(remove_item("special_mailers", "daily_lead_data"));
        $remove_mailers_code_result = $conn->query(remove_item($_POST['special_mailer_types'], "daily_special_mailers"));
        $event_result = $conn->query(add_event($username, "removed", $_POST['special_mailer_types']));
    }
}
/* Logic for adding web apps */
if (isset($_POST['change_web_apps'])) {
    if ($_POST['change_web_apps'] == "add_web_app") {
        $add_web_apps_result = $conn->query(add_item("web_apps", "daily_lead_data"));
        $drop_web_result = $conn->query(drop_rank("web"));
        $event_result = $conn->query(add_event($username, "added", "web app"));
    } elseif ($_POST['change_web_apps'] == "remove_web_app") {
        $remove_web_apps_result = $conn->query(remove_item("web_apps", "daily_lead_data"));
        $raise_web_result = $conn->query(raise_rank("web_apps"));
        $event_result = $conn->query(add_event($username, "removed", "web apps"));
    }
}
/* Logic for adding abandoned web apps */
if (isset($_POST['change_abandoned_web_apps'])) {
    if ($_POST['change_abandoned_web_apps'] == 'add_abandoned_web_app') {
        $add_abandoned_web_result = $conn->query(add_item("abandoned_web_apps", "daily_lead_data"));
        $event_result = $conn->query(add_event($username, "added", "abandoned web apps"));
    } elseif ($_POST['change_abandoned_web_apps'] == 'remove_abandoned_web_app') {
        $remove_abandoned_web_result = $conn->query(remove_item("abandoned_web_apps", "daily_lead_data"));
        $event_result = $conn->query(add_event($username, "removed", "abandoned web apps"));
    }
}
unset($_POST);
header('Location: index.php');
Example #25
0
 /**
  * Updates a new assignment activity
  *
  * Given an object containing all the necessary data,
  * (defined by the form in mod_form.php) this function
  * will update the assignment instance and return the id number
  * The due date is updated in the calendar
  * This is common to all assignment types.
  *
  * @global object
  * @global object
  * @param object $assignment The data from the form on mod_form.php
  * @return int The assignment id
  */
 function update_instance($assignment)
 {
     global $COURSE, $DB;
     $assignment->timemodified = time();
     $assignment->id = $assignment->instance;
     $assignment->courseid = $assignment->course;
     $DB->update_record('assignment', $assignment);
     if ($assignment->timedue) {
         $event = new object();
         if ($event->id = $DB->get_field('event', 'id', array('modulename' => 'assignment', 'instance' => $assignment->id))) {
             $event->name = $assignment->name;
             $event->description = format_module_intro('assignment', $assignment, $assignment->coursemodule);
             $event->timestart = $assignment->timedue;
             update_event($event);
         } else {
             $event = new object();
             $event->name = $assignment->name;
             $event->description = format_module_intro('assignment', $assignment, $assignment->coursemodule);
             $event->courseid = $assignment->course;
             $event->groupid = 0;
             $event->userid = 0;
             $event->modulename = 'assignment';
             $event->instance = $assignment->id;
             $event->eventtype = 'due';
             $event->timestart = $assignment->timedue;
             $event->timeduration = 0;
             add_event($event);
         }
     } else {
         $DB->delete_records('event', array('modulename' => 'assignment', 'instance' => $assignment->id));
     }
     // get existing grade item
     assignment_grade_item_update($assignment);
     return true;
 }
Example #26
0
function parse_user($str, $game_id, $client_id, $options)
{
    global $fhs;
    global $fhe;
    global $events;
    global $parms;
    debugger("Memory Usage: parse_user: "******"\n");
    $json = json_decode($str);
    if ($json != FALSE) {
        foreach ($json as $key => $value) {
            switch ($key) {
                case 'u':
                    $user = $value;
                    break;
                case 'v':
                    $version = $value;
                    break;
                case 'dv':
                    $device = $value;
                    break;
                case 't':
                    $epoch = round($value / 1000);
                    $datetime = new DateTime("@{$epoch}", new DateTimeZone('EST'));
                    break;
                case 'l':
                    $event = parse_events($epoch, $value);
                    break;
            }
        }
        //SESSION
        $record = "{$game_id},{$client_id},'" . $user . "','" . $version . "','" . $device . "','" . $datetime->format('Y-m-d H:i:s') . "'\n";
        fwrite($fhs, $record);
        //EVENTS
        if (!isset($options['u'])) {
            foreach ($event as $key => $value) {
                if (array_key_exists(strtolower($value['event']), $events)) {
                    $record = "{$game_id},{$client_id},'" . $user . "','" . $version . "','" . $device . "','" . $value['time'] . "'," . $events[strtolower($value['event'])] . ",";
                } else {
                    $events = add_event(strtolower($value['event']));
                    $record = "{$game_id},{$client_id},'" . $user . "','" . $version . "','" . $device . "','" . $value['time'] . "'," . $events[strtolower($value['event'])] . ",";
                }
                if (count($value['parameters']) > 0) {
                    foreach ($value['parameters'] as $parameter_key => $parameter_value) {
                        if (array_key_exists(strtolower($parameter_key), $parms)) {
                            fwrite($fhe, $record . "'" . $parms[strtolower($parameter_key)] . "','" . $parameter_value . "'\n");
                        } else {
                            $parms = add_parm(strtolower($parameter_key));
                            fwrite($fhe, $record . "'" . $parms[strtolower($parameter_key)] . "','" . $parameter_value . "'\n");
                        }
                    }
                } else {
                    fwrite($fhe, $record . ",\n");
                }
            }
        }
        unset($datetime);
    }
    unset($json);
}
Example #27
0
 /**
  * Updates a new assignment activity
  *
  * Given an object containing all the necessary data,
  * (defined by the form in mod.html) this function
  * will update the assignment instance and return the id number
  * The due date is updated in the calendar
  * This is common to all assignment types.
  *
  * @param $assignment object The data from the form on mod.html
  * @return int The assignment id
  */
 function update_instance($assignment)
 {
     global $COURSE;
     $assignment->timemodified = time();
     $assignment->id = $assignment->instance;
     $assignment->courseid = $assignment->course;
     if (!update_record('assignment', $assignment)) {
         return false;
     }
     if ($assignment->timedue) {
         $event = new object();
         if ($event->id = get_field('event', 'id', 'modulename', 'assignment', 'instance', $assignment->id)) {
             $event->name = $assignment->name;
             $event->description = $assignment->description;
             $event->timestart = $assignment->timedue;
             update_event($event);
         } else {
             $event = new object();
             $event->name = $assignment->name;
             $event->description = $assignment->description;
             $event->courseid = $assignment->course;
             $event->groupid = 0;
             $event->userid = 0;
             $event->modulename = 'assignment';
             $event->instance = $assignment->id;
             $event->eventtype = 'due';
             $event->timestart = $assignment->timedue;
             $event->timeduration = 0;
             add_event($event);
         }
     } else {
         delete_records('event', 'modulename', 'assignment', 'instance', $assignment->id);
     }
     // get existing grade item
     $assignment = stripslashes_recursive($assignment);
     assignment_grade_item_update($assignment);
     return true;
 }
Example #28
0
 public static function generateEvents($events, $sorted = true)
 {
     $event_list = [];
     function add_event(&$event_list, $time, $event, $sorted)
     {
         $event = clone $event;
         $event['event_date'] = date('Y-m-d H:i:s', $time);
         if ($sorted === TRUE) {
             $year = intval(date("Y", $time));
             $month = intval(date("m", $time));
             $day = intval(date("d", $time));
             if (isset($event_list[$year][$month][$day])) {
                 $event_list[$year][$month][$day][] = $event;
             } else {
                 $event_list[$year][$month][$day] = [$event];
             }
         } else {
             $event_list[] = $event;
         }
     }
     foreach ($events as $event) {
         $time = strtotime($event->event_date);
         add_event($event_list, $time, $event, $sorted);
         $to_time = strtotime($event->repeat_to_date);
         if ($time < $to_time && $event->repeat_frequency !== 'none') {
             switch ($event->repeat_frequency) {
                 case 'zilnic':
                     $add_time = 86400;
                     while ($time + $add_time <= $to_time) {
                         $time += $add_time;
                         add_event($event_list, $time, $event, $sorted);
                     }
                     break;
                 case 'saptaminal':
                     $add_time = 86400 * 7;
                     while ($time + $add_time <= $to_time) {
                         $time += $add_time;
                         add_event($event_list, $time, $event, $sorted);
                     }
                     break;
                 case 'lunar':
                     $day = date("d", $time);
                     while ($time <= $to_time) {
                         $calc_time = strtotime(date("Y-m-{$day} H:i:s", strtotime("+1 months", $time)));
                         if ($calc_time) {
                             $time = $calc_time;
                             if ($time > $to_time) {
                                 break;
                             }
                             add_event($event_list, $time, $event, $sorted);
                         } else {
                             $time = strtotime("+1 months", $time);
                         }
                     }
                     break;
                 case 'anual':
                     $day = date("d", $time);
                     $month = date("m", $time);
                     while ($time <= $to_time) {
                         $calc_time = strtotime(date("Y-{$month}-{$day} H:i:s", strtotime("+1 years", $time)));
                         if ($calc_time) {
                             $time = $calc_time;
                             if ($time > $to_time) {
                                 break;
                             }
                             add_event($event_list, $time, $event, $sorted);
                         } else {
                             $time = strtotime("+1 years", $time);
                         }
                     }
                     break;
             }
         }
     }
     return $event_list;
 }
Example #29
0
    print '<h3> <center> Please select the quarter in which you will be Teaching  </center></h3>';
    if (isset($_POST['submit1'])) {
        $_SESSION['dept'] = $_POST['dept'];
    }
    if (isset($_POST['submit2'])) {
        $_SESSION['course'] = $_POST['course'];
    }
    if (isset($_POST['submit3'])) {
        $_SESSION['section'] = $_POST['section'];
        //then find events, check for conflicts, add to calendar.
        $error = add_event($_SESSION['section'], "section", $_SESSION['year'], $_SESSION['season'], $_SESSION['ta_id']);
    }
    if (isset($_POST['submit'])) {
        $_SESSION['crn'] = $_POST['crn'];
        //get section id from CRN or return NOT FOUND
        $error = add_event($_SESSION['crn'], "crn", $_SESSION['year'], $_SESSION['season'], $_SESSION['ta_id']);
    }
    if (isset($_POST['drop'])) {
        //drop this section from db
        //the value comes in as dept|course|section
        $s = explode("|", $_POST['assigned']);
        drop_section($s[2], $s[1], $s[0], $_SESSION['year'], $_SESSION['season'], $_SESSION['ta_id']);
    }
    ?>

  <form name="quarter_form" id="quarter_form" action="quarter.php" method="post">
  <p style="margin-left: 20px">Select a quarter: <select name="quarter" id="quarter">
<?php 
    populate_quarters();
    ?>
  </select> </p> <input class="button blue" style="padding: 5px; font-size:small; float:right" type="submit" name="submit" id="submit" value="Submit"/>  </form>
/**
 * Make sure up-to-date events are created for all webquestscorm instances
 *
 * This standard function will check all instances of this module
 * and make sure there are up-to-date events created for each of them.
 * If courseid = 0, then every webquestscorm event in the site is checked, else
 * only webquestscorm events belonging to the course specified are checked.
 * This function is used, in its new format, by restore_refresh_events()
 *
 * @param $courseid int optional If zero then all webquestscorms for all courses are covered
 * @return boolean Always returns true
 */
function webquestscorm_refresh_events($courseid = 0)
{
    if ($courseid == 0) {
        if (!($webquestscorms = get_records("webquestscorm"))) {
            return true;
        }
    } else {
        if (!($webquestscorms = get_records("webquestscorm", "course", $courseid))) {
            return true;
        }
    }
    $moduleid = get_field('modules', 'id', 'name', 'webquestscorm');
    foreach ($webquestscorms as $webquestscorm) {
        $event = NULL;
        $event->name = addslashes($webquestscorm->name);
        $event->description = addslashes($webquestscorm->name);
        $event->timestart = $webquestscorm->timedue;
        if ($event->id = get_field('event', 'id', 'modulename', 'webquestscorm', 'instance', $webquestscorm->id)) {
            update_event($event);
        } else {
            $event->courseid = $webquestscorm->course;
            $event->groupid = 0;
            $event->userid = 0;
            $event->modulename = 'webquestscorm';
            $event->instance = $webquestscorm->id;
            $event->eventtype = 'due';
            $event->timeduration = 0;
            $event->visible = get_field('course_modules', 'visible', 'module', $moduleid, 'instance', $webquestscorm->id);
            add_event($event);
        }
    }
    return true;
}