diff --git a/app/extensions/app_languages.php b/app/extensions/app_languages.php index 10341b3f9d..79bfddc9a5 100644 --- a/app/extensions/app_languages.php +++ b/app/extensions/app_languages.php @@ -2127,6 +2127,32 @@ $text['label-extension_only']['zh-cn'] = "仅限分机"; $text['label-extension_only']['ja-jp'] = "内線のみ"; $text['label-extension_only']['ko-kr'] = "내선 전용"; +$text['label-generate']['en-us'] = "Generate"; +$text['label-generate']['en-gb'] = "Generate"; +$text['label-generate']['ar-eg'] = "يولد"; +$text['label-generate']['de-at'] = "Generieren"; +$text['label-generate']['de-ch'] = "Generieren"; +$text['label-generate']['de-de'] = "Generieren"; +$text['label-generate']['el-gr'] = "Παράγω"; +$text['label-generate']['es-cl'] = "Generar"; +$text['label-generate']['es-mx'] = "Generar"; +$text['label-generate']['fr-ca'] = "Générer"; +$text['label-generate']['fr-fr'] = "Générer"; +$text['label-generate']['he-il'] = "לִיצוֹר"; +$text['label-generate']['it-it'] = "creare"; +$text['label-generate']['nl-nl'] = "Genereer"; +$text['label-generate']['pl-pl'] = "Generować"; +$text['label-generate']['pt-br'] = "Gerar"; +$text['label-generate']['pt-pt'] = "Gerar"; +$text['label-generate']['ro-ro'] = "Genera"; +$text['label-generate']['ru-ru'] = "Создать"; +$text['label-generate']['sv-se'] = "Generera"; +$text['label-generate']['uk-ua'] = "Генерувати"; +$text['label-generate']['tr-tr'] = "oluştur"; +$text['label-generate']['zh-cn'] = "產生"; +$text['label-generate']['ja-jp'] = "生成"; +$text['label-generate']['ko-kr'] = "생성하다"; + $text['header-extensions']['en-us'] = "Extensions"; $text['header-extensions']['en-gb'] = "Extensions"; $text['header-extensions']['ar-eg'] = "الأرقام الداخلية"; diff --git a/app/extensions/extension_edit.php b/app/extensions/extension_edit.php index 84c4f85a76..a180f89d16 100644 --- a/app/extensions/extension_edit.php +++ b/app/extensions/extension_edit.php @@ -171,9 +171,34 @@ //device provisioning variables if (is_array($_POST["devices"]) && @sizeof($_POST["devices"]) != 0) { + + //get the devices + $sql = "select count(device_uuid) from v_devices "; + $sql .= "where domain_uuid = :domain_uuid "; + if (!permission_exists('device_all') && !permission_exists('device_domain_all')) { + $sql .= "and device_user_uuid = :user_uuid "; + $parameters['user_uuid'] = $_SESSION['user_uuid']; + } + $sql .= "order by device_address asc "; + $parameters['domain_uuid'] = $domain_uuid; + $database = new database; + $total_devices = $database->select($sql, $parameters, 'column'); + unset($sql, $parameters); + foreach ($_POST["devices"] as $d => $device) { - $device_address = strtolower($device["device_address"]); - $device_address = preg_replace('#[^a-fA-F0-9./]#', '', $device_address); + if ( + permission_exists('device_address_uuid') && + $device["device_address"] == 'UUID' && + ( + !isset($_SESSION['limit']['devices']['numeric']) || + $total_devices < $_SESSION['limit']['devices']['numeric'] + )) { + $device_address = strtolower(uuid()); + } + else { + $device_address = strtolower($device["device_address"]); + $device_address = preg_replace('#[^a-fA-F0-9./]#', '', $device_address); + } $line_numbers[$d] = $device["line_number"]; $device_addresses[$d] = $device_address; @@ -914,10 +939,17 @@ //get the devices $sql = "select * from v_devices "; $sql .= "where domain_uuid = :domain_uuid "; + if (!permission_exists('device_all') && !permission_exists('device_domain_all')) { + $sql .= "and device_user_uuid = :user_uuid "; + $parameters['user_uuid'] = $_SESSION['user_uuid']; + } $sql .= "order by device_address asc "; $parameters['domain_uuid'] = $domain_uuid; $database = new database; $devices = $database->select($sql, $parameters, 'all'); + if (!empty($devices) && is_array($devices)) { + $total_devices = @sizeof($devices); + } unset($sql, $parameters); //get the device vendors @@ -1254,7 +1286,7 @@ echo " \n"; echo " ".$text['label-device_address']." \n"; echo " \n"; - echo " \n"; + echo " \n"; echo " ".$text['label-device_template']." \n"; echo " \n"; if ($action == 'update') { @@ -1268,7 +1300,7 @@ echo " \n"; echo " ".escape($row['line_number'])."\n"; echo " ".escape($device_address)."\n"; - echo " ".escape($row['device_template'])." \n"; + echo " ".escape($row['device_template'])." \n"; //echo " ".$row['device_description']." \n"; echo " \n"; echo " $v_link_label_delete\n"; @@ -1301,9 +1333,9 @@ tb.name=obj.name; tb.className='formfld'; tb.setAttribute('id', 'device_address_'); - tb.setAttribute('style', 'width: 80%;'); + tb.setAttribute('style', 'width: 250px;'); tb.value=obj.options[obj.selectedIndex].value; - document.getElementById('btn_select_to_input_device_address_').style.visibility = 'hidden'; + document.getElementById('btn_select_to_input_device_address_').style.display = 'none'; tbb=document.createElement('INPUT'); tbb.setAttribute('class', 'btn'); tbb.setAttribute('style', 'margin-left: 4px;'); @@ -1321,20 +1353,24 @@ obj[2].parentNode.insertBefore(obj[0],obj[2]); obj[0].parentNode.removeChild(obj[1]); obj[0].parentNode.removeChild(obj[2]); - document.getElementById('btn_select_to_input_device_address_').style.visibility = 'visible'; + document.getElementById('btn_select_to_input_device_address_').style.display = 'inline'; } \n"; + echo " \n"; echo " \n"; echo " \n"; @@ -1342,7 +1378,7 @@ echo " \n"; echo " \n"; - echo " "; + echo " "; $device = new device; $template_dir = $device->get_template_dir(); echo "