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 "