Show
Ignore:
Timestamp:
07/26/06 15:26:05 (7 years ago)
Author:
gregmac
Message:

Removed unnecessary context on DISA() call when a .conf was used,
Fixed #791 - no password prompt when no password used, and bypassed .conf file for no-password

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/branches/2.2/disa/functions.inc.php

    r1864 r2179  
    2525                        if(is_array($disalist)) { 
    2626                                foreach($disalist as $item) { 
    27           // Create the disa-$id.conf file 
    28           $fh = fopen("/etc/asterisk/disa-".$item['disa_id'].".conf", "w+"); 
    29           $pinarr = explode(',' , $item['pin'] ); 
    30           foreach($pinarr as $pin) { 
    31             // empty password should be 'no-password' 
    32             if ( (isset($pin) ? $pin : '') == '' ) 
    33             $pin = 'no-password'; 
     27          $nopass = false; 
     28           
     29          if (isset($item['pin']) && !empty($item['pin']) && (strtolower($item['pin']) != 'no-password')) { 
     30          // Create the disa-$id.conf file 
     31            $fh = fopen("/etc/asterisk/disa-".$item['disa_id'].".conf", "w+"); 
     32            $pinarr = explode(',' , $item['pin'] ); 
     33            foreach($pinarr as $pin) { 
    3434             
    35             // Don't support remote MWI, too easy for users to break. 
    36             fwrite($fh, "$pin|".$item['context']."|".$item['cid']."\n"); 
     35              // Don't support remote MWI, too easy for users to break. 
     36              fwrite($fh, "$pin|".$item['context']."|".$item['cid']."\n"); 
     37            } 
     38            fclose($fh); 
     39          } else { 
     40            $nopass = true; 
    3741          } 
    38           fclose($fh); 
    39            
    40                                         $thisitem = disa_get(ltrim($item['disa_id'])); 
     42                                         
     43          $thisitem = disa_get(ltrim($item['disa_id'])); 
    4144                                        // add dialplan 
    4245 
     
    4851            $ext->add('disa', $item['disa_id'], '', new ext_gotoif('$["x${RRES}"="x"]', 'loop')); 
    4952          } 
    50                                         $ext->add('disa', $item['disa_id'], '', new ext_setvar('TIMEOUT(digit)', $thisitem['digittimeout'])); 
    51                                         $ext->add('disa', $item['disa_id'], '', new ext_setvar('TIMEOUT(response)', $thisitem['resptimeout'])); 
    52                                         $ext->add('disa', $item['disa_id'], '', new ext_playback('enter-password')); 
    53                                         $ext->add('disa', $item['disa_id'], '', new ext_disa('/etc/asterisk/disa-'.$item['disa_id'].'.conf|from-internal')); 
     53          $ext->add('disa', $item['disa_id'], '', new ext_setvar('TIMEOUT(digit)', $thisitem['digittimeout'])); 
     54          $ext->add('disa', $item['disa_id'], '', new ext_setvar('TIMEOUT(response)', $thisitem['resptimeout'])); 
     55           
     56          if ($nopass) { 
     57            $ext->add('disa', $item['disa_id'], '', new ext_disa('no-password|'.$item['context'])); 
     58          } else { 
     59            $ext->add('disa', $item['disa_id'], '', new ext_playback('enter-password')); 
     60            $ext->add('disa', $item['disa_id'], '', new ext_disa('/etc/asterisk/disa-'.$item['disa_id'].'.conf')); 
     61          } 
     62           
    5463          $ext->add('disa', $item['disa_id'], 'end', new ext_hangup('')); 
    5564                                } 
  • modules/branches/2.2/disa/module.xml

    r1865 r2179  
    22  <rawname>disa</rawname> 
    33  <name>DISA</name> 
    4   <version>2.0</version> 
     4  <version>2.1</version> 
    55  <type>setup</type> 
    66  <category>Remote Access</category>