if (!defined('FREEPBX_IS_AUTH')) {
    die('No direct script access allowed');
}
//	License for all code of this FreePBX module can be found in the license file inside the module directory
//	Copyright 2013 Schmooze Com Inc.
//
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';
$dispnum = "featurecodeadmin";
//used for switch on config.php
$tabindex = 0;
//if submitting form, update database
switch ($action) {
    case "save":
        if (!empty($_POST['fc'])) {
            \FreePBX::Featurecodeadmin()->update($_POST['fc']);
        }
        break;
}
$featurecodes = featurecodes_getAllFeaturesDetailed();
$exten_conflict_arr = array();
$conflict_url = array();
$exten_arr = array();
foreach ($featurecodes as $result) {
    /* if the feature code starts with "In-Call Asterisk" then it is not conflicting with normal feature codes. This would be featuremap and future
     * application map type codes. This is a real kludge and instead there should be a category associated with these codes when the feature code
     * is created. However, the logic would be the same, thus my willingness to put in such a kludge for now. When the schema changes to add this
     * then this can be updated to reflect that
     */
    if ($result['featureenabled'] == 1 && $result['moduleenabled'] == 1 && substr($result['featuredescription'], 0, 16) != 'In-Call Asterisk') {
        $exten_arr[] = $result['customcode'] != '' ? $result['customcode'] : $result['defaultcode'];