80242b24b1b6d5f58290e428bf53f4fbb9a201a4
[atutor.git] / mods / openmeetings / add_group_meetings.php
1 <?php
2 /************************************************************************/
3 /* ATutor                                                                                                                               */
4 /************************************************************************/
5 /* Copyright (c) 2002-2008 by Greg Gay, Cindy Qi Li, Harris Wong                */
6 /* Adaptive Technology Resource Centre / University of Toronto                  */
7 /* http://atutor.ca                                                                                                             */
8 /*                                                                                                                                              */
9 /* This program is free software. You can redistribute it and/or                */
10 /* modify it under the terms of the GNU General Public License                  */
11 /* as published by the Free Software Foundation.                                                */
12 /************************************************************************/
13 // $Id: add_group_meetings.php 7575 2008-06-02 18:17:14Z hwong $
14
15 define('AT_INCLUDE_PATH', '../../include/');
16 require (AT_INCLUDE_PATH.'vitals.inc.php');
17 require ('lib/openmeetings.class.php');
18 require ('lib/openmeetings.inc.php');
19
20 //Validate 
21 $_POST['room_id'] = intval($_REQUEST['room_id']);
22
23
24 if (isset($_GET['group_id'])){
25         $group_id = intval($_GET['group_id']);
26         
27         //TODO
28         //Handles instrcutor as an exception, cuz instructor can go in and create room as well
29         if (authenticate(AT_PRIV_OPENMEETINGS, true)){
30                 $sql = 'SELECT g.title FROM '.TABLE_PREFIX."groups g WHERE g.group_id=$group_id";
31         } else {
32                 $sql = 'SELECT g.title FROM '.TABLE_PREFIX."groups_members gm INNER JOIN ".TABLE_PREFIX."groups g WHERE gm.group_id=$group_id AND gm.member_id=$_SESSION[member_id]";
33         }
34         if (mysql_numrows($result) <= 0){
35                 $msg->addError('OPENMEETINGS_ADD_FAILED');
36                 header('index.php');
37                 exit;
38         } 
39         $result = mysql_query($sql, $db);
40         $row = mysql_fetch_assoc($result);
41 }
42
43 //Initiate Openmeeting
44 $om_obj = new Openmeetings($_SESSION['course_id'], $_SESSION['member_id'], $group_id);
45
46 //Login
47 $om_obj->om_login();
48
49 //Get the room id
50 //TODO: Course title added/removed after creation.  Affects the algo here.
51 if ($_row['title']!=''){
52         $room_name = $_row['title'];
53 } else {
54         $room_name = 'group_'.$group_id;
55 }
56
57 //Form action
58 //Handle form action
59 if (isset($_POST['create_room']) || (isset($_POST['update_room']) && isset($_POST['room_id']))) {
60         //mysql escape
61         $_POST['openmeetings_roomtype']                         = intval($_POST['openmeetings_roomtype']);
62         $_POST['openmeetings_num_of_participants']      = intval($_POST['openmeetings_num_of_participants']);
63         (intval($_POST['openmeetings_ispublic']) == 1)?$_POST['openmeetings_ispublic']='true':$_POST['openmeetings_ispublic']='false';
64         $_POST['openmeetings_vid_w']                            = intval($_POST['openmeetings_vid_w']);
65         $_POST['openmeetings_vid_h']                            = intval($_POST['openmeetings_vid_h']);
66         (intval($_POST['openmeetings_show_wb']) == 1)?$_POST['openmeetings_show_wb']='true':$_POST['openmeetings_show_wb']='false';
67         $_POST['openmeetings_wb_w']                                     = intval($_POST['openmeetings_wb_w']);
68         $_POST['openmeetings_wb_h']                                     = intval($_POST['openmeetings_wb_h']);
69         (intval($_POST['openmeetings_show_fp']) == 1)?$_POST['openmeetings_show_fp']='true':$_POST['openmeetings_show_fp']='false';
70         $_POST['openmeetings_fp_w']                                     = intval($_POST['openmeetings_fp_w']);
71         $_POST['openmeetings_fp_h']                                     = intval($_POST['openmeetings_fp_h']);
72
73         //create a new room
74         if (isset($_POST['create_room'])){
75                 //Get the room id
76                 //TODO: Course title added/removed after creation.  Affects the algo here.              
77                 if (isset($_SESSION['course_title']) && $_SESSION['course_title']!=''){
78                         $room_name = $_SESSION['course_title'];
79                 } else {
80                         $room_name = 'course_'.$course_id;
81                 }
82
83                 //add the room with the given parameters.
84                 $om_obj->om_addRoom($room_name, $_POST);
85                 $msg->addFeedback('OPENMEETINGS_ADDED_SUCEEDED');
86                 header('Location: index.php');
87                 exit;
88         } elseif (isset($_POST['update_room'])){
89                 //update a room
90                 $om_obj->om_updateRoom(intval($_POST['room_id']), $_POST);
91                 $msg->addFeedback('OPENMEETINGS_UPDATE_SUCEEDED');
92                 header('Location: index.php');
93                 exit;
94         }
95 } elseif (isset($_POST['cancel'])){
96         $msg->addFeedback('OPENMEETINGS_CANCELLED');
97         header('Location: index.php');
98         exit;
99 } elseif (isset($_REQUEST['edit_room']) && isset($_POST['room_id'])){
100         //Log into the room
101         $room_id = $_POST['room_id'];
102
103         //Get the room obj
104         $room_obj = $om_obj->om_getRoomById($room_id);
105
106         //Assign existing variables to the room
107         $_POST['openmeetings_roomtype']                         = intval($room_obj['return']['roomtype']['roomtypes_id']);
108         $_POST['openmeetings_room_name']                        = $addslashes($room_obj['return']['name']);
109         $_POST['openmeetings_num_of_participants']      = $addslashes($room_obj['return']['numberOfPartizipants']);
110         (($room_obj['return']['ispublic'])=='true')?$_POST['openmeetings_ispublic']=1:$_POST['openmeetings_ispublic']=0;
111         $_POST['openmeetings_vid_w']                            = intval($room_obj['return']['videoPodWidth']);
112         $_POST['openmeetings_vid_h']                            = intval($room_obj['return']['videoPodHeight']);
113         (($room_obj['return']['showWhiteBoard'])=='true')?$_POST['openmeetings_show_wb']=1:$_POST['openmeetings_show_wb']=0;
114         $_POST['openmeetings_wb_w']                                     = intval($room_obj['return']['whiteBoardPanelWidth']);
115         $_POST['openmeetings_wb_h']                                     = intval($room_obj['return']['whiteBoardPanelHeight']);
116         (($room_obj['return']['showFilesPanel'])=='true')?$_POST['openmeetings_show_fp']=1:$_POST['openmeetings_show_fp']=0;
117         $_POST['openmeetings_fp_w']                                     = intval($room_obj['return']['filesPanelWidth']);
118         $_POST['openmeetings_fp_h']                                     = intval($room_obj['return']['filesPanelHeight']);
119
120         include (AT_INCLUDE_PATH.'header.inc.php');
121         include ('html/update_room.inc.php');
122         include (AT_INCLUDE_PATH.'footer.inc.php'); 
123         exit;
124 } elseif (isset($_GET['action']) && $_GET['action'] == 'view'){
125         $room_id = intval($_GET['room_id']);
126         $sid     = $addslashes($_GET['sid']);
127         header('Location: view_meetings.php?room_id='.$room_id.SEP.'sid='.$sid);
128         exit;
129 }
130
131 $room_id = $om_obj->om_getRoom();
132
133 require (AT_INCLUDE_PATH.'header.inc.php');
134 if ($room_id == false) {
135         include ('html/create_room.inc.php');
136 } else {
137         //include page
138         include ('html/edit_room.inc.php');
139 }
140 require (AT_INCLUDE_PATH.'footer.inc.php'); 
141 ?>