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