<?php include 'asteriskconf.inc.php'; $sip = new asteriskconf(); $sip->parse_in_file('delfrom.conf'); $sip->assign_delsection('1000'); // $sip->debug(); $sip->keep_resource_array = false; $sip->save_file('output.conf'); print $sip->errstr;
function extension_delete_iax2($accountcode) { global $freeiris_conf; global $dbcon; //------------------------------------------------------先取出来找到真正的number $result = mysql_query("select * from extension where accountcode = '" . $accountcode . "'"); if (!$result) { return rpcreturn(500, mysql_error(), 100, null); } $extenres = mysql_fetch_array($result); mysql_free_result($result); //------------------------------------------------------删除localnumber表记录 $result = mysql_query("delete from localnumber where assign = '" . $accountcode . "' and number = '" . $extenres['devicenumber'] . "'"); if (!$result) { return rpcreturn(500, mysql_error(), 100, null); } //------------------------------------------------------删除基本数据 $dores = mysql_query("delete from extension where accountcode = '" . $accountcode . "'"); if (!$dores) { return rpcreturn(500, mysql_error(), 100, null); } //------------------------------------------------------删除分组 $dores = mysql_query("delete from extengroup_assign where accountcode = '" . $accountcode . "'"); if (!$dores) { return rpcreturn(500, mysql_error(), 100, null); } //------------------------------------------------------hints的数据处理 extension_hints_del($extenres['devicenumber']); //------------------------------------------------------删除配置数据 $iax2_exten_conf = new asteriskconf(); if ($iax2_exten_conf->parse_in_file($freeiris_conf->get('general', 'asterisketc') . '/iax_exten.conf') == false) { return rpcreturn(500, "can't open " . $freeiris_conf->get('general', 'asterisketc') . '/iax_exten.conf', 100, null); } $iax2_exten_conf->assign_delsection($accountcode); if ($iax2_exten_conf->save_file() && $iax2_exten_conf->last_changed_file == $freeiris_conf->get('general', 'asterisketc') . '/iax_exten.conf') { return rpcreturn(200, null, null, null, true); } else { return rpcreturn(200, null, null, null); } }
function queue_delete($queuenumber) { global $freeiris_conf; global $dbcon; //------------------------------------------------------删除localnumber表记录 $result = mysql_query("delete from localnumber where number = '" . $queuenumber . "'"); if (!$result) { return rpcreturn(500, mysql_error(), 100, null); } //------------------------------------------------------删除基本数据 $dores = mysql_query("delete from queue where queuenumber = '" . $queuenumber . "'"); if (!$dores) { return rpcreturn(500, mysql_error(), 100, null); } //------------------------------------------------------删除配置数据 $queues_list_conf = new asteriskconf(); if ($queues_list_conf->parse_in_file($freeiris_conf->get('general', 'asterisketc') . '/queues_list.conf') == false) { return rpcreturn(500, "can't open " . $freeiris_conf->get('general', 'asterisketc') . '/queues_list.conf', 100, null); } $queues_list_conf->assign_delsection($queuenumber); //如果执行成功 if ($queues_list_conf->save_file() && $queues_list_conf->last_changed_file == $freeiris_conf->get('general', 'asterisketc') . '/queues_list.conf') { return rpcreturn(200, null, null, null, true); } else { return rpcreturn(200, null, null, null); } }
function trunk_delete_iax2($trunkid) { global $freeiris_conf; global $dbcon; //------------------------------------------------------先取出来找到真正的trunkdevice $result = mysql_query("select * from trunk where id = '" . $trunkid . "'"); if (!$result) { return rpcreturn(500, mysql_error(), 100, null); } $trunkres = mysql_fetch_array($result); mysql_free_result($result); //------------------------------------------------------删除localnumber表记录 $result = mysql_query("delete from localnumber where assign = '" . $trunkid . "' and number = '" . $trunkres['trunkdevice'] . "'"); if (!$result) { return rpcreturn(500, mysql_error(), 100, null); } //------------------------------------------------------取得trunk记录 $result = mysql_query("select * from trunk where id = '{$trunkid}'"); if (!$result) { return rpcreturn(500, mysql_error(), 100, null); } $resdata = mysql_fetch_array($result); mysql_free_result($result); if (!$resdata) { return rpcreturn(500, "can't find trunk", 143, null); } //------------------------------------------------------取得旧siptrunk $trunk_conf = new asteriskconf(); if ($trunk_conf->parse_in_file($freeiris_conf->get('general', 'asterisketc') . '/iax_trunk.conf') == false) { return rpcreturn(500, "can't open " . $freeiris_conf->get('general', 'asterisketc') . '/iax_trunk.conf', 100, null); } //------------------------------------------------------删除旧registery if ($trunk_conf->get($resdata['trunkdevice'], 'register') != '') { $regmatch = 'register=' . $trunk_conf->get($resdata['trunkdevice'], 'register'); //打开regfile文件 $regfile_array = file($freeiris_conf->get('general', 'asterisketc') . '/iax_regfile.conf'); $regfile_string = null; foreach ($regfile_array as $line) { //如果在文件中找到对应的register if (trim($line) != $regmatch) { $regfile_string = $regfile_string . trim($line) . "\n"; } } //写文件 $fhandle = fopen($freeiris_conf->get('general', 'asterisketc') . '/iax_regfile.conf', 'w'); fwrite($fhandle, $regfile_string); fclose($fhandle); } //------------------------------------------------------删除基本数据 $dores = mysql_query("delete from trunk where id = '" . $trunkid . "'"); if (!$dores) { return rpcreturn(500, mysql_error(), 100, null); } //------------------------------------------------------删除配置数据 $trunk_conf->assign_delsection($resdata['trunkdevice']); //执行删除 $trunk_conf->save_file(); //删除后必须执行sip reload return rpcreturn(200, null, null, null, true); }