$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;
}
Example #4
0
    $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();