Пример #1
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;
}