diff --git a/app/call_center/app_languages.php b/app/call_center/app_languages.php index 3badb83bab..6fbeba43f6 100644 --- a/app/call_center/app_languages.php +++ b/app/call_center/app_languages.php @@ -1,684 +1,693 @@ + +$text['title-call_center_tier_edit']['en-us'] = "Call Center Tier"; +$text['title-call_center_tier_edit']['es-cl'] = "Editar Nivel de Centro de Llamados"; +$text['title-call_center_tier_edit']['pt-pt'] = "Editar Nível do Call Center"; +$text['title-call_center_tier_edit']['fr-fr'] = "Editer un Niveau du Centre d'Appel"; + +$text['title-call_center_queues_edit']['es-cl'] = "Editar Cola de Centro de Llamados"; +$text['title-call_center_queues_edit']['pt-pt'] = "Editar Fila de Call Center"; +$text['title-call_center_queues_edit']['en-us'] = ""; + +$text['title-call_center_queues_add']['es-cl'] = "Agregar Cola de Centro de Llamados"; +$text['title-call_center_queues_add']['pt-pt'] = "Adicionar Fila de Call Center"; +$text['title-call_center_queues_add']['en-us'] = ""; + +$text['title-call_center_queues']['en-us'] = "Call Center Queues"; +$text['title-call_center_queues']['es-cl'] = "Colas de Centro de Llamados"; +$text['title-call_center_queues']['pt-pt'] = "Filas de Call Center"; +$text['title-call_center_queues']['fr-fr'] = "Queues du Centre d'appels"; + +$text['title-call_center_queue_edit']['en-us'] = "Call Center Queue"; +$text['title-call_center_queue_edit']['fr-fr'] = "Editer une Queue"; + +$text['title-call_center_queue_add']['en-us'] = "Call Center Queue"; +$text['title-call_center_queue_add']['fr-fr'] = "Ajouter une Queue"; + +$text['title-call_center_agents']['en-us'] = "Call Center Agents"; +$text['title-call_center_agents']['es-cl'] = "Agentes de Centro de Llamados"; +$text['title-call_center_agents']['pt-pt'] = "Agentes do Call Center"; +$text['title-call_center_agents']['fr-fr'] = "Agents du Centre d'appels"; + +$text['title-call_center_agent_status']['en-us'] = "Call Center Agent Status"; +$text['title-call_center_agent_status']['es-cl'] = "Estado de Agente de Centro de Llamados"; +$text['title-call_center_agent_status']['pt-pt'] = "Estado do Agente do Call Center"; +$text['title-call_center_agent_status']['fr-fr'] = "Etat de l'Agent"; + +$text['title-call_center_agent_edit']['en-us'] = "Call Center Agent"; +$text['title-call_center_agent_edit']['es-cl'] = "Editar Agente de Centro de Llamados"; +$text['title-call_center_agent_edit']['pt-pt'] = "Editar Agente do Call Center"; +$text['title-call_center_agent_edit']['fr-fr'] = "Editer un Agent"; + +$text['title-call_center_agent_add']['en-us'] = "Call Center Agent"; +$text['title-call_center_agent_add']['es-cl'] = "Agregar Agente de Centro de Llamados"; +$text['title-call_center_agent_add']['pt-pt'] = "Adicionar Agente ao Call Center"; +$text['title-call_center_agent_add']['fr-fr'] = "Ajouter un Agent"; + +$text['option-usring']['en-us'] = "us-ring"; +$text['option-usring']['es-cl'] = "us-ring"; +$text['option-usring']['pt-pt'] = "us-ring"; +$text['option-usring']['fr-fr'] = "us-ring"; + +$text['option-ukring']['en-us'] = "uk-ring"; +$text['option-ukring']['es-cl'] = "uk-ring"; +$text['option-ukring']['pt-pt'] = "uk-ring"; +$text['option-ukring']['fr-fr'] = "uk-ring"; + +$text['option-true']['en-us'] = "True"; +$text['option-true']['es-cl'] = "Si"; +$text['option-true']['pt-pt'] = "Sim"; +$text['option-true']['fr-fr'] = "Oui"; + +$text['option-top_down']['en-us'] = "Top Down"; +$text['option-top_down']['es-cl'] = "Top Down"; +$text['option-top_down']['pt-pt'] = "Top Down"; +$text['option-top_down']['fr-fr'] = "Haut bas"; + +$text['option-system']['en-us'] = "System"; +$text['option-system']['es-cl'] = "Sistema"; +$text['option-system']['pt-pt'] = "sistema"; +$text['option-system']['fr-fr'] = "Système"; + +$text['option-sequentially_by_next_agent_order']['en-us'] = "Sequentially By Next Agent Order"; +$text['option-sequentially_by_next_agent_order']['es-cl'] = "Secuencialmente por orden del próximo agente"; +$text['option-sequentially_by_next_agent_order']['pt-pt'] = "Sequencialmente pela ordem do próximo agente"; +$text['option-sequentially_by_next_agent_order']['fr-fr'] = "Séquentiel par ordre d'agent suivant"; + +$text['option-sequentially_by_agent_order']['en-us'] = "Sequentially By Agent Order"; +$text['option-sequentially_by_agent_order']['es-cl'] = "Secuencialmente por orden de los agentes"; +$text['option-sequentially_by_agent_order']['pt-pt'] = "Sequencialmente pela ordem dos agentes"; +$text['option-sequentially_by_agent_order']['fr-fr'] = "Séquentiel par ordre d'agent"; + +$text['option-rsring']['en-us'] = "rs-ring"; +$text['option-rsring']['es-cl'] = "rs-ring"; +$text['option-rsring']['pt-pt'] = "rs-ring"; +$text['option-rsring']['fr-fr'] = "rs-ring"; + +$text['option-round_robin']['en-us'] = "Round Robin"; +$text['option-round_robin']['es-cl'] = "Round Robin"; +$text['option-round_robin']['pt-pt'] = "Round Robin"; +$text['option-round_robin']['fr-fr'] = "Round Robin"; + +$text['option-ring_all']['en-us'] = "Ring All"; +$text['option-ring_all']['es-cl'] = "Sonar todos"; +$text['option-ring_all']['pt-pt'] = "Tocar em todos"; +$text['option-ring_all']['fr-fr'] = "Sonner tous"; + +$text['option-random']['en-us'] = "Random"; +$text['option-random']['es-cl'] = "Aleatorio"; +$text['option-random']['pt-pt'] = "Aleatório"; +$text['option-random']['fr-fr'] = "Aléatoire"; + +$text['option-queue']['en-us'] = "Queue"; +$text['option-queue']['es-cl'] = "Cola"; +$text['option-queue']['pt-pt'] = "Fila"; +$text['option-queue']['fr-fr'] = "Queue"; + +$text['option-ptring']['en-us'] = "pt-ring"; +$text['option-ptring']['pt-pt'] = "pt-ring"; +$text['option-ptring']['fr-fr'] = "pt-ring"; + +$text['option-on_break']['en-us'] = "On Break"; +$text['option-on_break']['es-cl'] = "En Pausa"; +$text['option-on_break']['pt-pt'] = "On Break"; +$text['option-on_break']['fr-fr'] = "En Pause"; + +$text['option-no_change']['en-us'] = "No Change"; +$text['option-no_change']['es-cl'] = "Sin Cambios"; +$text['option-no_change']['pt-pt'] = "No Change"; +$text['option-no_change']['fr-fr'] = "Pas de Changement"; + +$text['option-longest_idle_agent']['en-us'] = "Longest Idle Agent"; +$text['option-longest_idle_agent']['es-cl'] = "Agente desocupado por más tiempo"; +$text['option-longest_idle_agent']['pt-pt'] = "Agente desocupado há mais tempo"; +$text['option-longest_idle_agent']['fr-fr'] = "Agent logué depuis le plus lontemps"; + +$text['option-logged_out']['en-us'] = "Logged Out"; +$text['option-logged_out']['es-cl'] = "Desconectado"; +$text['option-logged_out']['pt-pt'] = "Desconectado"; +$text['option-logged_out']['fr-fr'] = "Déconnecté"; + +$text['option-itring']['en-us'] = "it-ring"; +$text['option-itring']['es-cl'] = "it-ring"; +$text['option-itring']['pt-pt'] = "it-ring"; +$text['option-itring']['fr-fr'] = "it-ring"; + +$text['option-frring']['en-us'] = "fr-ring"; +$text['option-frring']['es-cl'] = "fr-ring"; +$text['option-frring']['pt-pt'] = "fr-ring"; +$text['option-frring']['fr-fr'] = "fr-ring"; + +$text['option-false']['en-us'] = "False"; +$text['option-false']['es-cl'] = "No"; +$text['option-false']['pt-pt'] = "Não"; +$text['option-false']['fr-fr'] = "False"; + +$text['option-do_not_disturb']['en-us'] = "Do Not Disturb"; +$text['option-do_not_disturb']['es-cl'] = "No Molestar"; +$text['option-do_not_disturb']['pt-pt'] = "Não incomodar"; +$text['option-do_not_disturb']['fr-fr'] = "Ne Pas Derranger"; + +$text['option-available_on_demand']['en-us'] = "Available (On Demand)"; +$text['option-available_on_demand']['es-cl'] = "Disponible (Bajo Demanda)"; +$text['option-available_on_demand']['pt-pt'] = "Disponível (On Demand)"; +$text['option-available_on_demand']['fr-fr'] = "Disponible (Sur Demande)"; + +$text['option-available']['en-us'] = "Available"; +$text['option-available']['es-cl'] = "Disponible"; +$text['option-available']['pt-pt'] = "Disponível"; +$text['option-available']['fr-fr'] = "Disponible"; + +$text['option-agent_with_least_talk_time']['en-us'] = "Agent With Least Talk Time"; +$text['option-agent_with_least_talk_time']['es-cl'] = "Agente con el menor tiempo de comunicación"; +$text['option-agent_with_least_talk_time']['pt-pt'] = "Agente com o menor tempo de comunicação"; +$text['option-agent_with_least_talk_time']['fr-fr'] = "Agent ayant le plus petit temps de parole"; + +$text['option-agent_with_fewest_calls']['en-us'] = "Agent With Fewest Calls"; +$text['option-agent_with_fewest_calls']['es-cl'] = "Agente con menor número de llamadas"; +$text['option-agent_with_fewest_calls']['pt-pt'] = "Agente com o menor número de chamadas"; +$text['option-agent_with_fewest_calls']['fr-fr'] = "Agent avec le moins d'appels"; + +$text['message-update']['en-us'] = "Update Completed"; +$text['message-update']['es-cl'] = "Actualización Completada"; +$text['message-update']['pt-pt'] = "Actualização Efectuada"; +$text['message-update']['fr-fr'] = "Mis à jour"; + +$text['message-required']['en-us'] = "Please provide:"; +$text['message-required']['es-cl'] = "Por favor indique:"; +$text['message-required']['pt-pt'] = "Por favor indique:"; +$text['message-required']['fr-fr'] = "Merci d'indiquer:"; + +$text['message-delete']['en-us'] = "Delete Completed"; +$text['message-delete']['es-cl'] = "Eliminación Completada"; +$text['message-delete']['pt-pt'] = "Remoção Efectuada"; +$text['message-delete']['fr-fr'] = "Supprimé"; + +$text['message-copy']['en-us'] = "Copy Completed"; +$text['message-copy']['es-cl'] = "Copia Realizada"; +$text['message-copy']['pt-pt'] = "Cópia Efectuada"; +$text['message-copy']['fr-fr'] = "Copié"; + +$text['message-add']['en-us'] = "Add Completed"; +$text['message-add']['es-cl'] = "Adición Completada"; +$text['message-add']['pt-pt'] = "Adição Efectuada"; +$text['message-add']['fr-fr'] = "Ajouté"; + +$text['label-wrap_up_time']['en-us'] = "Wrap Up Time"; +$text['label-wrap_up_time']['es-cl'] = "Tiempo de Preparación"; +$text['label-wrap_up_time']['pt-pt'] = "Tempo de preparação"; +$text['label-wrap_up_time']['fr-fr'] = "temps de Wrap Up"; + +$text['label-type']['en-us'] = "Type"; +$text['label-type']['es-cl'] = "Tipo"; +$text['label-type']['pt-pt'] = "Tipo"; +$text['label-type']['fr-fr'] = "Type"; + +$text['label-timeout_action']['en-us'] = "Timeout Action"; +$text['label-timeout_action']['es-cl'] = "Acción de Timeout"; +$text['label-timeout_action']['pt-pt'] = "Acção de Timeout"; +$text['label-timeout_action']['fr-fr'] = "Action sur Timeout"; + +$text['label-time_base_score']['en-us'] = "Time Base Score"; +$text['label-time_base_score']['es-cl'] = "Puntuación basada en tiempo"; +$text['label-time_base_score']['pt-pt'] = "Pontuação baseada no tempo"; +$text['label-time_base_score']['fr-fr'] = "Score Basé sur le Temps"; + +$text['label-tiers']['en-us'] = "Tiers"; +$text['label-tiers']['es-cl'] = "Niveles de Centro de Llamados"; +$text['label-tiers']['pt-pt'] = "Níveis do Call Center"; +$text['label-tiers']['fr-fr'] = "Niveaux du Centre d'Appel"; + +$text['label-tier_rules_apply']['en-us'] = "Tier Rules Apply"; +$text['label-tier_rules_apply']['es-cl'] = "Aplicar Reglas de Nivel"; +$text['label-tier_rules_apply']['pt-pt'] = "Aplicar Regras de Nível"; +$text['label-tier_rules_apply']['fr-fr'] = "Appliquer la Règle du Niveau"; + +$text['label-tier_rule_wait_second']['en-us'] = "Tier Rule Wait Second"; +$text['label-tier_rule_wait_second']['es-cl'] = "Regla de nível segundo de espera"; +$text['label-tier_rule_wait_second']['pt-pt'] = "Regra de nível segundo espera"; +$text['label-tier_rule_wait_second']['fr-fr'] = "Attente, en seconde, de la Règle du Tier"; + +$text['label-tier_rule_wait_multiply_level']['en-us'] = "Tier Rule Wait Multiply Level"; +$text['label-tier_rule_wait_multiply_level']['es-cl'] = "Regla de nivel multiplicar nivel de espera"; +$text['label-tier_rule_wait_multiply_level']['pt-pt'] = "Regra de nível de espera multiplicado pelo nível"; +$text['label-tier_rule_wait_multiply_level']['fr-fr'] = "Règle d'Attente du Niveau Multipliée par Niveau"; + +$text['label-tier_rule_no_agent_no_wait']['en-us'] = "Tier Rule No Agent No Wait"; +$text['label-tier_rule_no_agent_no_wait']['es-cl'] = "Regla de nivel No espera Sin Agente"; +$text['label-tier_rule_no_agent_no_wait']['pt-pt'] = "Regra de Nível Sem agente Sem espera"; +$text['label-tier_rule_no_agent_no_wait']['fr-fr'] = "Règle du Niveau Pas d'Agent, Pas d'attente"; + +$text['label-tier_position']['en-us'] = "Tier Position"; +$text['label-tier_position']['es-cl'] = "Posición de Nivel"; +$text['label-tier_position']['pt-pt'] = "Posição no Nível"; +$text['label-tier_position']['fr-fr'] = "Position du Niveau"; + +$text['label-tier_level']['en-us'] = "Tier Level"; +$text['label-tier_level']['es-cl'] = "Nivel"; +$text['label-tier_level']['pt-pt'] = "Nível da Camada"; +$text['label-tier_level']['fr-fr'] = "Niveau"; + +$text['label-strategy']['en-us'] = "Strategy"; +$text['label-strategy']['es-cl'] = "Estrategia"; +$text['label-strategy']['pt-pt'] = "Estratégia"; +$text['label-strategy']['fr-fr'] = "Stratégie"; + +$text['label-status']['en-us'] = "Status"; +$text['label-status']['es-cl'] = "Estado"; +$text['label-status']['pt-pt'] = "Estado"; +$text['label-status']['fr-fr'] = "Etat"; + +$text['label-reject_delay_time']['en-us'] = "Reject Delay Time"; +$text['label-reject_delay_time']['es-cl'] = "Tiempo de Espera para Rechazar"; +$text['label-reject_delay_time']['pt-pt'] = "Tempo de espera para rejeitar"; +$text['label-reject_delay_time']['fr-fr'] = "Délais pour le Rejet"; + +$text['label-record_template']['en-us'] = "Record"; +$text['label-record_template']['es-cl'] = "Guardar"; +$text['label-record_template']['pt-pt'] = "Gravar"; +$text['label-record_template']['fr-fr'] = "Modèle"; + +$text['label-queue_name']['en-us'] = "Queue Name"; +$text['label-queue_name']['es-cl'] = "Nombre de Cola"; +$text['label-queue_name']['pt-pt'] = "Nome da Fila"; +$text['label-queue_name']['fr-fr'] = "Nom de la queue"; + +$text['label-options']['en-us'] = "Options"; +$text['label-options']['es-cl'] = "Opciones"; +$text['label-options']['pt-pt'] = "Opções"; +$text['label-options']['fr-fr'] = "Options"; + +$text['label-no_answer_delay_time']['en-us'] = "No Answer Delay Time"; +$text['label-no_answer_delay_time']['es-cl'] = "Tiempo de Espera sin Respuesta"; +$text['label-no_answer_delay_time']['pt-pt'] = "Sem Resposta Atraso Temporal "; +$text['label-no_answer_delay_time']['fr-fr'] = "Delais de Non Réponse"; + +$text['label-music_on_hold']['en-us'] = "Music on Hold"; +$text['label-music_on_hold']['es-cl'] = "Música en Espera"; +$text['label-music_on_hold']['pt-pt'] = "Música em Espera"; +$text['label-music_on_hold']['fr-fr'] = "Mise de Garde"; + +$text['label-max_wait_time_with_no_agent_time_reached']['en-us'] = "Max Wait Time with No Agent Time Reached"; +$text['label-max_wait_time_with_no_agent_time_reached']['es-cl'] = "Tiempo máximo de espera sin agente obtenido"; +$text['label-max_wait_time_with_no_agent_time_reached']['pt-pt'] = "Tempo máximo de espera sem agente atingido"; +$text['label-max_wait_time_with_no_agent_time_reached']['fr-fr'] = "Max Attente Sans Agent Atteinte"; + +$text['label-max_wait_time_with_no_agent']['en-us'] = "Max Wait Time with No Agent"; +$text['label-max_wait_time_with_no_agent']['es-cl'] = "Tiempo máximo de espera sin agente"; +$text['label-max_wait_time_with_no_agent']['pt-pt'] = "Tempo máximo de espera sem agente"; +$text['label-max_wait_time_with_no_agent']['fr-fr'] = "Max Attente Sans Agent"; + +$text['label-max_wait_time']['en-us'] = "Max Wait Time"; +$text['label-max_wait_time']['es-cl'] = "Tiempo máximo de espera"; +$text['label-max_wait_time']['pt-pt'] = "Tempo máximo de espera"; +$text['label-max_wait_time']['fr-fr'] = "Max Attente"; + +$text['label-max_no_answer']['en-us'] = "Max No Answer"; +$text['label-max_no_answer']['es-cl'] = "Numero Máximo de sin Respuesta"; +$text['label-max_no_answer']['pt-pt'] = "Número máximo de não respondidas"; +$text['label-max_no_answer']['fr-fr'] = "Max Non Réponses"; + +$text['label-extension']['en-us'] = "Extension"; +$text['label-extension']['es-cl'] = "Extensión"; +$text['label-extension']['pt-pt'] = "Extensão"; +$text['label-extension']['fr-fr'] = "Extension"; + +$text['label-discard_abandoned_after']['en-us'] = "Discard Abandoned After"; +$text['label-discard_abandoned_after']['es-cl'] = "Descartar Abandono Despues de"; +$text['label-discard_abandoned_after']['pt-pt'] = "Rejeição abandonada depois"; +$text['label-discard_abandoned_after']['fr-fr'] = "Ecarter les Abandons fait Après"; + +$text['label-description']['en-us'] = "Description"; +$text['label-description']['es-cl'] = "descripción"; +$text['label-description']['pt-pt'] = "Descrição"; +$text['label-description']['fr-fr'] = "Description"; + +$text['label-contact']['en-us'] = "Contact"; +$text['label-contact']['es-cl'] = "Contacto"; +$text['label-contact']['pt-pt'] = "Contacto"; +$text['label-contact']['fr-fr'] = "Contact"; + +$text['label-caller_id_name_prefix']['en-us'] = "Caller ID Name Prefix"; +$text['label-caller_id_name_prefix']['es-cl'] = "Prefijo de nombre de quien llama"; +$text['label-caller_id_name_prefix']['pt-pt'] = "Prefixo do nome do chamador"; +$text['label-caller_id_name_prefix']['fr-fr'] = "Préfixe du Nom d'Appelant"; + +$text['label-caller_announce_sound']['en-us'] = "Announce Sound"; + +$text['label-caller_announce_frequency']['en-us'] = "Announce Frequency"; + +$text['label-call_timeout']['en-us'] = "Call Timeout"; +$text['label-call_timeout']['es-cl'] = "Timeout de Llamada"; +$text['label-call_timeout']['pt-pt'] = "Timeout da chamada"; +$text['label-call_timeout']['fr-fr'] = "Timeout d'appel"; + +$text['label-busy_delay_time']['en-us'] = "Busy Delay Time"; +$text['label-busy_delay_time']['es-cl'] = "Tiempo de espera para ocupado"; +$text['label-busy_delay_time']['pt-pt'] = "Tempo de espera para ocupado"; +$text['label-busy_delay_time']['fr-fr'] = "Délais d'occupation"; + +$text['label-agent_name']['en-us'] = "Agent Name"; +$text['label-agent_name']['es-cl'] = "Nombre de Agente"; +$text['label-agent_name']['pt-pt'] = "Nome do Agente"; +$text['label-agent_name']['fr-fr'] = "Nom d'agent"; + +$text['label-agent_logout']['en-us'] = "Agent Logout"; +$text['label-agent_logout']['es-cl'] = "Desconexión de Agente"; +$text['label-agent_logout']['pt-pt'] = "Logout do Agente"; +$text['label-agent_logout']['fr-fr'] = "Déconnexion d'agent"; + +$text['label-agent']['en-us'] = "Agent"; +$text['label-agent']['es-cl'] = "Agente"; +$text['label-agent']['pt-pt'] = "Agente"; +$text['label-agent']['fr-fr'] = "Agent"; + +$text['label-abandoned_resume_allowed']['en-us'] = "Abandoned Resume Allowed"; +$text['label-abandoned_resume_allowed']['es-cl'] = "Permitir Reanudación de Abandono"; +$text['label-abandoned_resume_allowed']['pt-pt'] = "Resume Autorizado"; +$text['label-abandoned_resume_allowed']['fr-fr'] = "Recupération Permise des Abandons"; + +$text['header-call_center_tier_edit']['en-us'] = "Call Center Tier"; +$text['header-call_center_tier_edit']['es-cl'] = "Editar Nivel de Centro de Llamados"; +$text['header-call_center_tier_edit']['pt-pt'] = "Editar Nível do Call Center"; +$text['header-call_center_tier_edit']['fr-fr'] = "Editer un Niveau du Centre d'Appel"; + +$text['header-call_center_queues']['en-us'] = "Call Center Queues"; +$text['header-call_center_queues']['es-cl'] = "Colas de Centro de Llamados"; +$text['header-call_center_queues']['pt-pt'] = "Filas do Call Center"; +$text['header-call_center_queues']['fr-fr'] = "Queues du Centre d'appels"; + +$text['header-call_center_queue_edit']['en-us'] = "Call Center Queue"; +$text['header-call_center_queue_edit']['es-cl'] = "Editar Cola de Centro de Llamados"; +$text['header-call_center_queue_edit']['pt-pt'] = "Editar Fila do Call Center"; +$text['header-call_center_queue_edit']['fr-fr'] = "Editer une queue"; + +$text['header-call_center_queue_add']['en-us'] = "Call Center Queue"; +$text['header-call_center_queue_add']['es-cl'] = "Agregar Cola de Centro de Llamados"; +$text['header-call_center_queue_add']['pt-pt'] = "Adicionar Fila ao Call Center"; +$text['header-call_center_queue_add']['fr-fr'] = "Ajouter une Queue"; + +$text['header-call_center_agents']['en-us'] = "Call Center Agents"; +$text['header-call_center_agents']['es-cl'] = "Agentes de Centro de Llamados"; +$text['header-call_center_agents']['pt-pt'] = "Agentes do Call Center"; +$text['header-call_center_agents']['fr-fr'] = "Agents du Centre d'appels"; + +$text['header-call_center_agent_status']['en-us'] = "Call Center Agent Status"; +$text['header-call_center_agent_status']['es-cl'] = "Estado de Agente de Centro de Llamados"; +$text['header-call_center_agent_status']['pt-pt'] = "Estado do Agente do Call Center"; +$text['header-call_center_agent_status']['fr-fr'] = "Etat de l'agent du Centre d'Appel"; + +$text['header-call_center_agent_edit']['en-us'] = "Call Center Agent"; +$text['header-call_center_agent_edit']['es-cl'] = "Editar Agente de Centro de Llamados"; +$text['header-call_center_agent_edit']['pt-pt'] = "Editar Agente do Call Center"; +$text['header-call_center_agent_edit']['fr-fr'] = "Editer un agent du Centre d'Appel"; + +$text['header-call_center_agent_add']['en-us'] = "Call Center Agents"; +$text['header-call_center_agent_add']['es-cl'] = "Agregar Agente de Centro de Llamados"; +$text['header-call_center_agent_add']['pt-pt'] = "Adicionar Agente ao Call Center"; +$text['header-call_center_agent_add']['fr-fr'] = "Ajouter un agent du Centre d'Appel"; + +$text['description-wrap_up_time']['en-us'] = "Enter the wrap up time."; +$text['description-wrap_up_time']['es-cl'] = "Introduzca el tiempo de preparación."; +$text['description-wrap_up_time']['pt-pt'] = "Introduza o tempo de preparação."; +$text['description-wrap_up_time']['fr-fr'] = "choisir le temps de wrap up."; + +$text['description-type']['en-us'] = "Enter the agent type."; +$text['description-type']['es-cl'] = "Introduzca el tipo de agente."; +$text['description-type']['pt-pt'] = "Introduza o tipo do agente."; +$text['description-type']['fr-fr'] = "Choisir le type de l'agent."; + +$text['description-timeout_action']['en-us'] = "Set the action to perform when the max wait time is reached."; +$text['description-timeout_action']['es-cl'] = "Defina una acción a realizar cuando el tiempo máximo es alcanzado."; +$text['description-timeout_action']['pt-pt'] = "Defina a acção a realizar quando o tempo máximo de espera for atingido."; +$text['description-timeout_action']['fr-fr'] = "Choisir l'action à faire quand le temps max d'attente est atteint."; + +$text['description-time_base_score']['en-us'] = "Select the time base score."; +$text['description-time_base_score']['es-cl'] = "Seleccione el tiempo base"; +$text['description-time_base_score']['pt-pt'] = "Seleccione o tempo base "; +$text['description-time_base_score']['fr-fr'] = "Sélection du score sur base de temps."; + +$text['description-tiers']['en-us'] = "Tiers assign agents to queues."; +$text['description-tiers']['es-cl'] = "Lista todos los niveles. Los niveles asignan agentes a las colas."; +$text['description-tiers']['pt-pt'] = "Lista todos os níveis. Os níveis atribuem agentes às filas."; +$text['description-tiers']['fr-fr'] = "Liste tous les Niveaux. Les Niveaux permettent d'affecter les agents aux queues."; + +$text['description-tier_rules_apply']['en-us'] = "Set the tier rule rules apply to true or false."; +$text['description-tier_rules_apply']['es-cl'] = "Defina las reglas de nivel como verdaero o falso."; +$text['description-tier_rules_apply']['pt-pt'] = "Defina a regra de nível a verdadeiro ou falso."; +$text['description-tier_rules_apply']['fr-fr'] = "Choisir l'activation de la règle du Niveau à oui ou non."; + +$text['description-tier_rule_wait_second']['en-us'] = "Enter the tier rule wait seconds."; +$text['description-tier_rule_wait_second']['es-cl'] = "Introduzca los segundos de espera de la regla de nivel."; +$text['description-tier_rule_wait_second']['pt-pt'] = "Introduza os segundos de espera da regra de nível."; +$text['description-tier_rule_wait_second']['fr-fr'] = "Entrer le temps d'attente du niveau en secondes."; + +$text['description-tier_rule_wait_multiply_level']['en-us'] = "Set the tier rule wait multiply level to true or false."; +$text['description-tier_rule_wait_multiply_level']['pt-pt'] = "Defina a Regra de nível de espera multiplicado pelo nível."; +$text['description-tier_rule_wait_multiply_level']['fr-fr'] = "Choisir la multiplication du temps d'attente par niveau à oui ou non."; + +$text['description-tier_rule_no_agent_no_wait']['en-us'] = "Enter the tier rule no agent no wait."; +$text['description-tier_rule_no_agent_no_wait']['es-cl'] = "Introduzca la regla de nivel sin agente sin espera."; +$text['description-tier_rule_no_agent_no_wait']['pt-pt'] = "Introduza a regra sem agente sem espera."; +$text['description-tier_rule_no_agent_no_wait']['fr-fr'] = "Entrer la règle du niveau pas d'agent, pas d'attente."; + +$text['description-tier_position']['en-us'] = "Select the tier position."; +$text['description-tier_position']['es-cl'] = "Seleccione el nivel de posición."; +$text['description-tier_position']['pt-pt'] = "Seleccione a posição no nível."; +$text['description-tier_position']['fr-fr'] = "Choisir la position du niveau."; + +$text['description-tier_level']['en-us'] = "Select the tier level."; +$text['description-tier_level']['es-cl'] = "Seleccione el nivel de llamada."; +$text['description-tier_level']['pt-pt'] = "Seleccione o nível da camada."; +$text['description-tier_level']['fr-fr'] = "Choisir le niveau de l'appel."; + +$text['description-strategy']['en-us'] = "Select the queue ring strategy."; +$text['description-strategy']['es-cl'] = "Seleccione la estratégia de cola anillada."; +$text['description-strategy']['pt-pt'] = "Seleccione a estratégia da fila."; +$text['description-strategy']['fr-fr'] = "Sélection de la stratégie de sonnerie"; + +$text['description-status']['en-us'] = "Select the agent status."; +$text['description-status']['es-cl'] = "Seleccione el estado del agente."; +$text['description-status']['pt-pt'] = "Seleccione o estado do agente."; +$text['description-status']['fr-fr'] = "Choisir le statut de l'agent."; + +$text['description-reject_delay_time']['en-us'] = "Enter the reject delay time."; +$text['description-reject_delay_time']['es-cl'] = "Introduzca el tiempo de espera de rechazo."; +$text['description-reject_delay_time']['pt-pt'] = "Introduza o tempo de atraso de rejeição."; +$text['description-reject_delay_time']['fr-fr'] = "Choisir le délais de rejet."; + +$text['description-record_template']['en-us'] = "Save the recording."; +$text['description-record_template']['es-cl'] = "Guardar la grabación."; +$text['description-record_template']['pt-pt'] = "Salve a gravação."; +$text['description-record_template']['fr-fr'] = "Sauvegarder l'enregistrement."; + +$text['description-queue_name']['en-us'] = "Enter the queue name."; +$text['description-queue_name']['es-cl'] = "Introduzca el Nombre de Cola."; +$text['description-queue_name']['pt-pt'] = "Introduza o nome da fila."; +$text['description-queue_name']['fr-fr'] = "Entrer le nom de la queue"; + +$text['description-options']['en-us'] = "Select the queue name."; +$text['description-options']['es-cl'] = "Seleccione el nombre de cola."; +$text['description-options']['pt-pt'] = "Seleccione o nome da fila."; +$text['description-options']['fr-fr'] = "Choisir le nom de la queue."; + +$text['description-no_answer_delay_time']['en-us'] = "Enter the agent no answer delay time in seconds."; +$text['description-no_answer_delay_time']['es-cl'] = "Introduzca el tiempo de espera sin responder del agente en segundos."; +$text['description-no_answer_delay_time']['pt-pt'] = "Introduza o tempo de atraso em segundos do agente que não atende."; +$text['description-no_answer_delay_time']['fr-fr'] = "Choisir le delais de non réponse de l'agent."; + +$text['description-music_on_hold']['en-us'] = "Select the desired hold music."; +$text['description-music_on_hold']['es-cl'] = "Seleccione una música de espera."; +$text['description-music_on_hold']['pt-pt'] = "Seleccione uma música de espera."; +$text['description-music_on_hold']['fr-fr'] = "Sélection de la musique de garde."; + +$text['description-max_wait_time_with_no_agent_time_reached']['en-us'] = "Enter the max wait time with no agent time reached."; +$text['description-max_wait_time_with_no_agent_time_reached']['es-cl'] = "Introduzca el tiempo máximo de espera sin agente alcanzado."; +$text['description-max_wait_time_with_no_agent_time_reached']['pt-pt'] = "Introduza o tempo máximo de espera atingido sem agente."; +$text['description-max_wait_time_with_no_agent_time_reached']['fr-fr'] = ""; + +$text['description-max_wait_time_with_no_agent']['en-us'] = "Enter the max wait time with no agent."; +$text['description-max_wait_time_with_no_agent']['es-cl'] = "Introduzca el tiempo máximo de espera sin agente."; +$text['description-max_wait_time_with_no_agent']['pt-pt'] = "Introduza o tempo máximo de espera sem agente."; +$text['description-max_wait_time_with_no_agent']['fr-fr'] = "Entrer le temps max d'attente sans agent."; + +$text['description-max_wait_time']['en-us'] = "Enter the max wait time."; +$text['description-max_wait_time']['es-cl'] = "Introduzca el tiempo máximo de espera."; +$text['description-max_wait_time']['pt-pt'] = "Introduzia o tempo máximo de espera."; +$text['description-max_wait_time']['fr-fr'] = "Entrer le temps max d'attente."; + +$text['description-max_no_answer']['en-us'] = "Enter max no answer."; +$text['description-max_no_answer']['es-cl'] = "Introduza el máximo de no respuestas."; +$text['description-max_no_answer']['pt-pt'] = "Introduza o máximo de não antedidas."; +$text['description-max_no_answer']['fr-fr'] = "Choisr le nom max de non réponses."; + +$text['description-extension']['en-us'] = "Enter the extension number."; +$text['description-extension']['es-cl'] = "Introduzca el número de extensión."; +$text['description-extension']['pt-pt'] = "Introduza o número da extensão."; +$text['description-extension']['fr-fr'] = "Entrer un numéro d'extension"; + +$text['description-discard_abandoned_after']['en-us'] = "Set the discard abandoned after seconds."; +$text['description-discard_abandoned_after']['es-cl'] = "Defina la cantidad de segundos para el abandono de descarte."; +$text['description-discard_abandoned_after']['pt-pt'] = "Defina a rejeição abandonada segundos depois."; +$text['description-discard_abandoned_after']['fr-fr'] = "Choisir d'écartrer les abandons après un nombre de secondes."; + +$text['description-description']['en-us'] = "Enter a description, if desired."; +$text['description-description']['es-cl'] = "Ingrese una descripción, opcional."; +$text['description-description']['pt-pt'] = "Introduza uma descrição, se desejar."; +$text['description-description']['fr-fr'] = ""; + +$text['description-contact']['en-us'] = "Select the contact number."; +$text['description-contact']['es-cl'] = "Seleccione el número de contacto."; +$text['description-contact']['pt-pt'] = "Seleccione o número de contacto."; +$text['description-contact']['fr-fr'] = "Choisir le numéro du contact."; + +$text['description-caller_id_name_prefix']['en-us'] = "Set a prefix on the caller ID name."; +$text['description-caller_id_name_prefix']['es-cl'] = "Defina un prefijo para el nombre de quien llama."; +$text['description-caller_id_name_prefix']['pt-pt'] = "Defina um prefixo no nome do originador."; +$text['description-caller_id_name_prefix']['fr-fr'] = "Choisir un préfixe pour le nom d'appelant."; + +$text['description-caller_announce_sound']['en-us'] = "A sound to play to a caller every announce sound seconds. Needs the full path to the wav file."; + +$text['description-caller_announce_frequency']['en-us'] = "How often should we play the announce sound. Enter a number in seconds"; + +$text['description-call_timeout']['en-us'] = "Enter the call timeout."; +$text['description-call_timeout']['es-cl'] = "Introduzca el timeout de la llamada."; +$text['description-call_timeout']['pt-pt'] = "Introduza o timeout da chamada."; +$text['description-call_timeout']['fr-fr'] = "Choisir le timeout de l'appel."; + +$text['description-call_center_queues']['en-us'] = "List of queues for the call center."; +$text['description-call_center_queues']['es-cl'] = "Lista de Colas de Centro de Llamados."; +$text['description-call_center_queues']['pt-pt'] = "Lista de Filas do Call Center."; +$text['description-call_center_queues']['fr-fr'] = "Liste des Queues du Centre d'Appel"; + +$text['description-call_center_agents']['en-us'] = "List of call center agents."; +$text['description-call_center_agents']['es-cl'] = "Lista de Agentes de Centro de Llamados."; +$text['description-call_center_agents']['pt-pt'] = "Lista de Agentes do Call Center."; +$text['description-call_center_agents']['fr-fr'] = "Liste des agents du Centre d'Appel"; + +$text['description-call_center_agent_status']['en-us'] = "List all the call center agents with the option to change the status of one or more agents."; +$text['description-call_center_agent_status']['es-cl'] = "Lista todos los agentes del Centro de Llamados con la opción de modificar el estado de uno o más agentes."; +$text['description-call_center_agent_status']['pt-pt'] = "Lista todas as chamadas do Call Center com a opção de alterar o estado de um ou mais agentes."; +$text['description-call_center_agent_status']['fr-fr'] = "Liste tous les agents du centre d'appel avec la possibilité de modifier l'état d'un ou plusieurs agents."; + +$text['description-busy_delay_time']['en-us'] = "Enter the agent busy delay time."; +$text['description-busy_delay_time']['es-cl'] = "Introduzca el tiempo de espera de agente ocupado."; +$text['description-busy_delay_time']['pt-pt'] = "Introduza o tempo de atraso do agente ocupado."; +$text['description-busy_delay_time']['fr-fr'] = "Choisir le temps d'attente quand l'agent est occupé."; + +$text['description-agent_name']['en-us'] = "Select the agent name."; +$text['description-agent_name']['es-cl'] = "Seleccione el nombre del agente."; +$text['description-agent_name']['pt-pt'] = "Seleccione o nome dos agentes."; +$text['description-agent_name']['fr-fr'] = "Choisir le nom de l'agent."; + +$text['description-agent_logout']['en-us'] = "Enter the auto agent logout time in 00:00 format. Requires a service to enforce the logout time."; +$text['description-agent_logout']['es-cl'] = "Introduzca el tiempo de desconexión automático de agente en formato 00:00. Requiere un servicio para forzar la desconexión."; +$text['description-agent_logout']['pt-pt'] = "Introduza o tempo de logou automático do agente no formato 00:00. Isto requere um serviço dedicado para forçar o logout."; +$text['description-agent_logout']['fr-fr'] = "Entrer l'heure de déconnexion automatique de l'agent au format 00:00. Nécessite un service pour forcer la déconnexion."; + +$text['description-agent']['en-us'] = "Select the agent name."; +$text['description-agent']['es-cl'] = "Seleccione el nombre del agente."; +$text['description-agent']['pt-pt'] = "Seleccione o nome do agente."; +$text['description-agent']['fr-fr'] = "Choisir le nom de l'agent."; + +$text['description-abandoned_resume_allowed']['en-us'] = "Set the abandoned resume allowed to true or false."; +$text['description-abandoned_resume_allowed']['es-cl'] = "Defina el permiso para permitir la continuación de abandono a verdadero o falso."; +$text['description-abandoned_resume_allowed']['pt-pt'] = "Defina a permissão para abadono do resume a verdadeiro ou a falso."; +$text['description-abandoned_resume_allowed']['fr-fr'] = "choisir l'autorisation de reprise d'abandon à oui ou non."; + +$text['confirm-delete']['en-us'] = "Do you really want to delete this?"; +$text['confirm-delete']['es-cl'] = "¿Realmente desea eliminar esto?"; +$text['confirm-delete']['pt-pt'] = "Deseja realmente remover isto?"; +$text['confirm-delete']['fr-fr'] = "Voulez-vous vraiment supprimer cela?"; + +$text['confirm-copy']['en-us'] = "Do you really want to copy this?"; +$text['confirm-copy']['es-cl'] = "¿Realmente desea copiar esto?"; +$text['confirm-copy']['pt-pt'] = "Deseja realmente copiar isto?"; +$text['confirm-copy']['fr-fr'] = "Voulez-vous vraiment copier cela?"; + +$text['button-view']['en-us'] = "View"; +$text['button-view']['es-cl'] = "Ver"; +$text['button-view']['pt-pt'] = "Ver"; +$text['button-view']['fr-fr'] = "Voir"; + +$text['button-update_status']['en-us'] = "Update Status"; +$text['button-update_status']['es-cl'] = "Actualizar Estado"; +$text['button-update_status']['pt-pt'] = "Actualizar Estado"; +$text['button-update_status']['fr-fr'] = "Mis à jour état"; + +$text['button-tiers']['en-us'] = "Tiers"; +$text['button-tiers']['es-cl'] = "Niveles"; +$text['button-tiers']['pt-pt'] = "Níveis"; +$text['button-tiers']['fr-fr'] = "Tiers"; + +$text['button-stop']['en-us'] = "Stop"; +$text['button-stop']['es-cl'] = "Detener"; +$text['button-stop']['pt-pt'] = "Parar"; +$text['button-stop']['fr-fr'] = "Stop"; + +$text['button-status']['en-us'] = "Status"; +$text['button-status']['es-cl'] = "Estado"; +$text['button-status']['pt-pt'] = "Estado"; +$text['button-status']['fr-fr'] = "Etat"; + +$text['button-start']['en-us'] = "Start"; +$text['button-start']['es-cl'] = "Iniciar"; +$text['button-start']['pt-pt'] = "Iniciar"; +$text['button-start']['fr-fr'] = "Démarrer"; + +$text['button-save']['en-us'] = "Save"; +$text['button-save']['es-cl'] = "Guardar"; +$text['button-save']['pt-pt'] = "Guardar"; +$text['button-save']['fr-fr'] = "Sauvegarder"; + +$text['button-restart']['en-us'] = "Restart"; +$text['button-restart']['es-cl'] = "Reanudar"; +$text['button-restart']['pt-pt'] = "Restart"; +$text['button-restart']['fr-fr'] = "Redémarrer"; + +$text['button-refresh']['en-us'] = "Refresh"; +$text['button-refresh']['es-cl'] = "Actualizar"; +$text['button-refresh']['pt-pt'] = "Actualizar"; +$text['button-refresh']['fr-fr'] = "Rafraîchir"; + +$text['button-edit']['en-us'] = "Edit"; +$text['button-edit']['es-cl'] = "Editar"; +$text['button-edit']['pt-pt'] = "Editar"; +$text['button-edit']['fr-fr'] = "Editer"; + +$text['button-delete']['en-us'] = "Delete"; +$text['button-delete']['es-cl'] = "Eliminar"; +$text['button-delete']['pt-pt'] = "Remover"; +$text['button-delete']['fr-fr'] = "Supprimer"; + +$text['button-copy']['en-us'] = "Copy"; +$text['button-copy']['es-cl'] = "Copiar"; +$text['button-copy']['pt-pt'] = "Copiar"; +$text['button-copy']['fr-fr'] = "Copier"; + +$text['button-back']['en-us'] = "Back"; +$text['button-back']['es-cl'] = "Volver"; +$text['button-back']['pt-pt'] = "Voltar"; +$text['button-back']['fr-fr'] = "Retour"; + +$text['button-agents']['en-us'] = "Agents"; +$text['button-agents']['es-cl'] = "Agentes"; +$text['button-agents']['pt-pt'] = "Agentes"; +$text['button-agents']['fr-fr'] = "Agents"; + +$text['button-advanced']['en-us'] = "Advanced"; +$text['button-advanced']['es-cl'] = "Avanzadas"; +$text['button-advanced']['pt-pt'] = "Avançadas"; +$text['button-advanced']['fr-fr'] = "Avancé"; + +$text['button-add']['en-us'] = "Add"; +$text['button-add']['es-cl'] = "Agregar"; +$text['button-add']['pt-pt'] = "Adicionar"; +$text['button-add']['fr-fr'] = "ajouter"; + +$text['message-maximum_queues']['en-us'] = "Maximum Queues:"; +$text['message-maximum_queues']['es-cl'] = "Colas Máximo Permitido:"; +$text['message-maximum_queues']['pt-pt'] = "Filas Máximo Permitido:"; +$text['message-maximum_queues']['fr-fr'] = "Files d'attente Maximum Autorisé:"; + +?> \ No newline at end of file diff --git a/app/call_center/call_center_queue_edit.php b/app/call_center/call_center_queue_edit.php index 55a0416cbd..d823cc301e 100644 --- a/app/call_center/call_center_queue_edit.php +++ b/app/call_center/call_center_queue_edit.php @@ -48,6 +48,26 @@ else { $action = "add"; } +//get total call center queues count from the database, check limit, if defined + if ($action == 'add') { + if ($_SESSION['limit']['call_center_queues']['numeric'] != '') { + $sql = "select count(*) as num_rows from v_call_center_queues where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + $total_call_center_queues = $row['num_rows']; + } + unset($prep_statement, $row); + if ($total_call_center_queues >= $_SESSION['limit']['call_center_queues']['numeric']) { + $_SESSION['message_mood'] = 'negative'; + $_SESSION['message'] = $text['message-maximum_queues'].' '.$_SESSION['limit']['call_center_queues']['numeric']; + header('Location: call_center_queues.php'); + return; + } + } + } + //get http post variables and set them to php variables if (count($_POST) > 0) { //get the post variables a run a security chack on them diff --git a/app/call_center/call_center_queues.php b/app/call_center/call_center_queues.php index c785ccced3..1581050b78 100644 --- a/app/call_center/call_center_queues.php +++ b/app/call_center/call_center_queues.php @@ -62,42 +62,52 @@ else { echo "\n"; echo "\n"; - $sql = "select * from v_call_center_queues "; - $sql .= "where domain_uuid = '$domain_uuid' "; - if (strlen($order_by) == 0) { - $order_by = 'queue_name'; - $order = 'asc'; - } - else { - $sql .= "order by $order_by $order "; - } - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - $num_rows = count($result); - unset ($prep_statement, $result, $sql); - $rows_per_page = 100; - $param = ""; - $page = $_GET['page']; - if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; } - list($paging_controls, $rows_per_page, $var_3) = paging($num_rows, $param, $rows_per_page); - $offset = $rows_per_page * $page; + //get total call center queues count from the database + $sql = "select count(*) as num_rows from v_call_center_queues where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + $total_call_center_queues = $row['num_rows']; + } + unset($prep_statement, $row); - $sql = "select * from v_call_center_queues "; - $sql .= "where domain_uuid = '$domain_uuid' "; - if (strlen($order_by) == 0) { - $order_by = 'queue_name'; - $order = 'asc'; - } - else { - $sql .= "order by $order_by $order "; - } - $sql .= " limit $rows_per_page offset $offset "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - $result_count = count($result); - unset ($prep_statement, $sql); + //prepare to page the results (reuse $sql from above) + if (strlen($order_by) == 0) { + $order_by = 'queue_name'; + $order = 'asc'; + } + else { + $sql .= "order by $order_by $order "; + } + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + $num_rows = count($result); + unset ($prep_statement, $result, $sql); + + $rows_per_page = 100; + $param = ""; + $page = $_GET['page']; + if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; } + list($paging_controls, $rows_per_page, $var_3) = paging($num_rows, $param, $rows_per_page); + $offset = $rows_per_page * $page; + + $sql = "select * from v_call_center_queues "; + $sql .= "where domain_uuid = '$domain_uuid' "; + if (strlen($order_by) == 0) { + $order_by = 'queue_name'; + $order = 'asc'; + } + else { + $sql .= "order by $order_by $order "; + } + $sql .= " limit $rows_per_page offset $offset "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + $result_count = count($result); + unset ($prep_statement, $sql); $c = 0; $row_style["0"] = "row_style0"; @@ -122,7 +132,9 @@ else { echo th_order_by('queue_description', $text['label-description'], $order_by, $order); echo ""; if (permission_exists('call_center_queue_add')) { - echo "$v_link_label_add"; + if ($_SESSION['limit']['call_center_queues']['numeric'] == '' || ($_SESSION['limit']['call_center_queues']['numeric'] != '' && $total_call_center_queues < $_SESSION['limit']['call_center_queues']['numeric'])) { + echo "".$v_link_label_add.""; + } } echo "\n"; echo "\n"; @@ -175,7 +187,9 @@ else { echo " $paging_controls\n"; echo " "; if (permission_exists('call_center_queue_add')) { - echo "$v_link_label_add"; + if ($_SESSION['limit']['call_center_queues']['numeric'] == '' || ($_SESSION['limit']['call_center_queues']['numeric'] != '' && $total_call_center_queues < $_SESSION['limit']['call_center_queues']['numeric'])) { + echo "".$v_link_label_add.""; + } } echo " \n"; echo " \n"; diff --git a/app/destinations/app_languages.php b/app/destinations/app_languages.php index 0424bd4b7e..d7a8f3eaf0 100644 --- a/app/destinations/app_languages.php +++ b/app/destinations/app_languages.php @@ -285,4 +285,9 @@ $text['label-domain-name']['es-cl'] = "Nombre de Dominio"; $text['label-domain-name']['pt-pt'] = "Nome de Domínio"; $text['label-domain-name']['fr-fr'] = "Nom de Domaine"; +$text['message-maximum_destinations']['en-us'] = "Maximum Destinations:"; +$text['message-maximum_destinations']['es-cl'] = "Destinos Máximo Permitido:"; +$text['message-maximum_destinations']['pt-pt'] = "Destinos Máximo Permitido:"; +$text['message-maximum_destinations']['fr-fr'] = "Destinations Maximum Autorisé:"; + ?> \ No newline at end of file diff --git a/app/destinations/destination_edit.php b/app/destinations/destination_edit.php index 8618707485..804603577a 100644 --- a/app/destinations/destination_edit.php +++ b/app/destinations/destination_edit.php @@ -53,6 +53,26 @@ if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/billing/app_config. $action = "add"; } +//get total destination count from the database, check limit, if defined + if ($action == 'add') { + if ($_SESSION['limit']['destinations']['numeric'] != '') { + $sql = "select count(*) as num_rows from v_destinations where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + $total_destinations = $row['num_rows']; + } + unset($prep_statement, $row); + if ($total_destinations >= $_SESSION['limit']['destinations']['numeric']) { + $_SESSION['message_mood'] = 'negative'; + $_SESSION['message'] = $text['message-maximum_destinations'].' '.$_SESSION['limit']['destinations']['numeric']; + header('Location: destinations.php'); + return; + } + } + } + //get http post variables and set them to php variables if (count($_POST) > 0) { //set the variables diff --git a/app/destinations/destinations.php b/app/destinations/destinations.php index 273c047b94..b5bc170230 100644 --- a/app/destinations/destinations.php +++ b/app/destinations/destinations.php @@ -26,7 +26,7 @@ require_once "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; -if (if_group("admin") || if_group("superadmin")) { +if (permission_exists('destination_view')) { //access granted } else { @@ -56,10 +56,10 @@ else { if (permission_exists('destination_show_all')) { echo " \n"; if ($_GET['showall'] == 'true') { - echo " "; + echo " "; } } - echo " "; + echo " "; echo " "; echo " \n"; echo " \n"; @@ -71,14 +71,24 @@ else { echo " \n"; echo "\n"; + //get total extension count from the database + $sql = "select count(*) as num_rows from v_destinations where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + $total_destinations = $row['num_rows']; + } + unset($sql, $prep_statement, $row); + //prepare to page the results - $sql = " select count(*) as num_rows from v_destinations "; + $sql = "select count(*) as num_rows from v_destinations "; if ($_GET['showall'] && permission_exists('xml_cdr_all')) { if (strlen($search) > 0) { $sql .= "where "; } } else { - $sql .= "where domain_uuid = '$domain_uuid' "; + $sql .= "where domain_uuid = '".$domain_uuid."' "; if (strlen($search) > 0) { $sql .= "and "; } @@ -159,7 +169,11 @@ else { echo th_order_by('destination_enabled', $text['label-destination_enabled'], $order_by, $order); echo th_order_by('destination_description', $text['label-destination_description'], $order_by, $order); echo ""; - echo "$v_link_label_add"; + if (permission_exists('destination_add')) { + if ($_SESSION['limit']['destinations']['numeric'] == '' || ($_SESSION['limit']['destinations']['numeric'] != '' && $total_destinations < $_SESSION['limit']['destinations']['numeric'])) { + echo "".$v_link_label_add.""; + } + } echo "\n"; echo "\n"; @@ -176,8 +190,12 @@ else { echo " ".ucwords($row['destination_enabled'])."\n"; echo " ".$row['destination_description']." \n"; echo " "; - echo "$v_link_label_edit"; - echo "$v_link_label_delete"; + if (permission_exists('destination_edit')) { + echo "".$v_link_label_edit.""; + } + if (permission_exists('destination_delete')) { + echo "".$v_link_label_delete.""; + } echo " \n"; echo "\n"; if ($c==0) { $c=1; } else { $c=0; } @@ -196,7 +214,11 @@ else { echo "  \n"; echo " $paging_controls\n"; echo " "; - echo "$v_link_label_add"; + if (permission_exists('destination_add')) { + if ($_SESSION['limit']['destinations']['numeric'] == '' || ($_SESSION['limit']['destinations']['numeric'] != '' && $total_destinations < $_SESSION['limit']['destinations']['numeric'])) { + echo "".$v_link_label_add.""; + } + } echo " \n"; echo " \n"; echo " \n"; diff --git a/app/devices/app_languages.php b/app/devices/app_languages.php index 08defbb45a..0637cbd332 100644 --- a/app/devices/app_languages.php +++ b/app/devices/app_languages.php @@ -980,4 +980,9 @@ $text['label-domain-name']['pt-pt'] = "Nome de Domínio"; $text['label-domain-name']['fr-fr'] = "Nom de Domaine"; + $text['message-maximum_devices']['en-us'] = "Maximum Devices:"; + $text['message-maximum_devices']['es-cl'] = "Dispositivos Máximo Permitido:"; + $text['message-maximum_devices']['pt-pt'] = "Dispositivos Máximo Permitido:"; + $text['message-maximum_devices']['fr-fr'] = "Appareils Maximum Autorisé:"; + ?> \ No newline at end of file diff --git a/app/devices/device_edit.php b/app/devices/device_edit.php index b06caa6e6e..4f43ffc3d7 100644 --- a/app/devices/device_edit.php +++ b/app/devices/device_edit.php @@ -76,6 +76,26 @@ require_once "resources/require.php"; $action = "add"; } +//get total device count from the database, check limit, if defined + if ($action == 'add') { + if ($_SESSION['limit']['devices']['numeric'] != '') { + $sql = "select count(*) as num_rows from v_devices where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + $total_devices = $row['num_rows']; + } + unset($prep_statement, $row); + if ($total_devices >= $_SESSION['limit']['devices']['numeric']) { + $_SESSION['message_mood'] = 'negative'; + $_SESSION['message'] = $text['message-maximum_devices'].' '.$_SESSION['limit']['devices']['numeric']; + header('Location: devices.php'); + return; + } + } + } + //get http post variables and set them to php variables if (count($_POST) > 0) { //devices diff --git a/app/devices/devices.php b/app/devices/devices.php index 10aef7e3c0..a01ebc153d 100644 --- a/app/devices/devices.php +++ b/app/devices/devices.php @@ -67,7 +67,7 @@ else { if (permission_exists('device_profile_view')) { echo "     "; } - echo " "; + echo " "; echo " "; echo " \n"; echo " \n"; @@ -75,6 +75,16 @@ else { echo "\n"; echo "
"; + //get total devices count from the database + $sql = "select count(*) as num_rows from v_devices where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + $total_devices = $row['num_rows']; + } + unset($sql, $prep_statement, $row); + //prepare to page the results $sql = "select count(*) as num_rows from v_devices "; if ($_GET['showall'] && permission_exists('device_show_all')) { @@ -179,7 +189,9 @@ else { echo th_order_by('device_description', $text['label-device_description'], $order_by, $order); echo "\n"; if (permission_exists('device_add')) { - echo " $v_link_label_add\n"; + if ($_SESSION['limit']['devices']['numeric'] == '' || ($_SESSION['limit']['devices']['numeric'] != '' && $total_devices < $_SESSION['limit']['devices']['numeric'])) { + echo " ".$v_link_label_add."\n"; + } } else { echo "  \n"; @@ -225,7 +237,9 @@ else { echo " ".$paging_controls."\n"; echo " "; if (permission_exists('device_add')) { - echo " $v_link_label_add"; + if ($_SESSION['limit']['devices']['numeric'] == '' || ($_SESSION['limit']['devices']['numeric'] != '' && $total_devices < $_SESSION['limit']['devices']['numeric'])) { + echo " ".$v_link_label_add.""; + } } echo " \n"; echo " \n"; diff --git a/app/extensions/app_languages.php b/app/extensions/app_languages.php index 6f8206157f..bf471e35fb 100644 --- a/app/extensions/app_languages.php +++ b/app/extensions/app_languages.php @@ -640,4 +640,9 @@ $text['button-add']['es-cl'] = "Agregar"; $text['button-add']['pt-pt'] = "Adicionar"; $text['button-add']['fr-fr'] = "Ajouter"; +$text['message-maximum_extensions']['en-us'] = "Maximum Extensions:"; +$text['message-maximum_extensions']['es-cl'] = "Extensiones Máximo Permitido:"; +$text['message-maximum_extensions']['pt-pt'] = "Extensões Máximo Permitido:"; +$text['message-maximum_extensions']['fr-fr'] = "Extensions Maximum Autorisé:"; + ?> \ No newline at end of file diff --git a/app/extensions/extension_edit.php b/app/extensions/extension_edit.php index 9249a1bde7..594a3af1a0 100644 --- a/app/extensions/extension_edit.php +++ b/app/extensions/extension_edit.php @@ -55,6 +55,26 @@ else { $action = "add"; } +//get total extension count from the database, check limit, if defined + if ($action == 'add') { + if ($_SESSION['limit']['extensions']['numeric'] != '') { + $sql = "select count(*) as num_rows from v_extensions where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + $total_extensions = $row['num_rows']; + } + unset($prep_statement, $row); + if ($total_extensions >= $_SESSION['limit']['extensions']['numeric']) { + $_SESSION['message_mood'] = 'negative'; + $_SESSION['message'] = $text['message-maximum_extensions'].' '.$_SESSION['limit']['extensions']['numeric']; + header('Location: extensions.php'); + return; + } + } + } + //get the http values and set them as php variables if (count($_POST) > 0) { //get the values from the HTTP POST and save them as PHP variables diff --git a/app/extensions/extensions.php b/app/extensions/extensions.php index 5919310f05..677827ae34 100644 --- a/app/extensions/extensions.php +++ b/app/extensions/extensions.php @@ -63,132 +63,144 @@ require_once "resources/paging.php"; echo "\n"; echo "
"; - //get the number of extensions - $sql = "select count(*) as num_rows from v_extensions "; - $sql .= "where domain_uuid = '".$domain_uuid."' "; - if (strlen($search) > 0) { - $sql .= "and ("; - $sql .= " extension like '%".$search."%' "; - $sql .= " or call_group like '%".$search."%' "; - $sql .= " or user_context like '%".$search."%' "; - $sql .= " or enabled like '%".$search."%' "; - $sql .= " or description like '%".$search."%' "; - $sql .= ") "; - } - $prep_statement = $db->prepare(check_sql($sql)); - if ($prep_statement) { - $prep_statement->execute(); - $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - if ($row['num_rows'] > 0) { - $num_rows = $row['num_rows']; - } - else { - $num_rows = '0'; - } - } - unset($prep_statement, $result); +//get total extension count from the database + $sql = "select count(*) as num_rows from v_extensions where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + $total_extensions = $row['num_rows']; + } + unset($prep_statement, $row); - //prepare to page the results - $rows_per_page = 150; - $param = ""; - if (!isset($_GET['page'])) { $_GET['page'] = 0; } - $_GET['page'] = check_str($_GET['page']); - list($paging_controls, $rows_per_page, $var_3) = paging($num_rows, $param, $rows_per_page); - $offset = $rows_per_page * $_GET['page']; - - //get the extensions - $sql = "select * from v_extensions "; - $sql .= "where domain_uuid = '$domain_uuid' "; - if (strlen($search) > 0) { - $sql .= "and ("; - $sql .= " extension like '%".$search."%' "; - $sql .= " or call_group like '%".$search."%' "; - $sql .= " or user_context like '%".$search."%' "; - $sql .= " or enabled like '%".$search."%' "; - $sql .= " or description like '%".$search."%' "; - $sql .= ") "; - } - if (isset($order_by)) { - $sql .= "order by $order_by $order "; +//get the number of extensions (reuse $sql from above) + if (strlen($search) > 0) { + $sql .= "and ("; + $sql .= " extension like '%".$search."%' "; + $sql .= " or call_group like '%".$search."%' "; + $sql .= " or user_context like '%".$search."%' "; + $sql .= " or enabled like '%".$search."%' "; + $sql .= " or description like '%".$search."%' "; + $sql .= ") "; + } + $prep_statement = $db->prepare(check_sql($sql)); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + if ($row['num_rows'] > 0) { + $num_rows = $row['num_rows']; } else { - $sql .= "order by extension asc "; + $num_rows = '0'; } - $sql .= " limit $rows_per_page offset $offset "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - $result_count = count($result); - unset ($prep_statement, $sql); + } + unset($prep_statement, $result); - $c = 0; - $row_style["0"] = "row_style0"; - $row_style["1"] = "row_style1"; +//prepare to page the results + $rows_per_page = 150; + $param = ""; + if (!isset($_GET['page'])) { $_GET['page'] = 0; } + $_GET['page'] = check_str($_GET['page']); + list($paging_controls, $rows_per_page, $var_3) = paging($num_rows, $param, $rows_per_page); + $offset = $rows_per_page * $_GET['page']; - echo "\n"; - echo "\n"; - echo th_order_by('extension', $text['label-extension'], $order_by, $order); - echo th_order_by('call_group', $text['label-call_group'], $order_by, $order); - //echo th_order_by('voicemail_mail_to', $text['label-voicemail_mail_to'], $order_by, $order); - echo th_order_by('user_context', $text['label-user_context'], $order_by, $order); - echo th_order_by('enabled', $text['label-enabled'], $order_by, $order); - echo th_order_by('description', $text['label-description'], $order_by, $order); - echo "
\n"; - if (permission_exists('extension_add')) { - echo " $v_link_label_add\n"; +//get the extensions + $sql = "select * from v_extensions "; + $sql .= "where domain_uuid = '$domain_uuid' "; + if (strlen($search) > 0) { + $sql .= "and ("; + $sql .= " extension like '%".$search."%' "; + $sql .= " or call_group like '%".$search."%' "; + $sql .= " or user_context like '%".$search."%' "; + $sql .= " or enabled like '%".$search."%' "; + $sql .= " or description like '%".$search."%' "; + $sql .= ") "; + } + if (isset($order_by)) { + $sql .= "order by $order_by $order "; + } + else { + $sql .= "order by extension asc "; + } + $sql .= " limit $rows_per_page offset $offset "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + $result_count = count($result); + unset ($prep_statement, $sql); + + $c = 0; + $row_style["0"] = "row_style0"; + $row_style["1"] = "row_style1"; + + echo "\n"; + echo "\n"; + echo th_order_by('extension', $text['label-extension'], $order_by, $order); + echo th_order_by('call_group', $text['label-call_group'], $order_by, $order); + //echo th_order_by('voicemail_mail_to', $text['label-voicemail_mail_to'], $order_by, $order); + echo th_order_by('user_context', $text['label-user_context'], $order_by, $order); + echo th_order_by('enabled', $text['label-enabled'], $order_by, $order); + echo th_order_by('description', $text['label-description'], $order_by, $order); + echo "\n"; - echo "\n"; + } + echo "\n"; + echo "\n"; - if ($result_count > 0) { - foreach($result as $row) { - $tr_link = (permission_exists('extension_edit')) ? " href='extension_edit.php?id=".$row['extension_uuid']."'" : null; - echo "\n"; - echo " \n"; - echo " \n"; - //echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "\n"; - if ($c==0) { $c=1; } else { $c=0; } - } //end foreach - unset($sql, $result, $row_count); - } //end if results + if ($result_count > 0) { + foreach($result as $row) { + $tr_link = (permission_exists('extension_edit')) ? " href='extension_edit.php?id=".$row['extension_uuid']."'" : null; + echo "\n"; + echo " \n"; + echo " \n"; + //echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "\n"; + if ($c==0) { $c=1; } else { $c=0; } + } //end foreach + unset($sql, $result, $row_count); + } //end if results - echo "\n"; - echo "\n"; + echo "\n"; - echo "
\n"; + if (permission_exists('extension_add')) { + if ($_SESSION['limit']['extensions']['numeric'] == '' || ($_SESSION['limit']['extensions']['numeric'] != '' && $total_extensions < $_SESSION['limit']['extensions']['numeric'])) { + echo " ".$v_link_label_add."\n"; } - echo "
"; - if (permission_exists('extension_edit')) { - echo "".$row['extension'].""; - } - else { - echo $row['extension']; - } - echo "".$row['call_group']." ".$row['voicemail_mail_to']." ".$row['user_context']."".ucwords($row['enabled'])."".$row['description']." "; - if (permission_exists('extension_edit')) { - echo "$v_link_label_edit"; - } - if (permission_exists('extension_delete')) { - echo "$v_link_label_delete"; - } - echo "
"; + if (permission_exists('extension_edit')) { + echo "".$row['extension'].""; + } + else { + echo $row['extension']; + } + echo "".$row['call_group']." ".$row['voicemail_mail_to']." ".$row['user_context']."".ucwords($row['enabled'])."".$row['description']." "; + if (permission_exists('extension_edit')) { + echo "$v_link_label_edit"; + } + if (permission_exists('extension_delete')) { + echo "$v_link_label_delete"; + } + echo "
\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; + echo "\n"; - echo "\n"; + } + echo " \n"; + echo " \n"; + echo "
 $paging_controls\n"; - if (permission_exists('extension_add')) { - echo " $v_link_label_add\n"; + echo "
\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; - echo " \n"; - echo "
 $paging_controls\n"; + if (permission_exists('extension_add')) { + if ($_SESSION['limit']['extensions']['numeric'] == '' || ($_SESSION['limit']['extensions']['numeric'] != '' && $total_extensions < $_SESSION['limit']['extensions']['numeric'])) { + echo " ".$v_link_label_add."\n"; } - echo "
\n"; - echo "
\n"; + echo "
"; - echo "

"; + echo "
"; + echo "

"; //show the footer diff --git a/app/gateways/app_languages.php b/app/gateways/app_languages.php index 7fe9cbcc83..7794b64b56 100644 --- a/app/gateways/app_languages.php +++ b/app/gateways/app_languages.php @@ -429,4 +429,9 @@ $text['message-required']['pt-pt'] = "Por favor indique: "; $text['message-required']['fr-fr'] = "Merci d'indiquer: "; -?> + $text['message-maximum_gateways']['en-us'] = "Maximum Gateways:"; + $text['message-maximum_gateways']['es-cl'] = "Gateways Máximo Permitido:"; + $text['message-maximum_gateways']['pt-pt'] = "Gateways Máximo Permitido:"; + $text['message-maximum_gateways']['fr-fr'] = "Passerelles Maximum Autorisé:"; + +?> \ No newline at end of file diff --git a/app/gateways/gateway_edit.php b/app/gateways/gateway_edit.php index 50762ec420..eb6e896dc4 100644 --- a/app/gateways/gateway_edit.php +++ b/app/gateways/gateway_edit.php @@ -47,6 +47,26 @@ else { $action = "add"; } +//get total gateway count from the database, check limit, if defined + if ($action == 'add') { + if ($_SESSION['limit']['gateways']['numeric'] != '') { + $sql = "select count(*) as num_rows from v_gateways where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + $total_gateways = $row['num_rows']; + } + unset($prep_statement, $row); + if ($total_gateways >= $_SESSION['limit']['gateways']['numeric']) { + $_SESSION['message_mood'] = 'negative'; + $_SESSION['message'] = $text['message-maximum_gateways'].' '.$_SESSION['limit']['gateways']['numeric']; + header('Location: gateways.php'); + return; + } + } + } + //get http post variables and set them to php variables if (count($_POST) > 0) { $domain_uuid = check_str($_POST["domain_uuid"]); diff --git a/app/gateways/gateways.php b/app/gateways/gateways.php index 8782d54481..bc890546dc 100644 --- a/app/gateways/gateways.php +++ b/app/gateways/gateways.php @@ -100,6 +100,16 @@ else { echo "\n"; echo "
\n"; +//get total gateway count from the database + $sql = "select count(*) as num_rows from v_gateways where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + $total_gateways = $row['num_rows']; + } + unset($sql, $prep_statement, $row); + //prepare to page the results $sql = "select count(*) as num_rows from v_gateways "; $sql .= "where (domain_uuid = '$domain_uuid' or domain_uuid is null) "; @@ -153,7 +163,9 @@ else { echo th_order_by('description', $text['label-description'], $order_by, $order); echo ""; if (permission_exists('gateway_add')) { - echo "$v_link_label_add"; + if ($_SESSION['limit']['gateways']['numeric'] == '' || ($_SESSION['limit']['gateways']['numeric'] != '' && $total_gateways < $_SESSION['limit']['gateways']['numeric'])) { + echo "".$v_link_label_add.""; + } } echo "\n"; echo "\n"; @@ -229,7 +241,9 @@ else { echo " $paging_controls\n"; echo " "; if (permission_exists('gateway_add')) { - echo "$v_link_label_add"; + if ($_SESSION['limit']['gateways']['numeric'] == '' || ($_SESSION['limit']['gateways']['numeric'] != '' && $total_gateways < $_SESSION['limit']['gateways']['numeric'])) { + echo "".$v_link_label_add.""; + } } else { echo " "; diff --git a/app/ivr_menu/app_languages.php b/app/ivr_menu/app_languages.php index 0d2d8eca12..45a46659d0 100644 --- a/app/ivr_menu/app_languages.php +++ b/app/ivr_menu/app_languages.php @@ -415,4 +415,9 @@ $text['message-message']['pt-pt'] = "Mensagem"; $text['message-message']['fr-fr'] = "Message"; -?> + $text['message-maximum_ivr_menus']['en-us'] = "Maximum IVR Menus:"; + $text['message-maximum_ivr_menus']['es-cl'] = "Máxima IVR Menús Animales:"; + $text['message-maximum_ivr_menus']['pt-pt'] = "Menus Máxima IVR de Estimação:"; + $text['message-maximum_ivr_menus']['fr-fr'] = "Menus Maximale SVI Admis:"; + +?> \ No newline at end of file diff --git a/app/ivr_menu/ivr_menu_edit.php b/app/ivr_menu/ivr_menu_edit.php index 5a3547058c..75fda89411 100644 --- a/app/ivr_menu/ivr_menu_edit.php +++ b/app/ivr_menu/ivr_menu_edit.php @@ -52,6 +52,26 @@ else { $action = "add"; } +//get total ivr menu count from the database, check limit, if defined + if ($action == 'add') { + if ($_SESSION['limit']['ivr_menus']['numeric'] != '') { + $sql = "select count(*) as num_rows from v_ivr_menus where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + $total_ivr_menus = $row['num_rows']; + } + unset($prep_statement, $row); + if ($total_ivr_menus >= $_SESSION['limit']['ivr_menus']['numeric']) { + $_SESSION['message_mood'] = 'negative'; + $_SESSION['message'] = $text['message-maximum_ivr_menus'].' '.$_SESSION['limit']['ivr_menus']['numeric']; + header('Location: ivr_menus.php'); + return; + } + } + } + //get http post values and set them to php variables if (count($_POST) > 0) { //get ivr menu diff --git a/app/ivr_menu/ivr_menus.php b/app/ivr_menu/ivr_menus.php index abe9dc58d4..180fa65c06 100644 --- a/app/ivr_menu/ivr_menus.php +++ b/app/ivr_menu/ivr_menus.php @@ -76,6 +76,9 @@ else { $ivr->where = $where; $num_rows = $ivr->count(); + //use total ivr menu count from the database + $total_ivr_menus = $num_rows; + //prepare to page the results $rows_per_page = 150; $param = ""; @@ -107,7 +110,9 @@ else { echo th_order_by('ivr_menu_description', $text['label-description'], $order_by[0]['name'], $order_by[0]['order']); echo ""; if (permission_exists('ivr_menu_add')) { - echo "$v_link_label_add"; + if ($_SESSION['limit']['ivr_menus']['numeric'] == '' || ($_SESSION['limit']['ivr_menus']['numeric'] != '' && $total_ivr_menus < $_SESSION['limit']['ivr_menus']['numeric'])) { + echo "".$v_link_label_add.""; + } } echo "\n"; echo "\n"; @@ -151,7 +156,9 @@ else { echo " $paging_controls\n"; echo " "; if (permission_exists('ivr_menu_add')) { - echo "$v_link_label_add"; + if ($_SESSION['limit']['ivr_menus']['numeric'] == '' || ($_SESSION['limit']['ivr_menus']['numeric'] != '' && $total_ivr_menus < $_SESSION['limit']['ivr_menus']['numeric'])) { + echo "".$v_link_label_add.""; + } } echo " \n"; echo " \n"; diff --git a/app/ring_groups/app_languages.php b/app/ring_groups/app_languages.php index 07f9510f2f..aa130c077b 100644 --- a/app/ring_groups/app_languages.php +++ b/app/ring_groups/app_languages.php @@ -414,4 +414,9 @@ $text['button-delete']['pt-pt'] = "Remover"; $text['button-delete']['fr-fr'] = "Supprimer"; -?> + $text['message-maximum_ring_groups']['en-us'] = "Maximum Ring Groups:"; + $text['message-maximum_ring_groups']['es-cl'] = "Grupos máximos Anillo Animales:"; + $text['message-maximum_ring_groups']['pt-pt'] = "Grupos Máximo Anel de Estimação:"; + $text['message-maximum_ring_groups']['fr-fr'] = "Groupes de Sonneries Maximum Autorisé:"; + +?> \ No newline at end of file diff --git a/app/ring_groups/ring_group_edit.php b/app/ring_groups/ring_group_edit.php index 4b8c63ff9e..5d42e6e1a7 100644 --- a/app/ring_groups/ring_group_edit.php +++ b/app/ring_groups/ring_group_edit.php @@ -67,6 +67,26 @@ else { $action = "add"; } +//get total ring group count from the database, check limit, if defined + if ($action == 'add') { + if ($_SESSION['limit']['ring_groups']['numeric'] != '') { + $sql = "select count(*) as num_rows from v_ring_groups where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + $total_ring_groups = $row['num_rows']; + } + unset($prep_statement, $row); + if ($total_ring_groups >= $_SESSION['limit']['ring_groups']['numeric']) { + $_SESSION['message_mood'] = 'negative'; + $_SESSION['message'] = $text['message-maximum_ring_groups'].' '.$_SESSION['limit']['ring_groups']['numeric']; + header('Location: ring_groups.php'); + return; + } + } + } + //get http post variables and set them to php variables if (count($_POST) > 0) { //set variables from http values diff --git a/app/ring_groups/ring_groups.php b/app/ring_groups/ring_groups.php index dd2f30fe30..8451ccea4d 100644 --- a/app/ring_groups/ring_groups.php +++ b/app/ring_groups/ring_groups.php @@ -59,9 +59,17 @@ require_once "resources/paging.php"; echo " \n"; echo "\n"; - //prepare to page the results - $sql = "select count(*) as num_rows from v_ring_groups "; - $sql .= "where domain_uuid = '$domain_uuid' "; + //get total ring group count from the database + $sql = "select count(*) as num_rows from v_ring_groups where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + $total_ring_groups = $row['num_rows']; + } + unset($prep_statement, $row); + + //prepare to page the results (reuse $sql from above) $prep_statement = $db->prepare($sql); if ($prep_statement) { $prep_statement->execute(); @@ -114,7 +122,9 @@ require_once "resources/paging.php"; echo th_order_by('ring_group_description', $text['header-description'], $order_by, $order); echo ""; if (permission_exists('ring_group_add')) { - echo "$v_link_label_add"; + if ($_SESSION['limit']['ring_groups']['numeric'] == '' || ($_SESSION['limit']['ring_groups']['numeric'] != '' && $total_ring_groups < $_SESSION['limit']['ring_groups']['numeric'])) { + echo "".$v_link_label_add.""; + } } echo "\n"; echo "\n"; @@ -160,7 +170,9 @@ require_once "resources/paging.php"; echo " $paging_controls\n"; echo " "; if (permission_exists('ring_group_add')) { - echo "$v_link_label_add"; + if ($_SESSION['limit']['ring_groups']['numeric'] == '' || ($_SESSION['limit']['ring_groups']['numeric'] != '' && $total_ring_groups < $_SESSION['limit']['ring_groups']['numeric'])) { + echo "".$v_link_label_add.""; + } } echo " \n"; echo " \n"; diff --git a/core/users/app_languages.php b/core/users/app_languages.php index 33adae14a7..f50685d5e4 100644 --- a/core/users/app_languages.php +++ b/core/users/app_languages.php @@ -422,5 +422,9 @@ $text['message-cannot_delete_own_account']['pt-pt'] = "Você não pode excluir a sua própria conta de usuário.\\n\\nIdentifique-se como um usuário diferente, em seguida, tente novamente."; $text['message-cannot_delete_own_account']['fr-fr'] = "Vous ne pouvez pas supprimer votre propre compte utilisateur.\\n\\nSe il vous plaît vous identifier en tant qu'utilisateur différent, puis réessayez."; + $text['message-maximum_users']['en-us'] = "Maximum Users:"; + $text['message-maximum_users']['es-cl'] = "Usuarios Máximo Permitido:"; + $text['message-maximum_users']['pt-pt'] = "Usuários Máximo Permitido:"; + $text['message-maximum_users']['fr-fr'] = "Utilisateurs Maximale Autorisée:"; -?> +?> \ No newline at end of file diff --git a/core/users/signup.php b/core/users/signup.php index a39a23cb51..ec7650dab9 100644 --- a/core/users/signup.php +++ b/core/users/signup.php @@ -40,6 +40,24 @@ require_once "resources/require.php"; $language = new text; $text = $language->get(); +//get total user count from the database, check limit, if defined + if ($_SESSION['limit']['users']['numeric'] != '') { + $sql = "select count(*) as num_rows from v_users where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + $total_users = $row['num_rows']; + } + unset($prep_statement, $row); + if ($total_users >= $_SESSION['limit']['users']['numeric']) { + $_SESSION['message_mood'] = 'negative'; + $_SESSION['message'] = $text['message-maximum_users'].' '.$_SESSION['limit']['users']['numeric'] + header('Location: index.php'); + return; + } + } + //get the values from http and set as variables $username = check_str($_POST["username"]); $password = check_str($_POST["password"]); diff --git a/core/users/users.php b/core/users/users.php index 7e286161d4..c6a2e76475 100644 --- a/core/users/users.php +++ b/core/users/users.php @@ -90,9 +90,17 @@ $field_value = $_REQUEST["field_value"]; } unset ($sql, $prep_statement); -//get the users from the database - $sql = "select count(*) as num_rows from v_users "; - $sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' "; +//get total user count from the database + $sql = "select count(*) as num_rows from v_users where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + $total_users = $row['num_rows']; + } + unset($prep_statement, $row); + +//get the users from the database (reuse $sql from above) if (strlen($field_name) > 0 && strlen($field_value) > 0) { $sql .= "and $field_name = '$field_value' "; } @@ -148,7 +156,9 @@ $field_value = $_REQUEST["field_value"]; echo "".$text['label-enabled']."\n"; echo ""; if (permission_exists('user_add')) { - echo "$v_link_label_add"; + if ($_SESSION['limit']['users']['numeric'] == '' || ($_SESSION['limit']['users']['numeric'] != '' && $total_users < $_SESSION['limit']['users']['numeric'])) { + echo "".$v_link_label_add.""; + } } echo "\n"; echo "\n"; @@ -209,7 +219,9 @@ $field_value = $_REQUEST["field_value"]; echo " $paging_controls\n"; echo " "; if (permission_exists('user_add')) { - echo "$v_link_label_add"; + if ($_SESSION['limit']['users']['numeric'] == '' || ($_SESSION['limit']['users']['numeric'] != '' && $total_users < $_SESSION['limit']['users']['numeric'])) { + echo "".$v_link_label_add.""; + } } echo " \n"; echo " \n";