2
0
Эх сурвалжийг харах

Zoiper update (#46)

* Update zoiper.php

Fix paging, add search, update link to open in new browser tab.

* Update app_languages.php
konradSC 8 жил өмнө
parent
commit
f62eb23d55
2 өөрчлөгдсөн 111 нэмэгдсэн , 449 устгасан
  1. 22 372
      zoiper/app_languages.php
  2. 89 77
      zoiper/zoiper.php

+ 22 - 372
zoiper/app_languages.php

@@ -40,269 +40,6 @@ $text['table-description']['sv-se'] = "Beskrivning ";
 $text['table-description']['uk'] = "Опис";
 $text['table-description']['de-at'] = "Beschreibung";
 
-$text['label-select-cid-number']['en-us'] = "Select Caller ID Number";
-$text['label-select-cid-number']['es-cl'] = "Seleccione Llamadas Número de Identificación";
-$text['label-select-cid-number']['pt-pt'] = "Selecione Caller ID Number";
-$text['label-select-cid-number']['fr-fr'] = "Sélectionnez Caller ID Number";
-$text['label-select-cid-number']['pt-br'] = "Selecionar ID da chamada";
-$text['label-select-cid-number']['pl'] = "Ustaw prezentację numeru dzwoniącego";
-$text['label-select-cid-number']['sv-se'] = "Välj Nummerpresentation ";
-$text['label-select-cid-number']['uk'] = "";
-$text['label-select-cid-number']['de-at'] = "Anruferkennung (Nummer) wählen";
-
-$text['label-ring-timeout']['en-us'] = "Timeout";
-$text['label-ring-timeout']['es-cl'] = "Timeout";
-$text['label-ring-timeout']['pt-pt'] = "Timeout";
-$text['label-ring-timeout']['fr-fr'] = "Timeout";
-$text['label-ring-timeout']['pt-br'] = "Tempo limite";
-$text['label-ring-timeout']['pl'] = "Przekroczenie czasu oczekiwania ";
-$text['label-ring-timeout']['sv-se'] = "Tidsgräns ";
-$text['label-ring-timeout']['uk'] = "Таймаут";
-$text['label-ring-timeout']['de-at'] = "Abwurfzeit";
-
-$text['label-ring-order']['en-us'] = "Ring Order";
-$text['label-ring-order']['es-cl'] = "Solicitar Llamado";
-$text['label-ring-order']['pt-pt'] = "Pedir Chamada";
-$text['label-ring-order']['fr-fr'] = "Ordre de sonnerie";
-$text['label-ring-order']['pt-br'] = "Solicitar chamada";
-$text['label-ring-order']['pl'] = "Kolejność dzwonienia";
-$text['label-ring-order']['sv-se'] = "Ring Ordning ";
-$text['label-ring-order']['uk'] = "Послідовність набору";
-$text['label-ring-order']['de-at'] = "Ruf Reihenfolge";
-
-$text['label-ring-delay']['en-us'] = "Delay";
-$text['label-ring-delay']['es-cl'] = "Retardo";
-$text['label-ring-delay']['pt-pt'] = "Atraso";
-$text['label-ring-delay']['fr-fr'] = "Délais";
-$text['label-ring-delay']['pt-br'] = "Delay";
-$text['label-ring-delay']['pl'] = "Opóznienie";
-$text['label-ring-delay']['sv-se'] = "Fördröjning ";
-$text['label-ring-delay']['uk'] = "Затримка";
-$text['label-ring-delay']['de-at'] = "Verzögerung";
-
-$text['label-prompt']['en-us'] = "Prompt to accept the call";
-$text['label-prompt']['es-cl'] = "Preguntar para aceptar una llamada";
-$text['label-prompt']['pt-pt'] = "Perguntar para aceitar a chamada";
-$text['label-prompt']['fr-fr'] = "Annonce pour accepter l'appel";
-$text['label-prompt']['pt-br'] = "Perguntar para aceitar a chamada";
-$text['label-prompt']['pl'] = "Podpowiedz, aby odebrać rozmowę";
-$text['label-prompt']['sv-se'] = "Kräv verifiering för att ta emot samtal. ";
-$text['label-prompt']['uk'] = "";
-$text['label-prompt']['de-at'] = "Ansage um den Anruf anzunehmen";
-
-$text['label-on-busy']['en-us'] = "On Busy";
-$text['label-on-busy']['es-cl'] = "Concurrida";
-$text['label-on-busy']['pt-pt'] = "Movimentado";
-$text['label-on-busy']['fr-fr'] = "Sur Occupé";
-$text['label-on-busy']['it-it'] = "Su occupato";
-$text['label-on-busy']['pt-br'] = "Ocupado";
-$text['label-on-busy']['pl'] = "Kiedy zajęty";
-$text['label-on-busy']['sv-se'] = "Vid Upptaget ";
-$text['label-on-busy']['uk'] = "Якщо зайнято";
-$text['label-on-busy']['de-at'] = "Bei Besetzt";
-
-$text['label-ignore-busy']['en-us'] = "Ignore Busy";
-$text['label-ignore-busy']['es-cl'] = "";
-$text['label-ignore-busy']['pt-pt'] = "";
-$text['label-ignore-busy']['fr-fr'] = "";
-$text['label-ignore-busy']['it-it'] = "";
-$text['label-ignore-busy']['pt-br'] = "";
-$text['label-ignore-busy']['pl'] = "";
-$text['label-ignore-busy']['sv-se'] = "";
-$text['label-ignore-busy']['uk'] = "";
-$text['label-ignore-busy']['de-at'] = "";
-
-$text['label-number']['en-us'] = "Number";
-$text['label-number']['es-cl'] = "Número";
-$text['label-number']['pt-pt'] = "Número";
-$text['label-number']['fr-fr'] = "Numéro";
-$text['label-number']['pt-br'] = "Número";
-$text['label-number']['pl'] = "Numer";
-$text['label-number']['sv-se'] = "Nummer ";
-$text['label-number']['uk'] = "Номер";
-$text['label-number']['de-at'] = "Nummer";
-
-$text['label-no_answer']['en-us'] = "No Answer";
-$text['label-no_answer']['es-cl'] = "Sin Respuesta";
-$text['label-no_answer']['pt-pt'] = "Sem Resposta";
-$text['label-no_answer']['fr-fr'] = "Sans Réponse";
-$text['label-no_answer']['it-it'] = "Senza Risposta";
-$text['label-no_answer']['pt-br'] = "Sem resposta";
-$text['label-no_answer']['pl'] = "Brak odpowiedzi";
-$text['label-no_answer']['sv-se'] = "Inget Svar ";
-$text['label-no_answer']['uk'] = "Без відповіді";
-$text['label-no_answer']['de-at'] = "Keine Antwort";
-
-$text['label-follow-me']['en-us'] = "Follow Me";
-$text['label-follow-me']['es-cl'] = "Sígueme";
-$text['label-follow-me']['pt-pt'] = "Segue-me";
-$text['label-follow-me']['fr-fr'] = "Follow Me";
-$text['label-follow-me']['pt-br'] = "Siga-me";
-$text['label-follow-me']['pl'] = "Podążaj za mną";
-$text['label-follow-me']['sv-se'] = "Följ Mig ";
-$text['label-follow-me']['uk'] = "";
-$text['label-follow-me']['de-at'] = "Follow Me";
-
-$text['label-enabled']['en-us'] = "Enabled";
-$text['label-enabled']['es-cl'] = "Activo";
-$text['label-enabled']['pt-pt'] = "Activo";
-$text['label-enabled']['fr-fr'] = "Activé";
-$text['label-enabled']['pt-br'] = "Habilitado";
-$text['label-enabled']['pl'] = "Włączony";
-$text['label-enabled']['sv-se'] = "Aktiverad ";
-$text['label-enabled']['uk'] = "Включено";
-$text['label-enabled']['de-at'] = "An";
-
-$text['label-enable']['en-us'] = "Enable";
-$text['label-enable']['es-cl'] = "Activar";
-$text['label-enable']['pt-pt'] = "Activar";
-$text['label-enable']['fr-fr'] = "Activer";
-$text['label-enable']['pt-br'] = "Ativar";
-$text['label-enable']['pl'] = "Włącz";
-$text['label-enable']['sv-se'] = "Aktivera ";
-$text['label-enable']['uk'] = "";
-$text['label-enable']['de-at'] = "Aktivieren";
-
-$text['label-dnd']['en-us'] = "Do Not Disturb";
-$text['label-dnd']['es-cl'] = "No Molestar";
-$text['label-dnd']['pt-pt'] = "Não Perturbar";
-$text['label-dnd']['fr-fr'] = "Ne pas déranger";
-$text['label-dnd']['pt-br'] = "Não Pertube";
-$text['label-dnd']['pl'] = "Nie przeszkadzaj (DND)";
-$text['label-dnd']['sv-se'] = "Stör Ej ";
-$text['label-dnd']['uk'] = "Не турбувати";
-$text['label-dnd']['de-at'] = "Bitte nicht stören";
-
-$text['label-disabled']['en-us'] = "Disabled";
-$text['label-disabled']['es-cl'] = "Desactivado";
-$text['label-disabled']['pt-pt'] = "Desactivo";
-$text['label-disabled']['fr-fr'] = "Desactivé";
-$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'] = "Inaktiv";
-
-$text['label-disable']['en-us'] = "Disable";
-$text['label-disable']['es-cl'] = "Desactivar";
-$text['label-disable']['pt-pt'] = "Desactivo";
-$text['label-disable']['fr-fr'] = "Désactiver";
-$text['label-disable']['pt-br'] = "Desativado";
-$text['label-disable']['pl'] = "Wyłącz";
-$text['label-disable']['sv-se'] = "Inaktivera ";
-$text['label-disable']['uk'] = "Відключити";
-$text['label-disable']['de-at'] = "Deaktivieren";
-
-$text['label-destinations']['en-us'] = "Destinations";
-$text['label-destinations']['es-cl'] = "Destinos";
-$text['label-destinations']['fr-fr'] = "Destinations";
-$text['label-destinations']['pt-pt'] = "Destinos";
-$text['label-destinations']['pt-br'] = "Destinos";
-$text['label-destinations']['pl'] = "Destynacje";
-$text['label-destinations']['sv-se'] = "Destinationer ";
-$text['label-destinations']['uk'] = "Номери";
-$text['label-destinations']['de-at'] = "Ziele";
-
-$text['label-destination_timeout']['en-us'] = "Timeout";
-$text['label-destination_timeout']['es-cl'] = "Timeout";
-$text['label-destination_timeout']['fr-fr'] = "Timeout";
-$text['label-destination_timeout']['pt-pt'] = "Timeout";
-$text['label-destination_timeout']['pt-br'] = "Tempo de saída";
-$text['label-destination_timeout']['pl'] = "Limit czasowy";
-$text['label-destination_timeout']['sv-se'] = "Tidsgräns ";
-$text['label-destination_timeout']['uk'] = "Таймаут";
-$text['label-destination_timeout']['de-at'] = "Abwurfzeit";
-
-$text['label-destination_prompt_confirm']['en-us'] = "Confirm";
-$text['label-destination_prompt_confirm']['es-cl'] = "Confirmar";
-$text['label-destination_prompt_confirm']['fr-fr'] = "Confirmer";
-$text['label-destination_prompt_confirm']['pt-pt'] = "Confirmar";
-$text['label-destination_prompt_confirm']['pt-br'] = "Confirmar";
-$text['label-destination_prompt_confirm']['pl'] = "Potwierdź";
-$text['label-destination_prompt_confirm']['sv-se'] = "Bekräfta ";
-$text['label-destination_prompt_confirm']['uk'] = "Підтвердити";
-$text['label-destination_prompt_confirm']['de-at'] = "Bestätigen";
-
-$text['label-destination_prompt_announce']['en-us'] = "Announce";
-$text['label-destination_prompt_announce']['es-cl'] = "Anunciar";
-$text['label-destination_prompt_announce']['fr-fr'] = "Annonce";
-$text['label-destination_prompt_announce']['pt-pt'] = "Anunciar";
-$text['label-destination_prompt_announce']['pt-br'] = "Anunciar";
-$text['label-destination_prompt_announce']['pl'] = "Rozgłoś/powiadom";
-$text['label-destination_prompt_announce']['sv-se'] = "Meddela ";
-$text['label-destination_prompt_announce']['uk'] = "";
-$text['label-destination_prompt_announce']['de-at'] = "Ankündigen";
-
-$text['label-destination_prompt']['en-us'] = "Prompt";
-$text['label-destination_prompt']['es-cl'] = "Prompt";
-$text['label-destination_prompt']['fr-fr'] = "Prompt";
-$text['label-destination_prompt']['pt-pt'] = "Prompt";
-$text['label-destination_prompt']['pt-br'] = "Prompt";
-$text['label-destination_prompt']['pl'] = "Potwierdź aby odebrac rozmowę";
-$text['label-destination_prompt']['sv-se'] = "Verifiering ";
-$text['label-destination_prompt']['uk'] = "";
-$text['label-destination_prompt']['de-at'] = "Nachfragen";
-
-$text['label-destination_number']['en-us'] = "Destination";
-$text['label-destination_number']['es-cl'] = "Destino";
-$text['label-destination_number']['fr-fr'] = "Destination";
-$text['label-destination_number']['pt-pt'] = "Destino";
-$text['label-destination_number']['pt-br'] = "Desvio";
-$text['label-destination_number']['pl'] = "Destynacja";
-$text['label-destination_number']['sv-se'] = "Destination Nummer ";
-$text['label-destination_number']['uk'] = "Номер";
-$text['label-destination_number']['de-at'] = "Ziel";
-
-$text['label-destination_delay']['en-us'] = "Delay";
-$text['label-destination_delay']['es-cl'] = "Retraso";
-$text['label-destination_delay']['fr-fr'] = "Délais";
-$text['label-destination_delay']['pt-pt'] = "Atraso";
-$text['label-destination_delay']['pt-br'] = "Delay";
-$text['label-destination_delay']['pl'] = "Opóźnienie";
-$text['label-destination_delay']['sv-se'] = "Fördröjning ";
-$text['label-destination_delay']['uk'] = "Затримка";
-$text['label-destination_delay']['de-at'] = "Verzögerung";
-
-$text['label-destination']['en-us'] = "Destination";
-$text['label-destination']['es-cl'] = "Destino";
-$text['label-destination']['fr-fr'] = "Destination";
-$text['label-destination']['pt-pt'] = "Destino";
-$text['label-destination']['pt-br'] = "Número de destino";
-$text['label-destination']['pl'] = "Destynacja";
-$text['label-destination']['sv-se'] = "Destination ";
-$text['label-destination']['uk'] = "Номер";
-$text['label-destination']['de-at'] = "Ziel";
-
-$text['label-cid-number-prefix']['en-us'] = "Caller ID Number";
-$text['label-cid-number-prefix']['es-cl'] = "Número de Caller ID";
-$text['label-cid-number-prefix']['pt-pt'] = "Número do Chamador";
-$text['label-cid-number-prefix']['pt-br'] = "Número do discador";
-$text['label-cid-number-prefix']['pl'] = "Prefiks prezentacji numeru dzwoniącego";
-$text['label-cid-number-prefix']['sv-se'] = "Nummerpresentation ";
-$text['label-cid-number-prefix']['uk'] = "Caller ID Номер";
-$text['label-cid-number-prefix']['fr-fr'] = "CID Nombre Préfixe";
-$text['label-cid-number-prefix']['de-at'] = "Anruferkennung (Nummer)";
-
-$text['label-cid-name-prefix']['en-us'] = "Caller ID Name";
-$text['label-cid-name-prefix']['es-cl'] = "Nombre de Caller ID";
-$text['label-cid-name-prefix']['pt-pt'] = "Nome do Chamador";
-$text['label-cid-name-prefix']['fr-fr'] = "Préfixe de l'appelant";
-$text['label-cid-name-prefix']['pt-br'] = "Nome do discador";
-$text['label-cid-name-prefix']['pl'] = "Prefiks prezentacji nazwy dzwoniącego";
-$text['label-cid-name-prefix']['sv-se'] = "Namnpresentation ";
-$text['label-cid-name-prefix']['uk'] = "Caller ID Ім’я";
-$text['label-cid-name-prefix']['de-at'] = "Anruferkennung (Name)";
-
-$text['label-call-prompt']['en-us'] = "Call Prompt";
-$text['label-call-prompt']['es-cl'] = "Aviso de Llamadas";
-$text['label-call-prompt']['pt-pt'] = "Espoletar Chamada";
-$text['label-call-prompt']['fr-fr'] = "Annonce d'appel";
-$text['label-call-prompt']['pt-br'] = "Prompt chamada";
-$text['label-call-prompt']['pl'] = "Potwierdź przed odebraniem rozmowy";
-$text['label-call-prompt']['sv-se'] = "Samtals Verifiering ";
-$text['label-call-prompt']['uk'] = "";
-$text['label-call-prompt']['de-at'] = "Nachfragen";
-
 $text['label-zoiper']['en-us'] = "Zoiper Desktop/Mobile Download";
 $text['label-zoiper']['es-cl'] = "";
 $text['label-zoiper']['pt-pt'] = "";
@@ -313,112 +50,25 @@ $text['label-zoiper']['sv-se'] = "";
 $text['label-zoiper']['uk'] = "";
 $text['label-zoiper']['de-at'] = "";
 
-$text['description']['en-us'] = "Directs incoming calls for extension:";
-$text['description']['es-cl'] = "";
-$text['description']['pt-pt'] = "";
-$text['description']['fr-fr'] = "";
-$text['description']['pt-br'] = "";
-$text['description']['pl'] = "";
-$text['description']['sv-se'] = "";
-$text['description']['uk'] = "";
-$text['description']['de-at'] = "";
-
-$text['confirm-update']['en-us'] = "Update Complete";
-$text['confirm-update']['es-cl'] = "Actualización Completa";
-$text['confirm-update']['pt-pt'] = "Actualização Efectuada";
-$text['confirm-update']['fr-fr'] = "Mis à jour";
-$text['confirm-update']['pt-br'] = "Atualização Efetuada";
-$text['confirm-update']['pl'] = "Aktualizacja zakonczona";
-$text['confirm-update']['sv-se'] = "Uppdatering Klar ";
-$text['confirm-update']['uk'] = "Оновлено";
-$text['confirm-update']['de-at'] = "Aktualisierung durchgeführt";
-
-$text['ckeck-true']['es-cl'] = "Verdadero";
-$text['ckeck-true']['pt-pt'] = "Sim";
-$text['ckeck-true']['fr-fr'] = "Oui";
-$text['ckeck-true']['pt-br'] = "Sim";
-$text['ckeck-true']['pl'] = "";
-$text['ckeck-true']['sv-se'] = "";
-$text['ckeck-true']['uk'] = "";
-$text['ckeck-true']['de-at'] = "";
-
-$text['ckeck-simultaneous']['es-cl'] = "simultaneo";
-$text['ckeck-simultaneous']['pt-pt'] = "simultâneo";
-$text['ckeck-simultaneous']['pt-br'] = "Simultâneo";
-$text['ckeck-simultaneous']['pl'] = "";
-$text['ckeck-simultaneous']['sv-se'] = "";
-$text['ckeck-simultaneous']['uk'] = "";
-$text['ckeck-simultaneous']['fr-fr'] = "";
-$text['ckeck-simultaneous']['de-at'] = "";
-
-$text['ckeck-sequence']['es-cl'] = "secuencia";
-$text['ckeck-sequence']['pt-pt'] = "sequência";
-$text['ckeck-sequence']['pt-br'] = "Sequência";
-$text['ckeck-sequence']['pl'] = "";
-$text['ckeck-sequence']['sv-se'] = "";
-$text['ckeck-sequence']['uk'] = "";
-$text['ckeck-sequence']['fr-fr'] = "";
-$text['ckeck-sequence']['de-at'] = "";
-
-$text['ckeck-false']['es-cl'] = "Falso";
-$text['ckeck-false']['pt-pt'] = "Não";
-$text['ckeck-false']['fr-fr'] = "Non";
-$text['ckeck-false']['pt-br'] = "Não";
-$text['ckeck-false']['pl'] = "";
-$text['ckeck-false']['sv-se'] = "";
-$text['ckeck-false']['uk'] = "";
-$text['ckeck-false']['de-at'] = "";
-
-$text['check-true']['en-us'] = "True";
-$text['check-true']['pt-br'] = "";
-$text['check-true']['pl'] = "Tak";
-$text['check-true']['sv-se'] = "Sann ";
-$text['check-true']['uk'] = "Так";
-$text['check-true']['fr-fr'] = "";
-$text['check-true']['de-at'] = "An";
-
-$text['check-simultaneous']['en-us'] = "simultaneous";
-$text['check-simultaneous']['fr-fr'] = "simultanément";
-$text['check-simultaneous']['pt-br'] = "";
-$text['check-simultaneous']['pl'] = "jednoczesne";
-$text['check-simultaneous']['sv-se'] = "Samtidiga ";
-$text['check-simultaneous']['uk'] = "одночасно";
-$text['check-simultaneous']['de-at'] = "gleichzeitig";
-
-$text['check-sequence']['en-us'] = "sequence";
-$text['check-sequence']['fr-fr'] = "séquence";
-$text['check-sequence']['pt-br'] = "";
-$text['check-sequence']['pl'] = "kolejność";
-$text['check-sequence']['sv-se'] = "sekvens ";
-$text['check-sequence']['uk'] = "послідовно";
-$text['check-sequence']['de-at'] = "sequenziell";
-
-$text['check-false']['en-us'] = "False";
-$text['check-false']['pt-br'] = "";
-$text['check-false']['pl'] = "Nie";
-$text['check-false']['sv-se'] = "Falsk ";
-$text['check-false']['uk'] = "Ні";
-$text['check-false']['fr-fr'] = "";
-$text['check-false']['de-at'] = "Aus";
-
-$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-save']['pt-br'] = "Salvar";
-$text['button-save']['pl'] = "Zachowaj";
-$text['button-save']['sv-se'] = "Spara ";
-$text['button-save']['uk'] = "Зберегти";
-$text['button-save']['de-at'] = "Speichern";
-
-$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-back']['pt-br'] = "Voltar";
-$text['button-back']['pl'] = "Wróć";
-$text['button-back']['sv-se'] = "Tillbaka ";
-$text['button-back']['uk'] = "Назад";
-$text['button-back']['de-at'] = "Zurück";
-
-?>app_languages.php
+$text['description-zoiper']['en-us'] = "Install Zoiper softphone for Windows, Android, iOS, Windows Phone 8, Mac or Linux.";
+$text['description-zoiper']['es-cl'] = "";
+$text['description-zoiper']['pt-pt'] = "";
+$text['description-zoiper']['fr-fr'] = "";
+$text['description-zoiper']['pt-br'] = "";
+$text['description-zoiper']['pl'] = "";
+$text['description-zoiper']['sv-se'] = "";
+$text['description-zoiper']['uk'] = "";
+$text['description-zoiper']['de-at'] = "";
+
+$text['button-search']['en-us'] = "Search";
+$text['button-search']['es-cl'] = "Buscar";
+$text['button-search']['pt-pt'] = "Pesquisar";
+$text['button-search']['fr-fr'] = "Chercher";
+$text['button-search']['pl'] = "Wyszukaj";
+$text['button-search']['uk'] = "Пошук";
+$text['button-search']['sv-se'] = "Sök";
+$text['button-search']['ro'] = "";
+$text['button-search']['de-at'] = "Suchen";
+$text['button-search']['he'] = "חפש";
+$text['button-search']['it-it'] = "Search";
+?>

+ 89 - 77
zoiper/zoiper.php

@@ -23,81 +23,71 @@
 	Contributor(s):
 	Mark J Crane <[email protected]>
 */
-include "root.php";
-require_once "resources/require.php";
-require_once "resources/check_auth.php";
-if (permission_exists('zoiper')) {
-	//access granted
-}
-else {
-	echo "access denied";
-	exit;
-}
 
-//get the https values and set as variables
-	$order_by = check_str($_GET["order_by"]);
-	$order = check_str($_GET["order"]);
+//includes
+	include "root.php";
+	require_once "resources/require.php";
+	require_once "resources/check_auth.php";
+	require_once "resources/paging.php";
+
+//check permissions	
+	if (permission_exists('zoiper')) {
+		//access granted
+	}
+	else {
+		echo "access denied";
+		exit;
+	}
 
 //add multi-lingual support
 	$language = new text;
-	$text = $language->get($_SESSION['domain']['language']['code'], 'app/zoiper');
-
-//begin the content
-	require_once "resources/header.php";
-	require_once "resources/paging.php";
+	$text = $language->get();
+	
+//get the https values and set as variables
+	$order_by = check_str($_GET["order_by"]);
+	$order = check_str($_GET["order"]);
 
-	if ($is_included != "true") {
-		echo "		<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n";
-		echo "		<tr>\n";
-		echo "		<td align='left'><b>".$text['title']."</b><br>\n";
-		echo "			".$text['description-2']."\n";
-		echo "			".$text['description-3']." \n";
-		echo "		</td>\n";
-		echo "		</tr>\n";
-		echo "		</table>\n";
-		echo "		<br />";
+//handle search term
+	$search = check_str($_GET["search"]);
+	if (strlen($search) > 0) {
+		$sql_mod = "and ( ";
+		$sql_mod .= "extension ILIKE '%".$search."%' ";
+		$sql_mod .= "or description ILIKE '%".$search."%' ";
+		$sql_mod .= ") ";
+	}
+	if (strlen($order_by) < 1) {
+		$order_by = "extension";
+		$order = "ASC";
 	}
 
-	$sql = "select * from v_extensions ";
-	$sql .= "where domain_uuid = '$domain_uuid' ";
-	$sql .= "and enabled = 'true' ";
-	if (!(if_group("admin") || if_group("superadmin"))) {
-		if (count($_SESSION['user']['extension']) > 0) {
-			$sql .= "and (";
-			$x = 0;
-			foreach($_SESSION['user']['extension'] as $row) {
-				if ($x > 0) { $sql .= "or "; }
-				$sql .= "extension = '".$row['user']."' ";
-				$x++;
-			}
-			$sql .= ")";
-		}
-		else {
-			//used to hide any results when a user has not been assigned an extension
-			$sql .= "and extension = 'disabled' ";
+//get total extension count from the database
+	$sql = "select count(*) as num_rows from v_extensions where domain_uuid = '".$_SESSION['domain_uuid']."' ".$sql_mod." ";
+	//$sql .= "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'];
+		if (($db_type == "pgsql") or ($db_type == "mysql")) {
+			$numeric_extensions = $row['num_rows'];
 		}
 	}
-	if (strlen($order_by)> 0) {
-		$sql .= "order by $order_by $order ";
-	}
-	else {
-		$sql .= "order by extension asc ";
-	}
-	$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);
+	unset($prep_statement, $row);
+
 
-	$rows_per_page = 150;
-	$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;
+//prepare to page the results
+	$rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50;
+	$param = "&search=".$search."&order_by=".$order_by."&order=".$order;
+	if (!isset($_GET['page'])) { $_GET['page'] = 0; }
+	$_GET['page'] = check_str($_GET['page']);
+	list($paging_controls_mini, $rows_per_page, $var_3) = paging($total_extensions, $param, $rows_per_page, true); //top
+	list($paging_controls, $rows_per_page, $var_3) = paging($total_extensions, $param, $rows_per_page); //bottom
+	$offset = $rows_per_page * $_GET['page'];
 
+//get all the extensions from the database
 	$sql = "select * from v_extensions ";
 	$sql .= "where domain_uuid = '$domain_uuid' ";
+	$sql .= $sql_mod; //add search mod from above	
 	$sql .= "and enabled = 'true' ";
 	if (!(if_group("admin") || if_group("superadmin"))) {
 		if (count($_SESSION['user']['extension']) > 0) {
@@ -132,21 +122,51 @@ else {
 	$row_style["0"] = "row_style0";
 	$row_style["1"] = "row_style1";
 
+//begin the content
+	require_once "resources/header.php";
+	echo "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n";
+	echo "  <tr>\n";
+	echo "	<td align='left' width='100%'>\n";
+	echo "		<b>".$text['title']."</b><br>\n";
+	echo "	</td>\n";
+	echo "		<td align='right' width='100%' style='vertical-align: top;'>";
+	if ((if_group("admin") || if_group("superadmin"))) {
+		echo "		<form method='get' action=''>\n";
+		echo "			<td style='vertical-align: top; text-align: right; white-space: nowrap;'>\n";
+		echo "				<input type='text' class='txt' style='width: 150px' name='search' id='search' value='".$search."'>";
+		echo "				<input type='submit' class='btn' name='submit' value='".$text['button-search']."'>";
+		if ($paging_controls_mini != '') {
+			echo 			"<span style='margin-left: 15px;'>".$paging_controls_mini."</span>\n";
+		}
+		echo "			</td>\n";
+		echo "			</td>\n";
+		echo "		</form>\n";	
+	}
+	echo "  </tr>\n";
+
+	echo "	<tr>\n";
+	echo "		<td colspan='2'>\n";
+	echo "			".$text['description-zoiper']."\n";
+	echo "		</td>\n";
+	echo "	</tr>\n";
+	echo "</table>\n";
+	echo "<br>";
+	
 	echo "<table class='tr_hover' width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
 	echo "<tr>\n";
-	echo "<th>".$text['table-extension']."</th>\n";
+	echo th_order_by('extension', $text['table-extension'], $order_by,$order);
 	echo "<th>".$text['table-tools']."</th>\n";
-	echo "<th>".$text['table-description']."</th>\n";
+	echo th_order_by('description', $text['table-description'], $order_by, $order);
 	echo "</tr>\n";
 
 	if ($result_count > 0) {
 		foreach($result as $row) {
 			$tr_url = "https://www.zoiper.com/en/page/" . $_SESSION['zoiper']['page_id']['text'] . "?u=" . $row['extension'] . "&h=" . $row['user_context'] . "&p=" . $row['password'] . "&o=&t=&x=&a=" . $row['extension'] . "&tr=";
 			$tr_link = (permission_exists('zoiper')) ? "href='".$tr_url."'" : null;
-			echo "<tr ".$tr_link.">\n";
+			echo "<tr>\n";
 			echo "	<td valign='top' class='".$row_style[$c]."'>".$row['extension']."</td>\n";
 			echo "	<td valign='top' class='".$row_style[$c]."'>\n";
-			if (permission_exists('zoiper')) { 	echo "<a href='".$tr_url."'>" . $text['label-zoiper'] . "</a>&nbsp;&nbsp;&nbsp;"; }
+			if (permission_exists('zoiper')) { 	echo "<a href='".$tr_url."' target='_blank'>" . $text['label-zoiper'] . "</a>&nbsp;&nbsp;&nbsp;"; }
 			echo "	</td>\n";
 			echo "	<td valign='top' class='row_stylebg' width='40%'>".$row['description']."&nbsp;</td>\n";
 			echo "</tr>\n";
@@ -155,19 +175,11 @@ else {
 		unset($sql, $result, $row_count);
 	} //end if results
 
+	echo "</table>";
 	if (strlen($paging_controls) > 0) {
-		echo "<tr>\n";
-		echo "<td colspan='5' align='left'>\n";
-		echo "	<table border='0' width='100%' cellpadding='0' cellspacing='0'>\n";
-		echo "	<tr>\n";
-		echo "		<td width='33.3%' nowrap>&nbsp;</td>\n";
-		echo "		<td width='33.3%' align='center' nowrap>$paging_controls</td>\n";
-		echo "	</tr>\n";
-		echo "	</table>\n";
-		echo "</td>\n";
-		echo "</tr>\n";
+		echo "<br />";
+		echo $paging_controls."\n";
 	}
-	echo "</table>";
 	echo "<br><br>";
 
 	if ($is_included != "true") {