Пример #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;
}
     $id = $api->createRoom($roomId, "false");
     $messageAction = "created";
     $messageProduct = "room";
     break;
 case "createDefault":
     $id = $api->createSimpleRoom($params["longname"], "true", $params["enc_course_id"]);
     echo $prefix . $id;
     exit;
     break;
 case "update":
     $id = $api->createRoom($roomId, "true");
     $messageAction = "updated";
     $messageProduct = "room";
     break;
 case "delete":
     $id = $api->deleteRoom($roomId);
     //delte the activity linked to this room
     if (!liveclassroom_delete_all_instance_of_room($roomId)) {
         notify("Could not delete the activities for the room: {$roomId}");
     }
     $messageAction = "deleted";
     $messageProduct = "room";
     break;
 case "openContent":
     $authToken = $api->getAuthoken();
     redirection($CFG->liveclassroom_servername . '/admin/class/carousels.epl?' . 'class_id=' . $api->getPrefix() . $roomId . '&hzA=' . $authToken . '&no_sidebar=1');
     break;
 case "openReport":
     $authToken = $api->getAuthoken();
     redirection('reports.php?id=' . $roomId . '&hzA=' . $authToken);
     exit;