diff --git a/README.md b/README.md new file mode 100644 index 0000000000..386578b474 --- /dev/null +++ b/README.md @@ -0,0 +1,92 @@ +What is [FusionPBX](http://fusionpbx.com/)? +-------------------------------------- +[FusionPBX](http://fusionpbx.com/) is a flexible, customizable administration web GUI that takes [FreeSwitch](http://freeswitch.org) and converts it into a single- or multi-tenant gateway or PBX system out of the box. +It can be run on any operating system and x86-based hardware of your choice. +It provides the functionality your business needs and brings corporate-level phone system features to small, medium, and large businesses. Read more at [FusionPBX](http://fusionpbx.com/). + +In addition to providing all of the usual PBX functionality, FusionPBX allows you to configure: + +- Multi-Tenancy +- Unlimited Extensions +- Voicemail-to-Email +- Music on Hold +- Call Parking +- Automatic Call Distribution +- Interactive Voice Response +- Ring Groups +- Find Me / Follow Me +- Dialplan Features that can be endlessly combined for your preferences +- [Many other Features](http://wiki.fusionpbx.com/index.php?title=Features) + +Free Support +-------------------------------------- +We provide several avenues for you to get your system up and running on your own and learn the basics of the system. + +1. [Current Documentation](http://wiki.fusionpbx.com/index.php?title=Main_Page) +2. [New Documentation](http://fusionpbx-docs.readthedocs.org/en/latest/) COMING SOON +3. [How to Contribute](http://fusionpbx.com) COMING SOON +4. [IRC](http://webchat.freenode.net/) in the fusionpbx channel + +Commercial Support +-------------------------------------- +These options support the project and cover any kind of help you might need from architecture, installation, best practices, troubleshooting, custom feature programming, and training. + +1. [Commercial Paid Support](http://fusionpbx.com/support.php) +2. [Custom Feature Development](http://fusionpbx.com/support.php) +3. [Admin Training](http://fusionpbx.com) +4. [Advanced Training](http://fusionpbx.com) +5. [Developer Training](http://fusionpbx.com) + +Software Requirements +-------------------------------------- +- [Debian Jessie](http://cdimage.debian.org/debian-cd/8.1.0/amd64/iso-cd/debian-8.1.0-amd64-netinst.iso) - Recommended +This is the distribution recommended by the FreeSwitch team +- Fusion will also install on Debian Wheezy, Ubuntu 10.10 LTS and is known to work on FreeBSD +- [FusionPBX Installer](http://fusionpbx.com) + + +Community +-------------------------------------- +We have a pretty thriving community if you know how to get to us: + +- [IRC](http://webchat.freenode.net/) in the fusionpbx channel +- [Twitter](http://twitter.com/fusionpbx) +- [Website](http://fusionpbx.com) + +Contributing +--------------------------------------- + +###Requirements +It's easy to contribute to FusionPBX the only thing we ask before accepting your pull request is that you sign a Contributor License Agreement. +We ask that you sign the Contributor License Agreement for the following reasons: + +1. It protects FusionPBX by you gauranteeing that your contributions are yours to contribute and not the property of an employer or something found on the web. +2. It protects you from using code that belongs to others that is subject unfriendly licensing. + +### How to Contribute +* [The Quick Way](https://github.com/Fusionpbx/opensource/blob/master/sign-cla.md) - Step by step instructions to contribute to FusionPBX with links to our CLA and how to submit pull requests. +* [The FusionPBX Contribution Site](https://github.com/Fusionpbx/opensource) - The full repo with more information for the curious. + +How to Install FusionPBX +---------------------------- +* As root do the following: + +```bash +cd /usr/src +``` +```bash +apt-get install wget +``` +```bash +wget https://raw.githubusercontent.com/fusionpbx/fusionpbx-scripts/master/install/ubuntu/install_fusionpbx.sh +``` +```bash +chmod 755 install_fusionpbx.sh +``` +```bash +./install_fusionpbx.sh install-both user +``` + +Installation Questions: +- During the install it will ask you to press continue after verifying that the command ran successfully. This is usually the case, so you can simply tell it to continue. The install also asks several questions. +- Unless you have a reason to choose otherwise, PostgreSQL and Nginx is probably your best path and is recommended by the developers of FusionPBX diff --git a/app/call_block/app_languages.php b/app/call_block/app_languages.php index 45853cff4f..313ad794de 100644 --- a/app/call_block/app_languages.php +++ b/app/call_block/app_languages.php @@ -11,6 +11,7 @@ $text['title-call-block']['sv-se'] = "Blockera Samtal"; $text['title-call-block']['uk'] = "Блокування дзвінків"; $text['title-call-block']['ro'] = "Blocare apel"; $text['title-call-block']['de-at'] = "Sperrlisten"; +$text['title-call-block']['ar-eg'] = "حظر المكالمات"; $text['prompt-block_recent_name']['en-us'] = "Block Recent Call - Edit the Name, if desired..."; $text['prompt-block_recent_name']['es-cl'] = "Bloqueo de llamadas recientes - Edite el nombre, si lo desea..."; @@ -23,6 +24,7 @@ $text['prompt-block_recent_name']['sv-se'] = "Blockera Senaste Samtal, meditera $text['prompt-block_recent_name']['uk'] = "Блокувати недавній дзвінок. Відредагуйте назву за бажанням"; $text['prompt-block_recent_name']['ro'] = "Blocare apel recent - Editați numele dacă doriți"; $text['prompt-block_recent_name']['de-at'] = "Kürzliche Anrufe Blockieren - Bearbeiten Sie den Namen, falls gewünscht..."; +$text['prompt-block_recent_name']['ar-eg'] = ""; $text['label-update-complete']['en-us'] = "Update Complete"; $text['label-update-complete']['es-cl'] = "Actualización Completa"; @@ -35,6 +37,7 @@ $text['label-update-complete']['sv-se'] = "Uppdatering Klar"; $text['label-update-complete']['uk'] = "Оновлено"; $text['label-update-complete']['ro'] = "Actualizare completă"; $text['label-update-complete']['de-at'] = "Aktualisierung abgeschlossen"; +$text['label-update-complete']['ar-eg'] = "اكتمال التحديث"; $text['label-true']['en-us'] = "True"; $text['label-true']['es-cl'] = "Verdadero"; @@ -47,6 +50,7 @@ $text['label-true']['sv-se'] = "Sann"; $text['label-true']['uk'] = "Так"; $text['label-true']['ro'] = ""; $text['label-true']['de-at'] = "Ein"; +$text['label-true']['ar-eg'] = "صحيح"; $text['label-reject']['en-us'] = "Reject"; $text['label-reject']['es-cl'] = "Rechazar"; @@ -59,6 +63,7 @@ $text['label-reject']['sv-se'] = "Neka"; $text['label-reject']['uk'] = "Відхилити"; $text['label-reject']['ro'] = ""; $text['label-reject']['de-at'] = "Zurückweisen"; +$text['label-reject']['ar-eg'] = "رفض"; $text['label-provide-number']['en-us'] = "Please provide: Number"; $text['label-provide-number']['es-cl'] = "Por favor agregue: Número"; @@ -71,6 +76,7 @@ $text['label-provide-number']['sv-se'] = "Ange: Nummer"; $text['label-provide-number']['uk'] = "Введіть номер"; $text['label-provide-number']['ro'] = ""; $text['label-provide-number']['de-at'] = "Bitte geben Sie die Nummer an"; +$text['label-provide-number']['ar-eg'] = "من فضلك أدخل: الرقم"; $text['label-provide-name']['en-us'] = "Please provide: Name"; $text['label-provide-name']['es-cl'] = "Por favor agregue: Nombre"; @@ -83,6 +89,7 @@ $text['label-provide-name']['sv-se'] = "Ange: Namn"; $text['label-provide-name']['uk'] = "Введіть назву"; $text['label-provide-name']['ro'] = ""; $text['label-provide-name']['de-at'] = "Bitte geben Sie den Namen an"; +$text['label-provide-name']['ar-eg'] = "من فضلك أدخل: الأسم"; $text['label-provide-enabled']['en-us'] = "Please provide: Enabled"; $text['label-provide-enabled']['es-cl'] = "Por favor agregue: Activo"; @@ -95,6 +102,7 @@ $text['label-provide-enabled']['sv-se'] = "Ange: Aktiverad"; $text['label-provide-enabled']['uk'] = "Включити/відключити"; $text['label-provide-enabled']['ro'] = ""; $text['label-provide-enabled']['de-at'] = "Bitte geben Sie folgendes an: Aktiv"; +$text['label-provide-enabled']['ar-eg'] = ""; $text['label-number']['en-us'] = "Number"; $text['label-number']['es-cl'] = "Número"; @@ -107,6 +115,7 @@ $text['label-number']['sv-se'] = "Nummer"; $text['label-number']['uk'] = "Номер"; $text['label-number']['ro'] = "Număr"; $text['label-number']['de-at'] = "Nummer"; +$text['label-number']['ar-eg'] = "رقم"; $text['label-name']['en-us'] = "Name"; $text['label-name']['es-cl'] = "Nombre"; @@ -119,6 +128,7 @@ $text['label-name']['sv-se'] = "Namn"; $text['label-name']['uk'] = "Назва"; $text['label-name']['ro'] = "Nume"; $text['label-name']['de-at'] = "Name"; +$text['label-name']['ar-eg'] = "الأسم"; $text['label-message']['en-us'] = "Message"; $text['label-message']['es-cl'] = "Mensaje"; @@ -131,6 +141,7 @@ $text['label-message']['sv-se'] = "Meddelande"; $text['label-message']['uk'] = "Повідомлення"; $text['label-message']['ro'] = "Mesaj"; $text['label-message']['de-at'] = "Nachricht"; +$text['label-message']['ar-eg'] = "رسالة"; $text['label-local']['en-us'] = "Local"; $text['label-local']['es-cl'] = "Local"; @@ -143,6 +154,7 @@ $text['label-local']['sv-se'] = "Lokal"; $text['label-local']['uk'] = "Місцевий"; $text['label-local']['ro'] = "Local"; $text['label-local']['de-at'] = "Lokal"; +$text['label-local']['ar-eg'] = "محلي"; $text['label-inbound']['en-us'] = "Inbound"; $text['label-inbound']['es-cl'] = "Entrada"; @@ -155,6 +167,7 @@ $text['label-inbound']['sv-se'] = "Inkommande"; $text['label-inbound']['uk'] = "Вихідний"; $text['label-inbound']['ro'] = ""; $text['label-inbound']['de-at'] = "Eingehend"; +$text['label-inbound']['ar-eg'] = ""; $text['label-false']['en-us'] = "False"; $text['label-false']['es-cl'] = "falso"; @@ -167,6 +180,7 @@ $text['label-false']['sv-se'] = "Falsk"; $text['label-false']['uk'] = "Ні"; $text['label-false']['ro'] = ""; $text['label-false']['de-at'] = "Aus"; +$text['label-false']['ar-eg'] = ""; $text['label-enabled']['en-us'] = "Enabled"; $text['label-enabled']['es-cl'] = "Activo"; @@ -179,6 +193,7 @@ $text['label-enabled']['sv-se'] = "Aktiverad"; $text['label-enabled']['uk'] = "Включено"; $text['label-enabled']['ro'] = ""; $text['label-enabled']['de-at'] = "Aktiv"; +$text['label-enabled']['ar-eg'] = "مفعل"; $text['label-edit-note']['en-us'] = "Block calls from a number. Edit the name and enable/disable below."; $text['label-edit-note']['es-cl'] = "Bloquea llamadas desde un número. Edite el nombre y active/desactive abajo."; @@ -191,6 +206,7 @@ $text['label-edit-note']['sv-se'] = "Blockera samtal från nummer. Editera namn $text['label-edit-note']['uk'] = "Блокувати дзвінки з номера. Змініть ім'я і включіть/відключіть нижче."; $text['label-edit-note']['ro'] = "Blocați apelurile de la un număr. Editați numele și activați/dezactivați mai jos."; $text['label-edit-note']['de-at'] = "Anrufe von Nummer Blockieren. Bearbeiten Sie den Namen und aktivieren/deaktivieren Sie unten."; +$text['label-edit-note']['ar-eg'] = ""; $text['label-edit-edit']['en-us'] = "Call Block"; $text['label-edit-edit']['es-cl'] = "Bloqueo de llamada"; @@ -203,6 +219,7 @@ $text['label-edit-edit']['sv-se'] = "Blockera Samtal"; $text['label-edit-edit']['uk'] = "Блокування дзвінків"; $text['label-edit-edit']['ro'] = "Blocare apel"; $text['label-edit-edit']['de-at'] = "Sperrlisten"; +$text['label-edit-edit']['ar-eg'] = ""; $text['label-edit-add-recent']['en-us'] = "Recent Calls"; $text['label-edit-add-recent']['es-cl'] = "Llamadas Recientes"; @@ -215,6 +232,7 @@ $text['label-edit-add-recent']['sv-se'] = "Senaste Samtal"; $text['label-edit-add-recent']['uk'] = "Останні дзвінки"; $text['label-edit-add-recent']['ro'] = "Apeluri recente"; $text['label-edit-add-recent']['de-at'] = "Kürzliche Anrufe"; +$text['label-edit-add-recent']['ar-eg'] = ""; $text['label-edit-add']['en-us'] = "Call Block"; $text['label-edit-add']['es-cl'] = "Agregar bloqueo de llamada"; @@ -227,6 +245,7 @@ $text['label-edit-add']['sv-se'] = "Blockera Samtal"; $text['label-edit-add']['uk'] = "Блокування дзвінків"; $text['label-edit-add']['ro'] = "Blocare apel"; $text['label-edit-add']['de-at'] = "Sperrlisten"; +$text['label-edit-add']['ar-eg'] = "حظر المكالمات"; $text['label-duration']['en-us'] = "Duration"; $text['label-duration']['es-cl'] = "Duración"; @@ -239,6 +258,7 @@ $text['label-duration']['sv-se'] = "Samtalstid"; $text['label-duration']['uk'] = "Тривалість"; $text['label-duration']['ro'] = "Durată"; $text['label-duration']['de-at'] = "Dauer"; +$text['label-duration']['ar-eg'] = "المدة"; $text['label-delete-complete']['en-us'] = "Delete Complete"; $text['label-delete-complete']['es-cl'] = "Eliminar Completo"; @@ -251,6 +271,7 @@ $text['label-delete-complete']['sv-se'] = "Borttagning Klar"; $text['label-delete-complete']['uk'] = "Видалено"; $text['label-delete-complete']['ro'] = "Ștergere completă"; $text['label-delete-complete']['de-at'] = "Erfolgreich gelöscht"; +$text['label-delete-complete']['ar-eg'] = "اكتمال المسح"; $text['label-date-added']['en-us'] = "Date Added"; $text['label-date-added']['es-cl'] = "Fecha de ingreso"; @@ -263,6 +284,7 @@ $text['label-date-added']['sv-se'] = "Datum Tillagt"; $text['label-date-added']['uk'] = "Додано"; $text['label-date-added']['ro'] = "Data adăugării"; $text['label-date-added']['de-at'] = "Datum hinzugefügt"; +$text['label-date-added']['ar-eg'] = "تم اضافة التاريخ"; $text['label-count']['en-us'] = "Count"; $text['label-count']['es-cl'] = "Conteo"; @@ -275,6 +297,7 @@ $text['label-count']['sv-se'] = "Räkna"; $text['label-count']['uk'] = "Кількість"; $text['label-count']['ro'] = ""; $text['label-count']['de-at'] = "Zähler"; +$text['label-count']['ar-eg'] = ""; $text['label-called-on']['en-us'] = "Called on"; $text['label-called-on']['es-cl'] = "Llamó en"; @@ -287,6 +310,7 @@ $text['label-called-on']['sv-se'] = "Ringdes på"; $text['label-called-on']['uk'] = "Дзвінок здійснено"; $text['label-called-on']['ro'] = "Sunat pe"; $text['label-called-on']['de-at'] = "Anruf am"; +$text['label-called-on']['ar-eg'] = "تم الأتصال علي"; $text['label-busy']['en-us'] = "Busy"; $text['label-busy']['es-cl'] = "Ocupado"; @@ -299,6 +323,7 @@ $text['label-busy']['sv-se'] = "Upptagen"; $text['label-busy']['uk'] = "Зайнято"; $text['label-busy']['ro'] = "Ocupat"; $text['label-busy']['de-at'] = "Besetzt"; +$text['label-busy']['ar-eg'] = "مشغول"; $text['label-add-note']['en-us'] = "Block calls from a number. Either select a number from the list above or enter the number, name and enable below."; $text['label-add-note']['es-cl'] = "Bloquea llamadas desde un número. Puede elegir un número de la lista de arriba o ingresar el nú, nombre y activarlo abajo."; @@ -311,6 +336,7 @@ $text['label-add-note']['sv-se'] = "Blockera samtal från ett nummer. Välj anti $text['label-add-note']['uk'] = "Блокувати дзвінки з номера. Або вибрати номер зі списку вище або введіть номер, ім'я і включити нижче."; $text['label-add-note']['ro'] = ""; $text['label-add-note']['de-at'] = "Blockiert Anrufe von einer Nummer. Wählen Sie eine Nummer von der Liste oder geben Sie eine Nummer und einen Name ein. Aktivieren Sie die Sperrliste unten."; +$text['label-add-note']['ar-eg'] = ""; $text['label-add-complete']['en-us'] = "Add Complete"; $text['label-add-complete']['es-cl'] = "Agregar Completo"; @@ -323,6 +349,7 @@ $text['label-add-complete']['sv-se'] = "Tillagd"; $text['label-add-complete']['uk'] = "Додано"; $text['label-add-complete']['ro'] = "Adăugare completă"; $text['label-add-complete']['de-at'] = "Erfolgreich hinzugefügt"; +$text['label-add-complete']['ar-eg'] = "تمت الأضافة"; $text['label-action']['en-us'] = "Action"; $text['label-action']['es-cl'] = "Acción"; @@ -335,6 +362,7 @@ $text['label-action']['sv-se'] = "Åtgärd"; $text['label-action']['uk'] = "Дія"; $text['label-action']['ro'] = "Acțiune"; $text['label-action']['de-at'] = "Aktion"; +$text['label-action']['ar-eg'] = ""; $text['description-number']['en-us'] = "Enter the exact number."; $text['description-number']['es-cl'] = "Ingrese el nú exacto."; @@ -347,6 +375,7 @@ $text['description-number']['sv-se'] = "Ange det exakta numret"; $text['description-number']['uk'] = "Введіть точний номер"; $text['description-number']['ro'] = "Introduceți numărul exact"; $text['description-number']['de-at'] = "Geben Sie die genaue Nummer an."; +$text['description-number']['ar-eg'] = ""; $text['description-name']['en-us'] = "Enter the name."; $text['description-name']['es-cl'] = "Introduzca el nombre."; @@ -359,6 +388,7 @@ $text['description-name']['sv-se'] = "Skriv in namnet."; $text['description-name']['uk'] = "Введіть назву меню"; $text['description-name']['ro'] = "Introduceți numele"; $text['description-name']['de-at'] = "Geben Sie den Namen an"; +$text['description-name']['ar-eg'] = "أدخل الأسم"; $text['description-enable']['en-us'] = "Set to true to enable call blocking for this number."; $text['description-enable']['es-cl'] = "Seleccione verdadero para activar el bloqueo de llamadas desde este número."; @@ -371,6 +401,7 @@ $text['description-enable']['sv-se'] = "Välj Sann för att blockera detta numme $text['description-enable']['uk'] = "Виберіть 'Так', щоб блокувати дзвінки з даного номера."; $text['description-enable']['ro'] = ""; $text['description-enable']['de-at'] = "Setzen Sie auf An um den Blocker für diese Nummer zu aktivieren."; +$text['description-enable']['ar-eg'] = ""; $text['description-call-block']['en-us'] = "A list of numbers from which to block calls."; $text['description-call-block']['es-cl'] = "Un listado de números desde los cuales se bloquean las llamadas"; @@ -383,6 +414,7 @@ $text['description-call-block']['sv-se'] = "En lista med nummer för blockering $text['description-call-block']['uk'] = "Список номерів, з яких блокуються дзвінки."; $text['description-call-block']['ro'] = ""; $text['description-call-block']['de-at'] = "Eine Liste von Nummern die blockiert werden sollen."; +$text['description-call-block']['ar-eg'] = ""; $text['description-action']['en-us'] = "Set an action for calls from this number."; $text['description-action']['es-cl'] = "Configurar una acción para llamadas desde este número."; @@ -395,6 +427,7 @@ $text['description-action']['sv-se'] = "Välj en aktion för samtal från detta $text['description-action']['uk'] = "Встановіть дію для дзвінків з цього номера."; $text['description-action']['ro'] = ""; $text['description-action']['de-at'] = "Setzen Sie eine Aktion für Anrufe von dieser Nummer."; +$text['description-action']['ar-eg'] = ""; $text['confirm-delete']['en-us'] = "Do you really want to delete this?"; $text['confirm-delete']['es-cl'] = "¿Realmente desea eliminar el número?"; @@ -407,6 +440,7 @@ $text['confirm-delete']['sv-se'] = "Vill du verkligen ta bort detta?"; $text['confirm-delete']['uk'] = "Ви дійсно бажаєте це видалити?"; $text['confirm-delete']['ro'] = ""; $text['confirm-delete']['de-at'] = "Wollen Sie das wirklich löschen?"; +$text['confirm-delete']['ar-eg'] = ""; $text['button-view']['en-us'] = "View"; $text['button-view']['es-cl'] = "Ver"; @@ -419,6 +453,7 @@ $text['button-view']['sv-se'] = "Visa"; $text['button-view']['uk'] = "Перегляд"; $text['button-view']['ro'] = "Vizualizare"; $text['button-view']['de-at'] = "Ansicht"; +$text['button-view']['ar-eg'] = "عرض"; $text['button-save']['en-us'] = "Save"; $text['button-save']['es-cl'] = "Guardar"; @@ -431,6 +466,7 @@ $text['button-save']['sv-se'] = "Spara"; $text['button-save']['uk'] = "Зберегти"; $text['button-save']['ro'] = "Salvează"; $text['button-save']['de-at'] = "Speichern"; +$text['button-save']['ar-eg'] = "حفظ"; $text['button-edit']['en-us'] = "Edit"; $text['button-edit']['es-cl'] = "Editar"; @@ -443,6 +479,7 @@ $text['button-edit']['sv-se'] = "Editera"; $text['button-edit']['uk'] = "Редагувати"; $text['button-edit']['ro'] = "Editează"; $text['button-edit']['de-at'] = "Bearbeiten"; +$text['button-edit']['ar-eg'] = "تعديل"; $text['button-delete']['en-us'] = "Delete"; $text['button-delete']['es-cl'] = "Eliminar"; @@ -455,6 +492,7 @@ $text['button-delete']['sv-se'] = "Ta Bort"; $text['button-delete']['uk'] = "Видалити"; $text['button-delete']['ro'] = ""; $text['button-delete']['de-at'] = "Löschen"; +$text['button-delete']['ar-eg'] = "مسح"; $text['button-back']['en-us'] = "Back"; $text['button-back']['es-cl'] = "Volver"; @@ -467,6 +505,7 @@ $text['button-back']['sv-se'] = "Tillbaka"; $text['button-back']['uk'] = "Назад"; $text['button-back']['ro'] = "Înapoi"; $text['button-back']['de-at'] = "Zurück"; +$text['button-back']['ar-eg'] = "رجوع"; $text['button-add']['en-us'] = "Add"; $text['button-add']['pt-pt'] = "Adicionar"; @@ -478,5 +517,6 @@ $text['button-add']['sv-se'] = "Lägg Till"; $text['button-add']['uk'] = "Додати"; $text['button-add']['ro'] = "Adaugă"; $text['button-add']['de-at'] = "Hinzufügen"; +$text['button-add']['ar-eg'] = "اضافة"; ?> \ No newline at end of file diff --git a/app/call_block/app_menu.php b/app/call_block/app_menu.php index 6d140a5904..a803a0ed99 100644 --- a/app/call_block/app_menu.php +++ b/app/call_block/app_menu.php @@ -10,6 +10,7 @@ $apps[$x]['menu'][0]['title']['sv-se'] = "Blockera Samtal"; $apps[$x]['menu'][0]['title']['uk'] = "Блокування дзвінків"; $apps[$x]['menu'][0]['title']['ro'] = "Blocare apel"; $apps[$x]['menu'][0]['title']['de-at'] = "Sperrlisten"; +$apps[$x]['menu'][0]['title']['ar-eg'] = "حظر المكالمات"; $apps[$x]['menu'][0]['uuid'] = "29295c90-b1b9-440b-9c7E-c8363c6e8975"; $apps[$x]['menu'][0]['parent_uuid'] = "fd29e39c-c936-f5fc-8e2b-611681b266b5"; $apps[$x]['menu'][0]['category'] = "internal"; diff --git a/app/call_center/call_center_queue_edit.php b/app/call_center/call_center_queue_edit.php index c723a93e4c..e46868b982 100644 --- a/app/call_center/call_center_queue_edit.php +++ b/app/call_center/call_center_queue_edit.php @@ -272,6 +272,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { //update the call center queue $sql = "update v_call_center_queues set "; $sql .= "queue_name = '$queue_name', "; + $sql .= "dialplan_uuid = '$dialplan_uuid', "; $sql .= "queue_extension = '$queue_extension', "; $sql .= "queue_strategy = '$queue_strategy', "; $sql .= "queue_moh_sound = '$queue_moh_sound', "; @@ -314,8 +315,10 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { $c = new call_center; $c->db = $db; $c->domain_uuid = $_SESSION['domain_uuid']; + $c->call_center_queue_uuid = $call_center_queue_uuid; $c->dialplan_uuid = $dialplan_uuid; $c->queue_name = $queue_name; + $c->queue_name = $queue_name; $c->queue_cid_prefix = $queue_cid_prefix; $c->queue_timeout_action = $queue_timeout_action; $c->queue_description = $queue_description; @@ -329,7 +332,8 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { $cache = new cache; $cache->delete("memcache delete dialplan:".$_SESSION["context"]); - $_SESSION["message"] = $text['message-update']; + //set the update message + $_SESSION["message"] = $text['message-update']; } //if ($action == "update") //add agent/tier to queue diff --git a/app/call_center/resources/classes/call_center.php b/app/call_center/resources/classes/call_center.php index ebc78f6c2d..aad25b7b92 100644 --- a/app/call_center/resources/classes/call_center.php +++ b/app/call_center/resources/classes/call_center.php @@ -17,7 +17,7 @@ The Initial Developer of the Original Code is Mark J Crane - Copyright (C) 2010-2014 + Copyright (C) 2015 All Rights Reserved. Contributor(s): @@ -36,6 +36,7 @@ * define the variables */ public $domain_uuid; + public $call_center_queue_uuid; public $dialplan_uuid; public $queue_name; public $queue_description; @@ -70,31 +71,33 @@ $sql = "select dialplan_uuid, dialplan_name, dialplan_description from v_dialplans "; $sql .= "where dialplan_uuid = '".$this->dialplan_uuid."' "; $sql .= "and domain_uuid = '".$this->domain_uuid."' "; - //echo $sql; $prep_statement = $this->db->prepare($sql); if ($prep_statement) { $prep_statement->execute(); $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - if (strlen($row['dialplan_uuid']) > 0) { - $this->dialplan_uuid = $row['dialplan_uuid']; + if (is_array($row)) { + //results found $dialplan_name = $row['dialplan_name']; $dialplan_description = $row['dialplan_description']; } else { - $this->dialplan_uuid = ""; + //no results + unset($this->dialplan_uuid); + $sql = "update v_call_center_queues "; + $sql .= "set dialplan_uuid = null "; + $sql .= "where call_center_queue_uuid = '".$this->call_center_queue_uuid."' "; + $sql .= "and domain_uuid = '".$this->domain_uuid."' "; + //echo $sql."
\n"; + //exit; + $this->db->exec($sql); + unset($sql); } unset($prep_statement); } - else { - $this->dialplan_uuid = ""; - } } //build the dialplan array $dialplan["app_uuid"] = "95788e50-9500-079e-2807-fd530b0ea370"; - if (strlen($this->dialplan_uuid) > 0) { - $dialplan["dialplan_uuid"] = $this->dialplan_uuid; - } $dialplan["domain_uuid"] = $this->domain_uuid; $dialplan["dialplan_name"] = ($this->queue_name != '') ? $this->queue_name : format_phone($this->destination_number); $dialplan["dialplan_number"] = $this->destination_number; @@ -165,6 +168,7 @@ $action_array = explode(":",$this->queue_timeout_action); $dialplan["dialplan_details"][$y]["domain_uuid"] = $this->domain_uuid; $dialplan["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; + $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = $action_array[0]; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = substr($this->queue_timeout_action, strlen($action_array[0])+1, strlen($this->queue_timeout_action)); $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = "2"; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $y * 10; @@ -177,13 +181,17 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = "2"; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $y * 10; - //delete the previous details + //delete the previous dialplan if(strlen($this->dialplan_uuid) > 0) { + $sql = "delete from v_dialplans "; + $sql .= "where dialplan_uuid = '".$this->dialplan_uuid."' "; + $sql .= "and domain_uuid = '".$this->domain_uuid."' "; + $this->db->exec($sql); + $sql = "delete from v_dialplan_details "; $sql .= "where dialplan_uuid = '".$this->dialplan_uuid."' "; $sql .= "and domain_uuid = '".$this->domain_uuid."' "; - //echo $sql."

"; - $this->db->exec(check_sql($sql)); + $this->db->exec($sql); unset($sql); } @@ -197,12 +205,23 @@ //save the dialplan $orm = new orm; $orm->name('dialplans'); - if (isset($dialplan["dialplan_uuid"])) { - $orm->uuid($dialplan["dialplan_uuid"]); + if (strlen($this->dialplan_uuid) > 0) { + $orm->uuid($this->dialplan_uuid); } $orm->save($dialplan); $dialplan_response = $orm->message; + //if new dialplan uuid then update the call center queue + if (strlen($this->dialplan_uuid) == 0) { + $this->dialplan_uuid = $dialplan_response['uuid']; + $sql = "update v_call_center_queues "; + $sql .= "set dialplan_uuid = '".$this->dialplan_uuid."' "; + $sql .= "where call_center_queue_uuid = '".$this->call_center_queue_uuid."' "; + $sql .= "and domain_uuid = '".$this->domain_uuid."' "; + $this->db->exec($sql); + unset($sql); + } + //remove the temporary permission $p->delete("dialplan_add", 'temp'); $p->delete("dialplan_detail_add", 'temp'); diff --git a/app/call_center_active/app_languages.php b/app/call_center_active/app_languages.php index 9b7eb44ebf..3a606fea74 100644 --- a/app/call_center_active/app_languages.php +++ b/app/call_center_active/app_languages.php @@ -8,6 +8,7 @@ $text['title-call_center_queue_activity']['pt-br'] = "Atividade das filas do cal $text['title-call_center_queue_activity']['pl'] = "Aktywność kolejek w Call Center "; $text['title-call_center_queue_activity']['sv-se'] = "Call Center Grupp Aktivitet"; $text['title-call_center_queue_activity']['de-at'] = "Callcenter Warteschlangen Aktivität"; +$text['title-call_center_queue_activity']['ar-eg'] = ""; $text['title-active_call_center']['en-us'] = "Active Call Center"; $text['title-active_call_center']['es-cl'] = "Centro de Llamados Activo"; @@ -17,6 +18,7 @@ $text['title-active_call_center']['pt-br'] = "Atividade do callcenter"; $text['title-active_call_center']['pl'] = "Aktywność w Call Center "; $text['title-active_call_center']['sv-se'] = "Aktivt Call Center"; $text['title-active_call_center']['de-at'] = "Aktive Callcenter"; +$text['title-active_call_center']['ar-eg'] = ""; $text['message-confirm']['en-us'] = "Do you really want to do this?"; $text['message-confirm']['es-cl'] = "¿Realmente desea ejecutar esta operación?"; @@ -26,6 +28,7 @@ $text['message-confirm']['pt-br'] = "Deseja realmente fazer isto?"; $text['message-confirm']['pl'] = "Czy napewno chcesz to zrobić?"; $text['message-confirm']['sv-se'] = "Vill du verkligen göra det här?"; $text['message-confirm']['de-at'] = "Wollen Sie das wirklich tun?"; +$text['message-confirm']['ar-eg'] = ""; $text['label-waiting']['en-us'] = "Waiting"; $text['label-waiting']['es-cl'] = "Esperando"; @@ -35,6 +38,7 @@ $text['label-waiting']['pt-br'] = "Esperar"; $text['label-waiting']['pl'] = "Oczekiwanie"; $text['label-waiting']['sv-se'] = "Väntar"; $text['label-waiting']['de-at'] = "Warten"; +$text['label-waiting']['ar-eg'] = "انتظار"; $text['label-trying']['en-us'] = "Trying"; $text['label-trying']['es-cl'] = "Intentando"; @@ -44,6 +48,7 @@ $text['label-trying']['pt-br'] = "Tentando"; $text['label-trying']['pl'] = "Próba"; $text['label-trying']['sv-se'] = "Försöker"; $text['label-trying']['de-at'] = "Versuchen"; +$text['label-trying']['ar-eg'] = ""; $text['label-transfer']['en-us'] = "Transfer"; $text['label-transfer']['es-cl'] = "Transferir"; @@ -53,6 +58,7 @@ $text['label-transfer']['pt-br'] = "Tranferência"; $text['label-transfer']['pl'] = "Transferowanie"; $text['label-transfer']['sv-se'] = "Överför"; $text['label-transfer']['de-at'] = "Weiterleiten"; +$text['label-transfer']['ar-eg'] = "تحويل"; $text['label-time_base_score']['en-us'] = "Time Base Score"; $text['label-time_base_score']['es-cl'] = "Puntuación basada en tiempo"; @@ -62,6 +68,7 @@ $text['label-time_base_score']['pt-br'] = "Pontuação baseada no tempo"; $text['label-time_base_score']['pl'] = "Wynik oparty na czasie"; $text['label-time_base_score']['sv-se'] = "Tidsbaserat Resultat"; $text['label-time_base_score']['de-at'] = "Taktgeber Punkte"; +$text['label-time_base_score']['ar-eg'] = ""; $text['label-time']['en-us'] = "Time"; $text['label-time']['es-cl'] = "Tiempo"; @@ -71,6 +78,7 @@ $text['label-time']['pt-br'] = "Fuso Horário"; $text['label-time']['pl'] = "Czas"; $text['label-time']['sv-se'] = "Tid"; $text['label-time']['de-at'] = "Zeitzone"; +$text['label-time']['ar-eg'] = "التوقيت"; $text['label-tier_state']['en-us'] = "Tier State"; $text['label-tier_state']['es-cl'] = "Estado de Nivel"; @@ -80,6 +88,7 @@ $text['label-tier_state']['pt-br'] = "Nivel de estado"; $text['label-tier_state']['pl'] = "Status poziomu"; $text['label-tier_state']['sv-se'] = "Kunskap Status"; $text['label-tier_state']['de-at'] = "Ebenen Status"; +$text['label-tier_state']['ar-eg'] = ""; $text['label-tier_rules_apply']['en-us'] = "Tier Rules Apply"; $text['label-tier_rules_apply']['es-cl'] = "Aplicar Reglas de Nivel"; @@ -89,6 +98,7 @@ $text['label-tier_rules_apply']['pt-br'] = "Aplicar regas de nivel"; $text['label-tier_rules_apply']['pl'] = "Zastosuj zasadę poziomów"; $text['label-tier_rules_apply']['sv-se'] = "Kunskap Regler Gäller"; $text['label-tier_rules_apply']['de-at'] = "Ebenen Regeln werden angewendet"; +$text['label-tier_rules_apply']['ar-eg'] = ""; $text['label-tier_rule_wait_second']['en-us'] = "Tier Rule Wait Second"; $text['label-tier_rule_wait_second']['es-cl'] = "Regla de nível segundo de espera"; @@ -98,6 +108,7 @@ $text['label-tier_rule_wait_second']['pt-br'] = "Regra de segundo nivel de esper $text['label-tier_rule_wait_second']['pl'] = "Poziomowa zasada czekania"; $text['label-tier_rule_wait_second']['sv-se'] = "Kunskap Regel Väntetid i Sekunder"; $text['label-tier_rule_wait_second']['de-at'] = "Ebenen Regel Wartezeit"; +$text['label-tier_rule_wait_second']['ar-eg'] = ""; $text['label-tier_rule_wait_multiply_level']['en-us'] = "Tier Rule Wait Multiply Level"; $text['label-tier_rule_wait_multiply_level']['es-cl'] = "Regla de nivel multiplicar nivel de espera"; @@ -107,6 +118,7 @@ $text['label-tier_rule_wait_multiply_level']['pt-br'] = "Regra de espera multipl $text['label-tier_rule_wait_multiply_level']['pl'] = "Poziomowa zasada przemnożenia"; $text['label-tier_rule_wait_multiply_level']['sv-se'] = "Kunskap Regel Väntetid Multipla Värden"; $text['label-tier_rule_wait_multiply_level']['de-at'] = "Ebenen Regel Wartezeit Multiplikator Level"; +$text['label-tier_rule_wait_multiply_level']['ar-eg'] = ""; $text['label-tier_rule_no_agent_no_wait']['en-us'] = "Tier Rule No Agent No Wait"; $text['label-tier_rule_no_agent_no_wait']['es-cl'] = "Regla de Nivel sin Agente sin Espera"; @@ -116,6 +128,7 @@ $text['label-tier_rule_no_agent_no_wait']['pt-br'] = "Regra de nivel sem espera $text['label-tier_rule_no_agent_no_wait']['pl'] = "Zasada poziomowa - nie ma agentów, nie ma czekania"; $text['label-tier_rule_no_agent_no_wait']['sv-se'] = "Kunskap Regel Ingen Agent Ingen Väntan"; $text['label-tier_rule_no_agent_no_wait']['de-at'] = "Ebenen Regel kein Agent nicht warten"; +$text['label-tier_rule_no_agent_no_wait']['ar-eg'] = ""; $text['label-tier_position']['en-us'] = "Tier Position"; $text['label-tier_position']['es-cl'] = "Posición de Nivel"; @@ -125,6 +138,7 @@ $text['label-tier_position']['pt-br'] = "Nivel da posição"; $text['label-tier_position']['pl'] = "Pozycja poziomu"; $text['label-tier_position']['sv-se'] = "Kunskap Position"; $text['label-tier_position']['de-at'] = "Ebenen Position"; +$text['label-tier_position']['ar-eg'] = ""; $text['label-tier_level']['en-us'] = "Tier Level"; $text['label-tier_level']['es-cl'] = "Nivel"; @@ -134,6 +148,7 @@ $text['label-tier_level']['pt-br'] = "Nivel da camada"; $text['label-tier_level']['pl'] = "Tier Level"; $text['label-tier_level']['sv-se'] = "Kunskap Nivå"; $text['label-tier_level']['de-at'] = "Ebenen Level"; +$text['label-tier_level']['ar-eg'] = ""; $text['label-system']['en-us'] = "System"; $text['label-system']['es-cl'] = "Sistema"; @@ -143,6 +158,7 @@ $text['label-system']['pt-br'] = "Sistema"; $text['label-system']['pl'] = "System"; $text['label-system']['sv-se'] = "System"; $text['label-system']['de-at'] = "System"; +$text['label-system']['ar-eg'] = "النظام"; $text['label-strategy']['en-us'] = "Strategy"; $text['label-strategy']['es-cl'] = "Estrategia"; @@ -152,6 +168,7 @@ $text['label-strategy']['pt-br'] = "Estratégia"; $text['label-strategy']['pl'] = "Strategia"; $text['label-strategy']['sv-se'] = "Strategi"; $text['label-strategy']['de-at'] = "Strategie"; +$text['label-strategy']['ar-eg'] = ""; $text['label-status_change']['en-us'] = "Status Change"; $text['label-status_change']['es-cl'] = "Cambio de Estado"; @@ -161,6 +178,7 @@ $text['label-status_change']['pt-br'] = "Mudança de estado"; $text['label-status_change']['pl'] = "Zmiana statusu"; $text['label-status_change']['sv-se'] = "Status Förändra"; $text['label-status_change']['de-at'] = "Status Änderung"; +$text['label-status_change']['ar-eg'] = ""; $text['label-status']['en-us'] = "Status"; $text['label-status']['es-cl'] = "Estado"; @@ -170,6 +188,7 @@ $text['label-status']['pt-br'] = "Estado"; $text['label-status']['pl'] = "Status"; $text['label-status']['sv-se'] = "Status"; $text['label-status']['de-at'] = "Status"; +$text['label-status']['ar-eg'] = "الحالة"; $text['label-state']['en-us'] = "State"; $text['label-state']['es-cl'] = "Estado"; @@ -179,6 +198,7 @@ $text['label-state']['pt-br'] = "Estado"; $text['label-state']['pl'] = "Stan"; $text['label-state']['sv-se'] = "Status"; $text['label-state']['de-at'] = "Status"; +$text['label-state']['ar-eg'] = ""; $text['label-record_template']['en-us'] = "Record Template"; $text['label-record_template']['es-cl'] = "Plantilla de Grabación"; @@ -188,6 +208,7 @@ $text['label-record_template']['pt-br'] = "Gravar"; $text['label-record_template']['pl'] = "Nagraj"; $text['label-record_template']['sv-se'] = "Spela In Mall"; $text['label-record_template']['de-at'] = "Aufnahme Vorlage"; +$text['label-record_template']['ar-eg'] = ""; $text['label-queue_name']['en-us'] = "Queue Name"; $text['label-queue_name']['es-cl'] = "Nombre de Cola"; @@ -197,6 +218,7 @@ $text['label-queue_name']['pt-br'] = "Nome da fila"; $text['label-queue_name']['pl'] = "Nazwa kolejki"; $text['label-queue_name']['sv-se'] = "Grupp Namn"; $text['label-queue_name']['de-at'] = "Warteschlange Name"; +$text['label-queue_name']['ar-eg'] = "اسم الطابور"; $text['label-queue']['en-us'] = "Queue"; $text['label-queue']['es-cl'] = "Cola"; @@ -206,6 +228,7 @@ $text['label-queue']['pt-br'] = "Fila"; $text['label-queue']['pl'] = "Kolejka"; $text['label-queue']['sv-se'] = "Grupp"; $text['label-queue']['de-at'] = "Warteschlange"; +$text['label-queue']['ar-eg'] = "طابور"; $text['label-options']['en-us'] = "Options"; $text['label-options']['es-cl'] = "Opciones"; @@ -215,6 +238,7 @@ $text['label-options']['pt-br'] = "Opções"; $text['label-options']['pl'] = "Opcje"; $text['label-options']['sv-se'] = "Val"; $text['label-options']['de-at'] = "Optionen"; +$text['label-options']['ar-eg'] = ""; $text['label-number']['en-us'] = "Number"; $text['label-number']['es-cl'] = "Número"; @@ -224,6 +248,7 @@ $text['label-number']['pt-br'] = "Número"; $text['label-number']['pl'] = "Numer"; $text['label-number']['sv-se'] = "Nummer"; $text['label-number']['de-at'] = "Nummer"; +$text['label-number']['ar-eg'] = "رقم"; $text['label-name']['en-us'] = "Name"; $text['label-name']['es-cl'] = "Nombre"; @@ -233,6 +258,7 @@ $text['label-name']['pt-br'] = "Nome"; $text['label-name']['pl'] = "Nazwa"; $text['label-name']['sv-se'] = "Namn"; $text['label-name']['de-at'] = "Name"; +$text['label-name']['ar-eg'] = "الأسم"; $text['label-music_on_hold']['en-us'] = "Music on Hold"; $text['label-music_on_hold']['es-cl'] = "Musica en Espera"; @@ -242,6 +268,7 @@ $text['label-music_on_hold']['pt-br'] = "Música de espera"; $text['label-music_on_hold']['pl'] = "Muzyka na czekanie"; $text['label-music_on_hold']['sv-se'] = "Väntmusik"; $text['label-music_on_hold']['de-at'] = "Haltemusik"; +$text['label-music_on_hold']['ar-eg'] = ""; $text['label-missed']['en-us'] = "Missed"; $text['label-missed']['es-cl'] = "Perdido"; @@ -251,6 +278,7 @@ $text['label-missed']['pt-br'] = "Perdidas"; $text['label-missed']['pl'] = "Nie odebrany"; $text['label-missed']['sv-se'] = "Missade"; $text['label-missed']['de-at'] = "Verpasst"; +$text['label-missed']['ar-eg'] = ""; $text['label-max_wait_time_with_no_agent']['en-us'] = "Max Wait Time with No Agent"; $text['label-max_wait_time_with_no_agent']['es-cl'] = "Tiempo Máximo de Espera sin Agente"; @@ -260,6 +288,7 @@ $text['label-max_wait_time_with_no_agent']['pt-br'] = "Tempo máximo sem agente" $text['label-max_wait_time_with_no_agent']['pl'] = "Maks czas oczekiwania bez agenta"; $text['label-max_wait_time_with_no_agent']['sv-se'] = "Max Vänt Tid (Ingen Agent)"; $text['label-max_wait_time_with_no_agent']['de-at'] = "Maximale Wartezeit ohne Agent"; +$text['label-max_wait_time_with_no_agent']['ar-eg'] = ""; $text['label-max_wait_time']['en-us'] = "Max Wait Time"; $text['label-max_wait_time']['es-cl'] = "Tiempo Máximo de Espera"; @@ -269,6 +298,7 @@ $text['label-max_wait_time']['pt-br'] = "Tempo máximo de espera"; $text['label-max_wait_time']['pl'] = "Maks czas oczekiwania"; $text['label-max_wait_time']['sv-se'] = "Max Vänt Tid"; $text['label-max_wait_time']['de-at'] = "Maximale Wartezeit"; +$text['label-max_wait_time']['ar-eg'] = ""; $text['label-extension']['en-us'] = "Extension"; $text['label-extension']['es-cl'] = "Extensión"; @@ -278,6 +308,7 @@ $text['label-extension']['pt-br'] = "Ramal"; $text['label-extension']['pl'] = "Numer wewnętrzny"; $text['label-extension']['sv-se'] = "Anknytning"; $text['label-extension']['de-at'] = "Nebenstelle"; +$text['label-extension']['ar-eg'] = "رقم داخلي"; $text['label-eavesdrop']['en-us'] = "Eavesdrop"; $text['label-eavesdrop']['es-cl'] = "Escuchar"; @@ -287,6 +318,7 @@ $text['label-eavesdrop']['pt-br'] = "Investigar"; $text['label-eavesdrop']['pl'] = "Podsłuchiwanie"; $text['label-eavesdrop']['sv-se'] = "Medlyssning"; $text['label-eavesdrop']['de-at'] = "Mithören"; +$text['label-eavesdrop']['ar-eg'] = ""; $text['label-discard_abandoned_after']['en-us'] = "Discard Abandoned After"; $text['label-discard_abandoned_after']['es-cl'] = "Descartar Abandono Despues de"; @@ -296,6 +328,7 @@ $text['label-discard_abandoned_after']['pt-br'] = "Rejeição abandonada depois" $text['label-discard_abandoned_after']['pl'] = "Odrzuć opuszczoną rozmowę po"; $text['label-discard_abandoned_after']['sv-se'] = "Uteslut Övergivna Efter "; $text['label-discard_abandoned_after']['de-at'] = "Zurückweisen nach Abwurf"; +$text['label-discard_abandoned_after']['ar-eg'] = ""; $text['label-description']['en-us'] = "Description"; $text['label-description']['es-cl'] = "Descripción"; @@ -305,6 +338,7 @@ $text['label-description']['pt-br'] = "Descrição"; $text['label-description']['pl'] = "Opis"; $text['label-description']['sv-se'] = "Beskrivning"; $text['label-description']['de-at'] = "Beschreibung"; +$text['label-description']['ar-eg'] = "الوصف"; $text['label-call']['en-us'] = "Call"; $text['label-call']['es-cl'] = "Llamar"; @@ -314,6 +348,7 @@ $text['label-call']['pt-br'] = "Chamada"; $text['label-call']['pl'] = "Rozmowa"; $text['label-call']['sv-se'] = "Samtal"; $text['label-call']['de-at'] = "Anruf"; +$text['label-call']['ar-eg'] = ""; $text['label-answered']['en-us'] = "Answered"; $text['label-answered']['es-cl'] = "Respondido"; @@ -323,6 +358,7 @@ $text['label-answered']['pt-br'] = "Atendidas"; $text['label-answered']['pl'] = "Odebrano"; $text['label-answered']['sv-se'] = "Besvarad"; $text['label-answered']['de-at'] = "Angenommen"; +$text['label-answered']['ar-eg'] = ""; $text['label-agent']['en-us'] = "Agent"; $text['label-agent']['es-cl'] = "Agente"; @@ -332,6 +368,7 @@ $text['label-agent']['pt-br'] = "Agente"; $text['label-agent']['pl'] = "Agent"; $text['label-agent']['sv-se'] = "Agent"; $text['label-agent']['de-at'] = "Agent"; +$text['label-agent']['ar-eg'] = ""; $text['label-abandoned_resume_allowed']['en-us'] = "Abandoned Resume Allowed"; $text['label-abandoned_resume_allowed']['es-cl'] = "Permitir Reanudación de Abandono"; @@ -341,6 +378,7 @@ $text['label-abandoned_resume_allowed']['pt-br'] = "Resumo autorizado"; $text['label-abandoned_resume_allowed']['pl'] = "Odbieranie odrzuconych rozmów jest dozwolone"; $text['label-abandoned_resume_allowed']['sv-se'] = "Återuppta Övergivna Tillåtet"; $text['label-abandoned_resume_allowed']['de-at'] = "Wiederaufnahme nach Zurückweisung erlaubt"; +$text['label-abandoned_resume_allowed']['ar-eg'] = ""; $text['header-agents']['en-us'] = "Agents"; $text['header-agents']['es-cl'] = "Agentes"; @@ -350,6 +388,7 @@ $text['header-agents']['pt-br'] = "Agentes"; $text['header-agents']['pl'] = "Agenci"; $text['header-agents']['sv-se'] = "Agenter"; $text['header-agents']['de-at'] = "Agenten"; +$text['header-agents']['ar-eg'] = ""; $text['header-active_call_center']['en-us'] = "Active Call Center"; $text['header-active_call_center']['es-cl'] = "Centro de Llamados Activo"; @@ -359,6 +398,7 @@ $text['header-active_call_center']['pt-br'] = "Atividade do call center"; $text['header-active_call_center']['pl'] = "Aktywność w Call Center "; $text['header-active_call_center']['sv-se'] = "Aktivt Call Center"; $text['header-active_call_center']['de-at'] = "Aktives Callcenter"; +$text['header-active_call_center']['ar-eg'] = ""; $text['description-queue']['en-us'] = "A current list of callers in the queue is below."; $text['description-queue']['es-cl'] = "Un listado de los llamantes en cola se muestra a continuación."; @@ -368,6 +408,7 @@ $text['description-queue']['pt-br'] = "Lista de chamada na fila"; $text['description-queue']['pl'] = "Aktualna lista rozmówców w kolejce jest poniżej ."; $text['description-queue']['sv-se'] = "Aktuell lista på köande samtal enligt nedan "; $text['description-queue']['de-at'] = "Eine aktuelle Liste der Anrufer in der Warteschlange sehen sie unten."; +$text['description-queue']['ar-eg'] = ""; $text['description-agents']['en-us'] = "A current list of agents is below."; $text['description-agents']['es-cl'] = "Un listado de los agentes actuales de muestra a continuación."; @@ -377,6 +418,7 @@ $text['description-agents']['pt-br'] = "Lista de agentes"; $text['description-agents']['pl'] = "Aktualna lista agentów jest poniżej "; $text['description-agents']['sv-se'] = "Aktuell lista på Agenter enligt nedan"; $text['description-agents']['de-at'] = "Eine aktuelle Liste der Agenten sehen sie unten."; +$text['description-agents']['ar-eg'] = ""; $text['description-active_call_center']['en-us'] = "Select a Call Center Queue from the list below to view its activity."; $text['description-active_call_center']['es-cl'] = "Seleccione la Cola del Centro de Llamados desde el siguiente listado para ver su actividad."; @@ -386,6 +428,7 @@ $text['description-active_call_center']['pt-br'] = "Selecione uma fila de call c $text['description-active_call_center']['pl'] = "Aby zobaczyć aktywność kolejki w Call Center wybierz ja z poniższej listy."; $text['description-active_call_center']['sv-se'] = "Välj en Call Center Grupp från listan nedan för att se dess aktivitet"; $text['description-active_call_center']['de-at'] = "Wählen Sie eine Callcenter Warteschlange aus der Liste unten um die Aktivität zu beobachten."; +$text['description-active_call_center']['ar-eg'] = ""; $text['button-view']['en-us'] = "View"; $text['button-view']['es-cl'] = "Ver"; @@ -395,6 +438,7 @@ $text['button-view']['pt-br'] = "Visualizar"; $text['button-view']['pl'] = "Widok"; $text['button-view']['sv-se'] = "Visa"; $text['button-view']['de-at'] = "Ansicht"; +$text['button-view']['ar-eg'] = "عرض"; $text['button-edit']['en-us'] = "Edit"; $text['button-edit']['es-cl'] = "Editar"; @@ -404,5 +448,6 @@ $text['button-edit']['pt-br'] = "Editar"; $text['button-edit']['pl'] = "Edytuj"; $text['button-edit']['sv-se'] = "Editera"; $text['button-edit']['de-at'] = "Bearbeiten"; +$text['button-edit']['ar-eg'] = "تعديل"; ?> \ No newline at end of file diff --git a/app/destinations/app_languages.php b/app/destinations/app_languages.php index 25785b2f60..ae64c9b15d 100644 --- a/app/destinations/app_languages.php +++ b/app/destinations/app_languages.php @@ -11,6 +11,7 @@ $text['title-destinations']['uk'] = "Номери"; $text['title-destinations']['ro'] = "Destinații"; $text['title-destinations']['de-at'] = "Kopfnummern"; $text['title-destinations']['fa'] = ""; +$text['title-destinations']['ar-eg'] = "جهات الأتصال"; $text['title-destination-edit']['en-us'] = "Destination"; $text['title-destination-edit']['es-cl'] = "Editar Destino"; @@ -23,6 +24,7 @@ $text['title-destination-edit']['uk'] = "Номер"; $text['title-destination-edit']['ro'] = "Destinație"; $text['title-destination-edit']['de-at'] = "Kopfnummer"; $text['title-destination-edit']['fa'] = ""; +$text['title-destination-edit']['ar-eg'] = "جهه الأتصال"; $text['title-destination-add']['en-us'] = "Destination"; $text['title-destination-add']['es-cl'] = "Agregar Destino"; @@ -35,6 +37,7 @@ $text['title-destination-add']['uk'] = "Номер"; $text['title-destination-add']['ro'] = "Destinație"; $text['title-destination-add']['de-at'] = "Kopfnummer"; $text['title-destination-add']['fa'] = ""; +$text['title-destination-add']['ar-eg'] = "جهه الأتصال"; $text['select-global']['en-us'] = "Global"; $text['select-global']['es-cl'] = "Global"; @@ -47,6 +50,7 @@ $text['select-global']['uk'] = "Глобальний"; $text['select-global']['ro'] = "Global"; $text['select-global']['de-at'] = "Global"; $text['select-global']['fa'] = "عمومی"; +$text['select-global']['ar-eg'] = ""; $text['option-type_outbound']['en-us'] = "Outbound"; $text['option-type_outbound']['es-cl'] = "Saliente"; @@ -59,6 +63,7 @@ $text['option-type_outbound']['uk'] = "Вихідний"; $text['option-type_outbound']['ro'] = ""; $text['option-type_outbound']['de-at'] = "Ausgehend"; $text['option-type_outbound']['fa'] = "خروجی"; +$text['option-type_outbound']['ar-eg'] = "صادر"; $text['option-type_inbound']['en-us'] = "Inbound"; $text['option-type_inbound']['es-cl'] = "Entrante"; @@ -71,6 +76,7 @@ $text['option-type_inbound']['uk'] = "Вхідний"; $text['option-type_inbound']['ro'] = ""; $text['option-type_inbound']['de-at'] = "Eingehend"; $text['option-type_inbound']['fa'] = "ورودی"; +$text['option-type_inbound']['ar-eg'] = "وارد"; $text['message-update']['en-us'] = "Update Completed"; $text['message-update']['es-cl'] = "Actualización Completa"; @@ -83,6 +89,7 @@ $text['message-update']['uk'] = "Оновлення завершено"; $text['message-update']['ro'] = "Actualizare completă"; $text['message-update']['de-at'] = "Aktualisierung durchgeführt"; $text['message-update']['fa'] = "بروز رسانی انجام شد"; +$text['message-update']['ar-eg'] = "اكتمال التحديث"; $text['message-required']['en-us'] = "Please provide: "; $text['message-required']['es-cl'] = "Por favor ingrese: "; @@ -95,6 +102,7 @@ $text['message-required']['uk'] = "Будь ласка, вкажіть:"; $text['message-required']['ro'] = ""; $text['message-required']['de-at'] = "Bitte geben Sie folgendes an:"; $text['message-required']['fa'] = ""; +$text['message-required']['ar-eg'] = "من فضلك أدخل"; $text['message-maximum_destinations']['en-us'] = "Maximum Destinations:"; $text['message-maximum_destinations']['es-cl'] = "Destinos Máximo Permitido:"; @@ -107,6 +115,7 @@ $text['message-maximum_destinations']['uk'] = "Максимум номерів:" $text['message-maximum_destinations']['ro'] = ""; $text['message-maximum_destinations']['de-at'] = "Maximale Anzahl an Kopfnummern:"; $text['message-maximum_destinations']['fa'] = ""; +$text['message-maximum_destinations']['ar-eg'] = "الحد الأقصي لجهات الأتصال"; $text['message-duplicate']['en-us'] = "Duplicate detected"; $text['message-duplicate']['es-cl'] = "Duplicar detectado"; @@ -119,6 +128,7 @@ $text['message-duplicate']['uk'] = "Знайдено дублікат"; $text['message-duplicate']['ro'] = ""; $text['message-duplicate']['de-at'] = "bereits vorhanden"; $text['message-duplicate']['fa'] = "مورد تکراری"; +$text['message-duplicate']['ar-eg'] = ""; $text['message-delete']['en-us'] = "Delete Completed"; $text['message-delete']['es-cl'] = "Eliminación Completa"; @@ -131,6 +141,7 @@ $text['message-delete']['uk'] = "Видалено"; $text['message-delete']['ro'] = "Ștergere completă"; $text['message-delete']['de-at'] = "Erfolgreich gelöscht"; $text['message-delete']['fa'] = "حذف انجام شد"; +$text['message-delete']['ar-eg'] = "تم المسح"; $text['message-add']['en-us'] = "Add Completed"; $text['message-add']['es-cl'] = "Agregar Completo"; @@ -143,6 +154,7 @@ $text['message-add']['uk'] = "Додано"; $text['message-add']['ro'] = "Adăugare completă"; $text['message-add']['de-at'] = "Erfolgreich hinzugefügt"; $text['message-add']['fa'] = ""; +$text['message-add']['ar-eg'] = "تمت الأضافة"; $text['label-true']['en-us'] = "True"; $text['label-true']['es-cl'] = "Verdadero"; @@ -155,6 +167,7 @@ $text['label-true']['uk'] = "Так"; $text['label-true']['ro'] = ""; $text['label-true']['de-at'] = "Ein"; $text['label-true']['fa'] = ""; +$text['label-true']['ar-eg'] = "صحيح"; $text['label-monthly_price_buy']['en-us'] = "Monthly buy price"; $text['label-monthly_price_buy']['es-cl'] = "Precio mensual de compra"; @@ -167,6 +180,7 @@ $text['label-monthly_price_buy']['uk'] = "Щомісячна ціна купів $text['label-monthly_price_buy']['ro'] = ""; $text['label-monthly_price_buy']['de-at'] = "Monatlicher Einkaufspreis"; $text['label-monthly_price_buy']['fa'] = ""; +$text['label-monthly_price_buy']['ar-eg'] = ""; $text['label-monthly_price']['en-us'] = "Monthly selling price"; $text['label-monthly_price']['es-cl'] = "Precio mensual de venta"; @@ -179,6 +193,7 @@ $text['label-monthly_price']['uk'] = "Щомісячна ціна продажу $text['label-monthly_price']['ro'] = ""; $text['label-monthly_price']['de-at'] = "Monatlicher Verkaufspreis"; $text['label-monthly_price']['fa'] = ""; +$text['label-monthly_price']['ar-eg'] = ""; $text['label-fax_uuid']['en-us'] = "Fax Detection"; $text['label-fax_uuid']['es-cl'] = "Detección de Fax"; @@ -191,6 +206,7 @@ $text['label-fax_uuid']['uk'] = "Виявлення факсу"; $text['label-fax_uuid']['ro'] = ""; $text['label-fax_uuid']['de-at'] = "Fax Erkennung"; $text['label-fax_uuid']['fa'] = "آشکارسازی فاکس"; +$text['label-fax_uuid']['ar-eg'] = ""; $text['label-false']['en-us'] = "False"; $text['label-false']['es-cl'] = "Falso"; @@ -203,6 +219,7 @@ $text['label-false']['uk'] = "Ні"; $text['label-false']['ro'] = ""; $text['label-false']['de-at'] = "Aus"; $text['label-false']['fa'] = ""; +$text['label-false']['ar-eg'] = "خطأ"; $text['label-domain-name']['en-us'] = "Domain Name"; $text['label-domain-name']['es-cl'] = "Nombre de Dominio"; @@ -215,6 +232,7 @@ $text['label-domain-name']['uk'] = "Назва домену"; $text['label-domain-name']['ro'] = ""; $text['label-domain-name']['de-at'] = "Domain Name"; $text['label-domain-name']['fa'] = "اسم دامین"; +$text['label-domain-name']['ar-eg'] = "اسم النطاق"; $text['label-domain']['en-us'] = "Domain"; $text['label-domain']['es-cl'] = "Dominio"; @@ -227,6 +245,7 @@ $text['label-domain']['uk'] = "Домен"; $text['label-domain']['ro'] = "Domeniu"; $text['label-domain']['de-at'] = "Domain"; $text['label-domain']['fa'] = ""; +$text['label-domain']['ar-eg'] = "النطاق"; $text['label-detail_action']['en-us'] = "Actions"; $text['label-detail_action']['es-cl'] = "Accións"; @@ -239,6 +258,7 @@ $text['label-detail_action']['uk'] = "Дії"; $text['label-detail_action']['ro'] = ""; $text['label-detail_action']['de-at'] = "Aktionen"; $text['label-detail_action']['fa'] = ""; +$text['label-detail_action']['ar-eg'] = "الأفعال"; $text['label-destination_type']['en-us'] = "Type"; $text['label-destination_type']['es-cl'] = "Tipo"; @@ -251,6 +271,7 @@ $text['label-destination_type']['uk'] = "Тип"; $text['label-destination_type']['ro'] = ""; $text['label-destination_type']['de-at'] = "Typ"; $text['label-destination_type']['fa'] = ""; +$text['label-destination_type']['ar-eg'] = "النوع"; $text['label-destination_number']['en-us'] = "Destination"; $text['label-destination_number']['es-cl'] = "Destino"; @@ -263,6 +284,7 @@ $text['label-destination_number']['uk'] = "Номер"; $text['label-destination_number']['ro'] = ""; $text['label-destination_number']['de-at'] = "Ziel"; $text['label-destination_number']['fa'] = ""; +$text['label-destination_number']['ar-eg'] = "جهه الأتصال"; $text['label-destination_enabled']['en-us'] = "Enabled"; $text['label-destination_enabled']['es-cl'] = "Activado"; @@ -275,6 +297,7 @@ $text['label-destination_enabled']['uk'] = "Включено"; $text['label-destination_enabled']['ro'] = ""; $text['label-destination_enabled']['de-at'] = "Ein"; $text['label-destination_enabled']['fa'] = ""; +$text['label-destination_enabled']['ar-eg'] = "مفعل"; $text['label-destination_description']['en-us'] = "Description"; $text['label-destination_description']['es-cl'] = "Descripción"; @@ -287,6 +310,7 @@ $text['label-destination_description']['uk'] = "Опис"; $text['label-destination_description']['ro'] = ""; $text['label-destination_description']['de-at'] = "Beschreibung"; $text['label-destination_description']['fa'] = ""; +$text['label-destination_description']['ar-eg'] = "الوصف"; $text['label-destination_context']['en-us'] = "Context"; $text['label-destination_context']['es-cl'] = "Contexto"; @@ -299,6 +323,7 @@ $text['label-destination_context']['uk'] = "Контекст"; $text['label-destination_context']['ro'] = ""; $text['label-destination_context']['de-at'] = "Kontext"; $text['label-destination_context']['fa'] = ""; +$text['label-destination_context']['ar-eg'] = ""; $text['label-destination_cid_name_prefix']['en-us'] = "Caller ID Name Prefix"; $text['label-destination_cid_name_prefix']['es-cl'] = "Prefijo de Nombre de Caller ID"; @@ -311,6 +336,7 @@ $text['label-destination_cid_name_prefix']['uk'] = "Caller ID Префікс і $text['label-destination_cid_name_prefix']['ro'] = ""; $text['label-destination_cid_name_prefix']['de-at'] = "Anruferkennung (Name) Präfix"; $text['label-destination_cid_name_prefix']['fa'] = ""; +$text['label-destination_cid_name_prefix']['ar-eg'] = ""; $text['label-destination_caller_id_number']['en-us'] = "Caller ID Number"; $text['label-destination_caller_id_number']['es-cl'] = "Número de Caller ID"; @@ -323,6 +349,7 @@ $text['label-destination_caller_id_number']['uk'] = "Caller ID Номер"; $text['label-destination_caller_id_number']['ro'] = ""; $text['label-destination_caller_id_number']['de-at'] = "Anruferkennung (Nummer)"; $text['label-destination_caller_id_number']['fa'] = ""; +$text['label-destination_caller_id_number']['ar-eg'] = "رقم المتصل"; $text['label-destination_caller_id_name']['en-us'] = "Caller ID Name"; $text['label-destination_caller_id_name']['es-cl'] = "Nombre de Caller ID"; @@ -335,6 +362,7 @@ $text['label-destination_caller_id_name']['uk'] = "Caller ID Ім’я"; $text['label-destination_caller_id_name']['ro'] = ""; $text['label-destination_caller_id_name']['de-at'] = "Anruferkennung (Name)"; $text['label-destination_caller_id_name']['fa'] = ""; +$text['label-destination_caller_id_name']['ar-eg'] = "اسم المتصل"; $text['label-carrier']['en-us'] = "Carrier name"; $text['label-carrier']['es-cl'] = "Nombre del carrier"; @@ -347,6 +375,7 @@ $text['label-carrier']['uk'] = "Назва оператора"; $text['label-carrier']['ro'] = ""; $text['label-carrier']['de-at'] = "Provider Name"; $text['label-carrier']['fa'] = ""; +$text['label-carrier']['ar-eg'] = ""; $text['label-account_code']['en-us'] = "Account Code"; $text['label-account_code']['es-cl'] = "Código de Cuenta"; @@ -359,6 +388,7 @@ $text['label-account_code']['uk'] = "Код облікового запису"; $text['label-account_code']['ro'] = ""; $text['label-account_code']['de-at'] = "Account Code"; $text['label-account_code']['fa'] = ""; +$text['label-account_code']['ar-eg'] = ""; $text['header-destinations']['en-us'] = "Destinations"; $text['header-destinations']['es-cl'] = "Destinos"; @@ -371,6 +401,7 @@ $text['header-destinations']['uk'] = "Номери"; $text['header-destinations']['ro'] = ""; $text['header-destinations']['de-at'] = "Ziele"; $text['header-destinations']['fa'] = ""; +$text['header-destinations']['ar-eg'] = "جهات الأتصال"; $text['header-destination-edit']['en-us'] = "Destination"; $text['header-destination-edit']['es-cl'] = "Editar Destino"; @@ -383,6 +414,7 @@ $text['header-destination-edit']['uk'] = "Номер"; $text['header-destination-edit']['ro'] = ""; $text['header-destination-edit']['de-at'] = "Ziel"; $text['header-destination-edit']['fa'] = ""; +$text['header-destination-edit']['ar-eg'] = "جهه الأتصال"; $text['header-destination-add']['en-us'] = "Destination"; $text['header-destination-add']['es-cl'] = "Agregar Destino"; @@ -395,6 +427,7 @@ $text['header-destination-add']['uk'] = "Номер"; $text['header-destination-add']['ro'] = ""; $text['header-destination-add']['de-at'] = "Ziel"; $text['header-destination-add']['fa'] = ""; +$text['header-destination-add']['ar-eg'] = "جهه الأتصال"; $text['description-monthly_price_buy']['en-us'] = "Enter monthly price you pay for this destination (only when inbound)"; $text['description-monthly_price_buy']['es-cl'] = "Ingrese el precio mensual que usted paga por este destino (sólo entrante)"; @@ -407,6 +440,7 @@ $text['description-monthly_price_buy']['uk'] = "Введіть щомісячн $text['description-monthly_price_buy']['ro'] = ""; $text['description-monthly_price_buy']['de-at'] = "Geben Sie den monatlichen Einkaufspreis für dieses Ziel an (nur wenn eingehend)"; $text['description-monthly_price_buy']['fa'] = ""; +$text['description-monthly_price_buy']['ar-eg'] = ""; $text['description-monthly_price']['en-us'] = "Enter monthly price to bill for this destination (only when inbound)"; $text['description-monthly_price']['es-cl'] = "Ingrese el precio mensual a cobrar por este destino (sólo entrante)"; @@ -419,6 +453,7 @@ $text['description-monthly_price']['uk'] = "Введіть щомісячний $text['description-monthly_price']['ro'] = ""; $text['description-monthly_price']['de-at'] = "Geben Sie den monatlichen Verkaufspreis für dieses Ziel an (nur wenn eingehend)"; $text['description-monthly_price']['fa'] = ""; +$text['description-monthly_price']['ar-eg'] = ""; $text['description-fax_uuid']['en-us'] = "Select the fax destination to enable fax detection. "; $text['description-fax_uuid']['es-cl'] = "Seleccione el destino de fax para activar su detección"; @@ -431,6 +466,7 @@ $text['description-fax_uuid']['uk'] = "Виберіть номер для фа $text['description-fax_uuid']['ro'] = ""; $text['description-fax_uuid']['de-at'] = "Wählen Sie einen Fax Server um Faxerkennung für eingehende Anrufe zu aktivieren."; $text['description-fax_uuid']['fa'] = ""; +$text['description-fax_uuid']['ar-eg'] = ""; $text['description-domain']['en-us'] = ""; $text['description-domain']['es-cl'] = ""; @@ -443,6 +479,7 @@ $text['description-domain']['uk'] = ""; $text['description-domain']['ro'] = ""; $text['description-domain']['de-at'] = ""; $text['description-domain']['fa'] = ""; +$text['description-domain']['ar-eg'] = ""; $text['description-destinations']['en-us'] = "Inbound destinations are the DID/DDI, DNIS or Alias for inbound calls."; $text['description-destinations']['es-cl'] = "Destinos entrantes son los DID/DDI, DNIS o un alias para llamadas entrantes"; @@ -455,6 +492,7 @@ $text['description-destinations']['uk'] = "Вхідні номери можут $text['description-destinations']['ro'] = ""; $text['description-destinations']['de-at'] = "Kopfnummern sind DID/DDI, DNIS oder alternative Nummern für eingehende Anrufe"; $text['description-destinations']['fa'] = ""; +$text['description-destinations']['ar-eg'] = ""; $text['description-destination_type']['en-us'] = "Select the type."; $text['description-destination_type']['es-cl'] = "Seleccione el tipo."; @@ -467,6 +505,7 @@ $text['description-destination_type']['uk'] = "Виберіть тип"; $text['description-destination_type']['ro'] = ""; $text['description-destination_type']['de-at'] = "Wählen Sie den Typ."; $text['description-destination_type']['fa'] = ""; +$text['description-destination_type']['ar-eg'] = "اختر النوع"; $text['description-destination_number']['en-us'] = "Enter the destination."; $text['description-destination_number']['es-cl'] = "Ingrese el destino."; @@ -479,6 +518,7 @@ $text['description-destination_number']['uk'] = "Введіть номер"; $text['description-destination_number']['ro'] = ""; $text['description-destination_number']['de-at'] = "Geben Sie das Ziel an."; $text['description-destination_number']['fa'] = ""; +$text['description-destination_number']['ar-eg'] = "أدخل جهه الأتصال"; $text['description-destination_enabled']['en-us'] = "Set the current status of this destination."; $text['description-destination_enabled']['es-cl'] = "Configure el estado actual de este destino"; @@ -491,6 +531,7 @@ $text['description-destination_enabled']['uk'] = "Виберіть поточн $text['description-destination_enabled']['ro'] = ""; $text['description-destination_enabled']['de-at'] = "Setzen Sie den derzeitigen Status des Ziels."; $text['description-destination_enabled']['fa'] = ""; +$text['description-destination_enabled']['ar-eg'] = ""; $text['description-destination_description']['en-us'] = "Enter a description for this destination (optional)."; $text['description-destination_description']['es-cl'] = "Ingrese una descripción para este destino (opcional)"; @@ -503,6 +544,7 @@ $text['description-destination_description']['uk'] = "Введіть опис д $text['description-destination_description']['ro'] = ""; $text['description-destination_description']['de-at'] = "Geben Sie eine Beschreibung für dieses Ziel an (optional)."; $text['description-destination_description']['fa'] = ""; +$text['description-destination_description']['ar-eg'] = ""; $text['description-destination_context']['en-us'] = "Enter the context."; $text['description-destination_context']['es-cl'] = "Ingrese el contexto"; @@ -515,6 +557,7 @@ $text['description-destination_context']['uk'] = "Контекст"; $text['description-destination_context']['ro'] = ""; $text['description-destination_context']['de-at'] = "Geben Sie den Kontext an."; $text['description-destination_context']['fa'] = ""; +$text['description-destination_context']['ar-eg'] = ""; $text['description-destination_cid_name_prefix']['en-us'] = "Set a prefix on the caller ID name."; $text['description-destination_cid_name_prefix']['es-cl'] = "Configurar el prefijo del nombre de Caller ID."; @@ -527,6 +570,7 @@ $text['description-destination_cid_name_prefix']['uk'] = "Введіть пре $text['description-destination_cid_name_prefix']['ro'] = ""; $text['description-destination_cid_name_prefix']['de-at'] = "Geben Sie ein Präfix für die Anruferkennung (Name) an."; $text['description-destination_cid_name_prefix']['fa'] = ""; +$text['description-destination_cid_name_prefix']['ar-eg'] = ""; $text['description-destination_caller_id_number']['en-us'] = "Enter the caller ID number."; $text['description-destination_caller_id_number']['es-cl'] = "Ingrese el número de Caller ID"; @@ -539,6 +583,7 @@ $text['description-destination_caller_id_number']['uk'] = "Введіть ном $text['description-destination_caller_id_number']['ro'] = ""; $text['description-destination_caller_id_number']['de-at'] = "Geben Sie die Anruferkennung (Nummer) an."; $text['description-destination_caller_id_number']['fa'] = ""; +$text['description-destination_caller_id_number']['ar-eg'] = "أدخل رقم المتصل"; $text['description-destination_caller_id_name']['en-us'] = "Enter the caller ID name."; $text['description-destination_caller_id_name']['es-cl'] = "Ingrese el nombre de caller ID"; @@ -551,6 +596,7 @@ $text['description-destination_caller_id_name']['uk'] = "Введіть ім’ $text['description-destination_caller_id_name']['ro'] = ""; $text['description-destination_caller_id_name']['de-at'] = "Geben Sie die Anruferkennung (Name) an."; $text['description-destination_caller_id_name']['fa'] = ""; +$text['description-destination_caller_id_name']['ar-eg'] = "أدخل اسم المتصل"; $text['description-carrier']['en-us'] = "Enter the carrier name. This is use to keep track incase billing"; $text['description-carrier']['es-cl'] = "Introduzca el nombre del carrier. Esto se utiliza para realizar un seguimiento en caso de facturación"; @@ -563,6 +609,7 @@ $text['description-carrier']['uk'] = "Введіть назву оператор $text['description-carrier']['ro'] = ""; $text['description-carrier']['de-at'] = "Geben Sie den Providernamen an. Dies wird für das Abrechnungsmodul verwendet."; $text['description-carrier']['fa'] = ""; +$text['description-carrier']['ar-eg'] = ""; $text['description-account_code']['en-us'] = "Enter account code."; $text['description-account_code']['es-cl'] = "Ingrese el código de cuenta."; @@ -575,6 +622,7 @@ $text['description-account_code']['uk'] = "Введіть код обліков $text['description-account_code']['ro'] = ""; $text['description-account_code']['de-at'] = "Geben Sie einen Account Code an."; $text['description-account_code']['fa'] = ""; +$text['description-account_code']['ar-eg'] = ""; $text['confirm-delete']['en-us'] = "Do you really want to delete this?"; $text['confirm-delete']['es-cl'] = "¿Realmente desea eliminar esto?"; @@ -587,6 +635,7 @@ $text['confirm-delete']['uk'] = "Ви дійсно бажаєте це вида $text['confirm-delete']['ro'] = ""; $text['confirm-delete']['de-at'] = "Wollen Sie das wirklich löschen?"; $text['confirm-delete']['fa'] = ""; +$text['confirm-delete']['ar-eg'] = ""; $text['button-show_all']['en-us'] = "Show All"; $text['button-show_all']['es-cl'] = "Mostrar Todos"; @@ -599,6 +648,7 @@ $text['button-show_all']['uk'] = "Показати всі"; $text['button-show_all']['ro'] = ""; $text['button-show_all']['de-at'] = "Alle anzeigen"; $text['button-show_all']['fa'] = ""; +$text['button-show_all']['ar-eg'] = "أظهر الكل"; $text['button-search']['en-us'] = "Search"; $text['button-search']['es-cl'] = "Buscar"; @@ -611,6 +661,7 @@ $text['button-search']['uk'] = "Пошук"; $text['button-search']['ro'] = ""; $text['button-search']['de-at'] = "Suchen"; $text['button-search']['fa'] = ""; +$text['button-search']['ar-eg'] = "بحث"; $text['button-save']['en-us'] = "Save"; $text['button-save']['es-cl'] = "Guardar"; @@ -623,6 +674,7 @@ $text['button-save']['uk'] = "Зберегти"; $text['button-save']['ro'] = "Salvează"; $text['button-save']['de-at'] = "Speichern"; $text['button-save']['fa'] = ""; +$text['button-save']['ar-eg'] = "حفظ"; $text['button-edit']['en-us'] = "Edit"; $text['button-edit']['es-cl'] = "Editar"; @@ -635,6 +687,7 @@ $text['button-edit']['uk'] = "Редагувати"; $text['button-edit']['ro'] = ""; $text['button-edit']['de-at'] = "Bearbeiten"; $text['button-edit']['fa'] = ""; +$text['button-edit']['ar-eg'] = "تعديل"; $text['button-delete']['en-us'] = "Delete"; $text['button-delete']['es-cl'] = "Eliminar"; @@ -647,6 +700,7 @@ $text['button-delete']['uk'] = "Видалити"; $text['button-delete']['ro'] = ""; $text['button-delete']['de-at'] = "Löschen"; $text['button-delete']['fa'] = ""; +$text['button-delete']['ar-eg'] = "مسح"; $text['button-back']['en-us'] = "Back"; $text['button-back']['es-cl'] = "Volver"; @@ -659,6 +713,7 @@ $text['button-back']['uk'] = "Назад"; $text['button-back']['ro'] = "Înapoi"; $text['button-back']['de-at'] = "Zurück"; $text['button-back']['fa'] = ""; +$text['button-back']['ar-eg'] = "رجوع"; $text['button-add']['en-us'] = "Add"; $text['button-add']['es-cl'] = "Agregar"; @@ -671,6 +726,7 @@ $text['button-add']['uk'] = "Додати"; $text['button-add']['ro'] = ""; $text['button-add']['de-at'] = "Hinzufügen"; $text['button-add']['fa'] = ""; +$text['button-add']['ar-eg'] = "اضافة"; $text['billing-warning']['en-us'] = "If you are using fusionpbx billing application, make sure to add accountcode and carrier variables."; $text['billing-warning']['es-cl'] = "Si está utilizando la aplicación de facturación fusionpbx, asegúrese de agregar lasvariables accountcode y carrier"; @@ -683,5 +739,6 @@ $text['billing-warning']['uk'] = "Якщо ви користуєтеся дод $text['billing-warning']['ro'] = ""; $text['billing-warning']['de-at'] = "Wenn Sie die Fusionpbx Abrechnung verwenden, stellen Sie sicher, dass Account Code und Betreiber Variablen gesetzt sind."; $text['billing-warning']['fa'] = ""; +$text['billing-warning']['ar-eg'] = ""; ?> \ No newline at end of file diff --git a/app/destinations/app_menu.php b/app/destinations/app_menu.php index 78d70b9a54..fa242f058b 100644 --- a/app/destinations/app_menu.php +++ b/app/destinations/app_menu.php @@ -12,6 +12,7 @@ $apps[$x]['menu'][0]['title']['sv-se'] = "Destinationer"; $apps[$x]['menu'][0]['title']['uk'] = "Номери"; $apps[$x]['menu'][0]['title']['ro'] = "Destinații"; $apps[$x]['menu'][0]['title']['de-at'] = "Kopfnummern"; +$apps[$x]['menu'][0]['title']['ar-eg'] = "جهات الأتصال"; $apps[$x]['menu'][0]['uuid'] = "fd2a708a-ff03-c707-c19d-5a4194375eba"; $apps[$x]['menu'][0]['parent_uuid'] = "b94e8bd9-9eb5-e427-9c26-ff7a6c21552a"; $apps[$x]['menu'][0]['category'] = "internal"; diff --git a/app/devices/app_config.php b/app/devices/app_config.php index 363f82d74a..d8f6591886 100644 --- a/app/devices/app_config.php +++ b/app/devices/app_config.php @@ -399,6 +399,10 @@ $apps[$x]['db'][$y]['fields'][$z]['type'] = 'text'; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'Select the type.'; $z++; + $apps[$x]['db'][$y]['fields'][$z]['name'] = 'device_key_vendor'; + $apps[$x]['db'][$y]['fields'][$z]['type'] = 'text'; + $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'Enter the vendor.'; + $z++; $apps[$x]['db'][$y]['fields'][$z]['name'] = 'device_key_type'; $apps[$x]['db'][$y]['fields'][$z]['type'] = 'text'; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'Select the type.'; diff --git a/app/devices/app_defaults.php b/app/devices/app_defaults.php index bae76fc722..3f3ff972c6 100644 --- a/app/devices/app_defaults.php +++ b/app/devices/app_defaults.php @@ -24,14 +24,31 @@ Mark J Crane */ -//set all lines to enabled (true) where null or empty string + if ($domains_processed == 1) { - $sql = "update v_device_lines set "; - $sql .= "enabled = 'true' "; - $sql .= "where enabled is null "; - $sql .= "or enabled = '' "; - $db->exec(check_sql($sql)); - unset($sql); + //set all lines to enabled (true) where null or empty string + $sql = "update v_device_lines set "; + $sql .= "enabled = 'true' "; + $sql .= "where enabled is null "; + $sql .= "or enabled = '' "; + $db->exec(check_sql($sql)); + unset($sql); + + //set the device key vendor + $sql = "select * from v_device_keys as k, v_devices as d "; + $sql .= "where d.device_uuid = k.device_uuid "; + $sql .= "and k.device_uuid is not null "; + $sql .= "and k.device_key_vendor is null "; + $s = $db->prepare($sql); + $s->execute(); + $device_keys = $s->fetchAll(PDO::FETCH_ASSOC); + foreach ($device_keys as &$row) { + $sql = "update v_device_keys "; + $sql .= "set device_key_vendor = '".$row["device_vendor"]."' "; + $sql .= "where device_key_uuid = '".$row["device_key_uuid"]."';\n "; + $db->exec(check_sql($sql)); + } + unset($device_keys, $sql); } ?> \ No newline at end of file diff --git a/app/devices/device_edit.php b/app/devices/device_edit.php index 0a5fa61bb8..7b363d6013 100644 --- a/app/devices/device_edit.php +++ b/app/devices/device_edit.php @@ -381,6 +381,7 @@ require_once "resources/require.php"; $sql = "SELECT * FROM v_device_keys "; $sql .= "WHERE device_uuid = '".$device_uuid."' "; $sql .= "ORDER by "; + $sql .= "device_key_vendor asc, "; $sql .= "CASE device_key_category "; $sql .= "WHEN 'line' THEN 1 "; $sql .= "WHEN 'memory' THEN 2 "; @@ -733,24 +734,50 @@ require_once "resources/require.php"; echo " "; } - //custom keys + $vendor_count = 0; + foreach($device_keys as $row) { + if ($previous_vendor != $row['device_key_vendor']) { + $previous_vendor = $row['device_key_vendor']; + $vendor_count++; + } + } + echo " "; echo " ".$text['label-keys'].""; echo " "; echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; + if ($vendor_count == 0) { + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + } $x = 0; foreach($device_keys as $row) { + //set the column names + if ($previous_device_key_vendor != $row['device_key_vendor']) { + echo " \n"; + echo " \n"; + echo " \n"; + if ($vendor_count > 1 && strlen($row['device_key_vendor']) > 0) { + echo " \n"; + } else { + echo " \n"; + } + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + } //determine whether to hide the element if (strlen($device_key_uuid) == 0) { $element['hidden'] = false; @@ -835,17 +862,23 @@ require_once "resources/require.php"; echo " \n"; echo "\n"; - echo "\n"; echo " \n"; + //set the previous vendor + $previous_device_key_vendor = $row['device_key_vendor']; //increment the array key $x++; } diff --git a/app/devices/device_profile_edit.php b/app/devices/device_profile_edit.php index dc4582ca43..98f400c46a 100644 --- a/app/devices/device_profile_edit.php +++ b/app/devices/device_profile_edit.php @@ -371,12 +371,18 @@ require_once "resources/require.php"; echo " \n"; echo "\n"; - echo "
".$text['label-device_key_category']."".$text['label-device_key_id']."".$text['label-device_key_type']."".$text['label-device_key_line']."".$text['label-device_key_value']."".$text['label-device_key_extension']."".$text['label-device_key_label']." 
".$text['label-device_key_category']."".$text['label-device_key_id']."".$text['label-device_key_type']."".$text['label-device_key_line']."".$text['label-device_key_value']."".$text['label-device_key_extension']."".$text['label-device_key_label']." 
".$text['label-device_key_category']."".$text['label-device_key_id']."".ucwords($row['device_key_vendor'])."".$text['label-device_key_type']."".$text['label-device_key_line']."".$text['label-device_key_value']."".$text['label-device_key_extension']."".$text['label-device_key_label']." 
\n"; + echo "\n"; //echo " \n"; + if (strlen($row['device_key_vendor']) > 0) { + $device_key_vendor = $row['device_key_vendor']; + } + else { + $device_key_vendor = $device_vendor; + } ?> - + - "; } + if (strtolower($device_vendor) == "aastra" || strlen($device_vendor) == 0 || strlen($device_username) > 0) { + echo ""; ?> @@ -854,16 +887,16 @@ require_once "resources/require.php"; "; } } - if (strtolower($device_vendor) == "cisco" || strlen($device_vendor) == 0) { - if (strlen($device_vendor) == 0) { echo ""; } + if (strtolower($device_vendor) == "cisco" || strlen($device_vendor) == 0 || strlen($device_username) > 0) { + echo ""; ?> "; } } - if (strtolower($device_vendor) == "grandstream" || strlen($device_vendor) == 0) { - if (strlen($device_vendor) == 0) { echo ""; } + if (strtolower($device_vendor) == "grandstream" || strlen($device_vendor) == 0 || strlen($device_username) > 0) { + echo ""; ?> @@ -882,8 +915,8 @@ require_once "resources/require.php"; "; } } - if (strtolower($device_vendor) == "polycom" || strlen($device_vendor) == 0) { - if (strlen($device_vendor) == 0) { echo ""; } + if (strtolower($device_vendor) == "polycom" || strlen($device_vendor) == 0 || strlen($device_username) > 0) { + echo ""; ?> @@ -891,8 +924,8 @@ require_once "resources/require.php"; "; } } - if (strtolower($device_vendor) == "snom" || strlen($device_vendor) == 0) { - if (strlen($device_vendor) == 0) { echo ""; } + if (strtolower($device_vendor) == "snom" || strlen($device_vendor) == 0 || strlen($device_username) > 0) { + echo ""; ?> @@ -919,8 +952,8 @@ require_once "resources/require.php"; "; } } - if (strtolower($device_vendor) == "yealink" || strlen($device_vendor) == 0) { - if (strlen($device_vendor) == 0) { echo ""; } + if (strtolower($device_vendor) == "yealink" || strlen($device_vendor) == 0 || strlen($device_username) > 0) { + echo ""; ?> @@ -1008,6 +1041,8 @@ require_once "resources/require.php"; } echo "
\n"; + echo "\n"; + if (strlen($row['device_key_vendor']) > 0) { + $device_key_vendor = $row['device_key_vendor']; + } + else { + $device_key_vendor = $device_vendor; + } ?> - + - - + - + diff --git a/app/dialplan/resources/switch/conf/dialplan/480_operator.xml b/app/dialplan/resources/switch/conf/dialplan/480_operator.xml index ba3796c6e4..2d2c3177b2 100644 --- a/app/dialplan/resources/switch/conf/dialplan/480_operator.xml +++ b/app/dialplan/resources/switch/conf/dialplan/480_operator.xml @@ -2,8 +2,8 @@ - - + + diff --git a/app/edit/filelist.php b/app/edit/filelist.php index 4b9dde2da0..619a17ed5b 100644 --- a/app/edit/filelist.php +++ b/app/edit/filelist.php @@ -55,12 +55,13 @@ else { $htmlfilelist = ''; $dirlist = opendir($dir); $dir_array = array(); - while (false !== ($file = readdir($dirlist))) { + while (false !== ($file = readdir($dirlist))) { if ($file != "." AND $file != ".."){ $newpath = $dir.'/'.$file; $level = explode('/',$newpath); - if (substr($newpath, -4) == ".svn") { - //ignore .svn dir and subdir + if (substr($newpath, -4) == ".svn" || + substr($newpath, -4) == ".git") { + //ignore .svn and .git dir and subdir } elseif (substr($newpath, -3) == ".db") { //ignore .db files @@ -243,7 +244,7 @@ if ($_SESSION["app"]["edit"]["dir"] == "grammar") { echo recur_dir($_SESSION['switch']['grammar']['dir']); } if ($_SESSION["app"]["edit"]["dir"] == "provision") { - + switch (PHP_OS) { case "Linux": if (file_exists('/etc/fusionpbx/resources/templates/provision')) { diff --git a/app/extensions/app_languages.php b/app/extensions/app_languages.php index 7db28d3d12..d4738d9198 100644 --- a/app/extensions/app_languages.php +++ b/app/extensions/app_languages.php @@ -10,6 +10,7 @@ $text['title-extensions']['uk'] = "Розширення"; $text['title-extensions']['sv-se'] = "Anknytningar"; $text['title-extensions']['ro'] = "Extensii"; $text['title-extensions']['de-at'] = "Nebenstellen"; +$text['title-extensions']['ar-eg'] = "الأرقام الداخلية"; $text['title-extension-edit']['en-us'] = "Extension"; $text['title-extension-edit']['es-cl'] = "Extensión"; @@ -21,6 +22,7 @@ $text['title-extension-edit']['uk'] = "Розширення"; $text['title-extension-edit']['sv-se'] = "Anknytning"; $text['title-extension-edit']['ro'] = "Extensie"; $text['title-extension-edit']['de-at'] = "Nebenstelle"; +$text['title-extension-edit']['ar-eg'] = "رقم داخلي"; $text['title-extension-add']['en-us'] = "Extension Add"; $text['title-extension-add']['es-cl'] = "Agregar Extensión"; @@ -32,6 +34,7 @@ $text['title-extension-add']['uk'] = "Додавання розширення"; $text['title-extension-add']['sv-se'] = "Lägg Till Anknytning"; $text['title-extension-add']['ro'] = "Adăugare extensie"; $text['title-extension-add']['de-at'] = "Nebenstelle hinzufügen"; +$text['title-extension-add']['ar-eg'] = "إضافة رقم داخلي"; $text['option-voicemail_file_listen']['en-us'] = "Listen Link (Login Required)"; $text['option-voicemail_file_listen']['es-cl'] = "Escuchar Link (Se requiere entrar)"; @@ -43,6 +46,7 @@ $text['option-voicemail_file_listen']['uk'] = "Посилання на прос $text['option-voicemail_file_listen']['sv-se'] = "Lyssna-länk (Måste Logga In)"; $text['option-voicemail_file_listen']['ro'] = "Legătură pentru ascultare (autentificare necesară)"; $text['option-voicemail_file_listen']['de-at'] = "Link zur Nachricht (Login erforderlich)"; +$text['option-voicemail_file_listen']['ar-eg'] = ""; $text['option-voicemail_file_link']['en-us'] = "Download Link (No Login Required)"; $text['option-voicemail_file_link']['es-cl'] = "Enlace de descarga (No se requiere conexión)"; @@ -54,6 +58,7 @@ $text['option-voicemail_file_link']['uk'] = "Посилання на заван $text['option-voicemail_file_link']['sv-se'] = "Nedladdnings-länk (Ingen Inloggning Krävs)"; $text['option-voicemail_file_link']['ro'] = "Legătură pentru descărcare (nu este necesară autentificarea)"; $text['option-voicemail_file_link']['de-at'] = "Link zur Nachricht (kein Login erforderlich)"; +$text['option-voicemail_file_link']['ar-eg'] = ""; $text['option-voicemail_file_attach']['en-us'] = "Audio File Attachment"; $text['option-voicemail_file_attach']['es-cl'] = "Archivo Adjunto Audio"; @@ -65,6 +70,7 @@ $text['option-voicemail_file_attach']['uk'] = "Приєднати аудіофа $text['option-voicemail_file_attach']['sv-se'] = "Ljudfil Bifogad"; $text['option-voicemail_file_attach']['de-at'] = "Audiodatei als Anhang"; $text['option-voicemail_file_attach']['ro'] = "Atașament fișier audio"; +$text['option-voicemail_file_attach']['ar-eg'] = "إرفاق ملف صوتي"; $text['message-update']['en-us'] = "Update Completed"; $text['message-update']['es-cl'] = "Actualización Completada"; @@ -76,6 +82,7 @@ $text['message-update']['uk'] = "Оновлення завершено"; $text['message-update']['sv-se'] = "Uppdatering Klar"; $text['message-update']['de-at'] = "Aktualisierung durchgeführt"; $text['message-update']['ro'] = "Actualizare completă"; +$text['message-update']['ar-eg'] = "إكتمال التحديث"; $text['message-required']['en-us'] = "Please provide: "; $text['message-required']['es-cl'] = "Por favor ingrese: "; @@ -87,6 +94,7 @@ $text['message-required']['uk'] = "Будь ласка, вкажіть:"; $text['message-required']['sv-se'] = "Var god uppge:"; $text['message-required']['de-at'] = "Bitte geben Sie folgendes an:"; $text['message-required']['ro'] = "Vă rog introduceți:"; +$text['message-required']['ar-eg'] = "من فضلك أدخل"; $text['message-number_alias']['en-us'] = "Enter the new Number Alias..."; $text['message-number_alias']['es-cl'] = "Ingrese la nueva Alias de Número..."; @@ -98,6 +106,7 @@ $text['message-number_alias']['uk'] = "Введіть новий псевдон $text['message-number_alias']['sv-se'] = "Fyll i det nya Nummer Alias..."; $text['message-number_alias']['de-at'] = "Geben Sie die neue alternative Nummer an..."; $text['message-number_alias']['ro'] = "Introduceți noul alias pentru număr..."; +$text['message-number_alias']['ar-eg'] = ""; $text['message-message']['en-us'] = "Message"; $text['message-message']['es-cl'] = "Mensaje"; @@ -109,6 +118,7 @@ $text['message-message']['uk'] = "Повідомлення"; $text['message-message']['sv-se'] = "Meddelande"; $text['message-message']['de-at'] = "Nachricht"; $text['message-message']['ro'] = "Mesaj"; +$text['message-message']['ar-eg'] = "رسالة"; $text['message-maximum_extensions']['en-us'] = "Maximum Extensions:"; $text['message-maximum_extensions']['es-cl'] = "Extensiones Máximo Permitido:"; @@ -120,6 +130,7 @@ $text['message-maximum_extensions']['uk'] = "Максимальна кількі $text['message-maximum_extensions']['sv-se'] = "Maximum Antal Anknytningar:"; $text['message-maximum_extensions']['de-at'] = "Maximale Anzahl an Nebenstellen:"; $text['message-maximum_extensions']['ro'] = "Număr maxim extensii:"; +$text['message-maximum_extensions']['ar-eg'] = "الحد الأقصي للأرقام الداخلية :"; $text['message-extension']['en-us'] = "Enter the new Extension..."; $text['message-extension']['es-cl'] = "Ingrese la nueva Extensión..."; @@ -131,6 +142,7 @@ $text['message-extension']['uk'] = "Введіть нове розширення $text['message-extension']['sv-se'] = "Fyll i den nya Anknytningen..."; $text['message-extension']['de-at'] = "Geben Sie die neue Nebenstelle an..."; $text['message-extension']['ro'] = "Introduceți extensia nouă..."; +$text['message-extension']['ar-eg'] = "أدخل الرقم الداخلي الجديد"; $text['message-delete']['en-us'] = "Delete Completed"; $text['message-delete']['es-cl'] = "Eliminación Completada"; @@ -142,6 +154,7 @@ $text['message-delete']['uk'] = "Видалено"; $text['message-delete']['sv-se'] = "Borttagning Klar"; $text['message-delete']['de-at'] = "Erfolgreich gelöscht"; $text['message-delete']['ro'] = "Ștergere completă"; +$text['message-delete']['ar-eg'] = "تم المسح"; $text['message-copy']['en-us'] = "Copy Complete"; $text['message-copy']['es-cl'] = "Copia Completada"; @@ -153,6 +166,7 @@ $text['message-copy']['uk'] = "Скопійовано"; $text['message-copy']['sv-se'] = "Kopiering Slutförd"; $text['message-copy']['de-at'] = "Kopieren erfolgreich"; $text['message-copy']['ro'] = "Copiere completă"; +$text['message-copy']['ar-eg'] = "تم النسخ"; $text['message-add']['en-us'] = "Add Completed"; $text['message-add']['es-cl'] = "Agregar Completado"; @@ -164,6 +178,7 @@ $text['message-add']['uk'] = "Додано"; $text['message-add']['sv-se'] = "Tillagd"; $text['message-add']['de-at'] = "Hinzufügen erfolgreich"; $text['message-add']['ro'] = "Adăugare completă"; +$text['message-add']['ar-eg'] = "تمت الأضافة"; $text['label-voicemail_password']['en-us'] = "Voicemail Password"; $text['label-voicemail_password']['es-cl'] = "Contraseña de correo de voz"; @@ -175,6 +190,7 @@ $text['label-voicemail_password']['uk'] = "Пароль на голосову п $text['label-voicemail_password']['sv-se'] = "Röstbrevlåda Lösenord"; $text['label-voicemail_password']['de-at'] = "Mailbox Passwort"; $text['label-voicemail_password']['ro'] = "Parolă mesagerie vocală"; +$text['label-voicemail_password']['ar-eg'] = "كلمة السر للبريد الصوتي"; $text['label-voicemail_mail_to']['en-us'] = "Voicemail Mail To"; $text['label-voicemail_mail_to']['es-cl'] = "Enviar correo de voz a"; @@ -186,6 +202,7 @@ $text['label-voicemail_mail_to']['uk'] = "Надсилати голосову п $text['label-voicemail_mail_to']['sv-se'] = "Röstbrevlåda E-post Till"; $text['label-voicemail_mail_to']['de-at'] = "Mailbox E-Mail"; $text['label-voicemail_mail_to']['ro'] = "Mesaj vocal către"; +$text['label-voicemail_mail_to']['ar-eg'] = ""; $text['label-voicemail_local_after_email']['en-us'] = "Voicemail Keep Local"; $text['label-voicemail_local_after_email']['es-cl'] = "Mantener Mensaje de Voz despues de enviar por Email"; @@ -197,6 +214,7 @@ $text['label-voicemail_local_after_email']['uk'] = "Залишати голос $text['label-voicemail_local_after_email']['sv-se'] = "Röstbrevlåda Behåll Lokalt"; $text['label-voicemail_local_after_email']['de-at'] = "Mailbox Nachricht am Server behalten"; $text['label-voicemail_local_after_email']['ro'] = "Stocare locală a mesajelor vocale"; +$text['label-voicemail_local_after_email']['ar-eg'] = ""; $text['label-voicemail_file']['en-us'] = "Voicemail File"; $text['label-voicemail_file']['es-cl'] = "Correo de Voz Archivo"; @@ -208,6 +226,7 @@ $text['label-voicemail_file']['uk'] = "Файл голосової пошти"; $text['label-voicemail_file']['sv-se'] = "Röstbrevlåda Fil"; $text['label-voicemail_file']['de-at'] = "Mailbox Nachricht Datei"; $text['label-voicemail_file']['ro'] = "Fișier mesagerie vocală"; +$text['label-voicemail_file']['ar-eg'] = ""; $text['label-voicemail_enabled']['en-us'] = "Voicemail Enabled"; $text['label-voicemail_enabled']['es-cl'] = "Correo de Voz Activado"; @@ -219,6 +238,7 @@ $text['label-voicemail_enabled']['uk'] = "Голосову пошту включ $text['label-voicemail_enabled']['sv-se'] = "Röstbrevlåda Aktiverad"; $text['label-voicemail_enabled']['de-at'] = "Mailbox eingeschaltet"; $text['label-voicemail_enabled']['ro'] = "Mesagerie vocală activă"; +$text['label-voicemail_enabled']['ar-eg'] = ""; $text['label-user_record_outbound']['en-us'] = "Outbound"; $text['label-user_record_outbound']['es-cl'] = "Salida"; @@ -230,6 +250,7 @@ $text['label-user_record_outbound']['uk'] = "Вихідний"; $text['label-user_record_outbound']['sv-se'] = "Utgående"; $text['label-user_record_outbound']['de-at'] = "Ausgehend"; $text['label-user_record_outbound']['ro'] = "Ieșire"; +$text['label-user_record_outbound']['ar-eg'] = "صادر"; $text['label-user_record_none']['en-us'] = "Disabled"; $text['label-user_record_none']['es-cl'] = "Ninguno"; @@ -241,6 +262,7 @@ $text['label-user_record_none']['uk'] = "Відключено"; $text['label-user_record_none']['sv-se'] = "Inaktiverad"; $text['label-user_record_none']['de-at'] = "Ausgeschaltet"; $text['label-user_record_none']['ro'] = "Dezactivat"; +$text['label-user_record_none']['ar-eg'] = "معطل"; $text['label-user_record_local']['en-us'] = "Local"; $text['label-user_record_local']['es-cl'] = "Local"; @@ -252,6 +274,7 @@ $text['label-user_record_local']['uk'] = "Локальний"; $text['label-user_record_local']['sv-se'] = "Lokal"; $text['label-user_record_local']['de-at'] = "Lokal"; $text['label-user_record_local']['ro'] = "Local"; +$text['label-user_record_local']['ar-eg'] = "محلي"; $text['label-user_record_inbound']['en-us'] = "Inbound"; $text['label-user_record_inbound']['es-cl'] = "Entrante"; @@ -263,6 +286,7 @@ $text['label-user_record_inbound']['uk'] = "Вхідний"; $text['label-user_record_inbound']['sv-se'] = "Inkommande"; $text['label-user_record_inbound']['de-at'] = "Eingehend"; $text['label-user_record_inbound']['ro'] = "Intrare"; +$text['label-user_record_inbound']['ar-eg'] = "وارد"; $text['label-user_record_all']['en-us'] = "All"; $text['label-user_record_all']['es-cl'] = "Todo"; @@ -274,6 +298,7 @@ $text['label-user_record_all']['uk'] = "Всі"; $text['label-user_record_all']['sv-se'] = "Allt"; $text['label-user_record_all']['de-at'] = "Alle"; $text['label-user_record_all']['ro'] = "Toate"; +$text['label-user_record_all']['ar-eg'] = "الكل"; $text['label-user_record']['en-us'] = "Record"; $text['label-user_record']['es-cl'] = "Registro"; @@ -285,6 +310,7 @@ $text['label-user_record']['uk'] = "Запис розмов"; $text['label-user_record']['sv-se'] = "Spela In"; $text['label-user_record']['de-at'] = "Aufnahme"; $text['label-user_record']['ro'] = "Înregistrare"; +$text['label-user_record']['ar-eg'] = "تسجيل"; $text['label-user_list']['en-us'] = "User List"; $text['label-user_list']['es-cl'] = "Lista de usuarios"; @@ -296,6 +322,7 @@ $text['label-user_list']['uk'] = "Список користувачів"; $text['label-user_list']['sv-se'] = "Användar-lista"; $text['label-user_list']['de-at'] = "Benutzer Liste"; $text['label-user_list']['ro'] = "Listă utilizatori"; +$text['label-user_list']['ar-eg'] = "قائمة المستخدم"; $text['label-user_context']['en-us'] = "Context"; $text['label-user_context']['es-cl'] = "Contexto"; @@ -307,6 +334,7 @@ $text['label-user_context']['uk'] = "Контекст"; $text['label-user_context']['sv-se'] = "Sammanhang"; $text['label-user_context']['de-at'] = "Kontext"; $text['label-user_context']['ro'] = "Context"; +$text['label-user_context']['ar-eg'] = ""; $text['label-url']['en-us'] = "URL"; $text['label-url']['es-cl'] = "URL"; @@ -318,6 +346,7 @@ $text['label-url']['uk'] = "URL"; $text['label-url']['sv-se'] = "URL"; $text['label-url']['de-at'] = "URL"; $text['label-url']['ro'] = "URL"; +$text['label-url']['ar-eg'] = ""; $text['label-true']['en-us'] = "True"; $text['label-true']['es-cl'] = "Verdadero"; @@ -329,6 +358,7 @@ $text['label-true']['uk'] = "Так"; $text['label-true']['sv-se'] = "Sann"; $text['label-true']['de-at'] = "Ein"; $text['label-true']['ro'] = "Da"; +$text['label-true']['ar-eg'] = "صحيح"; $text['label-toll_allow']['en-us'] = "Toll Allow"; $text['label-toll_allow']['es-cl'] = "Permitir Tarifas Especiales"; @@ -340,6 +370,7 @@ $text['label-toll_allow']['uk'] = ""; $text['label-toll_allow']['sv-se'] = "Toll Allow"; $text['label-toll_allow']['de-at'] = "Berechtigung"; $text['label-toll_allow']['ro'] = "Destinații permise"; +$text['label-toll_allow']['ar-eg'] = ""; $text['label-text']['en-us'] = "Text"; $text['label-text']['es-cl'] = "Texto"; @@ -351,6 +382,7 @@ $text['label-text']['uk'] = "текст"; $text['label-text']['sv-se'] = "Text"; $text['label-text']['de-at'] = "Text"; $text['label-text']['ro'] = "Text"; +$text['label-text']['ar-eg'] = "نص"; $text['label-sip_force_expires']['en-us'] = "SIP Force Expires"; $text['label-sip_force_expires']['es-cl'] = "Forzado SIP Expira"; @@ -362,6 +394,7 @@ $text['label-sip_force_expires']['uk'] = ""; $text['label-sip_force_expires']['sv-se'] = "SIP Force Expires"; $text['label-sip_force_expires']['de-at'] = "SIP Force Expires"; $text['label-sip_force_expires']['ro'] = "SIP Force Expires"; +$text['label-sip_force_expires']['ar-eg'] = ""; $text['label-sip_force_contact']['en-us'] = "SIP Force Contact"; $text['label-sip_force_contact']['es-cl'] = "Forzar Contacto SIP"; @@ -373,6 +406,7 @@ $text['label-sip_force_contact']['uk'] = ""; $text['label-sip_force_contact']['sv-se'] = "SIP Force Contact"; $text['label-sip_force_contact']['de-at'] = "SIP Force Contact"; $text['label-sip_force_contact']['ro'] = "SIP Force Contact"; +$text['label-sip_force_contact']['ar-eg'] = ""; $text['label-sip_bypass_media']['en-us'] = "SIP Bypass Media"; $text['label-sip_bypass_media']['es-cl'] = "Bypass de Medios SIP"; @@ -384,6 +418,7 @@ $text['label-sip_bypass_media']['uk'] = ""; $text['label-sip_bypass_media']['sv-se'] = "SIP Bypass Media"; $text['label-sip_bypass_media']['de-at'] = "SIP Bypass Media"; $text['label-sip_bypass_media']['ro'] = "SIP Bypass Media"; +$text['label-sip_bypass_media']['ar-eg'] = ""; $text['label-rewrite_tls_contact_port']['en-us'] = "Rewrite TLS Contact Port"; $text['label-rewrite_tls_contact_port']['es-cl'] = "Reescribir Contacto Puerto TLS"; @@ -395,6 +430,7 @@ $text['label-rewrite_tls_contact_port']['uk'] = ""; $text['label-rewrite_tls_contact_port']['sv-se'] = "Rewrite TLS Contact Port"; $text['label-rewrite_tls_contact_port']['de-at'] = "TLS Contact Port überschreiben"; $text['label-rewrite_tls_contact_port']['ro'] = "Rescriere TLS Contact Port"; +$text['label-rewrite_tls_contact_port']['ar-eg'] = ""; $text['label-rewrite_contact_ip_and_port_2']['en-us'] = "Rewrite Contact IP and Port 2.0"; $text['label-rewrite_contact_ip_and_port_2']['es-cl'] = "Reescribir Contacto IP y el puerto 2.0"; @@ -406,6 +442,7 @@ $text['label-rewrite_contact_ip_and_port_2']['uk'] = ""; $text['label-rewrite_contact_ip_and_port_2']['sv-se'] = "Rewrite Contact IP and Port 2.0"; $text['label-rewrite_contact_ip_and_port_2']['de-at'] = "Contact IP und Port überschreiben 2.0"; $text['label-rewrite_contact_ip_and_port_2']['ro'] = "Rescriere Contact IP și Port 2.0"; +$text['label-rewrite_contact_ip_and_port_2']['ar-eg'] = ""; $text['label-rewrite_contact_ip_and_port']['en-us'] = "Rewrite Contact IP and Port"; $text['label-rewrite_contact_ip_and_port']['es-cl'] = "Reescribir Contacto IP y el puerto"; @@ -417,6 +454,7 @@ $text['label-rewrite_contact_ip_and_port']['uk'] = ""; $text['label-rewrite_contact_ip_and_port']['sv-se'] = "Rewrite Contact IP and Port"; $text['label-rewrite_contact_ip_and_port']['de-at'] = "Contact IP und Port überschreiben"; $text['label-rewrite_contact_ip_and_port']['ro'] = "Rescriere Contact IP și Port"; +$text['label-rewrite_contact_ip_and_port']['ar-eg'] = ""; $text['label-range']['en-us'] = "Range"; $text['label-range']['es-cl'] = "Rango"; @@ -428,6 +466,7 @@ $text['label-range']['uk'] = "Діапазон"; $text['label-range']['sv-se'] = "Intervall"; $text['label-range']['de-at'] = "Bereich"; $text['label-range']['ro'] = "Șir"; +$text['label-range']['ar-eg'] = ""; $text['label-proxy_media']['en-us'] = "Proxy Media"; $text['label-proxy_media']['es-cl'] = "Proxy Medios"; @@ -439,6 +478,7 @@ $text['label-proxy_media']['uk'] = ""; $text['label-proxy_media']['sv-se'] = "Proxy Media"; $text['label-proxy_media']['de-at'] = "Proxy Media"; $text['label-proxy_media']['ro'] = "Proxy Media"; +$text['label-proxy_media']['ar-eg'] = ""; $text['label-provisioning']['en-us'] = "Device Provisioning"; $text['label-provisioning']['es-cl'] = "Provisionamiento de Teléfono"; @@ -450,6 +490,7 @@ $text['label-provisioning']['uk'] = ""; $text['label-provisioning']['sv-se'] = "Enhet Provisionering"; $text['label-provisioning']['de-at'] = "Endgeräte Bereitstellung"; $text['label-provisioning']['ro'] = "Autoconfigurare echipament"; +$text['label-provisioning']['ar-eg'] = ""; $text['label-password']['en-us'] = "Password"; $text['label-password']['es-cl'] = "Contraseña"; @@ -461,6 +502,7 @@ $text['label-password']['uk'] = "Пароль"; $text['label-password']['sv-se'] = "Lösenord"; $text['label-password']['de-at'] = "Passwort"; $text['label-password']['ro'] = "Parolă"; +$text['label-password']['ar-eg'] = "كلمة السر"; $text['label-outbound_caller_id_number']['en-us'] = "Outbound Caller ID Number"; $text['label-outbound_caller_id_number']['es-cl'] = "Número de Caller ID Saliente"; @@ -472,6 +514,7 @@ $text['label-outbound_caller_id_number']['uk'] = ""; $text['label-outbound_caller_id_number']['sv-se'] = "Utgående Nummervisning"; $text['label-outbound_caller_id_number']['de-at'] = "Ausgehende Anruferkennung (Nummer)"; $text['label-outbound_caller_id_number']['ro'] = "Număr Caller ID pentru ieșire"; +$text['label-outbound_caller_id_number']['ar-eg'] = ""; $text['label-outbound_caller_id_name']['en-us'] = "Outbound Caller ID Name"; $text['label-outbound_caller_id_name']['es-cl'] = "Nombre de Caller ID Saliente"; @@ -483,6 +526,7 @@ $text['label-outbound_caller_id_name']['uk'] = ""; $text['label-outbound_caller_id_name']['sv-se'] = "Utgående Namnvisning"; $text['label-outbound_caller_id_name']['de-at'] = "Ausgehende Anruferkennung (Name)"; $text['label-outbound_caller_id_name']['ro'] = "Nume Caller ID pentru ieșire"; +$text['label-outbound_caller_id_name']['ar-eg'] = ""; $text['label-number_alias']['en-us'] = "Number Alias"; $text['label-number_alias']['es-cl'] = "Alias de Número"; @@ -494,6 +538,7 @@ $text['label-number_alias']['uk'] = "Псевдонім номера"; $text['label-number_alias']['sv-se'] = "Nummer Alias"; $text['label-number_alias']['de-at'] = "Alternative Nummer"; $text['label-number_alias']['ro'] = "Alias număr"; +$text['label-number_alias']['ar-eg'] = ""; $text['label-nibble_account']['en-us'] = "Nibble Account"; $text['label-nibble_account']['es-cl'] = "Cuenta Nibble"; @@ -505,6 +550,7 @@ $text['label-nibble_account']['uk'] = ""; $text['label-nibble_account']['sv-se'] = "Nibble Konto"; $text['label-nibble_account']['de-at'] = "Nibble Benutzer"; $text['label-nibble_account']['ro'] = "Cont Nibble"; +$text['label-nibble_account']['ar-eg'] = ""; $text['label-mwi_account']['en-us'] = "MWI Account"; $text['label-mwi_account']['es-cl'] = "Cuenta MWI"; @@ -516,6 +562,7 @@ $text['label-mwi_account']['uk'] = ""; $text['label-mwi_account']['sv-se'] = "MWI Konto"; $text['label-mwi_account']['de-at'] = "MWI Benutzer"; $text['label-mwi_account']['ro'] = "Cont MWI"; +$text['label-mwi_account']['ar-eg'] = ""; $text['label-missed_call']['en-us'] = "Missed Call"; $text['label-missed_call']['es-cl'] = "Llamada Perdida"; @@ -527,6 +574,7 @@ $text['label-missed_call']['uk'] = "пропущений Дзвінок"; $text['label-missed_call']['sv-se'] = "Missat Samtal"; $text['label-missed_call']['de-at'] = "Verpasster Anruf"; $text['label-missed_call']['ro'] = "Apel pierdut"; +$text['label-missed_call']['ar-eg'] = ""; $text['label-line']['en-us'] = "Line"; $text['label-line']['pt-pt'] = "Linha"; @@ -538,6 +586,7 @@ $text['label-line']['uk'] = ""; $text['label-line']['sv-se'] = "Linje"; $text['label-line']['de-at'] = "Linie"; $text['label-line']['ro'] = "Linie"; +$text['label-line']['ar-eg'] = "خط"; $text['label-limit_max']['en-us'] = "Limit Max"; $text['label-limit_max']['es-cl'] = "Límite Máximo"; @@ -549,6 +598,7 @@ $text['label-limit_max']['uk'] = ""; $text['label-limit_max']['sv-se'] = "Max Begränsning"; $text['label-limit_max']['de-at'] = "Limit Max"; $text['label-limit_max']['ro'] = "Limită maximă"; +$text['label-limit_max']['ar-eg'] = ""; $text['label-limit_destination']['en-us'] = "Limit Destination"; $text['label-limit_destination']['es-cl'] = "Límitar Destino"; @@ -560,6 +610,7 @@ $text['label-limit_destination']['uk'] = ""; $text['label-limit_destination']['sv-se'] = "Begränsad Destination"; $text['label-limit_destination']['de-at'] = "Limit Ziel"; $text['label-limit_destination']['ro'] = "Limită destinație"; +$text['label-limit_destination']['ar-eg'] = ""; $text['label-hold_music']['en-us'] = "Hold Music"; $text['label-hold_music']['es-cl'] = "Música en Espera"; @@ -571,6 +622,7 @@ $text['label-hold_music']['uk'] = ""; $text['label-hold_music']['sv-se'] = "Vänt-musik"; $text['label-hold_music']['de-at'] = "Haltemusik"; $text['label-hold_music']['ro'] = "Muzică în așteptare"; +$text['label-hold_music']['ar-eg'] = ""; $text['label-false']['en-us'] = "False"; $text['label-false']['es-cl'] = "Falso"; @@ -582,6 +634,7 @@ $text['label-false']['uk'] = "Ні"; $text['label-false']['sv-se'] = "Falsk"; $text['label-false']['de-at'] = "Aus"; $text['label-false']['ro'] = "Nu"; +$text['label-false']['ar-eg'] = "خطأ"; $text['label-extension']['en-us'] = "Extension"; $text['label-extension']['es-cl'] = "Extensión"; @@ -593,6 +646,7 @@ $text['label-extension']['uk'] = "Розширення"; $text['label-extension']['sv-se'] = "Anknytning"; $text['label-extension']['de-at'] = "Nebenstelle"; $text['label-extension']['ro'] = "Extensie"; +$text['label-extension']['ar-eg'] = "رقم داخلي"; $text['label-enabled']['en-us'] = "Enabled"; $text['label-enabled']['es-cl'] = "Activado"; @@ -604,6 +658,7 @@ $text['label-enabled']['uk'] = "Включено"; $text['label-enabled']['sv-se'] = "Aktiverad"; $text['label-enabled']['de-at'] = "Aktiv"; $text['label-enabled']['ro'] = "Activ"; +$text['label-enabled']['ar-eg'] = "مفعل"; $text['label-emergency_caller_id_number']['en-us'] = "Emergency Caller ID Number"; $text['label-emergency_caller_id_number']['es-cl'] = "Número de Caller ID de emergencia"; @@ -615,6 +670,7 @@ $text['label-emergency_caller_id_number']['uk'] = ""; $text['label-emergency_caller_id_number']['sv-se'] = "Nöd Nummervisning"; $text['label-emergency_caller_id_number']['de-at'] = "Notruf Anruferkennung (Nummer)"; $text['label-emergency_caller_id_number']['ro'] = "Număr Caller ID apel de urgență"; +$text['label-emergency_caller_id_number']['ar-eg'] = ""; $text['label-emergency_caller_id_name']['en-us'] = "Emergency Caller ID Name"; $text['label-emergency_caller_id_name']['es-cl'] = "Nombre de Caller ID de emergencia"; @@ -626,6 +682,7 @@ $text['label-emergency_caller_id_name']['uk'] = ""; $text['label-emergency_caller_id_name']['sv-se'] = "Nöd Namnvisning"; $text['label-emergency_caller_id_name']['de-at'] = "Notruf Anruferkennung (Name)"; $text['label-emergency_caller_id_name']['ro'] = "Nume Caller ID apel de urgență"; +$text['label-emergency_caller_id_name']['ar-eg'] = ""; $text['label-email']['en-us'] = "Email"; $text['label-email']['es-cl'] = "Email"; @@ -637,6 +694,7 @@ $text['label-email']['uk'] = "Електронна пошта"; $text['label-email']['sv-se'] = "E-post"; $text['label-email']['de-at'] = "Email"; $text['label-email']['ro'] = "Email"; +$text['label-email']['ar-eg'] = "البريد الإليكتروني"; $text['label-effective_caller_id_number']['en-us'] = "Effective Caller ID Number"; $text['label-effective_caller_id_number']['es-cl'] = "Número de Caller ID Efectivo"; @@ -648,6 +706,7 @@ $text['label-effective_caller_id_number']['uk'] = ""; $text['label-effective_caller_id_number']['sv-se'] = "Effektiv Nummervisning"; $text['label-effective_caller_id_number']['de-at'] = "Tatsächliche Anruferkennung (Nummer)"; $text['label-effective_caller_id_number']['ro'] = "Număr Caller ID"; +$text['label-effective_caller_id_number']['ar-eg'] = "رقم المتصل الفعال"; $text['label-effective_caller_id_name']['en-us'] = "Effective Caller ID Name"; $text['label-effective_caller_id_name']['es-cl'] = "Nombre de Caller ID Efectivo"; @@ -659,6 +718,7 @@ $text['label-effective_caller_id_name']['uk'] = ""; $text['label-effective_caller_id_name']['sv-se'] = "Effektiv Namnvisning"; $text['label-effective_caller_id_name']['de-at'] = "Tatsächliche Anruferkennung (Nummer)"; $text['label-effective_caller_id_name']['ro'] = "Nume Caller ID"; +$text['label-effective_caller_id_name']['ar-eg'] = "إسم المتصل الفعال"; $text['label-domain']['en-us'] = "Domain"; $text['label-domain']['es-cl'] = "Dominio"; @@ -670,6 +730,7 @@ $text['label-domain']['uk'] = "Домен"; $text['label-domain']['sv-se'] = "Domän"; $text['label-domain']['de-at'] = "Domain"; $text['label-domain']['ro'] = "Domeniu"; +$text['label-domain']['ar-eg'] = "النطاق"; $text['label-directory_visible']['en-us'] = "Directory Visible"; $text['label-directory_visible']['es-cl'] = "Directorio Visible"; @@ -681,6 +742,7 @@ $text['label-directory_visible']['uk'] = ""; $text['label-directory_visible']['sv-se'] = "Synlig I Katalog"; $text['label-directory_visible']['de-at'] = "Verzeichnis sichtbar"; $text['label-directory_visible']['ro'] = "Vizibil în directory"; +$text['label-directory_visible']['ar-eg'] = ""; $text['label-directory_full_name']['en-us'] = "Directory Full Name"; $text['label-directory_full_name']['es-cl'] = "Nombre Completo de Directorio"; @@ -692,6 +754,7 @@ $text['label-directory_full_name']['uk'] = ""; $text['label-directory_full_name']['sv-se'] = "Hela Namnet I Katalog"; $text['label-directory_full_name']['de-at'] = "Verzeichnis voller Name"; $text['label-directory_full_name']['ro'] = "Nume complet în directory"; +$text['label-directory_full_name']['ar-eg'] = ""; $text['label-directory_exten_visible']['en-us'] = "Directory Extension Visible"; $text['label-directory_exten_visible']['es-cl'] = "Extensión de Directorio Visible"; @@ -703,6 +766,7 @@ $text['label-directory_exten_visible']['uk'] = ""; $text['label-directory_exten_visible']['sv-se'] = "Anknytning Synlig I Katalog"; $text['label-directory_exten_visible']['de-at'] = "Verzeichnis Nebenstelle sichtbar"; $text['label-directory_exten_visible']['ro'] = "Extensie vizibilă în directory"; +$text['label-directory_exten_visible']['ar-eg'] = ""; $text['label-dial_string']['en-us'] = "Dial String"; $text['label-dial_string']['es-cl'] = "Cadena de Marcado"; @@ -714,6 +778,7 @@ $text['label-dial_string']['uk'] = ""; $text['label-dial_string']['sv-se'] = "Ringa Sträng"; $text['label-dial_string']['de-at'] = "Wahl Zeichenkette"; $text['label-dial_string']['ro'] = "Secvență de apelare"; +$text['label-dial_string']['ar-eg'] = ""; $text['label-device_template']['en-us'] = "Template"; $text['label-device_template']['pt-pt'] = "Template"; @@ -725,6 +790,7 @@ $text['label-device_template']['uk'] = ""; $text['label-device_template']['sv-se'] = "Mall"; $text['label-device_template']['de-at'] = "Vorlage"; $text['label-device_template']['ro'] = "Șablon"; +$text['label-device_template']['ar-eg'] = ""; $text['label-device_mac_address']['en-us'] = "MAC Address"; $text['label-device_mac_address']['pt-pt'] = "Endereço MAC"; @@ -736,6 +802,7 @@ $text['label-device_mac_address']['uk'] = ""; $text['label-device_mac_address']['sv-se'] = "MAC-adress"; $text['label-device_mac_address']['de-at'] = "MAC Adresse"; $text['label-device_mac_address']['ro'] = "Adresă MAC"; +$text['label-device_mac_address']['ar-eg'] = ""; $text['label-description']['en-us'] = "Description"; $text['label-description']['es-cl'] = "Descripción"; @@ -747,6 +814,7 @@ $text['label-description']['uk'] = "Опис"; $text['label-description']['sv-se'] = "Beskrivning"; $text['label-description']['de-at'] = "Beschreibung"; $text['label-description']['ro'] = "Descriere"; +$text['label-description']['ar-eg'] = "الوصف"; $text['label-cidr']['en-us'] = "CIDR"; $text['label-cidr']['es-cl'] = "CIDR"; @@ -758,6 +826,7 @@ $text['label-cidr']['uk'] = ""; $text['label-cidr']['sv-se'] = "CIDR"; $text['label-cidr']['de-at'] = "CIDR"; $text['label-cidr']['ro'] = "CIDR"; +$text['label-cidr']['ar-eg'] = ""; $text['label-call_timeout']['en-us'] = "Call Timeout"; $text['label-call_timeout']['es-cl'] = "Tiempo de Espera de Llamada"; @@ -769,6 +838,7 @@ $text['label-call_timeout']['uk'] = ""; $text['label-call_timeout']['sv-se'] = "Ring Tidsgräns"; $text['label-call_timeout']['de-at'] = "Abwurfzeit"; $text['label-call_timeout']['ro'] = "Timp de expirare apel"; +$text['label-call_timeout']['ar-eg'] = ""; $text['label-call_screen_enabled']['en-us'] = "Call Screen"; $text['label-call_screen_enabled']['es-cl'] = ""; @@ -780,6 +850,7 @@ $text['label-call_screen_enabled']['uk'] = ""; $text['label-call_screen_enabled']['sv-se'] = ""; $text['label-call_screen_enabled']['de-at'] = "Anruf Anzeige"; $text['label-call_screen_enabled']['ro'] = ""; +$text['label-call_screen_enabled']['ar-eg'] = ""; $text['label-call_group']['en-us'] = "Call Group"; $text['label-call_group']['es-cl'] = "Llamar a Grupo"; @@ -791,6 +862,7 @@ $text['label-call_group']['uk'] = ""; $text['label-call_group']['sv-se'] = "Ring Grupp"; $text['label-call_group']['de-at'] = "Rufgruppe"; $text['label-call_group']['ro'] = "Grup apelare"; +$text['label-call_group']['ar-eg'] = ""; $text['label-bypass_media_after_bridge']['en-us'] = "Bypass Media After Bridge"; $text['label-bypass_media_after_bridge']['es-cl'] = "Después de la omisión de medios puente"; @@ -802,6 +874,7 @@ $text['label-bypass_media_after_bridge']['uk'] = ""; $text['label-bypass_media_after_bridge']['sv-se'] = "Bypass Media After Bridge"; $text['label-bypass_media_after_bridge']['de-at'] = "Bypass Media After Bridge"; $text['label-bypass_media_after_bridge']['ro'] = "Bypass Media After Bridge"; +$text['label-bypass_media_after_bridge']['ar-eg'] = ""; $text['label-bypass_media']['en-us'] = "Bypass Media"; $text['label-bypass_media']['es-cl'] = "Bypass de Medios"; @@ -813,6 +886,7 @@ $text['label-bypass_media']['uk'] = ""; $text['label-bypass_media']['sv-se'] = "Bypass Media"; $text['label-bypass_media']['de-at'] = "Bypass Media"; $text['label-bypass_media']['ro'] = "Bypass Media"; +$text['label-bypass_media']['ar-eg'] = ""; $text['label-billing_warning']['en-us'] = "Billing is installed, please take note you need to have enough balance to create extensions."; $text['label-billing_warning']['es-cl'] = "La cobranza está instalada, por favor note que necesita suficiente balance para crear extensiones."; @@ -824,6 +898,7 @@ $text['label-billing_warning']['uk'] = ""; $text['label-billing_warning']['sv-se'] = "Fakturerings program är installerat, tänk på att du måste ha rätt balans för att kunna skapa anknytningar."; $text['label-billing_warning']['de-at'] = "Das Rechnungsmodul ist installiert. Bitte beachten Sie, dass Sie genug Guthaben benötigen um Nebenstellen anlegen zu können."; $text['label-billing_warning']['ro'] = "Sistemul de plată este instalat. Este nevoie de un sold pozitiv pentru a crea extensii."; +$text['label-billing_warning']['ar-eg'] = ""; $text['label-auth_acl']['en-us'] = "Auth ACL"; $text['label-auth_acl']['es-cl'] = "ACL de Autenticación"; @@ -835,6 +910,7 @@ $text['label-auth_acl']['uk'] = ""; $text['label-auth_acl']['sv-se'] = "Auth ACL"; $text['label-auth_acl']['de-at'] = "Auth ACL"; $text['label-auth_acl']['ro'] = "ACL autentificare"; +$text['label-auth_acl']['ar-eg'] = ""; $text['label-accountcode']['en-us'] = "Account Code"; $text['label-accountcode']['es-cl'] = "Código de Cuenta"; @@ -846,6 +922,7 @@ $text['label-accountcode']['uk'] = ""; $text['label-accountcode']['sv-se'] = "Kontokod"; $text['label-accountcode']['de-at'] = "Account Code"; $text['label-accountcode']['ro'] = "Cod cont"; +$text['label-accountcode']['ar-eg'] = ""; $text['header-extensions']['en-us'] = "Extensions"; $text['header-extensions']['es-cl'] = "Extensiones"; @@ -857,6 +934,7 @@ $text['header-extensions']['uk'] = "Розширення"; $text['header-extensions']['sv-se'] = "Anknytningar"; $text['header-extensions']['de-at'] = "Nebenstellen"; $text['header-extensions']['ro'] = "Extensii"; +$text['header-extensions']['ar-eg'] = "الأرقام الداخلية"; $text['header-extension-edit']['en-us'] = "Extension"; $text['header-extension-edit']['es-cl'] = "Extensión"; @@ -868,6 +946,7 @@ $text['header-extension-edit']['uk'] = "Розширення"; $text['header-extension-edit']['sv-se'] = "Anknytning"; $text['header-extension-edit']['de-at'] = "Nebenstelle"; $text['header-extension-edit']['ro'] = "Extensie"; +$text['header-extension-edit']['ar-eg'] = "رقم داخلي"; $text['header-extension-add']['en-us'] = "Extension Add"; $text['header-extension-add']['es-cl'] = "Agregar Extensión"; @@ -879,6 +958,7 @@ $text['header-extension-add']['uk'] = "Додавання розширення"; $text['header-extension-add']['sv-se'] = "Lägg Till Anknytning"; $text['header-extension-add']['de-at'] = "Nebenstelle hinzufügen"; $text['header-extension-add']['ro'] = "Adăugare extensie"; +$text['header-extension-add']['ar-eg'] = "إضافة رقم داخلي"; $text['description-voicemail_password']['en-us'] = "Enter the numeric voicemail password here."; $text['description-voicemail_password']['es-cl'] = "Ingrese la contraseña numérica para el correo de voz aquí."; @@ -890,6 +970,7 @@ $text['description-voicemail_password']['uk'] = ""; $text['description-voicemail_password']['sv-se'] = "Ange det numeriska röstbrevlåde-lösenordet här."; $text['description-voicemail_password']['de-at'] = "Geben Sie das numerische Mailbox Passwort an."; $text['description-voicemail_password']['ro'] = "Introduceți parola numerică pentru mesageria vocală aici."; +$text['description-voicemail_password']['ar-eg'] = ""; $text['description-voicemail_mail_to']['en-us'] = "Enter the email address to send voicemail to (optional)."; $text['description-voicemail_mail_to']['es-cl'] = "Ingrese una dirección de correo electrónico para enviar el correo de voz (opcional)."; @@ -901,6 +982,7 @@ $text['description-voicemail_mail_to']['uk'] = ""; $text['description-voicemail_mail_to']['sv-se'] = "Ange E-post adressen för röstbrevlådan (valfritt)."; $text['description-voicemail_mail_to']['de-at'] = "Geben Sie die Email Adresse an, an die Ihre Mailbox Nachricht gesendet werden soll (optional)."; $text['description-voicemail_mail_to']['ro'] = "Introduceți adresa de email unde se vor trimite mesajele vocale (opțional)."; +$text['description-voicemail_mail_to']['ar-eg'] = ""; $text['description-voicemail_local_after_email']['en-us'] = "Choose whether to keep the voicemail in the system after sending the email notification."; $text['description-voicemail_local_after_email']['es-cl'] = "Escoja si desea mantener el buzón de voz en el sistema después de enviar la notificación por correo electrónico."; @@ -912,6 +994,7 @@ $text['description-voicemail_local_after_email']['uk'] = ""; $text['description-voicemail_local_after_email']['sv-se'] = "Välj om du vill behålla röstmeddelande i systemet efter att e-postmeddelandet skickats."; $text['description-voicemail_local_after_email']['de-at'] = "Wählen Sie ob die Mailbox Nachricht am Server gespeichert werden soll, sobald die Nachricht per Mail versendet worden ist."; $text['description-voicemail_local_after_email']['ro'] = "Alegeți dacă păstrați mesajele vocale după ce sunt trimise prin email."; +$text['description-voicemail_local_after_email']['ar-eg'] = ""; $text['description-voicemail_file']['en-us'] = "Select a listening option to include with the email notification."; $text['description-voicemail_file']['es-cl'] = "Seleccione qué opción de escucha para incluir en la notificación de correo electrónico."; @@ -923,6 +1006,7 @@ $text['description-voicemail_file']['uk'] = ""; $text['description-voicemail_file']['sv-se'] = "Välj ett alternativ för avlyssning i e-postmeddelandet."; $text['description-voicemail_file']['de-at'] = "Wählen Sie eine Option für die Mailbox Benachrichtigung."; $text['description-voicemail_file']['ro'] = "Selectați o opțiune de a asculta mesajul vocal în notificarea prin email."; +$text['description-voicemail_file']['ar-eg'] = ""; $text['description-voicemail_enabled']['en-us'] = "Enable/disable voicemail for this extension."; $text['description-voicemail_enabled']['es-cl'] = "Activar/desactivar el correo de voz para esta extensión."; @@ -934,6 +1018,7 @@ $text['description-voicemail_enabled']['uk'] = ""; $text['description-voicemail_enabled']['sv-se'] = "Aktivera/Inaktivera röstbrevlåda för denna anknytning."; $text['description-voicemail_enabled']['de-at'] = "Mailbox für diese Nebenstelle Ein- oder Ausschalten."; $text['description-voicemail_enabled']['ro'] = "Activați/dezactivați mesageria vocală pentru această extensie."; +$text['description-voicemail_enabled']['ar-eg'] = ""; $text['description-user_record']['en-us'] = "Choose whether to record local, inbound, outbound, or all."; $text['description-user_record']['es-cl'] = "Seleccione entrantes, salientes o para grabar todas las llamadas."; @@ -945,6 +1030,7 @@ $text['description-user_record']['uk'] = ""; $text['description-user_record']['sv-se'] = "Välj om lokala, inkommande, utgående eller alla samtal skall spelas in."; $text['description-user_record']['de-at'] = "Wählen Sie ob lokale (local), ausgehende (outbound) oder alle (all) Gespräche aufgezeichnet werden sollen."; $text['description-user_record']['ro'] = "Alegeți dacă înregistrați apelurile locale, primite, trimise sau toate."; +$text['description-user_record']['ar-eg'] = ""; $text['description-user_list']['en-us'] = "Assign the users that are assigned to this extension. "; $text['description-user_list']['es-cl'] = "Asigna los usuarios asociados a esta extensión"; @@ -956,6 +1042,7 @@ $text['description-user_list']['uk'] = ""; $text['description-user_list']['sv-se'] = "Tilldela användare till denna anknytning."; $text['description-user_list']['de-at'] = "Weisen Sie dieser Nebenstelle Benutzer zu."; $text['description-user_list']['ro'] = "Asignați utilizatorii acestei extensii."; +$text['description-user_list']['ar-eg'] = ""; $text['description-user_context']['en-us'] = "Enter the user context here."; $text['description-user_context']['es-cl'] = "Ingrese el contexto de usuario aquí."; @@ -967,6 +1054,7 @@ $text['description-user_context']['uk'] = ""; $text['description-user_context']['sv-se'] = "Ange 'user context' här."; $text['description-user_context']['de-at'] = "Geben Sie den Benutzer Kontext an."; $text['description-user_context']['ro'] = "Introduceți contextul utilizatorilor aici."; +$text['description-user_context']['ar-eg'] = ""; $text['description-toll_allow']['en-us'] = "Enter the toll allow value here. (Examples: domestic,international,local)"; $text['description-toll_allow']['es-cl'] = "Ingrese el tipo de tarifa especial a permitir (ej: doméstica, internacional, local)."; @@ -978,6 +1066,7 @@ $text['description-toll_allow']['uk'] = ""; $text['description-toll_allow']['sv-se'] = "Ange 'toll allow' värde här. (Exempel: domestic,international,local)"; $text['description-toll_allow']['de-at'] = "Geben Sie die Berechtigung an. (z.B.: domestic, international, local)"; $text['description-toll_allow']['ro'] = "Introduceți tipurile de destinație aici. (Ex.: fix, internațional, local)"; +$text['description-toll_allow']['ar-eg'] = ""; $text['description-sip_force_expires']['en-us'] = "To prevent stale registrations SIP Force expires can override the client expire."; $text['description-sip_force_expires']['es-cl'] = "Seleccione si desea reescribir solo el puerto de contacto, o la dirección IP junto con el puerto."; @@ -989,6 +1078,7 @@ $text['description-sip_force_expires']['uk'] = ""; $text['description-sip_force_expires']['sv-se'] = "För att förhindra inaktuella registreringar ”SIP Force expires” kan åsidosätta ”klient expire”."; $text['description-sip_force_expires']['de-at'] = "Um abgelaufene Registrierungen zu vermeiden kann SIP Force expires hier überschrieben werden."; $text['description-sip_force_expires']['ro'] = "Pentru a preveni înregistrările agățate SIP Force Expire poate suprascrie opțiunea Expire a clientului."; +$text['description-sip_force_expires']['ar-eg'] = ""; $text['description-sip_force_contact']['en-us'] = "Choose whether to rewrite the contact port, or rewrite both the contact IP and port."; $text['description-sip_force_contact']['es-cl'] = "Seleccione si desea reescribir solo el puerto de contacto, o la dirección IP junto con el puerto."; @@ -1000,6 +1090,7 @@ $text['description-sip_force_contact']['uk'] = ""; $text['description-sip_force_contact']['sv-se'] = "Välj om 'contact port' skall skrivas om eller om både 'contact IP och Port' skall skrivas om."; $text['description-sip_force_contact']['de-at'] = "Wählen Sie ob contact Port oder contact IP und Port überschrieben werden sollen."; $text['description-sip_force_contact']['ro'] = "Alegeți dacă rescrieți portul sau rescrieți IP-ul și portul."; +$text['description-sip_force_contact']['ar-eg'] = ""; $text['description-sip_bypass_media']['en-us'] = "Choose whether to send the media stream point to point or in transparent proxy mode."; $text['description-sip_bypass_media']['es-cl'] = "Seleccione si desea enviar el flujo de medios punto a punto o en modo proxy de transporte."; @@ -1011,6 +1102,7 @@ $text['description-sip_bypass_media']['uk'] = ""; $text['description-sip_bypass_media']['sv-se'] = "Välj om media strömmen skall skickas 'point to point' eller i 'ransparent proxy mode'."; $text['description-sip_bypass_media']['de-at'] = "Wählen Sie ob Mediendaten direkt von Endgerät zu Endgerät übertragen werden sollen."; $text['description-sip_bypass_media']['ro'] = "Alegeți dacă doriți media în regim punct la punct sau proxy transparent."; +$text['description-sip_bypass_media']['ar-eg'] = ""; $text['description-range']['en-us'] = "Enter the number of extensions to create. Increments each extension by 1."; $text['description-range']['es-cl'] = "Ingrese la cantidad de extensiones a crear. Incrementa cada extensión en 1"; @@ -1022,6 +1114,7 @@ $text['description-range']['uk'] = ""; $text['description-range']['sv-se'] = "Ange hur många anknytningar som skall skapas. Adderar 1 på varje anknytning."; $text['description-range']['de-at'] = "Geben Sie die Anzahl der Nebenstellen an, die angelegt werden sollen. Nebenstellen werden automatisch um 1 erhöht."; $text['description-range']['ro'] = "Introduceți numărul de extensii pe care le doriți create. Se incrementează fiecare extensie cu 1."; +$text['description-range']['ar-eg'] = ""; $text['description-provisioning']['en-us'] = "Select a device and line number to assign to this extension."; $text['description-provisioning']['es-cl'] = "Seleccione un dispositivo y un número de línea para asignar a esta extensión."; @@ -1033,6 +1126,7 @@ $text['description-provisioning']['uk'] = ""; $text['description-provisioning']['sv-se'] = "Välj en enhet och linje nummer att tilldela till denna anknytning."; $text['description-provisioning']['de-at'] = "Wählen Sie eine Geräte- und Liniennummer um sie dieser Nebenstelle zuzuordnen."; $text['description-provisioning']['ro'] = "Selectați un echipament și un număr de linie pentru a asigna această extensie."; +$text['description-provisioning']['ar-eg'] = ""; $text['description-password']['en-us'] = "Enter the password here."; $text['description-password']['es-cl'] = "Ingrese una contraseña aquí"; @@ -1044,6 +1138,7 @@ $text['description-password']['uk'] = ""; $text['description-password']['sv-se'] = "Fyll i lösenord."; $text['description-password']['de-at'] = "Geben Sie das Passwort ein."; $text['description-password']['ro'] = "Introduceți parola aici."; +$text['description-password']['ar-eg'] = ""; $text['description-outbound_caller_id_number-select']['en-us'] = "Select the external (public) caller ID number."; $text['description-outbound_caller_id_number-select']['es-cl'] = "Seleccione el número de caller ID externo (público)."; @@ -1055,6 +1150,7 @@ $text['description-outbound_caller_id_number-select']['uk'] = ""; $text['description-outbound_caller_id_number-select']['sv-se'] = "Välj det externa (publikt) nummervisningen här."; $text['description-outbound_caller_id_number-select']['de-at'] = "Wählen Sie die externe Anruferkennung (Nummer)."; $text['description-outbound_caller_id_number-select']['ro'] = "Selectați numărul Caller ID extern (public)."; +$text['description-outbound_caller_id_number-select']['ar-eg'] = ""; $text['description-outbound_caller_id_number-custom']['en-us'] = "Enter the external (public) caller ID number here."; $text['description-outbound_caller_id_number-custom']['es-cl'] = "Ingrese el número de caller ID externo (público) aquí."; @@ -1066,6 +1162,7 @@ $text['description-outbound_caller_id_number-custom']['uk'] = ""; $text['description-outbound_caller_id_number-custom']['sv-se'] = "Ange det externa (publikt) nummervisningen här."; $text['description-outbound_caller_id_number-custom']['de-at'] = "Geben Sie die externe Anruferkennung (Nummer) hier an."; $text['description-outbound_caller_id_number-custom']['ro'] = "Introduceți numărul Caller ID extern (public)."; +$text['description-outbound_caller_id_number-custom']['ar-eg'] = ""; $text['description-outbound_caller_id_name-select']['en-us'] = "Select the external (public) caller ID name."; $text['description-outbound_caller_id_name-select']['es-cl'] = "Seleccione el nombre de Caller ID externo (público)."; @@ -1077,6 +1174,7 @@ $text['description-outbound_caller_id_name-select']['uk'] = ""; $text['description-outbound_caller_id_name-select']['sv-se'] = "Välj det externa (publikt) namnvisningen här."; $text['description-outbound_caller_id_name-select']['de-at'] = "Wählen Sie die externe Anruferkennung (Name)."; $text['description-outbound_caller_id_name-select']['ro'] = "Selectați numele pentru Caller ID extern (public)."; +$text['description-outbound_caller_id_name-select']['ar-eg'] = ""; $text['description-outbound_caller_id_name-custom']['en-us'] = "Enter the external (public) caller ID name here."; $text['description-outbound_caller_id_name-custom']['es-cl'] = "Ingrese el el nombre de Caller ID externo (público) aquí."; @@ -1088,6 +1186,7 @@ $text['description-outbound_caller_id_name-custom']['uk'] = ""; $text['description-outbound_caller_id_name-custom']['sv-se'] = "Ange det externa (publikt) namnvisningen här."; $text['description-outbound_caller_id_name-custom']['de-at'] = "Geben Sie die externe Anruferkennung (Name) hier an."; $text['description-outbound_caller_id_name-custom']['ro'] = "Introduceți numele pentru Caller ID extern (public)."; +$text['description-outbound_caller_id_name-custom']['ar-eg'] = ""; $text['description-number_alias']['en-us'] = "If the extension is numeric then number alias is optional."; $text['description-number_alias']['es-cl'] = "Si la extensión es numérica, entonces el alias numérico es opcional"; @@ -1099,6 +1198,7 @@ $text['description-number_alias']['uk'] = ""; $text['description-number_alias']['sv-se'] = "Om anknytningen är numerisk då är nummer alias valfritt."; $text['description-number_alias']['de-at'] = "Wenn die Nebenstelle numerisch ist, ist die Angabe einer alternativen Nummer optional."; $text['description-number_alias']['ro'] = "Dacă numele extensiei este numeric atunci aliasul numeric este opțional."; +$text['description-number_alias']['ar-eg'] = ""; $text['description-nibble_account']['en-us'] = "Enter the account number for nibblebill to use."; $text['description-nibble_account']['es-cl'] = "Ingrese el número de cuenta para ser usada por nibblebill."; @@ -1110,6 +1210,7 @@ $text['description-nibble_account']['uk'] = ""; $text['description-nibble_account']['sv-se'] = "Ange konto nummer för 'nibblebill' som skall användas."; $text['description-nibble_account']['de-at'] = "Geben Sie den Nibblebill Benutzer an."; $text['description-nibble_account']['ro'] = "Introduceți numărul de cont folosit de nibblebil."; +$text['description-nibble_account']['ar-eg'] = ""; $text['description-mwi_account']['en-us'] = "MWI Account with user@domain of the voicemail to monitor."; $text['description-mwi_account']['es-cl'] = "Cuenta MWI con usuario@dominio del correo de voz para monitorear."; @@ -1121,6 +1222,7 @@ $text['description-mwi_account']['uk'] = ""; $text['description-mwi_account']['sv-se'] = "MWI konto med user@domain för den röstbrevlåda som skall monitoreras."; $text['description-mwi_account']['de-at'] = "MWI Benutzer (user@domain) der Mailbox."; $text['description-mwi_account']['ro'] = "Contul MWI cu utilizator@domeniu al mesageriei vocale ce va fi monitorizat."; +$text['description-mwi_account']['ar-eg'] = ""; $text['description-missed_call']['en-us'] = "Select the notification type, and enter the appropriate destination."; $text['description-missed_call']['es-cl'] = "Seleccione el tipo de notificación, y entrar en el destino apropiado."; @@ -1132,6 +1234,7 @@ $text['description-missed_call']['uk'] = "Виберіть тип повідом $text['description-missed_call']['sv-se'] = "Välj typ anmälan, och ange lämplig destination."; $text['description-missed_call']['de-at'] = "Wählen Sie den Benachrichtigungstyp und geben Sie das entsprechende Ziel an."; $text['description-missed_call']['ro'] = "Selectați tipul de notificare și introduceți destinația potrivită."; +$text['description-missed_call']['ar-eg'] = ""; $text['description-limit_max']['en-us'] = "Enter the max number of outgoing calls for this user."; $text['description-limit_max']['es-cl'] = "Ingrese el número máximo de llamadas salientes para este usuario."; @@ -1143,6 +1246,7 @@ $text['description-limit_max']['uk'] = ""; $text['description-limit_max']['sv-se'] = "Ange max antal utgående samtal för denna anknytning."; $text['description-limit_max']['de-at'] = "Geben Sie die maximale Anzahl ausgehender Gespräche dieser Nebenstelle an."; $text['description-limit_max']['ro'] = "Introduceți numărul maxim de apeluri ce pot fi inițiate de acestă extensie."; +$text['description-limit_max']['ar-eg'] = ""; $text['description-limit_destination']['en-us'] = "Enter the destination to send the calls when the max number of outgoing calls has been reached."; $text['description-limit_destination']['es-cl'] = "Ingrese el destino a quien enviar las llamadas cuando el máximo de llamadas salientes ha sido alcanzado."; @@ -1154,6 +1258,7 @@ $text['description-limit_destination']['uk'] = ""; $text['description-limit_destination']['sv-se'] = "Ange destination dit samtal skickas när max antal utgående samtals gränsen har nåtts."; $text['description-limit_destination']['de-at'] = "Geben Sie das Ziel an, wohin der Anruf geleitet werden soll, falls die maximale Anzahl ausgehender Gespräche erreicht wurde."; $text['description-limit_destination']['ro'] = "Introduceți destinația unde se vor trimite apelurile atunci când numărul maxim de apeluri inițiate a fost atins."; +$text['description-limit_destination']['ar-eg'] = ""; $text['description-hold_music']['en-us'] = "Select the MOH Category here."; $text['description-hold_music']['es-cl'] = "Ingrese la categoría de música en espera aquí"; @@ -1165,6 +1270,7 @@ $text['description-hold_music']['uk'] = ""; $text['description-hold_music']['sv-se'] = "Välj MOH Kategori här."; $text['description-hold_music']['de-at'] = "Wählen Sie Kategorie der Haltemusik."; $text['description-hold_music']['ro'] = "Selectați categoria pentru MOH (muzică în așteptare)."; +$text['description-hold_music']['ar-eg'] = ""; $text['description-extensions']['en-us'] = "Use this to configure your SIP extensions."; $text['description-extensions']['es-cl'] = "Utilizado para configurar Extensiones SIP."; @@ -1176,6 +1282,7 @@ $text['description-extensions']['uk'] = ""; $text['description-extensions']['sv-se'] = "Använd detta för att konfigurera dina SIP anknytningar."; $text['description-extensions']['de-at'] = "Benutzen sie das um Ihre SIP Nebenstelle zu konfigurieren."; $text['description-extensions']['ro'] = "Folosiți această secțiune pentru a configura extensiile SIP."; +$text['description-extensions']['ar-eg'] = ""; $text['description-extension']['en-us'] = "Enter the alphanumeric extension. The default configuration allows 2 - 7 digit extensions."; $text['description-extension']['es-cl'] = "Ingrese una extensión alfanumérica. La configuración predeterminada permite extensiones de 2 a 7 dígitos."; @@ -1187,6 +1294,7 @@ $text['description-extension']['uk'] = ""; $text['description-extension']['sv-se'] = "Tilldela anknytning och linje nummer till enheten."; $text['description-extension']['de-at'] = "Weisen Sie die Nebenstellen und Linien einem Gerät zu."; $text['description-extension']['ro'] = "Introduceți extensia în format alfanumeric. Configurația implicită permite extensii cu 2 - 7 digiți."; +$text['description-extension']['ar-eg'] = ""; $text['description-enabled']['en-us'] = "Set the status of the extension."; $text['description-enabled']['es-cl'] = "Seleccione el estado de la extensión."; @@ -1198,6 +1306,7 @@ $text['description-enabled']['uk'] = ""; $text['description-enabled']['sv-se'] = "Välj status på denna standardinställning."; $text['description-enabled']['de-at'] = "Setzen Sie den Status dieser Nebenstelle."; $text['description-enabled']['ro'] = "Configurați starea extensiei."; +$text['description-enabled']['ar-eg'] = ""; $text['description-emergency_caller_id_number']['en-us'] = "Enter the emergency caller ID number here."; $text['description-emergency_caller_id_number']['es-cl'] = "Ingrese el número de Caller ID de emergencia aquí."; @@ -1209,6 +1318,7 @@ $text['description-emergency_caller_id_number']['uk'] = ""; $text['description-emergency_caller_id_number']['sv-se'] = "Ange nummer som skall visas vid nödsamtal."; $text['description-emergency_caller_id_number']['de-at'] = "Geben Sie die Anruferkennung (Nummer) für Notrufe an."; $text['description-emergency_caller_id_number']['ro'] = "Introduceți numărul Caller ID pentru apeluri de urgență."; +$text['description-emergency_caller_id_number']['ar-eg'] = ""; $text['description-emergency_caller_id_name']['en-us'] = "Enter the emergency caller ID name here."; $text['description-emergency_caller_id_name']['es-cl'] = "Ingrese el nombre de Caller ID de emergencia aquí."; @@ -1220,6 +1330,7 @@ $text['description-emergency_caller_id_name']['uk'] = ""; $text['description-emergency_caller_id_name']['sv-se'] = "Ange namn som skall visas vid nödsamtal."; $text['description-emergency_caller_id_name']['de-at'] = "Geben Sie die Anruferkennung (Name) für Notrufe an."; $text['description-emergency_caller_id_name']['ro'] = "Introduceți numele Caller ID pentru apeluri de urgență."; +$text['description-emergency_caller_id_name']['ar-eg'] = ""; $text['description-effective_caller_id_number']['en-us'] = "Enter the internal caller ID number here."; $text['description-effective_caller_id_number']['es-cl'] = "Ingrese el número de Caller ID interno aquí."; @@ -1231,6 +1342,7 @@ $text['description-effective_caller_id_number']['uk'] = ""; $text['description-effective_caller_id_number']['sv-se'] = "Ange numret som skall visas internt."; $text['description-effective_caller_id_number']['de-at'] = "Geben Sie die interne Anruferkennung (Nummer) an."; $text['description-effective_caller_id_number']['ro'] = "Introduceți numărul intern Caller ID."; +$text['description-effective_caller_id_number']['ar-eg'] = ""; $text['description-effective_caller_id_name']['en-us'] = "Enter the internal caller ID name here."; $text['description-effective_caller_id_name']['es-cl'] = "Ingrese el nombre de Caller ID interno aquí."; @@ -1242,6 +1354,7 @@ $text['description-effective_caller_id_name']['uk'] = ""; $text['description-effective_caller_id_name']['sv-se'] = "Ange namn som skall visas internt."; $text['description-effective_caller_id_name']['de-at'] = "Geben Sie die interne Anruferkennung (Name) an."; $text['description-effective_caller_id_name']['ro'] = "Introduceți numele intern Caller ID."; +$text['description-effective_caller_id_name']['ar-eg'] = ""; $text['description-domain']['en-us'] = ""; $text['description-domain']['es-cl'] = ""; @@ -1253,6 +1366,7 @@ $text['description-domain']['uk'] = ""; $text['description-domain']['sv-se'] = ""; $text['description-domain']['de-at'] = ""; $text['description-domain']['ro'] = ""; +$text['description-domain']['ar-eg'] = ""; $text['description-directory_visible']['en-us'] = "Select whether to hide the name from the directory."; $text['description-directory_visible']['es-cl'] = "Seleccione si desea esconder el nombre desde el directorio."; @@ -1264,6 +1378,7 @@ $text['description-directory_visible']['uk'] = ""; $text['description-directory_visible']['sv-se'] = "Välj om namn skall gömas i katalogen."; $text['description-directory_visible']['de-at'] = "Wählen Sie ob der Name im Verzeichnis angegeben werden soll."; $text['description-directory_visible']['ro'] = "Selectați dacă doriți să ascundeți numele în directory."; +$text['description-directory_visible']['ar-eg'] = ""; $text['description-directory_full_name']['en-us'] = "Enter the first name followed by the last name."; $text['description-directory_full_name']['es-cl'] = "Ingrese el nombre seguido del apellido."; @@ -1275,6 +1390,7 @@ $text['description-directory_full_name']['uk'] = ""; $text['description-directory_full_name']['sv-se'] = "Ange förnamn följt av efternamn."; $text['description-directory_full_name']['de-at'] = "Geben Sie zuerst den Vornamen und dann den Nachnamen an."; $text['description-directory_full_name']['ro'] = "Introduceți numele urmat de prenume."; +$text['description-directory_full_name']['ar-eg'] = ""; $text['description-directory_exten_visible']['en-us'] = "Select whether announce the extension when calling the directory."; $text['description-directory_exten_visible']['es-cl'] = "Seleccione si desea mostrar la extensión cuando se llame al directorio."; @@ -1286,6 +1402,7 @@ $text['description-directory_exten_visible']['uk'] = ""; $text['description-directory_exten_visible']['sv-se'] = "Välj om anknytningen skall anges när katalogen rings upp."; $text['description-directory_exten_visible']['de-at'] = "Geben Sie an, ob die Nebenstelle bei Anruf des Verzeichnisses angekündigt werden soll."; $text['description-directory_exten_visible']['ro'] = "Selectați dacă se anunță extensia atunci când se apelează directory."; +$text['description-directory_exten_visible']['ar-eg'] = ""; $text['description-dial_string']['en-us'] = "Location of the endpoint."; $text['description-dial_string']['es-cl'] = "Ubicación de extremo."; @@ -1297,6 +1414,7 @@ $text['description-dial_string']['uk'] = ""; $text['description-dial_string']['sv-se'] = "Plats för enheten."; $text['description-dial_string']['de-at'] = "Standort des Endgeräts"; $text['description-dial_string']['ro'] = "Locația echipamentului."; +$text['description-dial_string']['ar-eg'] = ""; $text['description-description']['en-us'] = ""; $text['description-description']['es-cl'] = ""; @@ -1308,6 +1426,7 @@ $text['description-description']['uk'] = "Введіть опис, якщо це $text['description-description']['sv-se'] = "Fyll i en beskrivning, om nödvändigt."; $text['description-description']['de-at'] = "Falls gewünscht, geben Sie eine Beschreibung an."; $text['description-description']['ro'] = ""; +$text['description-description']['ar-eg'] = ""; $text['description-cidr']['en-us'] = "Enter the CIDR here."; $text['description-cidr']['es-cl'] = "Ingrese el CIDR aquí"; @@ -1319,6 +1438,7 @@ $text['description-cidr']['uk'] = ""; $text['description-cidr']['sv-se'] = "Ange CIDR här."; $text['description-cidr']['de-at'] = "Geben Sie hier die Beschränkung der IP Adresse an (z.B. 1.2.3.4/32)"; $text['description-cidr']['ro'] = "Introduceți adresa în format CIDR aici."; +$text['description-cidr']['ar-eg'] = ""; $text['description-call_timeout']['en-us'] = "Enter the call timeout."; $text['description-call_timeout']['es-cl'] = "Ingrese el tiempo de espera de llamada."; @@ -1330,6 +1450,7 @@ $text['description-call_timeout']['uk'] = ""; $text['description-call_timeout']['sv-se'] = "Ange 'call timeout'"; $text['description-call_timeout']['de-at'] = "Geben Sie die Abwurfzeit an."; $text['description-call_timeout']['ro'] = "Introduceți timpul de expirare pentru apel."; +$text['description-call_timeout']['ar-eg'] = ""; $text['description-call_screen_enabled']['en-us'] = "Choose whether to enable or disable call screening."; $text['description-call_screen_enabled']['es-cl'] = ""; @@ -1341,6 +1462,7 @@ $text['description-call_screen_enabled']['uk'] = ""; $text['description-call_screen_enabled']['sv-se'] = ""; $text['description-call_screen_enabled']['de-at'] = "Wählen Sie ob die Anruf Anzeige Ein- oder Ausgeschaltet werden soll."; $text['description-call_screen_enabled']['ro'] = ""; +$text['description-call_screen_enabled']['ar-eg'] = ""; $text['description-call_group']['en-us'] = "Enter the user call group here. Groups available by default: sales, support, billing."; $text['description-call_group']['es-cl'] = "Ingrese el grupo a llamar aquí. Los grupos disponible de forma predeterminada son: ventas, soporte, facturación."; @@ -1352,6 +1474,7 @@ $text['description-call_group']['uk'] = ""; $text['description-call_group']['sv-se'] = "Ange användarens ring grupp här. Grupper som är tillgängliga från start: sales, support, billing."; $text['description-call_group']['de-at'] = "Geben Sie eine Rufgruppe an. Standardgruppen: sales, support, billing."; $text['description-call_group']['ro'] = "Introduceți grupul de apelare din care face parte utilizatorul. Grupurile disponibile implicit sunt vânzări, suport și plăți."; +$text['description-call_group']['ar-eg'] = ""; $text['description-auth_acl']['en-us'] = "Enter the Auth ACL here."; $text['description-auth_acl']['es-cl'] = "Ingrese el ACL de autenticación aquí"; @@ -1363,6 +1486,7 @@ $text['description-auth_acl']['uk'] = ""; $text['description-auth_acl']['sv-se'] = "Ange Auth ACL här."; $text['description-auth_acl']['de-at'] = "Geben Sie die Auth ACL hier an."; $text['description-auth_acl']['ro'] = "Introduceți ACL-ul pentru autentificare aici."; +$text['description-auth_acl']['ar-eg'] = ""; $text['description-accountcode']['en-us'] = "Enter the account code here."; $text['description-accountcode']['es-cl'] = "Ingrese el código de cuenta aquí."; @@ -1374,6 +1498,7 @@ $text['description-accountcode']['uk'] = ""; $text['description-accountcode']['sv-se'] = "Ange 'account code' här."; $text['description-accountcode']['de-at'] = "Geben Sie den Account Code hier an."; $text['description-accountcode']['ro'] = "Introduceți codul contului aici."; +$text['description-accountcode']['ar-eg'] = ""; $text['confirm-delete']['en-us'] = "Do you really want to delete this?"; $text['confirm-delete']['es-cl'] = "¿Realmente desea eliminar esto?"; @@ -1385,6 +1510,7 @@ $text['confirm-delete']['uk'] = "Ви дійсно бажаєте це вида $text['confirm-delete']['sv-se'] = "Vill du verkligen ta bort detta?"; $text['confirm-delete']['de-at'] = "Wollen Sie das wirklich löschen?"; $text['confirm-delete']['ro'] = "Sigur doriți să ștergeți?"; +$text['confirm-delete']['ar-eg'] = ""; $text['confirm-copy']['en-us'] = "Do you really want to copy this?"; $text['confirm-copy']['es-cl'] = "¿Realmente desea copiar esto?"; @@ -1396,6 +1522,7 @@ $text['confirm-copy']['uk'] = ""; $text['confirm-copy']['sv-se'] = "Vill du verkligen kopiera detta?"; $text['confirm-copy']['de-at'] = "Wollen Sie das wirdklich kopieren?"; $text['confirm-copy']['ro'] = "Sigur doriți să copiați?"; +$text['confirm-copy']['ar-eg'] = ""; $text['checkbox-range']['en-us'] = "Auto-generate user with extension as login name"; $text['checkbox-range']['es-cl'] = "Generar automáticamente usuario con su nombre de inicio de sesión como extensión"; @@ -1407,6 +1534,7 @@ $text['checkbox-range']['uk'] = ""; $text['checkbox-range']['sv-se'] = "Auto-generera användare med anknytning som inloggningsnamn."; $text['checkbox-range']['de-at'] = "Benutzer automatisch anlegen (Nebenstelle als Login Name)"; $text['checkbox-range']['ro'] = "Generare automată utilizator și extensie. Extensia ca nume de utilizator."; +$text['checkbox-range']['ar-eg'] = ""; $text['button-search']['en-us'] = "Search"; $text['button-search']['es-cl'] = "Buscar"; @@ -1418,6 +1546,7 @@ $text['button-search']['uk'] = "Пошук"; $text['button-search']['sv-se'] = "Sök"; $text['button-search']['de-at'] = "Suchen"; $text['button-search']['ro'] = "Căutare"; +$text['button-search']['ar-eg'] = "بحث"; $text['button-save']['en-us'] = "Save"; $text['button-save']['es-cl'] = "Guardar"; @@ -1429,6 +1558,7 @@ $text['button-save']['uk'] = "Зберегти"; $text['button-save']['sv-se'] = "Spara"; $text['button-save']['de-at'] = "Speichern"; $text['button-save']['ro'] = "Salvează"; +$text['button-save']['ar-eg'] = "حفظ"; $text['button-edit']['en-us'] = "Edit"; $text['button-edit']['es-cl'] = "Editar"; @@ -1440,6 +1570,7 @@ $text['button-edit']['uk'] = "Редагувати"; $text['button-edit']['sv-se'] = "Editera"; $text['button-edit']['de-at'] = "Bearbeiten"; $text['button-edit']['ro'] = "Editează"; +$text['button-edit']['ar-eg'] = "تعديل"; $text['button-delete']['en-us'] = "Delete"; $text['button-delete']['es-cl'] = "Eliminar"; @@ -1451,6 +1582,7 @@ $text['button-delete']['uk'] = "Видалити"; $text['button-delete']['sv-se'] = "Ta Bort"; $text['button-delete']['de-at'] = "Löschen"; $text['button-delete']['ro'] = "Șterge"; +$text['button-delete']['ar-eg'] = "مسح"; $text['button-copy']['en-us'] = "Copy"; $text['button-copy']['es-cl'] = "Copiar"; @@ -1462,6 +1594,7 @@ $text['button-copy']['uk'] = "Копіювати"; $text['button-copy']['sv-se'] = "Kopiera"; $text['button-copy']['de-at'] = "Kopieren"; $text['button-copy']['ro'] = "Copiază"; +$text['button-copy']['ar-eg'] = "نسخ"; $text['button-calls']['en-us'] = "Call Control"; $text['button-calls']['es-cl'] = "Control de Llamada"; @@ -1472,6 +1605,7 @@ $text['button-calls']['pl'] = "Kontrola rozmów"; $text['button-calls']['sv-se'] = "Samtals Kontroll"; $text['button-calls']['de-at'] = "Anruf Steuerung"; $text['button-calls']['ro'] = "Control apel"; +$text['button-calls']['ar-eg'] = ""; $text['button-back']['en-us'] = "Back"; $text['button-back']['es-cl'] = "Volver"; @@ -1483,6 +1617,7 @@ $text['button-back']['uk'] = "Назад"; $text['button-back']['sv-se'] = "Tillbaka"; $text['button-back']['de-at'] = "Zurück"; $text['button-back']['ro'] = "Înapoi"; +$text['button-back']['ar-eg'] = "رجوع"; $text['button-advanced']['en-us'] = "Advanced"; $text['button-advanced']['es-cl'] = "Avanzado"; @@ -1494,6 +1629,7 @@ $text['button-advanced']['uk'] = "Додатково"; $text['button-advanced']['sv-se'] = "Avancerat"; $text['button-advanced']['de-at'] = "Erweitert"; $text['button-advanced']['ro'] = "Avansat"; +$text['button-advanced']['ar-eg'] = ""; $text['button-add']['en-us'] = "Add"; $text['button-add']['es-cl'] = "Agregar"; @@ -1505,5 +1641,6 @@ $text['button-add']['uk'] = "Додати"; $text['button-add']['sv-se'] = "Lägg Till"; $text['button-add']['de-at'] = "Hinzufügen"; $text['button-add']['ro'] = "Adaugă"; +$text['button-add']['ar-eg'] = "اضافة"; ?> \ No newline at end of file diff --git a/app/extensions/app_menu.php b/app/extensions/app_menu.php index 8d07e2aa48..4d4dd7dc4b 100644 --- a/app/extensions/app_menu.php +++ b/app/extensions/app_menu.php @@ -12,6 +12,7 @@ $apps[$x]['menu'][0]['title']['uk'] = "Розширення"; $apps[$x]['menu'][0]['title']['sv-se'] = "Anknytningar"; $apps[$x]['menu'][0]['title']['ro'] = "Extensii"; $apps[$x]['menu'][0]['title']['de-at'] = "Nebenstellen"; +$apps[$x]['menu'][0]['title']['ar-eg'] = "الأرقام الداخلية"; $apps[$x]['menu'][0]['uuid'] = "d3036a99-9a9f-2ad6-a82a-1fe7bebbe2d3"; $apps[$x]['menu'][0]['parent_uuid'] = "bc96d773-ee57-0cdd-c3ac-2d91aba61b55"; $apps[$x]['menu'][0]['category'] = "internal"; diff --git a/app/extensions/extension_edit.php b/app/extensions/extension_edit.php index 3407fdeedc..485d721859 100644 --- a/app/extensions/extension_edit.php +++ b/app/extensions/extension_edit.php @@ -474,9 +474,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { $sql .= "'$extension_uuid', "; $sql .= "'$extension', "; $sql .= "'$number_alias', "; - if (permission_exists('extension_password')) { - $sql .= "'$password', "; - } + $sql .= "'$password', "; if (if_group("superadmin") || (if_group("admin") && $billing_app_exists)) { $sql .= "'$accountcode', "; } diff --git a/app/fax/fax_send.php b/app/fax/fax_send.php index 8945231095..cbd205bb87 100644 --- a/app/fax/fax_send.php +++ b/app/fax/fax_send.php @@ -29,6 +29,8 @@ if (!isset($included)) { $included = false; } +if (stristr(PHP_OS, 'WIN')) { $IS_WINDOWS = true; } else { $IS_WINDOWS = false; } + if (!$included) { include "root.php"; @@ -97,6 +99,22 @@ if (!$included) { } +function correct_path($p) { + global $IS_WINDOWS; + if ($IS_WINDOWS) { + return str_replace('/', '\\', $p); + } + return $p; +} + +function gs_cmd($args) { + global $IS_WINDOWS; + if ($IS_WINDOWS) { + return 'gswin32c '.$args; + } + return 'gs '.$args; +} + //get the fax extension if (strlen($fax_extension) > 0) { //set the fax directories. example /usr/local/freeswitch/storage/fax/329/inbox @@ -260,11 +278,17 @@ if (!$included) { //convert uploaded pdf to tif if (file_exists($dir_fax_temp.'/'.$fax_name.'.pdf')) { chdir($dir_fax_temp); - exec("gs -q -sDEVICE=tiffg3 -r".$gs_r." -g".$gs_g." -dNOPAUSE -sOutputFile=".$fax_name.".tif -- ".$fax_name.".pdf -c quit"); //convert pdf to tif + + //convert pdf to tif + $cmd = gs_cmd("-q -sDEVICE=tiffg3 -r".$gs_r." -g".$gs_g." -dNOPAUSE -sOutputFile=".correct_path($fax_name).".tif -- ".correct_path($fax_name).".pdf -c quit"); + // echo($cmd . "
\n"); + exec($cmd); @unlink($dir_fax_temp.'/'.$fax_name.'.pdf'); } - $tif_page_count = exec("tiffinfo ".$dir_fax_temp.'/'.$fax_name.".tif | grep \"Page Number\" | grep -c \"P\""); + $cmd = "tiffinfo ".correct_path($dir_fax_temp.'/'.$fax_name).".tif | grep \"Page Number\" | grep -c \"P\""; + // echo($cmd . "
\n"); + $tif_page_count = exec($cmd); if ($tif_page_count != '') { $fax_page_count += $tif_page_count; } @@ -433,7 +457,9 @@ if (!$included) { //convert pdf to tif, add to array of pages, delete pdf if (file_exists($dir_fax_temp.'/'.$fax_instance_uuid.'_cover.pdf')) { chdir($dir_fax_temp); - exec("gs -q -sDEVICE=tiffg3 -r".$gs_r." -g".$gs_g." -dNOPAUSE -sOutputFile=".$fax_instance_uuid."_cover.tif -- ".$fax_instance_uuid."_cover.pdf -c quit"); + $cmd = gs_cmd("-q -sDEVICE=tiffg3 -r".$gs_r." -g".$gs_g." -dNOPAUSE -sOutputFile=".correct_path($fax_instance_uuid)."_cover.tif -- ".correct_path($fax_instance_uuid)."_cover.pdf -c quit"); + // echo($cmd . "
\n"); + exec($cmd); if (is_array($tif_files) && sizeof($tif_files) > 0) { array_unshift($tif_files, $dir_fax_temp.'/'.$fax_instance_uuid.'_cover.tif'); } @@ -448,19 +474,46 @@ if (!$included) { if (is_array($tif_files) && sizeof($tif_files) > 0) { $cmd = "tiffcp -c none "; foreach ($tif_files as $tif_file) { - $cmd .= $tif_file.' '; + $cmd .= correct_path($tif_file) . ' '; } - $cmd .= $dir_fax_temp.'/'.$fax_instance_uuid.'.tif'; + $cmd .= correct_path($dir_fax_temp.'/'.$fax_instance_uuid.'.tif'); + //echo($cmd . "
\n"); exec($cmd); + foreach ($tif_files as $tif_file) { @unlink($tif_file); } + //generate pdf (a work around, as tiff2pdf was improperly inverting the colors) - exec("tiff2pdf -u i -p ".$fax_page_size." -w ".$page_width." -l ".$page_height." -f -o ".$dir_fax_temp.'/'.$fax_instance_uuid.".pdf ".$dir_fax_temp.'/'.$fax_instance_uuid.".tif"); + $cmd = 'tiff2pdf -u i -p '.$fax_page_size. + ' -w '.$page_width. + ' -l '.$page_height. + ' -f -o '. + correct_path($dir_fax_temp.'/'.$fax_instance_uuid.'.pdf').' '. + correct_path($dir_fax_temp.'/'.$fax_instance_uuid.'.tif'); + // echo($cmd . "
\n"); + exec($cmd); + chdir($dir_fax_temp); - exec("gs -q -sDEVICE=tiffg3 -r".$gs_r." -g".$gs_g." -dNOPAUSE -sOutputFile=".$fax_instance_uuid."_temp.tif -- ".$fax_instance_uuid.".pdf -c quit"); //convert pdf to tif + + //convert pdf to tif + $cmd = gs_cmd('-q -sDEVICE=tiffg3 -r'.$gs_r.' -g'.$gs_g.' -dNOPAUSE -sOutputFile='. + correct_path($fax_instance_uuid.'_temp.tif'). + ' -- '.$fax_instance_uuid.'.pdf -c quit'); + // echo($cmd . "
\n"); + exec($cmd); + @unlink($dir_fax_temp.'/'.$fax_instance_uuid.".pdf"); - exec("tiff2pdf -u i -p ".$fax_page_size." -w ".$page_width." -l ".$page_height." -f -o ".$dir_fax_temp.'/'.$fax_instance_uuid.".pdf ".$dir_fax_temp.'/'.$fax_instance_uuid."_temp.tif"); + + $cmd = 'tiff2pdf -u i -p '.$fax_page_size. + ' -w '.$page_width. + ' -l '.$page_height. + ' -f -o '. + correct_path($dir_fax_temp.'/'.$fax_instance_uuid.'.pdf').' '. + correct_path($dir_fax_temp.'/'.$fax_instance_uuid.'_temp.tif'); + // echo($cmd . "
\n"); + exec($cmd); + @unlink($dir_fax_temp.'/'.$fax_instance_uuid."_temp.tif"); } else { @@ -568,9 +621,12 @@ if (!$included) { sleep(5); //move the generated tif (and pdf) files to the sent directory - exec("cp ".$dir_fax_temp.'/'.$fax_instance_uuid.".tif ".$dir_fax_sent.'/'.$fax_instance_uuid.".tif"); + if (file_exists($dir_fax_temp.'/'.$fax_instance_uuid.".tif")) { + copy($dir_fax_temp.'/'.$fax_instance_uuid.".tif", $dir_fax_sent.'/'.$fax_instance_uuid.".tif"); + } + if (file_exists($dir_fax_temp.'/'.$fax_instance_uuid.".pdf")) { - exec("cp ".$dir_fax_temp.'/'.$fax_instance_uuid.".pdf ".$dir_fax_sent.'/'.$fax_instance_uuid.".pdf"); + copy($dir_fax_temp.'/'.$fax_instance_uuid.".pdf ", $dir_fax_sent.'/'.$fax_instance_uuid.".pdf"); } if (!$included) { diff --git a/app/hot_desking/app_config.php b/app/hot_desking/app_config.php deleted file mode 100644 index e926eccf6f..0000000000 --- a/app/hot_desking/app_config.php +++ /dev/null @@ -1,37 +0,0 @@ - \ No newline at end of file diff --git a/app/hot_desking/app_languages.php b/app/hot_desking/app_languages.php deleted file mode 100644 index 956d755f80..0000000000 --- a/app/hot_desking/app_languages.php +++ /dev/null @@ -1,246 +0,0 @@ - \ No newline at end of file diff --git a/app/hot_desking/app_menu.php b/app/hot_desking/app_menu.php deleted file mode 100644 index 71eee50f07..0000000000 --- a/app/hot_desking/app_menu.php +++ /dev/null @@ -1,19 +0,0 @@ - \ No newline at end of file diff --git a/app/hot_desking/extension_delete.php b/app/hot_desking/extension_delete.php deleted file mode 100644 index 834e95f2c1..0000000000 --- a/app/hot_desking/extension_delete.php +++ /dev/null @@ -1,81 +0,0 @@ - - Portions created by the Initial Developer are Copyright (C) 2008-2015 - the Initial Developer. All Rights Reserved. - - Contributor(s): - Mark J Crane -*/ -include "root.php"; -require_once "resources/require.php"; -require_once "resources/check_auth.php"; -if (permission_exists('extension_delete')) { - //access granted -} -else { - echo "access denied"; - exit; -} - -//add multi-lingual support - $language = new text; - $text = $language->get(); - -//get the id - if (count($_GET) > 0) { - $id = check_str($_GET["id"]); - } - -//delete the hot desking information - if (strlen($id) > 0) { - $sql = "update v_extensions set "; - $sql .= "unique_id = null, "; - $sql .= "dial_user = null, "; - $sql .= "dial_domain = null, "; - $sql .= "dial_string = null "; - $sql .= "where domain_uuid = '$domain_uuid' "; - $sql .= "and extension_uuid = '$id' "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - unset($prep_statement, $sql); - } - -//get the extension - $sql = "select extension from v_extensions "; - $sql .= "where domain_uuid = '$domain_uuid' "; - $sql .= "and extension_uuid = '$id' "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - foreach ($result as &$row) { - $extension = $row["extension"]; - } - unset ($prep_statement); - -//clear the cache - $cache = new cache; - $cache->delete("directory:".$extension."@".$_SESSION['domain_name']); - -//redirect the user - $_SESSION["message"] = $text['message-delete']; - header("Location: index.php"); - return; - -?> \ No newline at end of file diff --git a/app/hot_desking/extension_edit.php b/app/hot_desking/extension_edit.php deleted file mode 100644 index b511cb4127..0000000000 --- a/app/hot_desking/extension_edit.php +++ /dev/null @@ -1,322 +0,0 @@ - - Copyright (C) 2008-2015 All Rights Reserved. - - Contributor(s): - Mark J Crane - Luis Daniel Lucio Quiroz -*/ -include "root.php"; -require_once "resources/require.php"; -require_once "resources/check_auth.php"; -if (permission_exists('extension_add') || permission_exists('extension_edit')) { - //access granted -} -else { - echo "access denied"; - exit; -} - -//add multi-lingual support - $language = new text; - $text = $language->get(); - -//set the action as an add or an update - if (isset($_REQUEST["id"])) { - $action = "update"; - $extension_uuid = check_str($_REQUEST["id"]); - } - else { - $action = "add"; - } - -//get the http values and set them as php variables - if (count($_POST) > 0) { - //get the values from the HTTP POST and save them as PHP variables - $extension_uuid = check_str($_POST["extension_uuid"]); - $unique_id = check_str($_POST["unique_id"]); - $vm_password = check_str($_POST["vm_password"]); - $dial_string = check_str($_POST["dial_string"]); - } - -if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { - - //check for all required data - if (strlen($extension_uuid) == 0) { $msg .= $text['message-required'].$text['label-extension']."
\n"; } - if (strlen($unique_id) == 0) { $msg .= $text['message-required'].$text['label-unique_id']."
\n"; } - //get the number of rows in v_extensions - $sql = "select count(*) as num_rows from v_extensions "; - $sql .= "where unique_id = '".$unique_id."' and "; - $sql .= "extension_uuid <> '".$extension_uuid."'"; - $prep_statement = $db->prepare(check_sql($sql)); - if ($prep_statement) { - $prep_statement->execute(); - $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - if ($row['num_rows'] > 0) { - $msg .= $text['message-unique']."
\n"; - } - } - unset($prep_statement, $result); - if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) { - require_once "resources/header.php"; - require_once "resources/persist_form_var.php"; - echo "
\n"; - echo "
\n"; - echo $msg."
"; - echo "
\n"; - persistformvar($_POST); - echo "
\n"; - require_once "resources/footer.php"; - return; - } - - //set the default user context - if (if_group("superadmin")) { - //allow a user assigned to super admin to change the user_context - } - else { - //if the user_context was not set then set the default value - if (strlen($user_context) == 0) { - $user_context = $_SESSION['domain_name']; - } - } - - //add or update the database - if ($_POST["persistformvar"] != "true") { - - //get the extension - $sql = "select * from v_extensions "; - $sql .= "where domain_uuid = '$domain_uuid' "; - $sql .= "and extension_uuid = '$extension_uuid' "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - foreach ($result as &$row) { - $extension = $row["extension"]; - $number_alias = $row["number_alias"]; - } - unset ($prep_statement); - - //update the extension and voicemail - if (($action == "add" && permission_exists('extension_add')) || ($action == "update" && permission_exists('extension_edit'))) { - //update the extension - $sql = "update v_extensions set "; - $sql .= "unique_id = '$unique_id' "; - $sql .= "where domain_uuid = '$domain_uuid' "; - $sql .= "and extension_uuid = '$extension_uuid'"; - $db->exec(check_sql($sql)); - unset($sql); - - //update the voicemail - if (strlen($vm_password) > 0) { - $sql = "update v_voicemails set "; - $sql .= "voicemail_password = '$vm_password' "; - $sql .= "where domain_uuid = '$domain_uuid' "; - if (is_numeric($extension)) { - $sql .= "and voicemail_id = '$extension'"; - } - else { - $sql .= "and voicemail_id = '$number_alias'"; - } - $db->exec(check_sql($sql)); - unset($sql); - } - } - - //clear the cache - $cache = new cache; - $cache->delete("directory:".$extension."@".$_SESSION['domain_name']); - - //set message and redirect user - if ($action == "add") { - $_SESSION["message"] = $text['message-add']; - } - if ($action == "update") { - $_SESSION["message"] = $text['message-update']; - } - header("Location: index.php"); - return; - - } //if ($_POST["persistformvar"] != "true") -} //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) - -//pre-populate the form - if ($_POST["persistformvar"] != "true") { - //get the extension data - $sql = "select * from v_extensions "; - $sql .= "where domain_uuid = '$domain_uuid' "; - $sql .= "and extension_uuid = '$extension_uuid' "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - foreach ($result as &$row) { - $extension = $row["extension"]; - $dial_string = $row["dial_string"]; - $unique_id = $row["unique_id"]; - } - unset ($prep_statement); - - //get the voicemail data - $sql = "select * from v_voicemails "; - $sql .= "where domain_uuid = '$domain_uuid' "; - if (is_numeric($extension)) { - $sql .= "and voicemail_id = '$extension' "; - } - else { - $sql .= "and voicemail_id = '$number_alias' "; - } - //$sql .= "and voicemail_enabled = 'true' "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - foreach ($result as &$row) { - $vm_password = $row["voicemail_password"]; - } - unset ($prep_statement); - } - -//set the defaults - if (strlen($limit_max) == 0) { $limit_max = '5'; } - -//begin the page content - require_once "resources/header.php"; - - echo ""; - - echo "
\n"; - echo "\n"; - echo "\n"; - echo " \n"; - echo " \n"; - echo "\n"; - - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - if ($action == "update") { - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - echo "\n"; - } - - echo "\n"; - echo "\n"; - echo "\n"; - - echo "
\n"; - echo " ".$text['header-hot_desking']."\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
\n"; - echo " ".$text['label-extension']."\n"; - echo "\n"; - if ($action == "add") { - echo "
\n"; - echo $text['description-extension-add']."\n"; - } - if ($action == "update") { - echo " $extension
\n"; - echo $text['description-extension-edit']."\n"; - } - echo "
\n"; - - echo "
\n"; - echo " ".$text['label-unique_id']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-unique_id']."\n"; - echo "
\n"; - echo " ".$text['label-voicemail_password']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo " ".$text['description-voicemail_password']."\n"; - echo "
\n"; - echo " ".$text['label-dial_string']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-dial_string']."\n"; - echo "
\n"; - echo "
"; - echo " \n"; - echo "
"; - echo "

"; - echo "
"; - -require_once "resources/footer.php"; -?> diff --git a/app/hot_desking/index.php b/app/hot_desking/index.php deleted file mode 100644 index 53846084f8..0000000000 --- a/app/hot_desking/index.php +++ /dev/null @@ -1,176 +0,0 @@ - - Portions created by the Initial Developer are Copyright (C) 2008-2012 - the Initial Developer. All Rights Reserved. - - Contributor(s): - Mark J Crane -*/ -include "root.php"; -require_once "resources/require.php"; -require_once "resources/check_auth.php"; -if (permission_exists('extension_view')) { - //access granted -} -else { - echo "access denied"; - exit; -} - -//add multi-lingual support - $language = new text; - $text = $language->get(); - -//includes and title - require_once "resources/header.php"; - $document['title'] = $text['title-hot_desking']; - require_once "resources/paging.php"; - -//get the http values and set them as variables - if (isset($_GET["order_by"])) { - $order_by = check_str($_GET["order_by"]); - $order = check_str($_GET["order"]); - } - -//show the content - echo "\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
".$text['header-hot_desking']."
\n"; - echo " ".$text['description-hot_desking']."\n"; - echo "
\n"; - echo "
"; - - //get the number of rows in v_extensions - $sql = "select count(*) as num_rows from v_extensions "; - $sql .= "where domain_uuid = '$domain_uuid' "; - $sql .= "and unique_id is not null "; - $prep_statement = $db->prepare(check_sql($sql)); - if ($prep_statement) { - $prep_statement->execute(); - $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - if ($row['num_rows'] > 0) { - $num_rows = $row['num_rows']; - } - else { - $num_rows = '0'; - } - } - unset($prep_statement, $result); - - //prepare to page the results - $rows_per_page = 150; - $param = ""; - if (!isset($_GET['page'])) { $_GET['page'] = 0; } - $_GET['page'] = check_str($_GET['page']); - list($paging_controls, $rows_per_page, $var_3) = paging($num_rows, $param, $rows_per_page); - $offset = $rows_per_page * $_GET['page']; - - //get the extension list - $sql = "select * from v_extensions "; - $sql .= "where domain_uuid = '$domain_uuid' "; - $sql .= "and unique_id is not null "; - if (isset($order_by)) { - $sql .= "order by $order_by $order "; - } - else { - $sql .= "order by extension asc "; - } - $sql .= " limit $rows_per_page offset $offset "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - $result_count = count($result); - unset ($prep_statement, $sql); - - $c = 0; - $row_style["0"] = "row_style0"; - $row_style["1"] = "row_style1"; - - echo "\n"; - echo "\n"; - echo th_order_by('extension', $text['label-extension'], $order_by, $order); - echo th_order_by('unique_id', $text['label-unique_id'], $order_by, $order); - echo th_order_by('dial_user', $text['label-forward_to'], $order_by, $order); - echo th_order_by('description', $text['label-description'], $order_by, $order); - echo "\n"; - echo "\n"; - - if ($result_count > 0) { - foreach($result as $row) { - $tr_link = (permission_exists('extension_edit')) ? "href='extension_edit.php?id=".$row['extension_uuid']."'" : null; - echo "\n"; - echo " \n"; - echo " \n"; - if (strlen($row['dial_user']) > 0) { - echo " \n"; - } - else { - echo " \n"; - } - echo " \n"; - echo " \n"; - echo "\n"; - if ($c==0) { $c=1; } else { $c=0; } - } //end foreach - unset($sql, $result, $row_count); - } //end if results - - echo "\n"; - echo "\n"; - echo "\n"; - - echo "
"; - if (permission_exists('extension_add')) { - echo "$v_link_label_add"; - } - echo "
"; - if (permission_exists('extension_edit')) { - echo "".$row['extension'].""; - } - else { - echo $row['extension']; - } - echo " ".$row['unique_id']." ".$row['dial_user']."@".$row['dial_domain']."  ".$row['description']." "; - if (permission_exists('extension_edit')) { - echo "$v_link_label_edit"; - } - if (permission_exists('extension_delete')) { - echo "$v_link_label_delete"; - } - echo "
\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
 $paging_controls"; - if (permission_exists('extension_add')) { - echo "$v_link_label_add"; - } - echo "
\n"; - echo "
"; - echo "

"; - -//show the footer - require_once "resources/footer.php"; -?> \ No newline at end of file diff --git a/app/hot_desking/resources/switch/conf/dialplan/470_hot-desk-login.xml b/app/hot_desking/resources/switch/conf/dialplan/470_hot-desk-login.xml deleted file mode 100644 index fbfca4e2bc..0000000000 --- a/app/hot_desking/resources/switch/conf/dialplan/470_hot-desk-login.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/app/hot_desking/resources/switch/conf/dialplan/475_hot-desk-logout.xml b/app/hot_desking/resources/switch/conf/dialplan/475_hot-desk-logout.xml deleted file mode 100644 index 2a68b950f7..0000000000 --- a/app/hot_desking/resources/switch/conf/dialplan/475_hot-desk-logout.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/app/hot_desking/root.php b/app/hot_desking/root.php deleted file mode 100644 index 7b882438ea..0000000000 --- a/app/hot_desking/root.php +++ /dev/null @@ -1,50 +0,0 @@ - - Portions created by the Initial Developer are Copyright (C) 2008-2012 - the Initial Developer. All Rights Reserved. - - Contributor(s): - Mark J Crane -*/ - -// make sure the PATH_SEPARATOR is defined - if (!defined("PATH_SEPARATOR")) { - if ( strpos( $_ENV[ "OS" ], "Win" ) !== false ) { define("PATH_SEPARATOR", ";"); } else { define("PATH_SEPARATOR", ":"); } - } - -// make sure the document_root is set - $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", "/", $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - //echo "DOCUMENT_ROOT: ".$_SERVER["DOCUMENT_ROOT"]."
\n"; - //echo "PHP_SELF: ".$_SERVER["PHP_SELF"]."
\n"; - //echo "SCRIPT_FILENAME: ".$_SERVER["SCRIPT_FILENAME"]."
\n"; - -// if the project directory exists then add it to the include path otherwise add the document root to the include path - if (is_dir($_SERVER["DOCUMENT_ROOT"].'/fusionpbx')){ - if(!defined('PROJECT_PATH')) { define('PROJECT_PATH', '/fusionpbx'); } - set_include_path( get_include_path() . PATH_SEPARATOR . $_SERVER["DOCUMENT_ROOT"].'/fusionpbx' ); - } - else { - if(!defined('PROJECT_PATH')) { define('PROJECT_PATH', ''); } - set_include_path( get_include_path() . PATH_SEPARATOR . $_SERVER['DOCUMENT_ROOT'] ); - } - -?> \ No newline at end of file diff --git a/app/provision/app_defaults.php b/app/provision/app_defaults.php index 7ed6abde36..942c228efd 100644 --- a/app/provision/app_defaults.php +++ b/app/provision/app_defaults.php @@ -63,7 +63,7 @@ $array[$x]['default_setting_category'] = 'provision'; $array[$x]['default_setting_subcategory'] = 'auto_insert_enabled'; $array[$x]['default_setting_name'] = 'boolean'; - $array[$x]['default_setting_value'] = 'false'; + $array[$x]['default_setting_value'] = 'true'; $array[$x]['default_setting_enabled'] = 'false'; $array[$x]['default_setting_description'] = ''; $x++; @@ -106,7 +106,7 @@ $array[$x]['default_setting_subcategory'] = 'voicemail_number'; $array[$x]['default_setting_name'] = 'text'; $array[$x]['default_setting_value'] = '*97'; - $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_enabled'] = 'true'; $array[$x]['default_setting_description'] = ''; $x++; $array[$x]['default_setting_category'] = 'provision'; @@ -129,6 +129,62 @@ $array[$x]['default_setting_value'] = '80'; $array[$x]['default_setting_enabled'] = 'true'; $array[$x]['default_setting_description'] = ''; + $x++; + $array[$x]['default_setting_category'] = 'provision'; + $array[$x]['default_setting_subcategory'] = 'polycom_gmt_offset'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = ''; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = '3600 * GMT offset'; + $x++; + $array[$x]['default_setting_category'] = 'provision'; + $array[$x]['default_setting_subcategory'] = 'http_domain_filter'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = 'false'; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = ''; + $x++; + $array[$x]['default_setting_category'] = 'provision'; + $array[$x]['default_setting_subcategory'] = 'yealink_time_zone'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = '-6'; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = 'Time zone ranges from -11 to +12'; + $x++; + $array[$x]['default_setting_category'] = 'provision'; + $array[$x]['default_setting_subcategory'] = 'yealink_time_format'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = '1'; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = '0-12 Hour, 1-24 Hour'; + $x++; + $array[$x]['default_setting_category'] = 'provision'; + $array[$x]['default_setting_subcategory'] = 'yealink_date_format'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = '3'; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = '0-WWW MMM DD (default), 1-DD-MMM-YY, 2-YYYY-MM-DD, 3-DD/MM/YYYY, 4-MM/DD/YY, 5-DD MMM YYYY, 6-WWW DD MMM'; + $x++; + $array[$x]['default_setting_category'] = 'provision'; + $array[$x]['default_setting_subcategory'] = 'directory'; + $array[$x]['default_setting_name'] = 'boolean'; + $array[$x]['default_setting_value'] = 'true'; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = ''; + $x++; + $array[$x]['default_setting_category'] = 'ntp_server_primary'; + $array[$x]['default_setting_subcategory'] = 'directory'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = 'pool.ntp.org'; + $array[$x]['default_setting_enabled'] = 'true'; + $array[$x]['default_setting_description'] = ''; + $x++; + $array[$x]['default_setting_category'] = 'ntp_server_secondary'; + $array[$x]['default_setting_subcategory'] = 'directory'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = '2.us.pool.ntp.org'; + $array[$x]['default_setting_enabled'] = 'true'; + $array[$x]['default_setting_description'] = ''; //get an array of the default settings $sql = "select * from v_default_settings "; diff --git a/app/provision/resources/classes/provision.php b/app/provision/resources/classes/provision.php index cfc27e55e9..237de12212 100644 --- a/app/provision/resources/classes/provision.php +++ b/app/provision/resources/classes/provision.php @@ -316,7 +316,6 @@ include "root.php"; $prep_statement_4->execute(); $row = $prep_statement_4->fetch(); $device_label = $row["device_label"]; - $device_vendor = strtolower($row["device_vendor"]); $device_firmware_version = $row["device_firmware_version"]; $device_provision_enable = $row["device_provision_enable"]; //keep the original template @@ -466,7 +465,7 @@ include "root.php"; $sql .= "or device_profile_uuid = '".$device_profile_uuid."' "; } $sql .= ") "; - //$sql .= "AND domain_uuid = '".$domain_uuid."' "; + $sql .= "AND (device_key_vendor = '".$device_vendor."' or device_key_vendor is null) "; $sql .= "ORDER BY device_key_category asc, device_key_id asc, device_uuid desc"; $prep_statement = $this->db->prepare(check_sql($sql)); $prep_statement->execute(); @@ -793,8 +792,9 @@ include "root.php"; if ($file != "." AND $file != ".."){ $new_path = $dir.'/'.$file; $level = explode('/',$new_path); - if (substr($new_path, -4) == ".svn") { - //ignore .svn dir and subdir + if (substr($new_path, -4) == ".svn" || + substr($new_path, -4) == ".git") { + //ignore .svn and .git dir and subdir } elseif (substr($new_path, -3) == ".db") { //ignore .db files diff --git a/app/registrations/status_registrations_inc.php b/app/registrations/status_registrations_inc.php index f8270ddd84..e4efaba3ac 100644 --- a/app/registrations/status_registrations_inc.php +++ b/app/registrations/status_registrations_inc.php @@ -110,7 +110,9 @@ require_once "resources/check_auth.php"; //remove unrelated domains if (count($_SESSION["domains"]) > 1) { if (!(permission_exists('registration_all') && $show == "all")) { - if ($registrations[$x]['sip-auth-realm'] != $_SESSION['domain_name']) { + if ($registrations[$x]['sip-auth-realm'] == $_SESSION['domain_name']) {} + elseif ($user_array[1] == $_SESSION['domain_name']){} + else { unset($registrations[$x]); } } diff --git a/app/sip_profiles/app_defaults.php b/app/sip_profiles/app_defaults.php index 0e87889da4..24d9cf2d80 100644 --- a/app/sip_profiles/app_defaults.php +++ b/app/sip_profiles/app_defaults.php @@ -61,13 +61,13 @@ $row = $prep_statement->fetch(PDO::FETCH_ASSOC); if ($row['num_rows'] == 0) { if (file_exists('/usr/share/examples/fusionpbx/resources/templates/conf/sip_profiles')) { - $sip_profile_dir = '/usr/share/examples/fusionpbx/resources/templates/conf/sip_profiles/*.xml'; + $sip_profile_dir = '/usr/share/examples/fusionpbx/resources/templates/conf/sip_profiles/*.xml.noload'; } elseif (file_exists('/usr/local/share/fusionpbx/resources/templates/conf/sip_profiles')) { - $sip_profile_dir = '/usr/local/share/fusionpbx/resources/templates/conf/sip_profiles/*.xml'; + $sip_profile_dir = '/usr/local/share/fusionpbx/resources/templates/conf/sip_profiles/*.xml.noload'; } else { - $sip_profile_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/templates/conf/sip_profiles/*.xml'; + $sip_profile_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/templates/conf/sip_profiles/*.xml.noload'; } $db->beginTransaction(); $xml_files = glob($sip_profile_dir); diff --git a/app/sip_profiles/sip_profile_edit.php b/app/sip_profiles/sip_profile_edit.php index 7d4cc01e49..9d9dbfdeea 100644 --- a/app/sip_profiles/sip_profile_edit.php +++ b/app/sip_profiles/sip_profile_edit.php @@ -161,6 +161,12 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { //redirect the browser $_SESSION["message"] = $text['message-update']; header("Location: sip_profiles.php"); + + //save the sip profile xml + save_sip_profile_xml(); + //apply settings reminder + $_SESSION["reload_xml"] = true; + return; } //if ($_POST["persistformvar"] != "true") } //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) diff --git a/app/time_conditions/time_condition_edit.php b/app/time_conditions/time_condition_edit.php index ef8f011931..c2ff55e645 100644 --- a/app/time_conditions/time_condition_edit.php +++ b/app/time_conditions/time_condition_edit.php @@ -562,7 +562,7 @@ require_once "resources/header.php"; $time_condition_vars["week"] = $text['label-week-of-year']; $time_condition_vars["mweek"] = $text['label-week-of-month']; $time_condition_vars["hour"] = $text['label-hour-of-day']; - $time_condition_vars["minute"] = $text['label-minute-of-hour']; + //$time_condition_vars["minute"] = $text['label-minute-of-hour']; //$time_condition_vars["minute-of-day"] = $text['label-minute-of-day']; $time_condition_vars["time-of-day"] = $text['label-time-of-day']; $time_condition_vars["date-time"] = $text['label-date-and-time']; @@ -685,13 +685,6 @@ require_once "resources/header.php"; } break; - case 'minute': //minutes of hour - for (m = 0; m <= 59; m++) { - sel_start.options[sel_start.options.length] = new Option(pad(m, 2), m); //pad function defined below - sel_stop.options[sel_stop.options.length] = new Option(pad(m, 2), m); - } - break; - case 'time-of-day': //time of day for (h = 0; h <= 23; h++) { for (m = 0; m <= 55; m += 5) { diff --git a/app/vars/app_defaults.php b/app/vars/app_defaults.php index 2200587635..96309fd365 100644 --- a/app/vars/app_defaults.php +++ b/app/vars/app_defaults.php @@ -80,7 +80,7 @@ EOD; $country_list = <<prepare(check_sql($sql)); if ($prep_statement) { $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); - if ( count($result)> 0) { $country_iso = $result[0]["value"]; } } - unset($prep_statement, $sql, $result); - if ( $country_iso===NULL ) + if ( $country_iso===NULL ) { return; + } $countries = json_decode($country_list, true); @@ -380,7 +378,7 @@ EOD; $sql .= ");"; $db->exec(check_sql($sql)); unset($sql, $row); - $x++; + $x++; } } unset($prep_statement, $sql); @@ -393,7 +391,6 @@ EOD; if ($prep_statement) { $prep_statement->execute(); $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - if ($row['num_rows'] == 0) { $sql = "insert into v_vars "; $sql .= "("; @@ -417,7 +414,7 @@ EOD; $sql .= ");"; $db->exec(check_sql($sql)); unset($sql, $row); - $x++; + $x++; } } unset($prep_statement, $sql); @@ -430,7 +427,6 @@ EOD; if ($prep_statement) { $prep_statement->execute(); $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - if ($row['num_rows'] == 0) { $sql = "insert into v_vars "; $sql .= "("; @@ -459,7 +455,7 @@ EOD; } unset($prep_statement, $sql); - unset($countries); + unset($countries); } } @@ -559,7 +555,7 @@ EOD; } } -//set country code variables + //set country code variables set_country_vars($db, $x); //save the vars.xml file diff --git a/app/xml_cdr/v_xml_cdr_import.php b/app/xml_cdr/v_xml_cdr_import.php index 90231c1460..4dfce90452 100644 --- a/app/xml_cdr/v_xml_cdr_import.php +++ b/app/xml_cdr/v_xml_cdr_import.php @@ -48,6 +48,19 @@ $insert_time=$insert_count=0; } + function xml_cdr_log($msg) { + global $debug; + if (!$debug) { + return; + } + $fp = fopen($_SESSION['server']['temp']['dir'].'/xml_cdr.log', 'a+'); + if (!$fp) { + return; + } + fwrite($fp, $msg); + fclose($fp); + } + //increase limits set_time_limit(3600); ini_set('memory_limit', '256M'); @@ -66,48 +79,27 @@ //set global variable global $debug; - //fix the xml by escaping the contents of - preg_match("/(.*)<\/sip_full_from>/", $xml_string, $matches); - $match_result = str_replace("<", "<", $matches[1]); - $match_result = str_replace(">", ">", $match_result); - $xml_string = str_replace($matches[1], $match_result, $xml_string); - - //fix the xml by escaping the contents of - preg_match("/(.*)<\/sip_full_to>/", $xml_string, $matches); - $match_result = str_replace("<", "<", $matches[1]); - $match_result = str_replace(">", ">", $match_result); - $xml_string = str_replace($matches[1], $match_result, $xml_string); - - //fix the xml by escaping the contents of - preg_match("/(.*)<\/caller_id>/", $xml_string, $matches); - $match_result = str_replace("<", "<", $matches[1]); - $match_result = str_replace(">", ">", $match_result); - $xml_string = str_replace($matches[1], $match_result, $xml_string); - - //fix the xml by escaping the contents of - preg_match("/(.*)<\/sip_invite_record_route>/", $xml_string, $matches); - $match_result = str_replace("<", "<", $matches[1]); - $match_result = str_replace(">", ">", $match_result); - $xml_string = str_replace($matches[1], $match_result, $xml_string); - - //fix the xml by escaping the contents of - preg_match("/(.*)<\/sip_Remote-Party-ID>/", $xml_string, $matches); - $match_result = str_replace("<", "<", $matches[1]); - $match_result = str_replace(">", ">", $match_result); - $xml_string = str_replace($matches[1], $match_result, $xml_string); - - //fix the xml by escaping the contents of - preg_match("/(.*)<\/sip_P-Preferred-Identity>/", $xml_string, $matches); - $match_result = str_replace("<", "<", $matches[1]); - $match_result = str_replace(">", ">", $match_result); - $xml_string = str_replace($matches[1], $match_result, $xml_string); + //fix the xml by escaping the contents of + $xml_string = preg_replace_callback("/<([^><]+)>(.*?[><].*?)<\/\g1>/", + function ($matches) { + return '<' . $matches[1] . '>' . + str_replace(">", ">", + str_replace("<", "<", $matches[2]) + ) . + ''; + }, + $xml_string + ); //parse the xml to get the call detail record info try { + xml_cdr_log($xml_string); $xml = simplexml_load_string($xml_string); + xml_cdr_log("\nxml load done\n"); } catch(Exception $e) { echo $e->getMessage(); + xml_cdr_log("\nfail loadxml: " . $e->getMessage() . "\n"); } //prepare the database object @@ -200,6 +192,8 @@ $domain_name = check_str(urldecode($xml->variables->domain_name)); $domain_uuid = check_str(urldecode($xml->variables->domain_uuid)); + xml_cdr_log("\ndomain_name is `$domain_name`; domain_uuid is '$domain_uuid'\n"); + //get the domain_uuid with the domain_name if (strlen($domain_uuid) == 0) { $sql = "select domain_uuid from v_domains "; @@ -500,6 +494,7 @@ if ($debug){ print_r ($_POST["cdr"]); } + //authentication for xml cdr http post if ($_SESSION["cdr"]["http_enabled"]["boolean"] == "true" && strlen($_SESSION["xml_cdr"]["username"]) == 0) { //get the contents of xml_cdr.conf.xml @@ -558,6 +553,7 @@ $leg = "b"; } + xml_cdr_log("process cdr via post\n"); //parse the xml and insert the data into the db process_xml_cdr($db, $leg, $xml_string); } @@ -598,9 +594,7 @@ ob_end_clean(); //clean the buffer $time = "\n\n$insert_count inserts in: ".number_format($insert_time,5). " seconds.\n"; $time .= "Other processing time: ".number_format((microtime(true)-$time5-$insert_time),5). " seconds.\n"; - $fp = fopen($_SESSION['server']['temp']['dir'].'/xml_cdr.log', 'w'); - fwrite($fp, $content.$time); - fclose($fp); + xml_cdr_log($content.$time); } ?> diff --git a/app/xml_cdr/xml_cdr_inc.php b/app/xml_cdr/xml_cdr_inc.php index 7e66001d39..911c94f92c 100644 --- a/app/xml_cdr/xml_cdr_inc.php +++ b/app/xml_cdr/xml_cdr_inc.php @@ -236,6 +236,7 @@ else { } } unset($prep_statement, $result); + //limit the number of results if ($num_rows > $_SESSION['cdr']['limit']['numeric']) { $num_rows = $_SESSION['cdr']['limit']['numeric']; @@ -268,11 +269,9 @@ else { $sql .= "caller_id_name, "; $sql .= "caller_id_number, "; $sql .= "destination_number, "; + $sql .= "accountcode, "; if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/billing/app_config.php")){ - $sql .= "accountcode, "; $sql .= "call_sell, "; - $sql .= "xml, "; - $sql .= "json, "; } if (permission_exists("xml_cdr_pdd")) { $sql .= "pdd_ms, "; diff --git a/core/databases/app_defaults.php b/core/databases/app_defaults.php index 3a19a770ab..7c40fae423 100644 --- a/core/databases/app_defaults.php +++ b/core/databases/app_defaults.php @@ -101,49 +101,54 @@ if ($domains_processed == 1) { } //config.lua - if (strlen($db_type) > 0) { - if (is_dir("/etc/fusionpbx")){ - $config = "/etc/fusionpbx/config.lua"; - } elseif (is_dir("/usr/local/etc/fusionpbx")){ - $config = "/usr/local/etc/fusionpbx/config.lua"; - } - else { - $config = $_SESSION['switch']['scripts']['dir']."/resources/config.lua"; - } - $fout = fopen($config,"w"); - $tmp = "\n"; - $tmp .= "--set the variables\n"; - if (strlen($_SESSION['switch']['sounds']['dir']) > 0) { - $tmp .= " sounds_dir = \"".$_SESSION['switch']['sounds']['dir']."\";\n"; - } - if (strlen($_SESSION['switch']['db']['dir']) > 0) { - $tmp .= " database_dir = \"".$_SESSION['switch']['db']['dir']."\";\n"; - } - if (strlen($_SESSION['switch']['recordings']['dir']) > 0) { - $tmp .= " recordings_dir = \"".$recordings_dir."\";\n"; - } - if (strlen($_SESSION['switch']['storage']['dir']) > 0) { - $tmp .= " storage_dir = \"".$_SESSION['switch']['storage']['dir']."\";\n"; - } - if (strlen($_SESSION['switch']['voicemail']['dir']) > 0) { - $tmp .= " voicemail_dir = \"".$_SESSION['switch']['voicemail']['dir']."\";\n"; - } - $tmp .= " php_dir = \"".PHP_BINDIR."\";\n"; - if (substr(strtoupper(PHP_OS), 0, 3) == "WIN") { - $tmp .= " php_bin = \"php.exe\";\n"; - } - else { - $tmp .= " php_bin = \"php\";\n"; - } - $tmp .= " document_root = \"".$_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."\";\n"; - $tmp .= "\n"; + if (is_dir("/etc/fusionpbx")){ + $config = "/etc/fusionpbx/config.lua"; + } elseif (is_dir("/usr/local/etc/fusionpbx")){ + $config = "/usr/local/etc/fusionpbx/config.lua"; + } + else { + $config = $_SESSION['switch']['scripts']['dir']."/resources/config.lua"; + } + $fout = fopen($config,"w"); + $tmp = "\n"; + $tmp .= "--set the variables\n"; + if (strlen($_SESSION['switch']['sounds']['dir']) > 0) { + $tmp .= " sounds_dir = [[".$_SESSION['switch']['sounds']['dir']."]];\n"; + } + if (strlen($_SESSION['switch']['db']['dir']) > 0) { + $tmp .= " database_dir = [[".$_SESSION['switch']['db']['dir']."]];\n"; + } + if (strlen($_SESSION['switch']['recordings']['dir']) > 0) { + $tmp .= " recordings_dir = [[".$recordings_dir."]];\n"; + } + if (strlen($_SESSION['switch']['storage']['dir']) > 0) { + $tmp .= " storage_dir = [[".$_SESSION['switch']['storage']['dir']."]];\n"; + } + if (strlen($_SESSION['switch']['voicemail']['dir']) > 0) { + $tmp .= " voicemail_dir = [[".$_SESSION['switch']['voicemail']['dir']."]];\n"; + } + $tmp .= " php_dir = [[".PHP_BINDIR."]];\n"; + if (substr(strtoupper(PHP_OS), 0, 3) == "WIN") { + $tmp .= " php_bin = \"php.exe\";\n"; + } + else { + $tmp .= " php_bin = \"php\";\n"; + } + $tmp .= " document_root = [[".$_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."]];\n"; + $tmp .= "\n"; + + if ((strlen($db_type) > 0) || (strlen($dsn_name) > 0)) { $tmp .= "--database information\n"; $tmp .= " database = {}\n"; $tmp .= " database[\"type\"] = \"".$db_type."\";\n"; $tmp .= " database[\"name\"] = \"".$db_name."\";\n"; $tmp .= " database[\"path\"] = \"".$db_path."\";\n"; - if ($db_type == "pgsql") { + if (strlen($dsn_name) > 0) { + $tmp .= " database[\"system\"] = \"odbc://".$dsn_name.":".$dsn_username.":".$dsn_password."\";\n"; + $tmp .= " database[\"switch\"] = \"odbc://freeswitch:".$dsn_username.":".$dsn_password."\";\n"; + } + elseif ($db_type == "pgsql") { if ($db_host == "localhost") { $db_host = "127.0.0.1"; } $tmp .= " database[\"system\"] = \"pgsql://hostaddr=".$db_host." port=".$db_port." dbname=".$db_name." user=".$db_username." password=".$db_password." options='' application_name='".$db_name."'\";\n"; $tmp .= " database[\"switch\"] = \"pgsql://hostaddr=".$db_host." port=".$db_port." dbname=freeswitch user=".$db_username." password=".$db_password." options='' application_name='freeswitch'\";\n"; @@ -153,37 +158,31 @@ if ($domains_processed == 1) { $tmp .= " database[\"switch\"] = \"sqlite://".$_SESSION['switch']['db']['dir']."\";\n"; } elseif ($db_type == "mysql") { - if (strlen($dsn_name) > 0) { - $tmp .= " database[\"system\"] = \"odbc://".$dsn_name.":".$dsn_username.":".$dsn_password."\";\n"; - $tmp .= " database[\"switch\"] = \"odbc://freeswitch:".$dsn_username.":".$dsn_password."\";\n"; - } - else { - $tmp .= " database[\"system\"] = \"\";\n"; - $tmp .= " database[\"switch\"] = \"\";\n"; - } - } - - $tmp .= "\n"; - $tmp .= "--additional info\n"; - $tmp .= " domain_count = ".count($_SESSION["domains"]).";\n"; - $tmp .= " temp_dir = \"".$_SESSION['server']['temp']['dir']."\";\n"; - if (isset($_SESSION['domain']['dial_string']['text'])) { - $tmp .= " dial_string = \"".$_SESSION['domain']['dial_string']['text']."\";\n"; + $tmp .= " database[\"system\"] = \"\";\n"; + $tmp .= " database[\"switch\"] = \"\";\n"; } $tmp .= "\n"; - $tmp .= "--include local.lua\n"; - $tmp .= " dofile(scripts_dir..\"/resources/functions/file_exists.lua\");\n"; - $tmp .= " if (file_exists(\"/etc/fusionpbx/local.lua\")) then\n"; - $tmp .= " dofile(\"/etc/fusionpbx/local.lua\");\n"; - $tmp .= " elseif (file_exists(\"/usr/local/etc/fusionpbx/local.lua\")) then\n"; - $tmp .= " dofile(\"/usr/local/etc/fusionpbx/local.lua\");\n"; - $tmp .= " elseif (file_exists(scripts_dir..\"/resources/local.lua\")) then\n"; - $tmp .= " dofile(scripts_dir..\"/resources/local.lua\");\n"; - $tmp .= " end\n"; - fwrite($fout, $tmp); - unset($tmp); - fclose($fout); } + + $tmp .= "--additional info\n"; + $tmp .= " domain_count = ".count($_SESSION["domains"]).";\n"; + $tmp .= " temp_dir = [[".$_SESSION['server']['temp']['dir']."]];\n"; + if (isset($_SESSION['domain']['dial_string']['text'])) { + $tmp .= " dial_string = \"".$_SESSION['domain']['dial_string']['text']."\";\n"; + } + $tmp .= "\n"; + $tmp .= "--include local.lua\n"; + $tmp .= " dofile(scripts_dir..\"/resources/functions/file_exists.lua\");\n"; + $tmp .= " if (file_exists(\"/etc/fusionpbx/local.lua\")) then\n"; + $tmp .= " dofile(\"/etc/fusionpbx/local.lua\");\n"; + $tmp .= " elseif (file_exists(\"/usr/local/etc/fusionpbx/local.lua\")) then\n"; + $tmp .= " dofile(\"/usr/local/etc/fusionpbx/local.lua\");\n"; + $tmp .= " elseif (file_exists(scripts_dir..\"/resources/local.lua\")) then\n"; + $tmp .= " dofile(scripts_dir..\"/resources/local.lua\");\n"; + $tmp .= " end\n"; + fwrite($fout, $tmp); + unset($tmp); + fclose($fout); } } ?> \ No newline at end of file diff --git a/core/databases/app_languages.php b/core/databases/app_languages.php index 629c62caad..3f0b75ff35 100644 --- a/core/databases/app_languages.php +++ b/core/databases/app_languages.php @@ -9,6 +9,7 @@ $text['title-databases']['pl'] = "Bazy danych"; $text['title-databases']['sv-se'] = "Databaser"; $text['title-databases']['uk'] = "Бази даних"; $text['title-databases']['de-at'] = "Datenbanken"; +$text['title-databases']['ar-eg'] = "قواعد البيانات"; $text['title-database-edit']['en-us'] = "Database Edit"; $text['title-database-edit']['es-cl'] = "Editar base de datos"; @@ -19,6 +20,7 @@ $text['title-database-edit']['pl'] = "Edytuj bazę danych"; $text['title-database-edit']['sv-se'] = "Ändra Databas"; $text['title-database-edit']['uk'] = "Редагування бази даних"; $text['title-database-edit']['de-at'] = "Datenbank editieren"; +$text['title-database-edit']['ar-eg'] = "تعديل قاعدة البيانات"; $text['title-database-add']['en-us'] = "Database Add"; $text['title-database-add']['es-cl'] = "Agregar Base de Datos"; @@ -29,6 +31,7 @@ $text['title-database-add']['pl'] = "Dodaj bazę danych"; $text['title-database-add']['sv-se'] = "Lägg Till Databas"; $text['title-database-add']['uk'] = "Додавання бази даних"; $text['title-database-add']['de-at'] = "Datenbank hinzufügen"; +$text['title-database-add']['ar-eg'] = "إضافة قاعدة بيانات"; $text['message-update']['en-us'] = "Update Completed"; $text['message-update']['es-cl'] = "Actualización Completada"; @@ -39,6 +42,7 @@ $text['message-update']['pl'] = "Zaktualizowano poprawnie"; $text['message-update']['sv-se'] = "Uppdatering Klar"; $text['message-update']['uk'] = "Оновлення завершено"; $text['message-update']['de-at'] = "Aktualisierung durchgeführt"; +$text['message-update']['ar-eg'] = "اكتمال التحديث"; $text['message-required']['en-us'] = "Please provide: "; $text['message-required']['es-cl'] = "Por favor indique: "; @@ -49,6 +53,7 @@ $text['message-required']['pl'] = "Wpisz:"; $text['message-required']['sv-se'] = "Var god uppge:"; $text['message-required']['uk'] = "Будь ласка, вкажіть:"; $text['message-required']['de-at'] = "Bitte geben Sie folgendes an:"; +$text['message-required']['ar-eg'] = "من فضلك أدخل"; $text['message-message']['en-us'] = "Message"; $text['message-message']['es-cl'] = "Mensaje"; @@ -59,6 +64,7 @@ $text['message-message']['pl'] = "Wiadomość"; $text['message-message']['sv-se'] = "Meddelande"; $text['message-message']['uk'] = "Повідомлення"; $text['message-message']['de-at'] = "Nachricht"; +$text['message-message']['ar-eg'] = "رسالة"; $text['message-delete']['en-us'] = "Delete Completed"; $text['message-delete']['es-cl'] = "Eliminación Completada"; @@ -69,6 +75,7 @@ $text['message-delete']['pl'] = "Usunięto poprawnie"; $text['message-delete']['sv-se'] = "Borttagning Klar"; $text['message-delete']['uk'] = "Видалено"; $text['message-delete']['de-at'] = "Erfolgreich gelöscht"; +$text['message-delete']['ar-eg'] = "تم المسح"; $text['message-add']['en-us'] = "Add Completed"; $text['message-add']['es-cl'] = "Agregar Completado"; @@ -79,6 +86,7 @@ $text['message-add']['pl'] = "Dodano poprawnie"; $text['message-add']['sv-se'] = "Tillagd"; $text['message-add']['uk'] = "Додано"; $text['message-add']['de-at'] = "Erfolgreich hinzugefügt"; +$text['message-add']['ar-eg'] = "تمت الأضافة"; $text['label-username']['en-us'] = "Username"; $text['label-username']['es-cl'] = "Nombre de usuario"; @@ -89,6 +97,7 @@ $text['label-username']['pl'] = "Użytkownik"; $text['label-username']['sv-se'] = "Användarnamn"; $text['label-username']['uk'] = "Ім’я користувача"; $text['label-username']['de-at'] = "Benutzername"; +$text['label-username']['ar-eg'] = "اسم المستخدم"; $text['label-type']['en-us'] = "Type"; $text['label-type']['es-cl'] = "Tipo"; @@ -99,6 +108,7 @@ $text['label-type']['pl'] = "Typ"; $text['label-type']['sv-se'] = "Typ"; $text['label-type']['uk'] = "Тип"; $text['label-type']['de-at'] = "Typ"; +$text['label-type']['ar-eg'] = "النوع"; $text['label-port']['en-us'] = "Port"; $text['label-port']['es-cl'] = "Puerto"; @@ -109,6 +119,7 @@ $text['label-port']['pl'] = "Port"; $text['label-port']['sv-se'] = "Port"; $text['label-port']['uk'] = "Порт"; $text['label-port']['de-at'] = "Port"; +$text['label-port']['ar-eg'] = "منفذ"; $text['label-path']['en-us'] = "Path"; $text['label-path']['es-cl'] = "Ruta"; @@ -119,6 +130,7 @@ $text['label-path']['pl'] = "Ścieżka"; $text['label-path']['sv-se'] = "Sökväg"; $text['label-path']['uk'] = "Шлях"; $text['label-path']['de-at'] = "Pfad"; +$text['label-path']['ar-eg'] = ""; $text['label-password']['en-us'] = "Password"; $text['label-password']['es-cl'] = "Contreseña"; @@ -129,6 +141,7 @@ $text['label-password']['pl'] = "Hasło"; $text['label-password']['sv-se'] = "Lösenord"; $text['label-password']['uk'] = "Пароль"; $text['label-password']['de-at'] = "Passwort"; +$text['label-password']['ar-eg'] = "كلمة السر"; $text['label-name']['en-us'] = "Name"; $text['label-name']['es-cl'] = "Nombre"; @@ -139,6 +152,7 @@ $text['label-name']['pl'] = "Nazwa"; $text['label-name']['sv-se'] = "Namn"; $text['label-name']['uk'] = "Назва"; $text['label-name']['de-at'] = "Name"; +$text['label-name']['ar-eg'] = "الأسم"; $text['label-host']['en-us'] = "Host"; $text['label-host']['es-cl'] = "Host"; @@ -149,6 +163,7 @@ $text['label-host']['pl'] = "Host"; $text['label-host']['sv-se'] = "Värd"; $text['label-host']['uk'] = "Хост"; $text['label-host']['de-at'] = "Host"; +$text['label-host']['ar-eg'] = "مضيف"; $text['label-driver']['en-us'] = "Driver"; $text['label-driver']['es-cl'] = "Controlador"; @@ -159,6 +174,7 @@ $text['label-driver']['pl'] = "Sterownik"; $text['label-driver']['sv-se'] = "Drivrutin"; $text['label-driver']['uk'] = "Драйвер"; $text['label-driver']['de-at'] = "Treiber"; +$text['label-driver']['ar-eg'] = ""; $text['label-description']['en-us'] = "Description"; $text['label-description']['es-cl'] = "Descripción"; @@ -169,6 +185,7 @@ $text['label-description']['pl'] = "Opis"; $text['label-description']['sv-se'] = "Beskrivning"; $text['label-description']['uk'] = "Опис"; $text['label-description']['de-at'] = "Beschreibung"; +$text['label-description']['ar-eg'] = "الوصف"; $text['header-databases']['en-us'] = "Databases"; $text['header-databases']['es-cl'] = "Bases de datos"; @@ -179,6 +196,7 @@ $text['header-databases']['pl'] = "Bazy danych"; $text['header-databases']['sv-se'] = "Databaser"; $text['header-databases']['uk'] = "Бази даних"; $text['header-databases']['de-at'] = "Datenbanken"; +$text['header-databases']['ar-eg'] = "قواعد البيانات"; $text['header-database-edit']['en-us'] = "Database Edit"; $text['header-database-edit']['es-cl'] = "Editar base de datos"; @@ -189,6 +207,7 @@ $text['header-database-edit']['pl'] = "Edytuj bazę danych"; $text['header-database-edit']['sv-se'] = "Ändra Databas"; $text['header-database-edit']['uk'] = "Редагування бази даних"; $text['header-database-edit']['de-at'] = "Datenbanken bearbeiten"; +$text['header-database-edit']['ar-eg'] = "تعديل قاعدة البيانات"; $text['header-database-add']['en-us'] = "Database Add"; $text['header-database-add']['es-cl'] = "Agregar Base de Datos"; @@ -199,6 +218,7 @@ $text['header-database-add']['pl'] = "Dodaj bazę danych"; $text['header-database-add']['sv-se'] = "Lägg Till Databas"; $text['header-database-add']['uk'] = "Додавання бази даних"; $text['header-database-add']['de-at'] = "Datenbanken hinzufügen"; +$text['header-database-add']['ar-eg'] = "إضافة قاعدة بيانات"; $text['description-username']['en-us'] = "Enter the database username."; $text['description-username']['es-cl'] = "Ingrese el nombre de usuario de la base de datos."; @@ -209,6 +229,7 @@ $text['description-username']['pl'] = "Wprowadź nazwę użytkownika"; $text['description-username']['sv-se'] = "Ange databasen användarnamn här."; $text['description-username']['uk'] = "Введіть ім’я користувача бази даних"; $text['description-username']['de-at'] = "Geben Sie den Datenbank Benutzernamen an."; +$text['description-username']['ar-eg'] = "أدخل اسم المستخدم هنا"; $text['description-type']['en-us'] = "Select the database type."; $text['description-type']['es-cl'] = "Seleccione el tipo de base de datos"; @@ -219,6 +240,7 @@ $text['description-type']['pl'] = "Wprowadź rodzaj bazy danych"; $text['description-type']['sv-se'] = "Välj databastyp"; $text['description-type']['uk'] = "Виберіть тип бази даних"; $text['description-type']['de-at'] = "Wählen Sie den Datenbank Typ."; +$text['description-type']['ar-eg'] = "إختر نوع قاعدة البيانات"; $text['description-port']['en-us'] = "Enter the port number."; $text['description-port']['es-cl'] = "Ingrese el número del puerto."; @@ -229,6 +251,7 @@ $text['description-port']['pl'] = "Wprowadź numer portu"; $text['description-port']['sv-se'] = "Ange portnummer"; $text['description-port']['uk'] = "Введіть номер порта"; $text['description-port']['de-at'] = "Geben Sie die Port Nummer an."; +$text['description-port']['ar-eg'] = "أدخل رقم المنفذ"; $text['description-path']['en-us'] = "Enter the database file path (SQLite only)."; $text['description-path']['es-cl'] = "Ingrese la ruta al archivo de datos (solo SQLite)."; @@ -239,6 +262,7 @@ $text['description-path']['pl'] = "Wprowadź ścieżkę do pliku bazy danych (ty $text['description-path']['sv-se'] = "Ange databasens sökväg (gäller endast SQLite)."; $text['description-path']['uk'] = "Вкажіть шлях до файлу бази даних (тільки SQLite)."; $text['description-path']['de-at'] = "Geben Sie den Datenbank Pfad an (nur für SQLite)."; +$text['description-path']['ar-eg'] = ""; $text['description-password']['en-us'] = "Enter the database password."; $text['description-password']['es-cl'] = "Ingrese la contraseña de la base de datos."; @@ -249,6 +273,7 @@ $text['description-password']['pl'] = "Wpisz hasło"; $text['description-password']['sv-se'] = "Ange databasens lösenord."; $text['description-password']['uk'] = "Введіть пароль бази даних."; $text['description-password']['de-at'] = "Geben Sie das Datenbank Passwort ein."; +$text['description-password']['ar-eg'] = "أدخل الرقم السري الخاص بقاعدة البيانات"; $text['description-name']['en-us'] = "Enter the database name."; $text['description-name']['es-cl'] = "Ingrese el nombre de la base de datos."; @@ -259,6 +284,7 @@ $text['description-name']['pl'] = "Wprowadź nazwę bazy danych."; $text['description-name']['sv-se'] = "Ange databasens namn."; $text['description-name']['uk'] = "Введіть ім'я бази даних."; $text['description-name']['de-at'] = "Geben Sie den Namen der Datenbank an"; +$text['description-name']['ar-eg'] = "أدخل إسم قاعدة البيانات"; $text['description-host']['en-us'] = "Enter the host name."; $text['description-host']['es-cl'] = "Ingrese el nombre de host"; @@ -269,6 +295,7 @@ $text['description-host']['pl'] = "Wprowadź nazwę hosta."; $text['description-host']['sv-se'] = "Ange värdnamnet"; $text['description-host']['uk'] = "Введіть ім'я хоста."; $text['description-host']['de-at'] = "Geben Sie den Host Namen ein."; +$text['description-host']['ar-eg'] = "أدخل إسم المضيف"; $text['description-driver']['en-us'] = "Select the database driver."; $text['description-driver']['es-cl'] = "Seleccione un controlador de base de datos."; @@ -279,6 +306,7 @@ $text['description-driver']['pl'] = "Wybierz sterownik bazy danych."; $text['description-driver']['sv-se'] = "Välj databas drivrutin."; $text['description-driver']['uk'] = "Виберіть драйвер бази даних."; $text['description-driver']['de-at'] = "Wählen Sie den Datenbank Treiber."; +$text['description-driver']['ar-eg'] = ""; $text['description-description']['en-us'] = "Enter a description for this database, if desired."; $text['description-description']['es-cl'] = "Ingrese una descripción para esta base de datos, opcional."; @@ -289,6 +317,7 @@ $text['description-description']['pl'] = "Wprowadź opis bazy danych (opcjonaln $text['description-description']['sv-se'] = "Fyll i en beskrivning för denna databas, om nödvändigt."; $text['description-description']['uk'] = "Введіть опис, якщо це необхідно."; $text['description-description']['de-at'] = "Falls gewünscht, geben Sie eine Beschreibung an."; +$text['description-description']['ar-eg'] = ""; $text['description-databases']['en-us'] = "Database information."; $text['description-databases']['es-cl'] = "Información de bases de datos."; @@ -299,6 +328,7 @@ $text['description-databases']['pl'] = "Informacje o bazie danych."; $text['description-databases']['sv-se'] = "Databasinformation."; $text['description-databases']['uk'] = "Інформація про базу даних."; $text['description-databases']['de-at'] = "Datenbank Information."; +$text['description-databases']['ar-eg'] = "بيانات قاعدة البيانات"; $text['description-database-edit']['en-us'] = "Database connection information."; $text['description-database-edit']['es-cl'] = "Información de conexión a base de datos."; @@ -309,6 +339,7 @@ $text['description-database-edit']['pl'] = "Informacje o połączeniach z bazą $text['description-database-edit']['sv-se'] = "Information om Databasanslutning"; $text['description-database-edit']['uk'] = "інформація про підключення до бази даних."; $text['description-database-edit']['de-at'] = "Datenbank Verbindungs Information."; +$text['description-database-edit']['ar-eg'] = "بيانات الإتصال الخاص بقاعدة البيانات"; $text['description-database-add']['en-us'] = "Database connection information."; $text['description-database-add']['es-cl'] = "Información de conexión a base de datos."; @@ -319,6 +350,7 @@ $text['description-database-add']['pl'] = "Informacje o połączeniach z bazą d $text['description-database-add']['sv-se'] = "Information om Databasanslutning"; $text['description-database-add']['uk'] = "інформація про підключення до бази даних."; $text['description-database-add']['de-at'] = "Datenbank Verbindungs Information."; +$text['description-database-add']['ar-eg'] = "بيانات الإتصال الخاص بقاعدة البيانات"; $text['confirm-delete']['en-us'] = "Do you really want to delete this?"; $text['confirm-delete']['es-cl'] = "¿Realmente desea eliminar esto?"; @@ -329,6 +361,7 @@ $text['confirm-delete']['pl'] = "Czy na pewno chcesz to usunąć?"; $text['confirm-delete']['sv-se'] = "Vill du verkligen ta bort detta?"; $text['confirm-delete']['uk'] = "Ви дійсно бажаєте це видалити?"; $text['confirm-delete']['de-at'] = "Wollen Sie das wirklich löschen?"; +$text['confirm-delete']['ar-eg'] = "هل تريد حقا مسح هذا؟"; $text['button-save']['en-us'] = "Save"; $text['button-save']['es-cl'] = "Guardar"; @@ -339,6 +372,7 @@ $text['button-save']['pl'] = "Zachowaj"; $text['button-save']['sv-se'] = "Spara"; $text['button-save']['uk'] = "Зберегти"; $text['button-save']['de-at'] = "Speichern"; +$text['button-save']['ar-eg'] = "حفظ"; $text['button-edit']['en-us'] = "Edit"; $text['button-edit']['es-cl'] = "Editar"; @@ -349,6 +383,7 @@ $text['button-edit']['pl'] = "Edytuj"; $text['button-edit']['sv-se'] = "Editera"; $text['button-edit']['uk'] = "Редагувати"; $text['button-edit']['de-at'] = "Bearbeiten"; +$text['button-edit']['ar-eg'] = "تعديل"; $text['button-delete']['en-us'] = "Delete"; $text['button-delete']['es-cl'] = "Eliminar"; @@ -359,6 +394,7 @@ $text['button-delete']['pl'] = "Usuń"; $text['button-delete']['sv-se'] = "Ta Bort"; $text['button-delete']['uk'] = "Видалити"; $text['button-delete']['de-at'] = "Löschen"; +$text['button-delete']['ar-eg'] = "مسح"; $text['button-back']['en-us'] = "Back"; $text['button-back']['es-cl'] = "Volver"; @@ -369,6 +405,7 @@ $text['button-back']['pl'] = "Wróć"; $text['button-back']['sv-se'] = "Tillbaka"; $text['button-back']['uk'] = "Назад"; $text['button-back']['de-at'] = "Zurück"; +$text['button-back']['ar-eg'] = "رجوع"; $text['button-add']['en-us'] = "Add"; $text['button-add']['es-cl'] = "Agregar"; @@ -379,5 +416,6 @@ $text['button-add']['pl'] = "Dodaj"; $text['button-add']['sv-se'] = "Lägg Till"; $text['button-add']['uk'] = "Додати"; $text['button-add']['de-at'] = "Hinzufügen"; +$text['button-add']['ar-eg'] = "اضافة"; ?> \ No newline at end of file diff --git a/core/databases/app_menu.php b/core/databases/app_menu.php index 036119cda4..1763c4ea77 100644 --- a/core/databases/app_menu.php +++ b/core/databases/app_menu.php @@ -9,6 +9,7 @@ $apps[$x]['menu'][0]['title']['pl'] = "Bazy danych"; $apps[$x]['menu'][0]['title']['sv-se'] = "Databaser"; $apps[$x]['menu'][0]['title']['uk'] = "Бази даних"; $apps[$x]['menu'][0]['title']['de-at'] = "Datenbanken"; +$apps[$x]['menu'][0]['title']['ar-eg'] = "قواعد البيانات"; $apps[$x]['menu'][0]['uuid'] = "ebbd754d-ca74-d5b1-a77e-9206ba3ecc3f"; $apps[$x]['menu'][0]['parent_uuid'] = "594d99c5-6128-9c88-ca35-4b33392cec0f"; $apps[$x]['menu'][0]['category'] = "internal"; diff --git a/core/default_settings/default_setting_edit.php b/core/default_settings/default_setting_edit.php index 1c6c3be664..c7d6b4b27f 100644 --- a/core/default_settings/default_setting_edit.php +++ b/core/default_settings/default_setting_edit.php @@ -297,7 +297,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { $theme_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes'; if ($handle = opendir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes')) { while (false !== ($dir_name = readdir($handle))) { - if ($dir_name != "." && $dir_name != ".." && $dir_name != ".svn" && is_dir($theme_dir.'/'.$dir_name)) { + if ($dir_name != "." && $dir_name != ".." && $dir_name != ".svn" && $dir_name != ".git" && is_dir($theme_dir.'/'.$dir_name)) { $dir_label = str_replace('_', ' ', $dir_name); $dir_label = str_replace('-', ' ', $dir_label); if ($dir_name == $default_setting_value) { diff --git a/core/domain_settings/domain_setting_edit.php b/core/domain_settings/domain_setting_edit.php index c89ce615a7..d3d07bbf39 100644 --- a/core/domain_settings/domain_setting_edit.php +++ b/core/domain_settings/domain_setting_edit.php @@ -362,7 +362,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { $theme_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes'; if ($handle = opendir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes')) { while (false !== ($dir_name = readdir($handle))) { - if ($dir_name != "." && $dir_name != ".." && $dir_name != ".svn" && is_dir($theme_dir.'/'.$dir_name)) { + if ($dir_name != "." && $dir_name != ".." && $dir_name != ".svn" && $dir_name != ".git" && is_dir($theme_dir.'/'.$dir_name)) { $dir_label = str_replace('_', ' ', $dir_name); $dir_label = str_replace('-', ' ', $dir_label); if ($dir_name == $row['domain_setting_value']) { diff --git a/core/upgrade/app_config.php b/core/upgrade/app_config.php index c244ef1a27..effd5308f4 100644 --- a/core/upgrade/app_config.php +++ b/core/upgrade/app_config.php @@ -20,7 +20,7 @@ //permission details $y = 0; - $apps[$x]['permissions'][$y]['name'] = "upgrade_svn"; + $apps[$x]['permissions'][$y]['name'] = "upgrade_source"; $apps[$x]['permissions'][$y]['menu']['uuid'] = "71051909-81ff-4301-9997-52b11206b3a6"; $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; $y++; diff --git a/core/upgrade/app_defaults.php b/core/upgrade/app_defaults.php index 255f99b5f9..b5625f3e7a 100644 --- a/core/upgrade/app_defaults.php +++ b/core/upgrade/app_defaults.php @@ -17,138 +17,133 @@ The Initial Developer of the Original Code is Mark J Crane - Portions created by the Initial Developer are Copyright (C) 2008-2012 + Portions created by the Initial Developer are Copyright (C) 2008-2015 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane */ -if (strlen($_SESSION['switch']['scripts']['dir']) > 0) { - if ($domains_processed == 1) { - //if the resource scripts resource directory does not exist then create it - if (!is_dir($_SESSION['switch']['scripts']['dir']."/resources")) { + +if ($domains_processed == 1) { + //process if the scripts directory exists + if (strlen($_SESSION['switch']['scripts']['dir']) > 0) { + //if the resource scripts resource directory does not exist then create it + if (!is_dir($_SESSION['switch']['scripts']['dir']."/resources")) { mkdir($_SESSION['switch']['scripts']['dir']."/resources",0755,true); + } + + //copy the files and directories from resources/install + $install = new install; + $install->domain_uuid = $domain_uuid; + $install->switch_scripts_dir = $_SESSION['switch']['scripts']['dir']; + $install->copy_scripts(); + } + + //update the software table + $sql = "select count(*) as num_rows from v_software "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + if ($row['num_rows'] == 0) { + $sql = "insert into v_software "; + $sql .= "("; + $sql .= "software_uuid, "; + $sql .= "software_name, "; + $sql .= "software_url, "; + $sql .= "software_version "; + $sql .= ")"; + $sql .= "values "; + $sql .= "("; + $sql .= "'".uuid()."', "; + $sql .= "'FusionPBX', "; + $sql .= "'www.fusionpbx.com', "; + $sql .= "'".software_version()."' "; + $sql .= ")"; + $db->exec(check_sql($sql)); + unset($sql); } - - //copy the files and directories from resources/install - //require_once "resources/classes/install.php"; - $install = new install; - $install->domain_uuid = $domain_uuid; - $install->domain_name = $domain; - //$install->switch_conf_dir = $_SESSION['switch']['conf']['dir']; - $install->switch_scripts_dir = $_SESSION['switch']['scripts']['dir']; - //$install->switch_sounds_dir = $_SESSION['switch']['sounds']['dir']; - $install->copy_scripts(); - //$install->copy_sounds(); - //print_r($install->result); - - //update the software table - $sql = "select count(*) as num_rows from v_software "; - $prep_statement = $db->prepare($sql); - if ($prep_statement) { - $prep_statement->execute(); - $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - if ($row['num_rows'] == 0) { - $sql = "insert into v_software "; - $sql .= "("; - $sql .= "software_uuid, "; - $sql .= "software_name, "; - $sql .= "software_url, "; - $sql .= "software_version "; - $sql .= ")"; - $sql .= "values "; - $sql .= "("; - $sql .= "'".uuid()."', "; - $sql .= "'FusionPBX', "; - $sql .= "'www.fusionpbx.com', "; - $sql .= "'".software_version()."' "; - $sql .= ")"; - $db->exec(check_sql($sql)); - unset($sql); - } - else { - $sql = "update v_software "; - $sql .= "set software_version = '".software_version()."' "; - $db->exec(check_sql($sql)); - unset($sql); - } - unset($prep_statement, $row); + else { + $sql = "update v_software "; + $sql .= "set software_version = '".software_version()."' "; + $db->exec(check_sql($sql)); + unset($sql); } + unset($prep_statement, $row); + } - //ensure the login message is set, if new message exists - $sql = "select count(*) as num_rows from v_default_settings "; - $sql .= "where default_setting_category = 'login' "; - $sql .= "and default_setting_subcategory = 'message' "; - $sql .= "and default_setting_name = 'text' "; - $prep_statement = $db->prepare($sql); - if ($prep_statement) { - $prep_statement->execute(); - $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - unset($prep_statement); - if ($row['num_rows'] == 0) { + //ensure the login message is set, if new message exists + $sql = "select count(*) as num_rows from v_default_settings "; + $sql .= "where default_setting_category = 'login' "; + $sql .= "and default_setting_subcategory = 'message' "; + $sql .= "and default_setting_name = 'text' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + unset($prep_statement); + if ($row['num_rows'] == 0) { - // insert message - $sql = "insert into v_default_settings "; - $sql .= "("; - $sql .= "default_setting_uuid, "; - $sql .= "default_setting_category, "; - $sql .= "default_setting_subcategory, "; - $sql .= "default_setting_name, "; - $sql .= "default_setting_value, "; - $sql .= "default_setting_enabled, "; - $sql .= "default_setting_description "; - $sql .= ")"; - $sql .= "values "; - $sql .= "("; - $sql .= "'".uuid()."', "; - $sql .= "'login', "; - $sql .= "'message', "; - $sql .= "'text', "; - $sql .= "'".$text['login-message_text']."', "; - $sql .= "'true', "; - $sql .= "'' "; - $sql .= ")"; - $db->exec(check_sql($sql)); - unset($sql); + // insert message + $sql = "insert into v_default_settings "; + $sql .= "("; + $sql .= "default_setting_uuid, "; + $sql .= "default_setting_category, "; + $sql .= "default_setting_subcategory, "; + $sql .= "default_setting_name, "; + $sql .= "default_setting_value, "; + $sql .= "default_setting_enabled, "; + $sql .= "default_setting_description "; + $sql .= ")"; + $sql .= "values "; + $sql .= "("; + $sql .= "'".uuid()."', "; + $sql .= "'login', "; + $sql .= "'message', "; + $sql .= "'text', "; + $sql .= "'".$text['login-message_text']."', "; + $sql .= "'true', "; + $sql .= "'' "; + $sql .= ")"; + $db->exec(check_sql($sql)); + unset($sql); - } - else { + } + else { - // get current message value - $sql = "select default_setting_uuid, default_setting_value "; - $sql .= "from v_default_settings "; - $sql .= "where default_setting_category = 'login' "; - $sql .= "and default_setting_subcategory = 'message' "; - $sql .= "and default_setting_name = 'text' "; - $prep_statement = $db->prepare($sql); - if ($prep_statement) { - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - if (count($result) > 0) { - foreach($result as $row) { - $current_default_setting_uuid = $row["default_setting_uuid"]; - $current_default_setting_value = $row["default_setting_value"]; - break; - } - - // compare to message in language file, update and enable if different - $new_default_setting_value = str_replace("''", "'", $text['login-message_text']); - if ($current_default_setting_value != $new_default_setting_value) { - $sql = "update v_default_settings set "; - $sql .= "default_setting_value = '".$text['login-message_text']."', "; - $sql .= "default_setting_enabled = 'true' "; - $sql .= "where default_setting_uuid = '".$current_default_setting_uuid."' "; - $db->exec(check_sql($sql)); - unset($sql); - } + // get current message value + $sql = "select default_setting_uuid, default_setting_value "; + $sql .= "from v_default_settings "; + $sql .= "where default_setting_category = 'login' "; + $sql .= "and default_setting_subcategory = 'message' "; + $sql .= "and default_setting_name = 'text' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + if (count($result) > 0) { + foreach($result as $row) { + $current_default_setting_uuid = $row["default_setting_uuid"]; + $current_default_setting_value = $row["default_setting_value"]; + break; + } + + // compare to message in language file, update and enable if different + $new_default_setting_value = str_replace("''", "'", $text['login-message_text']); + if ($current_default_setting_value != $new_default_setting_value) { + $sql = "update v_default_settings set "; + $sql .= "default_setting_value = '".$text['login-message_text']."', "; + $sql .= "default_setting_enabled = 'true' "; + $sql .= "where default_setting_uuid = '".$current_default_setting_uuid."' "; + $db->exec(check_sql($sql)); + unset($sql); } - unset($prep_statement, $result); } + unset($prep_statement, $result); } } - - } + } } ?> \ No newline at end of file diff --git a/core/upgrade/app_languages.php b/core/upgrade/app_languages.php index af9ec7ed4e..b7d735eced 100644 --- a/core/upgrade/app_languages.php +++ b/core/upgrade/app_languages.php @@ -40,35 +40,35 @@ $text['option-false']['sv-se'] = "Falsk"; $text['option-false']['uk'] = "Ні"; $text['option-false']['de-at'] = "Aus"; -$text['message-upgrade_svn_scripts']['en-us'] = "Source Files and Scripts Updated"; -$text['message-upgrade_svn_scripts']['es-cl'] = "Fuente archivos actualizados"; -$text['message-upgrade_svn_scripts']['pt-pt'] = "Fonte arquivos atualizados"; -$text['message-upgrade_svn_scripts']['fr-fr'] = "Code source et scripts mis à jour"; -$text['message-upgrade_svn_scripts']['pt-br'] = "Fonte de arquivos atualizados"; -$text['message-upgrade_svn_scripts']['pl'] = "Aktualizacja plików źródłowych powiodła się"; -$text['message-upgrade_svn_scripts']['sv-se'] = "Källfiler Uppdaterade"; -$text['message-upgrade_svn_scripts']['uk'] = "Вихідні файли і сценарії оновлено"; -$text['message-upgrade_svn_scripts']['de-at'] = "Quellcode und Scripte aktualisieren"; +$text['message-upgrade_source_scripts']['en-us'] = "Source Files and Scripts Updated"; +$text['message-upgrade_source_scripts']['es-cl'] = "Fuente archivos actualizados"; +$text['message-upgrade_source_scripts']['pt-pt'] = "Fonte arquivos atualizados"; +$text['message-upgrade_source_scripts']['fr-fr'] = "Code source et scripts mis à jour"; +$text['message-upgrade_source_scripts']['pt-br'] = "Fonte de arquivos atualizados"; +$text['message-upgrade_source_scripts']['pl'] = "Aktualizacja plików źródłowych powiodła się"; +$text['message-upgrade_source_scripts']['sv-se'] = "Källfiler Uppdaterade"; +$text['message-upgrade_source_scripts']['uk'] = "Вихідні файли і сценарії оновлено"; +$text['message-upgrade_source_scripts']['de-at'] = "Quellcode und Scripte aktualisieren"; -$text['message-upgrade_svn_failed']['en-us'] = "Source Files Update Failed - Please Run SVN Update Via Console"; -$text['message-upgrade_svn_failed']['es-cl'] = "Fuente actualización de archivos Error - Por favor, ejecuta svn update Vía Consola"; -$text['message-upgrade_svn_failed']['pt-pt'] = "Fonte Arquivos Update Failed - execute o SVN Atualização Via Console"; -$text['message-upgrade_svn_failed']['fr-fr'] = "La mise à jour du code source à échoué, Veuillez exécuter svn update depuis la console"; -$text['message-upgrade_svn_failed']['pt-br'] = "Fonte arquivos atualialização falhou - execute o SVN Atualização Via Console "; -$text['message-upgrade_svn_failed']['pl'] = "Aktualizacja plików źródłowych nie powiodła się - użyj polecenia 'SVN Update' w konsoli."; -$text['message-upgrade_svn_failed']['sv-se'] = "Källfiler Uppdatering misslyckades - Vänligen Kör SVN Update Via Console"; -$text['message-upgrade_svn_failed']['uk'] = "Помилка оновлення вихідних файлів - Запустіть оновлення з SVN в консолі"; -$text['message-upgrade_svn_failed']['de-at'] = "Quellcode Aktualisierung fehlgeschlagen - Bitte führen Sie SVN Update in der Konsole aus"; +$text['message-upgrade_source_failed']['en-us'] = "Source Files Update Failed"; +$text['message-upgrade_source_failed']['es-cl'] = "Fuente actualización de archivos Error"; +$text['message-upgrade_source_failed']['pt-pt'] = "Fonte Arquivos Update Failed"; +$text['message-upgrade_source_failed']['fr-fr'] = "La mise à jour du code source à échoué"; +$text['message-upgrade_source_failed']['pt-br'] = "Fonte arquivos atualialização falhou"; +$text['message-upgrade_source_failed']['pl'] = "Aktualizacja plików źródłowych nie powiodła się."; +$text['message-upgrade_source_failed']['sv-se'] = "Källfiler Uppdatering misslyckades"; +$text['message-upgrade_source_failed']['uk'] = "Помилка оновлення вихідних файлів"; +$text['message-upgrade_source_failed']['de-at'] = "Quellcode Aktualisierung fehlgeschlagen"; -$text['message-upgrade_svn']['en-us'] = "Source Files Updated"; -$text['message-upgrade_svn']['es-cl'] = "Fuente archivos actualizados"; -$text['message-upgrade_svn']['pt-pt'] = "Fonte arquivos atualizados"; -$text['message-upgrade_svn']['fr-fr'] = "Code source mis à jour"; -$text['message-upgrade_svn']['pt-br'] = "Fonte de arquivos atualizados"; -$text['message-upgrade_svn']['pl'] = "Aktualizacja plików źródłowych powiodła się"; -$text['message-upgrade_svn']['sv-se'] = "Källfiler Uppdaterade"; -$text['message-upgrade_svn']['uk'] = "Вихідні файли оновлено"; -$text['message-upgrade_svn']['de-at'] = "Quellcode aktualisiert"; +$text['message-upgrade_source']['en-us'] = "Source Files Updated"; +$text['message-upgrade_source']['es-cl'] = "Fuente archivos actualizados"; +$text['message-upgrade_source']['pt-pt'] = "Fonte arquivos atualizados"; +$text['message-upgrade_source']['fr-fr'] = "Code source mis à jour"; +$text['message-upgrade_source']['pt-br'] = "Fonte de arquivos atualizados"; +$text['message-upgrade_source']['pl'] = "Aktualizacja plików źródłowych powiodła się"; +$text['message-upgrade_source']['sv-se'] = "Källfiler Uppdaterade"; +$text['message-upgrade_source']['uk'] = "Вихідні файли оновлено"; +$text['message-upgrade_source']['de-at'] = "Quellcode aktualisiert"; $text['message-upgrade_schema']['en-us'] = "Schema Verified"; $text['message-upgrade_schema']['es-cl'] = "Esquema Verified"; @@ -120,15 +120,15 @@ $text['login-message_text']['sv-se'] = "Håll dig uppdaterad med de FusionPBX pr $text['login-message_text']['uk'] = "Keep up with the FusionPBX project by configuring your preferences in the newly added Notifications section, under the System menu! "; $text['login-message_text']['de-at'] = "Halten Sie sich auf dem Laufenden über FusionPBX indem Sie die Benachrichtigungseinstellungen im System Menü setzen."; -$text['label-upgrade_svn']['en-us'] = "Source Code"; -$text['label-upgrade_svn']['es-cl'] = "Código Fuente"; -$text['label-upgrade_svn']['pt-pt'] = "Source Code"; -$text['label-upgrade_svn']['fr-fr'] = "Code Source"; -$text['label-upgrade_svn']['pt-br'] = "Source Code"; -$text['label-upgrade_svn']['pl'] = "Kod źródłowy"; -$text['label-upgrade_svn']['sv-se'] = "Källkod"; -$text['label-upgrade_svn']['uk'] = "Вихідний код"; -$text['label-upgrade_svn']['de-at'] = "Quellcode"; +$text['label-upgrade_source']['en-us'] = "Source Code"; +$text['label-upgrade_source']['es-cl'] = "Código Fuente"; +$text['label-upgrade_source']['pt-pt'] = "Source Code"; +$text['label-upgrade_source']['fr-fr'] = "Code Source"; +$text['label-upgrade_source']['pt-br'] = "Source Code"; +$text['label-upgrade_source']['pl'] = "Kod źródłowy"; +$text['label-upgrade_source']['sv-se'] = "Källkod"; +$text['label-upgrade_source']['uk'] = "Вихідний код"; +$text['label-upgrade_source']['de-at'] = "Quellcode"; $text['label-upgrade_schema']['en-us'] = "Schema"; $text['label-upgrade_schema']['es-cl'] = "Esquema"; @@ -300,15 +300,15 @@ $text['header-upgrade']['sv-se'] = "Uppgradera"; $text['header-upgrade']['uk'] = "Оновлення"; $text['header-upgrade']['de-at'] = "Aktualisieren"; -$text['header-svn_update_results']['en-us'] = "SVN Results"; -$text['header-svn_update_results']['es-cl'] = "SVN Respuesta"; -$text['header-svn_update_results']['pt-pt'] = "SVN Response"; -$text['header-svn_update_results']['fr-fr'] = "Résultats SVN"; -$text['header-svn_update_results']['pt-br'] = "Resposta do SVN "; -$text['header-svn_update_results']['pl'] = "Rezultat SVN"; -$text['header-svn_update_results']['sv-se'] = "SVN Resultat"; -$text['header-svn_update_results']['uk'] = "Результати з SVN"; -$text['header-svn_update_results']['de-at'] = "SVN Ergebnisse"; +$text['header-source_update_results']['en-us'] = "Results"; +$text['header-source_update_results']['es-cl'] = "Respuesta"; +$text['header-source_update_results']['pt-pt'] = "Response"; +$text['header-source_update_results']['fr-fr'] = "Résultats"; +$text['header-source_update_results']['pt-br'] = "Resposta"; +$text['header-source_update_results']['pl'] = "Rezultat"; +$text['header-source_update_results']['sv-se'] = "Resultat"; +$text['header-source_update_results']['uk'] = "Результати"; +$text['header-source_update_results']['de-at'] = "Ergebnisse"; $text['header-message']['en-us'] = "Message"; $text['header-message']['es-cl'] = "Mensaje"; @@ -330,15 +330,15 @@ $text['header-database_type']['sv-se'] = "Databas Typ"; $text['header-database_type']['uk'] = "Тип бази даних"; $text['header-database_type']['de-at'] = "Datenbank Typ"; -$text['description-upgrade_svn']['en-us'] = "Updates FusionPBX source files from the respository."; -$text['description-upgrade_svn']['es-cl'] = "Archivos de origen Actualizaciones FusionPBX del repositorio."; -$text['description-upgrade_svn']['pt-pt'] = "Arquivos de origem Atualizações FusionPBX do repositório."; -$text['description-upgrade_svn']['fr-fr'] = "Mise à jour du code source de FusionPBX depuis le dépôt."; -$text['description-upgrade_svn']['pt-br'] = "Arquivos de atualização"; -$text['description-upgrade_svn']['pl'] = "Uaktualnia pliki źródłowe FusionPBX z przechowalni."; -$text['description-upgrade_svn']['sv-se'] = "Uppdaterar FusionPBX källfiler från respository."; -$text['description-upgrade_svn']['uk'] = "Оновлення вихідних файлів FusionPBX з репозиторію Subversion ."; -$text['description-upgrade_svn']['de-at'] = "Aktualisiert den FusionPBX Quellcode aus dem Repository"; +$text['description-upgrade_source']['en-us'] = "Updates FusionPBX source files from the respository."; +$text['description-upgrade_source']['es-cl'] = "Archivos de origen Actualizaciones FusionPBX del repositorio."; +$text['description-upgrade_source']['pt-pt'] = "Arquivos de origem Atualizações FusionPBX do repositório."; +$text['description-upgrade_source']['fr-fr'] = "Mise à jour du code source de FusionPBX depuis le dépôt."; +$text['description-upgrade_source']['pt-br'] = "Arquivos de atualização"; +$text['description-upgrade_source']['pl'] = "Uaktualnia pliki źródłowe FusionPBX z przechowalni."; +$text['description-upgrade_source']['sv-se'] = "Uppdaterar FusionPBX källfiler från respository."; +$text['description-upgrade_source']['uk'] = "Оновлення вихідних файлів FusionPBX з репозиторію Subversion ."; +$text['description-upgrade_source']['de-at'] = "Aktualisiert den FusionPBX Quellcode aus dem Repository"; $text['description-upgrade_schema']['en-us'] = "Checks to ensure table and field integrity in the database."; $text['description-upgrade_schema']['es-cl'] = "Los cheques para asegurar mesa y campo de integridad en la base de datos."; diff --git a/core/upgrade/index.php b/core/upgrade/index.php index 2e29760fdc..ef686b4b33 100644 --- a/core/upgrade/index.php +++ b/core/upgrade/index.php @@ -17,7 +17,7 @@ The Initial Developer of the Original Code is Mark J Crane - Portions created by the Initial Developer are Copyright (C) 2008-2012 + Portions created by the Initial Developer are Copyright (C) 2008-2015 the Initial Developer. All Rights Reserved. Contributor(s): @@ -32,7 +32,7 @@ require_once "resources/check_auth.php"; //check the permission if ( - !permission_exists('upgrade_svn') && + !permission_exists('upgrade_source') && !permission_exists('upgrade_schema') && !permission_exists('upgrade_apps') && !permission_exists('menu_restore') && @@ -50,15 +50,15 @@ if (sizeof($_POST) > 0) { $do = $_POST['do']; - // run svn update - if ($do["svn"] && permission_exists("upgrade_svn") && !is_dir("/usr/share/examples/fusionpbx")) { - $cmd = "svn up /var/www/fusionpbx"; - exec($cmd, $response_svn_update); + // run source update + if ($do["source"] && permission_exists("upgrade_source") && !is_dir("/usr/share/examples/fusionpbx")) { + chdir("/var/www/fusionpbx/"); + exec("git pull", $response_source_update); $update_failed = true; - if (sizeof($response_svn_update) > 0) { - $_SESSION["response_svn_update"] = $response_svn_update; - foreach ($response_svn_update as $response_line) { - if (substr_count($response_line, "Updated to revision") > 0 || substr_count($response_line, "At revision") > 0) { + if (sizeof($response_source_update) > 0) { + $_SESSION["response_source_update"] = $response_source_update; + foreach ($response_source_update as $response_line) { + if (substr_count($response_line, "Updating ") > 0 || substr_count($response_line, "Already up-to-date.") > 0) { $update_failed = false; } } @@ -66,31 +66,22 @@ if (sizeof($_POST) > 0) { if ($update_failed) { $_SESSION["message_delay"] = 3500; $_SESSION["message_mood"] = 'negative'; - $response_message = $text['message-upgrade_svn_failed']; + $response_message = $text['message-upgrade_source_failed']; } else { //update scripts folder, if allowed (default) - if ($_SESSION['switch']['scripts_update']['boolean'] != 'false' && $_SESSION['switch']['scripts']['dir'] != '') { - $scripts_dir_target = $_SESSION['switch']['scripts']['dir']; - $scripts_dir_source = realpath($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/scripts'); - foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($scripts_dir_source)) as $file_path_source) { - if ( - substr_count($file_path_source, '/..') == 0 && - substr_count($file_path_source, '/.') == 0 && - substr_count($file_path_source, '/.svn') == 0 - ) { - $file_path_target = str_replace($scripts_dir_source, $scripts_dir_target, $file_path_source); - if ($file_path_target != $scripts_dir_target.'/resources/config.lua') { - //echo $file_path_source.' ---> '.$file_path_target.'
'; - copy($file_path_source, $file_path_target); - chmod($file_path_target, 0755); - } - } - } - $response_message = $text['message-upgrade_svn_scripts']; + if ($_SESSION['switch']['scripts']['dir'] != '') { + //copy the files and directories from resources/install + $install = new install; + $install->domain_uuid = $domain_uuid; + $install->switch_scripts_dir = $_SESSION['switch']['scripts']['dir']; + $install->copy_scripts(); + //set the message + $response_message = $text['message-upgrade_source_scripts']; } else { - $response_message = $text['message-upgrade_svn']; + //set the message + $response_message = $text['message-upgrade_source']; } } } @@ -153,16 +144,16 @@ echo "

"; echo "
\n"; -if (permission_exists("upgrade_svn") && !is_dir("/usr/share/examples/fusionpbx")) { +if (permission_exists("upgrade_source") && !is_dir("/usr/share/examples/fusionpbx")) { echo "\n"; echo "\n"; echo " \n"; echo " \n"; echo "\n"; @@ -267,16 +258,16 @@ echo "

"; echo "\n"; -// output result of svn update -if (sizeof($_SESSION["response_svn_update"]) > 0) { +// output result of source update +if (sizeof($_SESSION["response_source_update"]) > 0) { echo "
"; - echo "".$text['header-svn_update_results'].""; + echo "".$text['header-source_update_results'].""; echo "

"; echo "
";
-	echo implode("\n", $_SESSION["response_svn_update"]);
+	echo implode("\n", $_SESSION["response_source_update"]);
 	echo "
"; echo "

"; - unset($_SESSION["response_svn_update"]); + unset($_SESSION["response_source_update"]); } diff --git a/core/upgrade/upgrade.php b/core/upgrade/upgrade.php index 7ef1f2e8bd..0a882c14c1 100644 --- a/core/upgrade/upgrade.php +++ b/core/upgrade/upgrade.php @@ -38,7 +38,7 @@ include "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; - if (permission_exists('upgrade_schema') || permission_exists('upgrade_svn') || if_group("superadmin")) { + if (permission_exists('upgrade_schema') || permission_exists('upgrade_source') || if_group("superadmin")) { //echo "access granted"; } else { diff --git a/resources/classes/install.php b/resources/classes/install.php index 38f41217b5..a6b2d210b4 100644 --- a/resources/classes/install.php +++ b/resources/classes/install.php @@ -17,7 +17,7 @@ The Initial Developer of the Original Code is Mark J Crane - Copyright (C) 2010-2014 + Copyright (C) 2010-2015 All Rights Reserved. Contributor(s): @@ -35,16 +35,18 @@ include "root.php"; var $switch_scripts_dir; var $switch_sounds_dir; - //$option '-n' --no-clobber - public function recursive_copy($src, $dst, $option = '') { + //$options '-n' --no-clobber + public function recursive_copy($src, $dst, $options = '') { if (file_exists('/bin/cp')) { if (strtoupper(substr(PHP_OS, 0, 3)) === 'SUN') { //copy -R recursive, preserve attributes for SUN - exec ('cp -Rp '.$src.'/* '.$dst); + $cmd = 'cp -Rp '.$src.'/* '.$dst; } else { //copy -R recursive, -L follow symbolic links, -p preserve attributes for other Posix systemss - exec ('cp -RLp '.$option.' '.$src.'/* '.$dst); + $cmd = 'cp -RLp '.$options.' '.$src.'/* '.$dst; } + exec ($cmd); + //echo $cmd."\n"; } else { $dir = opendir($src); @@ -58,6 +60,23 @@ include "root.php"; throw new Exception("recursive_copy() failed to create destination directory '".$dst."'"); } } + $scripts_dir_target = $_SESSION['switch']['scripts']['dir']; + $scripts_dir_source = realpath($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/scripts'); + foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($src)) as $file_path_source) { + if ( + substr_count($file_path_source, '/..') == 0 && + substr_count($file_path_source, '/.') == 0 && + substr_count($file_path_source, '/.svn') == 0 && + substr_count($file_path_source, '/.git') == 0 + ) { + if ($dst != $src.'/resources/config.lua') { + //echo $file_path_source.' ---> '.$dst.'
'; + copy($file_path_source, $dst); + chmod($dst, 0755); + } + } + } + while(false !== ($file = readdir($dir))) { if (($file != '.') && ($file != '..')) { if (is_dir($src.'/'.$file)) { @@ -65,7 +84,7 @@ include "root.php"; } else { //copy only missing files -n --no-clobber - if ($option == '-n') { + if (strpos($options,'-n') !== false) { if (!file_exists($dst.'/'.$file)) { copy($src.'/'.$file, $dst.'/'.$file); //echo "copy(".$src."/".$file.", ".$dst."/".$file.");
\n"; @@ -126,12 +145,10 @@ include "root.php"; } } //copy resources/templates/conf to the freeswitch conf dir - // added /examples/ into the string if (file_exists('/usr/share/examples/fusionpbx/resources/templates/conf')){ $src_dir = "/usr/share/examples/fusionpbx/resources/templates/conf"; } else { - $src_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/resources/templates/conf"; } $dst_dir = $this->switch_conf_dir; @@ -152,7 +169,7 @@ include "root.php"; } $dst_dir = $this->switch_scripts_dir; if (is_readable($this->switch_scripts_dir)) { - $this->recursive_copy($src_dir, $dst_dir, "-n"); + $this->recursive_copy($src_dir, $dst_dir, $_SESSION['scripts']['options']['text']); unset($src_dir, $dst_dir); } chmod($dst_dir, 0774); diff --git a/resources/functions.php b/resources/functions.php index 1c34a4ef43..1388857fec 100644 --- a/resources/functions.php +++ b/resources/functions.php @@ -1038,8 +1038,9 @@ function number_pad($number,$n) { if ($file != '.' && $file != '..') { $newpath = $dir.'/'.$file; $level = explode('/',$newpath); - if (substr($newpath, -4) == ".svn") { - //ignore .svn dir and subdir + if (substr($newpath, -4) == ".svn" || + substr($newpath, -4) == ".git") { + //ignore .svn and .git dir and subdir } else { if (is_dir($newpath)) { //directories diff --git a/resources/install.php b/resources/install.php index c677a87e7a..5680e4162d 100644 --- a/resources/install.php +++ b/resources/install.php @@ -47,17 +47,10 @@ require_once "resources/functions.php"; //set the default time zone date_default_timezone_set('UTC'); -//get the domain - $domain_array = explode(":", $_SERVER["HTTP_HOST"]); - $domain_name = $domain_array[0]; - //if the config file exists then disable the install page $config_exists = false; if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/resources/config.php")) { $config_exists = true; - } elseif (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/resources/config.php")) { - //original directory - $config_exists = true; } elseif (file_exists("/etc/fusionpbx/config.php")) { //linux $config_exists = true; @@ -86,6 +79,7 @@ require_once "resources/functions.php"; $db_host = $_POST["db_host"]; $db_port = $_POST["db_port"]; $db_name = $_POST["db_name"]; + $domain_name = $_POST["domain_name"]; $db_username = $_POST["db_username"]; $db_password = $_POST["db_password"]; $db_create_username = $_POST["db_create_username"]; @@ -98,6 +92,12 @@ require_once "resources/functions.php"; $install_default_country = $_POST["install_default_country"]; $install_template_name = $_POST["install_template_name"]; + if(!$domain_name){ + //get the domain + $domain_array = explode(":", $_SERVER["HTTP_HOST"]); + $domain_name = $domain_array[0]; + } + //clean up the values if (strlen($install_switch_base_dir) > 0) { $install_switch_base_dir = realpath($install_switch_base_dir); @@ -813,7 +813,7 @@ if ($_POST["install_step"] == "3" && count($_POST) > 0 && strlen($_POST["persist else { $filename = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/sql/mysql.sql'; } - $file_contents = file_get_contents($filename); + $file_contents = file_get_contents($filename); //replace \r\n with \n then explode on \n $file_contents = str_replace("\r\n", "\n", $file_contents); @@ -883,7 +883,7 @@ if ($_POST["install_step"] == "3" && count($_POST) > 0 && strlen($_POST["persist $tmp[$x]['subcategory'] = 'time_zone'; $tmp[$x]['enabled'] = 'true'; $x++; - $tmp[$x]['name'] = 'code'; + $tmp[$x]['name'] = 'code'; $tmp[$x]['value'] = 'en-us'; $tmp[$x]['category'] = 'domain'; $tmp[$x]['subcategory'] = 'language'; @@ -953,19 +953,19 @@ if ($_POST["install_step"] == "3" && count($_POST) > 0 && strlen($_POST["persist $tmp[$x]['value'] = $switch_extensions_dir; $tmp[$x]['category'] = 'switch'; $tmp[$x]['subcategory'] = 'extensions'; - $tmp[$x]['enabled'] = 'true'; + $tmp[$x]['enabled'] = 'false'; $x++; $tmp[$x]['name'] = 'dir'; $tmp[$x]['value'] = $switch_sip_profiles_dir; $tmp[$x]['category'] = 'switch'; $tmp[$x]['subcategory'] = 'sip_profiles'; - $tmp[$x]['enabled'] = 'true'; + $tmp[$x]['enabled'] = 'false'; $x++; $tmp[$x]['name'] = 'dir'; $tmp[$x]['value'] = $switch_dialplan_dir; $tmp[$x]['category'] = 'switch'; $tmp[$x]['subcategory'] = 'dialplan'; - $tmp[$x]['enabled'] = 'true'; + $tmp[$x]['enabled'] = 'false'; $x++; $tmp[$x]['name'] = 'dir'; $tmp[$x]['value'] = $switch_mod_dir; @@ -1236,7 +1236,7 @@ if ($_POST["install_step"] == "3" && count($_POST) > 0 && strlen($_POST["persist $db->exec(check_sql($sql)); unset($sql); - //add the menu items + //add the menu items require_once "resources/classes/menu.php"; $menu = new menu; $menu->db = $db; @@ -1745,7 +1745,7 @@ EOL; $theme_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes'; if ($handle = opendir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes')) { while (false !== ($dir_name = readdir($handle))) { - if ($dir_name != "." && $dir_name != ".." && $dir_name != ".svn" && is_readable($theme_dir.'/'.$dir_name)) { + if ($dir_name != "." && $dir_name != ".." && $dir_name != ".svn" && $dir_name != ".git" && is_readable($theme_dir.'/'.$dir_name)) { $dir_label = str_replace('_', ' ', $dir_name); $dir_label = str_replace('-', ' ', $dir_label); if ($dir_name == $install_template_name) { @@ -1764,6 +1764,17 @@ EOL; echo " \n"; echo " \n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo " \n"; echo "
\n"; - echo " ".$text['label-upgrade_svn']; + echo " ".$text['label-upgrade_source']; echo " \n"; - echo "
\n"; + echo " Domain name\n"; + echo "\n"; + echo "
\n"; + echo " Enter the default domain name. \n"; + echo "\n"; + echo "
\n"; echo " \n"; @@ -1816,6 +1827,7 @@ EOL; echo " \n"; echo " \n"; echo " \n"; + echo " \n"; echo " \n"; echo " \n"; echo " \n"; @@ -1931,6 +1943,7 @@ EOL; echo " \n"; echo " \n"; echo " \n"; + echo " \n"; echo " \n"; echo " \n"; echo " \n"; @@ -2044,6 +2057,7 @@ EOL; echo " \n"; echo " \n"; echo " \n"; + echo " \n"; echo " \n"; echo " \n"; echo " \n"; diff --git a/resources/install/scripts/app/ring_groups/index.lua b/resources/install/scripts/app/ring_groups/index.lua index e6b3663650..b1135f84c5 100644 --- a/resources/install/scripts/app/ring_groups/index.lua +++ b/resources/install/scripts/app/ring_groups/index.lua @@ -300,6 +300,14 @@ delimiter = ":_:"; end + --leg delay settings + if (ring_group_strategy == "enterprise") then + delay_name = "originate_delay_start"; + destination_delay = destination_delay * 1000; + else + delay_name = "leg_delay_start"; + end + --create a new uuid and add it to the uuid list new_uuid = api:executeString("create_uuid"); if (string.len(uuids) == 0) then @@ -370,24 +378,24 @@ reply = trim(api:executeString(cmd)); --freeswitch.consoleLog("notice", "[ring group] reply "..cmd.." " .. reply .. "\n"); if (reply == "0 total.") then - dial_string = "[sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..",leg_delay_start="..destination_delay..",dialed_extension=" .. row.destination_number .. ",extension_uuid="..extension_uuid.."]user/" .. row.destination_number .. "@" .. domain_name; + dial_string = "[sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..","..delay_name.."="..destination_delay..",dialed_extension=" .. row.destination_number .. ",extension_uuid="..extension_uuid.."]user/" .. row.destination_number .. "@" .. domain_name; else if (string.find(reply, domain_name)) then --active call else - dial_string = "[sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..",leg_delay_start="..destination_delay..",dialed_extension=" .. row.destination_number .. ",extension_uuid="..extension_uuid.."]user/" .. row.destination_number .. "@" .. domain_name; + dial_string = "[sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..","..delay_name.."="..destination_delay..",dialed_extension=" .. row.destination_number .. ",extension_uuid="..extension_uuid.."]user/" .. row.destination_number .. "@" .. domain_name; end end else --look inside the reply to check for the correct domain_name - dial_string = "[sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..",leg_delay_start="..destination_delay..",dialed_extension=" .. row.destination_number .. ",extension_uuid="..extension_uuid.."]user/" .. row.destination_number .. "@" .. domain_name; + dial_string = "[sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..","..delay_name.."="..destination_delay..",dialed_extension=" .. row.destination_number .. ",extension_uuid="..extension_uuid.."]user/" .. row.destination_number .. "@" .. domain_name; end else - dial_string = "[sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..",leg_delay_start="..destination_delay..",dialed_extension=" .. row.destination_number .. ",extension_uuid="..extension_uuid.."]user/" .. row.destination_number .. "@" .. domain_name; + dial_string = "[sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..","..delay_name.."="..destination_delay..",dialed_extension=" .. row.destination_number .. ",extension_uuid="..extension_uuid.."]user/" .. row.destination_number .. "@" .. domain_name; end elseif (tonumber(destination_number) == nil) then --sip uri - dial_string = "[sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..",leg_delay_start="..destination_delay.."]" .. row.destination_number; + dial_string = "[sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..","..delay_name.."="..destination_delay.."]" .. row.destination_number; else --external number y = 0; @@ -417,7 +425,7 @@ dialplan_detail_data = r.dialplan_detail_data:gsub("$1", destination_result); --if the session is set then process the actions if (y == 0) then - square = "[domain_name="..domain_name..",domain_uuid="..domain_uuid..",sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..",leg_delay_start="..destination_delay..",ignore_early_media=true,"; + square = "[domain_name="..domain_name..",domain_uuid="..domain_uuid..",sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..","..delay_name.."="..destination_delay..",ignore_early_media=true,"; end if (r.dialplan_detail_type == "set") then --session:execute("eval", dialplan_detail_data); diff --git a/resources/install/scripts/app/voicemail/index.lua b/resources/install/scripts/app/voicemail/index.lua index 4d2e88914e..42f1e54751 100644 --- a/resources/install/scripts/app/voicemail/index.lua +++ b/resources/install/scripts/app/voicemail/index.lua @@ -447,7 +447,11 @@ --copy the voicemail to each destination if (file_exists(voicemail_dir.."/"..voicemail_id.."/msg_"..uuid.."."..vm_message_ext)) then - os.execute("cp "..voicemail_dir.."/"..voicemail_id.."/msg_"..uuid.."."..vm_message_ext.." "..voicemail_dir.."/"..voicemail_id_copy.."/msg_"..voicemail_message_uuid.."."..vm_message_ext); + local src = voicemail_dir.."/"..voicemail_id.."/msg_"..uuid.."."..vm_message_ext + local dst = voicemail_dir.."/"..voicemail_id_copy.."/msg_"..voicemail_message_uuid.."."..vm_message_ext + if src ~= dst then + copy(src, dst) + end end --send the message waiting event diff --git a/resources/install/scripts/app/voicemail/resources/functions/macro.lua b/resources/install/scripts/app/voicemail/resources/functions/macro.lua index eed451fcb6..969dc9d378 100644 --- a/resources/install/scripts/app/voicemail/resources/functions/macro.lua +++ b/resources/install/scripts/app/voicemail/resources/functions/macro.lua @@ -31,13 +31,11 @@ --Please enter your id followed by if (name == "voicemail_id") then - table.insert(actions, {app="streamFile",data="voicemail/vm-enter_id.wav"}); - table.insert(actions, {app="streamFile",data="digits/pound.wav"}); + table.insert(actions, {app="streamFile",data="phrase:voicemail_enter_id:#"}); end --Please enter your id followed by if (name == "voicemail_password") then - table.insert(actions, {app="streamFile",data="voicemail/vm-enter_pass.wav"}); - table.insert(actions, {app="streamFile",data="digits/pound.wav"}); + table.insert(actions, {app="streamFile",data="phrase:voicemail_enter_pass:#"}); end --the person at extension 101 is not available record your message at the tone press any key or stop talking to end the recording if (name == "person_not_available_record_message") then @@ -74,25 +72,11 @@ end --You have zero new messages if (name == "new_messages") then - table.insert(actions, {app="streamFile",data="voicemail/vm-you_have.wav"}); - table.insert(actions, {app="say.number.pronounced",data=param}); - table.insert(actions, {app="streamFile",data="voicemail/vm-new.wav"}); - if (param == "1") then - table.insert(actions, {app="streamFile",data="voicemail/vm-message.wav"}); - else - table.insert(actions, {app="streamFile",data="voicemail/vm-messages.wav"}); - end + table.insert(actions, {app="streamFile",data="phrase:voicemail_message_count:" .. param .. ":new"}) end --You have zero saved messages if (name == "saved_messages") then - table.insert(actions, {app="streamFile",data="voicemail/vm-you_have.wav"}); - table.insert(actions, {app="say.number.pronounced",data=param}); - table.insert(actions, {app="streamFile",data="voicemail/vm-saved.wav"}); - if (param == "1") then - table.insert(actions, {app="streamFile",data="voicemail/vm-message.wav"}); - else - table.insert(actions, {app="streamFile",data="voicemail/vm-messages.wav"}); - end + table.insert(actions, {app="streamFile",data="phrase:voicemail_message_count:" .. param .. ":saved"}) end --To listen to new messages press 1 if (name == "listen_to_new_messages") then @@ -276,11 +260,15 @@ timeout = 100; --loop through the action and data for key, row in pairs(actions) do - --freeswitch.consoleLog("notice", "[voicemail] app: " .. row.app .. " data: " .. row.data .. "\n"); + -- freeswitch.consoleLog("notice", "[voicemail] app: " .. row.app .. " data: " .. row.data .. "\n"); if (session:ready()) then if (string.len(dtmf_digits) == 0) then if (row.app == "streamFile") then - session:streamFile(sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/"..row.data); + if string.find(row.data, ':', nil, true) then + session:streamFile(row.data); + else + session:streamFile(sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/"..row.data); + end elseif (row.app == "playback") then session:streamFile(sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/"..row.data); elseif (row.app == "tone_stream") then diff --git a/resources/install/scripts/app/voicemail/resources/functions/menu_messages.lua b/resources/install/scripts/app/voicemail/resources/functions/menu_messages.lua index 428713e79f..85c1bb0606 100644 --- a/resources/install/scripts/app/voicemail/resources/functions/menu_messages.lua +++ b/resources/install/scripts/app/voicemail/resources/functions/menu_messages.lua @@ -49,6 +49,7 @@ elseif (message_status == "saved") then sql = sql .. [[AND message_status = 'saved' ]]; end + sql = sql .. [[ORDER BY created_epoch desc;]]; if (debug["sql"]) then freeswitch.consoleLog("notice", "[voicemail] SQL: " .. sql .. "\n"); end diff --git a/resources/install/scripts/app/voicemail/resources/functions/send_email.lua b/resources/install/scripts/app/voicemail/resources/functions/send_email.lua index 84c7751870..b2f0fe5867 100644 --- a/resources/install/scripts/app/voicemail/resources/functions/send_email.lua +++ b/resources/install/scripts/app/voicemail/resources/functions/send_email.lua @@ -143,26 +143,24 @@ body = body:gsub(" ", " "); body = body:gsub("\n", ""); body = body:gsub("\n", ""); - body = body:gsub("'", "'"); - body = body:gsub([["]], """); body = trim(body); --send the email file = voicemail_dir.."/"..id.."/msg_"..uuid.."."..vm_message_ext; if (voicemail_file == "attach") then - if (voicemail_local_after_email == "false") then - delete = "true"; - else - delete = "false"; - end - cmd = "luarun email.lua "..voicemail_mail_to.." "..voicemail_mail_to.." "..headers.." '"..subject.."' '"..body.."' '"..file.."' "..delete; + freeswitch.email("", + "", + "To: "..voicemail_mail_to.."\nFrom: "..voicemail_mail_to.."\nX-Headers: "..headers.."\nSubject: "..subject, + body, + file + ); else - cmd = "luarun email.lua "..voicemail_mail_to.." "..voicemail_mail_to.." "..headers.." '"..subject.."' '"..body.."'"; + freeswitch.email("", + "", + "To: "..voicemail_mail_to.."\nFrom: "..voicemail_mail_to.."\nX-Headers: "..headers.."\nSubject: "..subject, + body + ); end - if (debug["info"]) then - freeswitch.consoleLog("notice", "[voicemail] cmd: " .. cmd .. "\n"); - end - result = api:executeString(cmd); end --whether to keep the voicemail message and details local after email diff --git a/resources/install/scripts/app/xml_handler/resources/scripts/dialplan/dialplan.lua b/resources/install/scripts/app/xml_handler/resources/scripts/dialplan/dialplan.lua index 3d1b65e3a9..c4eeeb0f63 100644 --- a/resources/install/scripts/app/xml_handler/resources/scripts/dialplan/dialplan.lua +++ b/resources/install/scripts/app/xml_handler/resources/scripts/dialplan/dialplan.lua @@ -304,7 +304,7 @@ --send the xml to the console if (debug["xml_string"]) then - local file = assert(io.open("/tmp/dialplan-" .. call_context .. ".xml", "w")); + local file = assert(io.open(temp_dir .. "/dialplan-" .. call_context .. ".xml", "w")); file:write(XML_STRING); file:close(); end diff --git a/resources/install/scripts/app/xml_handler/resources/scripts/directory/directory.lua b/resources/install/scripts/app/xml_handler/resources/scripts/directory/directory.lua index bdd926dbdb..6f98af09d2 100644 --- a/resources/install/scripts/app/xml_handler/resources/scripts/directory/directory.lua +++ b/resources/install/scripts/app/xml_handler/resources/scripts/directory/directory.lua @@ -254,7 +254,7 @@ else --set a default dial string if (dial_string == null) then - dial_string = "{sip_invite_domain=" .. domain_name .. ",presence_id=" .. user .. "@" .. domain_name .. "}${sofia_contact(" .. user .. "@" .. domain_name .. ")}"; + dial_string = "{sip_invite_domain=" .. domain_name .. ",presence_id=" .. user .. "@" .. domain_name .. "}${sofia_contact(" .. extension .. "@" .. domain_name .. ")}"; end --set the an alternative dial string if the hostnames don't match if (load_balancing) then @@ -360,10 +360,10 @@ table.insert(xml, [[ ]]); end table.insert(xml, [[ ]]); - table.insert(xml, [[ ]]); - table.insert(xml, [[ ]]); - table.insert(xml, [[ ]]); - table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); diff --git a/resources/install/scripts/call_forward.lua b/resources/install/scripts/call_forward.lua index e8fa04799a..2269b3df85 100644 --- a/resources/install/scripts/call_forward.lua +++ b/resources/install/scripts/call_forward.lua @@ -209,6 +209,8 @@ if (session:ready() and enabled == "true") then --set forward_all_enabled forward_all_enabled = "true"; + --say the destination number + session:say(forward_all_destination, default_language, "number", "iterated"); --notify the caller session:streamFile(sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/ivr/ivr-call_forwarding_has_been_set.wav"); end diff --git a/resources/install/scripts/confirm.lua b/resources/install/scripts/confirm.lua index 6aafb066e3..6154979de3 100644 --- a/resources/install/scripts/confirm.lua +++ b/resources/install/scripts/confirm.lua @@ -65,9 +65,11 @@ if (not default_voice) then default_voice = 'callie'; end --if the screen file is found then set confirm to true - call_screen_file = "/tmp/" .. domain_name .. "-" .. caller_id_number .. "." .. record_ext; - if (file_exists(call_screen_file)) then - confirm = "true"; + if (domain_name ~= nil) then + call_screen_file = "/tmp/" .. domain_name .. "-" .. caller_id_number .. "." .. record_ext; + if (file_exists(call_screen_file)) then + confirm = "true"; + end end --confirm the calls @@ -104,4 +106,4 @@ --send to the log --freeswitch.consoleLog("NOTICE", "[confirm] automatically accepted\n"); end - end \ No newline at end of file + end diff --git a/resources/install/scripts/page.lua b/resources/install/scripts/page.lua index 4e88d2850b..8d23657700 100644 --- a/resources/install/scripts/page.lua +++ b/resources/install/scripts/page.lua @@ -67,6 +67,8 @@ if ( session:ready() ) then if (not default_dialect) then default_dialect = 'us'; end if (not default_voice) then default_voice = 'callie'; end + local conf_name = "page-"..destination_number.."%"..domain_name.."@page" + if (caller_id_name) then --caller id name provided do nothing else @@ -82,14 +84,10 @@ if ( session:ready() ) then end --set conference flags - if (mute) then - if (mute == "false") then - flags = "flags{}"; - else - flags = "flags{mute}"; - end - else + if (mute == "true") then flags = "flags{mute}"; + else + flags = "flags{}"; end --if the pin number is provided then require it @@ -129,7 +127,7 @@ if ( session:ready() ) then sub_table = explode("-",value); for destination=sub_table[1],sub_table[2] do --get the destination required for number-alias - destination = api:execute("user_data", destination .. "@" .. domain_name .. " attr id"); + destination = api:execute("user_data", destination .. "@" .. domain_name .. " attr id"); --prevent calling the user that initiated the page if (sip_from_user ~= destination) then @@ -139,12 +137,12 @@ if ( session:ready() ) then destination_status = "show channels like "..destination.."@"; reply = trim(api:executeString(destination_status)); if (reply == "0 total.") then - --freeswitch.consoleLog("NOTICE", "destination "..destination.." available\n"); + freeswitch.consoleLog("NOTICE", "[page] destination "..destination.." available\n"); if (destination == tonumber(sip_from_user)) then --this destination is the caller that initated the page else --originate the call - cmd_string = "bgapi originate {sip_auto_answer=true,sip_h_Alert-Info='Ring Answer',hangup_after_bridge=false,origination_caller_id_name='"..caller_id_name.."',origination_caller_id_number="..caller_id_number.."}user/"..destination.."@"..domain_name.." conference:page-"..destination_number.."@page+"..flags.." inline"; + cmd_string = "bgapi originate {sip_auto_answer=true,sip_h_Alert-Info='Ring Answer',hangup_after_bridge=false,origination_caller_id_name='"..caller_id_name.."',origination_caller_id_number="..caller_id_number.."}user/"..destination.."@"..domain_name.." conference:"..conf_name.."+"..flags.." inline"; api:executeString(cmd_string); destination_count = destination_count + 1; end @@ -159,7 +157,7 @@ if ( session:ready() ) then --this destination is the caller that initated the page else --originate the call - cmd_string = "bgapi originate {sip_auto_answer=true,hangup_after_bridge=false,origination_caller_id_name='"..caller_id_name.."',origination_caller_id_number="..caller_id_number.."}user/"..destination.."@"..domain_name.." conference:page-"..destination_number.."@page+"..flags.." inline"; + cmd_string = "bgapi originate {sip_auto_answer=true,hangup_after_bridge=false,origination_caller_id_name='"..caller_id_name.."',origination_caller_id_number="..caller_id_number.."}user/"..destination.."@"..domain_name.." conference:"..conf_name.."+"..flags.." inline"; api:executeString(cmd_string); destination_count = destination_count + 1; end @@ -172,12 +170,12 @@ if ( session:ready() ) then --send main call to the conference room if (destination_count > 0) then - if (session:getVariable("moderator") ~= nil and session:getVariable("moderator") == "true") then + if (session:getVariable("moderator") == "true") then moderator_flag = ",moderator"; else moderator_flag = ""; end - session:execute("conference", "page-"..destination_number.."@page+flags{endconf"..moderator_flag.."}"); + session:execute("conference", conf_name.."+flags{endconf"..moderator_flag.."}"); else session:execute("playback", "tone_stream://%(500,500,480,620);loops=3"); end diff --git a/resources/install/scripts/resources/functions/settings.lua b/resources/install/scripts/resources/functions/settings.lua index d0091e691c..0bcee003c2 100644 --- a/resources/install/scripts/resources/functions/settings.lua +++ b/resources/install/scripts/resources/functions/settings.lua @@ -52,6 +52,7 @@ --get the default settings sql = "SELECT * FROM v_default_settings "; sql = sql .. "WHERE default_setting_enabled = 'true' "; + sql = sql .. "AND default_setting_value is not null "; sql = sql .. "ORDER BY default_setting_category, default_setting_subcategory ASC"; if (debug["sql"]) then freeswitch.consoleLog("notice", "SQL: " .. sql .. "\n"); @@ -65,7 +66,7 @@ subcategory = row.default_setting_subcategory; name = row.default_setting_name; value = row.default_setting_value; - + --add the category array if (previous_category ~= category) then array[category] = {} @@ -100,6 +101,7 @@ sql = "SELECT * FROM v_domain_settings "; sql = sql .. "WHERE domain_uuid = '" .. domain_uuid .. "' "; sql = sql .. "AND domain_setting_enabled = 'true' "; + sql = sql .. "AND domain_setting_value is not null "; sql = sql .. "ORDER BY domain_setting_category, domain_setting_subcategory ASC "; if (debug["sql"]) then freeswitch.consoleLog("notice", "[directory] SQL: " .. sql .. "\n"); diff --git a/resources/switch.php b/resources/switch.php index 20a2c3dcab..b79d75e206 100644 --- a/resources/switch.php +++ b/resources/switch.php @@ -317,9 +317,7 @@ function event_socket_request($fp, $cmd) { } fputs($fp, "\n"); //second line feed to end the headers - usleep(100); //allow time for reponse - - $response = ""; + $response = ''; $i = 0; $content_length = 0; while (!feof($fp)) { @@ -337,17 +335,16 @@ function event_socket_request($fp, $cmd) { } } - usleep(50); //allow time for reponse - - //prevent an endless loop //optional because of script timeout - if ($i > 30000) { break; } - if ($content_length > 0) { //is content_length set //stop reading if all content has been read. if (strlen($response) >= $content_length) { break; } } + else { + //prevent an endless loop + if ($i > 300000) { break; } + } $i++; } @@ -359,6 +356,8 @@ function event_socket_request($fp, $cmd) { } + + function event_socket_request_cmd($cmd) { global $db, $domain_uuid, $host; @@ -2537,12 +2536,15 @@ if (!function_exists('save_sip_profile_xml')) { return; } + // make profile dir if needed + $profile_dir = $_SESSION['switch']['conf']['dir']."/sip_profiles"; + if (!is_readable($profile_dir)) { mkdir($profile_dir,0775,true); } + //get the global variables global $db, $domain_uuid; //get the sip profiles from the database - $sql = "select * from v_sip_profiles "; - $sql .= "where sip_profile_enabled = 'true' "; + $sql = "select * from v_sip_profiles"; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(); @@ -2550,8 +2552,17 @@ if (!function_exists('save_sip_profile_xml')) { unset ($prep_statement, $sql); if ($result_count > 0) { foreach($result as $row) { - $sip_profile_uuid = $row['sip_profile_uuid']; - $sip_profile_name = $row['sip_profile_name']; + $sip_profile_uuid = $row['sip_profile_uuid']; + $sip_profile_name = $row['sip_profile_name']; + $sip_profile_enabled = $row['sip_profile_enabled']; + + if ($sip_profile_enabled == 'false') { + $fout = fopen($profile_dir.'/'.$sip_profile_name.".xml","w"); + if ($fout) { + fclose($fout); + } + continue; + } //get the xml sip profile template if ($sip_profile_name == "internal" || $sip_profile_name == "external" || $sip_profile_name == "internal-ipv6") { @@ -2579,14 +2590,14 @@ if (!function_exists('save_sip_profile_xml')) { $file_contents = str_replace("{v_sip_profile_settings}", $sip_profile_settings, $file_contents); //write the XML config file - if (is_readable($_SESSION['switch']['conf']['dir']."/sip_profiles/")) { - $fout = fopen($_SESSION['switch']['conf']['dir']."/sip_profiles/".$sip_profile_name.".xml","w"); + if (is_readable($profile_dir.'/')) { + $fout = fopen($profile_dir.'/'.$sip_profile_name.".xml","w"); fwrite($fout, $file_contents); fclose($fout); } //if the directory does not exist then create it - if (!is_readable($_SESSION['switch']['conf']['dir']."/sip_profiles/".$sip_profile_name)) { mkdir($_SESSION['switch']['conf']['dir']."/sip_profiles/".$sip_profile_name,0775,true); } + if (!is_readable($profile_dir.'/'.$sip_profile_name)) { mkdir($profile_dir.'/'.$sip_profile_name,0775,true); } } //end foreach unset($sql, $result, $row_count); diff --git a/resources/templates/conf/autoload_configs/callcenter.conf.xml b/resources/templates/conf/autoload_configs/callcenter.conf.xml.noload similarity index 100% rename from resources/templates/conf/autoload_configs/callcenter.conf.xml rename to resources/templates/conf/autoload_configs/callcenter.conf.xml.noload diff --git a/resources/templates/conf/autoload_configs/conference.conf.xml b/resources/templates/conf/autoload_configs/conference.conf.xml.noload similarity index 100% rename from resources/templates/conf/autoload_configs/conference.conf.xml rename to resources/templates/conf/autoload_configs/conference.conf.xml.noload diff --git a/resources/templates/conf/autoload_configs/lua.conf.xml b/resources/templates/conf/autoload_configs/lua.conf.xml index 1eb594f0b5..a608494467 100644 --- a/resources/templates/conf/autoload_configs/lua.conf.xml +++ b/resources/templates/conf/autoload_configs/lua.conf.xml @@ -15,8 +15,8 @@ - - + + -{#server_address_2} +{$server_address_2} diff --git a/themes/default/template.php b/themes/default/template.php index cf908c72db..84990d386d 100644 --- a/themes/default/template.php +++ b/themes/default/template.php @@ -694,8 +694,9 @@ if (strlen($_SESSION['message']) > 0) { if ($file != "." AND $file != ".."){ $new_path = $dir.'/'.$file; $level = explode('/',$new_path); - if (substr($new_path, -4) == ".svn") { - //ignore .svn dir and subdir + if (substr($new_path, -4) == ".svn" || + substr($new_path, -4) == ".git") { + //ignore .svn and .git dir and subdir } elseif (substr($new_path, -3) == ".db") { //ignore .db files