Ejemplo n.º 1
0
 function updateRateRecord($f)
 {
     global $db;
     $f = astercrm::variableFiler($f);
     $sql = "UPDATE myrate SET " . "dialprefix = '" . $f['dialprefix'] . "', " . "numlen = '" . $f['numlen'] . "', " . "destination = '" . $f['destination'] . "', " . "rateinitial = '" . $f['rateinitial'] . "', " . "initblock = '" . $f['initblock'] . "', " . "billingblock = '" . $f['billingblock'] . "', " . "connectcharge= '" . $f['connectcharge'] . "', " . "groupid = '" . $f['groupid'] . "', " . "resellerid = '" . $f['resellerid'] . "', " . "addtime= now() " . "WHERE id = " . $f['id'];
     astercrm::events($sql);
     $res =& $db->query($sql);
     return $res;
 }
Ejemplo n.º 2
0
 function updateWorktimeRecord($f)
 {
     global $db;
     $f = astercrm::variableFiler($f);
     $query = "UPDATE worktimes SET " . "starttime='" . $f['starttime'] . "', " . "endtime='" . $f['endtime'] . "', " . "startweek='" . $f['startweek'] . "', " . "endweek='" . $f['endweek'] . "', " . "groupid='" . $f['groupid'] . "' " . "WHERE id=" . $f['id'];
     astercrm::events($query);
     $res =& $db->query($query);
     return $res;
 }
Ejemplo n.º 3
0
 function updateWorktimepackage($f)
 {
     global $db;
     $f = astercrm::variableFiler($f);
     $query = "UPDATE worktimepackages SET " . "worktimepackage_name=" . $db->quote($f['worktimepackage_name']) . ", " . "worktimepackage_note=" . $db->quote($f['worktimepackage_note']) . ", " . "worktimepackage_status='" . $f['worktimepackage_status'] . "', " . "groupid='" . $f['groupid'] . "' " . "WHERE id=" . $f['id'];
     $wp_res = Customer::deleteRecords("worktimepackage_id", $f['id'], 'worktimepackage_worktimes');
     $sltedWorktimes = split(',', rtrim($f['sltedWorktimes'], ','));
     foreach ($sltedWorktimes as $worktimeid) {
         $sql = "INSERT INTO worktimepackage_worktimes SET " . "worktimepackage_id='" . $f['id'] . "', " . "worktime_id='" . $worktimeid . "', " . "creby = '" . $_SESSION['curuser']['username'] . "'," . "cretime = now()";
         $wp_res =& $db->query($sql);
     }
     astercrm::events($query);
     $res =& $db->query($query);
     return $res;
 }
Ejemplo n.º 4
0
 function getSrcnameByCurid($curid)
 {
     global $db;
     $sql = "SELECT srcname FROM curcdr WHERE id='" . $curid . "'";
     astercrm::events($sql);
     $srcname =& $db->getOne($sql);
     return $srcname;
 }
Ejemplo n.º 5
0
 function updateCampaignRecord($f)
 {
     global $db;
     $f = astercrm::variableFiler($f);
     $bindqueue = 0;
     if ($f['bindqueue'] == "on") {
         $bindqueue = 1;
     }
     if ($f['dialtwoparty'] == "on") {
         $dialtwoparty = "yes";
     } else {
         $dialtwoparty = "no";
     }
     if ($f['use_ext_chan'] == "on") {
         $useExtChan = "yes";
     } else {
         $useExtChan = "no";
     }
     $limit_type = '';
     if ($f['queuename'] == "") {
         $limit_type = 'channel';
     }
     $query = "UPDATE campaign SET " . "campaignname='" . $f['campaignname'] . "', " . "campaignnote='" . $f['campaignnote'] . "', " . "enable='" . $f['enable'] . "', " . "serverid='" . $f['serverid'] . "', " . "worktime_package_id='" . $f['worktime_package_id'] . "', " . "waittime='" . $f['waittime'] . "', " . "outcontext='" . $f['outcontext'] . "', " . "incontext='" . $f['incontext'] . "', " . "nextcontext='" . $f['nextcontext'] . "', " . "firstcontext='" . $f['firstcontext'] . "', " . "inexten='" . $f['inexten'] . "', " . "queuename='" . $f['queuename'] . "', " . "bindqueue='" . $bindqueue . "', " . "max_dialing='" . $f['max_dialing'] . "', " . "maxtrytime='" . $f['maxtrytime'] . "', " . "recyletime='" . $f['recyletime'] . "', " . "enablerecyle='" . $f['enablerecyle'] . "', " . "minduration='" . $f['minduration'] . "', " . "minduration_billsec='" . $f['minduration_billsec'] . "', " . "minduration_leg_a='" . $f['minduration_leg_a'] . "', " . "callerid='" . $f['callerid'] . "', " . "use_ext_chan='" . $useExtChan . "', " . "dialtwoparty='" . $dialtwoparty . "', " . "queue_context='" . $f['queue_context'] . "', " . "sms_number='" . $f['sms_number'] . "', " . "balance = '" . $f['balance'] . "'," . "init_billing = '" . $f['init_billing'] . "'," . "billing_block = '" . $f['billing_block'] . "'," . "enablebalance = '" . $f['enablebalance'] . "'," . "groupid='" . $f['groupid'] . "' ";
     if ($limit_type != '') {
         $query .= ",limit_type='{$limit_type}' ";
     }
     $query .= "WHERE id=" . $f['id'];
     astercrm::events($query);
     $res =& $db->query($query);
     return $res;
 }
Ejemplo n.º 6
0
 function updateServerRecord($f)
 {
     global $db;
     $f = astercrm::variableFiler($f);
     $query = "UPDATE servers SET " . "name='" . $f['name'] . "', " . "ip='" . $f['ip'] . "', " . "port='" . $f['port'] . "', " . "username= '******'username'] . "', " . "secret='" . $f['secret'] . "', " . "note='" . $f['note'] . "' " . "WHERE id='" . $f['id'] . "'";
     astercrm::events($query);
     $res =& $db->query($query);
     return $res;
 }
Ejemplo n.º 7
0
function insertIntoDnc($callerid, $campaignid)
{
    global $db, $locate;
    $objResponse = new xajaxResponse();
    if ($callerid == '') {
        $objResponse->addScript("alert(\"" . $locate->Translate('Save failed phone number is empty') . "\");");
        return $objResponse;
    }
    $sql = "INSERT INTO dnc_list SET \n\t\t number='" . $callerid . "',\n\t\t campaignid=" . $campaignid . ",\n\t\t groupid=" . $_SESSION['curuser']['groupid'] . ",\n\t\t status='enable',\n\t\t creby='" . $_SESSION['curuser']['username'] . "',\n\t\t cretime=now()";
    astercrm::events($query);
    $res =& $db->query($sql);
    if ($res) {
        $objResponse->addScript("alert(\"" . $locate->Translate('Save successful') . "\");");
    } else {
        $objResponse->addScript("alert(\"" . $locate->Translate('Save failed') . "\");");
    }
    return $objResponse;
}
Ejemplo n.º 8
0
 function updateTrunkinfoRecord($f)
 {
     global $db;
     $f = astercrm::variableFiler($f);
     $query = "UPDATE trunkinfo SET " . "trunkname='" . $f['trunkname'] . "', " . "trunkchannel='" . $f['trunkchannel'] . "', " . "didnumber='" . $f['didnumber'] . "', " . "trunk_number='" . $f['trunk_number'] . "', " . "trunknote='" . $f['trunknote'] . "', " . "cretime= now() " . "WHERE id= " . $f['id'] . " ";
     astercrm::events($query);
     $res =& $db->query($query);
     return $res;
 }
Ejemplo n.º 9
0
 function insertNewAccountForBilling($f)
 {
     global $db;
     $f = astercrm::variableFiler($f);
     $sql = "INSERT INTO clid SET " . "clid='" . $f['extension'] . "', " . "pin='" . $f['password'] . "', " . "display='" . $f['username'] . "', " . "groupid = " . $f['groupid'] . ", " . "resellerid = " . $f['resellerid'] . ", " . "creditlimit = '" . $f['creditlimit'] . "'," . "limittype = '" . $f['limittype'] . "'," . "addtime = now() ";
     astercrm::events($sql);
     $res =& $db->query($sql);
     return $res;
 }
Ejemplo n.º 10
0
 function getCampaignReport($aFormValues)
 {
     global $db, $locate;
     $total_sql = "SELECT COUNT(*) AS total,SUM(campaigndialedlist.billsec) AS billsec,SUM(campaigndialedlist.billsec_leg_a) AS billsec_leg_a,SUM(campaigndialedlist.duration) AS duration,campaign.campaignname,campaigndialedlist.campaignid FROM campaigndialedlist LEFT JOIN campaign ON campaign.id  = campaigndialedlist.campaignid WHERE campaigndialedlist.dialedtime BETWEEN '" . $aFormValues['sdate'] . "' AND '" . $aFormValues['edate'] . "'  ";
     $answer_sql = "SELECT COUNT(*) AS total,SUM(billsec) AS billsec,SUM(billsec_leg_a) AS billsec_leg_a,SUM(duration) AS duration,campaignid FROM campaigndialedlist WHERE dialedtime BETWEEN '" . $aFormValues['sdate'] . "' AND '" . $aFormValues['edate'] . "' AND billsec > 0  ";
     $transfer_sql = "SELECT COUNT(transfertarget) AS transferednum,campaignid FROM campaigndialedlist WHERE dialedtime BETWEEN '" . $aFormValues['sdate'] . "' AND '" . $aFormValues['edate'] . "' and transfertarget != ''  ";
     if ($_SESSION['curuser']['usertype'] != 'admin') {
         $total_sql .= " AND campaigndialedlist.groupid = " . $_SESSION['curuser']['groupid'] . " ";
         $answer_sql .= " AND campaigndialedlist.groupid = " . $_SESSION['curuser']['groupid'] . " ";
         $transfer_sql .= " AND campaigndialedlist.groupid = " . $_SESSION['curuser']['groupid'] . " ";
     }
     $total_sql .= " GROUP BY campaigndialedlist.campaignid ";
     $answer_sql .= "  GROUP BY campaignid ";
     $transfer_sql .= " GROUP BY campaignid ";
     astercrm::events($total);
     $total =& $db->getAll($total_sql);
     astercrm::events($answer_sql);
     $answered =& $db->getAll($answer_sql);
     astercrm::events($transfer_sql);
     $transfered =& $db->getAll($transfer_sql);
     $resultArray = array();
     foreach ($total as $tol) {
         $resultArray[$tol['campaignid']]['totalnum'] = $tol['total'];
         $resultArray[$tol['campaignid']]['tbillsec'] = $tol['billsec'];
         $resultArray[$tol['campaignid']]['tbillsec_leg_a'] = $tol['billsec_leg_a'];
         $resultArray[$tol['campaignid']]['tduration'] = $tol['duration'];
         $resultArray[$tol['campaignid']]['campaignname'] = $tol['campaignname'];
     }
     foreach ($answered as $ans) {
         $resultArray[$ans['campaignid']]['atotalnum'] = $ans['total'];
         $resultArray[$ans['campaignid']]['abillsec'] = $ans['billsec'];
         $resultArray[$ans['campaignid']]['abillsec_leg_a'] = $ans['billsec_leg_a'];
         $resultArray[$ans['campaignid']]['aduration'] = $ans['duration'];
     }
     foreach ($transfered as $tran) {
         $resultArray[$tran['campaignid']]['transferednum'] = $tran['transferednum'];
     }
     $campaigns =& $db->getAll('select id,campaignname from campaign');
     foreach ($campaigns as $row) {
         if (array_key_exists($row['id'], $resultArray)) {
             $resultArray[$row['id']]['campaignname'] = $row['campaignname'];
         }
     }
     $campiangStr = '<table style="width:95%;"><tr><th>' . $locate->Translate("Campaign Name") . '</th><th>' . $locate->Translate("ToalCallNum") . '</th><th>' . $locate->Translate("ToalAnsweredNum") . '</th><th>' . $locate->Translate("AnsweredRate") . '</th><th>' . $locate->Translate("AvgOfCustomerAnswered") . '</th><th>' . $locate->Translate("AvgOfTalk") . '</th><th>' . $locate->Translate("AvgOfRing") . '</th><th>' . $locate->Translate("AvgOfRingByAnswer") . '</th><th>' . $locate->Translate("TransferedNum") . '</th><th>' . $locate->Translate("TransferedRate") . '</th></tr>';
     foreach ($resultArray as $key => $val) {
         $ToalCallNum = $val['totalnum'];
         //总通话数
         $ToalAnsweredNum = $val['atotalnum'];
         //接通总数
         $AnsweredRate = round($val['atotalnum'] / $val['totalnum'], 4) * 100 . '%';
         //接通率
         $tmpAnswered = intval($val['abillsec'] / $val['atotalnum']);
         $AvgOfCustomerAnswered = astercrm::FormatSec($tmpAnswered) . " (" . $tmpAnswered . " " . $locate->Translate("sec") . ")";
         //平均通话时长
         $tmpTalk = intval($val['tbillsec_leg_a'] / $val['totalnum']);
         $AvgOfTalk = astercrm::FormatSec($tmpTalk) . " (" . $tmpTalk . " " . $locate->Translate("sec") . ")";
         //平均客户接听时长
         $tmpRing = intval(($val['tduration'] - $val['tbillsec_leg_a']) / $val['totalnum']);
         $AvgOfRing = astercrm::FormatSec($tmpRing) . " (" . $tmpRing . " " . $locate->Translate("sec") . ")";
         //平均振铃时长
         $tmpRingByAnswer = intval(($val['aduration'] - $val['abillsec_leg_a']) / $val['atotalnum']);
         $AvgOfRingByAnswer = astercrm::FormatSec($tmpRingByAnswer) . " (" . $tmpRingByAnswer . " " . $locate->Translate("sec") . ")";
         //平均接听振铃时长
         $AvgOfTransferedNum = round($val['transferednum'] / $ToalAnsweredNum * 100, 2) . '%';
         //转接比率
         if ($ToalAnsweredNum == '') {
             $ToalAnsweredNum = 0;
         }
         $campiangStr .= '<tr><td>' . $val['campaignname'] . '</td><td>' . $ToalCallNum . '</td><td>' . $ToalAnsweredNum . '</td><td>' . $AnsweredRate . '</td><td>' . $AvgOfCustomerAnswered . '</td><td>' . $AvgOfTalk . '</td><td>' . $AvgOfRing . '</td><td>' . $AvgOfRingByAnswer . '</td><td>' . $val['transferednum'] . '</td><td>' . $AvgOfTransferedNum . '</td></tr>';
     }
     $campiangStr .= '</table>';
     return $campiangStr;
 }
Ejemplo n.º 11
0
 function updateRemindercallsRecord($f)
 {
     global $db;
     $f = astercrm::variableFiler($f);
     $query = "UPDATE remindercalls SET " . "customerid='" . $f['customerid'] . "', " . "contactid='" . $f['contactid'] . "', " . "phonenumber= '" . $f['phonenumber'] . "', " . "asteriskcallsid= '" . $f['asteriskcallsid'] . "', " . "note= '" . $f['note'] . "', " . "dialtime= '" . $f['dialtime'] . "', " . "groupid = " . $f['groupid'] . ", " . "cretime = now() " . "WHERE id= " . $f['id'] . " ";
     astercrm::events($query);
     $res =& $db->query($query);
     return $res;
 }
Ejemplo n.º 12
0
/**
*  update account record
*  @param	f			array		account record
*  @return	objResponse	object		xajax response object
*/
function update($f)
{
    global $locate, $db;
    $objResponse = new xajaxResponse();
    $f['extension'] = strtolower($f['extension']);
    $f['agent'] = strtolower($f['agent']);
    $f['channel'] = strtolower($f['channel']);
    if (trim($f['username']) == '' || trim($f['password']) == '' || trim($f['extension']) == '' || trim($f['usertype']) == '' || trim($f['firstname']) == '' || trim($f['lastname']) == '') {
        $objResponse->addAlert($locate->Translate("obligatory_fields"));
        return $objResponse->getXML();
    }
    if (trim($f['usertype']) != 'admin' && trim($f['groupid']) == '') {
        $objResponse->addAlert($locate->Translate("please add group first"));
        return $objResponse->getXML();
    }
    $username = $f['username'];
    $userid = astercrm::checkValues("astercrm_account", "username", $username);
    if ($userid != '' && $userid != $f['id']) {
        $objResponse->addAlert($locate->Translate("username_repeat"));
        return $objResponse->getXML();
    }
    if ($f['extensions'] == $locate->translate('extensions_input_tip')) {
        $f['extensions'] = '';
    }
    if ($f['extensions'] != "") {
        $f['extensions'] = astercrm::dbcToSbc($f['extensions']);
        $myExtensions = split(",", $f['extensions']);
        if ($f['extensType'] != "username") {
            foreach ($myExtensions as $exten) {
                $sqlStr .= "OR extension = '{$exten}'";
            }
            $sqlStr = ltrim($sqlStr, "OR");
            $query = "SELECT username From astercrm_account WHERE {$sqlStr}";
            astercrm::events($query);
            $res =& $db->query($query);
            $myExtensions = array();
            while ($res->fetchInto($row)) {
                $myExtensions[] = $row['username'];
                $newextensions .= "," . $row['username'];
            }
            $f['extensions'] = ltrim($newextensions, ',');
        }
        // check the assign username if belong to this group
        if ($_SESSION['curuser']['usertype'] != 'admin') {
            $myusernames = $myExtensions;
            $newextensions = "";
            $groupList = astercrm::getGroupMemberListByID($_SESSION['curuser']['groupid']);
            while ($groupList->fetchInto($groupRow)) {
                $memberNames[] = $groupRow['username'];
            }
            foreach ($myusernames as $myusername) {
                if (in_array($myusername, $memberNames)) {
                    $newextensions .= ",{$myusername}";
                }
            }
            $f['extensions'] = ltrim($newextensions, ',');
        }
    }
    if ($f['usertype'] == 'admin') {
        $f['groupid'] = 0;
    }
    // check over
    $respOk = Customer::updateAccountRecord($f);
    if ($respOk) {
        $html = createGrid(0, ROWSXPAGE);
        $objResponse->addAssign("grid", "innerHTML", $html);
        $objResponse->addAssign("msgZone", "innerHTML", $locate->Translate("update_rec"));
        $objResponse->addAssign("formDiv", "style.visibility", "hidden");
    } else {
        $objResponse->addAssign("msgZone", "innerHTML", $locate->Translate("rec_cannot_update"));
    }
    return $objResponse->getXML();
}
Ejemplo n.º 13
0
 function updateOptionRecord($f, $optionid)
 {
     global $db;
     $sql = "UPDATE surveyoptions SET " . "surveyoption= " . $db->quote($f['surveyoption']) . ", " . "optionnote= " . $db->quote($f['optionnote']) . ", " . "optiontype= " . $db->quote($f['optiontype']) . " " . "WHERE id = {$optionid}";
     astercrm::events($sql);
     $res =& $db->query($sql);
     return $res;
 }
Ejemplo n.º 14
0
 function updateAddedSchedulerDial($customerid, $diallistId)
 {
     global $db;
     $sql = "SELECT * FROM customer WHERE id='" . $customerid . "' ";
     astercrm::events($sql);
     $result =& $db->getRow($sql);
     $updateSql = "UPDATE diallist SET customerid='" . $customerid . "',customername='" . $result['customer'] . "' WHERE id='" . $diallistId . "' ";
     astercrm::events($updateSql);
     $res =& $db->query($updateSql);
     return $res;
 }
Ejemplo n.º 15
0
function unlock($ip, $s)
{
    global $db;
    //print_r($s);exit;
    $objResponse = new xajaxResponse();
    $sql = "UPDATE account_log SET failedtimes='0' WHERE ip='" . $ip . "'";
    astercrm::events($sql);
    $res =& $db->query($sql);
    $searchField = array();
    $searchContent = array();
    $searchContent = $s['searchContent'];
    //搜索内容 数组
    $searchField = $s['searchField'];
    //搜索条件 数组
    $searchType = $s['searchType'];
    //搜索方式 数组
    $html = createGrid(0, 25, $searchField, $searchContent, $searchField, 'grid', "", $searchType);
    $objResponse->addClear("msgZone", "innerHTML");
    $objResponse->addAssign('grid', "innerHTML", $html);
    return $objResponse;
}
Ejemplo n.º 16
0
function readReport($groupid, $agent_username, $sdate, $edate)
{
    global $db;
    $sql = "SELECT username,SUM(`onlinetime`) AS onlinetime FROM agent_online_time WHERE login_time > '" . $sdate . "' AND logout_time < '" . $edate . "' ";
    if ($groupid == 0 && $agent_username == '') {
    } else {
        if ($groupid != 0 && $agent_username == '') {
            $sql .= " AND username IN (SELECT username FROM astercrm_account WHERE groupid = {$groupid}) ";
        } else {
            $sql .= " AND username = '******' ";
        }
    }
    $sql .= " GROUP BY username";
    astercrm::events($sql);
    $result =& $db->query($sql);
    $minVal = 0;
    $maxVal = 0;
    $resultArray = array();
    while ($result->fetchInto($row)) {
        if ($minVal == 0) {
            $maxVal = $row['onlinetime'];
            $minVal = $row['onlinetime'];
        }
        if ($row['onlinetime'] > $maxVal) {
            $maxVal = $row['onlinetime'];
        }
        if ($row['onlinetime'] < $minVal) {
            $minVal = $row['onlinetime'];
        }
        $resultArray[] = $row;
    }
    $multiple = round($maxVal / $minVal);
    $html = '';
    $i = 0;
    $curlength = 10;
    if ($multiple >= 10) {
        $curlength = intval(100 / $multiple);
    }
    foreach ($resultArray as $tmp) {
        if ($i == 0) {
            $html .= '<tr class="row1">';
        } else {
            $html .= '<tr class="row0">';
        }
        $html .= '
					<td>' . $tmp['username'] . '</td>
					<td>' . astercrm::FormatSec($tmp['onlinetime']) . '</td>
					<td><div style="width:300px;"><div style="width:' . $curlength * round($tmp['onlinetime'] / $minVal) . '%;background-color:red">&nbsp;</div></div></td>
				</tr>';
        $i++;
    }
    return $html;
}
Ejemplo n.º 17
0
 function updateAsteriskcallsRecord($f)
 {
     global $db;
     $f = astercrm::variableFiler($f);
     $query = "UPDATE asteriskcalls SET " . "asteriskcallsname='" . $f['asteriskcallsname'] . "', " . "outcontext='" . $f['dialoutcontext'] . "', " . "incontext='" . $f['dialincontext'] . "', " . "inextension= '" . $f['dialinextension'] . "', " . "groupid = " . $f['groupid'] . ", " . "cretime = now() " . "WHERE id= " . $f['id'] . " ";
     astercrm::events($query);
     $res =& $db->query($query);
     return $res;
 }
Ejemplo n.º 18
0
 function getAstercrmUsertype()
 {
     global $db;
     $sql = "SELECT * FROM user_types ";
     astercrm::events($sql);
     $result =& $db->query($sql);
     $usertype = array();
     while ($result->fetchInto($row)) {
         $usertype[] = $row;
     }
     return $usertype;
 }
Ejemplo n.º 19
0
 function deleteCustomer($id)
 {
     global $customers_db, $config;
     $query = "DELETE FROM " . $config['customers']['customertable'] . " WHERE id = {$id}";
     astercrm::events($query);
     $res =& $customers_db->query($query);
     return $res;
 }
Ejemplo n.º 20
0
function incomingCalls($myValue)
{
    global $db, $config;
    echo $_SESSION['curuser']['country'];
    exit;
    $locate = new Localization($_SESSION['curuser']['country'], $_SESSION['curuser']['language'], 'portal');
    $objResponse = new xajaxResponse();
    if ($myValue['direction'] != '') {
        $call = asterEvent::checkCallStatus($myValue['curid'], $myValue['uniqueid']);
        if ($call['status'] == '') {
            return $objResponse;
        } elseif ($call['status'] == 'link') {
            if ($myValue['extensionStatus'] == 'link') {
                //already get link event
                return $objResponse;
            }
            //			if ($call['callerChannel'] == '' or $call['calleeChannel'] == '')
            //				return $objResponse;
            $status = "link";
            $info = $locate->Translate("talking_to") . $myValue['callerid'];
            $objResponse->addAssign("callerChannel", "value", $call['callerChannel']);
            $objResponse->addAssign("calleeChannel", "value", $call['calleeChannel']);
            //if chkMonitor be checked or monitor by astercctools btnMonitor must be disabled
            Common::read_ini_file($config['system']['astercc_path'] . '/astercc.conf', $asterccConfig);
            if ($myValue['chkMonitor'] != 'on' && $asterccConfig['system']['force_record'] != 1) {
                $objResponse->addAssign("btnMonitor", "disabled", false);
            }
            //$objResponse->addAssign("btnMonitor","value", $locate->Translate("start_record") );
            astercrm::events($myValue['chkMonitor'] . '-chkMonitor');
            astercrm::events($myValue['btnMonitorStatus'] . '-btnMonitorStatus');
            if ($myValue['chkMonitor'] == 'on' && $myValue['btnMonitorStatus'] == 'idle') {
                $objResponse->addScript("monitor();");
            }
            $spanCallCtrl = '<input type="button" id="btnCallCtrl" name="btnCallCtrl" value="' . $locate->Translate("Hangup") . '" onclick="hangup();">';
            $objResponse->addAssign("spanCallCtrl", "innerHTML", $spanCallCtrl);
            $objResponse->addAssign("btnTransfer", "disabled", false);
        } elseif ($call['status'] == 'hangup') {
            if ($myValue['chkMonitor'] == 'on' && $myValue['btnMonitorStatus'] == 'recording') {
                $objResponse->addScript("monitor();");
            }
            $status = 'hang up';
            $info = $locate->Translate("Hang up call from") . " " . $myValue['callerid'];
            //			$objResponse->addScript('document.title=\'asterCrm\';');
            $objResponse->addAssign("uniqueid", "value", "");
            $objResponse->addAssign("callerid", "value", "");
            $objResponse->addAssign("callerChannel", "value", '');
            $objResponse->addAssign("calleeChannel", "value", '');
            $objResponse->addAssign("btnTransfer", "disabled", true);
            //disable monitor
            $objResponse->addAssign("btnMonitor", "disabled", true);
            $objResponse->addAssign("spanMonitorStatus", "innerHTML", $locate->Translate("idle"));
            $objResponse->addAssign("btnMonitor", "value", $locate->Translate("start_record"));
            //disable hangup button
            $spanCallCtrl = '<input type="button" id="btnCallCtrl" name="btnCallCtrl" value="' . $locate->Translate("Dial") . '" onclick="invite();">';
            $objResponse->addAssign("spanCallCtrl", "innerHTML", $spanCallCtrl);
            $objResponse->addAssign('divTrunkinfo', "innerHTML", '');
            $objResponse->addAssign('divDIDinfo', 'innerHTML', '');
            if ($myValue['btnWorkStatus'] == 'working') {
                $interval = $_SESSION['curuser']['dialinterval'];
                $objResponse->addScript("autoDial('{$interval}');");
            }
        }
        $objResponse->addAssign("status", "innerHTML", $status);
        //		$objResponse->addAssign("extensionStatus","value", $status );
        $objResponse->addAssign("myevents", "innerHTML", $info);
    }
    return $objResponse;
}
Ejemplo n.º 21
0
 function deleteTrunk($id, $table)
 {
     global $db;
     //& $db->query("SELECT * FROM resellergroup WHERE id=".$id)
     $result = mysql_fetch_array(mysql_query("SELECT * FROM resellergroup WHERE id=" . $id));
     $query = "DELETE FROM {$table} WHERE id=" . $result['trunk1_id'];
     astercrm::events($query);
     $res =& $db->query($query);
     $query = "DELETE FROM {$table} WHERE id=" . $result['trunk2_id'];
     astercrm::events($query);
     $res =& $db->query($query);
     return $res;
 }
Ejemplo n.º 22
0
 function updateDNCRecord($f)
 {
     global $db;
     $f = astercrm::variableFiler($f);
     $query = "UPDATE dnc_list SET " . "number='" . astercrm::getDigitsInStr($f['number']) . "', " . "groupid='" . $f['groupid'] . "', " . "campaignid= '" . $f['campaignid'] . "' " . "WHERE id='" . $f['id'] . "'";
     astercrm::events($query);
     $res =& $db->query($query);
     return $res;
 }
Ejemplo n.º 23
0
 function updateDiallistRecord($f)
 {
     global $db;
     $f = astercrm::variableFiler($f);
     if ($f['callOrder'] == 0 || $f['callOrder'] == '') {
         $f['callOrder'] = 1;
     }
     $query = "UPDATE diallist SET " . "dialnumber='" . astercrm::getDigitsInStr($f['dialnumber']) . "', " . "customername='" . $f['customername'] . "', " . "groupid='" . $f['groupid'] . "', " . "dialtime='" . $f['dialtime'] . "', " . "callOrder='" . $f['callOrder'] . "', " . "campaignid= " . $f['campaignid'] . ", " . "assign='" . $f['assign'] . "'," . "memo='" . $f['memo'] . "'" . "WHERE id='" . $f['id'] . "'";
     astercrm::events($query);
     $res =& $db->query($query);
     return $res;
 }
Ejemplo n.º 24
0
 function updateCampaignResultRecord($f)
 {
     global $db;
     $f = astercrm::variableFiler($f);
     $bindqueue = 0;
     if ($f['bindqueue'] == "on") {
         $bindqueue = 1;
     }
     $query = "UPDATE campaignresult SET " . "resultname='" . $f['resultname'] . "', " . "resultnote='" . $f['resultnote'] . "', " . "status='" . $f['status'] . "', " . "campaignid='" . $f['campaignid'] . "', " . "parentid='" . $f['parentid'] . "', " . "groupid='" . $f['groupid'] . "' " . "WHERE id=" . $f['id'];
     astercrm::events($query);
     //		echo $query;exit;
     $res =& $db->query($query);
     return $res;
 }
Ejemplo n.º 25
0
 /**
  *  delete a record form a table into that's history table
  *
  *	@param  $id			(int)		identity of the record
  *	@param  $table		(string)	table name
  *	@return $res		(object)	object
  */
 function deleteRecordToHistory($field, $value, $table)
 {
     global $db;
     //backup all datas
     $history_sql = "INSERT INTO " . $table . "_history SELECT * FROM " . $table . " WHERE " . $field . "='" . $value . "' ";
     astercrm::events($history_sql);
     $history_res =& $db->query($history_sql);
     if ($history_res) {
         //delete all note
         $sql = "DELETE FROM {$table} WHERE " . $field . " = '" . $value . "'";
         astercrm::events($sql);
         $res =& $db->query($sql);
         return $res;
     } else {
         return false;
     }
 }
Ejemplo n.º 26
0
function multiEditUpdate($searchContent = array(), $searchField = array(), $searchType = array(), $table, $f)
{
    global $db, $locate;
    $objResponse = new xajaxResponse();
    $searchContent = split(',', $searchContent);
    $searchField = split(',', $searchField);
    $searchType = split(',', $searchType);
    $i = 0;
    foreach ($searchField as $field) {
        if (trim($searchType[$i]) != '' && trim($searchContent[$i]) != '') {
            if ($field == 'resellername' && trim($searchType[$i]) != '' && trim($searchContent[$i]) != '') {
                if (trim($searchType[$i]) == "like") {
                    $whereResellername .= "AND resellername LIKE '%" . $searchContent[$i] . "%' ";
                } elseif (trim($searchType[$i]) == "equal") {
                    $whereResellername .= "AND resellername = '" . $searchContent[$i] . "' ";
                } elseif (trim($searchType[$i]) == "more") {
                    $whereResellername .= "AND resellername > '" . $searchContent[$i] . "' ";
                } elseif (trim($searchType[$i]) == "less") {
                    $whereResellername .= "AND resellername < '" . $searchContent[$i] . "' ";
                }
                $searchField[$i] = '';
            } elseif ($field == 'groupname') {
                if (trim($searchType[$i]) == "like") {
                    $whereGroupname .= "AND groupname like '%" . $searchContent[$i] . "%' ";
                } elseif (trim($searchType[$i]) == "equal") {
                    $whereGroupname .= "AND groupname = '" . $searchContent[$i] . "' ";
                } elseif (trim($searchType[$i]) == "more") {
                    $whereGroupname .= "AND groupname > '" . $searchContent[$i] . "' ";
                } elseif (trim($searchType[$i]) == "less") {
                    $whereGroupname .= "AND groupname < '" . $searchContent[$i] . "' ";
                }
                $searchField[$i] = '';
            }
            $i++;
        }
    }
    if ($whereResellername != '') {
        $sql = "SELECT id FROM resellergroup WHERE 1 " . $whereResellername;
        $resellerRes =& $db->query($sql);
        while ($resellerRes->fetchInto($row)) {
            $resellerJoinStr .= "AND resellerid = " . $row['id'] . " ";
        }
    }
    if ($whereGroupname != '') {
        $sql = "SELECT id FROM accountgroup WHERE 1 " . $whereGroupname;
        $groupRes =& $db->query($sql);
        while ($groupRes->fetchInto($row)) {
            $groupJoinStr .= "AND groupid = " . $row['id'] . " ";
        }
    }
    $joinstr = astercrm::createSqlWithStype($searchField, $searchContent, $searchType);
    list($field, $fieldType) = split(',', $f['multieditField']);
    $sucessNum = 0;
    if ($f['multioption'] == 'modify') {
        $query = "SELECT id," . trim($field) . " FROM " . $table . " WHERE 1 " . $joinstr . $groupJoinStr . $resellerJoinStr;
        astercrm::events($query);
        $res = $db->query($query);
        while ($res->fetchInto($row)) {
            if ($f['multieditcontent'] != '') {
                if ($f['multieditType'] == 'to') {
                    if ($fieldType == 'int' || $fieldType == 'real') {
                        if (!is_numeric($f['multieditcontent'])) {
                            $objResponse->addAlert($locate->Translate("Must fill number in blank for field") . ":" . $field);
                            return $objResponse;
                        }
                    }
                    $newValue = $f['multieditcontent'];
                } else {
                    if (!is_numeric($f['multieditcontent'])) {
                        $objResponse->addAlert($locate->Translate("Must fill number in blank for field") . ":" . $field);
                        return $objResponse;
                    }
                    if ($f['multieditType'] == 'plus') {
                        $newValue = $row[$field] + $f['multieditcontent'];
                    } elseif ($f['multieditType'] == 'minus') {
                        $newValue = $row[$field] - $f['multieditcontent'];
                    } elseif ($f['multieditType'] == 'multiply') {
                        $newValue = $row[$field] * $f['multieditcontent'];
                    }
                }
                $updateSql = "UPDATE " . $table . " SET " . trim($field) . " = '" . $newValue . "'";
                if ($f['resellerid'] != '') {
                    $updateSql .= ", resellerid =" . $f['resellerid'] . ", groupid =" . $f['groupid'];
                }
                $updateSql .= ",addtime = now() WHERE id = " . $row['id'];
            } else {
                if ($f['resellerid'] != '') {
                    $updateSql = "UPDATE " . $table . " SET resellerid =" . $f['resellerid'] . ", groupid =" . $f['groupid'] . ",addtime = now() WHERE id = " . $row['id'];
                } else {
                    $objResponse->addAlert($locate->Translate("No Option"));
                    return $objResponse;
                }
            }
            astercrm::events($updateSql);
            $updateRes = $db->query($updateSql);
            if ($updateRes === 1) {
                $sucessNum++;
            }
        }
        $objResponse->addAlert($sucessNum . $locate->Translate("records have been changed"));
    } elseif ($f['multioption'] == 'duplicate') {
        $query = "SELECT * FROM " . $table . " WHERE 1 " . $joinstr . $groupJoinStr . $resellerJoinStr;
        astercrm::events($query);
        $res =& $db->query($query);
        while ($res->fetchInto($row)) {
            $insertField = '';
            $insertValue = '';
            if ($f['multieditcontent'] != '') {
                if ($f['multieditType'] == 'to') {
                    if ($fieldType == 'int' || $fieldType == 'real') {
                        if (!is_numeric($f['multieditcontent'])) {
                            $objResponse->addAlert($locate->Translate("Must fill number in blank for field") . ":" . $field);
                            return $objResponse;
                        }
                    }
                    $newValue = $f['multieditcontent'];
                } else {
                    if (!is_numeric($f['multieditcontent'])) {
                        $objResponse->addAlert($locate->Translate("Must fill number in blank for field") . ":" . $field);
                        return $objResponse;
                    }
                    if ($f['multieditType'] == 'plus') {
                        $newValue = $row[$field] + $f['multieditcontent'];
                    } elseif ($f['multieditType'] == 'minus') {
                        $newValue = $row[$field] - $f['multieditcontent'];
                    } elseif ($f['multieditType'] == 'multiply') {
                        $newValue = $row[$field] * $f['multieditcontent'];
                    }
                }
                foreach ($row as $key => $value) {
                    if (!preg_match("/id\$/", $key) && $key != 'addtime') {
                        $insertField .= $key . ",";
                        if ($key != $field) {
                            $insertValue .= "'" . $value . "',";
                        } else {
                            $insertValue .= "'" . $newValue . "',";
                        }
                    }
                }
                $insertField .= "resellerid,groupid";
                if ($f['resellerid'] != '') {
                    $insertValue .= $f['resellerid'] . "," . $f['groupid'];
                } else {
                    $insertValue .= $row['resellerid'] . "," . $row['groupid'];
                }
            } else {
                foreach ($row as $key => $value) {
                    if (!preg_match("/id\$/", $key) && $key != 'addtime') {
                        $insertField .= $key . ",";
                        $insertValue .= "'" . $value . "',";
                    }
                }
                if ($f['resellerid'] != '') {
                    $insertField .= " resellerid,groupid";
                    $insertValue .= $f['resellerid'] . "," . $f['groupid'];
                } else {
                    $objResponse->addAlert($locate->Translate("No Option"));
                    return $objResponse;
                }
            }
            $insertField = "(" . $insertField . ",addtime)";
            $insertValue = "(" . $insertValue . ",now())";
            $insertSql = "INSERT INTO " . $table . " " . $insertField . " VALUES " . $insertValue;
            //echo $insertSql;exit;
            astercrm::events($insertSql);
            $insertRes = $db->query($insertSql);
            if ($insertRes === 1) {
                $sucessNum++;
            }
        }
        $objResponse->addAlert($sucessNum . $locate->Translate("records have been added"));
    }
    $html = createGrid(0, 25, $searchField, $searchContent, $searchField, 'grid', "", 1, 1, $searchType, $f['displaymode']);
    $objResponse->addClear("msgZone", "innerHTML");
    $objResponse->addAssign('grid', "innerHTML", $html);
    return $objResponse;
}
Ejemplo n.º 27
0
 function getAssignToName($assignto)
 {
     global $db;
     $sql = "SELECT username FROM astercrm_account WHERE id='" . $assignto . "' ";
     astercrm::events($sql);
     $username =& $db->getOne($sql);
     return $username;
 }
Ejemplo n.º 28
0
 /**
  *  Actualiza un registro de la tabla.
  *
  *	@param $f	(array)		Arreglo que contiene los datos del formulario pasado.
  *	@return $res	(object)	Devuelve el objeto con la respuesta de la sentencia SQL ejecutada del UPDATE.
  */
 function updateTCategoryRecord($f)
 {
     global $db;
     $f = astercrm::variableFiler($f);
     $query = "UPDATE tickets SET " . "ticketname='" . $f['ticketname'] . "', " . "campaignid='" . $f['campaignid'] . "', " . "groupid='" . $f['groupid'] . "', " . "fid=" . $f['fid'] . " " . "WHERE id='" . $f['id'] . "'";
     astercrm::events($query);
     $res =& $db->query($query);
     return $res;
 }
Ejemplo n.º 29
0
 function insertTicket($f)
 {
     global $db;
     $customer_sql = "select id from astercrm_account where username='******'curuser']['username'] . "'";
     astercrm::events($customer_sql);
     $customerid =& $db->getOne($customer_sql);
     $sql = "insert into ticket_details set" . " ticketcategoryid=" . $f['ticketcategoryid'] . ", " . " ticketid=" . $f['ticketid'] . ", " . " customerid=" . $f['customerid'] . ", " . " status='" . $f['Tstatus'] . "', " . " assignto=" . $customerid . ", " . " groupid=" . $f['groupid'] . ", " . " memo='" . $f['Tmemo'] . "', " . " cretime=now()," . " creby='" . $_SESSION['curuser']['username'] . "' ;";
     astercrm::events($sql);
     $result =& $db->query($sql);
     return $result;
 }
Ejemplo n.º 30
0
 function updateSmsTemplates($f)
 {
     global $db;
     if ($f['belongto'] == 'all') {
         $campaignId = 0;
         $trunkId = 0;
     } else {
         if ($f['belongto'] == 'campaign') {
             $campaignId = $f['object_id'];
             $trunkId = 0;
         } else {
             $trunkId = $f['object_id'];
             $campaignId = 0;
         }
     }
     if ($f['is_edit'] == 'on') {
         $f['is_edit'] = 'yes';
     } else {
         $f['is_edit'] = 'no';
     }
     $sql = "UPDATE sms_templates SET \n\t\t\t\t`templatetitle`='" . $f['templatetitle'] . "',\n\t\t\t\t`belongto`='" . $f['belongto'] . "',\n\t\t\t\t`campaign_id`=" . $campaignId . ",\n\t\t\t\t`trunkinfo_id`=" . $trunkId . ",\n\t\t\t\t`content`='" . $f['content'] . "',\n\t\t\t\t`is_edit`='" . $f['is_edit'] . "'\n\t\t\t\t WHERE id=" . $f['id'] . ";\n\t\t\t";
     astercrm::events($sql);
     $result =& $db->query($sql);
     return $result;
 }