예제 #1
0
function option_confsection_get($folder, $type, $section)
{
    global $freeiris_conf;
    global $dbcon;
    if ($folder == 'freeiris') {
        if ($type == 'freeiris.conf') {
            return rpcreturn(200, null, null, array($section => $freeiris_conf->key_all($section)));
        } else {
            $confile = new asteriskconf();
            if ($confile->parse_in_file('/etc/freeiris2/' . $type) == false) {
                return rpcreturn(500, "can't open " . '/etc/freeiris2/' . $type, 100, null);
            }
            return rpcreturn(200, null, null, array($section => $confile->key_all($section)));
        }
    } elseif ($folder == 'asterisk') {
        $confile = new asteriskconf();
        if ($confile->parse_in_file($freeiris_conf->get('general', 'asterisketc') . '/' . $type) == false) {
            return rpcreturn(500, "can't open " . $freeiris_conf->get('general', 'asterisketc') . '/' . $type, 100, null);
        }
        return rpcreturn(200, null, null, array($section => $confile->key_all($section)));
    }
}
예제 #2
0
파일: rpcpbx_acd.php 프로젝트: ljhcj/IRISCC
function queue_get($queuenumber)
{
    global $freeiris_conf;
    global $dbcon;
    //执行sql
    $result = mysql_query("select * from queue where queuenumber = '{$queuenumber}'");
    if (!$result) {
        return rpcreturn(500, mysql_error(), 100, null);
    }
    $resdata = mysql_fetch_array($result);
    mysql_free_result($result);
    //处理成员姓名
    $members = preg_split("/\\&/", $resdata['members']);
    $members_res = array();
    foreach ($members as $accountcode) {
        if ($accountcode == "") {
            continue;
        }
        $result = mysql_query("select * from extension where accountcode = '" . $accountcode . "'");
        if (!$result) {
            return rpcreturn(500, mysql_error(), 100, null);
        }
        $oneres = mysql_fetch_array($result);
        mysql_free_result($result);
        array_push($members_res, $oneres);
    }
    $resdata['members_res'] = $members_res;
    //取得配置文件
    $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);
    }
    $confdata = $queues_list_conf->key_all($queuenumber);
    return rpcreturn(200, null, null, array('resdata' => $resdata, 'confdata' => $confdata));
}
예제 #3
0
파일: demo.php 프로젝트: ljhcj/IRISCC
<?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();
예제 #4
0
function extension_get_iax2($accountcode)
{
    global $freeiris_conf;
    global $dbcon;
    //执行sql
    $result = mysql_query("select * from extension where accountcode = '{$accountcode}'");
    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 extension", 125, null);
    }
    //取出对应的分组名称
    $exteningroup_res = mysql_query("select extengroup.* from extengroup_assign left join extengroup on extengroup_assign.groupid = extengroup.groupid where accountcode = '" . $resdata['accountcode'] . "'");
    if (!$exteningroup_res) {
        return rpcreturn(500, mysql_error(), 100, null);
    }
    while ($eachexten = mysql_fetch_array($exteningroup_res)) {
        $extengroup = $extengroup . $eachexten['groupname'] . ',';
    }
    $resdata['extengroup'] = $extengroup;
    //取得配置文件
    $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_all($resdata['accountcode'])) {
        $resdata = array_merge($resdata, $iax2_exten_conf->key_all($resdata['accountcode']));
    }
    return rpcreturn(200, null, null, array('resdata' => $resdata));
}
예제 #5
0
function trunk_get_iax2($trunkid)
{
    global $freeiris_conf;
    global $dbcon;
    //执行sql
    $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);
    }
    //取得配置文件
    $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);
    }
    if ($trunk_conf->key_all($resdata['trunkdevice'])) {
        $resdata = array_merge($resdata, $trunk_conf->key_all($resdata['trunkdevice']));
    }
    return rpcreturn(200, null, null, array('resdata' => $resdata));
}