Beispiel #1
0
function gs_queue_del($name)
{
    if (!preg_match('/^[\\d]+$/', $name)) {
        return new GsError('Queue name must be numeric.');
    }
    # connect to db
    #
    $db = gs_db_master_connect();
    if (!$db) {
        return new GsError('Could not connect to database.');
    }
    $CDR_DB = gs_db_cdr_master_connect();
    if (!$CDR_DB) {
        echo 'CDR DB error.';
        return;
    }
    # check if queue exists
    #
    $num = (int) $db->executeGetOne('SELECT COUNT(*) FROM `ast_queues` WHERE `name`=\'' . $db->escape($name) . '\'');
    if ($num < 1) {
        return new GsError('Unknown queue.');
    }
    # get queue_id
    #
    $queue_id = (int) $db->executeGetOne('SELECT `_id` FROM `ast_queues` WHERE `name`=\'' . $db->escape($name) . '\'');
    if ($queue_id < 1) {
        return new GsError('Unknown queue.');
    }
    #delete queue from all groups
    #
    gs_group_members_purge_by_type('queue', array($queue_id));
    # delete queue members
    #
    $db->execute('DELETE FROM `ast_queue_members` WHERE `_queue_id`=' . $queue_id);
    # delete queue callforwards
    #
    $db->execute('DELETE FROM `queue_callforwards` WHERE `queue_id`=' . $queue_id);
    # delete queue_vm_rec_messages
    #
    $db->execute('DELETE FROM `queue_vm_rec_messages` WHERE `queue_id`=' . $queue_id);
    # delete queue cf timerules
    #
    $db->execute('DELETE FROM `queue_cf_timerules` WHERE `queue_id`=' . $queue_id);
    # delete queue cf timerules
    #
    $db->execute('DELETE FROM `queue_cf_parallelcall` WHERE `queue_id`=' . $queue_id);
    # delete queue log
    #
    $CDR_DB->execute('DELETE FROM `queue_log` WHERE `queue_id`=' . $queue_id);
    # delete queue
    #
    $ok = $db->execute('DELETE FROM `ast_queues` WHERE `_id`=' . $queue_id . ' LIMIT 1');
    if (!$ok) {
        return new GsError('Failed to delete queue.');
    }
    return true;
}
Beispiel #2
0
function gs_ivr_del($name)
{
    if (!preg_match('/^[\\d]+$/', $name)) {
        return new GsError('IVR name must be numeric.');
    }
    # connect to db
    #
    $db = gs_db_master_connect();
    if (!$db) {
        return new GsError('Could not connect to database.');
    }
    $CDR_DB = gs_db_cdr_master_connect();
    if (!$CDR_DB) {
        echo 'CDR DB error.';
        return;
    }
    # check if ivr exists
    #
    $num = (int) $db->executeGetOne('SELECT COUNT(*) FROM `ivrs` WHERE `name`=\'' . $db->escape($name) . '\'');
    if ($num < 1) {
        return new GsError('Unknown ivr.');
    }
    # get ivr_id
    #
    $ivr_id = (int) $db->executeGetOne('SELECT `id` FROM `ivrs` WHERE `name`=\'' . $db->escape($name) . '\'');
    if ($ivr_id < 1) {
        return new GsError('Unknown ivr.');
    }
    # delete ivr
    #
    $ok = $db->execute('DELETE FROM `ivrs` WHERE `id`=' . $ivr_id . ' LIMIT 1');
    if (!$ok) {
        return new GsError('Failed to delete ivr.');
    }
    return true;
}
echo $MODULES[$SECTION]['sub'][$MODULE]['title'];
echo '</h2>', "\n";
include_once GS_DIR . 'htdocs/gui/inc/permissions.php';
require_once GS_DIR . 'inc/group-fns.php';
echo '<script type="text/javascript" src="', GS_URL_PATH, 'js/tooltips.js"></script>', "\n";
$CDR_DB = gs_db_cdr_master_connect();
if (!$CDR_DB) {
    echo 'CDR DB error.';
    return;
}
$duration_level = 90;
# 90 s = 1:30 min
$waittime_level = 15;
# 15 s
# connect to CDR master
$CDR_DB = gs_db_cdr_master_connect();
if (!$CDR_DB) {
    echo 'CDR DB error.';
    return;
}
function _secs_to_minsecs($s)
{
    $s = (int) $s;
    $m = floor($s / 60);
    $s = $s - $m * 60;
    return $m . ':' . str_pad($s, 2, '0', STR_PAD_LEFT);
}
function userids_to_exts($users)
{
    global $DB;
    $users_sql = implode(',', $users);
Beispiel #4
0
	`calldate`>=\'' . $db->escape(gmDate('Y-m-d H:i:s', $t)) . '\' AND
	`calldate`< \'' . $db->escape(gmDate('Y-m-d H:i:s', $qtto)) . '\' AND
	`dst`<>\'s\' AND
	`dst`<>\'h\' AND
	`dst` NOT LIKE \'*%\'');
            $val = $val / $tdiffdays;
            $vals[] = $val;
            if ($val > $maxval) {
                $maxval = $val;
            }
            $t = $qtto;
            ++$i;
        }
        //print_r($vals);
    } elseif ($dataset === 'avgdur') {
        $db = @gs_db_cdr_master_connect();
        if (!$db) {
            exit(1);
        }
        $t = $fr;
        $i = 0;
        $vals = array();
        $maxval = 0;
        while ($t <= $to) {
            $qtto = strToTime($xtstr, $t);
            $val = (int) @$db->executeGetOne('SELECT AVG(`duration`)
FROM `ast_cdr`
WHERE
	`calldate`>=\'' . $db->escape(gmDate('Y-m-d H:i:s', $t)) . '\' AND
	`calldate`< \'' . $db->escape(gmDate('Y-m-d H:i:s', $qtto)) . '\' AND
	`dst`<>\'s\' AND