public function doConfigPageInit() { $request = array('action', 'id', 'goto0', 'name', 'text', 'engine'); $vars = array(); $goto = null; foreach ($request as $key) { $vars[$key] = isset($_REQUEST[$key]) ? $_REQUEST[$key] : null; } if (isset($vars['goto0']) && isset($_REQUEST[$vars['goto0'] . "0"])) { $goto = $_REQUEST[$vars['goto0'] . "0"]; } switch ($vars['action']) { case "add": $_REQUEST['id'] = \tts_add($vars['name'], $vars['text'], $goto, $vars['engine']); \needreload(); break; case "delete": \tts_del($vars['id']); $_REQUEST['id'] = null; \needreload(); break; case "edit": \tts_update($vars['id'], $vars['name'], $vars['text'], $goto, $_REQUEST['engine']); \needreload(); break; } }
public function doConfigPageInit($page) { $request = $_REQUEST; $action = isset($request['action']) ? $request['action'] : ''; $password = isset($request['password']) ? $request['password'] : ''; $fc_description = isset($request['fc_description']) ? $request['fc_description'] : ''; $day_recording_id = isset($request['day_recording_id']) ? $request['day_recording_id'] : ''; $night_recording_id = isset($request['night_recording_id']) ? $request['night_recording_id'] : ''; isset($request['itemid']) ? $itemid = $request['itemid'] : ($itemid = ''); $extdisplay = isset($request['extdisplay']) ? $request['extdisplay'] : ''; switch ($action) { case "add": case "edit": case "edited": \daynight_edit($request, $itemid); \needreload(); $_REQUEST['view'] = null; break; case "delete": \daynight_del($itemid); \needreload(); $_REQUEST['view'] = null; break; } }
public function doConfigPageInit($page) { $request = $_REQUEST; isset($request['action']) ? $action = $request['action'] : ($action = ''); isset($request['view']) ? $view = $request['view'] : ($view = ''); isset($request['itemid']) ? $itemid = $request['itemid'] : ($itemid = ''); if (isset($request['action'])) { switch ($action) { case "add": pinsets_add($request); needreload(); redirect_standard(); break; case "delete": pinsets_del($itemid); needreload(); redirect_standard(); break; case "edit": pinsets_edit($itemid, $request); needreload(); redirect_standard('itemid', 'view'); break; } } }
public function doConfigPageInit($page) { if (!empty($_POST)) { $readonly = $_POST['readonly'] == 'yes' ? 1 : 0; if (empty($_POST['id'])) { $id = $this->addUser($_POST['name'], $_POST['password'], $_POST['password_type'], $readonly); $_REQUEST['user'] = $id ? $id : ''; } else { if ($_POST['password'] == '******') { $this->editUser($_POST['id'], $_POST['name'], $readonly); } else { $this->editUser($_POST['id'], $_POST['name'], $readonly, $_POST['password'], $_POST['password_type']); } $_REQUEST['user'] = $_POST['id']; $_REQUEST['view'] = 'form'; } needreload(); } elseif (isset($_REQUEST['action']) && $_REQUEST['action'] == 'delete') { if (!empty($_REQUEST['user'])) { $this->deleteUser($_REQUEST['user']); needreload(); unset($_REQUEST['user']); if (isset($_REQUEST['view'])) { unset($_REQUEST['view']); } } } }
public function doConfigPageInit($page) { $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : ''; if (isset($_REQUEST['delete'])) { $action = 'delete'; } $queueprio_id = isset($_REQUEST['queueprio_id']) ? $_REQUEST['queueprio_id'] : false; $description = isset($_REQUEST['description']) ? $_REQUEST['description'] : ''; $queue_priority = isset($_REQUEST['queue_priority']) ? $_REQUEST['queue_priority'] : ''; $dest = isset($_REQUEST['dest']) ? $_REQUEST['dest'] : ''; if (isset($_REQUEST['goto0']) && $_REQUEST['goto0']) { $dest = $_REQUEST[$_REQUEST['goto0'] . '0']; } switch ($action) { case 'add': $_REQUEST['extdisplay'] = queueprio_add($description, $queue_priority, $dest); needreload(); break; case 'edit': queueprio_edit($queueprio_id, $description, $queue_priority, $dest); $_REQUEST['extdisplay'] = $queueprio_id; needreload(); break; case 'delete': queueprio_delete($queueprio_id); needreload(); break; } }
public function doConfigPageInit($page) { $request = $_REQUEST; isset($request['extdisplay']) ? $extdisplay = $request['extdisplay'] : ($extdisplay = ''); isset($request['description']) ? $description = $request['description'] : ($description = ''); isset($request['destdial']) ? $destdial = $request['destdial'] : ($destdial = ''); isset($request['view']) ? $view = $request['view'] : ($view = ''); isset($request['action']) ? $action = $request['action'] : ($action = ''); switch ($action) { case "add": $extdisplay = $this->add($request['description'], $request['destdial']); needreload(); redirect_standard(); break; case "delete": $this->del($request['extdisplay']); needreload(); redirect_standard(); break; case "edit": $this->update($request['extdisplay'], $request['description'], $request['destdial']); needreload(); redirect_standard('extdisplay', 'view'); break; } }
public function doConfigPageInit($page) { $request = $_REQUEST; $type = isset($request['type']) ? $request['type'] : 'setup'; $action = isset($request['action']) ? $request['action'] : ''; if (isset($request['delete'])) { $action = 'delete'; } $language_id = isset($request['language_id']) ? $request['language_id'] : false; $description = isset($request['description']) ? $request['description'] : ''; $lang_code = isset($request['lang_code']) ? $request['lang_code'] : ''; $dest = isset($request['dest']) ? $request['dest'] : ''; $view = isset($request['view']) ? $request['view'] : ''; if (isset($request['goto0']) && $request['goto0']) { $dest = $request[$request['goto0'] . '0']; } switch ($action) { case 'add': $request['extdisplay'] = languages_add($description, $lang_code, $dest); needreload(); break; case 'edit': languages_edit($language_id, $description, $lang_code, $dest); needreload(); break; case 'delete': languages_delete($language_id); needreload(); break; } }
public function doConfigPageInit($page) { $request = $_REQUEST; $error_displays = array(); $action = isset($request['action']) ? $request['action'] : ''; $post_codec = isset($request['codec']) ? $request['codec'] : array(); $post_vcodec = isset($request['vcodec']) ? $request['vcodec'] : array(); $iax_settings['codecpriority'] = isset($request['codecpriority']) ? $request['codecpriority'] : 'host'; $iax_settings['bandwidth'] = isset($request['bandwidth']) ? $request['bandwidth'] : 'unset'; $iax_settings['videosupport'] = isset($request['videosupport']) ? $request['videosupport'] : 'no'; $iax_settings['maxregexpire'] = isset($request['maxregexpire']) ? htmlspecialchars($request['maxregexpire']) : '3600'; $iax_settings['minregexpire'] = isset($request['minregexpire']) ? htmlspecialchars($request['minregexpire']) : '60'; $iax_settings['jitterbuffer'] = isset($request['jitterbuffer']) ? $request['jitterbuffer'] : 'no'; $iax_settings['forcejitterbuffer'] = isset($request['forcejitterbuffer']) ? $request['forcejitterbuffer'] : 'no'; $iax_settings['maxjitterbuffer'] = isset($request['maxjitterbuffer']) ? htmlspecialchars($request['maxjitterbuffer']) : '200'; $iax_settings['resyncthreshold'] = isset($request['resyncthreshold']) ? htmlspecialchars($request['resyncthreshold']) : '1000'; $iax_settings['maxjitterinterps'] = isset($request['maxjitterinterps']) ? htmlspecialchars($request['maxjitterinterps']) : '10'; $iax_settings['bindaddr'] = isset($request['bindaddr']) ? htmlspecialchars($request['bindaddr']) : ''; $iax_settings['bindport'] = isset($request['bindport']) ? htmlspecialchars($request['bindport']) : ''; $iax_settings['delayreject'] = isset($request['delayreject']) ? htmlspecialchars($request['delayreject']) : 'yes'; $codecs = array('ulaw' => '', 'alaw' => '', 'slin' => '', 'g726' => '', 'gsm' => '', 'g729' => '', 'ilbc' => '', 'g723' => '', 'g726aal2' => '', 'adpcm' => '', 'lpc10' => '', 'speex' => '', 'g722' => '', 'siren7' => '', 'siren14' => ''); // With the new sorting, the vars should come to us in the sorted order so just use that // $pri = 1; foreach (array_keys($post_codec) as $codec) { $codecs[$codec] = $pri++; } $iax_settings['codecs'] = $codecs; $video_codecs = array('h261' => '', 'h263' => '', 'h263p' => '', 'h264' => ''); $pri = 1; foreach (array_keys($post_vcodec) as $vcodec) { $video_codecs[$vcodec] = $pri++; } $iax_settings['video_codecs'] = $video_codecs; $p_idx = $n_idx = 0; while (isset($request["iax_custom_key_{$p_idx}"])) { if ($request["iax_custom_key_{$p_idx}"] != '') { $iax_settings["iax_custom_key_{$n_idx}"] = htmlspecialchars($request["iax_custom_key_{$p_idx}"]); $iax_settings["iax_custom_val_{$n_idx}"] = htmlspecialchars($request["iax_custom_val_{$p_idx}"]); $n_idx++; } $p_idx++; } switch ($action) { case "edit": //just delete and re-add if (($errors = iaxsettings_edit($iax_settings)) !== true) { $error_displays = process_errors($errors); } else { needreload(); //redirect_standard(); } break; default: /* only get them if first time load, if they pressed submit, use values from POST */ $iax_settings = iaxsettings_get(); } $error_displays = array_merge($error_displays, iaxsettings_check_custom_files()); }
public function doConfigPageInit($page) { $request = $_REQUEST; isset($request['action']) ? $action = $request['action'] : ($action = ''); isset($request['view']) ? $view = $request['view'] : ($view = 'form'); //the extension we are currently displaying $account = isset($request['account']) ? $request['account'] : ''; $extdisplay = isset($request['extdisplay']) && $request['extdisplay'] != '' ? $request['extdisplay'] : $account; $orig_account = isset($request['orig_account']) ? $request['orig_account'] : ''; $music = isset($request['music']) ? $request['music'] : ''; $users = isset($request['users']) ? $request['users'] : '0'; //check if the extension is within range for this user if ($account != "" && !checkRange($account)) { echo "<script>javascript:alert('" . _("Warning! Extension") . " {$account} " . _("is not allowed for your account.") . "');</script>"; } else { //if submitting form, update database switch ($action) { case "add": $conflict_url = array(); $usage_arr = framework_check_extension_usage($account); if (!empty($usage_arr)) { $conflict_url = framework_display_extension_usage_alert($usage_arr); } elseif ($this->addConference($account, $request['name'], $request['userpin'], $request['adminpin'], $request['options'], $request['joinmsg_id'], $music, $users, $request['adminpin']) !== false) { needreload(); } break; case "delete": $this->deleteConference($extdisplay); needreload(); break; case "edit": //just delete and re-add //check to see if the room number has changed if ($orig_account != '' && $orig_account != $account) { $conflict_url = array(); $usage_arr = framework_check_extension_usage($account); if (!empty($usage_arr)) { $conflict_url = framework_display_extension_usage_alert($usage_arr); break; } else { $this->deleteConference($orig_account); $request['extdisplay'] = $account; //redirect to the new ext $old = conferences_getdest($orig_account); $new = conferences_getdest($account); framework_change_destination($old[0], $new[0]); } } else { $this->deleteConference($account); } $this->addConference($account, $request['name'], $request['userpin'], $request['adminpin'], $request['options'], $request['joinmsg_id'], $music, $users, $request['language']); needreload(); break; } } }
function itslenny_edit($id, $post) { global $db; $var1 = $db->escapeSimple($post['enable']); $var2 = $db->escapeSimple($post['record']); $var3 = $db->escapeSimple($post['destination']); $var4 = $db->escapeSimple($post['silence']); $var5 = $db->escapeSimple($post['itterations']); $results = sql("\n\t\tUPDATE itslenny \n\t\tSET \n\t\t\tenable = '{$var1}', \n\t\t\trecord = '{$var2}', \n\t\t\tdestination = '{$var3}',\n\t\t\tsilence = '{$var4}',\n\t\t\titterations = '{$var5}'\n\t\tWHERE id = '{$id}'"); needreload(); }
public function doConfigPageInit($page) { $request = $_REQUEST; if ($page == "callrecording") { $type = isset($request['type']) ? $request['type'] : 'setup'; $view = isset($request['view']) ? $request['view'] : 'form'; $action = isset($request['action']) ? $request['action'] : ''; if (isset($request['delete'])) { $action = 'delete'; } $callrecording_id = isset($request['callrecording_id']) ? $request['callrecording_id'] : false; $description = isset($request['description']) ? $request['description'] : ''; $callrecording_mode = isset($request['callrecording_mode']) ? $request['callrecording_mode'] : ''; $dest = isset($request['dest']) ? $request['dest'] : ''; if (isset($request['goto0']) && $request['goto0']) { $dest = $request[$request['goto0'] . '0']; } switch ($action) { case 'add': $request['extdisplay'] = callrecording_add($description, $callrecording_mode, $dest); needreload(); //redirect_standard('extdisplay', 'view'); break; case 'edit': callrecording_edit($callrecording_id, $description, $callrecording_mode, $dest); needreload(); //redirect_standard('extdisplay', 'view'); break; case 'delete': callrecording_delete($callrecording_id); needreload(); //redirect_standard(); break; } } if ($page == "routing") { $viewing_itemid = isset($request['id']) ? $request['id'] : ''; $action = isset($request['action']) ? $request['action'] : null; $route_id = $viewing_itemid; //dbug("got request for callrecording process for route: $route_id action: $action"); if (isset($request['Submit'])) { $action = isset($action) ? $action : 'editroute'; } // $action won't be set on the redirect but callrecordingAddRoute will be in the session // if (!$action && !empty($_SESSION['callrecordingAddRoute'])) { callrecording_adjustroute($route_id, 'delayed_insert_route', $_SESSION['callrecordingAddRoute']); unset($_SESSION['callrecordingAddRoute']); } elseif ($action) { callrecording_adjustroute($route_id, $action, $request['callrecording']); } } }
public function doConfigPageInit($page) { $request = $_REQUEST; $dispnum = 'vmblast'; //used for switch on config.php $action = isset($request['action']) ? $request['action'] : ''; //the extension we are currently displaying $account = isset($request['account']) ? $request['account'] : ''; $extdisplay = isset($request['extdisplay']) ? ltrim($request['extdisplay'], 'GRP-') : ($account != '' ? $account : ''); $description = isset($request['description']) ? $request['description'] : ''; $audio_label = isset($request['audio_label']) ? $request['audio_label'] : -1; $password = isset($request['password']) ? $request['password'] : ''; $default_group = isset($request['default_group']) ? $request['default_group'] : '0'; $vmblast_list = isset($request['vmblast_list']) ? $request['vmblast_list'] : ''; $view = isset($request['view']) ? $request['view'] : 'form'; // do if we are submitting a form if (isset($request['action'])) { //check if the extension is within range for this user if (isset($account) && !checkRange($account)) { echo "<script>javascript:alert('" . _("Warning! Extension") . " " . $account . " " . _("is not allowed for your account") . ".');</script>"; } else { //add group if ($action == 'addGRP') { $conflict_url = array(); $usage_arr = framework_check_extension_usage($account); if (!empty($usage_arr)) { $conflict_url = framework_display_extension_usage_alert($usage_arr); } else { if (vmblast_add($account, $vmblast_list, $description, $audio_label, $password, $default_group)) { //$request['action'] = 'delGRP'; $_REQUEST['view'] = 'form'; $_REQUEST['extdisplay'] = $account; needreload(); //redirect_standard('extdisplay', 'view'); } } } //del group if ($action == 'delGRP') { vmblast_del($account); needreload(); } //edit group - just delete and then re-add the extension if ($action == 'editGRP') { vmblast_del($account); vmblast_add($account, $vmblast_list, $description, $audio_label, $password, $default_group); needreload(); } } } }
public function doConfigPageInit($page) { isset($_REQUEST['action']) ? $action = $_REQUEST['action'] : ($action = ''); isset($_REQUEST['itemid']) ? $itemid = $_REQUEST['itemid'] : ($itemid = ''); switch ($action) { case "add": $_REQUEST['itemid'] = callback_add($_POST); needreload(); break; case "delete": callback_del($itemid); needreload(); break; case "edit": callback_edit($itemid, $_POST); needreload(); break; } }
public function doConfigPageInit($page) { $request = $_REQUEST; isset($request['action']) ? $action = $request['action'] : ($action = ''); isset($request['view']) ? $view = $request['view'] : ($view = 'form'); isset($request['itemid']) ? $itemid = $request['itemid'] : ($itemid = ''); if (isset($request['action'])) { switch ($action) { case "add": cidlookup_add($request); needreload(); redirect_standard(); break; case "delete": cidlookup_del($itemid); needreload(); redirect_standard(); break; case "edit": cidlookup_edit($itemid, $request); needreload(); redirect_standard('itemid'); break; case "getJSON": switch ($request['jdata']) { case "cid_modules": header('Content-Type: application/json'); echo json_encode($this->cid_modules); exit; break; default: header('Content-Type: application/json'); echo json_encode(array('status' => 'ERROR', 'message' => 'Invalid Request')); exit; break; } break; } } }
function featurecodeadmin_update($req) { foreach ($req as $key => $item) { // Split up... // 0 - action // 1 - modulename // 2 - featurename $arr = explode("#", $key); if (count($arr) == 3) { $action = $arr[0]; $modulename = $arr[1]; $featurename = $arr[2]; $fieldvalue = $item; // Is there a more efficient way of doing this? switch ($action) { case "ena": $fcc = new featurecode($modulename, $featurename); if ($fieldvalue == 1) { $fcc->setEnabled(true); } else { $fcc->setEnabled(false); } $fcc->update(); break; case "custom": $fcc = new featurecode($modulename, $featurename); if ($fieldvalue == $fcc->getDefault()) { $fcc->setCode(''); // using default } else { $fcc->setCode($fieldvalue); } $fcc->update(); break; } } } needreload(); }
public function update($codes = array()) { if (!empty($codes)) { foreach ($codes as $module => $features) { foreach ($features as $name => $data) { $fcc = new \featurecode($module, $name); if (!empty($data['enable'])) { $fcc->setEnabled(true); } else { $fcc->setEnabled(false); } if (empty($data['customize']) || $data['code'] == $fcc->getDefault()) { $fcc->setCode(''); } else { $fcc->setCode($data['code']); } $fcc->update(); } } needreload(); } }
public function doConfigPageInit($page) { $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : ''; $itemid = isset($_REQUEST['itemid']) ? $_REQUEST['itemid'] : ''; switch ($action) { case "add": $_REQUEST['itemid'] = disa_add($_POST); needreload(); break; case "delete": $oldItem = disa_get($itemid); disa_del($itemid); needreload(); break; case "edit": //just delete and re-add disa_edit($itemid, $_POST); $_REQUEST['itemid'] = $itemid; needreload(); break; } }
break; case "edittrunk": if ($tech == 'pjsip') { $channelid = !empty($_REQUEST['trunk_name']) ? $_REQUEST['trunk_name'] : ''; } core_trunks_edit($trunknum, $channelid, $dialoutprefix, $maxchans, $outcid, $peerdetails, $usercontext, $userconfig, $register, $keepcid, trim($failtrunk), $disabletrunk, $trunk_name, $provider, $continue, $dialopts); // this can rewrite too, so edit is the same core_trunks_update_dialrules($trunknum, $dialpattern_insert, true); needreload(); redirect_standard('extdisplay'); break; case "deltrunk": core_trunks_del($trunknum); core_trunks_delete_dialrules($trunknum); core_routing_trunk_delbyid($trunknum); needreload(); redirect_standard(); break; case "populatenpanxx7": case "populatenpanxx10": $dialpattern_array = $dialpattern_insert; if (preg_match("/^([2-9]\\d\\d)-?([2-9]\\d\\d)\$/", $_REQUEST["npanxx"], $matches)) { // first thing we do is grab the exch: $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, "http://www.localcallingguide.com/xmllocalprefix.php?npa=" . $matches[1] . "&nxx=" . $matches[2]); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Linux; FreePBX Local Trunks Configuration)"); $str = curl_exec($ch); curl_close($ch); // quick 'n dirty - nabbed from PEAR require_once $amp_conf['AMPWEBROOT'] . '/admin/modules/core/XML_Parser.php';
/** * Uninstall a module, but files remain * @param string The name of the module to install * @param bool If true, skips status and dependency checks * @return mixed True if succesful, array of error messages if not succesful */ function uninstall($modulename, $force = false) { global $db; global $amp_conf; $modules = $this->getinfo($modulename); if (!isset($modules[$modulename])) { return array(_("Specified module not found")); } if (!$force) { if ($modules[$modulename]['status'] == MODULE_STATUS_NOTINSTALLED) { return array(_("Module not installed: cannot uninstall")); } if (($depmods = $this->reversedepends($modulename)) !== false) { return array(_("Cannot disable: The following modules depend on this one: ") . implode(',', $depmods)); } } // Check if another module wants this uninstall to be rejected // The module must have a callback: [modulename]_module_uninstall_check_callbak() that takes // a single modules array from module_getinfo() about the module to be uninstalled // and it must pass back boolean true if the uninstall can proceed, or a message // indicating why the uninstall must fail // $rejects = array(); foreach (mod_func_iterator('module_uninstall_check_callback', $modules) as $mod => $res) { if ($res !== true) { $rejects[] = $res; } } if (!empty($rejects)) { return $rejects; } $sql = "DELETE FROM modules WHERE modulename = '" . $db->escapeSimple($modulename) . "'"; $results = $db->query($sql); if (DB::IsError($results)) { return array(_("Error updating database: ") . $results->getMessage()); } if (!$this->_runscripts($modulename, 'uninstall', $modules)) { return array(_("Failed to run un-installation scripts")); } // Now make sure all feature codes are uninstalled in case the module has not already done it // require_once dirname(__FILE__) . '/featurecodes.class.php'; //TODO: do we need this, now that we have bootstrap? -MB featurecodes_delModuleFeatures($modulename); $freepbx_conf =& freepbx_conf::create(); $freepbx_conf->remove_module_settings($modulename); $mod_asset_dir = $amp_conf['AMPWEBROOT'] . "/admin/assets/" . $modulename; if (is_link($mod_asset_dir)) { @unlink($mod_asset_dir); } needreload(); //invalidate the modulelist class since it is now stale modulelist::create($db)->invalidate(); try { $sth = FreePBX::Database()->prepare("DELETE FROM `kvstore` WHERE `module` = :mod"); $sth->execute(array(":mod" => $modulename)); } catch (\Exception $e) { } return true; }
/** * Update the TLS Port if requested * * This is called when 'tlsportowner' is submitted as part of the POST. * It checks to see if the requested channel driver does own the TLS port, * and if it doesn't, it assigns it. * * If the other driver is assigned to that port, it moves it to 5161. */ public function updateTlsOwner($driver = false) { // Who owns it at the moment? $owner = $this->getTlsPortOwner(); if ($owner == $driver) { // Nothing to do, we're already correct return true; } // Does chan_sip want to own the TLS port? if ($driver == "sip") { // We're moving chansip to 5061 $this->updateChanSipSettings("tlsbindport", 5061); needreload(); // If pjsip is listening on 5061, move it to 5161 $pjsipbinds = $this->getConfig("binds"); $pjsipbinds = is_array($pjsipbinds) ? $pjsipbinds : array(); foreach ($pjsipbinds as $pjproto => $binds) { // Skip if not tls if ($pjproto !== "tls") { continue; } // Get all the listening TLS interfaces and if they're // set to 5061, set them to 5161 foreach ($binds as $ip => $state) { $p = $this->getConfig($pjproto . "port-" . $ip); if ($p == 5061) { // It's a conflict. move to 5161 $this->setConfig($pjproto . "port-" . $ip, 5161); } } } } elseif ($driver = "pjsip") { // We're setting pjsip to own 5061. Does chansip think it // owns it? $chansip = $this->getChanSipSettings(); if (!isset($chansip['tlsbindport']) || !$chansip['tlsbindport'] || $chansip['tlsbindport'] == 5061) { // Yes it does. Move to 5161. $this->updateChanSipSettings("tlsbindport", 5161); needreload(); } // Update all tls listeners for pjsip to listen on 5061 $pjsipbinds = $this->getConfig("binds"); $pjsipbinds = is_array($pjsipbinds) ? $pjsipbinds : array(); foreach ($pjsipbinds as $pjproto => $binds) { // Skip if not tls if ($pjproto !== "tls") { continue; } // Get all the listening TLS interfaces and if they're // set to 5061, set them to 5161 foreach ($binds as $ip => $state) { $p = $this->getConfig($pjproto . "port-" . $ip); if ($p != 5061) { // It's a conflict. move to 5161 $this->setConfig($pjproto . "port-" . $ip, 5061); needreload(); } } } } else { throw new \Exception("Can't change tls owner to unknown driver '{$driver}'"); } }
/** * Saves logfile related settings */ function logfiles_put_opts($opts) { global $db, $amp_conf; $has_security_option = version_compare($amp_conf['ASTVERSION'], '11.0', 'ge'); //save options foreach ($opts as $k => $v) { switch ($k) { case 'appendhostname': case 'dateformat': case 'queue_log': case 'rotatestrategy': $data[] = array($k, $v); break; default: break; //do nothing } } //dbug('save settings', $data); $sql = $db->prepare('REPLACE INTO logfile_settings (`key`, value) VALUES (?, ?)'); $ret = $db->executeMultiple($sql, $data); db_e($ret); unset($data); //save log files foreach ($opts['logfiles'] as $item => $values) { foreach ($values as $index => $v) { $logs[$index][$item] = $v; if (!$has_security_option) { $logs[$index]['security'] = 'off'; } } } //ensure the order of our array is correct foreach ($logs as $k => $l) { $data = array('name' => $l['name'], 'debug' => $l['debug'], 'dtmf' => $l['dtmf'], 'error' => $l['error'], 'fax' => $l['fax'], 'notice' => $l['notice'], 'verbose' => $l['verbose'], 'warning' => $l['warning'], 'security' => $l['security']); $logData[] = array_values($data); } sql('TRUNCATE logfile_logfiles'); $sql = $db->prepare('INSERT INTO logfile_logfiles (name, debug, dtmf, error, fax, notice, verbose, warning, security) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)'); $ret = $db->executeMultiple($sql, $logData); db_e($ret); needreload(); return true; }
function trunkalarmoptions_saveconfig() { require_once 'DB.php'; # clean up $engine = mysql_escape_string($_POST['engine']); $pbxname = mysql_escape_string($_POST['pbxname']); # Make SQL thing $sql = "UPDATE `trunkalarmoptions` SET"; $sql .= " `engine`='{$engine}',"; $sql .= " `pbxname`='{$pbxname}'"; $sql .= " `trunkemail`='{$trunkemail}'"; $sql .= " `trunkalarmext`='{$trunkext}'"; $sql .= " `trunkalarmnumber`='{$trunknumber}'"; $sql .= " LIMIT 1;"; $sql = "UPDATE `trunkalarmoptions` SET"; $sql .= " `engine`='{$engine}',"; $sql .= " `pbxname`='{$pbxname}'"; $sql .= " LIMIT 1;"; $sql = "UPDATE `trunkalarmoptions` SET"; $sql .= " `engine`='{$engine}',"; $sql .= " `trunkemail`='{$trunkemail}'"; $sql .= " LIMIT 1;"; $sql = "UPDATE `trunkalarmoptions` SET"; $sql .= " `engine`='{$engine}',"; $sql .= " `trunkalarmext`='{$trunkext}'"; $sql .= " LIMIT 1;"; $sql = "UPDATE `trunkalarmoptions` SET"; $sql .= " `engine`='{$engine}',"; $sql .= " `trunkalarmnumber`='{$trunknumber}'"; $sql .= " LIMIT 1;"; sql($sql); needreload(); }
public function doConfigPageInit($page) { $request = $_REQUEST; $action = isset($request['action']) ? $request['action'] : ''; if (isset($request['delete'])) { $action = 'delete'; } $announcement_id = isset($request['announcement_id']) ? $request['announcement_id'] : false; $view = isset($request['view']) ? $request['view'] : 'form'; $description = isset($request['description']) ? $request['description'] : ''; $recording_id = isset($request['recording_id']) ? $request['recording_id'] : ''; $allow_skip = isset($request['allow_skip']) ? $request['allow_skip'] : 0; $return_ivr = isset($request['return_ivr']) ? $request['return_ivr'] : 0; $noanswer = isset($request['noanswer']) ? $request['noanswer'] : 0; $post_dest = isset($request['post_dest']) ? $request['post_dest'] : ''; $repeat_msg = isset($request['repeat_msg']) ? $request['repeat_msg'] : ''; if (isset($request['goto0']) && $request['goto0']) { // 'ringgroup_post_dest' 'ivr_post_dest' or whatever $post_dest = $request[$request['goto0'] . '0']; } switch ($action) { case 'add': $_REQUEST['extdisplay'] = announcement_add($description, $recording_id, $allow_skip, $post_dest, $return_ivr, $noanswer, $repeat_msg); needreload(); $this->freepbx->View->redirect_standard('extdisplay', 'view'); break; case 'edit': announcement_edit($announcement_id, $description, $recording_id, $allow_skip, $post_dest, $return_ivr, $noanswer, $repeat_msg); needreload(); $this->freepbx->View->redirect_standard('extdisplay', 'view'); break; case 'delete': announcement_delete($_REQUEST['extdisplay']); needreload(); $this->freepbx->View->redirect_standard(); break; } }
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; } } }
function voicemail_configprocess() { //create vars from the request extract($_REQUEST); $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : null; $extdisplay = isset($_REQUEST['extdisplay']) ? $_REQUEST['extdisplay'] : null; //if submitting form, update database switch ($action) { case "add": if (!isset($GLOBALS['abort']) || $GLOBALS['abort'] !== true) { $usage_arr = framework_check_extension_usage($_REQUEST['extension']); if (!empty($usage_arr)) { $GLOBALS['abort'] = true; } else { voicemail_mailbox_add($extdisplay, $_REQUEST); needreload(); } } break; case "del": // call remove before del, it needs to know context info // voicemail_mailbox_remove($extdisplay); voicemail_mailbox_del($extdisplay); needreload(); break; case "edit": if (!isset($GLOBALS['abort']) || $GLOBALS['abort'] !== true) { voicemail_mailbox_del($extdisplay); if ($vm != 'disabled') { voicemail_mailbox_add($extdisplay, $_REQUEST); } needreload(); } break; } }
function fax_save_settings($settings) { global $db; if (is_array($settings)) { foreach ($settings as $key => $value) { sql("REPLACE INTO fax_details (`key`, `value`) VALUES ('" . $key . "','" . $db->escapeSimple($value) . "')"); } } needreload(); }
/** Uninstall a module, but files remain * @param string The name of the module to install * @param bool If true, skips status and dependency checks * @return mixed True if succesful, array of error messages if not succesful */ function module_uninstall($modulename, $force = false) { global $db; $modules = module_getinfo($modulename); if (!isset($modules[$modulename])) { return array(_("Specified module not found")); } if (!$force) { if ($modules[$modulename]['status'] == MODULE_STATUS_NOTINSTALLED) { return array(_("Module not installed: cannot uninstall")); } if (($depmods = module_reversedepends($modulename)) !== false) { return array(_("Cannot disable: The following modules depend on this one: ") . implode(',', $depmods)); } } $sql = "DELETE FROM modules WHERE modulename = '" . $db->escapeSimple($modulename) . "'"; $results = $db->query($sql); if (DB::IsError($results)) { return array(_("Error updating database: ") . $results->getMessage()); } if (!_module_runscripts($modulename, 'uninstall')) { return array(_("Failed to run un-installation scripts")); } needreload(); return true; }
public function delUser($id) { $sql = 'DELETE FROM xmpp_users WHERE user = :id'; $sth = $this->db->prepare($sql); $sth->execute(array(":id" => $id)); needreload(); $this->saveOption('dirty', 'true'); }
public function setRouteOrder($routes) { $dbh = $this->database(); $stmt = $dbh->prepare('DELETE FROM `outbound_route_sequence` WHERE 1'); $stmt->execute(); $stmt = $dbh->prepare('INSERT INTO outbound_route_sequence (route_id, seq) VALUES (?,?)'); $ret = array(); foreach ($routes as $key => $value) { $seq = $key + 1; $ret[] = $stmt->execute(array($value, $seq)); } needreload(); return $ret; }
function paging_add($xtn, $plist, $force_page, $duplex, $description = '', $default_group) { global $db; // $plist contains a string of extensions, with \n as a seperator. // Split that up first. if (is_array($plist)) { $xtns = $plist; } else { $xtns = explode("\n", $plist); } foreach (array_keys($xtns) as $val) { $val = $db->escapeSimple(trim($xtns[$val])); // Sanity check input. $sql = "INSERT INTO paging_groups(page_number, ext) VALUES ('{$xtn}', '{$val}')"; $db->query($sql); } $description = $db->escapeSimple(trim($description)); $sql = "INSERT INTO paging_config(page_group, force_page, duplex, description) VALUES ('{$xtn}', '{$force_page}', '{$duplex}', '{$description}')"; $db->query($sql); if ($default_group) { sql("DELETE FROM `admin` WHERE variable = 'default_page_grp'"); sql("INSERT INTO `admin` (variable, value) VALUES ('default_page_grp', '{$xtn}')"); } else { sql("DELETE FROM `admin` WHERE variable = 'default_page_grp' AND value = '{$xtn}'"); } needreload(); }