Exemple #1
0
function requireReasionWhenPause($f)
{
    global $locate, $config, $db;
    $agent = $f['require_reasion_agent'];
    $queueno = $f['require_reasion_queueno'];
    $context = $f['require_reasion_context'];
    $objResponse = new xajaxResponse();
    //add a record to table pause_reasion
    $saveResult = Customer::savePauseReasion($f['require_reasion_queueno'], 'pause', $f['require_reasion']);
    if (!$saveResult) {
        $objResponse->addAlert('Save Pause Reasion Failed');
    } else {
        $objResponse->addAssign("formRequiredReasionDiv", "style.visibility", 'hidden');
        $objResponse->addAssign("formRequiredReasionDiv", "innerHTML", '');
        $myAsterisk = new Asterisk();
        $myAsterisk->config['asmanager'] = $config['asterisk'];
        $res = $myAsterisk->connect();
        $action = 'pause';
        if ($agent == '') {
            if ($context == '') {
                if ($_SESSION['curuser']['group']['incontext'] != '') {
                    $context = $_SESSION['curuser']['group']['incontext'];
                } else {
                    $context = $config['system']['incontext'];
                }
            }
            $agentstr = 'Local/' . $_SESSION['curuser']['extension'] . '@' . $context . '/n';
        } else {
            $agentstr = $agent;
        }
        if ($action == 'pause') {
            if ($_SESSION['asterisk']['paramdelimiter'] == '|') {
                $res = $myAsterisk->queuePause($queueno, $agentstr, 1);
            } else {
                $cmd = "queue pause member {$agentstr} queue {$queueno}";
            }
        } else {
            if ($action == 'pausea') {
                $agentstr = 'Agent/' . $_SESSION['curuser']['agent'];
                if ($_SESSION['asterisk']['paramdelimiter'] == '|') {
                    $res = $myAsterisk->queuePause($queueno, $agentstr, 1);
                } else {
                    $cmd = "queue pause member {$agentstr} queue {$queueno}";
                }
            } else {
                if ($action == 'pausec') {
                    if ($_SESSION['asterisk']['paramdelimiter'] == '|') {
                        $res = $myAsterisk->queuePause($queueno, $agentstr, 1);
                    } else {
                        $cmd = "queue pause member {$agentstr} queue {$queueno}";
                    }
                }
            }
        }
        if (!empty($cmd)) {
            $res = $myAsterisk->Command($cmd);
        }
        if (strstr($res['data'], 'failed')) {
            if ($action == 'pausea') {
                $action == 'pause';
            } elseif ($action == 'continuea') {
                $action == 'continue';
            }
            $objResponse->addAlert($locate->translate($action) . ' ' . $locate->translate('failed'));
        } else {
            $sql = "SELECT * FROM campaign WHERE queuename = '" . $queueno . "' AND groupid='" . $_SESSION['curuser']['groupid'] . "' AND enable= 1";
            $res =& $db->query($sql);
            while ($res->fetchInto($row)) {
                if ($action == 'pause') {
                    $objResponse->addAssign("campaign-pause-" . $row['id'], "innerHTML", '[' . $locate->translate('continue') . ']');
                    $objResponse->addAssign("campaign-pause-" . $row['id'], "title", 'continue');
                    $objResponse->addAssign("campaign-" . $row['id'], "style.color", '#30569D');
                } elseif ($action == 'pausea') {
                    $objResponse->addAssign("campaign-pause-" . $row['id'], "innerHTML", '[' . $locate->translate('continue') . ']');
                    $objResponse->addAssign("campaign-pause-" . $row['id'], "title", 'continuea');
                    $objResponse->addAssign("campaign-" . $row['id'], "style.color", '#30569D');
                } elseif ($action == 'pausec') {
                    $objResponse->addAssign("campaign-pause-" . $row['id'], "innerHTML", '[' . $locate->translate('continue') . ']');
                    $objResponse->addAssign("campaign-pause-" . $row['id'], "title", 'continuec');
                    $objResponse->addAssign("campaign-" . $row['id'], "style.color", '#30569D');
                }
            }
        }
        $objResponse->addAssign("clkPauseTime", "value", date("Y-m-d H:i:s"));
    }
    return $objResponse;
}
Exemple #2
0
function agentPause($agent, $queueno = '', $action)
{
    global $locate, $config;
    $myAsterisk = new Asterisk();
    $myAsterisk->config['asmanager'] = $config['asterisk'];
    $res = $myAsterisk->connect();
    if (!$res) {
        return;
    }
    if ($action == 'pause') {
        if ($config['system']['require_reason_when_pause'] == 'yes') {
            savePauseReasion($agent, $queueno, $action, 'admin pause');
        }
        if ($_SESSION['asterisk']['paramdelimiter'] == '|') {
            $res = $myAsterisk->queuePause($queueno, $agent, 1);
        } else {
            $cmd = "queue pause member {$agent} queue {$queueno}";
            $res = $myAsterisk->Command($cmd);
        }
    } else {
        if ($config['system']['require_reason_when_pause'] == 'yes') {
            savePauseToContinue($agent, $queueno);
        }
        if ($_SESSION['asterisk']['paramdelimiter'] == '|') {
            $res = $myAsterisk->queuePause($queueno, $agent, 0);
        } else {
            $cmd = "queue unpause member {$agent} queue {$queueno}";
            $res = $myAsterisk->Command($cmd);
        }
    }
    $objResponse = new xajaxResponse();
    $objResponse->addAssign("updated", "value", date("Y-m-d H:i:s"));
    return $objResponse;
}