Пример #1
0
/**
*  initialize page elements
*
*/
function init()
{
    global $locate, $config;
    $objResponse = new xajaxResponse();
    $myAsterisk = new Asterisk();
    $myAsterisk->config['asmanager'] = $config['asterisk'];
    $res = $myAsterisk->connect();
    if (!$res) {
        $objResponse->addAssign("AMIStatudDiv", "innerHTML", $locate->Translate("AMI connection failed"));
    }
    $group_row = astercrm::getRecord($_SESSION['curuser']['groupid'], 'accountgroup');
    if ($group_row['grouplogo'] != '' && $group_row['grouplogostatus']) {
        $logoPath = $config['system']['upload_file_path'] . '/callshoplogo/' . $group_row['grouplogo'];
        if (is_file($logoPath)) {
            $titleHtml = '<img src="' . $logoPath . '" style="float:left;" >';
        }
    }
    if ($group_row['grouptitle'] != '') {
        $titleHtml .= '<h1 style="padding: 0 0 0 0;position: relative;font-size: 16pt;">' . $group_row['grouptitle'] . '</h1>';
    }
    if ($group_row['grouptagline'] != '') {
        $titleHtml .= '<h2 style="padding: 0 0 0 0;position: relative;font-size: 11pt;color: #FJDSKB;">' . $group_row['grouptagline'] . '</h2>';
    }
    if (isset($titleHtml)) {
        //$titleHtml .= '<div style="position:absolute;top:85px;left:0px;width:800px"><hr color="#F1F1F1"></div>';
        $objResponse->addAssign("divTitle", "innerHTML", $titleHtml);
    } else {
        $objResponse->addAssign("divTitle", "style.height", '0px');
        $objResponse->addAssign("divMain", "style.top", '0px');
    }
    $_SESSION['status'] = array();
    $peers = $_SESSION['curuser']['extensions'];
    # 获得当前的channel
    $curchannels = array();
    $curchannels = astercc::checkPeerStatus($_SESSION['curuser']['groupid'], $peers);
    foreach ($peers as $peer) {
        // check if the booth is locked
        $clid = astercc::readRecord('clid', 'clid', $peer);
        if ($clid['isshow'] == 'yes') {
            $i++;
            // read booth display
            //$display = astercc::readField('clid','display','clid',$peer);
            $status = $clid['status'];
            $display = $clid['display'];
            if ($curchannels[$peer] && $curchannels[$peer]['creditlimit'] > 0) {
                $objResponse->addScript('addDiv("divMainContainer","' . $peer . '","' . $curchannels[$peer]['creditlimit'] . '","' . $i . '","' . $status . '","' . $display . '","' . $config['customers']['enable'] . '")');
            } else {
                $objResponse->addScript('addDiv("divMainContainer","' . $peer . '","","' . $i . '","' . $status . '","' . $display . '","' . $config['customers']['enable'] . '")');
            }
            $objResponse->addScript('xajax_addUnbilled("' . $peer . '");');
        }
    }
    if (!isset($_SESSION['callbacks'])) {
        $_SESSION['callbacks'] = array();
    }
    //print_r($_SESSION['callbacks']);
    // get callback from database
    $callback = astercc::getCallback($_SESSION['curuser']['groupid']);
    while ($callback->fetchInto($mycallback)) {
        if ($mycallback['dst'] != $mycallback['src']) {
            // legB connected
            $_SESSION['callbacks'][$mycallback['dst'] . $mycallback['src']] = array('legA' => $mycallback['src'], 'legB' => $mycallback['dst'], 'start' => 1, 'creditLimit' => $mycallback['creditlimit']);
        }
    }
    //print_r($_SESSION['callbacks']);
    // get callback from session
    foreach ($_SESSION['callbacks'] as $callback) {
        if ($callback['creditlimit'] > 0) {
            $objResponse->addScript('addDiv("divMainContainer","local/' . $callback['legB'] . '","' . $callback['creditlimit'] . '","","","' . $config['customers']['enable'] . '")');
        } else {
            $objResponse->addScript('addDiv("divMainContainer","local/' . $callback['legB'] . '","","","","' . $config['customers']['enable'] . '")');
        }
        $objResponse->addScript('xajax_addUnbilled("' . $callback['legB'] . '","' . $callback['legA'] . '");');
    }
    //print_r($_SESSION['callbacks']);
    //$objResponse->addAssign("divNav","innerHTML",common::generateManageNav($skin));
    //$objResponse->addAssign("divCopyright","innerHTML",common::generateCopyright($skin));
    $objResponse->addScript("checkHangup()");
    $objResponse->addScript("xajax_setGroupBalance();");
    $objResponse->addAssign("creditlimittype", "value", $config['system']['creditlimittype']);
    return $objResponse;
}