diff --git a/.htaccess b/.htaccess index 948308689e..4044c1d190 100644 --- a/.htaccess +++ b/.htaccess @@ -1,26 +1,31 @@ RewriteEngine On -RewriteRule ^([A-Fa-f0-9]{12})(\.(xml|cfg))?$ app/provision/index.php?mac=$1 [QSA] -RewriteRule ^([A-Fa-f0-9]{2}[:-][A-Fa-f0-9]{2}[:-][A-Fa-f0-9]{2}[:-][A-Fa-f0-9]{2}[:-][A-Fa-f0-9]{2}[:-][A-Fa-f0-9]{2}[:-])(\.(xml|cfg))?$ app/provision/index.php?mac=$1 [QSA] -RewriteRule ^(kt.*?-)([A-Fa-f0-9]{12})(\.(xml))$ app/provision/index.php?mac=$2 [QSA] -RewriteRule ^(cfg)([A-Fa-f0-9]{12})(\.(xml))$ app/provision/index.php?mac=$2 [QSA] +# $mac or $mac.cfg/xml +RewriteRule ^([A-Fa-f0-9]{12})(?:\.xml|\.cfg)?$ app/provision/index.php?mac=$1 [QSA] +# $m:a:c or $m:a:c.cfg/xml +RewriteRule ^((?:[A-Fa-f0-9]{2}[:-]){5}[A-Fa-f0-9]{2})(?:\.xml|\.cfg)?$ app/provision/index.php?mac=$1 [QSA] +# kt*-$mac.xml +RewriteRule ^kt.*?-([A-Fa-f0-9]{12})\.xml$ app/provision/index.php?mac=$1 [QSA] +# cfg-$mac.xml +RewriteRule ^cfg([A-Fa-f0-9]{12})\.xml$ app/provision/index.php?mac=$1 [QSA] #Snom m3 -RewriteRule ^(m3/settings/)([A-Fa-f0-9]{12})(\.(cfg))?$ app/provision/index.php?mac=$2 [QSA] +RewriteRule ^m3/settings/([A-Fa-f0-9]{12})(?:\.cfg)?$ app/provision/index.php?mac=$1 [QSA] #Grandstream -RewriteRule ^(?:.*/)?provision/cfg([A-Fa-f0-9]{12})(\.(xml|cfg))?$ app/provision/?mac=$1 [QSA] +RewriteRule ^provision/cfg([A-Fa-f0-9]{12})(?:\.xml|\.cfg)?$ app/provision/?mac=$1 [QSA] -#Yealink -RewriteRule ^(?:.*/)?provision/([A-Fa-f0-9]{12})(\.(xml|cfg))?$ app/provision/index.php?mac=$1 [QSA] +#Yealink and Polycom +RewriteRule ^provision/([A-Fa-f0-9]{12})(?:\.xml|\.cfg)?$ app/provision/index.php?mac=$1 [QSA] #Polycom -RewriteRule ^(?:.*/)?provision/000000000000.cfg$ app/provison/?mac=$1&file={$mac}.cfg [QSA] -RewriteRule ^(?:.*/)?provision/features.cfg$ app/provision/?mac=$1&file=features.cfg [QSA] -RewriteRule ^(?:.*/)?provision/([A-Fa-f0-9]{12})-sip.cfg$ app/provision/?mac=$1&file=sip.cfg [QSA] -RewriteRule ^(?:.*/)?provision/([A-Fa-f0-9]{12})-phone.cfg$ app/provision/?mac=$1 [QSA] -RewriteRule ^(?:.*/)?provision/([A-Fa-f0-9]{12})-registration.cfg$ app/provision/?mac=$1&file={$mac}-registration.cfg [QSA] -RewriteRule ^(?:.*/)?provision/([A-Fa-f0-9]{12})-site.cfg$ app/provision/?mac=$1&file=site.cfg [QSA] -RewriteRule ^(?:.*/)?provision/([A-Fa-f0-9]{12})-web.cfg$ app/provision/?mac=$1&file=web.cfg [QSA] +RewriteRule ^provision/000000000000.cfg$ app/provision/?mac=$1&file={$mac}.cfg [QSA] +RewriteRule ^provision/features.cfg$ app/provision/?mac=$1&file=features.cfg [QSA] +RewriteRule ^provision/([A-Fa-f0-9]{12})-sip.cfg$ app/provision/?mac=$1&file=sip.cfg [QSA] +RewriteRule ^provision/([A-Fa-f0-9]{12})-phone.cfg$ app/provision/?mac=$1 [QSA] +RewriteRule ^provision/([A-Fa-f0-9]{12})-registration.cfg$ app/provision/?mac=$1&file={$mac}-registration.cfg [QSA] +RewriteRule ^provision/([A-Fa-f0-9]{12})-site.cfg$ app/provision/?mac=$1&file=site.cfg [QSA] +RewriteRule ^provision/([A-Fa-f0-9]{12})-web.cfg$ app/provision/?mac=$1&file=web.cfg [QSA] +RewriteRule ^provision/([A-Fa-f0-9]{12})-directory.xml$ app/provision/?mac=$1&file=directory.xml [QSA] Options -Indexes diff --git a/app/ivr_menus/ivr_menu_edit.php b/app/ivr_menus/ivr_menu_edit.php index 01ebdf7c0e..a1abb509f9 100644 --- a/app/ivr_menus/ivr_menu_edit.php +++ b/app/ivr_menus/ivr_menu_edit.php @@ -644,14 +644,28 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { $ivr_menu_option_param = $field['ivr_menu_option_action']; } $ivr_menu_option_param = str_replace("menu-", "", $ivr_menu_option_param); - $ivr_menu_option_param = str_replace("XML", "", $ivr_menu_option_param); - $ivr_menu_option_param = str_replace("transfer", "", $ivr_menu_option_param); - $ivr_menu_option_param = str_replace("bridge", "", $ivr_menu_option_param); + $ivr_menu_option_param = str_replace("XML ", "", $ivr_menu_option_param); + $ivr_menu_option_param = str_replace("transfer ", "", $ivr_menu_option_param); + $ivr_menu_option_param = str_replace("bridge ", "", $ivr_menu_option_param); $ivr_menu_option_param = str_replace($_SESSION['domain_name'], "", $ivr_menu_option_param); $ivr_menu_option_param = str_replace("\${domain_name}", "", $ivr_menu_option_param); $ivr_menu_option_param = str_replace("\${domain}", "", $ivr_menu_option_param); $ivr_menu_option_param = str_replace(".".$_SESSION['domain_uuid'], "", $ivr_menu_option_param); $ivr_menu_option_param = str_replace("//", "/", $ivr_menu_option_param); + if (preg_match( "/^phrase /", $ivr_menu_option_param )) { + // parse out phrase uuid + $phrase_uuid = str_replace("phrase ", "", $ivr_menu_option_param); + // retrieve phrase name from db + $sql = "select phrase_name from v_phrases where phrase_uuid = '$phrase_uuid' limit 1"; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + if (count($result) > 0) { + $phrase_name = $result[0]['phrase_name']; + $ivr_menu_option_param = "phrase: $phrase_name"; + } + unset ($prep_statement, $sql, $phrase_uuid, $phrase_name); + } //$ivr_menu_option_param = ucfirst(trim($ivr_menu_option_param)); echo "