diff --git a/app/fifo/app_config.php b/app/fifo/app_config.php index f0871a7c7e..8dca1f66ec 100644 --- a/app/fifo/app_config.php +++ b/app/fifo/app_config.php @@ -5,7 +5,7 @@ $apps[$x]['uuid'] = '16589224-c876-aeb3-f59f-523a1c0801f7'; $apps[$x]['category'] = 'Switch'; $apps[$x]['subcategory'] = ''; - $apps[$x]['version'] = '2.0'; + $apps[$x]['version'] = '2.1'; $apps[$x]['license'] = 'Mozilla Public License 1.1'; $apps[$x]['url'] = 'http://www.fusionpbx.com'; $apps[$x]['description']['en-us'] = "Queues are used to setup waiting lines for callers. Also known as FIFO Queues."; @@ -140,11 +140,31 @@ $apps[$x]['db'][$y]['fields'][$z]['search_by'] = ''; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'A feature code for the agent to login or logout of the Queue.'; $z++; + $apps[$x]['db'][$y]['fields'][$z]['name'] = "fifo_strategy"; + $apps[$x]['db'][$y]['fields'][$z]['type'] = "text"; + $apps[$x]['db'][$y]['fields'][$z]['search'] = 'true'; + $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "Select the strategy."; + $z++; $apps[$x]['db'][$y]['fields'][$z]['name'] = 'fifo_members'; $apps[$x]['db'][$y]['fields'][$z]['type'] = 'text'; $apps[$x]['db'][$y]['fields'][$z]['search_by'] = ''; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ''; $z++; + $apps[$x]['db'][$y]['fields'][$z]['name'] = 'fifo_timeout_seconds'; + $apps[$x]['db'][$y]['fields'][$z]['type'] = 'text'; + $apps[$x]['db'][$y]['fields'][$z]['search_by'] = ''; + $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ''; + $z++; + $apps[$x]['db'][$y]['fields'][$z]['name'] = 'fifo_exit_key'; + $apps[$x]['db'][$y]['fields'][$z]['type'] = 'numeric'; + $apps[$x]['db'][$y]['fields'][$z]['search_by'] = ''; + $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ''; + $z++; + $apps[$x]['db'][$y]['fields'][$z]['name'] = 'fifo_exit_action'; + $apps[$x]['db'][$y]['fields'][$z]['type'] = 'text'; + $apps[$x]['db'][$y]['fields'][$z]['search_by'] = ''; + $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ''; + $z++; $apps[$x]['db'][$y]['fields'][$z]['name'] = 'fifo_music'; $apps[$x]['db'][$y]['fields'][$z]['type'] = 'text'; $apps[$x]['db'][$y]['fields'][$z]['search_by'] = ''; @@ -268,4 +288,4 @@ //cache details $apps[$x]['cache']['key'] = "dialplan.\${domain_name}"; -?> +?> \ No newline at end of file diff --git a/app/fifo/app_languages.php b/app/fifo/app_languages.php index 4f2a5c1ec2..cba78e315d 100644 --- a/app/fifo/app_languages.php +++ b/app/fifo/app_languages.php @@ -324,6 +324,87 @@ $text['description-fifo_agent_queue']['zh-cn'] = "代理等待呼叫者或接听 $text['description-fifo_agent_queue']['ja-jp'] = "エージェントが発信者を待機したり、キューで待機中の通話に応答したりするためのキュー。"; $text['description-fifo_agent_queue']['ko-kr'] = "상담원이 발신자를 기다리거나 대기열에 대기 중인 전화를 받기 위한 대기열입니다."; +$text['label-strategy']['en-us'] = "Strategy"; +$text['label-strategy']['en-gb'] = "Strategy"; +$text['label-strategy']['ar-eg'] = "الاستراتيجية"; +$text['label-strategy']['de-at'] = "Strategie"; +$text['label-strategy']['de-ch'] = "Strategie"; +$text['label-strategy']['de-de'] = "Strategie"; +$text['label-strategy']['el-gr'] = "Στρατηγική"; +$text['label-strategy']['es-cl'] = "Estrategia"; +$text['label-strategy']['es-mx'] = "Estrategia"; +$text['label-strategy']['fr-ca'] = "Stratégie"; +$text['label-strategy']['fr-fr'] = "Stratégie"; +$text['label-strategy']['he-il'] = "אסטרטגיה"; +$text['label-strategy']['it-it'] = "Strategia"; +$text['label-strategy']['ka-ge'] = "სტრატეგია"; +$text['label-strategy']['nl-nl'] = "Strategie"; +$text['label-strategy']['pl-pl'] = "Strategia"; +$text['label-strategy']['pt-br'] = "Estratégia"; +$text['label-strategy']['pt-pt'] = "Estratégia"; +$text['label-strategy']['ro-ro'] = "Strategie"; +$text['label-strategy']['ru-ru'] = "Стратегия"; +$text['label-strategy']['sv-se'] = "Strategi"; +$text['label-strategy']['uk-ua'] = "Стратегія"; +$text['label-strategy']['tr-tr'] = "Strateji"; +$text['label-strategy']['zh-cn'] = "战略"; +$text['label-strategy']['ja-jp'] = "ストラテジー"; +$text['label-strategy']['ko-kr'] = "전략"; + +$text['description-strategy']['en-us'] = "Select the ring strategy."; +$text['description-strategy']['en-gb'] = "Select the ring strategy."; +$text['description-strategy']['ar-eg'] = "اختيار استراتيجية الخاتم."; +$text['description-strategy']['de-at'] = "Wählen Sie eine Strategie."; +$text['description-strategy']['de-ch'] = "Wählen Sie eine Strategie."; +$text['description-strategy']['de-de'] = "Wählen Sie eine Strategie."; +$text['description-strategy']['el-gr'] = "Επιλέξτε τη στρατηγική του δακτυλίου."; +$text['description-strategy']['es-cl'] = "Ingrese la estrategia de llamado."; +$text['description-strategy']['es-mx'] = "Ingrese la estrategia de llamado."; +$text['description-strategy']['fr-ca'] = "Choisir la statégie de sonnerie."; +$text['description-strategy']['fr-fr'] = "Choisir la statégie de sonnerie."; +$text['description-strategy']['he-il'] = "בחר את אסטרטגיית החיוג"; +$text['description-strategy']['it-it'] = "Selezionare la strategia di squillo."; +$text['description-strategy']['ka-ge'] = "აირჩიეთ ზარის სტრატეგია."; +$text['description-strategy']['nl-nl'] = "Kies de bel strategie."; +$text['description-strategy']['pl-pl'] = "Wybierz strategię"; +$text['description-strategy']['pt-br'] = "Selecione a estraétia da fila"; +$text['description-strategy']['pt-pt'] = "Escolha o tipo de estratégia de toque."; +$text['description-strategy']['ro-ro'] = "Selectați strategia de inel."; +$text['description-strategy']['ru-ru'] = "Выберите стратегию вызовов."; +$text['description-strategy']['sv-se'] = "Välj strategi för ringflöde."; +$text['description-strategy']['uk-ua'] = "Виберіть стратегію кільця."; +$text['description-strategy']['tr-tr'] = "Zil stratejisini seçin."; +$text['description-strategy']['zh-cn'] = "选择响铃策略。"; +$text['description-strategy']['ja-jp'] = "リング戦略を選択します。"; +$text['description-strategy']['ko-kr'] = "링 전략을 선택합니다."; + +$text['message-strategy']['en-us'] = "Please provide: Strategy"; +$text['message-strategy']['en-gb'] = "Please provide: Strategy"; +$text['message-strategy']['ar-eg'] = "يرجى تقديم ما يلي: الاستراتيجية"; +$text['message-strategy']['de-at'] = "Bitte geben Sie folgendes an: Strategie"; +$text['message-strategy']['de-ch'] = "Bitte geben Sie folgendes an: Strategie"; +$text['message-strategy']['de-de'] = "Bitte geben Sie folgendes an: Strategie"; +$text['message-strategy']['el-gr'] = "Παρέχετε: Στρατηγική"; +$text['message-strategy']['es-cl'] = "Por favor indique: Estrategia"; +$text['message-strategy']['es-mx'] = "Por favor indique: Estrategia"; +$text['message-strategy']['fr-ca'] = "Merci d'indiquer: Stratégie"; +$text['message-strategy']['fr-fr'] = "Merci d'indiquer: Stratégie"; +$text['message-strategy']['he-il'] = "נא לספק: אסטרטגיה"; +$text['message-strategy']['it-it'] = "Prego fornire: Strategia"; +$text['message-strategy']['ka-ge'] = "შეიყვანეთ: სტრატეგია"; +$text['message-strategy']['nl-nl'] = "Geef aub.: Strategie"; +$text['message-strategy']['pl-pl'] = "Wprowadź strategię"; +$text['message-strategy']['pt-br'] = "Por favor indique: Estratégia"; +$text['message-strategy']['pt-pt'] = "Por favor indique: Estratégia"; +$text['message-strategy']['ro-ro'] = "Vă rugăm să furnizați: Strategie"; +$text['message-strategy']['ru-ru'] = "Пожалуйста укажите: Стратегию"; +$text['message-strategy']['sv-se'] = "Ange: Strategi"; +$text['message-strategy']['uk-ua'] = "Будь ласка, заповніть: Стратегія"; +$text['message-strategy']['tr-tr'] = "Lütfen sağlayın: Strateji"; +$text['message-strategy']['zh-cn'] = "请提供:策略"; +$text['message-strategy']['ja-jp'] = "提供してください: 戦略"; +$text['message-strategy']['ko-kr'] = "제공하십시오: 전략"; + $text['label-fifo_members']['en-us'] = "Agents"; $text['label-fifo_members']['en-gb'] = "Agents"; $text['label-fifo_members']['ar-eg'] = "عملاء"; @@ -377,6 +458,7 @@ $text['description-fifo_members']['zh-cn'] = "代理是队列的成员。队列 $text['description-fifo_members']['ja-jp'] = "エージェントはキューのメンバーです。キュー内の通話は、対応可能なエージェントに分配されます。"; $text['description-fifo_members']['ko-kr'] = "에이전트는 대기열의 멤버입니다. 대기열의 통화는 사용 가능한 에이전트에게 분배됩니다."; + $text['label-fifo_music']['en-us'] = "Music"; $text['label-fifo_music']['en-gb'] = "Music"; $text['label-fifo_music']['ar-eg'] = "موسيقى"; @@ -431,6 +513,162 @@ $text['description-fifo_music']['zh-cn'] = "选择排队等候时可以听到的 $text['description-fifo_music']['ja-jp'] = "キューで待機中に聞く保留音を選択します。"; $text['description-fifo_music']['ko-kr'] = "대기열에서 기다리는 동안 들을 수 있는 대기 음악을 선택하세요."; +$text['label-fifo_timeout_seconds']['en-us'] = 'Timeout'; +$text['label-fifo_timeout_seconds']['en-gb'] = 'Timeout'; +$text['label-fifo_timeout_seconds']['ar-eg'] = ''; +$text['label-fifo_timeout_seconds']['de-at'] = ''; +$text['label-fifo_timeout_seconds']['de-ch'] = ''; +$text['label-fifo_timeout_seconds']['de-de'] = ''; +$text['label-fifo_timeout_seconds']['el-gr'] = ''; +$text['label-fifo_timeout_seconds']['es-cl'] = ''; +$text['label-fifo_timeout_seconds']['es-mx'] = ''; +$text['label-fifo_timeout_seconds']['fr-ca'] = ''; +$text['label-fifo_timeout_seconds']['fr-fr'] = ''; +$text['label-fifo_timeout_seconds']['he-il'] = ''; +$text['label-fifo_timeout_seconds']['it-it'] = ''; +$text['label-fifo_timeout_seconds']['nl-nl'] = ''; +$text['label-fifo_timeout_seconds']['pl-pl'] = ''; +$text['label-fifo_timeout_seconds']['pt-br'] = ''; +$text['label-fifo_timeout_seconds']['pt-pt'] = ''; +$text['label-fifo_timeout_seconds']['ro-ro'] = ''; +$text['label-fifo_timeout_seconds']['ru-ru'] = ''; +$text['label-fifo_timeout_seconds']['sv-se'] = ''; +$text['label-fifo_timeout_seconds']['uk-ua'] = ''; +$text['label-fifo_timeout_seconds']['tr-tr'] = ''; +$text['label-fifo_timeout_seconds']['zh-cn'] = ''; +$text['label-fifo_timeout_seconds']['ja-jp'] = ''; +$text['label-fifo_timeout_seconds']['ko-kr'] = ''; + +$text['description-fifo_timeout_seconds']['en-us'] = 'Enter the queue timeout seconds. 0 means no queue timeout.'; +$text['description-fifo_timeout_seconds']['en-gb'] = 'Enter the queue timeout seconds. 0 means no queue timeout.'; +$text['description-fifo_timeout_seconds']['ar-eg'] = ''; +$text['description-fifo_timeout_seconds']['de-at'] = ''; +$text['description-fifo_timeout_seconds']['de-ch'] = ''; +$text['description-fifo_timeout_seconds']['de-de'] = ''; +$text['description-fifo_timeout_seconds']['el-gr'] = ''; +$text['description-fifo_timeout_seconds']['es-cl'] = ''; +$text['description-fifo_timeout_seconds']['es-mx'] = ''; +$text['description-fifo_timeout_seconds']['fr-ca'] = ''; +$text['description-fifo_timeout_seconds']['fr-fr'] = ''; +$text['description-fifo_timeout_seconds']['he-il'] = ''; +$text['description-fifo_timeout_seconds']['it-it'] = ''; +$text['description-fifo_timeout_seconds']['nl-nl'] = ''; +$text['description-fifo_timeout_seconds']['pl-pl'] = ''; +$text['description-fifo_timeout_seconds']['pt-br'] = ''; +$text['description-fifo_timeout_seconds']['pt-pt'] = ''; +$text['description-fifo_timeout_seconds']['ro-ro'] = ''; +$text['description-fifo_timeout_seconds']['ru-ru'] = ''; +$text['description-fifo_timeout_seconds']['sv-se'] = ''; +$text['description-fifo_timeout_seconds']['uk-ua'] = ''; +$text['description-fifo_timeout_seconds']['tr-tr'] = ''; +$text['description-fifo_timeout_seconds']['zh-cn'] = ''; +$text['description-fifo_timeout_seconds']['ja-jp'] = ''; +$text['description-fifo_timeout_seconds']['ko-kr'] = ''; + +$text['label-fifo_exit_key']['en-us'] = 'Exit Key'; +$text['label-fifo_exit_key']['en-gb'] = 'Exit Key'; +$text['label-fifo_exit_key']['ar-eg'] = ''; +$text['label-fifo_exit_key']['de-at'] = ''; +$text['label-fifo_exit_key']['de-ch'] = ''; +$text['label-fifo_exit_key']['de-de'] = ''; +$text['label-fifo_exit_key']['el-gr'] = ''; +$text['label-fifo_exit_key']['es-cl'] = ''; +$text['label-fifo_exit_key']['es-mx'] = ''; +$text['label-fifo_exit_key']['fr-ca'] = ''; +$text['label-fifo_exit_key']['fr-fr'] = ''; +$text['label-fifo_exit_key']['he-il'] = ''; +$text['label-fifo_exit_key']['it-it'] = ''; +$text['label-fifo_exit_key']['nl-nl'] = ''; +$text['label-fifo_exit_key']['pl-pl'] = ''; +$text['label-fifo_exit_key']['pt-br'] = ''; +$text['label-fifo_exit_key']['pt-pt'] = ''; +$text['label-fifo_exit_key']['ro-ro'] = ''; +$text['label-fifo_exit_key']['ru-ru'] = ''; +$text['label-fifo_exit_key']['sv-se'] = ''; +$text['label-fifo_exit_key']['uk-ua'] = ''; +$text['label-fifo_exit_key']['tr-tr'] = ''; +$text['label-fifo_exit_key']['zh-cn'] = ''; +$text['label-fifo_exit_key']['ja-jp'] = ''; +$text['label-fifo_exit_key']['ko-kr'] = ''; + +$text['description-fifo_exit_key']['en-us'] = 'Enter the number to exit the queue.'; +$text['description-fifo_exit_key']['en-gb'] = 'Enter the number to exit the queue.'; +$text['description-fifo_exit_key']['ar-eg'] = ''; +$text['description-fifo_exit_key']['de-at'] = ''; +$text['description-fifo_exit_key']['de-ch'] = ''; +$text['description-fifo_exit_key']['de-de'] = ''; +$text['description-fifo_exit_key']['el-gr'] = ''; +$text['description-fifo_exit_key']['es-cl'] = ''; +$text['description-fifo_exit_key']['es-mx'] = ''; +$text['description-fifo_exit_key']['fr-ca'] = ''; +$text['description-fifo_exit_key']['fr-fr'] = ''; +$text['description-fifo_exit_key']['he-il'] = ''; +$text['description-fifo_exit_key']['it-it'] = ''; +$text['description-fifo_exit_key']['nl-nl'] = ''; +$text['description-fifo_exit_key']['pl-pl'] = ''; +$text['description-fifo_exit_key']['pt-br'] = ''; +$text['description-fifo_exit_key']['pt-pt'] = ''; +$text['description-fifo_exit_key']['ro-ro'] = ''; +$text['description-fifo_exit_key']['ru-ru'] = ''; +$text['description-fifo_exit_key']['sv-se'] = ''; +$text['description-fifo_exit_key']['uk-ua'] = ''; +$text['description-fifo_exit_key']['tr-tr'] = ''; +$text['description-fifo_exit_key']['zh-cn'] = ''; +$text['description-fifo_exit_key']['ja-jp'] = ''; +$text['description-fifo_exit_key']['ko-kr'] = ''; + +$text['label-fifo_exit_action']['en-us'] = 'Exit Action'; +$text['label-fifo_exit_action']['en-gb'] = 'Exit Action'; +$text['label-fifo_exit_action']['ar-eg'] = ''; +$text['label-fifo_exit_action']['de-at'] = ''; +$text['label-fifo_exit_action']['de-ch'] = ''; +$text['label-fifo_exit_action']['de-de'] = ''; +$text['label-fifo_exit_action']['el-gr'] = ''; +$text['label-fifo_exit_action']['es-cl'] = ''; +$text['label-fifo_exit_action']['es-mx'] = ''; +$text['label-fifo_exit_action']['fr-ca'] = ''; +$text['label-fifo_exit_action']['fr-fr'] = ''; +$text['label-fifo_exit_action']['he-il'] = ''; +$text['label-fifo_exit_action']['it-it'] = ''; +$text['label-fifo_exit_action']['nl-nl'] = ''; +$text['label-fifo_exit_action']['pl-pl'] = ''; +$text['label-fifo_exit_action']['pt-br'] = ''; +$text['label-fifo_exit_action']['pt-pt'] = ''; +$text['label-fifo_exit_action']['ro-ro'] = ''; +$text['label-fifo_exit_action']['ru-ru'] = ''; +$text['label-fifo_exit_action']['sv-se'] = ''; +$text['label-fifo_exit_action']['uk-ua'] = ''; +$text['label-fifo_exit_action']['tr-tr'] = ''; +$text['label-fifo_exit_action']['zh-cn'] = ''; +$text['label-fifo_exit_action']['ja-jp'] = ''; +$text['label-fifo_exit_action']['ko-kr'] = ''; + +$text['description-fifo_exit_action']['en-us'] = 'Select where to route the caller when exiting the queue.'; +$text['description-fifo_exit_action']['en-gb'] = 'Select where to route the caller when exiting the queue.'; +$text['description-fifo_exit_action']['ar-eg'] = ''; +$text['description-fifo_exit_action']['de-at'] = ''; +$text['description-fifo_exit_action']['de-ch'] = ''; +$text['description-fifo_exit_action']['de-de'] = ''; +$text['description-fifo_exit_action']['el-gr'] = ''; +$text['description-fifo_exit_action']['es-cl'] = ''; +$text['description-fifo_exit_action']['es-mx'] = ''; +$text['description-fifo_exit_action']['fr-ca'] = ''; +$text['description-fifo_exit_action']['fr-fr'] = ''; +$text['description-fifo_exit_action']['he-il'] = ''; +$text['description-fifo_exit_action']['it-it'] = ''; +$text['description-fifo_exit_action']['nl-nl'] = ''; +$text['description-fifo_exit_action']['pl-pl'] = ''; +$text['description-fifo_exit_action']['pt-br'] = ''; +$text['description-fifo_exit_action']['pt-pt'] = ''; +$text['description-fifo_exit_action']['ro-ro'] = ''; +$text['description-fifo_exit_action']['ru-ru'] = ''; +$text['description-fifo_exit_action']['sv-se'] = ''; +$text['description-fifo_exit_action']['uk-ua'] = ''; +$text['description-fifo_exit_action']['tr-tr'] = ''; +$text['description-fifo_exit_action']['zh-cn'] = ''; +$text['description-fifo_exit_action']['ja-jp'] = ''; +$text['description-fifo_exit_action']['ko-kr'] = ''; + $text['label-fifo_order']['en-us'] = "Order"; $text['label-fifo_order']['en-gb'] = "Order"; $text['label-fifo_order']['ar-eg'] = "طلب"; @@ -755,6 +993,59 @@ $text['description-member_simultaneous']['zh-cn'] = "同时输入成员。"; $text['description-member_simultaneous']['ja-jp'] = "メンバー同時入力。"; $text['description-member_simultaneous']['ko-kr'] = "회원을 동시 입력하세요."; +$text['option-longest_idle_agent']['en-us'] = "Longest Idle Agent"; +$text['option-longest_idle_agent']['en-gb'] = "Longest Idle Agent"; +$text['option-longest_idle_agent']['ar-eg'] = "أطول عامل خامل"; +$text['option-longest_idle_agent']['de-at'] = "Agent mit der höchsten Wartezeit"; +$text['option-longest_idle_agent']['de-ch'] = "Agent mit der höchsten Wartezeit"; +$text['option-longest_idle_agent']['de-de'] = "Agent mit der höchsten Wartezeit"; +$text['option-longest_idle_agent']['el-gr'] = "Ο μακρύτερος πράκτορας σε αδράνεια"; +$text['option-longest_idle_agent']['es-cl'] = "Agente desocupado por más tiempo"; +$text['option-longest_idle_agent']['es-mx'] = "Agente desocupado por más tiempo"; +$text['option-longest_idle_agent']['fr-ca'] = "Agent inactif le plus longtemps"; +$text['option-longest_idle_agent']['fr-fr'] = "Agent inactif le plus longtemps"; +$text['option-longest_idle_agent']['he-il'] = "סוכן הסרק הארוך ביותר"; +$text['option-longest_idle_agent']['it-it'] = "Da più tempo libero"; +$text['option-longest_idle_agent']['ka-ge'] = "ოპერატორი, რომელიც ყველაზე დიდხანს იყო უქმად"; +$text['option-longest_idle_agent']['nl-nl'] = "Langst wachtende agent"; +$text['option-longest_idle_agent']['pl-pl'] = "Najdlużej bezczynny agent"; +$text['option-longest_idle_agent']['pt-br'] = "Agente desocupado há mais tempo"; +$text['option-longest_idle_agent']['pt-pt'] = "Agente desocupado há mais tempo"; +$text['option-longest_idle_agent']['ro-ro'] = "Cel mai lung agent inactiv"; +$text['option-longest_idle_agent']['ru-ru'] = "Максимально незанятый оператор"; +$text['option-longest_idle_agent']['sv-se'] = "Agent Längst Ledig"; +$text['option-longest_idle_agent']['uk-ua'] = "Найдовше бездіяльний агент"; +$text['option-longest_idle_agent']['zh-cn'] = "最长空闲代理"; +$text['option-longest_idle_agent']['ja-jp'] = "最長アイドル エージェント"; +$text['option-longest_idle_agent']['ko-kr'] = "가장 긴 유휴 에이전트"; + +$text['option-simultaneous']['en-us'] = "Simultaneous"; +$text['option-simultaneous']['en-gb'] = "Simultaneous"; +$text['option-simultaneous']['ar-eg'] = "بسيطة"; +$text['option-simultaneous']['de-at'] = "gleichzeitig"; +$text['option-simultaneous']['de-ch'] = "gleichzeitig"; +$text['option-simultaneous']['de-de'] = "gleichzeitig"; +$text['option-simultaneous']['el-gr'] = "Ταυτόχρονος"; +$text['option-simultaneous']['es-cl'] = "Simultaneos"; +$text['option-simultaneous']['es-mx'] = "Simultaneos"; +$text['option-simultaneous']['fr-ca'] = "Simultané"; +$text['option-simultaneous']['fr-fr'] = "Simultané"; +$text['option-simultaneous']['he-il'] = "באותו הזמן"; +$text['option-simultaneous']['it-it'] = "Parallelo"; +$text['option-simultaneous']['ka-ge'] = "ერთდროული"; +$text['option-simultaneous']['nl-nl'] = "Gelijktijdig"; +$text['option-simultaneous']['pl-pl'] = "Jednoczesne"; +$text['option-simultaneous']['pt-br'] = "Simultâneo"; +$text['option-simultaneous']['pt-pt'] = "Simultâneo"; +$text['option-simultaneous']['ro-ro'] = "Simultan"; +$text['option-simultaneous']['ru-ru'] = "Одновременное"; +$text['option-simultaneous']['sv-se'] = "Samtidig"; +$text['option-simultaneous']['uk-ua'] = "Симулятор"; +$text['option-simultaneous']['tr-tr'] = "Eş zamanlı"; +$text['option-simultaneous']['zh-cn'] = "同时"; +$text['option-simultaneous']['ja-jp'] = "同時に"; +$text['option-simultaneous']['ko-kr'] = "동시"; + $text['label-member_wrap_up_time']['en-us'] = "Wrap Up Time"; $text['label-member_wrap_up_time']['en-gb'] = "Wrap Up Time"; $text['label-member_wrap_up_time']['ar-eg'] = "وقت الختام"; @@ -836,4 +1127,4 @@ $text['label-member_enabled']['zh-cn'] = "已启用"; $text['label-member_enabled']['ja-jp'] = "有効"; $text['label-member_enabled']['ko-kr'] = "활성화됨"; -?> +?> \ No newline at end of file diff --git a/app/fifo/fifo.php b/app/fifo/fifo.php index 54e50a05a0..53f2ed7dc3 100644 --- a/app/fifo/fifo.php +++ b/app/fifo/fifo.php @@ -145,8 +145,8 @@ $sql .= "fifo_uuid, "; $sql .= "fifo_name, "; $sql .= "fifo_extension, "; - $sql .= "fifo_agent_queue, "; $sql .= "fifo_agent_status, "; + $sql .= "fifo_agent_queue, "; $sql .= "fifo_music, "; $sql .= "u.domain_uuid, "; $sql .= "d.domain_name, "; @@ -249,8 +249,8 @@ } echo th_order_by('fifo_name', $text['label-fifo_name'], $order_by, $order); echo th_order_by('fifo_extension', $text['label-fifo_extension'], $order_by, $order); - echo th_order_by('fifo_agent_queue', $text['label-fifo_agent_queue'], $order_by, $order); echo th_order_by('fifo_agent_status', $text['label-fifo_agent_status'], $order_by, $order); + echo th_order_by('fifo_agent_queue', $text['label-fifo_agent_queue'], $order_by, $order); echo th_order_by('fifo_order', $text['label-fifo_order'], $order_by, $order); echo th_order_by('fifo_enabled', $text['label-enabled'], $order_by, $order, null, "class='center'"); echo " ".$text['label-fifo_description']."\n"; @@ -287,8 +287,8 @@ } echo " \n"; echo " ".escape($row['fifo_extension'])."\n"; - echo " ".escape($row['fifo_agent_queue'])."\n"; echo " ".escape($row['fifo_agent_status'])."\n"; + echo " ".escape($row['fifo_agent_queue'])."\n"; echo " ".escape($row['fifo_order'])."\n"; if (permission_exists('fifo_edit')) { echo " \n"; @@ -322,5 +322,4 @@ //include the footer require_once "resources/footer.php"; -?> - +?> \ No newline at end of file diff --git a/app/fifo/fifo_edit.php b/app/fifo/fifo_edit.php index ef1d4cf2a1..cb2937581f 100644 --- a/app/fifo/fifo_edit.php +++ b/app/fifo/fifo_edit.php @@ -39,9 +39,15 @@ $language = new text; $text = $language->get(); +//connect to the database + $database = database::new(); + //add the settings object $settings = new settings(["domain_uuid" => $_SESSION['domain_uuid'], "user_uuid" => $_SESSION['user_uuid']]); +//setup the event socket connection + $event_socket = event_socket::create(); + //set from session variables $button_icon_back = $settings->get('theme', 'button_icon_back', ''); $button_icon_copy = $settings->get('theme', 'button_icon_copy', ''); @@ -66,7 +72,11 @@ $fifo_extension = $_POST["fifo_extension"]; $fifo_agent_status = $_POST["fifo_agent_status"]; $fifo_agent_queue = $_POST["fifo_agent_queue"]; + $fifo_strategy = $_POST["fifo_strategy"]; $fifo_members = $_POST["fifo_members"]; + $fifo_timeout_seconds = $_POST["fifo_timeout_seconds"]; + $fifo_exit_key = $_POST["fifo_exit_key"]; + $fifo_exit_action = $_POST["fifo_exit_action"]; $fifo_music = $_POST["fifo_music"]; $domain_uuid = $_POST["domain_uuid"]; $fifo_order = $_POST["fifo_order"]; @@ -104,20 +114,17 @@ switch ($_POST['action']) { case 'copy': if (permission_exists('fifo_add')) { - $obj = new database; - $obj->copy($array); + $database->copy($array); } break; case 'delete': if (permission_exists('fifo_delete')) { - $obj = new database; - $obj->delete($array); + $database->delete($array); } break; case 'toggle': if (permission_exists('fifo_update')) { - $obj = new database; - $obj->toggle($array); + $database->toggle($array); } break; } @@ -135,7 +142,11 @@ if (strlen($fifo_extension) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_extension']."
\n"; } //if (strlen($fifo_agent_status) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_agent_status']."
\n"; } //if (strlen($fifo_agent_queue) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_agent_queue']."
\n"; } + if (strlen($fifo_strategy) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_strategy']."
\n"; } //if (strlen($fifo_members) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_members']."
\n"; } + //if (strlen($fifo_timeout_seconds) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_timeout_seconds']."
\n"; } + //if (strlen($fifo_exit_key) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_exit_key']."
\n"; } + //if (strlen($fifo_exit_action) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_exit_action']."
\n"; } //if (strlen($fifo_music) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_music']."
\n"; } if (strlen($domain_uuid) == 0) { $msg .= $text['message-required']." ".$text['label-domain_uuid']."
\n"; } if (strlen($fifo_order) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_order']."
\n"; } @@ -177,6 +188,11 @@ $array['fifo'][0]['fifo_extension'] = $fifo_extension; $array['fifo'][0]['fifo_agent_status'] = $fifo_agent_status; $array['fifo'][0]['fifo_agent_queue'] = $fifo_agent_queue; + $array['fifo'][0]['fifo_strategy'] = $fifo_strategy; + $array['fifo'][0]['fifo_timeout_seconds'] = $fifo_timeout_seconds; + $array['fifo'][0]['fifo_exit_key'] = $fifo_exit_key; + $array['fifo'][0]['fifo_exit_action'] = $fifo_exit_action; + $array['fifo'][0]['fifo_exit_key'] = $fifo_exit_key; $array['fifo'][0]['fifo_music'] = $fifo_music; $array['fifo'][0]['fifo_order'] = $fifo_order; $array['fifo'][0]['fifo_enabled'] = $fifo_enabled; @@ -197,32 +213,85 @@ } } + //send commands for agent login or agent logout + if (is_array($fifo_members)) { + foreach ($fifo_members as $row) { + //build the command to add or remove the agent from the FIFO queue + if ($row["member_enabled"] == 'true') { + $command = "fifo_member add ".$fifo_extension."@".$_SESSION['domain_name']." {fifo_member_wait=nowait}".$row["member_contact"]." 5 ".$row['member_call_timeout']." ".$row['member_wrap_up_time']; + } + else { + $command = "fifo_member del ".$fifo_extension."@".$_SESSION['domain_name']." {fifo_member_wait=nowait}".$row["member_contact"]; + } + if ($event_socket->is_connected()) { + $response = event_socket::api($command); + } + } + } + + //get the action destination number + if (!empty($fifo_exit_action)) { + $fifo_exit_destination = explode(':', $fifo_exit_action)[1]; + $fifo_exit_destination = explode(' ', $fifo_exit_destination)[0]; + } + //add the fifo dialplan if (!empty($fifo_extension)) { //escape the * symbol $fifo_agent_status_xml = str_replace("*", "\*", $fifo_agent_status); $fifo_agent_queue_xml = str_replace("*", "\*", $fifo_agent_queue); + //prepare the fifo orbit extension + if (!empty($fifo_exit_destination) && $fifo_timeout_seconds == 0) { + $fifo_orbit_exten = $fifo_exit_destination; + } + else { + $fifo_orbit_exten = $fifo_exit_destination.":".$fifo_timeout_seconds; + } + //build the xml dialplan $dialplan_xml = "\n"; $dialplan_xml .= " \n"; - $dialplan_xml .= " \n"; - $dialplan_xml .= " \n"; + $dialplan_xml .= " \n"; + $dialplan_xml .= " \n"; + if ($fifo_strategy == 'longest_idle_agent') { + $dialplan_xml .= " \n"; + } + if ($fifo_strategy == 'simultaneous') { + $dialplan_xml .= " \n"; + } + /* + + + + + + */ + if (!empty($fifo_exit_key)) { + $dialplan_xml .= " \n"; + $dialplan_xml .= " \n"; + $dialplan_xml .= " \n"; + $dialplan_xml .= " \n"; + + } + if (!empty($fifo_orbit_exten)) { + $dialplan_xml .= " \n"; + } $dialplan_xml .= " \n"; - $dialplan_xml .= " \n"; + $dialplan_xml .= " \n"; $dialplan_xml .= " \n"; - $dialplan_xml .= " \n"; - $dialplan_xml .= " \n"; - $dialplan_xml .= " \n"; + $dialplan_xml .= " \n"; + $dialplan_xml .= " \n"; + $dialplan_xml .= " \n"; $dialplan_xml .= " \n"; $dialplan_xml .= " \n"; $dialplan_xml .= " \n"; $dialplan_xml .= " \n"; - $dialplan_xml .= " \n"; - $dialplan_xml .= " \n"; - $dialplan_xml .= " \n"; + $dialplan_xml .= " \n"; + $dialplan_xml .= " \n"; + $dialplan_xml .= " \n"; $dialplan_xml .= " \n"; - $dialplan_xml .= " \n"; + $dialplan_xml .= " \n"; $dialplan_xml .= " \n"; $dialplan_xml .= "\n"; @@ -247,7 +316,6 @@ $p->add("dialplan_edit", "temp"); //save the data - $database = new database; $database->app_name = 'fifo'; $database->app_uuid = '16589224-c876-aeb3-f59f-523a1c0801f7'; $result = $database->save($array); @@ -296,6 +364,10 @@ $sql .= " fifo_extension, "; $sql .= " fifo_agent_status, "; $sql .= " fifo_agent_queue, "; + $sql .= " fifo_strategy, "; + $sql .= " fifo_timeout_seconds, "; + $sql .= " fifo_exit_key, "; + $sql .= " fifo_exit_action, "; $sql .= " fifo_music, "; $sql .= " domain_uuid, "; $sql .= " fifo_order, "; @@ -306,7 +378,6 @@ //$sql .= "and domain_uuid = :domain_uuid "; //$parameters['domain_uuid'] = $_SESSION['domain_uuid']; $parameters['fifo_uuid'] = $fifo_uuid; - $database = new database; $row = $database->select($sql, $parameters, 'row'); if (is_array($row) && @sizeof($row) != 0) { $dialplan_uuid = $row["dialplan_uuid"]; @@ -314,6 +385,10 @@ $fifo_extension = $row["fifo_extension"]; $fifo_agent_status = $row["fifo_agent_status"]; $fifo_agent_queue = $row["fifo_agent_queue"]; + $fifo_strategy = $row["fifo_strategy"]; + $fifo_timeout_seconds = $row["fifo_timeout_seconds"]; + $fifo_exit_key = $row["fifo_exit_key"]; + $fifo_exit_action = $row["fifo_exit_action"]; $fifo_music = $row["fifo_music"]; $domain_uuid = $row["domain_uuid"]; $fifo_order = $row["fifo_order"]; @@ -339,7 +414,6 @@ //$sql .= "and domain_uuid = '".$domain_uuid."' "; //$parameters['domain_uuid'] = $_SESSION['domain_uuid']; $parameters['fifo_uuid'] = $fifo_uuid; - $database = new database; $fifo_members = $database->select($sql, $parameters, 'all'); unset ($sql, $parameters); } @@ -358,16 +432,28 @@ $fifo_member_uuid = uuid(); } -//add an empty row - $x = isset($fifo_members) && is_array($fifo_members) ? sizeof($fifo_members) : 0; - $fifo_members[$x]['domain_uuid'] = $_SESSION['domain_uuid']; - $fifo_members[$x]['fifo_uuid'] = $fifo_uuid; - $fifo_members[$x]['fifo_member_uuid'] = uuid(); - $fifo_members[$x]['member_contact'] = ''; - $fifo_members[$x]['member_call_timeout'] = ''; - //$fifo_members[$x]['member_simultaneous'] = ''; - $fifo_members[$x]['member_wrap_up_time'] = ''; - $fifo_members[$x]['member_enabled'] = ''; +//add an empty row to the members array + if (count($fifo_members) == 0) { + $rows = $settings->get('fifo', 'option_add_rows', '5'); + $id = 0; + $show_option_delete = false; + } + if (count($fifo_members) > 0) { + $rows = $settings->get('fifo', 'option_edit_rows', '1'); + $id = count($fifo_members)+1; + $show_option_delete = true; + } + for ($x = 0; $x < $rows; $x++) { + $fifo_members[$id]['domain_uuid'] = $_SESSION['domain_uuid']; + $fifo_members[$id]['fifo_uuid'] = $fifo_uuid; + $fifo_members[$id]['fifo_member_uuid'] = uuid(); + $fifo_members[$id]['member_contact'] = ''; + $fifo_members[$id]['member_call_timeout'] = ''; + //$fifo_members[$id]['member_simultaneous'] = ''; + $fifo_members[$id]['member_wrap_up_time'] = ''; + $fifo_members[$id]['member_enabled'] = ''; + $id++; + } //create token $object = new token; @@ -377,11 +463,14 @@ $destination = new destinations; //set the defaults + if (empty($fifo_timeout_seconds)) { + $fifo_timeout_seconds = 0; + } if (empty($fifo_order)) { $fifo_order = 50; } - if (!isset($fifo_enabled)) { - // $fifo_enabled = true; + if (empty($fifo_enabled)) { + $fifo_enabled = true; } //show the header @@ -465,6 +554,20 @@ echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; + echo " ".$text['label-strategy']."\n"; + echo "\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-strategy']."\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; echo " ".$text['label-fifo_members']."\n"; @@ -477,7 +580,7 @@ //echo " ".$text['label-member_simultaneous']."\n"; echo " ".$text['label-member_wrap_up_time']."\n"; echo " ".$text['label-member_enabled']."\n"; - if (is_array($fifo_members) && @sizeof($fifo_members) > 1 && permission_exists('fifo_member_delete')) { + if ($show_option_delete && is_array($fifo_members) && @sizeof($fifo_members) > 1 && permission_exists('fifo_member_delete')) { echo " \n"; echo " ".$text['label-delete']."\n"; echo " \n"; @@ -523,7 +626,7 @@ echo " \n"; } echo " \n"; - if (is_array($fifo_members) && @sizeof($fifo_members) > 1 && permission_exists('fifo_member_delete')) { + if ($show_option_delete && is_array($fifo_members) && @sizeof($fifo_members) > 1 && permission_exists('fifo_member_delete')) { if (is_uuid($row['fifo_member_uuid'])) { echo " \n"; echo " \n"; @@ -543,16 +646,47 @@ echo "\n"; echo "\n"; + echo "\n"; + echo "\n"; + echo " ".$text['label-fifo_timeout_seconds']."\n"; + echo "\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-fifo_timeout_seconds']."\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo " ".$text['label-fifo_exit_key']."\n"; + echo "\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-fifo_exit_key']."\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo " ".$text['label-fifo_exit_action']."\n"; + echo "\n"; + echo "\n"; + $destination = new destinations; + echo $destination->select('dialplan', 'fifo_exit_action', $fifo_exit_action); + echo "
\n"; + echo $text['description-fifo_exit_action']."\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; echo " ".$text['label-fifo_music']."\n"; echo "\n"; echo "\n"; - //echo " \n"; - $ringbacks = new ringbacks; echo $ringbacks->select('fifo_music', $fifo_music ?? null); - echo "
\n"; echo $text['description-fifo_music']."\n"; echo "\n"; @@ -655,4 +789,4 @@ //include the footer require_once "resources/footer.php"; -?> +?> \ No newline at end of file