function customcontexts_configpageinit($dispnum) { global $currentcomponent; $extdisplay = isset($_REQUEST['extdisplay']) ? $_REQUEST['extdisplay'] : null; if ($extdisplay == '') { return true; } if ($dispnum == 'devices' || $dispnum == 'extensions') { $device_info = core_devices_get($extdisplay); if (empty($device_info)) { return true; } else { $tech = $device_info['tech']; switch ($tech) { case 'iax2': case 'iax': case 'sip': case 'dahdi': case 'zap': $_REQUEST['tech'] = $tech; $_REQUEST['customcontext'] = $device_info['context']; break; default: return true; } } } else { return true; } $contextssel = customcontexts_getcontexts(); $currentcomponent->addoptlistitem('contextssel', 'from-internal', 'ALLOW ALL (Default)'); foreach ($contextssel as $val) { $currentcomponent->addoptlistitem('contextssel', $val[0], $val[1]); } $currentcomponent->setoptlistopts('contextssel', 'sort', false); switch ($dispnum) { case 'devices': $currentcomponent->addguifunc('customcontexts_devices_configpageload'); break; case 'extensions': $currentcomponent->addguifunc('customcontexts_extensions_configpageload'); break; } }
<?php /* $Id: page.customcontexts.php $ */ if (!defined('FREEPBX_IS_AUTH')) { die('No direct script access allowed'); } // //This program is free software; you can redistribute it and/or //modify it under the terms of the GNU General Public License //as published by the Free Software Foundation; either version 2 //of the License, or (at your option) any later version. // //This program is distributed in the hope that it will be useful, //but WITHOUT ANY WARRANTY; without even the implied warranty of //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //GNU General Public License for more details. $dispnum = 'customcontexts'; //used for switch on config.php ?> <div class="rnav"> <?php $contexts = customcontexts_getcontexts(); drawListMenu($contexts, $skip, $type, $display, $extdisplay, _("Context")); ?> </div>