예제 #1
0
파일: deltest.php 프로젝트: ljhcj/IRISCC
<?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;
예제 #2
0
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);
    }
}
예제 #3
0
파일: rpcpbx_acd.php 프로젝트: ljhcj/IRISCC
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);
    }
}
예제 #4
0
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);
}