function miscdests_get_config($engine) { global $ext; // is this the best way to pass this? switch ($engine) { case "asterisk": $contextname = 'ext-miscdests'; $fctemplate = '/\\{(.+)\\:(.+)\\}/'; if (is_array($destlist = miscdests_list())) { foreach ($destlist as $item) { $miscdest = miscdests_get($item['0']); $miscid = $miscdest['id']; $miscdescription = $miscdest['description']; $miscdialdest = $miscdest['destdial']; // exchange {mod:fc} for the relevent feature codes in $miscdialdest $miscdialdest = preg_replace_callback($fctemplate, "miscdests_lookupfc", $miscdialdest); // write out the dialplan details $ext->add($contextname, $miscid, '', new ext_noop('MiscDest: ' . $miscdescription)); $ext->add($contextname, $miscid, '', new ext_goto('from-internal,' . $miscdialdest . ',1', '')); } } break; } }
needreload(); redirect_standard(); break; case "delete": miscdests_del($extdisplay); needreload(); redirect_standard(); break; case "edit": //just delete and re-add miscdests_update($extdisplay, $_REQUEST['description'], $_REQUEST['destdial']); needreload(); redirect_standard('id'); break; } $miscdests = miscdests_list(); // Make array of feature code for <SELECT> list $featurecodes = featurecodes_getAllFeaturesDetailed(); if (isset($featurecodes)) { foreach ($featurecodes as $item) { $moduledesc = isset($item['moduledescription']) ? _($item['moduledescription']) : null; $moduleena = $item['moduleenabled'] == 1 ? true : false; if ($moduleena) { $featureena = $item['featureenabled'] == 1 ? true : false; if ($featureena) { $featureid = $item['modulename'] . ':' . $item['featurename']; $featuredesc = _($item['featuredescription']); $featurecodedefault = isset($item['defaultcode']) ? $item['defaultcode'] : ''; $featurecodecustom = isset($item['customcode']) ? $item['customcode'] : ''; $featureactualcode = $featurecodecustom != '' ? $featurecodecustom : $featurecodedefault; $fclist[$featureid] = $featuredesc . " ({$featureactualcode})";
needreload(); } break; case "delete": miscdests_del($extdisplay, $context); exec($wScript1); needreload(); break; case "edit": miscdests_del($extdisplay, $context); miscdests_add($destdial, $context, $goto, $description); exec($wScript1); needreload(); break; } $miscdests = miscdests_list($context); ?> </div> <div class="rnav" style="width:225px;"> <li><a id="<?php echo $extdisplay == '' ? 'current' : ''; ?> " href="config.php?mode=pbx&display=<?php echo urlencode($dispnum); ?> " onFocus="this.blur()"><?php echo _("Add Misc Destination"); ?> </a></li>