Пример #1
0
 public function doConfigPageInit($page)
 {
     $request = $_REQUEST;
     $request['action'] = !empty($request['action']) ? $request['action'] : "";
     switch ($page) {
         case 'directory':
             //check for ajax request and process that immediately
             if (isset($_REQUEST['ajaxgettr'])) {
                 //got ajax request
                 $opts = $opts = explode('|', urldecode($_REQUEST['ajaxgettr']));
                 if ($opts[0] == 'all') {
                     echo directory_draw_entries_all_users($opts[1]);
                 } else {
                     if ($opts[0] != '') {
                         $real_id = $opts[0];
                         $name = '';
                         $realname = $opts[1];
                         $audio = 'vm';
                     } else {
                         $real_id = 'custom';
                         $name = $opts[1];
                         $realname = 'Custom Entry';
                         $audio = 'tts';
                     }
                     echo directory_draw_entries_tr($opts[0], $real_id, $name, $realname, $audio, '', $opts[2]);
                 }
                 exit;
             }
             $requestvars = array('id', 'action', 'entries', 'newentries', 'def_dir', 'Submit');
             foreach ($requestvars as $var) {
                 switch ($var) {
                     case 'def_dir':
                         $rvars_def = false;
                         break;
                     default:
                         $rvars_def = '';
                         break;
                 }
                 ${$var} = isset($_REQUEST[$var]) ? $_REQUEST[$var] : $rvars_def;
             }
             if (isset($Submit) && $Submit == 'Submit' && isset($def_dir) && $def_dir !== false) {
                 directory_save_default_dir($def_dir);
             }
             break;
     }
     if ($page == 'directory') {
         //get variables for directory_details
         $requestvars = array('id', 'dirname', 'description', 'announcement', 'callid_prefix', 'alert_info', 'repeat_loops', 'repeat_recording', 'invalid_recording', 'invalid_destination', 'retivr', 'say_extension');
         foreach ($requestvars as $var) {
             $vars[$var] = isset($_REQUEST[$var]) ? $_REQUEST[$var] : null;
         }
         $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : null;
         $entries = isset($_REQUEST['entries']) ? $_REQUEST['entries'] : null;
         //$entries=(($entries)?array_values($entries):'');//reset keys
         switch ($action) {
             case 'edit':
                 //get real dest
                 $vars['invalid_destination'] = $_REQUEST[$_REQUEST['goto0'] . '0'];
                 $vars['id'] = directory_save_dir_details($vars);
                 \directory_save_dir_entries($vars['id'], $entries);
                 $this_dest = directory_getdest($vars['id']);
                 \fwmsg::set_dest($this_dest[0]);
                 needreload();
                 $_REQUEST['id'] = $vars['id'];
                 break;
             case 'delete':
                 directory_delete($vars['id']);
                 needreload();
                 break;
         }
     }
 }
Пример #2
0
function directory_delete($id)
{
    global $db;
    $id = $db->escapeSimple($id);
    if (directory_get_default_dir() == $id) {
        directory_save_default_dir('');
    }
    sql("DELETE FROM directory_entries WHERE id = {$id}");
    sql("DELETE FROM directory_details WHERE id = {$id}");
}