Ejemplo n.º 1
0
function liveclassroom_backup_one_mod($bf, $preferences, $liveclassroom)
{
    global $CFG;
    if (is_numeric($liveclassroom)) {
        $liveclassroom = get_record('liveclassroom', 'id', $liveclassroom);
    }
    $status = true;
    $lcAction = new LCAction(null, $CFG->liveclassroom_servername, $CFG->liveclassroom_adminusername, $CFG->liveclassroom_adminpassword, null, $liveclassroom->course);
    $roomPreview = $lcAction->getRoomPreview($liveclassroom->type);
    //Start mod
    fwrite($bf, start_tag("MOD", 3, true));
    //Print liveclassroom data
    fwrite($bf, full_tag("ID", 4, false, $liveclassroom->id));
    fwrite($bf, full_tag("MODTYPE", 4, false, "liveclassroom"));
    fwrite($bf, full_tag("COURSE", 4, false, $liveclassroom->course));
    fwrite($bf, full_tag("NAME", 4, false, $liveclassroom->name));
    if ($lcAction->isStudentAdmin($liveclassroom->course, $liveclassroom->course . '_S') == "true") {
        fwrite($bf, full_tag("ISSTUDENTADMIN", 4, false, "true"));
    } else {
        fwrite($bf, full_tag("ISSTUDENTADMIN", 4, false, "false"));
    }
    fwrite($bf, full_tag("PREVIEW", 4, false, $roomPreview));
    fwrite($bf, full_tag("TYPE", 4, false, $liveclassroom->type));
    fwrite($bf, full_tag("SECTION", 4, false, $liveclassroom->section));
    fwrite($bf, full_tag("TIMEMODIFIED", 4, false, $liveclassroom->timemodified));
    $status = fwrite($bf, end_tag("MOD", 3, true));
    return $status;
}
Ejemplo n.º 2
0
/**
* Actual implementation of the rest coures functionality, delete all the
* chat messages for course $data->courseid.
* @param $data the data submitted from the reset course.
* @return array status array
*/
function liveclassroom_reset_userdata($data, $showfeedback = true)
{
    global $CFG, $COURSE;
    $componentstr = get_string('modulenameplural', 'liveclassroom');
    $status = array();
    if (!empty($data->reset_content_liveclassroom_all)) {
        $api = new LCAction(null, $CFG->liveclassroom_servername, $CFG->liveclassroom_adminusername, $CFG->liveclassroom_adminpassword, $CFG->dataroot);
        $rooms = $api->getRooms($data->id . "_T");
        foreach ($rooms as $room) {
            if ($room->isArchive() == 0) {
                $isAdmin = $api->isStudentAdmin($room->getRoomId(), $data->id . "_S");
                $api->cloneRoom($data->id, $room->getRoomId(), "0", $isAdmin, $room->isPreview());
                if ($isAdmin == "true") {
                    $api->removeRole($room->getRoomId(), $data->id . "_S", "Student");
                    $api->removeRole($room->getRoomId(), $data->id . "_T", "ClassAdmin");
                } else {
                    $api->removeRole($room->getRoomId(), $data->id . "_S", "Instructor");
                    $api->removeRole($room->getRoomId(), $data->id . "_T", "ClassAdmin");
                }
            } else {
                $api->deleteRoom($room->getRoomId());
            }
            $activities = get_records("liveclassroom", "id", $room->getRoomId());
            foreach (array_keys($activities) as $id) {
                $activities[$id]->rid = new_rid;
                update_record("liveclassroom", $activities[$id]);
            }
        }
        $typesstr = "Delete all the archives and content";
        $status[] = array('component' => $componentstr, 'item' => $typesstr, 'error' => false);
    } else {
        if (!empty($data->reset_content_liveclassroom_archives)) {
            $api = new LCAction(null, $CFG->liveclassroom_servername, $CFG->liveclassroom_adminusername, $CFG->liveclassroom_adminpassword, $CFG->dataroot);
            $rooms = $api->getRooms($data->id . "_T");
            foreach ($rooms as $room) {
                if ($room->isArchive() == 1) {
                    $api->deleteRoom($room->getRoomId());
                }
            }
            $typesstr = "Delete only the archives";
            $status[] = array('component' => $componentstr, 'item' => $typesstr, 'error' => false);
        }
    }
    return $status;
}