Example #1
0
function extension_edit_iax2($accountcode, $exten)
{
    global $freeiris_conf;
    global $dbcon;
    //------------------------------------------------------编辑extension表
    $result = mysql_query("update extension set " . "password='******'password'] . "'," . "transfernumber='" . $exten['transfernumber'] . "'," . "diallocal_failed='" . $exten['diallocal_failed'] . "'," . "info_name='" . $exten['info_name'] . "'," . "info_email='" . $exten['info_email'] . "'," . "info_detail='" . $exten['info_detail'] . "'," . "info_remark='" . $exten['info_remark'] . "' where accountcode = '" . $accountcode . "'");
    if (!$result) {
        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);
    }
    //产生新分组
    foreach (split('[\\,|\\s|\\ ]', $exten['extengroup']) as $value) {
        $groupnames = $groupnames . " groupname = '{$value}' OR ";
    }
    $groupnames = rtrim($groupnames, 'OR ');
    $exten['callgroup'] = null;
    $exten['pickupgroup'] = null;
    $result = mysql_query("select * from extengroup where {$groupnames}");
    if (!$result) {
        return rpcreturn(500, mysql_error(), 100, null);
    }
    while ($each = mysql_fetch_array($result)) {
        //创建分组
        $dores = mysql_query("insert into extengroup_assign set groupid = '" . $each['groupid'] . "' , accountcode = '" . $accountcode . "'");
        if (!$dores) {
            return rpcreturn(500, mysql_error(), 100, null);
        }
        //补充sip template所需数据
        $exten['callgroup'] = $exten['callgroup'] . $each['groupid'] . ',';
        $exten['pickupgroup'] = $exten['pickupgroup'] . $each['groupid'] . ',';
    }
    mysql_free_result($result);
    //------------------------------------------------------编辑配置数据
    $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);
    }
    if (!$iax2_exten_conf->key_list($accountcode)) {
        return rpcreturn(500, "can't find extension in iax_exten.conf!", 100, null);
    }
    //产生编辑数据结构
    if (!conftpl_assignedit('/etc/freeiris2/exten.iax2.conf.tpl', $exten, $iax2_exten_conf, $accountcode)) {
        return rpcreturn(500, "unknow error", 100, null);
    }
    //执行
    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);
    }
}
Example #2
0
<?php

include 'asteriskconf.inc.php';
$sip = new asteriskconf();
$f = $sip->parse_in_file('sip.conf');
if ($f == false) {
    echo "false";
}
$sections = $sip->section_list();
$parsed = $sip->section_all();
$keyslist = $sip->key_list('general');
$keyshash = $sip->key_all('general');
$keyvalue = $sip->get('general', 'language');
$sip->debug();
$sip->keep_resource_array = false;
$sip->reload();
$sip->debug();