Ticket #3331: conferences.patch
| File conferences.patch, 7.7 kB (added by GameGamer43, 2 years ago) |
|---|
-
functions.inc.php
old new 95 95 96 96 // Start the conference 97 97 $ext->add($contextname, 'STARTMEETME', '', new ext_execif('$["${MEETME_MUSIC}" != ""]','SetMusicOnHold','${MEETME_MUSIC}')); 98 $ext->add($contextname, 'STARTMEETME', '', new ext_setvar('GROUP(meetme)','${MEETME_ROOMNUM}')); 99 $ext->add($contextname, 'STARTMEETME', '', new ext_gotoif('$[${MAX_PARTICIPANTS} > 0 && ${GROUP_COUNT(${MEETME_ROOMNUM}@meetme)}>${MAX_PARTICIPANTS}]?MEETMEFULL,1')); 98 100 $ext->add($contextname, 'STARTMEETME', '', new ext_meetme('${MEETME_ROOMNUM}','${MEETME_OPTS}','${PIN}')); 99 101 $ext->add($contextname, 'STARTMEETME', '', new ext_hangup('')); 100 102 … … 115 117 } 116 118 $roomuserpin = $room['userpin']; 117 119 $roomadminpin = $room['adminpin']; 120 $roomusers = $room['users']; 118 121 if(isset($room['music']) && $room['music'] !='' && $room['music']!='inherit') { 119 122 $music = $room['music']; 120 123 } else { … … 133 136 // entry point 134 137 $ext->add($contextname, $roomnum, '', new ext_macro('user-callerid')); 135 138 $ext->add($contextname, $roomnum, '', new ext_setvar('MEETME_ROOMNUM',$roomnum)); 139 //set our maximum number of users 140 $ext->add($contextname, $roomnum, '', new ext_setvar('MAX_PARTICIPANTS', $roomusers)); 136 141 $ext->add($contextname, $roomnum, '', new ext_setvar('MEETME_MUSIC',$music)); 137 142 if (strstr($room['options'],'r') !== false) { 138 143 $ext->add($contextname, $roomnum, '', new ext_setvar('MEETME_RECORDINGFILE','${ASTSPOOLDIR}/monitor/meetme-conf-rec-${MEETME_ROOMNUM}-${UNIQUEID}')); 139 144 } 140 $ext->add($contextname, $roomnum, '', new ext_gotoif('$["${DIALSTATUS}" = "ANSWER"]',($roomuserpin == '' && $roomadminpin == '' ? 'USER' : 'READPIN'))); 145 $ext->add($contextname, $roomnum, '', new ext_gotoif('$["${DIALSTATUS}" = "ANSWER"]',($roomuserpin == '' && $roomadminpin == '' ? 'USER' : 'READPIN'))); 141 146 $ext->add($contextname, $roomnum, '', new ext_answer('')); 142 147 $ext->add($contextname, $roomnum, '', new ext_wait(1)); 143 148 … … 177 182 $ext->add($contextname, $roomnum, '', new ext_playback($roomjoinmsg)); 178 183 } 179 184 $ext->add($contextname, $roomnum, '', new ext_goto('STARTMEETME,1')); 185 186 //meetme full 187 $ext->add($contextname, 'MEETMEFULL', '', new ext_playback('im-sorry&conf-full&goodbye')); 188 $ext->add($contextname, 'MEETMEFULL', '', new ext_hangup('')); 189 180 190 181 191 // add meetme config 182 192 $conferences_conf->addMeetme($room['exten'],$room['userpin']); … … 228 238 function conferences_get($account){ 229 239 global $db; 230 240 //get all the variables for the meetme 231 $results = sql("SELECT exten,options,userpin,adminpin,description,joinmsg_id,music FROM meetme WHERE exten = '".$db->escapeSimple($account)."'","getRow",DB_FETCHMODE_ASSOC);241 $results = sql("SELECT exten,options,userpin,adminpin,description,joinmsg_id,music,users FROM meetme WHERE exten = '".$db->escapeSimple($account)."'","getRow",DB_FETCHMODE_ASSOC); 232 242 return $results; 233 243 } 234 244 … … 237 247 $results = sql("DELETE FROM meetme WHERE exten = '".$db->escapeSimple($account)."'","query"); 238 248 } 239 249 240 function conferences_add($account,$name,$userpin,$adminpin,$options,$joinmsg_id=null,$music='' ){250 function conferences_add($account,$name,$userpin,$adminpin,$options,$joinmsg_id=null,$music='',$users){ 241 251 global $active_modules; 242 252 global $db; 243 253 $account = $db->escapeSimple($account); … … 247 257 $options = $db->escapeSimple($options); 248 258 $joinmsg_id = $db->escapeSimple($joinmsg_id); 249 259 $music = $db->escapeSimple($music); 250 $results = sql("INSERT INTO meetme (exten,description,userpin,adminpin,options,joinmsg_id,music) values (\"$account\",\"$name\",\"$userpin\",\"$adminpin\",\"$options\",\"$joinmsg_id\",\"$music\")"); 260 $users = $db->escapeSimple($users); 261 $results = sql("INSERT INTO meetme (exten,description,userpin,adminpin,options,joinmsg_id,music,users) values (\"$account\",\"$name\",\"$userpin\",\"$adminpin\",\"$options\",\"$joinmsg_id\",\"$music\",\"$users\")"); 251 262 } 252 263 ?> -
page.conferences.php
old new 20 20 21 21 $account = isset($_REQUEST['account']) ? $_REQUEST['account'] : ''; 22 22 $music = isset($_REQUEST['music']) ? $_REQUEST['music'] : ''; 23 $users = isset($_REQUEST['users']) ? $_REQUEST['users'] : ''; 23 24 24 25 //check if the extension is within range for this user 25 26 if (isset($account) && !checkRange($account)){ … … 34 35 $usage_arr = framework_check_extension_usage($account); 35 36 if (!empty($usage_arr)) { 36 37 $conflict_url = framework_display_extension_usage_alert($usage_arr); 37 } elseif (conferences_add($account,$_REQUEST['name'],$_REQUEST['userpin'],$_REQUEST['adminpin'],$_REQUEST['options'],$_REQUEST['joinmsg_id'],$music ) !== false) {38 } elseif (conferences_add($account,$_REQUEST['name'],$_REQUEST['userpin'],$_REQUEST['adminpin'],$_REQUEST['options'],$_REQUEST['joinmsg_id'],$music,$users) !== false) { 38 39 needreload(); 39 40 redirect_standard(); 40 41 } … … 46 47 break; 47 48 case "edit": //just delete and re-add 48 49 conferences_del($account); 49 conferences_add($account,$_REQUEST['name'],$_REQUEST['userpin'],$_REQUEST['adminpin'],$_REQUEST['options'],$_REQUEST['joinmsg_id'],$music );50 conferences_add($account,$_REQUEST['name'],$_REQUEST['userpin'],$_REQUEST['adminpin'],$_REQUEST['options'],$_REQUEST['joinmsg_id'],$music,$users); 50 51 needreload(); 51 52 redirect_standard('extdisplay'); 52 53 break; … … 88 89 $description = $thisMeetme['description']; 89 90 $joinmsg_id = $thisMeetme['joinmsg_id']; 90 91 $music = $thisMeetme['music']; 92 $users = $thisMeetme['users']; 91 93 } else { 92 94 $options = ""; 93 95 $userpin = ""; … … 95 97 $description = ""; 96 98 $joinmsg_id = ""; 97 99 $music = ""; 100 $users = ""; 98 101 } 99 102 100 103 ?> … … 329 332 </td> 330 333 </tr> 331 334 335 <?php //Begin Maximum Participants Code ?> 336 <tr> 337 <td><a href="#" class="info"><?php echo _("Maximum Participants:")?><span><?php echo _("Maximum Number of users allowed to join this conference.")?></span></a></td> 338 <td> 339 <select name="users" tabindex="<?php echo ++$tabindex;?>"> 340 <?php 341 $default = (($users) ? $users : 0); 342 for ($i=0; $i <= 20; $i++) { 343 echo '<option value="'.$i.'" '.($i == $default ? 'SELECTED' : '').'>'.$i.'</option>'; 344 } 345 ?> 346 </select> 347 </td> 348 </tr> 349 332 350 </table> 333 351 <?php 334 352 // implementation of module hook -
install.php
old new 23 23 `adminpin` VARCHAR( 50 ) , 24 24 `description` VARCHAR( 50 ) , 25 25 `joinmsg_id` INTEGER, 26 `music` VARCHAR(80) 26 `music` VARCHAR(80), 27 `users` TINYINT DEFAULT 0 27 28 ) 28 29 "; 29 30 $check = $db->query($sql); … … 108 109 } else { 109 110 out(_("already migrated")); 110 111 } 112 //Migration for User Count 113 outn(_("Checking if users field present..")); 114 $sql = "SELECT users FROM meetme"; 115 $check = $db->getRow($sql, DB_FETCHMODE_ASSOC); 116 if(DB::IsError($check)) { 117 outn(_("adding users field..")); 118 $sql = "ALTER TABLE meetme ADD users TINYINT DEFAULT 0"; 119 $result = $db->query($sql); 120 if(DB::IsError($result)) { 121 out(_("fatal error")); 122 die_freepbx($result->getDebugInfo()); 123 } else { 124 out(_("ok")); 125 } 126 } else { 127 out(_("already present")); 128 } 111 129 ?>
