Ticket #3331: conferences.patch

File conferences.patch, 7.7 kB (added by GameGamer43, 2 years ago)
  • functions.inc.php

    old new  
    9595         
    9696        // Start the conference 
    9797        $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')); 
    98100        $ext->add($contextname, 'STARTMEETME', '', new ext_meetme('${MEETME_ROOMNUM}','${MEETME_OPTS}','${PIN}')); 
    99101        $ext->add($contextname, 'STARTMEETME', '', new ext_hangup('')); 
    100102         
     
    115117          } 
    116118          $roomuserpin = $room['userpin']; 
    117119          $roomadminpin = $room['adminpin']; 
     120          $roomusers = $room['users']; 
    118121          if(isset($room['music']) && $room['music'] !='' && $room['music']!='inherit') { 
    119122            $music = $room['music']; 
    120123          } else { 
     
    133136          // entry point 
    134137          $ext->add($contextname, $roomnum, '', new ext_macro('user-callerid')); 
    135138          $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)); 
    136141          $ext->add($contextname, $roomnum, '', new ext_setvar('MEETME_MUSIC',$music)); 
    137142          if (strstr($room['options'],'r') !== false) { 
    138143            $ext->add($contextname, $roomnum, '', new ext_setvar('MEETME_RECORDINGFILE','${ASTSPOOLDIR}/monitor/meetme-conf-rec-${MEETME_ROOMNUM}-${UNIQUEID}')); 
    139144          } 
    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')));   
    141146          $ext->add($contextname, $roomnum, '', new ext_answer('')); 
    142147          $ext->add($contextname, $roomnum, '', new ext_wait(1)); 
    143148           
     
    177182            $ext->add($contextname, $roomnum, '', new ext_playback($roomjoinmsg)); 
    178183          } 
    179184          $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 
    180190           
    181191          // add meetme config 
    182192          $conferences_conf->addMeetme($room['exten'],$room['userpin']); 
     
    228238function conferences_get($account){ 
    229239  global $db; 
    230240  //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); 
    232242  return $results; 
    233243} 
    234244 
     
    237247  $results = sql("DELETE FROM meetme WHERE exten = '".$db->escapeSimple($account)."'","query"); 
    238248} 
    239249 
    240 function conferences_add($account,$name,$userpin,$adminpin,$options,$joinmsg_id=null,$music=''){ 
     250function conferences_add($account,$name,$userpin,$adminpin,$options,$joinmsg_id=null,$music='',$users){ 
    241251  global $active_modules; 
    242252  global $db; 
    243253  $account    = $db->escapeSimple($account); 
     
    247257  $options    = $db->escapeSimple($options); 
    248258  $joinmsg_id = $db->escapeSimple($joinmsg_id); 
    249259  $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\")"); 
    251262} 
    252263?> 
  • page.conferences.php

    old new  
    2020 
    2121$account = isset($_REQUEST['account']) ? $_REQUEST['account'] : ''; 
    2222$music = isset($_REQUEST['music']) ? $_REQUEST['music'] : ''; 
     23$users = isset($_REQUEST['users']) ? $_REQUEST['users'] : ''; 
    2324 
    2425//check if the extension is within range for this user 
    2526if (isset($account) && !checkRange($account)){ 
     
    3435      $usage_arr = framework_check_extension_usage($account); 
    3536      if (!empty($usage_arr)) { 
    3637        $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) { 
    3839        needreload(); 
    3940        redirect_standard(); 
    4041      } 
     
    4647    break; 
    4748    case "edit":  //just delete and re-add 
    4849      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); 
    5051      needreload(); 
    5152      redirect_standard('extdisplay'); 
    5253    break; 
     
    8889    $description = $thisMeetme['description']; 
    8990    $joinmsg_id  = $thisMeetme['joinmsg_id']; 
    9091    $music       = $thisMeetme['music']; 
     92    $users        = $thisMeetme['users']; 
    9193  } else { 
    9294    $options     = ""; 
    9395    $userpin     = ""; 
     
    9597    $description = ""; 
    9698    $joinmsg_id  = ""; 
    9799    $music       = ""; 
     100    $users        = ""; 
    98101  } 
    99102 
    100103?> 
     
    329332    </td> 
    330333  </tr> 
    331334 
     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 
    332350  </table> 
    333351<?php 
    334352  // implementation of module hook 
  • install.php

    old new  
    2323  `adminpin` VARCHAR( 50 ) ,  
    2424  `description` VARCHAR( 50 ) ,  
    2525  `joinmsg_id` INTEGER,  
    26   `music` VARCHAR(80)  
     26  `music` VARCHAR(80),  
     27  `users` TINYINT DEFAULT 0 
    2728) 
    2829"; 
    2930$check = $db->query($sql); 
     
    108109} else { 
    109110  out(_("already migrated")); 
    110111} 
     112//Migration for User Count 
     113outn(_("Checking if users field present..")); 
     114$sql = "SELECT users FROM meetme"; 
     115$check = $db->getRow($sql, DB_FETCHMODE_ASSOC); 
     116if(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} 
    111129?>