Exemplo n.º 1
0
function geogebra_after_add_or_update($geogebra, $mform)
{
    global $DB;
    if ($mform->get_data()->filetype === GEOGEBRA_FILE_TYPE_LOCAL) {
        $filename = geogebra_set_mainfile($geogebra);
        $geogebra->url = $filename;
        $result = $DB->update_record('geogebra', $geogebra);
    }
    if ($geogebra->timedue) {
        $event = new stdClass();
        if ($event->id = $DB->get_field('event', 'id', array('modulename' => 'geogebra', 'instance' => $geogebra->id))) {
            $event->name = $geogebra->name;
            $event->description = format_module_intro('geogebra', $geogebra, $geogebra->coursemodule);
            $event->timestart = $geogebra->timedue;
            $calendarevent = calendar_event::load($event->id);
            $calendarevent->update($event);
        } else {
            $event = new stdClass();
            $event->name = $geogebra->name;
            $event->description = format_module_intro('geogebra', $geogebra, $geogebra->coursemodule);
            $event->courseid = $geogebra->course;
            $event->groupid = 0;
            $event->userid = 0;
            $event->modulename = 'geogebra';
            $event->instance = $geogebra->id;
            $event->eventtype = 'due';
            $event->timestart = $geogebra->timedue;
            $event->timeduration = 0;
            calendar_event::create($event);
        }
    } else {
        $DB->delete_records('event', array('modulename' => 'geogebra', 'instance' => $geogebra->id));
    }
    // get existing grade item
    geogebra_grade_item_update($geogebra);
    return true;
}
Exemplo n.º 2
0
/**
 * Removes all grades from gradebook
 * @param int $courseid
 * @param string optional type
 */
function geogebra_reset_gradebook($courseid)
{
    global $CFG, $DB;
    $params = array('courseid' => $courseid);
    $sql = "SELECT j.*, cm.idnumber as cmidnumber, j.course as courseid\n              FROM {geogebra} j, {course_modules} cm, {modules} m\n             WHERE m.name='geogebra' AND m.id=cm.module AND cm.instance=j.id AND j.course=:courseid ";
    if ($geogebras = $DB->get_records_sql($sql, $params)) {
        foreach ($geogebras as $geogebra) {
            geogebra_grade_item_update($geogebra, 'reset');
        }
    }
}