/** * 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;