/** * 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; }
function init($curpeer) { global $locate, $config; $objResponse = new xajaxResponse(); $peers = array(); if ($_SESSION['curuser']['usertype'] == 'admin') { // set all reseller first $reseller = astercrm::getAll('resellergroup'); $objResponse->addScript("addOption('resellerid','" . "0" . "','" . $locate->Translate("All") . "');"); while ($reseller->fetchInto($row)) { if ($config['synchronize']['display_synchron_server']) { $row['resellername'] = astercrm::getSynchronDisplay($row['id'], $row['resellername']); } $objResponse->addScript("addOption('resellerid','" . $row['id'] . "','" . $row['resellername'] . "');"); } } else { if ($_SESSION['curuser']['usertype'] == 'reseller') { // set one reseller $objResponse->addScript("addOption('resellerid','" . $_SESSION['curuser']['resellerid'] . "','" . "" . "');"); // set all group $group = astercrm::getAll('accountgroup', 'resellerid', $_SESSION['curuser']['resellerid']); $objResponse->addScript("addOption('groupid','" . "0" . "','" . "All" . "');"); while ($group->fetchInto($row)) { if ($config['synchronize']['display_synchron_server']) { $row['groupname'] = astercrm::getSynchronDisplay($row['id'], $row['groupname']); } $objResponse->addScript("addOption('groupid','" . $row['id'] . "','" . $row['groupname'] . "');"); } // get limit status and creditlimit $reseller = astercc::readRecord("resellergroup", "id", $_SESSION['curuser']['resellerid']); if ($reseller) { if ($reseller['limittype'] == "") { $html = $locate->Translate("Limit Type") . ":" . $locate->Translate("No limit"); } else { $html = $locate->Translate("Limit Type") . $accountgroup['limittype'] . "(" . $accountgroup['creditlimit'] . ")"; } $html = $locate->Translate("Limit Type") . $reseller['limittype'] . "(" . $reseller['creditlimit'] . ")"; $objResponse->addAssign("divLimitStatus", "innerHTML", $html); } } else { $objResponse->addScript("addOption('resellerid','" . $_SESSION['curuser']['resellerid'] . "','" . "" . "');"); $objResponse->addScript("addOption('groupid','" . $_SESSION['curuser']['groupid'] . "','" . "" . "');"); $clid = astercrm::getAll('clid', 'groupid', $_SESSION['curuser']['groupid']); $objResponse->addScript("addOption('sltBooth','" . "0" . "','" . $locate->Translate("All") . "');"); while ($clid->fetchInto($row)) { if ($config['synchronize']['display_synchron_server']) { $clidDisplay = astercrm::getSynchronDisplay($row['id'], $row['clid']); } if ($curpeer == $row['clid']) { $objResponse->addScript("addOption('sltBooth','" . $row['clid'] . "','" . $clidDisplay . "',true);"); } else { $objResponse->addScript("addOption('sltBooth','" . $row['clid'] . "','" . $clidDisplay . "');"); } } $objResponse->addScript("addOption('sltBooth','-1','" . $locate->Translate("Callback") . "');"); // get limit status and creditlimit $accountgroup = astercc::readRecord("accountgroup", "id", $_SESSION['curuser']['groupid']); if ($accountgroup) { if ($accountgroup['limittype'] == "") { $html = $locate->Translate("Limit Type") . ":" . $locate->Translate("No limit"); } else { $html = $locate->Translate("Limit Type") . $accountgroup['limittype'] . "(" . $accountgroup['creditlimit'] . ")"; } $objResponse->addAssign("divLimitStatus", "innerHTML", $html); } } } //去除了控制chekcout按钮是否显示的代码//20110303 donnie //if($config['system']['useHistoryCdr'] == 1){ //$objResponse->addScript("document.getElementById('btnCheckOut').style.display='none';"); //}else if($config['system']['useHistoryCdr'] == 0){ //$objResponse->addScript("document.getElementById('btnCheckOut').style.display='block';"); //} $objResponse->addAssign("divNav", "innerHTML", common::generateManageNav($skin)); $objResponse->addAssign("divCopyright", "innerHTML", common::generateCopyright($skin)); return $objResponse; }