$value = optional_param($param["value"], $param["default_value"], $param["type"]); if ($value != null) { $params[$param["value"]] = $value; } } require_login($params["enc_course_id"]); set_error_handler("manage_error"); $action = optional_param('action', PARAM_ALPHA); $currentIdtab = optional_param('idtab', null, PARAM_CLEAN); $session = new WimbaMoodleSession($params); $api = new LCAction($session, $CFG->liveclassroom_servername, $CFG->liveclassroom_adminusername, $CFG->liveclassroom_adminpassword, $CFG->dataroot); $uiManager = new WimbaUI($params, $api, $currentIdtab); if ($uiManager->getSessionError() === false) { if ($action == 'update') { $roomId = required_param('resource_id', PARAM_SAFEDIR); $room_info = $api->getRoom($roomId); if ($room_info) { $uiManager->setCurrentProduct("liveclassroom", $room_info); } else { //problem to get the lc resource $uiManager->setError(get_string('error_connection_lc', 'liveclassroom')); } } else { $uiManager->setCurrentProduct("liveclassroom"); } $uiManager->getLCSettingsView($action); } else { $uiManager->setError(get_string('error_' . $session->error, 'liveclassroom')); } if (!empty($error)) { $uiManager->setError("error");
$authToken = $api->getAuthoken(); redirection('reports.php?id=' . $roomId . '&hzA=' . $authToken); exit; break; case "openAdvancedMedia": $authToken = $api->getAuthoken(); redirection($CFG->liveclassroom_servername . '/admin/class/media.pl?' . 'class_id=' . $api->getPrefix() . $roomId . '&hzA=' . $authToken . '&no_sidebar=1'); exit; break; case "openAdvancedRoom": $authToken = $api->getAuthoken(); redirection($CFG->liveclassroom_servername . '/admin/class/properties.pl?' . 'class_id=' . $api->getPrefix() . $roomId . '&hzA=' . $authToken . '&no_sidebar=1'); break; case "getDialInformation": header('Content-type: application/xml'); $select_room = $api->getRoom($roomId); if ($params["studentView"] == "true" || $session->isInstructor() === false) { $xml->createPopupDialElement(get_string("popup_dial_title", "liveclassroom"), get_string("popup_dial_numbers", "liveclassroom"), get_string("popup_dial_pin", "liveclassroom"), null, $select_room->getParticipantPin(), $api->getPhoneNumbers()); } else { $xml->createPopupDialElement(get_string("popup_dial_title", "liveclassroom"), get_string("popup_dial_numbers", "liveclassroom"), get_string("popup_dial_pin", "liveclassroom"), $select_room->getPresenterPin(), $select_room->getParticipantPin(), $api->getPhoneNumbers()); } echo $xml->getXml(); break; case "saveSettings": $id = $api->createRoom($roomId, "true"); echo "good"; exit; break; case "getMp3Status": $audioFileStatus = $api->getMp3Status($rid_audio); if ($audioFileStatus === false || $audioFileStatus->getStatus() == "") {
function liveclassroom_restore_mods($mod, $restore) { global $CFG; $status = true; //Get record from backup_ids $data = backup_getid($restore->backup_unique_code, $mod->modtype, $mod->id); $userdata = restore_userdata_selected($restore, "liveclassroom", $mod->id); $lcAction = new LCAction(null, $CFG->liveclassroom_servername, $CFG->liveclassroom_adminusername, $CFG->liveclassroom_adminpassword, $CFG->dataroot, $restore->course_id); if ($data) { //Now get completed xmlized object $info = $data->info; //add logs //Now, build the liveclassroom record structure $copy_content = 0; if ($userdata) { $copy_content = 1; } $sameResource = get_record("liveclassroom", "fromid", $info['MOD']['#']['TYPE']['0']['#'], "course", $restore->course_id, "copy_content", $copy_content); $resource = get_record("liveclassroom", "fromid", $info['MOD']['#']['TYPE']['0']['#'], "course", $restore->course_id, "copy_content", $copy_content == 1 ? 0 : 1); if (empty($sameResource)) { if (!($new_lc_id = $lcAction->cloneRoom($restore->course_id, $info['MOD']['#']['TYPE']['0']['#'], $userdata, $info['MOD']['#']['ISSTUDENTADMIN']['0']['#'], $info['MOD']['#']['PREVIEW']['0']['#']))) { return false; //there is a problem during the copy of the room } if (!empty($resource)) { if ($userdata) { $room = $lcAction->getRoom($new_lc_id); $room->setLongname($room->getLongname() . " with user data"); $lcAction->api->lcapi_modify_room($new_lc_id, $room->getAttributes()); } else { $room = $lcAction->getRoom($resource->type); $room->setLongname($room->getLongname() . " with user data"); $lcAction->api->lcapi_modify_room($resource->type, $room->getAttributes()); } } } else { $new_lc_id = $resource->type; } $liveclassroom->course = backup_todb($restore->course_id); $liveclassroom->type = backup_todb($new_lc_id); $liveclassroom->name = backup_todb($info['MOD']['#']['NAME']['0']['#']); $liveclassroom->section = backup_todb($info['MOD']['#']['SECTION']['0']['#']); $liveclassroom->timemodified = backup_todb($info['MOD']['#']['TIMEMODIFIED']['0']['#']); $liveclassroom->timemodified = backup_todb($info['MOD']['#']['TIMEMODIFIED']['0']['#']); $liveclassroom->fromid = $info['MOD']['#']['TYPE']['0']['#']; $liveclassroom->copy_content = $copy_content; $liveclassroom->isfirst = 1; //The structure is equal to the db, so insert the liveclassroom $newid = insert_record("liveclassroom", $liveclassroom); //Do some output if (!defined('RESTORE_SILENTLY')) { echo "<li>" . get_string("modulename", "liveclassroom") . " \"" . format_string(stripslashes($liveclassroom->name), true) . "\"</li>"; } backup_flush(300); if ($newid) { //We have the newid, update backup_ids backup_putid($restore->backup_unique_code, $mod->modtype, $mod->id, $newid); } else { $status = false; } } else { $status = false; } return $status; }
$liveclassroom->isfirst = 1; $liveclassroom->name = addslashes($liveclassroom->name); update_record("liveclassroom", $liveclassroom); redirection("{$CFG->wwwroot}/course/view.php?id={$course->id}"); } $api = new LCAction(null, $CFG->liveclassroom_servername, $CFG->liveclassroom_adminusername, $CFG->liveclassroom_adminpassword, $CFG->dataroot); $context = get_context_instance(CONTEXT_MODULE, $cm->id); #if(getRoleForWimbaTools($course->id, $USER->id)=="Instructor") if (liveclassroom_getRole($context) == "Instructor") { $authToken = $api->getAuthokenNormal($course->id . "_T", $USER->firstname, $USER->lastname); } else { $authToken = $api->getAuthokenNormal($course->id . "_S", $USER->firstname, $USER->lastname); } $classid = $liveclassroom->type; //get the room $room = $api->getRoom($classid); $strliveclassrooms = get_string("modulenameplural", "liveclassroom"); $strliveclassroom = get_string("modulename", "liveclassroom"); if (function_exists("build_navigation")) { //moodle 1.9 $cm->modname = "liveclassroom"; $cm->name = $liveclassroom->name; $navigation = build_navigation('', $cm); print_header("{$course->shortname} : {$liveclassroom->name}", $course->fullname, $navigation, "", "", true, update_module_button($cm->id, $course->id, $strliveclassroom . " " . get_string('activity', 'liveclassroom')), navmenu($course)); } else { $navigation = array(); if ($course->id != SITEID) { $navigation[$course->shortname] = "{$CFG->wwwroot}/course/view.php?id={$course->id}"; } $navigation[$strliveclassrooms] = "{$CFG->wwwroot}/mod/liveclassroom/index.php?id={$course->id}"; $urls = array();