|
|
|
@ -130,6 +130,7 @@ class OpenMeetings |
|
|
|
|
*/ |
|
|
|
|
function createMeeting($params) |
|
|
|
|
{ |
|
|
|
|
global $_configuration; |
|
|
|
|
//$id = \Database::insert($this->table, $params); |
|
|
|
|
// First, try to see if there is an active room for this course and session |
|
|
|
|
$roomId = null; |
|
|
|
@ -156,14 +157,14 @@ class OpenMeetings |
|
|
|
|
$room = new Room(); |
|
|
|
|
$room->SID = $this->sessionId; |
|
|
|
|
$room->name = $this->roomName; |
|
|
|
|
$room->roomtypes_id = $room->roomtypes_id; |
|
|
|
|
$room->comment = urlencode(get_lang('Course').': ' . $params['meeting_name'] . ' Plugin for Chamilo'); |
|
|
|
|
$room->numberOfPartizipants = $room->numberOfPartizipants; |
|
|
|
|
$room->ispublic = $room->getString('isPublic'); |
|
|
|
|
$room->appointment = $room->getString('appointment'); |
|
|
|
|
$room->isDemoRoom = $room->getString('isDemoRoom'); |
|
|
|
|
$room->demoTime = $room->demoTime; |
|
|
|
|
$room->isModeratedRoom = $room->getString('isModeratedRoom'); |
|
|
|
|
//$room->roomtypes_id = $room->roomtypes_id; |
|
|
|
|
$room->comment = urlencode(get_lang('Course').': ' . $params['meeting_name'] . ' - '.$_configuration['software_name']); |
|
|
|
|
//$room->numberOfPartizipants = $room->numberOfPartizipants; |
|
|
|
|
$room->ispublic = $room->getString('isPublic','false'); |
|
|
|
|
//$room->appointment = $room->getString('appointment'); |
|
|
|
|
//$room->isDemoRoom = $room->getString('isDemoRoom'); |
|
|
|
|
//$room->demoTime = $room->demoTime; |
|
|
|
|
//$room->isModeratedRoom = $room->getString('isModeratedRoom'); |
|
|
|
|
$roomId = $this->gateway->createRoomWithModAndType($room); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -181,6 +182,7 @@ class OpenMeetings |
|
|
|
|
$params['room_id'] = $roomId; |
|
|
|
|
$params['c_id'] = api_get_course_int_id(); |
|
|
|
|
$params['session_id'] = api_get_session_id(); |
|
|
|
|
$params['record'] = ($room->allowRecording?1:0); |
|
|
|
|
|
|
|
|
|
$id = \Database::insert($this->table, $params); |
|
|
|
|
|
|
|
|
@ -382,12 +384,28 @@ class OpenMeetings |
|
|
|
|
|
|
|
|
|
foreach ($meetingsList as $meetingDb) { |
|
|
|
|
//$room->rooms_id = $meetingDb['room_id']; |
|
|
|
|
//error_log(__FILE__.'+'.__LINE__.' Meetings found: '.print_r($meetingDb['room_id'],1)); |
|
|
|
|
error_log(__FILE__.'+'.__LINE__.' Meetings found: '.print_r($meetingDb,1)); |
|
|
|
|
$remoteMeeting = array(); |
|
|
|
|
$meetingDb['created_at'] = api_get_local_time($meetingDb['created_at']); |
|
|
|
|
$meetingDb['closed_at'] = (!empty($meetingDb['closed_at'])?api_get_local_time($meetingDb['closed_at']):''); |
|
|
|
|
// Fixed value for now |
|
|
|
|
$meetingDb['participantCount'] = 40; |
|
|
|
|
$rec = $this->gateway->getFlvRecordingsByRoomId($meetingDb['room_id']); |
|
|
|
|
$recordings = array(); |
|
|
|
|
$links = array(); |
|
|
|
|
$i = 0; |
|
|
|
|
// Links to videos look like these: |
|
|
|
|
// http://video2.openmeetings.com:5080/openmeetings/DownloadHandler?fileName=flvRecording_4.avi&moduleName=lzRecorderApp&parentPath=&room_id=&sid=dfc0cac396d384f59242aa66e5a9bbdd |
|
|
|
|
$link = $this->url . '/DownloadHandler?fileName=%s&moduleName=lzRecorderApp&parentPath=&room_id=%s&sid=%s'; |
|
|
|
|
foreach ($rec as $info) { |
|
|
|
|
$recordings[$i]['filename'] = $info['fileHash']; |
|
|
|
|
$recordings[$i]['image'] = $info['previewImage']; |
|
|
|
|
$recordings[$i]['link1'] = sprintf($link,$recordings[$i]['filename'], $meetingDb['room_id'], $this->sessionId); |
|
|
|
|
$recordings[$i]['link2'] = sprintf($link,$info['alternateDownload'], $meetingDb['room_id'], $this->sessionId); |
|
|
|
|
$recordings[$i]['end'] = $info['recordEnd']; |
|
|
|
|
$links[] = $info['fileName'].' '.\Display::url('[1]', $recordings[$i]['link1'], array('target' => '_blank')).' '.\Display::url('[2]', $recordings[$i]['link2'], array('target' => '_blank')); |
|
|
|
|
} |
|
|
|
|
$item['show_links'] = implode('<br />', $links); |
|
|
|
|
|
|
|
|
|
// The following code is currently commented because the web service |
|
|
|
|
// says this is not allowed by the SOAP user. |
|
|
|
|