Changeset 6993

Show
Ignore:
Timestamp:
10/16/08 11:26:52 (5 years ago)
Author:
sasargen
Message:

ARI: add call screening control to Phone Features page

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • freepbx/trunk/amp_conf/htdocs/recordings/modules/phonefeatures.module

    r6029 r6993  
    4646        $this->storePhoneSetting( $args, $exten, 'call_waiting', 'CW', 'ENABLED'); 
    4747        $this->storePhoneSetting( $args, $exten, 'do_not_disturb', 'DND', 'YES'); 
     48        $this->storeCallScreen( $args, $exten); 
    4849      } 
    4950    } 
     
    9899      $dnd_cw_text.=  $this->displayPhoneControls( $exten, 'call_waiting', 'CW', "Call Waiting"); 
    99100      $dnd_cw_text.=  $this->displayPhoneControls( $exten, 'do_not_disturb', 'DND', "Do Not Disturb"); 
     101      $dnd_cw_text.=  $this->displayCallScreenControls( $exten); 
    100102       
    101103      $dnd_cw_text .= "</table>"; 
     
    353355    return $ret; 
    354356  } 
     357 
     358//***************************************************************************** 
     359  function storeCallScreen($args, $exten) { 
     360 
     361    global $asm; 
     362 
     363    $call_screen  = getArgument( $args, 'call_screen'); 
     364     
     365                switch ($call_screen) { 
     366                        case '0': 
     367                                $asm->database_del("AMPUSER",$exten."/screen"); 
     368                                break; 
     369                        case 'nomemory': 
     370                                $asm->database_put("AMPUSER",$exten."/screen","\"nomemory\""); 
     371                                break; 
     372                        case 'memory': 
     373                                $asm->database_put("AMPUSER",$exten."/screen","\"memory\""); 
     374                                break; 
     375                        default: 
     376                } 
     377  } 
     378 
     379//***************************************************************************** 
     380  function getCallScreen($exten) { 
     381 
     382    global $asm; 
     383 
     384    $call_screen  = $asm->database_get("AMPUSER",$exten."/screen"); 
     385    $call_screen  = (trim($call_screen) != "")?$call_screen:'0'; 
     386 
     387    return $call_screen; 
     388  } 
     389 
     390//***************************************************************************** 
     391  function displayCallScreenControls($exten) 
     392  { 
     393 
     394    $call_screen = $this->getCallScreen($exten); 
     395                $disabled = ""; 
     396                $nomemory = ""; 
     397                $memory = ""; 
     398 
     399                switch ($call_screen) { 
     400                        case '0': 
     401                                $disabled = "selected"; 
     402                                break; 
     403                        case 'nomemory': 
     404                                $nomemory = "selected"; 
     405                                break; 
     406                        case 'memory': 
     407                                $memory = "selected"; 
     408                                break; 
     409                        default: 
     410                } 
     411 
     412    $ret = "\n<tr>"; 
     413    $ret.= "<td>" . _("Call Screening:") . "</td>"; 
     414    $ret.= "<td>"; 
     415    $ret.= "<select name='call_screen'>"; 
     416    $ret.= "<option value='0' " . $disabled .  ">" . _("Disable") . "</option>"; 
     417    $ret.= "<option value='nomemory' " . $nomemory .  ">" . _("Screen Caller: No Memory") . "</option>"; 
     418    $ret.= "<option value='memory' " . $memory .  ">" . _("Screen Caller: Memory") . "</option>"; 
     419    $ret.= "</td>"; 
     420    $ret.= "</tr>\n"; 
     421     
     422    return $ret; 
     423  } 
     424 
    355425} // class 
    356426?>