Exemplo n.º 1
0
 /**
  * @verb GET
  * @returns - a list of users' findmefollow settings
  * @uri /findmefollow/users
  */
 function get_findmefollow_users($params)
 {
     $users = array();
     $findmefollow_allusers = findmefollow_allusers();
     foreach ($findmefollow_allusers as $user) {
         $users[$user[0]] = $user[1];
         unset($user);
     }
     return $users ? $users : false;
 }
Exemplo n.º 2
0
        //edit group - just delete and then re-add the extension
        if ($action == 'edtGRP') {
            findmefollow_del($account);
            findmefollow_add($account, $strategy, $grptime, implode("-", $grplist), $goto, $grppre, $annmsg_id, $dring, $needsconf, $remotealert_id, $toolate_id, $ringing, $pre_ring, $ddial, $changecid, $fixedcid);
            needreload();
            redirect_standard('extdisplay');
        }
    }
}
?>
</div>

<div class="rnav"><ul>
<?php 
//get unique ring groups
$gresults = findmefollow_allusers();
$set_users = findmefollow_list();
if (isset($gresults)) {
    foreach ($gresults as $gresult) {
        $defined = is_array($set_users) ? in_array($gresult[0], $set_users) ? "(edit)" : "(add)" : "add";
        echo "<li><a class=\"" . ($extdisplay == 'GRP-' . $gresult[0] ? 'current' : '') . "\" href=\"config.php?display=" . urlencode($dispnum) . "&extdisplay=" . urlencode("GRP-" . $gresult[0]) . "\">" . _("{$gresult['1']}") . " <{$gresult[0]}> {$defined}  </a></li>";
    }
}
?>
</ul></div>

<div class="content">
<?php 
if ($extdisplay == "") {
    echo '<br><h2>' . _("Follow Me") . '</h2><br><h3>' . _('Choose a user/extension:') . '</h3><br><br><br><br><br><br><br>';
} elseif ($action == 'delGRP') {
Exemplo n.º 3
0
function findmefollow_add($grpnum, $strategy, $grptime, $grplist, $postdest, $grppre = '', $annmsg_id = '', $dring, $needsconf, $remotealert_id, $toolate_id, $ringing, $pre_ring, $ddial, $changecid = 'default', $fixedcid = '')
{
    global $amp_conf;
    global $astman;
    global $db;
    if (empty($postdest)) {
        $postdest = "ext-local,{$grpnum},dest";
    }
    //Follow Me auto # on external number.
    //http://code.freepbx.org/cru/FREEPBX-51#CFR-111
    $users = findmefollow_allusers();
    $users = is_array($users) ? $users : array();
    foreach ($users as $user) {
        $extens[$user[0]] = $user[1];
    }
    $list = !is_array($grplist) ? explode("-", $grplist) : $grplist;
    foreach (array_keys($list) as $key) {
        // remove invalid chars
        $list[$key] = preg_replace("/[^0-9*+]/", "", $list[$key]);
        if ($list[$key] == "") {
            unset($list[$key]);
            continue;
        }
        if (empty($extens[$list[$key]])) {
            /* Extension not found.  Must be an external number. */
            $list[$key] .= '#';
        }
    }
    $grplist = implode("-", $list);
    $sql = "INSERT INTO findmefollow (grpnum, strategy, grptime, grppre, grplist, annmsg_id, postdest, dring, needsconf, remotealert_id, toolate_id, ringing, pre_ring) VALUES ('" . $db->escapeSimple($grpnum) . "', '" . $db->escapeSimple($strategy) . "', " . $db->escapeSimple($grptime) . ", '" . $db->escapeSimple($grppre) . "', '" . $db->escapeSimple($grplist) . "', '" . $db->escapeSimple($annmsg_id) . "', '" . $db->escapeSimple($postdest) . "', '" . $db->escapeSimple($dring) . "', '{$needsconf}', '{$remotealert_id}', '{$toolate_id}', '{$ringing}', '{$pre_ring}')";
    $results = sql($sql);
    if ($astman) {
        $astman->database_put("AMPUSER", $grpnum . "/followme/prering", isset($pre_ring) ? $pre_ring : '');
        $astman->database_put("AMPUSER", $grpnum . "/followme/grptime", isset($grptime) ? $grptime : '');
        $astman->database_put("AMPUSER", $grpnum . "/followme/grplist", isset($grplist) ? $grplist : '');
        $needsconf = isset($needsconf) ? $needsconf : '';
        $confvalue = $needsconf == 'CHECKED' ? 'ENABLED' : 'DISABLED';
        $astman->database_put("AMPUSER", $grpnum . "/followme/grpconf", $confvalue);
        $ddial = isset($ddial) ? $ddial : '';
        $ddialvalue = $ddial == 'CHECKED' ? 'EXTENSION' : 'DIRECT';
        $astman->database_put("AMPUSER", $grpnum . "/followme/ddial", $ddialvalue);
        if ($amp_conf['USEDEVSTATE']) {
            $ddialstate = $ddial == 'CHECKED' ? 'NOT_INUSE' : 'BUSY';
            $devices = $astman->database_get("AMPUSER", $grpnum . "/device");
            $device_arr = explode('&', $devices);
            foreach ($device_arr as $device) {
                $astman->set_global($amp_conf['AST_FUNC_DEVICE_STATE'] . "(Custom:FOLLOWME{$device})", $ddialstate);
            }
        }
        $astman->database_put("AMPUSER", $grpnum . "/followme/changecid", $changecid);
        $fixedcid = preg_replace("/[^0-9\\+]/", "", trim($fixedcid));
        $astman->database_put("AMPUSER", $grpnum . "/followme/fixedcid", $fixedcid);
    } else {
        fatal("Cannot connect to Asterisk Manager with " . $amp_conf["AMPMGRUSER"] . "/" . $amp_conf["AMPMGRPASS"]);
    }
}