User Dashboard: Add blocks with additional customizable information (voicemail count, missed calls, recent calls, system counts, domain limits, and system status).
CDR: Adjust icon status and missed call filter to be more accurate, simplify User's view of CDR, add additional call result filter.
This commit is contained in:
@@ -182,6 +182,53 @@ $text['login-message_attention']['ro'] = "Atenție!";
|
||||
$text['login-message_attention']['fa'] = "";
|
||||
$text['login-message_attention']['ar-eg'] = "برجاء الملاحظة";
|
||||
|
||||
$text['label-welcome']['en-us'] = "Welcome:";
|
||||
$text['label-welcome']['es-cl'] = "Bienvenido:";
|
||||
$text['label-welcome']['pt-pt'] = "Witamy:";
|
||||
$text['label-welcome']['fr-fr'] = "Bienvenue:";
|
||||
$text['label-welcome']['pt-br'] = "Bem vinda:";
|
||||
$text['label-welcome']['pl'] = "Witamy:";
|
||||
$text['label-welcome']['he'] = "ברוך הבא:";
|
||||
$text['label-welcome']['uk'] = "Ласкаво просимо:";
|
||||
$text['label-welcome']['sv-se'] = "Välkomna:";
|
||||
$text['label-welcome']['de-at'] = "Herzlich willkommen:";
|
||||
$text['label-welcome']['ro'] = "Bine ati venit:";
|
||||
$text['label-welcome']['fa'] = "";
|
||||
$text['label-welcome']['ar-eg'] = "أهلا بك:";
|
||||
|
||||
$text['label-voicemail']['en-us'] = "Voicemail";
|
||||
$text['label-voicemail']['es-cl'] = "Correo de Voz";
|
||||
$text['label-voicemail']['pt-pt'] = "Correio de Voz";
|
||||
$text['label-voicemail']['fr-fr'] = "Messagerie Vocale";
|
||||
$text['label-voicemail']['pt-br'] = "Correio de voz";
|
||||
$text['label-voicemail']['pl'] = "Poczta głosowa";
|
||||
$text['label-voicemail']['sv-se'] = "Röstbrevlåda";
|
||||
$text['label-voicemail']['uk'] = "Голосова пошта";
|
||||
$text['label-voicemail']['de-at'] = "Mailbox";
|
||||
$text['label-voicemail']['he'] = "תא קולי";
|
||||
|
||||
$text['label-view_all']['en-us'] = "View All";
|
||||
$text['label-view_all']['es-cl'] = "Mostrar Todos";
|
||||
$text['label-view_all']['pt-pt'] = "Mostrar Todos";
|
||||
$text['label-view_all']['fr-fr'] = "Tout Montrer";
|
||||
$text['label-view_all']['pl'] = "Pokaż wszystkie";
|
||||
$text['label-view_all']['uk'] = "Показати всі";
|
||||
$text['label-view_all']['sv-se'] = "Visa Allt";
|
||||
$text['label-view_all']['ro'] = "";
|
||||
$text['label-view_all']['de-at'] = "Alle anzeigen";
|
||||
$text['label-view_all']['he'] = "הצג הכל";
|
||||
|
||||
$text['label-value']['en-us'] = "Value";
|
||||
$text['label-value']['es-cl'] = "Valor";
|
||||
$text['label-value']['pt-pt'] = "Valor";
|
||||
$text['label-value']['fr-fr'] = "Valeur";
|
||||
$text['label-value']['nl-nl'] = "";
|
||||
$text['label-value']['pt-br'] = "Valor";
|
||||
$text['label-value']['pl'] = "Wartość";
|
||||
$text['label-value']['sv-se'] = "Värde";
|
||||
$text['label-value']['uk'] = "Значення";
|
||||
$text['label-value']['de-at'] = "Wert";
|
||||
|
||||
$text['label-username']['en-us'] = "Username";
|
||||
$text['label-username']['es-cl'] = "Nombre de Usuario";
|
||||
$text['label-username']['pt-pt'] = "Nome de Utilizador";
|
||||
@@ -196,6 +243,16 @@ $text['label-username']['ro'] = "Utilizator";
|
||||
$text['label-username']['fa'] = "";
|
||||
$text['label-username']['ar-eg'] = "اسم المستخدم";
|
||||
|
||||
$text['label-users']['en-us'] = "Users";
|
||||
$text['label-users']['es-cl'] = "Usuarios";
|
||||
$text['label-users']['pt-pt'] = "Utilizadores";
|
||||
$text['label-users']['fr-fr'] = "Utilisateurs";
|
||||
$text['label-users']['pt-br'] = "Usuários";
|
||||
$text['label-users']['pl'] = "Użytkownicy";
|
||||
$text['label-users']['sv-se'] = "Användare";
|
||||
$text['label-users']['uk'] = "Користувачі";
|
||||
$text['label-users']['de-at'] = "Benutzer";
|
||||
|
||||
$text['label-user_language']['en-us'] = "Language";
|
||||
$text['label-user_language']['es-cl'] = "Lengua";
|
||||
$text['label-user_language']['pt-pt'] = "Língua";
|
||||
@@ -210,6 +267,31 @@ $text['label-user_language']['ro'] = "Limbă";
|
||||
$text['label-user_language']['fa'] = "";
|
||||
$text['label-user_language']['ar-eg'] = "اللغه";
|
||||
|
||||
$text['label-used']['en-us'] = "Used";
|
||||
$text['label-used']['es-cl'] = "Usado";
|
||||
$text['label-used']['pt-pt'] = "Usava";
|
||||
$text['label-used']['fr-fr'] = "Utilisé";
|
||||
$text['label-used']['pt-br'] = "Usava";
|
||||
$text['label-used']['pl'] = "Używany";
|
||||
$text['label-used']['he'] = "מְשׁוּמָשׁ";
|
||||
$text['label-used']['uk'] = "використовується";
|
||||
$text['label-used']['sv-se'] = "Begagnade";
|
||||
$text['label-used']['de-at'] = "Benutzt";
|
||||
$text['label-used']['ro'] = "Folosit";
|
||||
$text['label-used']['fa'] = "";
|
||||
$text['label-used']['ar-eg'] = "مستعمل";
|
||||
|
||||
$text['label-total']['en-us'] = "Total";
|
||||
$text['label-total']['es-cl'] = "Total";
|
||||
$text['label-total']['pt-pt'] = "Total";
|
||||
$text['label-total']['fr-fr'] = "Total";
|
||||
$text['label-total']['pt-br'] = "Total";
|
||||
$text['label-total']['pl'] = "Podsumowanie";
|
||||
$text['label-total']['sv-se'] = "Totalt";
|
||||
$text['label-total']['uk'] = "Всього";
|
||||
$text['label-total']['de-at'] = "Total";
|
||||
$text['label-total']['he'] = "סה״כ";
|
||||
|
||||
$text['label-time']['en-us'] = "Time Zone";
|
||||
$text['label-time']['es-cl'] = "Zona Horaria";
|
||||
$text['label-time']['pt-pt'] = "Fuso Horário";
|
||||
@@ -224,6 +306,68 @@ $text['label-time']['ro'] = "Zonă fus orar";
|
||||
$text['label-time']['fa'] = "";
|
||||
$text['label-time']['ar-eg'] = "منطقة التوقيت";
|
||||
|
||||
$text['label-system_uptime']['en-us'] = "OS Uptime";
|
||||
$text['label-system_uptime']['es-cl'] = "Tiempo de actividad del sistema";
|
||||
$text['label-system_uptime']['pt-pt'] = "Uptime sistema";
|
||||
$text['label-system_uptime']['fr-fr'] = "système Uptime";
|
||||
$text['label-system_uptime']['pt-br'] = "Uptime sistema";
|
||||
$text['label-system_uptime']['pl'] = "System Uptime";
|
||||
$text['label-system_uptime']['he'] = "מערכת Uptime";
|
||||
$text['label-system_uptime']['uk'] = "час роботи системи";
|
||||
$text['label-system_uptime']['sv-se'] = "System Uptime";
|
||||
$text['label-system_uptime']['de-at'] = "System-Uptime";
|
||||
$text['label-system_uptime']['ro'] = "sistemul Uptime";
|
||||
$text['label-system_uptime']['fa'] = "";
|
||||
$text['label-system_uptime']['ar-eg'] = "نظام الجهوزية";
|
||||
|
||||
$text['label-system_status']['en-us'] = "System Status";
|
||||
$text['label-system_status']['es-cl'] = "Estado del sistema";
|
||||
$text['label-system_status']['pt-pt'] = "Status do sistema";
|
||||
$text['label-system_status']['fr-fr'] = "État du système";
|
||||
$text['label-system_status']['pt-br'] = "Status do sistema";
|
||||
$text['label-system_status']['pl'] = "Status systemu";
|
||||
$text['label-system_status']['he'] = "סטטוס מערכת";
|
||||
$text['label-system_status']['uk'] = "стан системи";
|
||||
$text['label-system_status']['sv-se'] = "Systemstatus ";
|
||||
$text['label-system_status']['de-at'] = "Systemstatus";
|
||||
$text['label-system_status']['ro'] = "Stare sistem";
|
||||
$text['label-system_status']['fa'] = "";
|
||||
$text['label-system_status']['ar-eg'] = "حالة النظام";
|
||||
|
||||
$text['label-system_counts']['en-us'] = "System Counts";
|
||||
$text['label-system_counts']['es-cl'] = "Cuenta del sistema";
|
||||
$text['label-system_counts']['pt-pt'] = "contagens do sistema";
|
||||
$text['label-system_counts']['fr-fr'] = "Chiffres de système";
|
||||
$text['label-system_counts']['pt-br'] = "contagens do sistema";
|
||||
$text['label-system_counts']['pl'] = "Liczy systemowe";
|
||||
$text['label-system_counts']['he'] = "ספירת מערכת";
|
||||
$text['label-system_counts']['uk'] = "система зараховує";
|
||||
$text['label-system_counts']['sv-se'] = "System Counts";
|
||||
$text['label-system_counts']['de-at'] = "System zählt";
|
||||
$text['label-system_counts']['ro'] = "Numără sistem";
|
||||
$text['label-system_counts']['fa'] = "";
|
||||
$text['label-system_counts']['ar-eg'] = "التهم النظام";
|
||||
|
||||
$text['label-switch_uptime']['en-us'] = "Switch Uptime";
|
||||
$text['label-switch_uptime']['es-cl'] = "Tiempo de actividad Switch";
|
||||
$text['label-switch_uptime']['pt-pt'] = "Uptime Switch";
|
||||
$text['label-switch_uptime']['fr-fr'] = "Switch Uptime";
|
||||
$text['label-switch_uptime']['pt-br'] = "Uptime Switch";
|
||||
$text['label-switch_uptime']['pl'] = "Switch Uptime";
|
||||
$text['label-switch_uptime']['sv-se'] = "Switch Uptime";
|
||||
$text['label-switch_uptime']['uk'] = "Switch Uptime";
|
||||
$text['label-switch_uptime']['de-at'] = "Switch Uptime";
|
||||
|
||||
$text['label-switch']['en-us'] = "Switch";
|
||||
$text['label-switch']['es-cl'] = "Switch";
|
||||
$text['label-switch']['pt-pt'] = "Switch";
|
||||
$text['label-switch']['fr-fr'] = "Switch";
|
||||
$text['label-switch']['pt-br'] = "Switch";
|
||||
$text['label-switch']['pl'] = "Switch";
|
||||
$text['label-switch']['sv-se'] = "Switch";
|
||||
$text['label-switch']['uk'] = "Switch";
|
||||
$text['label-switch']['de-at'] = "Switch";
|
||||
|
||||
$text['label-status']['en-us'] = "Status";
|
||||
$text['label-status']['es-cl'] = "Estado";
|
||||
$text['label-status']['pt-pt'] = "Estado";
|
||||
@@ -280,6 +424,41 @@ $text['label-repeat_password']['ro'] = "Repetare parolă";
|
||||
$text['label-repeat_password']['fa'] = "";
|
||||
$text['label-repeat_password']['ar-eg'] = "تاكيد كلمة السر";
|
||||
|
||||
$text['label-registrations']['en-us'] = "Registrations";
|
||||
$text['label-registrations']['es-cl'] = "Inscripciones";
|
||||
$text['label-registrations']['pt-pt'] = "Inscrições";
|
||||
$text['label-registrations']['fr-fr'] = "Enregistrements SIP";
|
||||
$text['label-registrations']['pt-br'] = "Inscrições";
|
||||
$text['label-registrations']['pl'] = "Rejestracje";
|
||||
$text['label-registrations']['sv-se'] = "Registreringar";
|
||||
$text['label-registrations']['uk'] = "Реєстрації";
|
||||
$text['label-registrations']['de-at'] = "Registrierungen";
|
||||
|
||||
$text['label-recent_calls']['en-us'] = "Recent Calls";
|
||||
$text['label-recent_calls']['es-cl'] = "Llamadas recientes";
|
||||
$text['label-recent_calls']['fr-fr'] = "Appels récents";
|
||||
$text['label-recent_calls']['pt-pt'] = "chamadas recentes";
|
||||
$text['label-recent_calls']['pt-br'] = "chamadas recentes";
|
||||
$text['label-recent_calls']['pl'] = "Ostatnie połączenia";
|
||||
$text['label-recent_calls']['sv-se'] = "Samtals";
|
||||
$text['label-recent_calls']['de-at'] = "Kürzliche Anrufe";
|
||||
$text['label-recent_calls']['ar-eg'] = "المكالمات الأخيرة";
|
||||
$text['label-recent_calls']['he'] = "שיחות אחרונות";
|
||||
|
||||
$text['label-processor_usage']['en-us'] = "CPU Usage";
|
||||
$text['label-processor_usage']['es-cl'] = "uso del procesador";
|
||||
$text['label-processor_usage']['pt-pt'] = "O uso do processador";
|
||||
$text['label-processor_usage']['fr-fr'] = "processeur Utilisation";
|
||||
$text['label-processor_usage']['pt-br'] = "O uso do processador";
|
||||
$text['label-processor_usage']['pl'] = "Wykorzystanie procesora";
|
||||
$text['label-processor_usage']['he'] = "שימוש מעבד";
|
||||
$text['label-processor_usage']['uk'] = "Використання процесора";
|
||||
$text['label-processor_usage']['sv-se'] = "processor Usage";
|
||||
$text['label-processor_usage']['de-at'] = "Prozessorauslastung ";
|
||||
$text['label-processor_usage']['ro'] = "procesor de utilizare";
|
||||
$text['label-processor_usage']['fa'] = "";
|
||||
$text['label-processor_usage']['ar-eg'] = "معالج الاستخدام";
|
||||
|
||||
$text['label-password']['en-us'] = "Password";
|
||||
$text['label-password']['es-cl'] = "Contraseña";
|
||||
$text['label-password']['pt-pt'] = "Password";
|
||||
@@ -294,6 +473,31 @@ $text['label-password']['ro'] = "Parolă";
|
||||
$text['label-password']['fa'] = "";
|
||||
$text['label-password']['ar-eg'] = "كلمة السر";
|
||||
|
||||
$text['label-outbound']['en-us'] = "Outbound";
|
||||
$text['label-outbound']['es-cl'] = "Salida";
|
||||
$text['label-outbound']['pt-pt'] = "Saída";
|
||||
$text['label-outbound']['fr-fr'] = "Sortant";
|
||||
$text['label-outbound']['pt-br'] = "Saída";
|
||||
$text['label-outbound']['pl'] = "Wychodzące";
|
||||
$text['label-outbound']['sv-se'] = "Utgående";
|
||||
$text['label-outbound']['uk'] = "";
|
||||
$text['label-outbound']['de-at'] = "Ausgehend";
|
||||
$text['label-outbound']['he'] = "";
|
||||
|
||||
$text['label-no_voicemail_assigned']['en-us'] = "No Voicemail Assigned";
|
||||
$text['label-no_voicemail_assigned']['es-cl'] = "No Asignado correo de voz";
|
||||
$text['label-no_voicemail_assigned']['pt-pt'] = "Sem Voicemail Assigned";
|
||||
$text['label-no_voicemail_assigned']['fr-fr'] = "Non Voicemail Assigné";
|
||||
$text['label-no_voicemail_assigned']['pt-br'] = "Sem Voicemail Assigned";
|
||||
$text['label-no_voicemail_assigned']['pl'] = "Nie głosowa Przypisany";
|
||||
$text['label-no_voicemail_assigned']['he'] = "אין שירות תא קולי Assigned";
|
||||
$text['label-no_voicemail_assigned']['uk'] = "Ні Voicemail Assigned";
|
||||
$text['label-no_voicemail_assigned']['sv-se'] = "Ingen röstmeddelande Delad";
|
||||
$text['label-no_voicemail_assigned']['de-at'] = "Nein Voicemail Assigned";
|
||||
$text['label-no_voicemail_assigned']['ro'] = "Nr Mesagerie vocală alocate";
|
||||
$text['label-no_voicemail_assigned']['fa'] = "";
|
||||
$text['label-no_voicemail_assigned']['ar-eg'] = "لا المخصصة البريد الصوتي";
|
||||
|
||||
$text['label-new_password']['en-us'] = "New Password";
|
||||
$text['label-new_password']['es-cl'] = "Nueva Contraseña";
|
||||
$text['label-new_password']['pt-pt'] = "Nova Senha";
|
||||
@@ -308,6 +512,102 @@ $text['label-new_password']['ro'] = "Parolă nouă";
|
||||
$text['label-new_password']['fa'] = "";
|
||||
$text['label-new_password']['ar-eg'] = "كلمة سر جديدة";
|
||||
|
||||
$text['label-new']['en-us'] = "New";
|
||||
$text['label-new']['es-cl'] = "Nueva";
|
||||
$text['label-new']['pt-pt'] = "Nova";
|
||||
$text['label-new']['fr-fr'] = "Nouveau";
|
||||
$text['label-new']['pt-br'] = "Nova";
|
||||
$text['label-new']['pl'] = "Nowy";
|
||||
$text['label-new']['sv-se'] = "Nytt";
|
||||
$text['label-new']['de-at'] = "Neu";
|
||||
$text['label-new']['ro'] = "Nou";
|
||||
$text['label-new']['he'] = "חדש";
|
||||
|
||||
$text['label-missed_calls']['en-us'] = "Missed Calls";
|
||||
$text['label-missed_calls']['es-cl'] = "Llamadas perdidas";
|
||||
$text['label-missed_calls']['fr-fr'] = "Appels manqués";
|
||||
$text['label-missed_calls']['pt-pt'] = "Chamadas perdidas";
|
||||
$text['label-missed_calls']['pt-br'] = "Chamadas perdidas";
|
||||
$text['label-missed_calls']['pl'] = "Nieodebrane połączenie";
|
||||
$text['label-missed_calls']['sv-se'] = "Missade samtal";
|
||||
$text['label-missed_calls']['de-at'] = "Anrufe in Abwesenheit";
|
||||
$text['label-missed_calls']['ar-eg'] = "مكالمات فائتة";
|
||||
$text['label-missed_calls']['he'] = "שיחות שלא נענו";
|
||||
|
||||
$text['label-missed']['en-us'] = "Missed";
|
||||
$text['label-missed']['es-cl'] = "Perdido";
|
||||
$text['label-missed']['fr-fr'] = "Raté";
|
||||
$text['label-missed']['pt-pt'] = "Perdidas";
|
||||
$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-missed']['he'] = "שיחה שלא נענתה";
|
||||
|
||||
$text['label-memory_usage']['en-us'] = "Memory Usage";
|
||||
$text['label-memory_usage']['es-cl'] = "Uso de memoria";
|
||||
$text['label-memory_usage']['pt-pt'] = "Uso de memória";
|
||||
$text['label-memory_usage']['fr-fr'] = "Utilisation de la mémoire";
|
||||
$text['label-memory_usage']['pt-br'] = "Uso de memória";
|
||||
$text['label-memory_usage']['pl'] = "Zużycie pamięci";
|
||||
$text['label-memory_usage']['he'] = "שימוש בזיכרון";
|
||||
$text['label-memory_usage']['uk'] = "Використання пам'яті";
|
||||
$text['label-memory_usage']['sv-se'] = "Minnesanvändning";
|
||||
$text['label-memory_usage']['de-at'] = "Speichernutzung";
|
||||
$text['label-memory_usage']['ro'] = "Folosirea memoriei";
|
||||
$text['label-memory_usage']['fa'] = "";
|
||||
$text['label-memory_usage']['ar-eg'] = "استخدام الذاكرة";
|
||||
|
||||
$text['label-local']['en-us'] = "Local";
|
||||
$text['label-local']['es-cl'] = "Local";
|
||||
$text['label-local']['pt-pt'] = "Local";
|
||||
$text['label-local']['fr-fr'] = "Local";
|
||||
$text['label-local']['pt-br'] = "Local";
|
||||
$text['label-local']['pl'] = "Lokalne";
|
||||
$text['label-local']['sv-se'] = "Lokal";
|
||||
$text['label-local']['uk'] = "Локальний";
|
||||
$text['label-local']['de-at'] = "Lokal";
|
||||
$text['label-local']['he'] = "מקומי";
|
||||
|
||||
$text['label-inbound']['en-us'] = "Inbound";
|
||||
$text['label-inbound']['es-cl'] = "Entrada";
|
||||
$text['label-inbound']['pt-pt'] = "Entrada";
|
||||
$text['label-inbound']['fr-fr'] = "Entrant";
|
||||
$text['label-inbound']['pt-br'] = "Entrada";
|
||||
$text['label-inbound']['pl'] = "Przychodzące";
|
||||
$text['label-inbound']['sv-se'] = "Inkommande";
|
||||
$text['label-inbound']['uk'] = "Вихідний";
|
||||
$text['label-inbound']['de-at'] = "Eingehend";
|
||||
$text['label-inbound']['he'] = "";
|
||||
|
||||
$text['label-item']['en-us'] = "Item";
|
||||
$text['label-item']['es-cl'] = "Ítem";
|
||||
$text['label-item']['pt-pt'] = "Item";
|
||||
$text['label-item']['fr-fr'] = "Article";
|
||||
$text['label-item']['pt-br'] = "Item";
|
||||
$text['label-item']['pl'] = "Pozycja";
|
||||
$text['label-item']['he'] = "פריט";
|
||||
$text['label-item']['uk'] = "пункт";
|
||||
$text['label-item']['sv-se'] = "Punkt";
|
||||
$text['label-item']['de-at'] = "Artikel";
|
||||
$text['label-item']['ro'] = "Articol";
|
||||
$text['label-item']['fa'] = "";
|
||||
$text['label-item']['ar-eg'] = "بند";
|
||||
|
||||
$text['label-gateways']['en-us'] = "Gateways";
|
||||
$text['label-gateways']['es-cl'] = "Pasarelas";
|
||||
$text['label-gateways']['pt-pt'] = "Gateways";
|
||||
$text['label-gateways']['fr-fr'] = "Passerelles";
|
||||
$text['label-gateways']['pt-br'] = "Gateways";
|
||||
$text['label-gateways']['pl'] = "Bramy wyjściowe (gateways)";
|
||||
$text['label-gateways']['uk'] = "Шлюзи";
|
||||
$text['label-gateways']['sv-se'] = "Gateways";
|
||||
$text['label-gateways']['ro'] = "";
|
||||
$text['label-gateways']['de-at'] = "Gateways";
|
||||
$text['label-gateways']['ar-eg'] = "البوابات";
|
||||
$text['label-gateways']['he'] = "שערים";
|
||||
|
||||
$text['label-followme']['en-us'] = "Follow Me";
|
||||
$text['label-followme']['es-cl'] = "Sígueme";
|
||||
$text['label-followme']['pt-pt'] = "Segue-me";
|
||||
@@ -322,6 +622,43 @@ $text['label-followme']['ro'] = "Urmează-mă";
|
||||
$text['label-followme']['fa'] = "";
|
||||
$text['label-followme']['ar-eg'] = "خدمة اتبعني";
|
||||
|
||||
$text['label-feature']['en-us'] = "Feature";
|
||||
$text['label-feature']['es-cl'] = "Característica";
|
||||
$text['label-feature']['pt-pt'] = "Característica";
|
||||
$text['label-feature']['fr-fr'] = "Fonctionnalité";
|
||||
$text['label-feature']['pt-br'] = "Característica";
|
||||
$text['label-feature']['pl'] = "Cecha";
|
||||
$text['label-feature']['uk'] = "особливість";
|
||||
$text['label-feature']['sv-se'] = "Särdrag";
|
||||
$text['label-feature']['ro'] = "trăsătură";
|
||||
$text['label-feature']['de-at'] = "Feature";
|
||||
$text['label-feature']['ar-eg'] = "ميزة";
|
||||
$text['label-feature']['he'] = "מאפיין";
|
||||
|
||||
$text['label-failed']['en-us'] = "Failed";
|
||||
$text['label-failed']['es-cl'] = "Fracasado";
|
||||
$text['label-failed']['pt-pt'] = "Fracassado";
|
||||
$text['label-failed']['fr-fr'] = "Manqué";
|
||||
$text['label-failed']['pt-br'] = "Fracassado";
|
||||
$text['label-failed']['pl'] = "Nie powiodło się";
|
||||
$text['label-failed']['sv-se'] = "Misslyckad";
|
||||
$text['label-failed']['uk'] = "";
|
||||
$text['label-failed']['de-at'] = "Fehlgeschlagen";
|
||||
$text['label-failed']['he'] = "נכשל";
|
||||
|
||||
$text['label-extensions']['en-us'] = "Extensions";
|
||||
$text['label-extensions']['es-cl'] = "Extensiones";
|
||||
$text['label-extensions']['pt-pt'] = "Extensões";
|
||||
$text['label-extensions']['fr-fr'] = "Extensions";
|
||||
$text['label-extensions']['pt-br'] = "Extensões";
|
||||
$text['label-extensions']['pl'] = "Numery wewnętrzne";
|
||||
$text['label-extensions']['uk'] = "Розширення";
|
||||
$text['label-extensions']['sv-se'] = "Anknytningar";
|
||||
$text['label-extensions']['ro'] = "Extensii";
|
||||
$text['label-extensions']['de-at'] = "Nebenstellen";
|
||||
$text['label-extensions']['ar-eg'] = "الأرقام الداخلية";
|
||||
$text['label-extensions']['he'] = "שלוחות";
|
||||
|
||||
$text['label-extension']['en-us'] = "Extension";
|
||||
$text['label-extension']['es-cl'] = "Extensión";
|
||||
$text['label-extension']['pt-pt'] = "Extensão";
|
||||
@@ -350,6 +687,30 @@ $text['label-email_address']['ro'] = "Adresă email";
|
||||
$text['label-email_address']['fa'] = "";
|
||||
$text['label-email_address']['ar-eg'] = "البريد الإلكتروني";
|
||||
|
||||
$text['label-domains']['en-us'] = "Domains";
|
||||
$text['label-domains']['es-cl'] = "Dominios";
|
||||
$text['label-domains']['pt-pt'] = "Domínios";
|
||||
$text['label-domains']['fr-fr'] = "Domaines";
|
||||
$text['label-domains']['pt-br'] = "Dominios";
|
||||
$text['label-domains']['pl'] = "Domeny";
|
||||
$text['label-domains']['sv-se'] = "Domäner";
|
||||
$text['label-domains']['uk'] = "Домени";
|
||||
$text['label-domains']['de-at'] = "Domains";
|
||||
|
||||
$text['label-domain_limits']['en-us'] = "Domain Limits";
|
||||
$text['label-domain_limits']['es-cl'] = "Límites de dominio";
|
||||
$text['label-domain_limits']['pt-pt'] = "Limites de domínio";
|
||||
$text['label-domain_limits']['fr-fr'] = "Limites de domaine";
|
||||
$text['label-domain_limits']['pt-br'] = "Limites de domínio";
|
||||
$text['label-domain_limits']['pl'] = "Granice domen";
|
||||
$text['label-domain_limits']['he'] = "מגבלת הדומיין";
|
||||
$text['label-domain_limits']['uk'] = "обмеження домену";
|
||||
$text['label-domain_limits']['sv-se'] = "domän Gränser";
|
||||
$text['label-domain_limits']['de-at'] = "Domain Limits";
|
||||
$text['label-domain_limits']['ro'] = "Limite de domeniu";
|
||||
$text['label-domain_limits']['fa'] = "";
|
||||
$text['label-domain_limits']['ar-eg'] = "حدود نطاق";
|
||||
|
||||
$text['label-domain']['en-us'] = "Domain";
|
||||
$text['label-domain']['es-cl'] = "Dominio";
|
||||
$text['label-domain']['pt-pt'] = "Domínio";
|
||||
@@ -378,6 +739,85 @@ $text['label-dnd']['ro'] = "Nu deranjați";
|
||||
$text['label-dnd']['fa'] = "";
|
||||
$text['label-dnd']['ar-eg'] = "عدم الازعاج";
|
||||
|
||||
$text['label-disk_usage']['en-us'] = "Disk Usage";
|
||||
$text['label-disk_usage']['es-cl'] = "Uso del disco";
|
||||
$text['label-disk_usage']['pt-pt'] = "Uso de disco";
|
||||
$text['label-disk_usage']['fr-fr'] = "Utilisation du disque";
|
||||
$text['label-disk_usage']['pt-br'] = "Uso de disco";
|
||||
$text['label-disk_usage']['pl'] = "Użycie dysku";
|
||||
$text['label-disk_usage']['he'] = "שימוש בדיסק";
|
||||
$text['label-disk_usage']['uk'] = "Використання диска";
|
||||
$text['label-disk_usage']['sv-se'] = "Drive användning";
|
||||
$text['label-disk_usage']['de-at'] = "Festplattennutzung";
|
||||
$text['label-disk_usage']['ro'] = "utilizare disc";
|
||||
$text['label-disk_usage']['fa'] = "";
|
||||
$text['label-disk_usage']['ar-eg'] = "إستخدام القرص";
|
||||
|
||||
$text['label-disabled']['en-us'] = "Disabled";
|
||||
$text['label-disabled']['es-cl'] = "Discapacitado";
|
||||
$text['label-disabled']['pt-pt'] = "Inválido";
|
||||
$text['label-disabled']['fr-fr'] = "Non Permis";
|
||||
$text['label-disabled']['pt-br'] = "Inválido";
|
||||
$text['label-disabled']['pl'] = "Wyłączony";
|
||||
$text['label-disabled']['sv-se'] = "Inaktiverad";
|
||||
$text['label-disabled']['uk'] = "Відключено";
|
||||
$text['label-disabled']['de-at'] = "Ausgeschaltet";
|
||||
|
||||
$text['label-devices']['en-us'] = "Devices";
|
||||
$text['label-devices']['es-cl'] = "Dispositivos";
|
||||
$text['label-devices']['pt-pt'] = "Dispositivos";
|
||||
$text['label-devices']['fr-fr'] = "Equipements";
|
||||
$text['label-devices']['pt-br'] = "Dispositivos";
|
||||
$text['label-devices']['pl'] = "Urządzenia";
|
||||
$text['label-devices']['uk'] = "Пристрої";
|
||||
$text['label-devices']['sv-se'] = "Enheter";
|
||||
$text['label-devices']['ro'] = "Dispozitive";
|
||||
$text['label-devices']['de-at'] = "Geräte";
|
||||
$text['label-devices']['ar-eg'] = "الأجهزة";
|
||||
$text['label-devices']['he'] = "התקנים";
|
||||
|
||||
$text['label-destinations']['en-us'] = "Destinations";
|
||||
$text['label-destinations']['es-cl'] = "Destinos";
|
||||
$text['label-destinations']['pt-pt'] = "Destinos";
|
||||
$text['label-destinations']['fr-fr'] = "Destinations";
|
||||
$text['label-destinations']['pt-br'] = "Destinos";
|
||||
$text['label-destinations']['pl'] = "Destynacje";
|
||||
$text['label-destinations']['sv-se'] = "Destinationer";
|
||||
$text['label-destinations']['uk'] = "Номери";
|
||||
$text['label-destinations']['ro'] = "Destinații";
|
||||
$text['label-destinations']['de-at'] = "Kopfnummern";
|
||||
$text['label-destinations']['fa'] = "";
|
||||
$text['label-destinations']['ar-eg'] = "جهات الأتصال";
|
||||
$text['label-destinations']['he'] = "יעדים";
|
||||
|
||||
$text['label-date_time']['en-us'] = "Date/Time";
|
||||
$text['label-date_time']['es-cl'] = "Fecha y hora";
|
||||
$text['label-date_time']['pt-pt'] = "Data hora";
|
||||
$text['label-date_time']['fr-fr'] = "Date / Heure";
|
||||
$text['label-date_time']['pt-br'] = "Data hora";
|
||||
$text['label-date_time']['pl'] = "Data Godzina";
|
||||
$text['label-date_time']['sv-se'] = "Datum Tid";
|
||||
$text['label-date_time']['uk'] = "Дата, час";
|
||||
$text['label-date_time']['ro'] = "Data / Ora";
|
||||
$text['label-date_time']['de-at'] = "Terminzeit";
|
||||
$text['label-date_time']['fa'] = "";
|
||||
$text['label-date_time']['ar-eg'] = "تاريخ / وقت";
|
||||
$text['label-date_time']['he'] = "תאריך שעה";
|
||||
|
||||
$text['label-database_connections']['en-us'] = "DB Connections";
|
||||
$text['label-database_connections']['es-cl'] = "Conexiones de base de datos";
|
||||
$text['label-database_connections']['pt-pt'] = "Conexões de banco de dados";
|
||||
$text['label-database_connections']['fr-fr'] = "Connexions de base de données";
|
||||
$text['label-database_connections']['pt-br'] = "Conexões de banco de dados";
|
||||
$text['label-database_connections']['pl'] = "Połączenia z bazami danych";
|
||||
$text['label-database_connections']['sv-se'] = "databasanslutningar ";
|
||||
$text['label-database_connections']['uk'] = "з'єднання бази даних";
|
||||
$text['label-database_connections']['ro'] = "Baza de date Conexiuni";
|
||||
$text['label-database_connections']['de-at'] = "Datenbankverbindungen ";
|
||||
$text['label-database_connections']['fa'] = "";
|
||||
$text['label-database_connections']['ar-eg'] = "اتصالات قاعدة البيانات";
|
||||
$text['label-database_connections']['he'] = "התחברויות למסד נתונים";
|
||||
|
||||
$text['label-confirm-password']['en-us'] = "Confirm Password";
|
||||
$text['label-confirm-password']['es-cl'] = "Confirmar Contraseña";
|
||||
$text['label-confirm-password']['pt-pt'] = "Confirmar Palavra-Passe";
|
||||
@@ -392,6 +832,55 @@ $text['label-confirm-password']['ro'] = "Confirmare parolă";
|
||||
$text['label-confirm-password']['fa'] = "";
|
||||
$text['label-confirm-password']['ar-eg'] = "تاكيد كلمة السر";
|
||||
|
||||
$text['label-cid_number']['en-us'] = "Number";
|
||||
$text['label-cid_number']['es-cl'] = "Número";
|
||||
$text['label-cid_number']['pt-pt'] = "Número";
|
||||
$text['label-cid_number']['fr-fr'] = "Numéro";
|
||||
$text['label-cid_number']['pt-br'] = "Número";
|
||||
$text['label-cid_number']['pl'] = "Numer";
|
||||
$text['label-cid_number']['sv-se'] = "Nummer";
|
||||
$text['label-cid_number']['uk'] = "Номер";
|
||||
$text['label-cid_number']['de-at'] = "Nummer";
|
||||
$text['label-cid_number']['he'] = "מספר";
|
||||
|
||||
$text['label-cid_name']['en-us'] = "Name";
|
||||
$text['label-cid_name']['es-cl'] = "Nombre";
|
||||
$text['label-cid_name']['pt-pt'] = "Nome";
|
||||
$text['label-cid_name']['fr-fr'] = "Nom";
|
||||
$text['label-cid_name']['pt-br'] = "Nome";
|
||||
$text['label-cid_name']['pl'] = "Nazwa";
|
||||
$text['label-cid_name']['sv-se'] = "Namn";
|
||||
$text['label-cid_name']['uk'] = "Назва";
|
||||
$text['label-cid_name']['de-at'] = "Name";
|
||||
$text['label-cid_name']['he'] = "שם";
|
||||
|
||||
$text['label-channels']['en-us'] = "Channels";
|
||||
$text['label-channels']['es-cl'] = "Canales";
|
||||
$text['label-channels']['pt-pt'] = "Canais";
|
||||
$text['label-channels']['fr-fr'] = "Canaux";
|
||||
$text['label-channels']['pt-br'] = "Canais";
|
||||
$text['label-channels']['pl'] = "Kanały";
|
||||
$text['label-channels']['uk'] = "Канали";
|
||||
$text['label-channels']['sv-se'] = "Kanaler";
|
||||
$text['label-channels']['ro'] = "Canale";
|
||||
$text['label-channels']['de-at'] = "Kanäle";
|
||||
$text['label-channels']['ar-eg'] = "";
|
||||
$text['label-channels']['he'] = "ערוצים";
|
||||
|
||||
$text['label-cancelled']['en-us'] = "Cancelled";
|
||||
$text['label-cancelled']['es-cl'] = "Cancelado";
|
||||
$text['label-cancelled']['pt-pt'] = "Cancelado";
|
||||
$text['label-cancelled']['fr-fr'] = "Annulé";
|
||||
$text['label-cancelled']['pt-br'] = "Cancelado";
|
||||
$text['label-cancelled']['pl'] = "Odwołany";
|
||||
$text['label-cancelled']['he'] = "מבוטל";
|
||||
$text['label-cancelled']['uk'] = "скасовано";
|
||||
$text['label-cancelled']['sv-se'] = "Avbryts";
|
||||
$text['label-cancelled']['de-at'] = "Abgebrochen";
|
||||
$text['label-cancelled']['ro'] = "Anulat";
|
||||
$text['label-cancelled']['fa'] = "";
|
||||
$text['label-cancelled']['ar-eg'] = "ألغيت";
|
||||
|
||||
$text['label-cancel']['en-us'] = "Cancel";
|
||||
$text['label-cancel']['es-cl'] = "Cancelar";
|
||||
$text['label-cancel']['pt-pt'] = "Cancelar";
|
||||
@@ -420,6 +909,20 @@ $text['label-callforward']['ro'] = "Redirecționare apel";
|
||||
$text['label-callforward']['fa'] = "";
|
||||
$text['label-callforward']['ar-eg'] = "تحويل المكالمات";
|
||||
|
||||
$text['label-answered']['en-us'] = "Answered";
|
||||
$text['label-answered']['es-cl'] = "Respondido";
|
||||
$text['label-answered']['pt-pt'] = "Atendidas";
|
||||
$text['label-answered']['fr-fr'] = "Répondu";
|
||||
$text['label-answered']['pt-br'] = "Atendidas";
|
||||
$text['label-answered']['pl'] = "Odebrano";
|
||||
$text['label-answered']['he'] = "ענה";
|
||||
$text['label-answered']['uk'] = "відповів";
|
||||
$text['label-answered']['sv-se'] = "Besvarad";
|
||||
$text['label-answered']['de-at'] = "Angenommen";
|
||||
$text['label-answered']['ro'] = "Răspuns";
|
||||
$text['label-answered']['fa'] = "";
|
||||
$text['label-answered']['ar-eg'] = "تم الرد";
|
||||
|
||||
$text['header-user_dashboard']['en-us'] = "User Dashboard";
|
||||
$text['header-user_dashboard']['es-cl'] = "Dashboard Usuario";
|
||||
$text['header-user_dashboard']['pt-pt'] = "Painel de Controle do Usuário";
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2012
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2016
|
||||
the Initial Developer. All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
@@ -73,21 +73,854 @@
|
||||
echo " ".$text['description-user_dashboard'];
|
||||
echo " </td>\n";
|
||||
echo " <td valign='top' style='text-align: right; white-space: nowrap;'>\n";
|
||||
echo " <input type='button' class='btn' value='".$_SESSION["username"]."' onclick=\"document.location.href='".PROJECT_PATH."/core/user_settings/user_edit.php';\">";
|
||||
if (file_exists($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/app/voicemails/voicemail_messages.php")) {
|
||||
echo " <input type='button' class='btn' value='".$text['button-voicemail']."' onclick=\"document.location.href='".PROJECT_PATH."/app/voicemails/voicemail_messages.php';\">";
|
||||
}
|
||||
echo " ".$text['label-welcome']." <a href='".PROJECT_PATH."/core/user_settings/user_edit.php'>".$_SESSION["username"]."</a>";
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
echo "</table>\n";
|
||||
echo "<br /><br />";
|
||||
echo "<br />";
|
||||
|
||||
//display login message
|
||||
if (if_group("superadmin") && $_SESSION['login']['message']['text'] != '') {
|
||||
echo "<br /><br /><br />";
|
||||
echo "<div class='login_message' width='100%'><b>".$text['login-message_attention']."</b> ".$_SESSION['login']['message']['text']." (<a href='?msg=dismiss'>".$text['login-message_dismiss']."</a>)</div>";
|
||||
}
|
||||
|
||||
//determine hud blocks
|
||||
if (is_array($_SESSION['dashboard']) && sizeof($_SESSION['dashboard']) > 0) {
|
||||
foreach ($_SESSION['groups'] as $index => $group) {
|
||||
$group_name = $group['group_name'];
|
||||
if (is_array($_SESSION['dashboard'][$group_name]) && sizeof($_SESSION['dashboard'][$group_name]) > 0) {
|
||||
foreach ($_SESSION['dashboard'][$group_name] as $hud_block) {
|
||||
$hud_blocks[] = strtolower($hud_block);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (is_array($hud_blocks) && sizeof($hud_blocks) > 0) {
|
||||
$selected_blocks = array_unique($hud_blocks);
|
||||
sort($selected_blocks, SORT_NATURAL);
|
||||
}
|
||||
unset($group, $group_name, $index, $hud_block, $hud_blocks);
|
||||
|
||||
|
||||
//collect stats for counts and limits
|
||||
if (in_array('counts', $selected_blocks) || in_array('limits', $selected_blocks)) {
|
||||
|
||||
//domains
|
||||
if (permission_exists('domain_view')) {
|
||||
$stats['system']['domains']['total'] = sizeof($_SESSION['domains']);
|
||||
$stats['system']['domains']['disabled'] = 0;
|
||||
foreach ($_SESSION['domains'] as $domain) {
|
||||
$stats['system']['domains']['disabled'] += ($domain['domain_enabled'] != 'true') ? 1 : 0;
|
||||
}
|
||||
}
|
||||
|
||||
//devices
|
||||
if (permission_exists('device_view')) {
|
||||
$stats['system']['devices']['total'] = 0;
|
||||
$stats['system']['devices']['disabled'] = 0;
|
||||
$stats['domain']['devices']['total'] = 0;
|
||||
$stats['domain']['devices']['disabled'] = 0;
|
||||
$sql = "select domain_uuid, device_provision_enabled from v_devices";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
$stats['system']['devices']['total'] = count($result);
|
||||
foreach ($result as $row) {
|
||||
$stats['system']['devices']['disabled'] += ($row['device_provision_enabled'] != 'true') ? 1 : 0;
|
||||
if ($row['domain_uuid'] == $_SESSION['domain_uuid']) {
|
||||
$stats['domain']['devices']['total']++;
|
||||
$stats['domain']['devices']['disabled'] += ($row['device_provision_enabled'] != 'true') ? 1 : 0;
|
||||
}
|
||||
}
|
||||
unset ($sql, $prep_statement, $result);
|
||||
}
|
||||
|
||||
//extensions
|
||||
if (permission_exists('extension_view')) {
|
||||
$stats['system']['extensions']['total'] = 0;
|
||||
$stats['system']['extensions']['disabled'] = 0;
|
||||
$stats['domain']['extensions']['total'] = 0;
|
||||
$stats['domain']['extensions']['disabled'] = 0;
|
||||
$sql = "select domain_uuid, enabled from v_extensions";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
$stats['system']['extensions']['total'] = count($result);
|
||||
foreach ($result as $row) {
|
||||
$stats['system']['extensions']['disabled'] += ($row['enabled'] != 'true') ? 1 : 0;
|
||||
if ($row['domain_uuid'] == $_SESSION['domain_uuid']) {
|
||||
$stats['domain']['extensions']['total']++;
|
||||
$stats['domain']['extensions']['disabled'] += ($row['enabled'] != 'true') ? 1 : 0;
|
||||
}
|
||||
}
|
||||
unset ($sql, $prep_statement, $result);
|
||||
}
|
||||
|
||||
//gateways
|
||||
if (permission_exists('gateway_view')) {
|
||||
$stats['system']['gateways']['total'] = 0;
|
||||
$stats['system']['gateways']['disabled'] = 0;
|
||||
$stats['domain']['gateways']['total'] = 0;
|
||||
$stats['domain']['gateways']['disabled'] = 0;
|
||||
$sql = "select domain_uuid, enabled from v_gateways";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
$stats['system']['gateways']['total'] = count($result);
|
||||
foreach ($result as $row) {
|
||||
$stats['system']['gateways']['disabled'] += ($row['enabled'] != 'true') ? 1 : 0;
|
||||
if ($row['domain_uuid'] == $_SESSION['domain_uuid']) {
|
||||
$stats['domain']['gateways']['total']++;
|
||||
$stats['domain']['gateways']['disabled'] += ($row['enabled'] != 'true') ? 1 : 0;
|
||||
}
|
||||
}
|
||||
unset ($sql, $prep_statement, $result);
|
||||
}
|
||||
|
||||
//users
|
||||
if (permission_exists('user_view') || if_group("superadmin")) {
|
||||
$stats['system']['users']['total'] = 0;
|
||||
$stats['system']['users']['disabled'] = 0;
|
||||
$stats['domain']['users']['total'] = 0;
|
||||
$stats['domain']['users']['disabled'] = 0;
|
||||
$sql = "select domain_uuid, user_enabled from v_users";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
$stats['system']['users']['total'] = count($result);
|
||||
foreach ($result as $row) {
|
||||
$stats['system']['users']['disabled'] += ($row['user_enabled'] != 'true') ? 1 : 0;
|
||||
if ($row['domain_uuid'] == $_SESSION['domain_uuid']) {
|
||||
$stats['domain']['users']['total']++;
|
||||
$stats['domain']['users']['disabled'] += ($row['user_enabled'] != 'true') ? 1 : 0;
|
||||
}
|
||||
}
|
||||
unset ($sql, $prep_statement, $result);
|
||||
}
|
||||
|
||||
//destinations
|
||||
if (permission_exists('destination_view')) {
|
||||
$stats['system']['destinations']['total'] = 0;
|
||||
$stats['system']['destinations']['disabled'] = 0;
|
||||
$stats['domain']['destinations']['total'] = 0;
|
||||
$stats['domain']['destinations']['disabled'] = 0;
|
||||
$sql = "select domain_uuid, destination_enabled from v_destinations";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
$stats['system']['destinations']['total'] = count($result);
|
||||
foreach ($result as $row) {
|
||||
$stats['system']['destinations']['disabled'] += ($row['destination_enabled'] != 'true') ? 1 : 0;
|
||||
if ($row['domain_uuid'] == $_SESSION['domain_uuid']) {
|
||||
$stats['domain']['destinations']['total']++;
|
||||
$stats['domain']['destinations']['disabled'] += ($row['destination_enabled'] != 'true') ? 1 : 0;
|
||||
}
|
||||
}
|
||||
unset ($sql, $prep_statement, $result);
|
||||
}
|
||||
|
||||
//call center queues
|
||||
if (permission_exists('call_center_active_view')) {
|
||||
$sql = "select domain_uuid from v_call_center_queues where domain_uuid = '".$_SESSION['domain_uuid']."'";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
$stats['domain']['call_center_queues']['total'] = count($result);
|
||||
unset ($sql, $prep_statement, $result);
|
||||
}
|
||||
|
||||
//ivr menus
|
||||
if (permission_exists('ivr_menu_view')) {
|
||||
$stats['domain']['ivr_menus']['disabled'] = 0;
|
||||
$sql = "select domain_uuid, ivr_menu_enabled from v_ivr_menus where domain_uuid = '".$_SESSION['domain_uuid']."'";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
$stats['domain']['ivr_menus']['total'] = count($result);
|
||||
foreach ($result as $row) {
|
||||
$stats['domain']['ivr_menus']['disabled'] += ($row['ivr_menu_enabled'] != 'true') ? 1 : 0;
|
||||
}
|
||||
unset ($sql, $prep_statement, $result);
|
||||
}
|
||||
|
||||
//ring groups
|
||||
if (permission_exists('ring_group_view')) {
|
||||
$stats['domain']['ring_groups']['disabled'] = 0;
|
||||
$sql = "select domain_uuid, ring_group_enabled from v_ring_groups where domain_uuid = '".$_SESSION['domain_uuid']."'";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
$stats['domain']['ring_groups']['total'] = count($result);
|
||||
foreach ($result as $row) {
|
||||
$stats['domain']['ring_groups']['disabled'] += ($row['ring_group_enabled'] != 'true') ? 1 : 0;
|
||||
}
|
||||
unset ($sql, $prep_statement, $result);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//build hud block html
|
||||
$n = 0;
|
||||
define('TIME_24HR', 1); //set 24hr or 12hr clock
|
||||
$theme_image_path = $_SERVER["DOCUMENT_ROOT"]."/themes/".$_SESSION['domain']['template']['name']."/images/"; // used for missed and recent calls
|
||||
|
||||
//voicemail
|
||||
if (in_array('voicemail', $selected_blocks) && permission_exists('voicemail_message_view') && file_exists($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/app/voicemails/")) {
|
||||
$hud[$n]['title'] = $text['label-voicemail'];
|
||||
//required class
|
||||
require_once "app/voicemails/resources/classes/voicemail.php";
|
||||
//get the voicemail
|
||||
$vm = new voicemail;
|
||||
$vm->db = $db;
|
||||
$vm->domain_uuid = $_SESSION['domain_uuid'];
|
||||
$vm->voicemail_uuid = $voicemail_uuid;
|
||||
$vm->order_by = $order_by;
|
||||
$vm->order = $order;
|
||||
$voicemails = $vm->messages();
|
||||
//sum total and new
|
||||
$messages['total'] = 0;
|
||||
$messages['new'] = 0;
|
||||
if (sizeof($voicemails) > 0) {
|
||||
foreach($voicemails as $field) {
|
||||
$messages[$field['voicemail_uuid']]['ext'] = $field['voicemail_id'];
|
||||
$messages[$field['voicemail_uuid']]['total'] = 0;
|
||||
$messages[$field['voicemail_uuid']]['new'] = 0;
|
||||
foreach($field['messages'] as &$row) {
|
||||
if ($row['message_status'] == '') {
|
||||
$messages[$field['voicemail_uuid']]['new']++;
|
||||
$messages['new']++;
|
||||
}
|
||||
$messages[$field['voicemail_uuid']]['total']++;
|
||||
$messages['total']++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$hud[$n]['html'] .= "<span class='hud_voicemail_total' onclick=\"document.location.href='".PROJECT_PATH."/app/voicemails/voicemail_messages.php?id=".$voicemail_uuid."'\"><sup class='hud_voicemail_new'> </sup>".$messages['total']."<sup class='hud_voicemail_new'>".$messages['new']."</sup></span>\n";
|
||||
$hud[$n]['html'] .= "<br><br>";
|
||||
|
||||
if (sizeof($voicemails) > 0) {
|
||||
$hud[$n]['html'] .= "<table class='tr_hover' cellpadding='2' cellspacing='0' border='0' width='100%'>";
|
||||
$hud[$n]['html'] .= "<tr>";
|
||||
$hud[$n]['html'] .= " <th class='hud_heading' width='50%'>".$text['label-voicemail']."</th>";
|
||||
$hud[$n]['html'] .= " <th class='hud_heading' style='text-align: center;' width='50%'>".$text['label-new']."</th>";
|
||||
$hud[$n]['html'] .= " <th class='hud_heading' style='text-align: center;'>".$text['label-total']."</th>";
|
||||
$hud[$n]['html'] .= "</tr>";
|
||||
|
||||
$c = 0;
|
||||
$row_style["0"] = "row_style0";
|
||||
$row_style["1"] = "row_style1";
|
||||
|
||||
foreach ($messages as $voicemail_uuid => $row) {
|
||||
if (is_uuid($voicemail_uuid)) {
|
||||
$tr_link = "href='".PROJECT_PATH."/app/voicemails/voicemail_messages.php?id=".$voicemail_uuid."'";
|
||||
$hud[$n]['html'] .= "<tr ".$tr_link." style='cursor: pointer;'>";
|
||||
$hud[$n]['html'] .= " <td class='".$row_style[$c]." hud_text'><a href='javascript:void(0);'>".$row['ext']."</td>";
|
||||
$hud[$n]['html'] .= " <td class='".$row_style[$c]." hud_text' style='text-align: center;'>".$row['new']."</td>";
|
||||
$hud[$n]['html'] .= " <td class='".$row_style[$c]." hud_text' style='text-align: center;'>".$row['total']."</td>";
|
||||
$hud[$n]['html'] .= "</tr>";
|
||||
$c = ($c) ? 0 : 1;
|
||||
}
|
||||
}
|
||||
|
||||
$hud[$n]['html'] .= "</table>";
|
||||
}
|
||||
else {
|
||||
$hud[$n]['html'] .= "<center><br><br>".$text['label-no_voicemail_assigned']."</center>";
|
||||
}
|
||||
|
||||
$n++;
|
||||
}
|
||||
|
||||
|
||||
//missed calls
|
||||
if (in_array('missed', $selected_blocks) && permission_exists('xml_cdr_view') && is_array($_SESSION['user']['extension']) && sizeof($_SESSION['user']['extension']) > 0) {
|
||||
$hud[$n]['title'] = $text['label-missed_calls'];
|
||||
foreach ($_SESSION['user']['extension'] as $assigned_extension) {
|
||||
$assigned_extensions[$assigned_extension['extension_uuid']] = $assigned_extension['user'];
|
||||
}
|
||||
|
||||
//if also viewing system status, show more recent calls (more room avaialble)
|
||||
$missed_limit = (in_array('system', $selected_blocks)) ? 8 : 5;
|
||||
|
||||
$sql = "
|
||||
select
|
||||
direction,
|
||||
start_stamp,
|
||||
start_epoch,
|
||||
caller_id_name,
|
||||
caller_id_number,
|
||||
answer_stamp
|
||||
from
|
||||
v_xml_cdr
|
||||
where
|
||||
domain_uuid = '".$_SESSION['domain_uuid']."'
|
||||
and (
|
||||
direction = 'inbound'
|
||||
or direction = 'local'
|
||||
)
|
||||
and bridge_uuid is null
|
||||
and destination_number in ('".implode("','",$assigned_extensions)."')
|
||||
order by
|
||||
start_epoch desc
|
||||
limit ".$missed_limit."
|
||||
offset 0";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
|
||||
$result_count = count($result);
|
||||
unset ($prep_statement, $sql);
|
||||
|
||||
$c = 0;
|
||||
$row_style["0"] = "row_style0";
|
||||
$row_style["1"] = "row_style1";
|
||||
|
||||
$hud[$n]['html'] .= "<table class='tr_hover' width='100%' cellpadding='0' cellspacing='0' border='0' style='margin-bottom: 8px;'>\n";
|
||||
$hud[$n]['html'] .= "<tr>\n";
|
||||
$hud[$n]['html'] .= "<th class='hud_heading'> </th>\n";
|
||||
$hud[$n]['html'] .= "<th class='hud_heading' width='50%'>".$text['label-cid_name']."</th>\n";
|
||||
$hud[$n]['html'] .= "<th class='hud_heading' width='50%'>".$text['label-cid_number']."</th>\n";
|
||||
$hud[$n]['html'] .= "<th class='hud_heading'>".$text['label-missed']."</th>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
|
||||
if ($result_count > 0) {
|
||||
$theme_cdr_images_exist = (
|
||||
file_exists($theme_image_path."icon_cdr_inbound_voicemail.png") &&
|
||||
file_exists($theme_image_path."icon_cdr_inbound_cancelled.png") &&
|
||||
file_exists($theme_image_path."icon_cdr_local_voicemail.png") &&
|
||||
file_exists($theme_image_path."icon_cdr_local_cancelled.png")
|
||||
) ? true : false;
|
||||
|
||||
foreach($result as $index => $row) {
|
||||
$tmp_year = date("Y", strtotime($row['start_stamp']));
|
||||
$tmp_month = date("M", strtotime($row['start_stamp']));
|
||||
$tmp_day = date("d", strtotime($row['start_stamp']));
|
||||
$tmp_start_epoch = (defined('TIME_24HR') && TIME_24HR == 1) ? date("j/n H:i", $row['start_epoch']) : date("j/n h:ia", $row['start_epoch']);
|
||||
|
||||
$tr_link = "onclick=\"send_cmd('".PROJECT_PATH."/app/click_to_call/click_to_call.php?src_cid_name=".urlencode($row['caller_id_name'])."&src_cid_number=".urlencode($row['caller_id_number'])."&dest_cid_name=".urlencode($_SESSION['user']['extension'][0]['outbound_caller_id_name'])."&dest_cid_number=".urlencode($_SESSION['user']['extension'][0]['outbound_caller_id_number'])."&src=".urlencode($_SESSION['user']['extension'][0]['user'])."&dest=".urlencode($row['caller_id_number'])."&rec=false&ringback=us-ring&auto_answer=true');\"";
|
||||
$hud[$n]['html'] .= "<tr ".$tr_link." style='cursor: pointer;'>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]."' style='cursor: help;'>\n";
|
||||
if ($theme_cdr_images_exist) {
|
||||
$call_result = ($row['answer_stamp'] != '') ? 'voicemail' : 'cancelled';
|
||||
$hud[$n]['html'] .= "<img src='".PROJECT_PATH."/themes/".$_SESSION['domain']['template']['name']."/images/icon_cdr_".$row['direction']."_".$call_result.".png' width='16' style='border: none;' title='".$text['label-'.$row['direction']].": ".$text['label-'.$call_result]."'>\n";
|
||||
}
|
||||
$hud[$n]['html'] .= "</td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text'>".$row['caller_id_name']." </td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' nowrap='nowrap'><a href='javascript:void(0)'>".((is_numeric($row['caller_id_number'])) ? format_phone($row['caller_id_number']) : $row['caller_id_number'])."</td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' nowrap='nowrap'>".$tmp_start_epoch."</td>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
$c = ($c) ? 0 : 1;
|
||||
}
|
||||
unset($sql, $result, $row_count);
|
||||
}
|
||||
|
||||
$hud[$n]['html'] .= "</table>\n";
|
||||
$hud[$n]['html'] .= "<span style='display: block; margin-bottom: 8px;'><a href='".PROJECT_PATH."/app/xml_cdr/xml_cdr.php?call_result=missed'>".$text['label-view_all']."</a></span>\n";
|
||||
$n++;
|
||||
}
|
||||
|
||||
|
||||
//recent calls
|
||||
if (in_array('recent', $selected_blocks) && permission_exists('xml_cdr_view') && is_array($_SESSION['user']['extension']) && sizeof($_SESSION['user']['extension']) > 0) {
|
||||
$hud[$n]['title'] = $text['label-recent_calls'];
|
||||
foreach ($_SESSION['user']['extension'] as $assigned_extension) {
|
||||
$assigned_extensions[$assigned_extension['extension_uuid']] = $assigned_extension['user'];
|
||||
}
|
||||
|
||||
//if also viewing system status, show more recent calls (more room avaialble)
|
||||
$recent_limit = (in_array('system', $selected_blocks)) ? 8 : 5;
|
||||
|
||||
$sql = "
|
||||
select
|
||||
direction,
|
||||
start_stamp,
|
||||
start_epoch,
|
||||
caller_id_name,
|
||||
caller_id_number,
|
||||
destination_number,
|
||||
answer_stamp,
|
||||
bridge_uuid,
|
||||
sip_hangup_disposition
|
||||
from
|
||||
v_xml_cdr
|
||||
where
|
||||
domain_uuid = '".$_SESSION['domain_uuid']."'
|
||||
and (";
|
||||
$x = 0;
|
||||
foreach ($assigned_extensions as $assigned_extension) {
|
||||
$sql .= "caller_id_number like '".$assigned_extension."' ";
|
||||
$sql .= "or destination_number like '".$assigned_extension."' ";
|
||||
$sql .= "or destination_number like '*99".$assigned_extension."' ";
|
||||
if (++$x < sizeof($assigned_extensions)) { $sql .= "or "; }
|
||||
}
|
||||
$sql .= "
|
||||
)
|
||||
order by
|
||||
start_epoch desc
|
||||
limit ".$recent_limit."
|
||||
offset 0";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
|
||||
$result_count = count($result);
|
||||
unset ($prep_statement, $sql);
|
||||
|
||||
$c = 0;
|
||||
$row_style["0"] = "row_style0";
|
||||
$row_style["1"] = "row_style1";
|
||||
|
||||
$hud[$n]['html'] .= "<table class='tr_hover' width='100%' cellpadding='0' cellspacing='0' border='0' style='margin-bottom: 8px;'>\n";
|
||||
$hud[$n]['html'] .= "<tr>\n";
|
||||
$hud[$n]['html'] .= "<th class='hud_heading'> </th>\n";
|
||||
$hud[$n]['html'] .= "<th class='hud_heading' width='50%'>".$text['label-cid_name']."</th>\n";
|
||||
$hud[$n]['html'] .= "<th class='hud_heading' width='50%'>".$text['label-cid_number']."</th>\n";
|
||||
$hud[$n]['html'] .= "<th class='hud_heading'>".$text['label-date_time']."</th>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
|
||||
if ($result_count > 0) {
|
||||
$theme_cdr_images_exist = (
|
||||
file_exists($theme_image_path."icon_cdr_inbound_answered.png") &&
|
||||
file_exists($theme_image_path."icon_cdr_inbound_voicemail.png") &&
|
||||
file_exists($theme_image_path."icon_cdr_inbound_cancelled.png") &&
|
||||
file_exists($theme_image_path."icon_cdr_inbound_failed.png") &&
|
||||
file_exists($theme_image_path."icon_cdr_outbound_answered.png") &&
|
||||
file_exists($theme_image_path."icon_cdr_outbound_cancelled.png") &&
|
||||
file_exists($theme_image_path."icon_cdr_outbound_failed.png") &&
|
||||
file_exists($theme_image_path."icon_cdr_local_answered.png") &&
|
||||
file_exists($theme_image_path."icon_cdr_local_voicemail.png") &&
|
||||
file_exists($theme_image_path."icon_cdr_local_cancelled.png") &&
|
||||
file_exists($theme_image_path."icon_cdr_local_failed.png")
|
||||
) ? true : false;
|
||||
|
||||
foreach($result as $index => $row) {
|
||||
$tmp_year = date("Y", strtotime($row['start_stamp']));
|
||||
$tmp_month = date("M", strtotime($row['start_stamp']));
|
||||
$tmp_day = date("d", strtotime($row['start_stamp']));
|
||||
$tmp_start_epoch = (defined('TIME_24HR') && TIME_24HR == 1) ? date("j/n H:i", $row['start_epoch']) : date("j/n h:ia", $row['start_epoch']);
|
||||
|
||||
$tr_link = "onclick=\"send_cmd('".PROJECT_PATH."/app/click_to_call/click_to_call.php?src_cid_name=".urlencode($row['caller_id_name'])."&src_cid_number=".urlencode($row['caller_id_number'])."&dest_cid_name=".urlencode($_SESSION['user']['extension'][0]['outbound_caller_id_name'])."&dest_cid_number=".urlencode($_SESSION['user']['extension'][0]['outbound_caller_id_number'])."&src=".urlencode($_SESSION['user']['extension'][0]['user'])."&dest=".urlencode($row['caller_id_number'])."&rec=false&ringback=us-ring&auto_answer=true');\"";
|
||||
$hud[$n]['html'] .= "<tr ".$tr_link." style='cursor: pointer;'>\n";
|
||||
//determine call result and appropriate icon
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]."' style='cursor: help;'>\n";
|
||||
if ($theme_cdr_images_exist) {
|
||||
if ($row['direction'] == 'inbound' || $row['direction'] == 'local') {
|
||||
if ($row['answer_stamp'] != '' && $row['bridge_uuid'] != '') { $call_result = 'answered'; }
|
||||
else if ($row['answer_stamp'] != '' && $row['bridge_uuid'] == '') { $call_result = 'voicemail'; }
|
||||
else if ($row['answer_stamp'] == '' && $row['bridge_uuid'] == '' && $row['sip_hangup_disposition'] != 'send_refuse') { $call_result = 'cancelled'; }
|
||||
else { $call_result = 'failed'; }
|
||||
}
|
||||
else if ($row['direction'] == 'outbound') {
|
||||
if ($row['answer_stamp'] != '' && $row['bridge_uuid'] != '') { $call_result = 'answered'; }
|
||||
else if ($row['answer_stamp'] == '' && $row['bridge_uuid'] != '') { $call_result = 'cancelled'; }
|
||||
else { $call_result = 'failed'; }
|
||||
}
|
||||
$hud[$n]['html'] .= "<img src='".PROJECT_PATH."/themes/".$_SESSION['domain']['template']['name']."/images/icon_cdr_".$row['direction']."_".$call_result.".png' width='16' style='border: none;' title='".$text['label-'.$row['direction']].": ".$text['label-'.$call_result]."'>\n";
|
||||
}
|
||||
$hud[$n]['html'] .= "</td>\n";
|
||||
//determine name
|
||||
$cdr_name = ($row['direction'] == 'inbound' || ($row['direction'] == 'local' && in_array($row['destination_number'], $assigned_extensions))) ? $row['caller_id_name'] : " ";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text'>".$cdr_name."</td>\n";
|
||||
//determine number
|
||||
if ($row['direction'] == 'inbound' || ($row['direction'] == 'local' && in_array($row['destination_number'], $assigned_extensions))) {
|
||||
$cdr_number = (is_numeric($row['caller_id_number'])) ? format_phone($row['caller_id_number']) : $row['caller_id_number'];
|
||||
}
|
||||
else if ($row['direction'] == 'outbound' || ($row['direction'] == 'local' && in_array($row['caller_id_number'], $assigned_extensions))) {
|
||||
$cdr_number = (is_numeric($row['destination_number'])) ? format_phone($row['destination_number']) : $row['destination_number'];
|
||||
}
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' nowrap='nowrap'><a href='javascript:void(0)'>".$cdr_number."</a></td>\n";
|
||||
//date/time
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' nowrap='nowrap'>".$tmp_start_epoch."</td>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
|
||||
unset($cdr_name, $cdr_number);
|
||||
$c = ($c) ? 0 : 1;
|
||||
}
|
||||
unset($sql, $result, $row_count);
|
||||
}
|
||||
|
||||
$hud[$n]['html'] .= "</table>\n";
|
||||
$hud[$n]['html'] .= "<span style='display: block; margin-bottom: 8px;'><a href='".PROJECT_PATH."/app/xml_cdr/xml_cdr.php'>".$text['label-view_all']."</a></span>\n";
|
||||
$n++;
|
||||
}
|
||||
|
||||
|
||||
//system counts
|
||||
if (in_array('counts', $selected_blocks) && permission_exists('xml_cdr_view')) {
|
||||
$hud[$n]['title'] = $text['label-system_counts'];
|
||||
|
||||
$c = 0;
|
||||
$row_style["0"] = "row_style0";
|
||||
$row_style["1"] = "row_style1";
|
||||
|
||||
$hud[$n]['html'] .= "<table class='tr_hover' width='100%' cellpadding='0' cellspacing='0' border='0'>\n";
|
||||
$hud[$n]['html'] .= "<tr>\n";
|
||||
$hud[$n]['html'] .= "<th class='hud_heading' width='50%'>".$text['label-item']."</th>\n";
|
||||
$hud[$n]['html'] .= "<th class='hud_heading' width='50%' style='text-align: center;'>".$text['label-disabled']."</th>\n";
|
||||
$hud[$n]['html'] .= "<th class='hud_heading' style='text-align: center;'>".$text['label-total']."</th>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
|
||||
//domains
|
||||
if (permission_exists('domain_view')) {
|
||||
$tr_link = "href='".PROJECT_PATH."/core/domain_settings/domains.php'";
|
||||
$hud[$n]['html'] .= "<tr ".$tr_link." style='cursor: pointer;'>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text'><a ".$tr_link.">".$text['label-domains']."</a></td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: center;'>".$stats['system']['domains']['disabled']."</td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: center;'>".$stats['system']['domains']['total']."</td>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
$c = ($c) ? 0 : 1;
|
||||
}
|
||||
|
||||
//devices
|
||||
if (permission_exists('device_view') && file_exists($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/app/devices/")) {
|
||||
$tr_link = "href='".PROJECT_PATH."/app/devices/devices.php'";
|
||||
$hud[$n]['html'] .= "<tr ".$tr_link." style='cursor: pointer;'>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text'><a ".$tr_link.">".$text['label-devices']."</a></td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: center;'>".$stats['system']['devices']['disabled']."</td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: center;'>".$stats['system']['devices']['total']."</td>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
$c = ($c) ? 0 : 1;
|
||||
}
|
||||
|
||||
//extensions
|
||||
if (permission_exists('extension_view') && file_exists($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/app/extensions/")) {
|
||||
$tr_link = "href='".PROJECT_PATH."/app/extensions/extensions.php'";
|
||||
$hud[$n]['html'] .= "<tr ".$tr_link." style='cursor: pointer;'>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text'><a ".$tr_link.">".$text['label-extensions']."</a></td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: center;'>".$stats['system']['extensions']['disabled']."</td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: center;'>".$stats['system']['extensions']['total']."</td>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
$c = ($c) ? 0 : 1;
|
||||
}
|
||||
|
||||
//gateways
|
||||
if (permission_exists('gateway_view') && file_exists($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/app/gateways/")) {
|
||||
$tr_link = "href='".PROJECT_PATH."/app/gateways/gateways.php'";
|
||||
$hud[$n]['html'] .= "<tr ".$tr_link." style='cursor: pointer;'>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text'><a ".$tr_link.">".$text['label-gateways']."</a></td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: center;'>".$stats['system']['gateways']['disabled']."</td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: center;'>".$stats['system']['gateways']['total']."</td>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
$c = ($c) ? 0 : 1;
|
||||
}
|
||||
|
||||
//users
|
||||
if ((permission_exists('user_view') || if_group("superadmin")) && file_exists($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/core/users/")) {
|
||||
$tr_link = "href='".PROJECT_PATH."/core/users/index.php'";
|
||||
$hud[$n]['html'] .= "<tr ".$tr_link." style='cursor: pointer;'>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text'><a ".$tr_link.">".$text['label-users']."</a></td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: center;'>".$stats['system']['users']['disabled']."</td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: center;'>".$stats['system']['users']['total']."</td>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
$c = ($c) ? 0 : 1;
|
||||
}
|
||||
|
||||
//destinations
|
||||
if (permission_exists('destination_view') && file_exists($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/app/destinations/")) {
|
||||
$tr_link = "href='".PROJECT_PATH."/app/destinations/destinations.php'";
|
||||
$hud[$n]['html'] .= "<tr ".$tr_link." style='cursor: pointer;'>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text'><a ".$tr_link.">".$text['label-destinations']."</a></td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: center;'>".$stats['system']['destinations']['disabled']."</td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: center;'>".$stats['system']['destinations']['total']."</td>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
$c = ($c) ? 0 : 1;
|
||||
}
|
||||
|
||||
$hud[$n]['html'] .= "</table>\n";
|
||||
$n++;
|
||||
}
|
||||
|
||||
|
||||
//domain limits
|
||||
if (in_array('limits', $selected_blocks) && is_array($_SESSION['limit']) && sizeof($_SESSION['limit']) > 0) {
|
||||
$hud[$n]['title'] = $text['label-domain_limits'];
|
||||
|
||||
$c = 0;
|
||||
$row_style["0"] = "row_style0";
|
||||
$row_style["1"] = "row_style1";
|
||||
|
||||
$hud[$n]['html'] .= "<table class='tr_hover' width='100%' cellpadding='0' cellspacing='0' border='0'>\n";
|
||||
$hud[$n]['html'] .= "<tr>\n";
|
||||
$hud[$n]['html'] .= "<th class='hud_heading' width='50%'>".$text['label-feature']."</th>\n";
|
||||
$hud[$n]['html'] .= "<th class='hud_heading' width='50%' style='text-align: center;'>".$text['label-used']."</th>\n";
|
||||
$hud[$n]['html'] .= "<th class='hud_heading' style='text-align: center;'>".$text['label-total']."</th>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
|
||||
foreach ($_SESSION['limit'] as $category => $value) {
|
||||
$category_raw = $category;
|
||||
$category = str_replace('_', ' ', $category);
|
||||
$category = ucwords($category);
|
||||
$category = str_replace('Ivr', 'IVR', $category);
|
||||
$limit = $value['numeric'];
|
||||
switch ($category_raw) {
|
||||
case 'users':
|
||||
if (!permission_exists('user_view')) { continue 2; }
|
||||
$url = '/core/users/index.php';
|
||||
break;
|
||||
case 'call_center_queues':
|
||||
if (!permission_exists('call_center_active_view')) { continue 2; }
|
||||
$url = '/app/call_centers/call_center_queues.php';
|
||||
break;
|
||||
case 'destinations':
|
||||
if (!permission_exists('destination_view')) { continue 2; }
|
||||
$url = '/app/destinations/destinations.php';
|
||||
break;
|
||||
case 'devices':
|
||||
if (!permission_exists('device_view')) { continue 2; }
|
||||
$url = '/app/devices/devices.php';
|
||||
break;
|
||||
case 'extensions':
|
||||
if (!permission_exists('extension_view')) { continue 2; }
|
||||
$url = '/app/extensions/extensions.php';
|
||||
break;
|
||||
case 'gateways':
|
||||
if (!permission_exists('gateway_view')) { continue 2; }
|
||||
$url = '/app/gateways/gateways.php';
|
||||
break;
|
||||
case 'ivr_menus':
|
||||
if (!permission_exists('ivr_menu_view')) { continue 2; }
|
||||
$url = '/app/ivr_menus/ivr_menus.php';
|
||||
break;
|
||||
case 'ring_groups':
|
||||
if (!permission_exists('ring_group_view')) { continue 2; }
|
||||
$url = '/app/ring_groups/ring_groups.php';
|
||||
break;
|
||||
}
|
||||
$tr_link = "href='".PROJECT_PATH.$url."'";
|
||||
$hud[$n]['html'] .= "<tr ".$tr_link." style='cursor: pointer;'>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text'><a ".$tr_link.">".$category."</a></td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: center;'>".$stats['domain'][$category_raw]['total']."</td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: center;'>".$limit."</td>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
$c = ($c) ? 0 : 1;
|
||||
}
|
||||
|
||||
$hud[$n]['html'] .= "</table>\n";
|
||||
$n++;
|
||||
}
|
||||
|
||||
|
||||
//system status
|
||||
if (in_array('system', $selected_blocks)) {
|
||||
$hud[$n]['title'] = $text['label-system_status'];
|
||||
|
||||
$c = 0;
|
||||
$row_style["0"] = "row_style0";
|
||||
$row_style["1"] = "row_style1";
|
||||
|
||||
$hud[$n]['html'] .= "<table class='tr_hover' width='100%' cellpadding='0' cellspacing='0' border='0'>\n";
|
||||
$hud[$n]['html'] .= "<tr>\n";
|
||||
$hud[$n]['html'] .= "<th class='hud_heading' width='100%'>".$text['label-item']."</th>\n";
|
||||
$hud[$n]['html'] .= "<th class='hud_heading' style='text-align: right;'>".$text['label-value']."</th>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
|
||||
//pbx version
|
||||
$hud[$n]['html'] .= "<tr>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text'>FusionPBX</td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: right; white-space: nowrap;'>".software_version()."</td>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
$c = ($c) ? 0 : 1;
|
||||
|
||||
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
|
||||
if ($fp) {
|
||||
//switch version
|
||||
$switch_version = event_socket_request($fp, 'api version');
|
||||
preg_match("/FreeSWITCH Version (\d+\.\d+\.\d+(?:\.\d+)?).*\(.*?(\d+\w+)\s*\)/", $switch_version, $matches);
|
||||
$switch_version = $matches[1];
|
||||
$switch_bits = $matches[2];
|
||||
if ($switch_version != '' && $switch_bits != '') {
|
||||
$hud[$n]['html'] .= "<tr>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text'>".$text['label-switch']."</td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: right; white-space: nowrap;'>".$switch_version." (".$switch_bits.")</td>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
$c = ($c) ? 0 : 1;
|
||||
}
|
||||
|
||||
//switch uptime
|
||||
$tmp = event_socket_request($fp, 'api status');
|
||||
$tmp = explode("\n", $tmp);
|
||||
$tmp = $tmp[0];
|
||||
$tmp = explode(' ', $tmp);
|
||||
$uptime = (($tmp[1]) ? $tmp[1].'y ' : null);
|
||||
$uptime .= (($tmp[3]) ? $tmp[3].'d ' : null);
|
||||
$uptime .= (($tmp[5]) ? $tmp[3].'h ' : null);
|
||||
$uptime .= (($tmp[7]) ? $tmp[3].'m ' : null);
|
||||
$uptime .= (($tmp[9]) ? $tmp[3].'s' : null);
|
||||
if ($uptime != '') {
|
||||
$hud[$n]['html'] .= "<tr>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text'>".$text['label-switch_uptime']."</td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: right; white-space: nowrap;'>".$uptime."</td>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
$c = ($c) ? 0 : 1;
|
||||
}
|
||||
}
|
||||
|
||||
//os uptime
|
||||
if (stristr(PHP_OS, 'Linux')) {
|
||||
unset($tmp);
|
||||
$uptime = shell_exec("cut -d. -f1 /proc/uptime");
|
||||
$tmp['y'] = floor($uptime/60/60/24/365);
|
||||
$tmp['d'] = $uptime/60/60/24%365;
|
||||
$tmp['h'] = $uptime/60/60%24;
|
||||
$tmp['m'] = $uptime/60%60;
|
||||
$tmp['s'] = $uptime%60;
|
||||
$uptime = (($tmp['y'] != 0 && $tmp['y'] != '') ? $tmp['y'].'y ' : null);
|
||||
$uptime .= (($tmp['d'] != 0 && $tmp['d'] != '') ? $tmp['d'].'d ' : null);
|
||||
$uptime .= (($tmp['h'] != 0 && $tmp['h'] != '') ? $tmp['h'].'h ' : null);
|
||||
$uptime .= (($tmp['m'] != 0 && $tmp['m'] != '') ? $tmp['m'].'m ' : null);
|
||||
$uptime .= (($tmp['s'] != 0 && $tmp['s'] != '') ? $tmp['s'].'s' : null);
|
||||
if ($uptime != '') {
|
||||
$hud[$n]['html'] .= "<tr>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text'>".$text['label-system_uptime']."</td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: right; white-space: nowrap;'>".$uptime."</td>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
$c = ($c) ? 0 : 1;
|
||||
}
|
||||
}
|
||||
|
||||
//memory usage (for available memory, use "free | awk 'FNR == 3 {print $4/($3+$4)*100}'" instead)
|
||||
if (stristr(PHP_OS, 'Linux')) {
|
||||
$percent = round(shell_exec("free | awk 'FNR == 3 {print $3/($3+$4)*100}'"), 1).'%';
|
||||
if ($percent != '') {
|
||||
$hud[$n]['html'] .= "<tr>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text'>".$text['label-memory_usage']."</td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: right; white-space: nowrap;'>".$percent."</td>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
$c = ($c) ? 0 : 1;
|
||||
}
|
||||
}
|
||||
|
||||
//disk usage
|
||||
if (stristr(PHP_OS, 'Linux')) {
|
||||
$tmp = shell_exec("df /home");
|
||||
$tmp = explode("\n", $tmp);
|
||||
$tmp = preg_replace('!\s+!', ' ', $tmp[1]); // multiple > single space
|
||||
$tmp = explode(' ', $tmp);
|
||||
foreach ($tmp as $stat) {
|
||||
if (substr_count($stat, '%') > 0) { $percent = $stat; break; }
|
||||
}
|
||||
if ($percent != '') {
|
||||
$hud[$n]['html'] .= "<tr>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text'>".$text['label-disk_usage']."</td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: right; white-space: nowrap;'>".$percent."</td>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
$c = ($c) ? 0 : 1;
|
||||
}
|
||||
}
|
||||
|
||||
//cpu usage
|
||||
if (stristr(PHP_OS, 'Linux')) {
|
||||
$tmp = shell_exec("ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d'");
|
||||
$tmp = explode("\n", $tmp);
|
||||
$tmp = preg_replace('!\s+!', ' ', $tmp[1]); // multiple > single space
|
||||
$tmp = explode(' ', trim($tmp));
|
||||
$cpu = $tmp[0];
|
||||
if ($cpu != '') {
|
||||
$hud[$n]['html'] .= "<tr>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text'>".$text['label-processor_usage']."</td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: right; white-space: nowrap;'>".$cpu."%</td>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
$c = ($c) ? 0 : 1;
|
||||
}
|
||||
}
|
||||
|
||||
//db connections
|
||||
switch ($db_type) {
|
||||
case 'pgsql':
|
||||
$sql = "select count(*) as connections from pg_stat_activity";
|
||||
break;
|
||||
case 'mysql':
|
||||
$sql = "show status where `variable_name` = 'Threads_connected'";
|
||||
break;
|
||||
default:
|
||||
unset($sql);
|
||||
if ($db_path != '' && $dbfilename != '') {
|
||||
$tmp = shell_exec("lsof ".realpath($db_path).'/'.$dbfilename);
|
||||
$tmp = explode("\n", $tmp);
|
||||
$connections = sizeof($tmp) - 1;
|
||||
}
|
||||
}
|
||||
if ($sql != '') {
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetch(PDO::FETCH_NAMED);
|
||||
$connections = $result['connections'];
|
||||
unset ($sql, $prep_statement, $result);
|
||||
}
|
||||
if ($connections != '') {
|
||||
$hud[$n]['html'] .= "<tr>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text'>".$text['label-database_connections']."</td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: right; white-space: nowrap;'>".$connections."</td>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
$c = ($c) ? 0 : 1;
|
||||
}
|
||||
|
||||
//channel count
|
||||
if ($fp) {
|
||||
$tmp = event_socket_request($fp, 'api show channels');
|
||||
$tmp = explode("\n", $tmp);
|
||||
$tmp = preg_replace('!\s+!', ' ', trim($tmp[3]));
|
||||
$tmp = explode(' ', $tmp);
|
||||
$tmp = $tmp[0];
|
||||
$channels = (is_numeric($tmp)) ? $tmp : 0;
|
||||
$hud[$n]['html'] .= "<tr>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text'>".$text['label-channels']."</td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='text-align: right; white-space: nowrap;'>".$channels."</td>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
$c = ($c) ? 0 : 1;
|
||||
}
|
||||
|
||||
//registration count
|
||||
if ($fp && file_exists($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/app/registrations/")) {
|
||||
$tmp = event_socket_request($fp, 'api sofia xmlstatus profile internal reg');
|
||||
$registrations = substr_count($tmp, '<registration>');
|
||||
$registrations = (is_numeric($registrations)) ? $registrations : 0;
|
||||
$tr_link = "href='".PROJECT_PATH."/app/registrations/status_registrations.php'";
|
||||
$hud[$n]['html'] .= "<tr ".$tr_link." style='cursor: pointer;'>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='border-bottom: none;'><a href='javascript:void(0);'>".$text['label-registrations']."</a></td>\n";
|
||||
$hud[$n]['html'] .= "<td valign='top' class='".$row_style[$c]." hud_text' style='border-bottom: none; text-align: right; white-space: nowrap;'>".$registrations."</td>\n";
|
||||
$hud[$n]['html'] .= "</tr>\n";
|
||||
$c = ($c) ? 0 : 1;
|
||||
}
|
||||
|
||||
$hud[$n]['html'] .= "</table>\n";
|
||||
$n++;
|
||||
}
|
||||
|
||||
//output hud blocks
|
||||
if (is_array($hud) && sizeof($hud) > 0) {
|
||||
|
||||
//javascript function: send_cmd
|
||||
if ((in_array('missed', $selected_blocks) || in_array('recent', $selected_blocks)) && permission_exists('xml_cdr_view')) {
|
||||
echo "<script type=\"text/javascript\">\n";
|
||||
echo " function send_cmd(url) {\n";
|
||||
echo " alert('call made');\n";
|
||||
echo " /*";
|
||||
echo " if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari\n";
|
||||
echo " xmlhttp=new XMLHttpRequest();\n";
|
||||
echo " }\n";
|
||||
echo " else {// code for IE6, IE5\n";
|
||||
echo " xmlhttp=new ActiveXObject(\"Microsoft.XMLHTTP\");\n";
|
||||
echo " }\n";
|
||||
echo " xmlhttp.open(\"GET\",url,true);\n";
|
||||
echo " xmlhttp.send(null);\n";
|
||||
echo " document.getElementById('cmd_reponse').innerHTML=xmlhttp.responseText;\n";
|
||||
echo " */";
|
||||
echo " }\n";
|
||||
echo "</script>\n";
|
||||
}
|
||||
|
||||
echo "<table cellpadding='0' cellspacing='0' border='0' width='100%' style='margin-bottom: 30px;'>\n";
|
||||
echo "<tr>\n";
|
||||
foreach ($hud as $index => $block) {
|
||||
echo "<td class='hud_box' style='padding: 10px 1px 1px 1px; width: ".(round((100 / sizeof($hud)), 2))."%;'><b class='hud_title'>".$block['title']."</b><br><br>".$block['html']."</td>\n";
|
||||
if ($index+1 < sizeof($hud)) { echo "<td style='white-space: nowrap;'> </td>"; }
|
||||
}
|
||||
echo "</tr>";
|
||||
echo "</table>";
|
||||
unset($hud);
|
||||
}
|
||||
|
||||
|
||||
//call routing
|
||||
if (file_exists($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/app/calls/calls.php")) {
|
||||
if (permission_exists('follow_me') || permission_exists('call_forward') || permission_exists('do_not_disturb')) {
|
||||
@@ -109,7 +942,7 @@
|
||||
|
||||
//ring group forward
|
||||
if (file_exists($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/app/ring_groups/ring_group_forward.php")) {
|
||||
if (permission_exists('ring_group_forward')) { //ring_group_forward
|
||||
if (permission_exists('ring_group_forward')) {
|
||||
$is_included = "true";
|
||||
echo "<table cellpadding='0' cellspacing='0' border='0' width='100%'>\n";
|
||||
echo " <tr>\n";
|
||||
|
||||
Reference in New Issue
Block a user