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))); } }
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)); }
<?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();
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)); }
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)); }