コード例 #1
0
ファイル: page.vmblast.php プロジェクト: hardikk/HNH
?>
</div>

<div class="rnav"><ul>
    <li><a id="<?php 
echo $extdisplay == '' ? 'current' : '';
?>
" href="config.php?display=<?php 
echo urlencode($dispnum);
?>
"><?php 
echo _("Add VMBlast Group");
?>
</a></li> <?php 
//get unique ring groups
$gresults = vmblast_list();
if (isset($gresults)) {
    foreach ($gresults as $gresult) {
        echo "<li><a id=\"" . ($extdisplay == 'GRP-' . $gresult[0] ? 'current' : '') . "\" href=\"config.php?display=" . urlencode($dispnum) . "&extdisplay=" . urlencode("GRP-" . $gresult[0]) . "\">" . $gresult[1] . " ({$gresult[0]})</a></li>";
    }
}
?>
</ul></div>

<div class="content">
<?php 
if ($action == 'delGRP') {
    echo '<br><h3>' . _("VMBlast Group") . ' ' . $account . ' ' . _("deleted") . '!</h3><br><br><br><br><br><br><br><br>';
} else {
    if ($extdisplay) {
        // We need to populate grplist with the existing extension list.
コード例 #2
0
ファイル: functions.inc.php プロジェクト: hardikk/HNH
function vmblast_get_config($engine)
{
    global $ext;
    // is this the best way to pass this?
    switch ($engine) {
        case "asterisk":
            $ext->addInclude('from-internal-additional', 'vmblast-grp');
            $contextname = 'vmblast-grp';
            $vmlist = vmblast_list();
            if (function_exists('recordings_list')) {
                $recordings_installed = true;
                $got_recordings = false;
            } else {
                $recordings_installed = false;
            }
            if (is_array($vmlist)) {
                foreach ($vmlist as $item) {
                    $grpnum = ltrim($item['0']);
                    $grp = vmblast_get($grpnum);
                    $grplist = $grp['grplist'];
                    $ext->add($contextname, $grpnum, '', new ext_macro('user-callerid'));
                    $ext->add($contextname, $grpnum, '', new ext_answer(''));
                    $ext->add($contextname, $grpnum, '', new ext_wait('1'));
                    if (isset($grp['password']) && trim($grp['password']) != "" && ctype_digit(trim($grp['password']))) {
                        $ext->add($contextname, $grpnum, '', new ext_authenticate($grp['password']));
                    }
                    $ext->add($contextname, $grpnum, '', new ext_setvar('GRPLIST', ''));
                    foreach ($grplist as $exten) {
                        $ext->add($contextname, $grpnum, '', new ext_macro('get-vmcontext', $exten));
                        $ext->add($contextname, $grpnum, '', new ext_setvar('GRPLIST', '${GRPLIST}&' . $exten . '@${VMCONTEXT}'));
                    }
                    // Add a message and confirmation so they know what group they are in
                    //
                    if ($grp['audio_label'] == -2) {
                        $ext->add($contextname, $grpnum, '', new ext_goto('1', '1', 'app-vmblast'));
                    } elseif ($grp['audio_label'] == -1 || !$recordings_installed) {
                        $ext->add($contextname, $grpnum, '', new ext_setvar('DIGITS', $grpnum));
                        $ext->add($contextname, $grpnum, '', new ext_goto('digits', 'vmblast', 'app-vmblast'));
                    } else {
                        if (!$got_recordings) {
                            $recordings = recordings_list();
                            $got_recordings = true;
                            $recording_hash = array();
                            foreach ($recordings as $recording) {
                                $recording_hash[$recording[0]] = $recording[2];
                            }
                        }
                        if (isset($recording_hash[$grp['audio_label']])) {
                            $ext->add($contextname, $grpnum, '', new ext_setvar('VMBMSG', $recording_hash[$grp['audio_label']]));
                            $ext->add($contextname, $grpnum, '', new ext_goto('msg', 'vmblast', 'app-vmblast'));
                        } else {
                            $ext->add($contextname, $grpnum, '', new ext_setvar('DIGITS', $grpnum));
                            $ext->add($contextname, $grpnum, '', new ext_goto('digits', 'vmblast', 'app-vmblast'));
                        }
                    }
                }
                $contextname = 'app-vmblast';
                $ext->add($contextname, 'vmblast', 'digits', new ext_execif('$["${DIGITS}" != ""]', 'SayDigits', '${DIGITS}'));
                $ext->add($contextname, 'vmblast', 'msg', new ext_execif('$["${VMBMSG}" != ""]', 'Background', '${VMBMSG}'));
                $ext->add($contextname, 'vmblast', '', new ext_background('if-correct-press&digits/1'));
                $ext->add($contextname, 'vmblast', '', new ext_waitexten('20'));
                $ext->add($contextname, 'vmblast', '', new ext_playback('sorry-youre-having-problems&goodbye'));
                $ext->add($contextname, 'vmblast', '', new ext_hangup(''));
                $ext->add($contextname, '1', '', new ext_vm('${GRPLIST:1},s'));
                $ext->add($contextname, '1', '', new ext_hangup(''));
            }
            break;
    }
}