From 6d15cd4fca867996de6d588d4a53e0118dbbc752 Mon Sep 17 00:00:00 2001 From: Alexey Melnichuk Date: Thu, 2 Jul 2015 11:39:48 +0400 Subject: [PATCH 01/60] Use long string syntax to generate `config.lua` file. Close #1006 --- core/databases/app_defaults.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/core/databases/app_defaults.php b/core/databases/app_defaults.php index 3a19a770ab..b94e4f3ba9 100644 --- a/core/databases/app_defaults.php +++ b/core/databases/app_defaults.php @@ -114,28 +114,28 @@ if ($domains_processed == 1) { $tmp = "\n"; $tmp .= "--set the variables\n"; if (strlen($_SESSION['switch']['sounds']['dir']) > 0) { - $tmp .= " sounds_dir = \"".$_SESSION['switch']['sounds']['dir']."\";\n"; + $tmp .= " sounds_dir = [[".$_SESSION['switch']['sounds']['dir']."]];\n"; } if (strlen($_SESSION['switch']['db']['dir']) > 0) { - $tmp .= " database_dir = \"".$_SESSION['switch']['db']['dir']."\";\n"; + $tmp .= " database_dir = [[".$_SESSION['switch']['db']['dir']."]];\n"; } if (strlen($_SESSION['switch']['recordings']['dir']) > 0) { - $tmp .= " recordings_dir = \"".$recordings_dir."\";\n"; + $tmp .= " recordings_dir = [[".$recordings_dir."]];\n"; } if (strlen($_SESSION['switch']['storage']['dir']) > 0) { - $tmp .= " storage_dir = \"".$_SESSION['switch']['storage']['dir']."\";\n"; + $tmp .= " storage_dir = [[".$_SESSION['switch']['storage']['dir']."]];\n"; } if (strlen($_SESSION['switch']['voicemail']['dir']) > 0) { - $tmp .= " voicemail_dir = \"".$_SESSION['switch']['voicemail']['dir']."\";\n"; + $tmp .= " voicemail_dir = [[".$_SESSION['switch']['voicemail']['dir']."]];\n"; } - $tmp .= " php_dir = \"".PHP_BINDIR."\";\n"; + $tmp .= " php_dir = [[".PHP_BINDIR."]];\n"; if (substr(strtoupper(PHP_OS), 0, 3) == "WIN") { $tmp .= " php_bin = \"php.exe\";\n"; } else { $tmp .= " php_bin = \"php\";\n"; } - $tmp .= " document_root = \"".$_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."\";\n"; + $tmp .= " document_root = [[".$_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."]];\n"; $tmp .= "\n"; $tmp .= "--database information\n"; $tmp .= " database = {}\n"; @@ -166,7 +166,7 @@ if ($domains_processed == 1) { $tmp .= "\n"; $tmp .= "--additional info\n"; $tmp .= " domain_count = ".count($_SESSION["domains"]).";\n"; - $tmp .= " temp_dir = \"".$_SESSION['server']['temp']['dir']."\";\n"; + $tmp .= " temp_dir = [[".$_SESSION['server']['temp']['dir']."]];\n"; if (isset($_SESSION['domain']['dial_string']['text'])) { $tmp .= " dial_string = \"".$_SESSION['domain']['dial_string']['text']."\";\n"; } From d1edcbd2c52db515f625065d360c22228881927f Mon Sep 17 00:00:00 2001 From: Alexey Melnichuk Date: Thu, 2 Jul 2015 12:09:09 +0400 Subject: [PATCH 02/60] Disable of sip profile does not work Close #1008 --- app/sip_profiles/sip_profile_edit.php | 6 ++++++ resources/switch.php | 26 +++++++++++++++++++------- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/app/sip_profiles/sip_profile_edit.php b/app/sip_profiles/sip_profile_edit.php index 7d4cc01e49..9d9dbfdeea 100644 --- a/app/sip_profiles/sip_profile_edit.php +++ b/app/sip_profiles/sip_profile_edit.php @@ -161,6 +161,12 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { //redirect the browser $_SESSION["message"] = $text['message-update']; header("Location: sip_profiles.php"); + + //save the sip profile xml + save_sip_profile_xml(); + //apply settings reminder + $_SESSION["reload_xml"] = true; + return; } //if ($_POST["persistformvar"] != "true") } //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) diff --git a/resources/switch.php b/resources/switch.php index 1919eb77c0..8b2592cba8 100644 --- a/resources/switch.php +++ b/resources/switch.php @@ -2547,12 +2547,15 @@ if (!function_exists('save_sip_profile_xml')) { return; } + // make profile dir if needed + $profile_dir = $_SESSION['switch']['conf']['dir']."/sip_profiles"; + if (!is_readable($profile_dir)) { mkdir($profile_dir,0775,true); } + //get the global variables global $db, $domain_uuid; //get the sip profiles from the database - $sql = "select * from v_sip_profiles "; - $sql .= "where sip_profile_enabled = 'true' "; + $sql = "select * from v_sip_profiles"; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(); @@ -2560,8 +2563,17 @@ if (!function_exists('save_sip_profile_xml')) { unset ($prep_statement, $sql); if ($result_count > 0) { foreach($result as $row) { - $sip_profile_uuid = $row['sip_profile_uuid']; - $sip_profile_name = $row['sip_profile_name']; + $sip_profile_uuid = $row['sip_profile_uuid']; + $sip_profile_name = $row['sip_profile_name']; + $sip_profile_enabled = $row['sip_profile_enabled']; + + if ($sip_profile_enabled == 'false') { + $fout = fopen($profile_dir.'/'.$sip_profile_name.".xml","w"); + if ($fout) { + fclose($fout); + } + continue; + } //get the xml sip profile template if ($sip_profile_name == "internal" || $sip_profile_name == "external" || $sip_profile_name == "internal-ipv6") { @@ -2589,14 +2601,14 @@ if (!function_exists('save_sip_profile_xml')) { $file_contents = str_replace("{v_sip_profile_settings}", $sip_profile_settings, $file_contents); //write the XML config file - if (is_readable($_SESSION['switch']['conf']['dir']."/sip_profiles/")) { - $fout = fopen($_SESSION['switch']['conf']['dir']."/sip_profiles/".$sip_profile_name.".xml","w"); + if (is_readable($profile_dir.'/')) { + $fout = fopen($profile_dir.'/'.$sip_profile_name.".xml","w"); fwrite($fout, $file_contents); fclose($fout); } //if the directory does not exist then create it - if (!is_readable($_SESSION['switch']['conf']['dir']."/sip_profiles/".$sip_profile_name)) { mkdir($_SESSION['switch']['conf']['dir']."/sip_profiles/".$sip_profile_name,0775,true); } + if (!is_readable($profile_dir.'/'.$sip_profile_name)) { mkdir($profile_dir.'/'.$sip_profile_name,0775,true); } } //end foreach unset($sql, $result, $row_count); From d05d2942259c6c99494097d889bb2d7a9933a738 Mon Sep 17 00:00:00 2001 From: Alexey Melnichuk Date: Thu, 2 Jul 2015 12:21:53 +0400 Subject: [PATCH 03/60] Add. Allow edit domain name while installing. On my Windows machine default domain now is `127.0.0.1` which is quite useless. --- resources/install.php | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/resources/install.php b/resources/install.php index c677a87e7a..b5f1a4826b 100644 --- a/resources/install.php +++ b/resources/install.php @@ -47,17 +47,10 @@ require_once "resources/functions.php"; //set the default time zone date_default_timezone_set('UTC'); -//get the domain - $domain_array = explode(":", $_SERVER["HTTP_HOST"]); - $domain_name = $domain_array[0]; - //if the config file exists then disable the install page $config_exists = false; if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/resources/config.php")) { $config_exists = true; - } elseif (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/resources/config.php")) { - //original directory - $config_exists = true; } elseif (file_exists("/etc/fusionpbx/config.php")) { //linux $config_exists = true; @@ -86,6 +79,7 @@ require_once "resources/functions.php"; $db_host = $_POST["db_host"]; $db_port = $_POST["db_port"]; $db_name = $_POST["db_name"]; + $domain_name = $_POST["domain_name"]; $db_username = $_POST["db_username"]; $db_password = $_POST["db_password"]; $db_create_username = $_POST["db_create_username"]; @@ -98,6 +92,12 @@ require_once "resources/functions.php"; $install_default_country = $_POST["install_default_country"]; $install_template_name = $_POST["install_template_name"]; + if(!$domain_name){ + //get the domain + $domain_array = explode(":", $_SERVER["HTTP_HOST"]); + $domain_name = $domain_array[0]; + } + //clean up the values if (strlen($install_switch_base_dir) > 0) { $install_switch_base_dir = realpath($install_switch_base_dir); @@ -813,7 +813,7 @@ if ($_POST["install_step"] == "3" && count($_POST) > 0 && strlen($_POST["persist else { $filename = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/sql/mysql.sql'; } - $file_contents = file_get_contents($filename); + $file_contents = file_get_contents($filename); //replace \r\n with \n then explode on \n $file_contents = str_replace("\r\n", "\n", $file_contents); @@ -1231,7 +1231,7 @@ if ($_POST["install_step"] == "3" && count($_POST) > 0 && strlen($_POST["persist $sql .= "'$menu_description' "; $sql .= ");"; if ($v_debug) { - fwrite($fp, $sql."\n"); + fwrite($fp, $sql."\n"); } $db->exec(check_sql($sql)); unset($sql); @@ -1244,7 +1244,7 @@ if ($_POST["install_step"] == "3" && count($_POST) > 0 && strlen($_POST["persist $menu->restore(); unset($menu); - //setup the switch config directory if it exists + //setup the switch config directory if it exists if (file_exists($switch_conf_dir) && $switch_conf_dir != "/conf") { if ($v_debug) { fwrite($fp, "switch_base_dir: ".$install_switch_base_dir."\n"); @@ -1764,6 +1764,17 @@ EOL; echo " \n"; echo " \n"; + echo "\n"; + echo "\n"; + echo " Domain name\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo " Enter the default domain name. \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo " \n"; echo " \n"; echo " \n"; @@ -1816,6 +1827,7 @@ EOL; echo " \n"; echo " \n"; echo " \n"; + echo " \n"; echo " \n"; echo " \n"; echo " \n"; @@ -1931,6 +1943,7 @@ EOL; echo " \n"; echo " \n"; echo " \n"; + echo " \n"; echo " \n"; echo " \n"; echo " \n"; @@ -2044,6 +2057,7 @@ EOL; echo " \n"; echo " \n"; echo " \n"; + echo " \n"; echo " \n"; echo " \n"; echo " \n"; From d61f2b281714367d1ade7a3786211da3acb50416 Mon Sep 17 00:00:00 2001 From: Alexey Melnichuk Date: Thu, 2 Jul 2015 12:24:58 +0400 Subject: [PATCH 04/60] Fix. indent. --- resources/install.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/install.php b/resources/install.php index b5f1a4826b..569128b763 100644 --- a/resources/install.php +++ b/resources/install.php @@ -1231,12 +1231,12 @@ if ($_POST["install_step"] == "3" && count($_POST) > 0 && strlen($_POST["persist $sql .= "'$menu_description' "; $sql .= ");"; if ($v_debug) { - fwrite($fp, $sql."\n"); + fwrite($fp, $sql."\n"); } $db->exec(check_sql($sql)); unset($sql); - //add the menu items + //add the menu items require_once "resources/classes/menu.php"; $menu = new menu; $menu->db = $db; @@ -1244,7 +1244,7 @@ if ($_POST["install_step"] == "3" && count($_POST) > 0 && strlen($_POST["persist $menu->restore(); unset($menu); - //setup the switch config directory if it exists + //setup the switch config directory if it exists if (file_exists($switch_conf_dir) && $switch_conf_dir != "/conf") { if ($v_debug) { fwrite($fp, "switch_base_dir: ".$install_switch_base_dir."\n"); From 5ea2c0e964543a27ec5965feb840f8ce27b488dc Mon Sep 17 00:00:00 2001 From: Alexey Melnichuk Date: Thu, 2 Jul 2015 12:35:34 +0400 Subject: [PATCH 05/60] Remove using `feature` context. Default dilplan context contains all needed extension to does not use `feature` context. --- .../resources/switch/conf/dialplan/380_hold_music.xml | 4 ++-- app/dialplan/resources/switch/conf/dialplan/480_operator.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/dialplan/resources/switch/conf/dialplan/380_hold_music.xml b/app/dialplan/resources/switch/conf/dialplan/380_hold_music.xml index 53b5d2ea86..b0e271bbdc 100644 --- a/app/dialplan/resources/switch/conf/dialplan/380_hold_music.xml +++ b/app/dialplan/resources/switch/conf/dialplan/380_hold_music.xml @@ -3,12 +3,12 @@ - + - + diff --git a/app/dialplan/resources/switch/conf/dialplan/480_operator.xml b/app/dialplan/resources/switch/conf/dialplan/480_operator.xml index ba3796c6e4..2d2c3177b2 100644 --- a/app/dialplan/resources/switch/conf/dialplan/480_operator.xml +++ b/app/dialplan/resources/switch/conf/dialplan/480_operator.xml @@ -2,8 +2,8 @@ - - + + From 1764700fd708d88ed342fa680f3477ae59beaf1b Mon Sep 17 00:00:00 2001 From: Alexey Melnichuk Date: Thu, 2 Jul 2015 19:08:48 +0400 Subject: [PATCH 06/60] Fix. Escape `<>` in all fields in CDR xml. When using redirect cdr also can contain e.g. `sip_redirect_contact_0` / `sip_redirected_to`. I use `preg_replace_callback` to proceed all fields. May be it more correct use urlencode because if we get xml with non UTF8 char we lost CDR. ```php $xml_string = preg_replace_callback("/<([^><]+)>(.*?)<\/\g1>/", function ($matches) { // var_dump($matches); return '<' . $matches[1] . '>' . urlencode($matches[2]). ''; }, $xml_string ); ``` --- app/xml_cdr/v_xml_cdr_import.php | 71 +++++++++++++++----------------- 1 file changed, 33 insertions(+), 38 deletions(-) diff --git a/app/xml_cdr/v_xml_cdr_import.php b/app/xml_cdr/v_xml_cdr_import.php index 90231c1460..0d23e5f216 100644 --- a/app/xml_cdr/v_xml_cdr_import.php +++ b/app/xml_cdr/v_xml_cdr_import.php @@ -48,6 +48,19 @@ $insert_time=$insert_count=0; } + function xml_cdr_log($msg) { + global $debug; + if (!$debug) { + return; + } + $fp = fopen($_SESSION['server']['temp']['dir'].'/xml_cdr.log', 'a+'); + if (!$fp) { + return; + } + fwrite($fp, $msg); + fclose($fp); + } + //increase limits set_time_limit(3600); ini_set('memory_limit', '256M'); @@ -66,48 +79,28 @@ //set global variable global $debug; - //fix the xml by escaping the contents of - preg_match("/(.*)<\/sip_full_from>/", $xml_string, $matches); - $match_result = str_replace("<", "<", $matches[1]); - $match_result = str_replace(">", ">", $match_result); - $xml_string = str_replace($matches[1], $match_result, $xml_string); - - //fix the xml by escaping the contents of - preg_match("/(.*)<\/sip_full_to>/", $xml_string, $matches); - $match_result = str_replace("<", "<", $matches[1]); - $match_result = str_replace(">", ">", $match_result); - $xml_string = str_replace($matches[1], $match_result, $xml_string); - - //fix the xml by escaping the contents of - preg_match("/(.*)<\/caller_id>/", $xml_string, $matches); - $match_result = str_replace("<", "<", $matches[1]); - $match_result = str_replace(">", ">", $match_result); - $xml_string = str_replace($matches[1], $match_result, $xml_string); - - //fix the xml by escaping the contents of - preg_match("/(.*)<\/sip_invite_record_route>/", $xml_string, $matches); - $match_result = str_replace("<", "<", $matches[1]); - $match_result = str_replace(">", ">", $match_result); - $xml_string = str_replace($matches[1], $match_result, $xml_string); - - //fix the xml by escaping the contents of - preg_match("/(.*)<\/sip_Remote-Party-ID>/", $xml_string, $matches); - $match_result = str_replace("<", "<", $matches[1]); - $match_result = str_replace(">", ">", $match_result); - $xml_string = str_replace($matches[1], $match_result, $xml_string); - - //fix the xml by escaping the contents of - preg_match("/(.*)<\/sip_P-Preferred-Identity>/", $xml_string, $matches); - $match_result = str_replace("<", "<", $matches[1]); - $match_result = str_replace(">", ">", $match_result); - $xml_string = str_replace($matches[1], $match_result, $xml_string); + //fix the xml by escaping the contents of + $xml_string = preg_replace_callback("/<([^><]+)>(.*[><].*)<\/\g1>/", + function ($matches) { + var_dump($matches); + return '<' . $matches[1] . '>' . + str_replace(">", ">", + str_replace("<", "<", $matches[2]) + ) . + ''; + }, + $xml_string + ); //parse the xml to get the call detail record info try { + xml_cdr_log($xml_string); $xml = simplexml_load_string($xml_string); + xml_cdr_log("\nxml load done\n"); } catch(Exception $e) { echo $e->getMessage(); + xml_cdr_log("\nfail loadxml: " . $e->getMessage() . "\n"); } //prepare the database object @@ -200,6 +193,8 @@ $domain_name = check_str(urldecode($xml->variables->domain_name)); $domain_uuid = check_str(urldecode($xml->variables->domain_uuid)); + xml_cdr_log("\ndomain_name is `$domain_name`; domain_uuid is '$domain_uuid'\n"); + //get the domain_uuid with the domain_name if (strlen($domain_uuid) == 0) { $sql = "select domain_uuid from v_domains "; @@ -500,6 +495,7 @@ if ($debug){ print_r ($_POST["cdr"]); } + //authentication for xml cdr http post if ($_SESSION["cdr"]["http_enabled"]["boolean"] == "true" && strlen($_SESSION["xml_cdr"]["username"]) == 0) { //get the contents of xml_cdr.conf.xml @@ -558,6 +554,7 @@ $leg = "b"; } + xml_cdr_log("process cdr via post\n"); //parse the xml and insert the data into the db process_xml_cdr($db, $leg, $xml_string); } @@ -598,9 +595,7 @@ ob_end_clean(); //clean the buffer $time = "\n\n$insert_count inserts in: ".number_format($insert_time,5). " seconds.\n"; $time .= "Other processing time: ".number_format((microtime(true)-$time5-$insert_time),5). " seconds.\n"; - $fp = fopen($_SESSION['server']['temp']['dir'].'/xml_cdr.log', 'w'); - fwrite($fp, $content.$time); - fclose($fp); + xml_cdr_log($content.$time); } ?> From d7a1829d321dfcf9e42c617c7e48e83b9f988645 Mon Sep 17 00:00:00 2001 From: Alexey Melnichuk Date: Thu, 2 Jul 2015 19:12:12 +0400 Subject: [PATCH 07/60] Use non greedy match. --- app/xml_cdr/v_xml_cdr_import.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/xml_cdr/v_xml_cdr_import.php b/app/xml_cdr/v_xml_cdr_import.php index 0d23e5f216..197d312ad9 100644 --- a/app/xml_cdr/v_xml_cdr_import.php +++ b/app/xml_cdr/v_xml_cdr_import.php @@ -80,7 +80,7 @@ global $debug; //fix the xml by escaping the contents of - $xml_string = preg_replace_callback("/<([^><]+)>(.*[><].*)<\/\g1>/", + $xml_string = preg_replace_callback("/<([^><]+)>(.*?[><].*?)<\/\g1>/", function ($matches) { var_dump($matches); return '<' . $matches[1] . '>' . From 5d1bae2796dc3e78bba683eaf17568dcad0ae848 Mon Sep 17 00:00:00 2001 From: reliberate Date: Thu, 2 Jul 2015 15:42:09 -0600 Subject: [PATCH 08/60] Test commit. --- root.php | 1 + 1 file changed, 1 insertion(+) diff --git a/root.php b/root.php index 7b882438ea..b825dd70ac 100644 --- a/root.php +++ b/root.php @@ -47,4 +47,5 @@ set_include_path( get_include_path() . PATH_SEPARATOR . $_SERVER['DOCUMENT_ROOT'] ); } +// test ?> \ No newline at end of file From 8f4c65a6873de5ad0b0df7b34ae73c482d80380c Mon Sep 17 00:00:00 2001 From: reliberate Date: Thu, 2 Jul 2015 15:42:09 -0600 Subject: [PATCH 09/60] Undo: Test commit. --- root.php | 1 - 1 file changed, 1 deletion(-) diff --git a/root.php b/root.php index 7b882438ea..1a5f3c18d3 100644 --- a/root.php +++ b/root.php @@ -46,5 +46,4 @@ if(!defined('PROJECT_PATH')) { define('PROJECT_PATH', ''); } set_include_path( get_include_path() . PATH_SEPARATOR . $_SERVER['DOCUMENT_ROOT'] ); } - ?> \ No newline at end of file From 7eb2b596d08a264b5ac9fdf7afef11f5c24535ca Mon Sep 17 00:00:00 2001 From: reliberate Date: Thu, 2 Jul 2015 16:24:01 -0600 Subject: [PATCH 10/60] Undo: Commit test. --- root.php | 1 - 1 file changed, 1 deletion(-) diff --git a/root.php b/root.php index b825dd70ac..7b882438ea 100644 --- a/root.php +++ b/root.php @@ -47,5 +47,4 @@ set_include_path( get_include_path() . PATH_SEPARATOR . $_SERVER['DOCUMENT_ROOT'] ); } -// test ?> \ No newline at end of file From 64a05826bc36d8ad090d2d5f724011ecb859eba2 Mon Sep 17 00:00:00 2001 From: Rich Breton Date: Thu, 2 Jul 2015 16:29:20 -0600 Subject: [PATCH 11/60] initial commit of README for GitHub --- README.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000000..05f5e08ca2 --- /dev/null +++ b/README.md @@ -0,0 +1,52 @@ +[FusionPBX](http://fusionpbx.com/) — A Full-Featured Multi-Tenant GUI for [FreeSwitch](http://freeswitch.org) +================================================== + +FusionPBX Guides +-------------------------------------- + +Our move to git is very much a work in progress but we are working hard to complete everything. + +1. [Documentation](http://fusionpbx-docs.readthedocs.org/en/latest/) COMING SOON +2. [How to Contribute](http://fusionpbx.com) COMING SOON + + +Software Requirements +-------------------------------------- + +- [Debian Jessie](http://cdimage.debian.org/debian-cd/8.1.0/amd64/iso-cd/debian-8.1.0-amd64-netinst.iso) - Recommended +This is the distribution recommended by the FreeSwitch team +- Fusion will also install on Debian Wheezy, Ubuntu 10.10 LTS and is known to work on FreeBSD +- [FusionPBX Installer](http://fusionpbx.com) + + +Community +-------------------------------------- + +We have a pretty thriving community if you know how to get to us: + +- [IRC](http://webchat.freenode.net/) in the fusionpbx channel +- [Twitter](http://twitter.com/fusionpbx) +- [Website](http://fusionpbx.com) + + +###How to Install FusionPBX COMING SOON +---------------------------- +```bash +cd /usr/src +``` +```bash +apt-get install wget +``` +```bash +wget http://COMINGSOON/fusionpbx/fusionpbx-scripts/install/ubuntu/install_fusionpbx.sh +``` +```bash +chmod 755 install_fusionpbx.sh +``` +```bash +./install_fusionpbx.sh install-both user +``` + +Installation Questions: +- During the install it will ask you to press continue after verifying that the command ran successfully this is usually the case so you can simply tell it to continue. The install also asks several questions. +- Unless you have a reason to choose otherwise PostgreSQL and Nginx is probably your best path and is recommended by the developers of FusionPBX From e24526fb923846233e75775b6cb12dbd64352d13 Mon Sep 17 00:00:00 2001 From: reliberate Date: Thu, 2 Jul 2015 17:25:41 -0600 Subject: [PATCH 12/60] Upgrade: Converted Advanced > Upgrade to use Git instead of SVN (untested). Misc: Added provisions elsewhere to account for .git/* files, as currently done with .svn/* files. --- app/edit/filelist.php | 9 +- app/provision/resources/classes/provision.php | 5 +- .../default_settings/default_setting_edit.php | 2 +- core/domain_settings/domain_setting_edit.php | 2 +- core/upgrade/app_config.php | 2 +- core/upgrade/app_languages.php | 108 +++++++++--------- core/upgrade/index.php | 45 ++++---- core/upgrade/upgrade.php | 2 +- resources/functions.php | 5 +- resources/install.php | 2 +- .../smarty_internal_cacheresource_file.php | 2 +- .../sysplugins/smarty_internal_utility.php | 7 +- themes/default/template.php | 5 +- 13 files changed, 100 insertions(+), 96 deletions(-) diff --git a/app/edit/filelist.php b/app/edit/filelist.php index 4b9dde2da0..619a17ed5b 100644 --- a/app/edit/filelist.php +++ b/app/edit/filelist.php @@ -55,12 +55,13 @@ else { $htmlfilelist = ''; $dirlist = opendir($dir); $dir_array = array(); - while (false !== ($file = readdir($dirlist))) { + while (false !== ($file = readdir($dirlist))) { if ($file != "." AND $file != ".."){ $newpath = $dir.'/'.$file; $level = explode('/',$newpath); - if (substr($newpath, -4) == ".svn") { - //ignore .svn dir and subdir + if (substr($newpath, -4) == ".svn" || + substr($newpath, -4) == ".git") { + //ignore .svn and .git dir and subdir } elseif (substr($newpath, -3) == ".db") { //ignore .db files @@ -243,7 +244,7 @@ if ($_SESSION["app"]["edit"]["dir"] == "grammar") { echo recur_dir($_SESSION['switch']['grammar']['dir']); } if ($_SESSION["app"]["edit"]["dir"] == "provision") { - + switch (PHP_OS) { case "Linux": if (file_exists('/etc/fusionpbx/resources/templates/provision')) { diff --git a/app/provision/resources/classes/provision.php b/app/provision/resources/classes/provision.php index cfc27e55e9..cacdc02a71 100644 --- a/app/provision/resources/classes/provision.php +++ b/app/provision/resources/classes/provision.php @@ -793,8 +793,9 @@ include "root.php"; if ($file != "." AND $file != ".."){ $new_path = $dir.'/'.$file; $level = explode('/',$new_path); - if (substr($new_path, -4) == ".svn") { - //ignore .svn dir and subdir + if (substr($new_path, -4) == ".svn" || + substr($new_path, -4) == ".git") { + //ignore .svn and .git dir and subdir } elseif (substr($new_path, -3) == ".db") { //ignore .db files diff --git a/core/default_settings/default_setting_edit.php b/core/default_settings/default_setting_edit.php index 1c6c3be664..c7d6b4b27f 100644 --- a/core/default_settings/default_setting_edit.php +++ b/core/default_settings/default_setting_edit.php @@ -297,7 +297,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { $theme_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes'; if ($handle = opendir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes')) { while (false !== ($dir_name = readdir($handle))) { - if ($dir_name != "." && $dir_name != ".." && $dir_name != ".svn" && is_dir($theme_dir.'/'.$dir_name)) { + if ($dir_name != "." && $dir_name != ".." && $dir_name != ".svn" && $dir_name != ".git" && is_dir($theme_dir.'/'.$dir_name)) { $dir_label = str_replace('_', ' ', $dir_name); $dir_label = str_replace('-', ' ', $dir_label); if ($dir_name == $default_setting_value) { diff --git a/core/domain_settings/domain_setting_edit.php b/core/domain_settings/domain_setting_edit.php index c89ce615a7..d3d07bbf39 100644 --- a/core/domain_settings/domain_setting_edit.php +++ b/core/domain_settings/domain_setting_edit.php @@ -362,7 +362,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { $theme_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes'; if ($handle = opendir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes')) { while (false !== ($dir_name = readdir($handle))) { - if ($dir_name != "." && $dir_name != ".." && $dir_name != ".svn" && is_dir($theme_dir.'/'.$dir_name)) { + if ($dir_name != "." && $dir_name != ".." && $dir_name != ".svn" && $dir_name != ".git" && is_dir($theme_dir.'/'.$dir_name)) { $dir_label = str_replace('_', ' ', $dir_name); $dir_label = str_replace('-', ' ', $dir_label); if ($dir_name == $row['domain_setting_value']) { diff --git a/core/upgrade/app_config.php b/core/upgrade/app_config.php index c244ef1a27..effd5308f4 100644 --- a/core/upgrade/app_config.php +++ b/core/upgrade/app_config.php @@ -20,7 +20,7 @@ //permission details $y = 0; - $apps[$x]['permissions'][$y]['name'] = "upgrade_svn"; + $apps[$x]['permissions'][$y]['name'] = "upgrade_source"; $apps[$x]['permissions'][$y]['menu']['uuid'] = "71051909-81ff-4301-9997-52b11206b3a6"; $apps[$x]['permissions'][$y]['groups'][] = "superadmin"; $y++; diff --git a/core/upgrade/app_languages.php b/core/upgrade/app_languages.php index af9ec7ed4e..b7d735eced 100644 --- a/core/upgrade/app_languages.php +++ b/core/upgrade/app_languages.php @@ -40,35 +40,35 @@ $text['option-false']['sv-se'] = "Falsk"; $text['option-false']['uk'] = "Ні"; $text['option-false']['de-at'] = "Aus"; -$text['message-upgrade_svn_scripts']['en-us'] = "Source Files and Scripts Updated"; -$text['message-upgrade_svn_scripts']['es-cl'] = "Fuente archivos actualizados"; -$text['message-upgrade_svn_scripts']['pt-pt'] = "Fonte arquivos atualizados"; -$text['message-upgrade_svn_scripts']['fr-fr'] = "Code source et scripts mis à jour"; -$text['message-upgrade_svn_scripts']['pt-br'] = "Fonte de arquivos atualizados"; -$text['message-upgrade_svn_scripts']['pl'] = "Aktualizacja plików źródłowych powiodła się"; -$text['message-upgrade_svn_scripts']['sv-se'] = "Källfiler Uppdaterade"; -$text['message-upgrade_svn_scripts']['uk'] = "Вихідні файли і сценарії оновлено"; -$text['message-upgrade_svn_scripts']['de-at'] = "Quellcode und Scripte aktualisieren"; +$text['message-upgrade_source_scripts']['en-us'] = "Source Files and Scripts Updated"; +$text['message-upgrade_source_scripts']['es-cl'] = "Fuente archivos actualizados"; +$text['message-upgrade_source_scripts']['pt-pt'] = "Fonte arquivos atualizados"; +$text['message-upgrade_source_scripts']['fr-fr'] = "Code source et scripts mis à jour"; +$text['message-upgrade_source_scripts']['pt-br'] = "Fonte de arquivos atualizados"; +$text['message-upgrade_source_scripts']['pl'] = "Aktualizacja plików źródłowych powiodła się"; +$text['message-upgrade_source_scripts']['sv-se'] = "Källfiler Uppdaterade"; +$text['message-upgrade_source_scripts']['uk'] = "Вихідні файли і сценарії оновлено"; +$text['message-upgrade_source_scripts']['de-at'] = "Quellcode und Scripte aktualisieren"; -$text['message-upgrade_svn_failed']['en-us'] = "Source Files Update Failed - Please Run SVN Update Via Console"; -$text['message-upgrade_svn_failed']['es-cl'] = "Fuente actualización de archivos Error - Por favor, ejecuta svn update Vía Consola"; -$text['message-upgrade_svn_failed']['pt-pt'] = "Fonte Arquivos Update Failed - execute o SVN Atualização Via Console"; -$text['message-upgrade_svn_failed']['fr-fr'] = "La mise à jour du code source à échoué, Veuillez exécuter svn update depuis la console"; -$text['message-upgrade_svn_failed']['pt-br'] = "Fonte arquivos atualialização falhou - execute o SVN Atualização Via Console "; -$text['message-upgrade_svn_failed']['pl'] = "Aktualizacja plików źródłowych nie powiodła się - użyj polecenia 'SVN Update' w konsoli."; -$text['message-upgrade_svn_failed']['sv-se'] = "Källfiler Uppdatering misslyckades - Vänligen Kör SVN Update Via Console"; -$text['message-upgrade_svn_failed']['uk'] = "Помилка оновлення вихідних файлів - Запустіть оновлення з SVN в консолі"; -$text['message-upgrade_svn_failed']['de-at'] = "Quellcode Aktualisierung fehlgeschlagen - Bitte führen Sie SVN Update in der Konsole aus"; +$text['message-upgrade_source_failed']['en-us'] = "Source Files Update Failed"; +$text['message-upgrade_source_failed']['es-cl'] = "Fuente actualización de archivos Error"; +$text['message-upgrade_source_failed']['pt-pt'] = "Fonte Arquivos Update Failed"; +$text['message-upgrade_source_failed']['fr-fr'] = "La mise à jour du code source à échoué"; +$text['message-upgrade_source_failed']['pt-br'] = "Fonte arquivos atualialização falhou"; +$text['message-upgrade_source_failed']['pl'] = "Aktualizacja plików źródłowych nie powiodła się."; +$text['message-upgrade_source_failed']['sv-se'] = "Källfiler Uppdatering misslyckades"; +$text['message-upgrade_source_failed']['uk'] = "Помилка оновлення вихідних файлів"; +$text['message-upgrade_source_failed']['de-at'] = "Quellcode Aktualisierung fehlgeschlagen"; -$text['message-upgrade_svn']['en-us'] = "Source Files Updated"; -$text['message-upgrade_svn']['es-cl'] = "Fuente archivos actualizados"; -$text['message-upgrade_svn']['pt-pt'] = "Fonte arquivos atualizados"; -$text['message-upgrade_svn']['fr-fr'] = "Code source mis à jour"; -$text['message-upgrade_svn']['pt-br'] = "Fonte de arquivos atualizados"; -$text['message-upgrade_svn']['pl'] = "Aktualizacja plików źródłowych powiodła się"; -$text['message-upgrade_svn']['sv-se'] = "Källfiler Uppdaterade"; -$text['message-upgrade_svn']['uk'] = "Вихідні файли оновлено"; -$text['message-upgrade_svn']['de-at'] = "Quellcode aktualisiert"; +$text['message-upgrade_source']['en-us'] = "Source Files Updated"; +$text['message-upgrade_source']['es-cl'] = "Fuente archivos actualizados"; +$text['message-upgrade_source']['pt-pt'] = "Fonte arquivos atualizados"; +$text['message-upgrade_source']['fr-fr'] = "Code source mis à jour"; +$text['message-upgrade_source']['pt-br'] = "Fonte de arquivos atualizados"; +$text['message-upgrade_source']['pl'] = "Aktualizacja plików źródłowych powiodła się"; +$text['message-upgrade_source']['sv-se'] = "Källfiler Uppdaterade"; +$text['message-upgrade_source']['uk'] = "Вихідні файли оновлено"; +$text['message-upgrade_source']['de-at'] = "Quellcode aktualisiert"; $text['message-upgrade_schema']['en-us'] = "Schema Verified"; $text['message-upgrade_schema']['es-cl'] = "Esquema Verified"; @@ -120,15 +120,15 @@ $text['login-message_text']['sv-se'] = "Håll dig uppdaterad med de FusionPBX pr $text['login-message_text']['uk'] = "Keep up with the FusionPBX project by configuring your preferences in the newly added Notifications section, under the System menu! "; $text['login-message_text']['de-at'] = "Halten Sie sich auf dem Laufenden über FusionPBX indem Sie die Benachrichtigungseinstellungen im System Menü setzen."; -$text['label-upgrade_svn']['en-us'] = "Source Code"; -$text['label-upgrade_svn']['es-cl'] = "Código Fuente"; -$text['label-upgrade_svn']['pt-pt'] = "Source Code"; -$text['label-upgrade_svn']['fr-fr'] = "Code Source"; -$text['label-upgrade_svn']['pt-br'] = "Source Code"; -$text['label-upgrade_svn']['pl'] = "Kod źródłowy"; -$text['label-upgrade_svn']['sv-se'] = "Källkod"; -$text['label-upgrade_svn']['uk'] = "Вихідний код"; -$text['label-upgrade_svn']['de-at'] = "Quellcode"; +$text['label-upgrade_source']['en-us'] = "Source Code"; +$text['label-upgrade_source']['es-cl'] = "Código Fuente"; +$text['label-upgrade_source']['pt-pt'] = "Source Code"; +$text['label-upgrade_source']['fr-fr'] = "Code Source"; +$text['label-upgrade_source']['pt-br'] = "Source Code"; +$text['label-upgrade_source']['pl'] = "Kod źródłowy"; +$text['label-upgrade_source']['sv-se'] = "Källkod"; +$text['label-upgrade_source']['uk'] = "Вихідний код"; +$text['label-upgrade_source']['de-at'] = "Quellcode"; $text['label-upgrade_schema']['en-us'] = "Schema"; $text['label-upgrade_schema']['es-cl'] = "Esquema"; @@ -300,15 +300,15 @@ $text['header-upgrade']['sv-se'] = "Uppgradera"; $text['header-upgrade']['uk'] = "Оновлення"; $text['header-upgrade']['de-at'] = "Aktualisieren"; -$text['header-svn_update_results']['en-us'] = "SVN Results"; -$text['header-svn_update_results']['es-cl'] = "SVN Respuesta"; -$text['header-svn_update_results']['pt-pt'] = "SVN Response"; -$text['header-svn_update_results']['fr-fr'] = "Résultats SVN"; -$text['header-svn_update_results']['pt-br'] = "Resposta do SVN "; -$text['header-svn_update_results']['pl'] = "Rezultat SVN"; -$text['header-svn_update_results']['sv-se'] = "SVN Resultat"; -$text['header-svn_update_results']['uk'] = "Результати з SVN"; -$text['header-svn_update_results']['de-at'] = "SVN Ergebnisse"; +$text['header-source_update_results']['en-us'] = "Results"; +$text['header-source_update_results']['es-cl'] = "Respuesta"; +$text['header-source_update_results']['pt-pt'] = "Response"; +$text['header-source_update_results']['fr-fr'] = "Résultats"; +$text['header-source_update_results']['pt-br'] = "Resposta"; +$text['header-source_update_results']['pl'] = "Rezultat"; +$text['header-source_update_results']['sv-se'] = "Resultat"; +$text['header-source_update_results']['uk'] = "Результати"; +$text['header-source_update_results']['de-at'] = "Ergebnisse"; $text['header-message']['en-us'] = "Message"; $text['header-message']['es-cl'] = "Mensaje"; @@ -330,15 +330,15 @@ $text['header-database_type']['sv-se'] = "Databas Typ"; $text['header-database_type']['uk'] = "Тип бази даних"; $text['header-database_type']['de-at'] = "Datenbank Typ"; -$text['description-upgrade_svn']['en-us'] = "Updates FusionPBX source files from the respository."; -$text['description-upgrade_svn']['es-cl'] = "Archivos de origen Actualizaciones FusionPBX del repositorio."; -$text['description-upgrade_svn']['pt-pt'] = "Arquivos de origem Atualizações FusionPBX do repositório."; -$text['description-upgrade_svn']['fr-fr'] = "Mise à jour du code source de FusionPBX depuis le dépôt."; -$text['description-upgrade_svn']['pt-br'] = "Arquivos de atualização"; -$text['description-upgrade_svn']['pl'] = "Uaktualnia pliki źródłowe FusionPBX z przechowalni."; -$text['description-upgrade_svn']['sv-se'] = "Uppdaterar FusionPBX källfiler från respository."; -$text['description-upgrade_svn']['uk'] = "Оновлення вихідних файлів FusionPBX з репозиторію Subversion ."; -$text['description-upgrade_svn']['de-at'] = "Aktualisiert den FusionPBX Quellcode aus dem Repository"; +$text['description-upgrade_source']['en-us'] = "Updates FusionPBX source files from the respository."; +$text['description-upgrade_source']['es-cl'] = "Archivos de origen Actualizaciones FusionPBX del repositorio."; +$text['description-upgrade_source']['pt-pt'] = "Arquivos de origem Atualizações FusionPBX do repositório."; +$text['description-upgrade_source']['fr-fr'] = "Mise à jour du code source de FusionPBX depuis le dépôt."; +$text['description-upgrade_source']['pt-br'] = "Arquivos de atualização"; +$text['description-upgrade_source']['pl'] = "Uaktualnia pliki źródłowe FusionPBX z przechowalni."; +$text['description-upgrade_source']['sv-se'] = "Uppdaterar FusionPBX källfiler från respository."; +$text['description-upgrade_source']['uk'] = "Оновлення вихідних файлів FusionPBX з репозиторію Subversion ."; +$text['description-upgrade_source']['de-at'] = "Aktualisiert den FusionPBX Quellcode aus dem Repository"; $text['description-upgrade_schema']['en-us'] = "Checks to ensure table and field integrity in the database."; $text['description-upgrade_schema']['es-cl'] = "Los cheques para asegurar mesa y campo de integridad en la base de datos."; diff --git a/core/upgrade/index.php b/core/upgrade/index.php index 2e29760fdc..6f85965814 100644 --- a/core/upgrade/index.php +++ b/core/upgrade/index.php @@ -32,7 +32,7 @@ require_once "resources/check_auth.php"; //check the permission if ( - !permission_exists('upgrade_svn') && + !permission_exists('upgrade_source') && !permission_exists('upgrade_schema') && !permission_exists('upgrade_apps') && !permission_exists('menu_restore') && @@ -50,14 +50,14 @@ if (sizeof($_POST) > 0) { $do = $_POST['do']; - // run svn update - if ($do["svn"] && permission_exists("upgrade_svn") && !is_dir("/usr/share/examples/fusionpbx")) { - $cmd = "svn up /var/www/fusionpbx"; - exec($cmd, $response_svn_update); + // run source update + if ($do["source"] && permission_exists("upgrade_source") && !is_dir("/usr/share/examples/fusionpbx")) { + chdir("/var/www/fusionpbx/"); + exec("git pull", $response_source_update); $update_failed = true; - if (sizeof($response_svn_update) > 0) { - $_SESSION["response_svn_update"] = $response_svn_update; - foreach ($response_svn_update as $response_line) { + if (sizeof($response_source_update) > 0) { + $_SESSION["response_source_update"] = $response_source_update; + foreach ($response_source_update as $response_line) { if (substr_count($response_line, "Updated to revision") > 0 || substr_count($response_line, "At revision") > 0) { $update_failed = false; } @@ -66,7 +66,7 @@ if (sizeof($_POST) > 0) { if ($update_failed) { $_SESSION["message_delay"] = 3500; $_SESSION["message_mood"] = 'negative'; - $response_message = $text['message-upgrade_svn_failed']; + $response_message = $text['message-upgrade_source_failed']; } else { //update scripts folder, if allowed (default) @@ -77,7 +77,8 @@ if (sizeof($_POST) > 0) { if ( substr_count($file_path_source, '/..') == 0 && substr_count($file_path_source, '/.') == 0 && - substr_count($file_path_source, '/.svn') == 0 + substr_count($file_path_source, '/.svn') == 0 && + substr_count($file_path_source, '/.git') == 0 && ) { $file_path_target = str_replace($scripts_dir_source, $scripts_dir_target, $file_path_source); if ($file_path_target != $scripts_dir_target.'/resources/config.lua') { @@ -87,10 +88,10 @@ if (sizeof($_POST) > 0) { } } } - $response_message = $text['message-upgrade_svn_scripts']; + $response_message = $text['message-upgrade_source_scripts']; } else { - $response_message = $text['message-upgrade_svn']; + $response_message = $text['message-upgrade_source']; } } } @@ -153,16 +154,16 @@ echo "

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

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

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

"; - unset($_SESSION["response_svn_update"]); + unset($_SESSION["response_source_update"]); } diff --git a/core/upgrade/upgrade.php b/core/upgrade/upgrade.php index 7ef1f2e8bd..0a882c14c1 100644 --- a/core/upgrade/upgrade.php +++ b/core/upgrade/upgrade.php @@ -38,7 +38,7 @@ include "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; - if (permission_exists('upgrade_schema') || permission_exists('upgrade_svn') || if_group("superadmin")) { + if (permission_exists('upgrade_schema') || permission_exists('upgrade_source') || if_group("superadmin")) { //echo "access granted"; } else { diff --git a/resources/functions.php b/resources/functions.php index 1c34a4ef43..1388857fec 100644 --- a/resources/functions.php +++ b/resources/functions.php @@ -1038,8 +1038,9 @@ function number_pad($number,$n) { if ($file != '.' && $file != '..') { $newpath = $dir.'/'.$file; $level = explode('/',$newpath); - if (substr($newpath, -4) == ".svn") { - //ignore .svn dir and subdir + if (substr($newpath, -4) == ".svn" || + substr($newpath, -4) == ".git") { + //ignore .svn and .git dir and subdir } else { if (is_dir($newpath)) { //directories diff --git a/resources/install.php b/resources/install.php index c677a87e7a..e1f17ec155 100644 --- a/resources/install.php +++ b/resources/install.php @@ -1745,7 +1745,7 @@ EOL; $theme_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes'; if ($handle = opendir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes')) { while (false !== ($dir_name = readdir($handle))) { - if ($dir_name != "." && $dir_name != ".." && $dir_name != ".svn" && is_readable($theme_dir.'/'.$dir_name)) { + if ($dir_name != "." && $dir_name != ".." && $dir_name != ".svn" && $dir_name != ".git" && is_readable($theme_dir.'/'.$dir_name)) { $dir_label = str_replace('_', ' ', $dir_name); $dir_label = str_replace('-', ' ', $dir_label); if ($dir_name == $install_template_name) { diff --git a/resources/templates/engine/smarty/sysplugins/smarty_internal_cacheresource_file.php b/resources/templates/engine/smarty/sysplugins/smarty_internal_cacheresource_file.php index 049cc91b6c..c27a873ae3 100644 --- a/resources/templates/engine/smarty/sysplugins/smarty_internal_cacheresource_file.php +++ b/resources/templates/engine/smarty/sysplugins/smarty_internal_cacheresource_file.php @@ -180,7 +180,7 @@ $_cacheDirs = new RecursiveDirectoryIterator($_dir); $_cache = new RecursiveIteratorIterator($_cacheDirs, RecursiveIteratorIterator::CHILD_FIRST); foreach ($_cache as $_file) { - if (substr(basename($_file->getPathname()),0,1) == '.' || strpos($_file, '.svn') !== false) continue; + if (substr(basename($_file->getPathname()),0,1) == '.' || strpos($_file, '.svn') !== false || strpos($_file, '.git') !== false) continue; // directory ? if ($_file->isDir()) { if (!$_cache->isDot()) { diff --git a/resources/templates/engine/smarty/sysplugins/smarty_internal_utility.php b/resources/templates/engine/smarty/sysplugins/smarty_internal_utility.php index 33091eaf0f..5e763b7813 100644 --- a/resources/templates/engine/smarty/sysplugins/smarty_internal_utility.php +++ b/resources/templates/engine/smarty/sysplugins/smarty_internal_utility.php @@ -72,7 +72,7 @@ class Smarty_Internal_Utility $_compile = new RecursiveIteratorIterator($_compileDirs); foreach ($_compile as $_fileinfo) { $_file = $_fileinfo->getFilename(); - if (substr(basename($_fileinfo->getPathname()),0,1) == '.' || strpos($_file, '.svn') !== false) continue; + if (substr(basename($_fileinfo->getPathname()),0,1) == '.' || strpos($_file, '.svn') !== false || strpos($_file, '.git') !== false) continue; if (!substr_compare($_file, $extension, - strlen($extension)) == 0) continue; if ($_fileinfo->getPath() == substr($_dir, 0, -1)) { $_template_file = $_file; @@ -136,7 +136,7 @@ class Smarty_Internal_Utility $_compile = new RecursiveIteratorIterator($_compileDirs); foreach ($_compile as $_fileinfo) { $_file = $_fileinfo->getFilename(); - if (substr(basename($_fileinfo->getPathname()),0,1) == '.' || strpos($_file, '.svn') !== false) continue; + if (substr(basename($_fileinfo->getPathname()),0,1) == '.' || strpos($_file, '.svn') !== false || strpos($_file, '.git') !== false) continue; if (!substr_compare($_file, $extension, - strlen($extension)) == 0) continue; if ($_fileinfo->getPath() == substr($_dir, 0, -1)) { $_config_file = $_file; @@ -230,8 +230,7 @@ class Smarty_Internal_Utility } $_compile = new RecursiveIteratorIterator($_compileDirs, RecursiveIteratorIterator::CHILD_FIRST); foreach ($_compile as $_file) { - if (substr(basename($_file->getPathname()), 0, 1) == '.' || strpos($_file, '.svn') !== false) - continue; + if (substr(basename($_file->getPathname()), 0, 1) == '.' || strpos($_file, '.svn') !== false || strpos($_file, '.git') !== false) continue; $_filepath = (string) $_file; diff --git a/themes/default/template.php b/themes/default/template.php index cf908c72db..84990d386d 100644 --- a/themes/default/template.php +++ b/themes/default/template.php @@ -694,8 +694,9 @@ if (strlen($_SESSION['message']) > 0) { if ($file != "." AND $file != ".."){ $new_path = $dir.'/'.$file; $level = explode('/',$new_path); - if (substr($new_path, -4) == ".svn") { - //ignore .svn dir and subdir + if (substr($new_path, -4) == ".svn" || + substr($new_path, -4) == ".git") { + //ignore .svn and .git dir and subdir } elseif (substr($new_path, -3) == ".db") { //ignore .db files From 68b4a6fc9d8fffd25dfbe5cfc296988524aad1e6 Mon Sep 17 00:00:00 2001 From: reliberate Date: Thu, 2 Jul 2015 21:15:43 -0600 Subject: [PATCH 13/60] Upgrade: Remove invalid ampersands. --- core/upgrade/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/upgrade/index.php b/core/upgrade/index.php index 6f85965814..8a977a68d8 100644 --- a/core/upgrade/index.php +++ b/core/upgrade/index.php @@ -78,7 +78,7 @@ if (sizeof($_POST) > 0) { substr_count($file_path_source, '/..') == 0 && substr_count($file_path_source, '/.') == 0 && substr_count($file_path_source, '/.svn') == 0 && - substr_count($file_path_source, '/.git') == 0 && + substr_count($file_path_source, '/.git') == 0 ) { $file_path_target = str_replace($scripts_dir_source, $scripts_dir_target, $file_path_source); if ($file_path_target != $scripts_dir_target.'/resources/config.lua') { From 60e9f57035f3f7e35092291b2f76bff2bd5491d5 Mon Sep 17 00:00:00 2001 From: reliberate Date: Thu, 2 Jul 2015 21:15:43 -0600 Subject: [PATCH 14/60] Upgrade: Better handle Git response. --- core/upgrade/index.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/upgrade/index.php b/core/upgrade/index.php index 6f85965814..ef760549b8 100644 --- a/core/upgrade/index.php +++ b/core/upgrade/index.php @@ -58,7 +58,7 @@ if (sizeof($_POST) > 0) { if (sizeof($response_source_update) > 0) { $_SESSION["response_source_update"] = $response_source_update; foreach ($response_source_update as $response_line) { - if (substr_count($response_line, "Updated to revision") > 0 || substr_count($response_line, "At revision") > 0) { + if (substr_count($response_line, "Updating ") > 0 || substr_count($response_line, "Already up-to-date.") > 0) { $update_failed = false; } } @@ -78,7 +78,7 @@ if (sizeof($_POST) > 0) { substr_count($file_path_source, '/..') == 0 && substr_count($file_path_source, '/.') == 0 && substr_count($file_path_source, '/.svn') == 0 && - substr_count($file_path_source, '/.git') == 0 && + substr_count($file_path_source, '/.git') == 0 ) { $file_path_target = str_replace($scripts_dir_source, $scripts_dir_target, $file_path_source); if ($file_path_target != $scripts_dir_target.'/resources/config.lua') { From d8ab2cf367cda5a66d367dcfb5e22ae8098eb4ae Mon Sep 17 00:00:00 2001 From: reliberate Date: Thu, 2 Jul 2015 21:47:59 -0600 Subject: [PATCH 15/60] Test: Commit change to test Advanced > Upgrade changes. --- root.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/root.php b/root.php index 7b882438ea..1d384eeca4 100644 --- a/root.php +++ b/root.php @@ -47,4 +47,6 @@ set_include_path( get_include_path() . PATH_SEPARATOR . $_SERVER['DOCUMENT_ROOT'] ); } +// test + ?> \ No newline at end of file From d6738f2f1651025a0db2e4e5f16f32862829dd79 Mon Sep 17 00:00:00 2001 From: reliberate Date: Thu, 2 Jul 2015 22:17:02 -0600 Subject: [PATCH 16/60] Upgrade: Undo test commit. --- root.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/root.php b/root.php index 1d384eeca4..7b882438ea 100644 --- a/root.php +++ b/root.php @@ -47,6 +47,4 @@ set_include_path( get_include_path() . PATH_SEPARATOR . $_SERVER['DOCUMENT_ROOT'] ); } -// test - ?> \ No newline at end of file From 817b11a3c48dbdcce98abf3721c0e563d43764cf Mon Sep 17 00:00:00 2001 From: Rich Breton Date: Fri, 3 Jul 2015 08:54:10 -0600 Subject: [PATCH 17/60] Update README.md Updating the readme to put in some more info to help people understand the project and get going --- README.md | 45 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 36 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 05f5e08ca2..96fa31269c 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,41 @@ -[FusionPBX](http://fusionpbx.com/) — A Full-Featured Multi-Tenant GUI for [FreeSwitch](http://freeswitch.org) -================================================== - -FusionPBX Guides +What is [FusionPBX](http://fusionpbx.com/)? -------------------------------------- +[FusionPBX](http://fusionpbx.com/) is a flexible, customizable administration web GUI that takes [FreeSwitch](http://freeswitch.org) and converts it into a single- or multi-tenant gateway or PBX system out of the box. +It can be run on any operating system and x86-based hardware of your choice. +It provides the functionality your business needs and brings corporate-level phone system features to small, medium, and large businesses. Read more at [FusionPBX](http://fusionpbx.com/). -Our move to git is very much a work in progress but we are working hard to complete everything. +In addition to providing all of the usual PBX functionality, FusionPBX allows you to configure: -1. [Documentation](http://fusionpbx-docs.readthedocs.org/en/latest/) COMING SOON -2. [How to Contribute](http://fusionpbx.com) COMING SOON +- Multi-Tenancy +- Unlimited Extensions +- Voicemail-to-Email +- Music on Hold +- Call Parking +- Automatic Call Distribution +- Interactive Voice Response +- Ring Groups +- Find Me / Follow Me +- Dialplan Features that can be endlessly combined for your preferences +- [Many other Features](http://wiki.fusionpbx.com/index.php?title=Features) +Free Support +-------------------------------------- +We provide several avenues for you to get your system up and running on your own and learn the basics of the system. + +1. [Current Documentation](http://wiki.fusionpbx.com/index.php?title=Main_Page) +2. [New Documentation](http://fusionpbx-docs.readthedocs.org/en/latest/) COMING SOON +3. [How to Contribute](http://fusionpbx.com) COMING SOON +4. [IRC](http://webchat.freenode.net/) in the fusionpbx channel + +Commercial Support +-------------------------------------- +These options support the project and cover any kind of help you might need from architecture, installation, best practices, troubleshooting, custom feature programming, and training. + +1. [Commercial Paid Support](http://fusionpbx.com/support.php) +2. [Custom Feature Development](http://fusionpbx.com/support.php) +3. [Admin Training](http://fusionpbx.com) +4. [Advanced Training](http://fusionpbx.com) +5. [Developer Training](http://fusionpbx.com) Software Requirements -------------------------------------- @@ -48,5 +75,5 @@ chmod 755 install_fusionpbx.sh ``` Installation Questions: -- During the install it will ask you to press continue after verifying that the command ran successfully this is usually the case so you can simply tell it to continue. The install also asks several questions. -- Unless you have a reason to choose otherwise PostgreSQL and Nginx is probably your best path and is recommended by the developers of FusionPBX +- During the install it will ask you to press continue after verifying that the command ran successfully. This is usually the case, so you can simply tell it to continue. The install also asks several questions. +- Unless you have a reason to choose otherwise, PostgreSQL and Nginx is probably your best path and is recommended by the developers of FusionPBX From fff49001ada90265d93c119eb940e095259e1efb Mon Sep 17 00:00:00 2001 From: Rich Breton Date: Fri, 3 Jul 2015 09:35:30 -0600 Subject: [PATCH 18/60] Update README.md Added contributing section to explain why we require a CLA --- README.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 96fa31269c..245664336d 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,6 @@ These options support the project and cover any kind of help you might need from Software Requirements -------------------------------------- - - [Debian Jessie](http://cdimage.debian.org/debian-cd/8.1.0/amd64/iso-cd/debian-8.1.0-amd64-netinst.iso) - Recommended This is the distribution recommended by the FreeSwitch team - Fusion will also install on Debian Wheezy, Ubuntu 10.10 LTS and is known to work on FreeBSD @@ -48,15 +47,21 @@ This is the distribution recommended by the FreeSwitch team Community -------------------------------------- - We have a pretty thriving community if you know how to get to us: - [IRC](http://webchat.freenode.net/) in the fusionpbx channel - [Twitter](http://twitter.com/fusionpbx) - [Website](http://fusionpbx.com) +Contributing +--------------------------------------- +It's easy to contribute to FusionPBX the only thing we ask before accepting your pull request is that you sign a Contributor License Agreement. +We ask that you sign the Contributor License Agreement for the following reasons: +1. It protects FusionPBX by you gauranteeing that your contributions are yours to contribute and not the property of an employer or something found on the web. +2. It protects you from using code that belongs to others that is subject unfriendly licensing. -###How to Install FusionPBX COMING SOON + +How to Install FusionPBX COMING SOON ---------------------------- ```bash cd /usr/src From 8821b86f7bb3db2b5f7ddf7d25d777196d3be8fb Mon Sep 17 00:00:00 2001 From: Rich Breton Date: Fri, 3 Jul 2015 09:36:17 -0600 Subject: [PATCH 19/60] Update README.md Added formatting to the Contributing section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 245664336d..5b6f653d5c 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,7 @@ Contributing --------------------------------------- It's easy to contribute to FusionPBX the only thing we ask before accepting your pull request is that you sign a Contributor License Agreement. We ask that you sign the Contributor License Agreement for the following reasons: + 1. It protects FusionPBX by you gauranteeing that your contributions are yours to contribute and not the property of an employer or something found on the web. 2. It protects you from using code that belongs to others that is subject unfriendly licensing. From b46d68777af2d11781d3e5dc9ac8107c781c4ef4 Mon Sep 17 00:00:00 2001 From: markjcrane Date: Fri, 3 Jul 2015 09:51:02 -0600 Subject: [PATCH 20/60] Use originate_delay_start to fix the enterprise ring group delay. --- .../install/scripts/app/ring_groups/index.lua | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/resources/install/scripts/app/ring_groups/index.lua b/resources/install/scripts/app/ring_groups/index.lua index e6b3663650..b1135f84c5 100644 --- a/resources/install/scripts/app/ring_groups/index.lua +++ b/resources/install/scripts/app/ring_groups/index.lua @@ -300,6 +300,14 @@ delimiter = ":_:"; end + --leg delay settings + if (ring_group_strategy == "enterprise") then + delay_name = "originate_delay_start"; + destination_delay = destination_delay * 1000; + else + delay_name = "leg_delay_start"; + end + --create a new uuid and add it to the uuid list new_uuid = api:executeString("create_uuid"); if (string.len(uuids) == 0) then @@ -370,24 +378,24 @@ reply = trim(api:executeString(cmd)); --freeswitch.consoleLog("notice", "[ring group] reply "..cmd.." " .. reply .. "\n"); if (reply == "0 total.") then - dial_string = "[sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..",leg_delay_start="..destination_delay..",dialed_extension=" .. row.destination_number .. ",extension_uuid="..extension_uuid.."]user/" .. row.destination_number .. "@" .. domain_name; + dial_string = "[sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..","..delay_name.."="..destination_delay..",dialed_extension=" .. row.destination_number .. ",extension_uuid="..extension_uuid.."]user/" .. row.destination_number .. "@" .. domain_name; else if (string.find(reply, domain_name)) then --active call else - dial_string = "[sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..",leg_delay_start="..destination_delay..",dialed_extension=" .. row.destination_number .. ",extension_uuid="..extension_uuid.."]user/" .. row.destination_number .. "@" .. domain_name; + dial_string = "[sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..","..delay_name.."="..destination_delay..",dialed_extension=" .. row.destination_number .. ",extension_uuid="..extension_uuid.."]user/" .. row.destination_number .. "@" .. domain_name; end end else --look inside the reply to check for the correct domain_name - dial_string = "[sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..",leg_delay_start="..destination_delay..",dialed_extension=" .. row.destination_number .. ",extension_uuid="..extension_uuid.."]user/" .. row.destination_number .. "@" .. domain_name; + dial_string = "[sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..","..delay_name.."="..destination_delay..",dialed_extension=" .. row.destination_number .. ",extension_uuid="..extension_uuid.."]user/" .. row.destination_number .. "@" .. domain_name; end else - dial_string = "[sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..",leg_delay_start="..destination_delay..",dialed_extension=" .. row.destination_number .. ",extension_uuid="..extension_uuid.."]user/" .. row.destination_number .. "@" .. domain_name; + dial_string = "[sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..","..delay_name.."="..destination_delay..",dialed_extension=" .. row.destination_number .. ",extension_uuid="..extension_uuid.."]user/" .. row.destination_number .. "@" .. domain_name; end elseif (tonumber(destination_number) == nil) then --sip uri - dial_string = "[sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..",leg_delay_start="..destination_delay.."]" .. row.destination_number; + dial_string = "[sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..","..delay_name.."="..destination_delay.."]" .. row.destination_number; else --external number y = 0; @@ -417,7 +425,7 @@ dialplan_detail_data = r.dialplan_detail_data:gsub("$1", destination_result); --if the session is set then process the actions if (y == 0) then - square = "[domain_name="..domain_name..",domain_uuid="..domain_uuid..",sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..",leg_delay_start="..destination_delay..",ignore_early_media=true,"; + square = "[domain_name="..domain_name..",domain_uuid="..domain_uuid..",sip_invite_domain="..domain_name..","..group_confirm.."leg_timeout="..destination_timeout..","..delay_name.."="..destination_delay..",ignore_early_media=true,"; end if (r.dialplan_detail_type == "set") then --session:execute("eval", dialplan_detail_data); From 677d2f069fcca5847e08fbcfc554ceaab181a7bf Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Sat, 4 Jul 2015 04:16:44 -0600 Subject: [PATCH 21/60] Update confirm.lua Add a domain_name nil check. --- resources/install/scripts/confirm.lua | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/resources/install/scripts/confirm.lua b/resources/install/scripts/confirm.lua index 6aafb066e3..6154979de3 100644 --- a/resources/install/scripts/confirm.lua +++ b/resources/install/scripts/confirm.lua @@ -65,9 +65,11 @@ if (not default_voice) then default_voice = 'callie'; end --if the screen file is found then set confirm to true - call_screen_file = "/tmp/" .. domain_name .. "-" .. caller_id_number .. "." .. record_ext; - if (file_exists(call_screen_file)) then - confirm = "true"; + if (domain_name ~= nil) then + call_screen_file = "/tmp/" .. domain_name .. "-" .. caller_id_number .. "." .. record_ext; + if (file_exists(call_screen_file)) then + confirm = "true"; + end end --confirm the calls @@ -104,4 +106,4 @@ --send to the log --freeswitch.consoleLog("NOTICE", "[confirm] automatically accepted\n"); end - end \ No newline at end of file + end From 262306386ce6164553416034438f199031c3aee6 Mon Sep 17 00:00:00 2001 From: Rich Breton Date: Sun, 5 Jul 2015 01:01:37 -0600 Subject: [PATCH 22/60] Update README.md Adding more clarification for contributions --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 5b6f653d5c..3565995baf 100644 --- a/README.md +++ b/README.md @@ -55,12 +55,17 @@ We have a pretty thriving community if you know how to get to us: Contributing --------------------------------------- + +###Requirements It's easy to contribute to FusionPBX the only thing we ask before accepting your pull request is that you sign a Contributor License Agreement. We ask that you sign the Contributor License Agreement for the following reasons: 1. It protects FusionPBX by you gauranteeing that your contributions are yours to contribute and not the property of an employer or something found on the web. 2. It protects you from using code that belongs to others that is subject unfriendly licensing. +### How to Contribute +* [The Quick Way](https://github.com/Fusionpbx/opensource/blob/master/sign-cla.md) - Step by step instructions to contribute to FusionPBX with links to our CLA and how to submit pull requests. +* [The FusionPBX Contribution Site](https://github.com/Fusionpbx/opensource) - The full repo with more information for the curious. How to Install FusionPBX COMING SOON ---------------------------- From 4742fac8f9b9769a79d8a66ac423406e7a43cace Mon Sep 17 00:00:00 2001 From: markjcrane Date: Sun, 5 Jul 2015 23:08:10 -0600 Subject: [PATCH 23/60] Adjustments to event_socket_request to make it faster. --- resources/switch.php | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/resources/switch.php b/resources/switch.php index 1919eb77c0..2c6b46d89d 100644 --- a/resources/switch.php +++ b/resources/switch.php @@ -322,9 +322,7 @@ function event_socket_request($fp, $cmd) { } fputs($fp, "\n"); //second line feed to end the headers - usleep(100); //allow time for reponse - - $response = ""; + $response = ''; $i = 0; $content_length = 0; while (!feof($fp)) { @@ -342,17 +340,16 @@ function event_socket_request($fp, $cmd) { } } - usleep(50); //allow time for reponse - - //prevent an endless loop //optional because of script timeout - if ($i > 30000) { break; } - if ($content_length > 0) { //is content_length set //stop reading if all content has been read. if (strlen($response) >= $content_length) { break; } } + else { + //prevent an endless loop + if ($i > 300000) { break; } + } $i++; } @@ -364,6 +361,8 @@ function event_socket_request($fp, $cmd) { } + + function event_socket_request_cmd($cmd) { global $db, $domain_uuid, $host; From c5b04b94d96d11e98f4bcedb54738f3678212131 Mon Sep 17 00:00:00 2001 From: markjcrane Date: Sun, 5 Jul 2015 23:13:46 -0600 Subject: [PATCH 24/60] Add AR eg translation. --- app/call_block/app_languages.php | 40 +++++++ app/call_block/app_menu.php | 1 + app/call_center_active/app_languages.php | 45 ++++++++ app/destinations/app_languages.php | 57 ++++++++++ app/destinations/app_menu.php | 1 + app/extensions/app_languages.php | 137 +++++++++++++++++++++++ app/extensions/app_menu.php | 1 + core/databases/app_languages.php | 38 +++++++ core/databases/app_menu.php | 1 + 9 files changed, 321 insertions(+) diff --git a/app/call_block/app_languages.php b/app/call_block/app_languages.php index 45853cff4f..313ad794de 100644 --- a/app/call_block/app_languages.php +++ b/app/call_block/app_languages.php @@ -11,6 +11,7 @@ $text['title-call-block']['sv-se'] = "Blockera Samtal"; $text['title-call-block']['uk'] = "Блокування дзвінків"; $text['title-call-block']['ro'] = "Blocare apel"; $text['title-call-block']['de-at'] = "Sperrlisten"; +$text['title-call-block']['ar-eg'] = "حظر المكالمات"; $text['prompt-block_recent_name']['en-us'] = "Block Recent Call - Edit the Name, if desired..."; $text['prompt-block_recent_name']['es-cl'] = "Bloqueo de llamadas recientes - Edite el nombre, si lo desea..."; @@ -23,6 +24,7 @@ $text['prompt-block_recent_name']['sv-se'] = "Blockera Senaste Samtal, meditera $text['prompt-block_recent_name']['uk'] = "Блокувати недавній дзвінок. Відредагуйте назву за бажанням"; $text['prompt-block_recent_name']['ro'] = "Blocare apel recent - Editați numele dacă doriți"; $text['prompt-block_recent_name']['de-at'] = "Kürzliche Anrufe Blockieren - Bearbeiten Sie den Namen, falls gewünscht..."; +$text['prompt-block_recent_name']['ar-eg'] = ""; $text['label-update-complete']['en-us'] = "Update Complete"; $text['label-update-complete']['es-cl'] = "Actualización Completa"; @@ -35,6 +37,7 @@ $text['label-update-complete']['sv-se'] = "Uppdatering Klar"; $text['label-update-complete']['uk'] = "Оновлено"; $text['label-update-complete']['ro'] = "Actualizare completă"; $text['label-update-complete']['de-at'] = "Aktualisierung abgeschlossen"; +$text['label-update-complete']['ar-eg'] = "اكتمال التحديث"; $text['label-true']['en-us'] = "True"; $text['label-true']['es-cl'] = "Verdadero"; @@ -47,6 +50,7 @@ $text['label-true']['sv-se'] = "Sann"; $text['label-true']['uk'] = "Так"; $text['label-true']['ro'] = ""; $text['label-true']['de-at'] = "Ein"; +$text['label-true']['ar-eg'] = "صحيح"; $text['label-reject']['en-us'] = "Reject"; $text['label-reject']['es-cl'] = "Rechazar"; @@ -59,6 +63,7 @@ $text['label-reject']['sv-se'] = "Neka"; $text['label-reject']['uk'] = "Відхилити"; $text['label-reject']['ro'] = ""; $text['label-reject']['de-at'] = "Zurückweisen"; +$text['label-reject']['ar-eg'] = "رفض"; $text['label-provide-number']['en-us'] = "Please provide: Number"; $text['label-provide-number']['es-cl'] = "Por favor agregue: Número"; @@ -71,6 +76,7 @@ $text['label-provide-number']['sv-se'] = "Ange: Nummer"; $text['label-provide-number']['uk'] = "Введіть номер"; $text['label-provide-number']['ro'] = ""; $text['label-provide-number']['de-at'] = "Bitte geben Sie die Nummer an"; +$text['label-provide-number']['ar-eg'] = "من فضلك أدخل: الرقم"; $text['label-provide-name']['en-us'] = "Please provide: Name"; $text['label-provide-name']['es-cl'] = "Por favor agregue: Nombre"; @@ -83,6 +89,7 @@ $text['label-provide-name']['sv-se'] = "Ange: Namn"; $text['label-provide-name']['uk'] = "Введіть назву"; $text['label-provide-name']['ro'] = ""; $text['label-provide-name']['de-at'] = "Bitte geben Sie den Namen an"; +$text['label-provide-name']['ar-eg'] = "من فضلك أدخل: الأسم"; $text['label-provide-enabled']['en-us'] = "Please provide: Enabled"; $text['label-provide-enabled']['es-cl'] = "Por favor agregue: Activo"; @@ -95,6 +102,7 @@ $text['label-provide-enabled']['sv-se'] = "Ange: Aktiverad"; $text['label-provide-enabled']['uk'] = "Включити/відключити"; $text['label-provide-enabled']['ro'] = ""; $text['label-provide-enabled']['de-at'] = "Bitte geben Sie folgendes an: Aktiv"; +$text['label-provide-enabled']['ar-eg'] = ""; $text['label-number']['en-us'] = "Number"; $text['label-number']['es-cl'] = "Número"; @@ -107,6 +115,7 @@ $text['label-number']['sv-se'] = "Nummer"; $text['label-number']['uk'] = "Номер"; $text['label-number']['ro'] = "Număr"; $text['label-number']['de-at'] = "Nummer"; +$text['label-number']['ar-eg'] = "رقم"; $text['label-name']['en-us'] = "Name"; $text['label-name']['es-cl'] = "Nombre"; @@ -119,6 +128,7 @@ $text['label-name']['sv-se'] = "Namn"; $text['label-name']['uk'] = "Назва"; $text['label-name']['ro'] = "Nume"; $text['label-name']['de-at'] = "Name"; +$text['label-name']['ar-eg'] = "الأسم"; $text['label-message']['en-us'] = "Message"; $text['label-message']['es-cl'] = "Mensaje"; @@ -131,6 +141,7 @@ $text['label-message']['sv-se'] = "Meddelande"; $text['label-message']['uk'] = "Повідомлення"; $text['label-message']['ro'] = "Mesaj"; $text['label-message']['de-at'] = "Nachricht"; +$text['label-message']['ar-eg'] = "رسالة"; $text['label-local']['en-us'] = "Local"; $text['label-local']['es-cl'] = "Local"; @@ -143,6 +154,7 @@ $text['label-local']['sv-se'] = "Lokal"; $text['label-local']['uk'] = "Місцевий"; $text['label-local']['ro'] = "Local"; $text['label-local']['de-at'] = "Lokal"; +$text['label-local']['ar-eg'] = "محلي"; $text['label-inbound']['en-us'] = "Inbound"; $text['label-inbound']['es-cl'] = "Entrada"; @@ -155,6 +167,7 @@ $text['label-inbound']['sv-se'] = "Inkommande"; $text['label-inbound']['uk'] = "Вихідний"; $text['label-inbound']['ro'] = ""; $text['label-inbound']['de-at'] = "Eingehend"; +$text['label-inbound']['ar-eg'] = ""; $text['label-false']['en-us'] = "False"; $text['label-false']['es-cl'] = "falso"; @@ -167,6 +180,7 @@ $text['label-false']['sv-se'] = "Falsk"; $text['label-false']['uk'] = "Ні"; $text['label-false']['ro'] = ""; $text['label-false']['de-at'] = "Aus"; +$text['label-false']['ar-eg'] = ""; $text['label-enabled']['en-us'] = "Enabled"; $text['label-enabled']['es-cl'] = "Activo"; @@ -179,6 +193,7 @@ $text['label-enabled']['sv-se'] = "Aktiverad"; $text['label-enabled']['uk'] = "Включено"; $text['label-enabled']['ro'] = ""; $text['label-enabled']['de-at'] = "Aktiv"; +$text['label-enabled']['ar-eg'] = "مفعل"; $text['label-edit-note']['en-us'] = "Block calls from a number. Edit the name and enable/disable below."; $text['label-edit-note']['es-cl'] = "Bloquea llamadas desde un número. Edite el nombre y active/desactive abajo."; @@ -191,6 +206,7 @@ $text['label-edit-note']['sv-se'] = "Blockera samtal från nummer. Editera namn $text['label-edit-note']['uk'] = "Блокувати дзвінки з номера. Змініть ім'я і включіть/відключіть нижче."; $text['label-edit-note']['ro'] = "Blocați apelurile de la un număr. Editați numele și activați/dezactivați mai jos."; $text['label-edit-note']['de-at'] = "Anrufe von Nummer Blockieren. Bearbeiten Sie den Namen und aktivieren/deaktivieren Sie unten."; +$text['label-edit-note']['ar-eg'] = ""; $text['label-edit-edit']['en-us'] = "Call Block"; $text['label-edit-edit']['es-cl'] = "Bloqueo de llamada"; @@ -203,6 +219,7 @@ $text['label-edit-edit']['sv-se'] = "Blockera Samtal"; $text['label-edit-edit']['uk'] = "Блокування дзвінків"; $text['label-edit-edit']['ro'] = "Blocare apel"; $text['label-edit-edit']['de-at'] = "Sperrlisten"; +$text['label-edit-edit']['ar-eg'] = ""; $text['label-edit-add-recent']['en-us'] = "Recent Calls"; $text['label-edit-add-recent']['es-cl'] = "Llamadas Recientes"; @@ -215,6 +232,7 @@ $text['label-edit-add-recent']['sv-se'] = "Senaste Samtal"; $text['label-edit-add-recent']['uk'] = "Останні дзвінки"; $text['label-edit-add-recent']['ro'] = "Apeluri recente"; $text['label-edit-add-recent']['de-at'] = "Kürzliche Anrufe"; +$text['label-edit-add-recent']['ar-eg'] = ""; $text['label-edit-add']['en-us'] = "Call Block"; $text['label-edit-add']['es-cl'] = "Agregar bloqueo de llamada"; @@ -227,6 +245,7 @@ $text['label-edit-add']['sv-se'] = "Blockera Samtal"; $text['label-edit-add']['uk'] = "Блокування дзвінків"; $text['label-edit-add']['ro'] = "Blocare apel"; $text['label-edit-add']['de-at'] = "Sperrlisten"; +$text['label-edit-add']['ar-eg'] = "حظر المكالمات"; $text['label-duration']['en-us'] = "Duration"; $text['label-duration']['es-cl'] = "Duración"; @@ -239,6 +258,7 @@ $text['label-duration']['sv-se'] = "Samtalstid"; $text['label-duration']['uk'] = "Тривалість"; $text['label-duration']['ro'] = "Durată"; $text['label-duration']['de-at'] = "Dauer"; +$text['label-duration']['ar-eg'] = "المدة"; $text['label-delete-complete']['en-us'] = "Delete Complete"; $text['label-delete-complete']['es-cl'] = "Eliminar Completo"; @@ -251,6 +271,7 @@ $text['label-delete-complete']['sv-se'] = "Borttagning Klar"; $text['label-delete-complete']['uk'] = "Видалено"; $text['label-delete-complete']['ro'] = "Ștergere completă"; $text['label-delete-complete']['de-at'] = "Erfolgreich gelöscht"; +$text['label-delete-complete']['ar-eg'] = "اكتمال المسح"; $text['label-date-added']['en-us'] = "Date Added"; $text['label-date-added']['es-cl'] = "Fecha de ingreso"; @@ -263,6 +284,7 @@ $text['label-date-added']['sv-se'] = "Datum Tillagt"; $text['label-date-added']['uk'] = "Додано"; $text['label-date-added']['ro'] = "Data adăugării"; $text['label-date-added']['de-at'] = "Datum hinzugefügt"; +$text['label-date-added']['ar-eg'] = "تم اضافة التاريخ"; $text['label-count']['en-us'] = "Count"; $text['label-count']['es-cl'] = "Conteo"; @@ -275,6 +297,7 @@ $text['label-count']['sv-se'] = "Räkna"; $text['label-count']['uk'] = "Кількість"; $text['label-count']['ro'] = ""; $text['label-count']['de-at'] = "Zähler"; +$text['label-count']['ar-eg'] = ""; $text['label-called-on']['en-us'] = "Called on"; $text['label-called-on']['es-cl'] = "Llamó en"; @@ -287,6 +310,7 @@ $text['label-called-on']['sv-se'] = "Ringdes på"; $text['label-called-on']['uk'] = "Дзвінок здійснено"; $text['label-called-on']['ro'] = "Sunat pe"; $text['label-called-on']['de-at'] = "Anruf am"; +$text['label-called-on']['ar-eg'] = "تم الأتصال علي"; $text['label-busy']['en-us'] = "Busy"; $text['label-busy']['es-cl'] = "Ocupado"; @@ -299,6 +323,7 @@ $text['label-busy']['sv-se'] = "Upptagen"; $text['label-busy']['uk'] = "Зайнято"; $text['label-busy']['ro'] = "Ocupat"; $text['label-busy']['de-at'] = "Besetzt"; +$text['label-busy']['ar-eg'] = "مشغول"; $text['label-add-note']['en-us'] = "Block calls from a number. Either select a number from the list above or enter the number, name and enable below."; $text['label-add-note']['es-cl'] = "Bloquea llamadas desde un número. Puede elegir un número de la lista de arriba o ingresar el nú, nombre y activarlo abajo."; @@ -311,6 +336,7 @@ $text['label-add-note']['sv-se'] = "Blockera samtal från ett nummer. Välj anti $text['label-add-note']['uk'] = "Блокувати дзвінки з номера. Або вибрати номер зі списку вище або введіть номер, ім'я і включити нижче."; $text['label-add-note']['ro'] = ""; $text['label-add-note']['de-at'] = "Blockiert Anrufe von einer Nummer. Wählen Sie eine Nummer von der Liste oder geben Sie eine Nummer und einen Name ein. Aktivieren Sie die Sperrliste unten."; +$text['label-add-note']['ar-eg'] = ""; $text['label-add-complete']['en-us'] = "Add Complete"; $text['label-add-complete']['es-cl'] = "Agregar Completo"; @@ -323,6 +349,7 @@ $text['label-add-complete']['sv-se'] = "Tillagd"; $text['label-add-complete']['uk'] = "Додано"; $text['label-add-complete']['ro'] = "Adăugare completă"; $text['label-add-complete']['de-at'] = "Erfolgreich hinzugefügt"; +$text['label-add-complete']['ar-eg'] = "تمت الأضافة"; $text['label-action']['en-us'] = "Action"; $text['label-action']['es-cl'] = "Acción"; @@ -335,6 +362,7 @@ $text['label-action']['sv-se'] = "Åtgärd"; $text['label-action']['uk'] = "Дія"; $text['label-action']['ro'] = "Acțiune"; $text['label-action']['de-at'] = "Aktion"; +$text['label-action']['ar-eg'] = ""; $text['description-number']['en-us'] = "Enter the exact number."; $text['description-number']['es-cl'] = "Ingrese el nú exacto."; @@ -347,6 +375,7 @@ $text['description-number']['sv-se'] = "Ange det exakta numret"; $text['description-number']['uk'] = "Введіть точний номер"; $text['description-number']['ro'] = "Introduceți numărul exact"; $text['description-number']['de-at'] = "Geben Sie die genaue Nummer an."; +$text['description-number']['ar-eg'] = ""; $text['description-name']['en-us'] = "Enter the name."; $text['description-name']['es-cl'] = "Introduzca el nombre."; @@ -359,6 +388,7 @@ $text['description-name']['sv-se'] = "Skriv in namnet."; $text['description-name']['uk'] = "Введіть назву меню"; $text['description-name']['ro'] = "Introduceți numele"; $text['description-name']['de-at'] = "Geben Sie den Namen an"; +$text['description-name']['ar-eg'] = "أدخل الأسم"; $text['description-enable']['en-us'] = "Set to true to enable call blocking for this number."; $text['description-enable']['es-cl'] = "Seleccione verdadero para activar el bloqueo de llamadas desde este número."; @@ -371,6 +401,7 @@ $text['description-enable']['sv-se'] = "Välj Sann för att blockera detta numme $text['description-enable']['uk'] = "Виберіть 'Так', щоб блокувати дзвінки з даного номера."; $text['description-enable']['ro'] = ""; $text['description-enable']['de-at'] = "Setzen Sie auf An um den Blocker für diese Nummer zu aktivieren."; +$text['description-enable']['ar-eg'] = ""; $text['description-call-block']['en-us'] = "A list of numbers from which to block calls."; $text['description-call-block']['es-cl'] = "Un listado de números desde los cuales se bloquean las llamadas"; @@ -383,6 +414,7 @@ $text['description-call-block']['sv-se'] = "En lista med nummer för blockering $text['description-call-block']['uk'] = "Список номерів, з яких блокуються дзвінки."; $text['description-call-block']['ro'] = ""; $text['description-call-block']['de-at'] = "Eine Liste von Nummern die blockiert werden sollen."; +$text['description-call-block']['ar-eg'] = ""; $text['description-action']['en-us'] = "Set an action for calls from this number."; $text['description-action']['es-cl'] = "Configurar una acción para llamadas desde este número."; @@ -395,6 +427,7 @@ $text['description-action']['sv-se'] = "Välj en aktion för samtal från detta $text['description-action']['uk'] = "Встановіть дію для дзвінків з цього номера."; $text['description-action']['ro'] = ""; $text['description-action']['de-at'] = "Setzen Sie eine Aktion für Anrufe von dieser Nummer."; +$text['description-action']['ar-eg'] = ""; $text['confirm-delete']['en-us'] = "Do you really want to delete this?"; $text['confirm-delete']['es-cl'] = "¿Realmente desea eliminar el número?"; @@ -407,6 +440,7 @@ $text['confirm-delete']['sv-se'] = "Vill du verkligen ta bort detta?"; $text['confirm-delete']['uk'] = "Ви дійсно бажаєте це видалити?"; $text['confirm-delete']['ro'] = ""; $text['confirm-delete']['de-at'] = "Wollen Sie das wirklich löschen?"; +$text['confirm-delete']['ar-eg'] = ""; $text['button-view']['en-us'] = "View"; $text['button-view']['es-cl'] = "Ver"; @@ -419,6 +453,7 @@ $text['button-view']['sv-se'] = "Visa"; $text['button-view']['uk'] = "Перегляд"; $text['button-view']['ro'] = "Vizualizare"; $text['button-view']['de-at'] = "Ansicht"; +$text['button-view']['ar-eg'] = "عرض"; $text['button-save']['en-us'] = "Save"; $text['button-save']['es-cl'] = "Guardar"; @@ -431,6 +466,7 @@ $text['button-save']['sv-se'] = "Spara"; $text['button-save']['uk'] = "Зберегти"; $text['button-save']['ro'] = "Salvează"; $text['button-save']['de-at'] = "Speichern"; +$text['button-save']['ar-eg'] = "حفظ"; $text['button-edit']['en-us'] = "Edit"; $text['button-edit']['es-cl'] = "Editar"; @@ -443,6 +479,7 @@ $text['button-edit']['sv-se'] = "Editera"; $text['button-edit']['uk'] = "Редагувати"; $text['button-edit']['ro'] = "Editează"; $text['button-edit']['de-at'] = "Bearbeiten"; +$text['button-edit']['ar-eg'] = "تعديل"; $text['button-delete']['en-us'] = "Delete"; $text['button-delete']['es-cl'] = "Eliminar"; @@ -455,6 +492,7 @@ $text['button-delete']['sv-se'] = "Ta Bort"; $text['button-delete']['uk'] = "Видалити"; $text['button-delete']['ro'] = ""; $text['button-delete']['de-at'] = "Löschen"; +$text['button-delete']['ar-eg'] = "مسح"; $text['button-back']['en-us'] = "Back"; $text['button-back']['es-cl'] = "Volver"; @@ -467,6 +505,7 @@ $text['button-back']['sv-se'] = "Tillbaka"; $text['button-back']['uk'] = "Назад"; $text['button-back']['ro'] = "Înapoi"; $text['button-back']['de-at'] = "Zurück"; +$text['button-back']['ar-eg'] = "رجوع"; $text['button-add']['en-us'] = "Add"; $text['button-add']['pt-pt'] = "Adicionar"; @@ -478,5 +517,6 @@ $text['button-add']['sv-se'] = "Lägg Till"; $text['button-add']['uk'] = "Додати"; $text['button-add']['ro'] = "Adaugă"; $text['button-add']['de-at'] = "Hinzufügen"; +$text['button-add']['ar-eg'] = "اضافة"; ?> \ No newline at end of file diff --git a/app/call_block/app_menu.php b/app/call_block/app_menu.php index 6d140a5904..a803a0ed99 100644 --- a/app/call_block/app_menu.php +++ b/app/call_block/app_menu.php @@ -10,6 +10,7 @@ $apps[$x]['menu'][0]['title']['sv-se'] = "Blockera Samtal"; $apps[$x]['menu'][0]['title']['uk'] = "Блокування дзвінків"; $apps[$x]['menu'][0]['title']['ro'] = "Blocare apel"; $apps[$x]['menu'][0]['title']['de-at'] = "Sperrlisten"; +$apps[$x]['menu'][0]['title']['ar-eg'] = "حظر المكالمات"; $apps[$x]['menu'][0]['uuid'] = "29295c90-b1b9-440b-9c7E-c8363c6e8975"; $apps[$x]['menu'][0]['parent_uuid'] = "fd29e39c-c936-f5fc-8e2b-611681b266b5"; $apps[$x]['menu'][0]['category'] = "internal"; diff --git a/app/call_center_active/app_languages.php b/app/call_center_active/app_languages.php index 9b7eb44ebf..3a606fea74 100644 --- a/app/call_center_active/app_languages.php +++ b/app/call_center_active/app_languages.php @@ -8,6 +8,7 @@ $text['title-call_center_queue_activity']['pt-br'] = "Atividade das filas do cal $text['title-call_center_queue_activity']['pl'] = "Aktywność kolejek w Call Center "; $text['title-call_center_queue_activity']['sv-se'] = "Call Center Grupp Aktivitet"; $text['title-call_center_queue_activity']['de-at'] = "Callcenter Warteschlangen Aktivität"; +$text['title-call_center_queue_activity']['ar-eg'] = ""; $text['title-active_call_center']['en-us'] = "Active Call Center"; $text['title-active_call_center']['es-cl'] = "Centro de Llamados Activo"; @@ -17,6 +18,7 @@ $text['title-active_call_center']['pt-br'] = "Atividade do callcenter"; $text['title-active_call_center']['pl'] = "Aktywność w Call Center "; $text['title-active_call_center']['sv-se'] = "Aktivt Call Center"; $text['title-active_call_center']['de-at'] = "Aktive Callcenter"; +$text['title-active_call_center']['ar-eg'] = ""; $text['message-confirm']['en-us'] = "Do you really want to do this?"; $text['message-confirm']['es-cl'] = "¿Realmente desea ejecutar esta operación?"; @@ -26,6 +28,7 @@ $text['message-confirm']['pt-br'] = "Deseja realmente fazer isto?"; $text['message-confirm']['pl'] = "Czy napewno chcesz to zrobić?"; $text['message-confirm']['sv-se'] = "Vill du verkligen göra det här?"; $text['message-confirm']['de-at'] = "Wollen Sie das wirklich tun?"; +$text['message-confirm']['ar-eg'] = ""; $text['label-waiting']['en-us'] = "Waiting"; $text['label-waiting']['es-cl'] = "Esperando"; @@ -35,6 +38,7 @@ $text['label-waiting']['pt-br'] = "Esperar"; $text['label-waiting']['pl'] = "Oczekiwanie"; $text['label-waiting']['sv-se'] = "Väntar"; $text['label-waiting']['de-at'] = "Warten"; +$text['label-waiting']['ar-eg'] = "انتظار"; $text['label-trying']['en-us'] = "Trying"; $text['label-trying']['es-cl'] = "Intentando"; @@ -44,6 +48,7 @@ $text['label-trying']['pt-br'] = "Tentando"; $text['label-trying']['pl'] = "Próba"; $text['label-trying']['sv-se'] = "Försöker"; $text['label-trying']['de-at'] = "Versuchen"; +$text['label-trying']['ar-eg'] = ""; $text['label-transfer']['en-us'] = "Transfer"; $text['label-transfer']['es-cl'] = "Transferir"; @@ -53,6 +58,7 @@ $text['label-transfer']['pt-br'] = "Tranferência"; $text['label-transfer']['pl'] = "Transferowanie"; $text['label-transfer']['sv-se'] = "Överför"; $text['label-transfer']['de-at'] = "Weiterleiten"; +$text['label-transfer']['ar-eg'] = "تحويل"; $text['label-time_base_score']['en-us'] = "Time Base Score"; $text['label-time_base_score']['es-cl'] = "Puntuación basada en tiempo"; @@ -62,6 +68,7 @@ $text['label-time_base_score']['pt-br'] = "Pontuação baseada no tempo"; $text['label-time_base_score']['pl'] = "Wynik oparty na czasie"; $text['label-time_base_score']['sv-se'] = "Tidsbaserat Resultat"; $text['label-time_base_score']['de-at'] = "Taktgeber Punkte"; +$text['label-time_base_score']['ar-eg'] = ""; $text['label-time']['en-us'] = "Time"; $text['label-time']['es-cl'] = "Tiempo"; @@ -71,6 +78,7 @@ $text['label-time']['pt-br'] = "Fuso Horário"; $text['label-time']['pl'] = "Czas"; $text['label-time']['sv-se'] = "Tid"; $text['label-time']['de-at'] = "Zeitzone"; +$text['label-time']['ar-eg'] = "التوقيت"; $text['label-tier_state']['en-us'] = "Tier State"; $text['label-tier_state']['es-cl'] = "Estado de Nivel"; @@ -80,6 +88,7 @@ $text['label-tier_state']['pt-br'] = "Nivel de estado"; $text['label-tier_state']['pl'] = "Status poziomu"; $text['label-tier_state']['sv-se'] = "Kunskap Status"; $text['label-tier_state']['de-at'] = "Ebenen Status"; +$text['label-tier_state']['ar-eg'] = ""; $text['label-tier_rules_apply']['en-us'] = "Tier Rules Apply"; $text['label-tier_rules_apply']['es-cl'] = "Aplicar Reglas de Nivel"; @@ -89,6 +98,7 @@ $text['label-tier_rules_apply']['pt-br'] = "Aplicar regas de nivel"; $text['label-tier_rules_apply']['pl'] = "Zastosuj zasadę poziomów"; $text['label-tier_rules_apply']['sv-se'] = "Kunskap Regler Gäller"; $text['label-tier_rules_apply']['de-at'] = "Ebenen Regeln werden angewendet"; +$text['label-tier_rules_apply']['ar-eg'] = ""; $text['label-tier_rule_wait_second']['en-us'] = "Tier Rule Wait Second"; $text['label-tier_rule_wait_second']['es-cl'] = "Regla de nível segundo de espera"; @@ -98,6 +108,7 @@ $text['label-tier_rule_wait_second']['pt-br'] = "Regra de segundo nivel de esper $text['label-tier_rule_wait_second']['pl'] = "Poziomowa zasada czekania"; $text['label-tier_rule_wait_second']['sv-se'] = "Kunskap Regel Väntetid i Sekunder"; $text['label-tier_rule_wait_second']['de-at'] = "Ebenen Regel Wartezeit"; +$text['label-tier_rule_wait_second']['ar-eg'] = ""; $text['label-tier_rule_wait_multiply_level']['en-us'] = "Tier Rule Wait Multiply Level"; $text['label-tier_rule_wait_multiply_level']['es-cl'] = "Regla de nivel multiplicar nivel de espera"; @@ -107,6 +118,7 @@ $text['label-tier_rule_wait_multiply_level']['pt-br'] = "Regra de espera multipl $text['label-tier_rule_wait_multiply_level']['pl'] = "Poziomowa zasada przemnożenia"; $text['label-tier_rule_wait_multiply_level']['sv-se'] = "Kunskap Regel Väntetid Multipla Värden"; $text['label-tier_rule_wait_multiply_level']['de-at'] = "Ebenen Regel Wartezeit Multiplikator Level"; +$text['label-tier_rule_wait_multiply_level']['ar-eg'] = ""; $text['label-tier_rule_no_agent_no_wait']['en-us'] = "Tier Rule No Agent No Wait"; $text['label-tier_rule_no_agent_no_wait']['es-cl'] = "Regla de Nivel sin Agente sin Espera"; @@ -116,6 +128,7 @@ $text['label-tier_rule_no_agent_no_wait']['pt-br'] = "Regra de nivel sem espera $text['label-tier_rule_no_agent_no_wait']['pl'] = "Zasada poziomowa - nie ma agentów, nie ma czekania"; $text['label-tier_rule_no_agent_no_wait']['sv-se'] = "Kunskap Regel Ingen Agent Ingen Väntan"; $text['label-tier_rule_no_agent_no_wait']['de-at'] = "Ebenen Regel kein Agent nicht warten"; +$text['label-tier_rule_no_agent_no_wait']['ar-eg'] = ""; $text['label-tier_position']['en-us'] = "Tier Position"; $text['label-tier_position']['es-cl'] = "Posición de Nivel"; @@ -125,6 +138,7 @@ $text['label-tier_position']['pt-br'] = "Nivel da posição"; $text['label-tier_position']['pl'] = "Pozycja poziomu"; $text['label-tier_position']['sv-se'] = "Kunskap Position"; $text['label-tier_position']['de-at'] = "Ebenen Position"; +$text['label-tier_position']['ar-eg'] = ""; $text['label-tier_level']['en-us'] = "Tier Level"; $text['label-tier_level']['es-cl'] = "Nivel"; @@ -134,6 +148,7 @@ $text['label-tier_level']['pt-br'] = "Nivel da camada"; $text['label-tier_level']['pl'] = "Tier Level"; $text['label-tier_level']['sv-se'] = "Kunskap Nivå"; $text['label-tier_level']['de-at'] = "Ebenen Level"; +$text['label-tier_level']['ar-eg'] = ""; $text['label-system']['en-us'] = "System"; $text['label-system']['es-cl'] = "Sistema"; @@ -143,6 +158,7 @@ $text['label-system']['pt-br'] = "Sistema"; $text['label-system']['pl'] = "System"; $text['label-system']['sv-se'] = "System"; $text['label-system']['de-at'] = "System"; +$text['label-system']['ar-eg'] = "النظام"; $text['label-strategy']['en-us'] = "Strategy"; $text['label-strategy']['es-cl'] = "Estrategia"; @@ -152,6 +168,7 @@ $text['label-strategy']['pt-br'] = "Estratégia"; $text['label-strategy']['pl'] = "Strategia"; $text['label-strategy']['sv-se'] = "Strategi"; $text['label-strategy']['de-at'] = "Strategie"; +$text['label-strategy']['ar-eg'] = ""; $text['label-status_change']['en-us'] = "Status Change"; $text['label-status_change']['es-cl'] = "Cambio de Estado"; @@ -161,6 +178,7 @@ $text['label-status_change']['pt-br'] = "Mudança de estado"; $text['label-status_change']['pl'] = "Zmiana statusu"; $text['label-status_change']['sv-se'] = "Status Förändra"; $text['label-status_change']['de-at'] = "Status Änderung"; +$text['label-status_change']['ar-eg'] = ""; $text['label-status']['en-us'] = "Status"; $text['label-status']['es-cl'] = "Estado"; @@ -170,6 +188,7 @@ $text['label-status']['pt-br'] = "Estado"; $text['label-status']['pl'] = "Status"; $text['label-status']['sv-se'] = "Status"; $text['label-status']['de-at'] = "Status"; +$text['label-status']['ar-eg'] = "الحالة"; $text['label-state']['en-us'] = "State"; $text['label-state']['es-cl'] = "Estado"; @@ -179,6 +198,7 @@ $text['label-state']['pt-br'] = "Estado"; $text['label-state']['pl'] = "Stan"; $text['label-state']['sv-se'] = "Status"; $text['label-state']['de-at'] = "Status"; +$text['label-state']['ar-eg'] = ""; $text['label-record_template']['en-us'] = "Record Template"; $text['label-record_template']['es-cl'] = "Plantilla de Grabación"; @@ -188,6 +208,7 @@ $text['label-record_template']['pt-br'] = "Gravar"; $text['label-record_template']['pl'] = "Nagraj"; $text['label-record_template']['sv-se'] = "Spela In Mall"; $text['label-record_template']['de-at'] = "Aufnahme Vorlage"; +$text['label-record_template']['ar-eg'] = ""; $text['label-queue_name']['en-us'] = "Queue Name"; $text['label-queue_name']['es-cl'] = "Nombre de Cola"; @@ -197,6 +218,7 @@ $text['label-queue_name']['pt-br'] = "Nome da fila"; $text['label-queue_name']['pl'] = "Nazwa kolejki"; $text['label-queue_name']['sv-se'] = "Grupp Namn"; $text['label-queue_name']['de-at'] = "Warteschlange Name"; +$text['label-queue_name']['ar-eg'] = "اسم الطابور"; $text['label-queue']['en-us'] = "Queue"; $text['label-queue']['es-cl'] = "Cola"; @@ -206,6 +228,7 @@ $text['label-queue']['pt-br'] = "Fila"; $text['label-queue']['pl'] = "Kolejka"; $text['label-queue']['sv-se'] = "Grupp"; $text['label-queue']['de-at'] = "Warteschlange"; +$text['label-queue']['ar-eg'] = "طابور"; $text['label-options']['en-us'] = "Options"; $text['label-options']['es-cl'] = "Opciones"; @@ -215,6 +238,7 @@ $text['label-options']['pt-br'] = "Opções"; $text['label-options']['pl'] = "Opcje"; $text['label-options']['sv-se'] = "Val"; $text['label-options']['de-at'] = "Optionen"; +$text['label-options']['ar-eg'] = ""; $text['label-number']['en-us'] = "Number"; $text['label-number']['es-cl'] = "Número"; @@ -224,6 +248,7 @@ $text['label-number']['pt-br'] = "Número"; $text['label-number']['pl'] = "Numer"; $text['label-number']['sv-se'] = "Nummer"; $text['label-number']['de-at'] = "Nummer"; +$text['label-number']['ar-eg'] = "رقم"; $text['label-name']['en-us'] = "Name"; $text['label-name']['es-cl'] = "Nombre"; @@ -233,6 +258,7 @@ $text['label-name']['pt-br'] = "Nome"; $text['label-name']['pl'] = "Nazwa"; $text['label-name']['sv-se'] = "Namn"; $text['label-name']['de-at'] = "Name"; +$text['label-name']['ar-eg'] = "الأسم"; $text['label-music_on_hold']['en-us'] = "Music on Hold"; $text['label-music_on_hold']['es-cl'] = "Musica en Espera"; @@ -242,6 +268,7 @@ $text['label-music_on_hold']['pt-br'] = "Música de espera"; $text['label-music_on_hold']['pl'] = "Muzyka na czekanie"; $text['label-music_on_hold']['sv-se'] = "Väntmusik"; $text['label-music_on_hold']['de-at'] = "Haltemusik"; +$text['label-music_on_hold']['ar-eg'] = ""; $text['label-missed']['en-us'] = "Missed"; $text['label-missed']['es-cl'] = "Perdido"; @@ -251,6 +278,7 @@ $text['label-missed']['pt-br'] = "Perdidas"; $text['label-missed']['pl'] = "Nie odebrany"; $text['label-missed']['sv-se'] = "Missade"; $text['label-missed']['de-at'] = "Verpasst"; +$text['label-missed']['ar-eg'] = ""; $text['label-max_wait_time_with_no_agent']['en-us'] = "Max Wait Time with No Agent"; $text['label-max_wait_time_with_no_agent']['es-cl'] = "Tiempo Máximo de Espera sin Agente"; @@ -260,6 +288,7 @@ $text['label-max_wait_time_with_no_agent']['pt-br'] = "Tempo máximo sem agente" $text['label-max_wait_time_with_no_agent']['pl'] = "Maks czas oczekiwania bez agenta"; $text['label-max_wait_time_with_no_agent']['sv-se'] = "Max Vänt Tid (Ingen Agent)"; $text['label-max_wait_time_with_no_agent']['de-at'] = "Maximale Wartezeit ohne Agent"; +$text['label-max_wait_time_with_no_agent']['ar-eg'] = ""; $text['label-max_wait_time']['en-us'] = "Max Wait Time"; $text['label-max_wait_time']['es-cl'] = "Tiempo Máximo de Espera"; @@ -269,6 +298,7 @@ $text['label-max_wait_time']['pt-br'] = "Tempo máximo de espera"; $text['label-max_wait_time']['pl'] = "Maks czas oczekiwania"; $text['label-max_wait_time']['sv-se'] = "Max Vänt Tid"; $text['label-max_wait_time']['de-at'] = "Maximale Wartezeit"; +$text['label-max_wait_time']['ar-eg'] = ""; $text['label-extension']['en-us'] = "Extension"; $text['label-extension']['es-cl'] = "Extensión"; @@ -278,6 +308,7 @@ $text['label-extension']['pt-br'] = "Ramal"; $text['label-extension']['pl'] = "Numer wewnętrzny"; $text['label-extension']['sv-se'] = "Anknytning"; $text['label-extension']['de-at'] = "Nebenstelle"; +$text['label-extension']['ar-eg'] = "رقم داخلي"; $text['label-eavesdrop']['en-us'] = "Eavesdrop"; $text['label-eavesdrop']['es-cl'] = "Escuchar"; @@ -287,6 +318,7 @@ $text['label-eavesdrop']['pt-br'] = "Investigar"; $text['label-eavesdrop']['pl'] = "Podsłuchiwanie"; $text['label-eavesdrop']['sv-se'] = "Medlyssning"; $text['label-eavesdrop']['de-at'] = "Mithören"; +$text['label-eavesdrop']['ar-eg'] = ""; $text['label-discard_abandoned_after']['en-us'] = "Discard Abandoned After"; $text['label-discard_abandoned_after']['es-cl'] = "Descartar Abandono Despues de"; @@ -296,6 +328,7 @@ $text['label-discard_abandoned_after']['pt-br'] = "Rejeição abandonada depois" $text['label-discard_abandoned_after']['pl'] = "Odrzuć opuszczoną rozmowę po"; $text['label-discard_abandoned_after']['sv-se'] = "Uteslut Övergivna Efter "; $text['label-discard_abandoned_after']['de-at'] = "Zurückweisen nach Abwurf"; +$text['label-discard_abandoned_after']['ar-eg'] = ""; $text['label-description']['en-us'] = "Description"; $text['label-description']['es-cl'] = "Descripción"; @@ -305,6 +338,7 @@ $text['label-description']['pt-br'] = "Descrição"; $text['label-description']['pl'] = "Opis"; $text['label-description']['sv-se'] = "Beskrivning"; $text['label-description']['de-at'] = "Beschreibung"; +$text['label-description']['ar-eg'] = "الوصف"; $text['label-call']['en-us'] = "Call"; $text['label-call']['es-cl'] = "Llamar"; @@ -314,6 +348,7 @@ $text['label-call']['pt-br'] = "Chamada"; $text['label-call']['pl'] = "Rozmowa"; $text['label-call']['sv-se'] = "Samtal"; $text['label-call']['de-at'] = "Anruf"; +$text['label-call']['ar-eg'] = ""; $text['label-answered']['en-us'] = "Answered"; $text['label-answered']['es-cl'] = "Respondido"; @@ -323,6 +358,7 @@ $text['label-answered']['pt-br'] = "Atendidas"; $text['label-answered']['pl'] = "Odebrano"; $text['label-answered']['sv-se'] = "Besvarad"; $text['label-answered']['de-at'] = "Angenommen"; +$text['label-answered']['ar-eg'] = ""; $text['label-agent']['en-us'] = "Agent"; $text['label-agent']['es-cl'] = "Agente"; @@ -332,6 +368,7 @@ $text['label-agent']['pt-br'] = "Agente"; $text['label-agent']['pl'] = "Agent"; $text['label-agent']['sv-se'] = "Agent"; $text['label-agent']['de-at'] = "Agent"; +$text['label-agent']['ar-eg'] = ""; $text['label-abandoned_resume_allowed']['en-us'] = "Abandoned Resume Allowed"; $text['label-abandoned_resume_allowed']['es-cl'] = "Permitir Reanudación de Abandono"; @@ -341,6 +378,7 @@ $text['label-abandoned_resume_allowed']['pt-br'] = "Resumo autorizado"; $text['label-abandoned_resume_allowed']['pl'] = "Odbieranie odrzuconych rozmów jest dozwolone"; $text['label-abandoned_resume_allowed']['sv-se'] = "Återuppta Övergivna Tillåtet"; $text['label-abandoned_resume_allowed']['de-at'] = "Wiederaufnahme nach Zurückweisung erlaubt"; +$text['label-abandoned_resume_allowed']['ar-eg'] = ""; $text['header-agents']['en-us'] = "Agents"; $text['header-agents']['es-cl'] = "Agentes"; @@ -350,6 +388,7 @@ $text['header-agents']['pt-br'] = "Agentes"; $text['header-agents']['pl'] = "Agenci"; $text['header-agents']['sv-se'] = "Agenter"; $text['header-agents']['de-at'] = "Agenten"; +$text['header-agents']['ar-eg'] = ""; $text['header-active_call_center']['en-us'] = "Active Call Center"; $text['header-active_call_center']['es-cl'] = "Centro de Llamados Activo"; @@ -359,6 +398,7 @@ $text['header-active_call_center']['pt-br'] = "Atividade do call center"; $text['header-active_call_center']['pl'] = "Aktywność w Call Center "; $text['header-active_call_center']['sv-se'] = "Aktivt Call Center"; $text['header-active_call_center']['de-at'] = "Aktives Callcenter"; +$text['header-active_call_center']['ar-eg'] = ""; $text['description-queue']['en-us'] = "A current list of callers in the queue is below."; $text['description-queue']['es-cl'] = "Un listado de los llamantes en cola se muestra a continuación."; @@ -368,6 +408,7 @@ $text['description-queue']['pt-br'] = "Lista de chamada na fila"; $text['description-queue']['pl'] = "Aktualna lista rozmówców w kolejce jest poniżej ."; $text['description-queue']['sv-se'] = "Aktuell lista på köande samtal enligt nedan "; $text['description-queue']['de-at'] = "Eine aktuelle Liste der Anrufer in der Warteschlange sehen sie unten."; +$text['description-queue']['ar-eg'] = ""; $text['description-agents']['en-us'] = "A current list of agents is below."; $text['description-agents']['es-cl'] = "Un listado de los agentes actuales de muestra a continuación."; @@ -377,6 +418,7 @@ $text['description-agents']['pt-br'] = "Lista de agentes"; $text['description-agents']['pl'] = "Aktualna lista agentów jest poniżej "; $text['description-agents']['sv-se'] = "Aktuell lista på Agenter enligt nedan"; $text['description-agents']['de-at'] = "Eine aktuelle Liste der Agenten sehen sie unten."; +$text['description-agents']['ar-eg'] = ""; $text['description-active_call_center']['en-us'] = "Select a Call Center Queue from the list below to view its activity."; $text['description-active_call_center']['es-cl'] = "Seleccione la Cola del Centro de Llamados desde el siguiente listado para ver su actividad."; @@ -386,6 +428,7 @@ $text['description-active_call_center']['pt-br'] = "Selecione uma fila de call c $text['description-active_call_center']['pl'] = "Aby zobaczyć aktywność kolejki w Call Center wybierz ja z poniższej listy."; $text['description-active_call_center']['sv-se'] = "Välj en Call Center Grupp från listan nedan för att se dess aktivitet"; $text['description-active_call_center']['de-at'] = "Wählen Sie eine Callcenter Warteschlange aus der Liste unten um die Aktivität zu beobachten."; +$text['description-active_call_center']['ar-eg'] = ""; $text['button-view']['en-us'] = "View"; $text['button-view']['es-cl'] = "Ver"; @@ -395,6 +438,7 @@ $text['button-view']['pt-br'] = "Visualizar"; $text['button-view']['pl'] = "Widok"; $text['button-view']['sv-se'] = "Visa"; $text['button-view']['de-at'] = "Ansicht"; +$text['button-view']['ar-eg'] = "عرض"; $text['button-edit']['en-us'] = "Edit"; $text['button-edit']['es-cl'] = "Editar"; @@ -404,5 +448,6 @@ $text['button-edit']['pt-br'] = "Editar"; $text['button-edit']['pl'] = "Edytuj"; $text['button-edit']['sv-se'] = "Editera"; $text['button-edit']['de-at'] = "Bearbeiten"; +$text['button-edit']['ar-eg'] = "تعديل"; ?> \ No newline at end of file diff --git a/app/destinations/app_languages.php b/app/destinations/app_languages.php index 25785b2f60..ae64c9b15d 100644 --- a/app/destinations/app_languages.php +++ b/app/destinations/app_languages.php @@ -11,6 +11,7 @@ $text['title-destinations']['uk'] = "Номери"; $text['title-destinations']['ro'] = "Destinații"; $text['title-destinations']['de-at'] = "Kopfnummern"; $text['title-destinations']['fa'] = ""; +$text['title-destinations']['ar-eg'] = "جهات الأتصال"; $text['title-destination-edit']['en-us'] = "Destination"; $text['title-destination-edit']['es-cl'] = "Editar Destino"; @@ -23,6 +24,7 @@ $text['title-destination-edit']['uk'] = "Номер"; $text['title-destination-edit']['ro'] = "Destinație"; $text['title-destination-edit']['de-at'] = "Kopfnummer"; $text['title-destination-edit']['fa'] = ""; +$text['title-destination-edit']['ar-eg'] = "جهه الأتصال"; $text['title-destination-add']['en-us'] = "Destination"; $text['title-destination-add']['es-cl'] = "Agregar Destino"; @@ -35,6 +37,7 @@ $text['title-destination-add']['uk'] = "Номер"; $text['title-destination-add']['ro'] = "Destinație"; $text['title-destination-add']['de-at'] = "Kopfnummer"; $text['title-destination-add']['fa'] = ""; +$text['title-destination-add']['ar-eg'] = "جهه الأتصال"; $text['select-global']['en-us'] = "Global"; $text['select-global']['es-cl'] = "Global"; @@ -47,6 +50,7 @@ $text['select-global']['uk'] = "Глобальний"; $text['select-global']['ro'] = "Global"; $text['select-global']['de-at'] = "Global"; $text['select-global']['fa'] = "عمومی"; +$text['select-global']['ar-eg'] = ""; $text['option-type_outbound']['en-us'] = "Outbound"; $text['option-type_outbound']['es-cl'] = "Saliente"; @@ -59,6 +63,7 @@ $text['option-type_outbound']['uk'] = "Вихідний"; $text['option-type_outbound']['ro'] = ""; $text['option-type_outbound']['de-at'] = "Ausgehend"; $text['option-type_outbound']['fa'] = "خروجی"; +$text['option-type_outbound']['ar-eg'] = "صادر"; $text['option-type_inbound']['en-us'] = "Inbound"; $text['option-type_inbound']['es-cl'] = "Entrante"; @@ -71,6 +76,7 @@ $text['option-type_inbound']['uk'] = "Вхідний"; $text['option-type_inbound']['ro'] = ""; $text['option-type_inbound']['de-at'] = "Eingehend"; $text['option-type_inbound']['fa'] = "ورودی"; +$text['option-type_inbound']['ar-eg'] = "وارد"; $text['message-update']['en-us'] = "Update Completed"; $text['message-update']['es-cl'] = "Actualización Completa"; @@ -83,6 +89,7 @@ $text['message-update']['uk'] = "Оновлення завершено"; $text['message-update']['ro'] = "Actualizare completă"; $text['message-update']['de-at'] = "Aktualisierung durchgeführt"; $text['message-update']['fa'] = "بروز رسانی انجام شد"; +$text['message-update']['ar-eg'] = "اكتمال التحديث"; $text['message-required']['en-us'] = "Please provide: "; $text['message-required']['es-cl'] = "Por favor ingrese: "; @@ -95,6 +102,7 @@ $text['message-required']['uk'] = "Будь ласка, вкажіть:"; $text['message-required']['ro'] = ""; $text['message-required']['de-at'] = "Bitte geben Sie folgendes an:"; $text['message-required']['fa'] = ""; +$text['message-required']['ar-eg'] = "من فضلك أدخل"; $text['message-maximum_destinations']['en-us'] = "Maximum Destinations:"; $text['message-maximum_destinations']['es-cl'] = "Destinos Máximo Permitido:"; @@ -107,6 +115,7 @@ $text['message-maximum_destinations']['uk'] = "Максимум номерів:" $text['message-maximum_destinations']['ro'] = ""; $text['message-maximum_destinations']['de-at'] = "Maximale Anzahl an Kopfnummern:"; $text['message-maximum_destinations']['fa'] = ""; +$text['message-maximum_destinations']['ar-eg'] = "الحد الأقصي لجهات الأتصال"; $text['message-duplicate']['en-us'] = "Duplicate detected"; $text['message-duplicate']['es-cl'] = "Duplicar detectado"; @@ -119,6 +128,7 @@ $text['message-duplicate']['uk'] = "Знайдено дублікат"; $text['message-duplicate']['ro'] = ""; $text['message-duplicate']['de-at'] = "bereits vorhanden"; $text['message-duplicate']['fa'] = "مورد تکراری"; +$text['message-duplicate']['ar-eg'] = ""; $text['message-delete']['en-us'] = "Delete Completed"; $text['message-delete']['es-cl'] = "Eliminación Completa"; @@ -131,6 +141,7 @@ $text['message-delete']['uk'] = "Видалено"; $text['message-delete']['ro'] = "Ștergere completă"; $text['message-delete']['de-at'] = "Erfolgreich gelöscht"; $text['message-delete']['fa'] = "حذف انجام شد"; +$text['message-delete']['ar-eg'] = "تم المسح"; $text['message-add']['en-us'] = "Add Completed"; $text['message-add']['es-cl'] = "Agregar Completo"; @@ -143,6 +154,7 @@ $text['message-add']['uk'] = "Додано"; $text['message-add']['ro'] = "Adăugare completă"; $text['message-add']['de-at'] = "Erfolgreich hinzugefügt"; $text['message-add']['fa'] = ""; +$text['message-add']['ar-eg'] = "تمت الأضافة"; $text['label-true']['en-us'] = "True"; $text['label-true']['es-cl'] = "Verdadero"; @@ -155,6 +167,7 @@ $text['label-true']['uk'] = "Так"; $text['label-true']['ro'] = ""; $text['label-true']['de-at'] = "Ein"; $text['label-true']['fa'] = ""; +$text['label-true']['ar-eg'] = "صحيح"; $text['label-monthly_price_buy']['en-us'] = "Monthly buy price"; $text['label-monthly_price_buy']['es-cl'] = "Precio mensual de compra"; @@ -167,6 +180,7 @@ $text['label-monthly_price_buy']['uk'] = "Щомісячна ціна купів $text['label-monthly_price_buy']['ro'] = ""; $text['label-monthly_price_buy']['de-at'] = "Monatlicher Einkaufspreis"; $text['label-monthly_price_buy']['fa'] = ""; +$text['label-monthly_price_buy']['ar-eg'] = ""; $text['label-monthly_price']['en-us'] = "Monthly selling price"; $text['label-monthly_price']['es-cl'] = "Precio mensual de venta"; @@ -179,6 +193,7 @@ $text['label-monthly_price']['uk'] = "Щомісячна ціна продажу $text['label-monthly_price']['ro'] = ""; $text['label-monthly_price']['de-at'] = "Monatlicher Verkaufspreis"; $text['label-monthly_price']['fa'] = ""; +$text['label-monthly_price']['ar-eg'] = ""; $text['label-fax_uuid']['en-us'] = "Fax Detection"; $text['label-fax_uuid']['es-cl'] = "Detección de Fax"; @@ -191,6 +206,7 @@ $text['label-fax_uuid']['uk'] = "Виявлення факсу"; $text['label-fax_uuid']['ro'] = ""; $text['label-fax_uuid']['de-at'] = "Fax Erkennung"; $text['label-fax_uuid']['fa'] = "آشکارسازی فاکس"; +$text['label-fax_uuid']['ar-eg'] = ""; $text['label-false']['en-us'] = "False"; $text['label-false']['es-cl'] = "Falso"; @@ -203,6 +219,7 @@ $text['label-false']['uk'] = "Ні"; $text['label-false']['ro'] = ""; $text['label-false']['de-at'] = "Aus"; $text['label-false']['fa'] = ""; +$text['label-false']['ar-eg'] = "خطأ"; $text['label-domain-name']['en-us'] = "Domain Name"; $text['label-domain-name']['es-cl'] = "Nombre de Dominio"; @@ -215,6 +232,7 @@ $text['label-domain-name']['uk'] = "Назва домену"; $text['label-domain-name']['ro'] = ""; $text['label-domain-name']['de-at'] = "Domain Name"; $text['label-domain-name']['fa'] = "اسم دامین"; +$text['label-domain-name']['ar-eg'] = "اسم النطاق"; $text['label-domain']['en-us'] = "Domain"; $text['label-domain']['es-cl'] = "Dominio"; @@ -227,6 +245,7 @@ $text['label-domain']['uk'] = "Домен"; $text['label-domain']['ro'] = "Domeniu"; $text['label-domain']['de-at'] = "Domain"; $text['label-domain']['fa'] = ""; +$text['label-domain']['ar-eg'] = "النطاق"; $text['label-detail_action']['en-us'] = "Actions"; $text['label-detail_action']['es-cl'] = "Accións"; @@ -239,6 +258,7 @@ $text['label-detail_action']['uk'] = "Дії"; $text['label-detail_action']['ro'] = ""; $text['label-detail_action']['de-at'] = "Aktionen"; $text['label-detail_action']['fa'] = ""; +$text['label-detail_action']['ar-eg'] = "الأفعال"; $text['label-destination_type']['en-us'] = "Type"; $text['label-destination_type']['es-cl'] = "Tipo"; @@ -251,6 +271,7 @@ $text['label-destination_type']['uk'] = "Тип"; $text['label-destination_type']['ro'] = ""; $text['label-destination_type']['de-at'] = "Typ"; $text['label-destination_type']['fa'] = ""; +$text['label-destination_type']['ar-eg'] = "النوع"; $text['label-destination_number']['en-us'] = "Destination"; $text['label-destination_number']['es-cl'] = "Destino"; @@ -263,6 +284,7 @@ $text['label-destination_number']['uk'] = "Номер"; $text['label-destination_number']['ro'] = ""; $text['label-destination_number']['de-at'] = "Ziel"; $text['label-destination_number']['fa'] = ""; +$text['label-destination_number']['ar-eg'] = "جهه الأتصال"; $text['label-destination_enabled']['en-us'] = "Enabled"; $text['label-destination_enabled']['es-cl'] = "Activado"; @@ -275,6 +297,7 @@ $text['label-destination_enabled']['uk'] = "Включено"; $text['label-destination_enabled']['ro'] = ""; $text['label-destination_enabled']['de-at'] = "Ein"; $text['label-destination_enabled']['fa'] = ""; +$text['label-destination_enabled']['ar-eg'] = "مفعل"; $text['label-destination_description']['en-us'] = "Description"; $text['label-destination_description']['es-cl'] = "Descripción"; @@ -287,6 +310,7 @@ $text['label-destination_description']['uk'] = "Опис"; $text['label-destination_description']['ro'] = ""; $text['label-destination_description']['de-at'] = "Beschreibung"; $text['label-destination_description']['fa'] = ""; +$text['label-destination_description']['ar-eg'] = "الوصف"; $text['label-destination_context']['en-us'] = "Context"; $text['label-destination_context']['es-cl'] = "Contexto"; @@ -299,6 +323,7 @@ $text['label-destination_context']['uk'] = "Контекст"; $text['label-destination_context']['ro'] = ""; $text['label-destination_context']['de-at'] = "Kontext"; $text['label-destination_context']['fa'] = ""; +$text['label-destination_context']['ar-eg'] = ""; $text['label-destination_cid_name_prefix']['en-us'] = "Caller ID Name Prefix"; $text['label-destination_cid_name_prefix']['es-cl'] = "Prefijo de Nombre de Caller ID"; @@ -311,6 +336,7 @@ $text['label-destination_cid_name_prefix']['uk'] = "Caller ID Префікс і $text['label-destination_cid_name_prefix']['ro'] = ""; $text['label-destination_cid_name_prefix']['de-at'] = "Anruferkennung (Name) Präfix"; $text['label-destination_cid_name_prefix']['fa'] = ""; +$text['label-destination_cid_name_prefix']['ar-eg'] = ""; $text['label-destination_caller_id_number']['en-us'] = "Caller ID Number"; $text['label-destination_caller_id_number']['es-cl'] = "Número de Caller ID"; @@ -323,6 +349,7 @@ $text['label-destination_caller_id_number']['uk'] = "Caller ID Номер"; $text['label-destination_caller_id_number']['ro'] = ""; $text['label-destination_caller_id_number']['de-at'] = "Anruferkennung (Nummer)"; $text['label-destination_caller_id_number']['fa'] = ""; +$text['label-destination_caller_id_number']['ar-eg'] = "رقم المتصل"; $text['label-destination_caller_id_name']['en-us'] = "Caller ID Name"; $text['label-destination_caller_id_name']['es-cl'] = "Nombre de Caller ID"; @@ -335,6 +362,7 @@ $text['label-destination_caller_id_name']['uk'] = "Caller ID Ім’я"; $text['label-destination_caller_id_name']['ro'] = ""; $text['label-destination_caller_id_name']['de-at'] = "Anruferkennung (Name)"; $text['label-destination_caller_id_name']['fa'] = ""; +$text['label-destination_caller_id_name']['ar-eg'] = "اسم المتصل"; $text['label-carrier']['en-us'] = "Carrier name"; $text['label-carrier']['es-cl'] = "Nombre del carrier"; @@ -347,6 +375,7 @@ $text['label-carrier']['uk'] = "Назва оператора"; $text['label-carrier']['ro'] = ""; $text['label-carrier']['de-at'] = "Provider Name"; $text['label-carrier']['fa'] = ""; +$text['label-carrier']['ar-eg'] = ""; $text['label-account_code']['en-us'] = "Account Code"; $text['label-account_code']['es-cl'] = "Código de Cuenta"; @@ -359,6 +388,7 @@ $text['label-account_code']['uk'] = "Код облікового запису"; $text['label-account_code']['ro'] = ""; $text['label-account_code']['de-at'] = "Account Code"; $text['label-account_code']['fa'] = ""; +$text['label-account_code']['ar-eg'] = ""; $text['header-destinations']['en-us'] = "Destinations"; $text['header-destinations']['es-cl'] = "Destinos"; @@ -371,6 +401,7 @@ $text['header-destinations']['uk'] = "Номери"; $text['header-destinations']['ro'] = ""; $text['header-destinations']['de-at'] = "Ziele"; $text['header-destinations']['fa'] = ""; +$text['header-destinations']['ar-eg'] = "جهات الأتصال"; $text['header-destination-edit']['en-us'] = "Destination"; $text['header-destination-edit']['es-cl'] = "Editar Destino"; @@ -383,6 +414,7 @@ $text['header-destination-edit']['uk'] = "Номер"; $text['header-destination-edit']['ro'] = ""; $text['header-destination-edit']['de-at'] = "Ziel"; $text['header-destination-edit']['fa'] = ""; +$text['header-destination-edit']['ar-eg'] = "جهه الأتصال"; $text['header-destination-add']['en-us'] = "Destination"; $text['header-destination-add']['es-cl'] = "Agregar Destino"; @@ -395,6 +427,7 @@ $text['header-destination-add']['uk'] = "Номер"; $text['header-destination-add']['ro'] = ""; $text['header-destination-add']['de-at'] = "Ziel"; $text['header-destination-add']['fa'] = ""; +$text['header-destination-add']['ar-eg'] = "جهه الأتصال"; $text['description-monthly_price_buy']['en-us'] = "Enter monthly price you pay for this destination (only when inbound)"; $text['description-monthly_price_buy']['es-cl'] = "Ingrese el precio mensual que usted paga por este destino (sólo entrante)"; @@ -407,6 +440,7 @@ $text['description-monthly_price_buy']['uk'] = "Введіть щомісячн $text['description-monthly_price_buy']['ro'] = ""; $text['description-monthly_price_buy']['de-at'] = "Geben Sie den monatlichen Einkaufspreis für dieses Ziel an (nur wenn eingehend)"; $text['description-monthly_price_buy']['fa'] = ""; +$text['description-monthly_price_buy']['ar-eg'] = ""; $text['description-monthly_price']['en-us'] = "Enter monthly price to bill for this destination (only when inbound)"; $text['description-monthly_price']['es-cl'] = "Ingrese el precio mensual a cobrar por este destino (sólo entrante)"; @@ -419,6 +453,7 @@ $text['description-monthly_price']['uk'] = "Введіть щомісячний $text['description-monthly_price']['ro'] = ""; $text['description-monthly_price']['de-at'] = "Geben Sie den monatlichen Verkaufspreis für dieses Ziel an (nur wenn eingehend)"; $text['description-monthly_price']['fa'] = ""; +$text['description-monthly_price']['ar-eg'] = ""; $text['description-fax_uuid']['en-us'] = "Select the fax destination to enable fax detection. "; $text['description-fax_uuid']['es-cl'] = "Seleccione el destino de fax para activar su detección"; @@ -431,6 +466,7 @@ $text['description-fax_uuid']['uk'] = "Виберіть номер для фа $text['description-fax_uuid']['ro'] = ""; $text['description-fax_uuid']['de-at'] = "Wählen Sie einen Fax Server um Faxerkennung für eingehende Anrufe zu aktivieren."; $text['description-fax_uuid']['fa'] = ""; +$text['description-fax_uuid']['ar-eg'] = ""; $text['description-domain']['en-us'] = ""; $text['description-domain']['es-cl'] = ""; @@ -443,6 +479,7 @@ $text['description-domain']['uk'] = ""; $text['description-domain']['ro'] = ""; $text['description-domain']['de-at'] = ""; $text['description-domain']['fa'] = ""; +$text['description-domain']['ar-eg'] = ""; $text['description-destinations']['en-us'] = "Inbound destinations are the DID/DDI, DNIS or Alias for inbound calls."; $text['description-destinations']['es-cl'] = "Destinos entrantes son los DID/DDI, DNIS o un alias para llamadas entrantes"; @@ -455,6 +492,7 @@ $text['description-destinations']['uk'] = "Вхідні номери можут $text['description-destinations']['ro'] = ""; $text['description-destinations']['de-at'] = "Kopfnummern sind DID/DDI, DNIS oder alternative Nummern für eingehende Anrufe"; $text['description-destinations']['fa'] = ""; +$text['description-destinations']['ar-eg'] = ""; $text['description-destination_type']['en-us'] = "Select the type."; $text['description-destination_type']['es-cl'] = "Seleccione el tipo."; @@ -467,6 +505,7 @@ $text['description-destination_type']['uk'] = "Виберіть тип"; $text['description-destination_type']['ro'] = ""; $text['description-destination_type']['de-at'] = "Wählen Sie den Typ."; $text['description-destination_type']['fa'] = ""; +$text['description-destination_type']['ar-eg'] = "اختر النوع"; $text['description-destination_number']['en-us'] = "Enter the destination."; $text['description-destination_number']['es-cl'] = "Ingrese el destino."; @@ -479,6 +518,7 @@ $text['description-destination_number']['uk'] = "Введіть номер"; $text['description-destination_number']['ro'] = ""; $text['description-destination_number']['de-at'] = "Geben Sie das Ziel an."; $text['description-destination_number']['fa'] = ""; +$text['description-destination_number']['ar-eg'] = "أدخل جهه الأتصال"; $text['description-destination_enabled']['en-us'] = "Set the current status of this destination."; $text['description-destination_enabled']['es-cl'] = "Configure el estado actual de este destino"; @@ -491,6 +531,7 @@ $text['description-destination_enabled']['uk'] = "Виберіть поточн $text['description-destination_enabled']['ro'] = ""; $text['description-destination_enabled']['de-at'] = "Setzen Sie den derzeitigen Status des Ziels."; $text['description-destination_enabled']['fa'] = ""; +$text['description-destination_enabled']['ar-eg'] = ""; $text['description-destination_description']['en-us'] = "Enter a description for this destination (optional)."; $text['description-destination_description']['es-cl'] = "Ingrese una descripción para este destino (opcional)"; @@ -503,6 +544,7 @@ $text['description-destination_description']['uk'] = "Введіть опис д $text['description-destination_description']['ro'] = ""; $text['description-destination_description']['de-at'] = "Geben Sie eine Beschreibung für dieses Ziel an (optional)."; $text['description-destination_description']['fa'] = ""; +$text['description-destination_description']['ar-eg'] = ""; $text['description-destination_context']['en-us'] = "Enter the context."; $text['description-destination_context']['es-cl'] = "Ingrese el contexto"; @@ -515,6 +557,7 @@ $text['description-destination_context']['uk'] = "Контекст"; $text['description-destination_context']['ro'] = ""; $text['description-destination_context']['de-at'] = "Geben Sie den Kontext an."; $text['description-destination_context']['fa'] = ""; +$text['description-destination_context']['ar-eg'] = ""; $text['description-destination_cid_name_prefix']['en-us'] = "Set a prefix on the caller ID name."; $text['description-destination_cid_name_prefix']['es-cl'] = "Configurar el prefijo del nombre de Caller ID."; @@ -527,6 +570,7 @@ $text['description-destination_cid_name_prefix']['uk'] = "Введіть пре $text['description-destination_cid_name_prefix']['ro'] = ""; $text['description-destination_cid_name_prefix']['de-at'] = "Geben Sie ein Präfix für die Anruferkennung (Name) an."; $text['description-destination_cid_name_prefix']['fa'] = ""; +$text['description-destination_cid_name_prefix']['ar-eg'] = ""; $text['description-destination_caller_id_number']['en-us'] = "Enter the caller ID number."; $text['description-destination_caller_id_number']['es-cl'] = "Ingrese el número de Caller ID"; @@ -539,6 +583,7 @@ $text['description-destination_caller_id_number']['uk'] = "Введіть ном $text['description-destination_caller_id_number']['ro'] = ""; $text['description-destination_caller_id_number']['de-at'] = "Geben Sie die Anruferkennung (Nummer) an."; $text['description-destination_caller_id_number']['fa'] = ""; +$text['description-destination_caller_id_number']['ar-eg'] = "أدخل رقم المتصل"; $text['description-destination_caller_id_name']['en-us'] = "Enter the caller ID name."; $text['description-destination_caller_id_name']['es-cl'] = "Ingrese el nombre de caller ID"; @@ -551,6 +596,7 @@ $text['description-destination_caller_id_name']['uk'] = "Введіть ім’ $text['description-destination_caller_id_name']['ro'] = ""; $text['description-destination_caller_id_name']['de-at'] = "Geben Sie die Anruferkennung (Name) an."; $text['description-destination_caller_id_name']['fa'] = ""; +$text['description-destination_caller_id_name']['ar-eg'] = "أدخل اسم المتصل"; $text['description-carrier']['en-us'] = "Enter the carrier name. This is use to keep track incase billing"; $text['description-carrier']['es-cl'] = "Introduzca el nombre del carrier. Esto se utiliza para realizar un seguimiento en caso de facturación"; @@ -563,6 +609,7 @@ $text['description-carrier']['uk'] = "Введіть назву оператор $text['description-carrier']['ro'] = ""; $text['description-carrier']['de-at'] = "Geben Sie den Providernamen an. Dies wird für das Abrechnungsmodul verwendet."; $text['description-carrier']['fa'] = ""; +$text['description-carrier']['ar-eg'] = ""; $text['description-account_code']['en-us'] = "Enter account code."; $text['description-account_code']['es-cl'] = "Ingrese el código de cuenta."; @@ -575,6 +622,7 @@ $text['description-account_code']['uk'] = "Введіть код обліков $text['description-account_code']['ro'] = ""; $text['description-account_code']['de-at'] = "Geben Sie einen Account Code an."; $text['description-account_code']['fa'] = ""; +$text['description-account_code']['ar-eg'] = ""; $text['confirm-delete']['en-us'] = "Do you really want to delete this?"; $text['confirm-delete']['es-cl'] = "¿Realmente desea eliminar esto?"; @@ -587,6 +635,7 @@ $text['confirm-delete']['uk'] = "Ви дійсно бажаєте це вида $text['confirm-delete']['ro'] = ""; $text['confirm-delete']['de-at'] = "Wollen Sie das wirklich löschen?"; $text['confirm-delete']['fa'] = ""; +$text['confirm-delete']['ar-eg'] = ""; $text['button-show_all']['en-us'] = "Show All"; $text['button-show_all']['es-cl'] = "Mostrar Todos"; @@ -599,6 +648,7 @@ $text['button-show_all']['uk'] = "Показати всі"; $text['button-show_all']['ro'] = ""; $text['button-show_all']['de-at'] = "Alle anzeigen"; $text['button-show_all']['fa'] = ""; +$text['button-show_all']['ar-eg'] = "أظهر الكل"; $text['button-search']['en-us'] = "Search"; $text['button-search']['es-cl'] = "Buscar"; @@ -611,6 +661,7 @@ $text['button-search']['uk'] = "Пошук"; $text['button-search']['ro'] = ""; $text['button-search']['de-at'] = "Suchen"; $text['button-search']['fa'] = ""; +$text['button-search']['ar-eg'] = "بحث"; $text['button-save']['en-us'] = "Save"; $text['button-save']['es-cl'] = "Guardar"; @@ -623,6 +674,7 @@ $text['button-save']['uk'] = "Зберегти"; $text['button-save']['ro'] = "Salvează"; $text['button-save']['de-at'] = "Speichern"; $text['button-save']['fa'] = ""; +$text['button-save']['ar-eg'] = "حفظ"; $text['button-edit']['en-us'] = "Edit"; $text['button-edit']['es-cl'] = "Editar"; @@ -635,6 +687,7 @@ $text['button-edit']['uk'] = "Редагувати"; $text['button-edit']['ro'] = ""; $text['button-edit']['de-at'] = "Bearbeiten"; $text['button-edit']['fa'] = ""; +$text['button-edit']['ar-eg'] = "تعديل"; $text['button-delete']['en-us'] = "Delete"; $text['button-delete']['es-cl'] = "Eliminar"; @@ -647,6 +700,7 @@ $text['button-delete']['uk'] = "Видалити"; $text['button-delete']['ro'] = ""; $text['button-delete']['de-at'] = "Löschen"; $text['button-delete']['fa'] = ""; +$text['button-delete']['ar-eg'] = "مسح"; $text['button-back']['en-us'] = "Back"; $text['button-back']['es-cl'] = "Volver"; @@ -659,6 +713,7 @@ $text['button-back']['uk'] = "Назад"; $text['button-back']['ro'] = "Înapoi"; $text['button-back']['de-at'] = "Zurück"; $text['button-back']['fa'] = ""; +$text['button-back']['ar-eg'] = "رجوع"; $text['button-add']['en-us'] = "Add"; $text['button-add']['es-cl'] = "Agregar"; @@ -671,6 +726,7 @@ $text['button-add']['uk'] = "Додати"; $text['button-add']['ro'] = ""; $text['button-add']['de-at'] = "Hinzufügen"; $text['button-add']['fa'] = ""; +$text['button-add']['ar-eg'] = "اضافة"; $text['billing-warning']['en-us'] = "If you are using fusionpbx billing application, make sure to add accountcode and carrier variables."; $text['billing-warning']['es-cl'] = "Si está utilizando la aplicación de facturación fusionpbx, asegúrese de agregar lasvariables accountcode y carrier"; @@ -683,5 +739,6 @@ $text['billing-warning']['uk'] = "Якщо ви користуєтеся дод $text['billing-warning']['ro'] = ""; $text['billing-warning']['de-at'] = "Wenn Sie die Fusionpbx Abrechnung verwenden, stellen Sie sicher, dass Account Code und Betreiber Variablen gesetzt sind."; $text['billing-warning']['fa'] = ""; +$text['billing-warning']['ar-eg'] = ""; ?> \ No newline at end of file diff --git a/app/destinations/app_menu.php b/app/destinations/app_menu.php index 78d70b9a54..fa242f058b 100644 --- a/app/destinations/app_menu.php +++ b/app/destinations/app_menu.php @@ -12,6 +12,7 @@ $apps[$x]['menu'][0]['title']['sv-se'] = "Destinationer"; $apps[$x]['menu'][0]['title']['uk'] = "Номери"; $apps[$x]['menu'][0]['title']['ro'] = "Destinații"; $apps[$x]['menu'][0]['title']['de-at'] = "Kopfnummern"; +$apps[$x]['menu'][0]['title']['ar-eg'] = "جهات الأتصال"; $apps[$x]['menu'][0]['uuid'] = "fd2a708a-ff03-c707-c19d-5a4194375eba"; $apps[$x]['menu'][0]['parent_uuid'] = "b94e8bd9-9eb5-e427-9c26-ff7a6c21552a"; $apps[$x]['menu'][0]['category'] = "internal"; diff --git a/app/extensions/app_languages.php b/app/extensions/app_languages.php index 7db28d3d12..d4738d9198 100644 --- a/app/extensions/app_languages.php +++ b/app/extensions/app_languages.php @@ -10,6 +10,7 @@ $text['title-extensions']['uk'] = "Розширення"; $text['title-extensions']['sv-se'] = "Anknytningar"; $text['title-extensions']['ro'] = "Extensii"; $text['title-extensions']['de-at'] = "Nebenstellen"; +$text['title-extensions']['ar-eg'] = "الأرقام الداخلية"; $text['title-extension-edit']['en-us'] = "Extension"; $text['title-extension-edit']['es-cl'] = "Extensión"; @@ -21,6 +22,7 @@ $text['title-extension-edit']['uk'] = "Розширення"; $text['title-extension-edit']['sv-se'] = "Anknytning"; $text['title-extension-edit']['ro'] = "Extensie"; $text['title-extension-edit']['de-at'] = "Nebenstelle"; +$text['title-extension-edit']['ar-eg'] = "رقم داخلي"; $text['title-extension-add']['en-us'] = "Extension Add"; $text['title-extension-add']['es-cl'] = "Agregar Extensión"; @@ -32,6 +34,7 @@ $text['title-extension-add']['uk'] = "Додавання розширення"; $text['title-extension-add']['sv-se'] = "Lägg Till Anknytning"; $text['title-extension-add']['ro'] = "Adăugare extensie"; $text['title-extension-add']['de-at'] = "Nebenstelle hinzufügen"; +$text['title-extension-add']['ar-eg'] = "إضافة رقم داخلي"; $text['option-voicemail_file_listen']['en-us'] = "Listen Link (Login Required)"; $text['option-voicemail_file_listen']['es-cl'] = "Escuchar Link (Se requiere entrar)"; @@ -43,6 +46,7 @@ $text['option-voicemail_file_listen']['uk'] = "Посилання на прос $text['option-voicemail_file_listen']['sv-se'] = "Lyssna-länk (Måste Logga In)"; $text['option-voicemail_file_listen']['ro'] = "Legătură pentru ascultare (autentificare necesară)"; $text['option-voicemail_file_listen']['de-at'] = "Link zur Nachricht (Login erforderlich)"; +$text['option-voicemail_file_listen']['ar-eg'] = ""; $text['option-voicemail_file_link']['en-us'] = "Download Link (No Login Required)"; $text['option-voicemail_file_link']['es-cl'] = "Enlace de descarga (No se requiere conexión)"; @@ -54,6 +58,7 @@ $text['option-voicemail_file_link']['uk'] = "Посилання на заван $text['option-voicemail_file_link']['sv-se'] = "Nedladdnings-länk (Ingen Inloggning Krävs)"; $text['option-voicemail_file_link']['ro'] = "Legătură pentru descărcare (nu este necesară autentificarea)"; $text['option-voicemail_file_link']['de-at'] = "Link zur Nachricht (kein Login erforderlich)"; +$text['option-voicemail_file_link']['ar-eg'] = ""; $text['option-voicemail_file_attach']['en-us'] = "Audio File Attachment"; $text['option-voicemail_file_attach']['es-cl'] = "Archivo Adjunto Audio"; @@ -65,6 +70,7 @@ $text['option-voicemail_file_attach']['uk'] = "Приєднати аудіофа $text['option-voicemail_file_attach']['sv-se'] = "Ljudfil Bifogad"; $text['option-voicemail_file_attach']['de-at'] = "Audiodatei als Anhang"; $text['option-voicemail_file_attach']['ro'] = "Atașament fișier audio"; +$text['option-voicemail_file_attach']['ar-eg'] = "إرفاق ملف صوتي"; $text['message-update']['en-us'] = "Update Completed"; $text['message-update']['es-cl'] = "Actualización Completada"; @@ -76,6 +82,7 @@ $text['message-update']['uk'] = "Оновлення завершено"; $text['message-update']['sv-se'] = "Uppdatering Klar"; $text['message-update']['de-at'] = "Aktualisierung durchgeführt"; $text['message-update']['ro'] = "Actualizare completă"; +$text['message-update']['ar-eg'] = "إكتمال التحديث"; $text['message-required']['en-us'] = "Please provide: "; $text['message-required']['es-cl'] = "Por favor ingrese: "; @@ -87,6 +94,7 @@ $text['message-required']['uk'] = "Будь ласка, вкажіть:"; $text['message-required']['sv-se'] = "Var god uppge:"; $text['message-required']['de-at'] = "Bitte geben Sie folgendes an:"; $text['message-required']['ro'] = "Vă rog introduceți:"; +$text['message-required']['ar-eg'] = "من فضلك أدخل"; $text['message-number_alias']['en-us'] = "Enter the new Number Alias..."; $text['message-number_alias']['es-cl'] = "Ingrese la nueva Alias de Número..."; @@ -98,6 +106,7 @@ $text['message-number_alias']['uk'] = "Введіть новий псевдон $text['message-number_alias']['sv-se'] = "Fyll i det nya Nummer Alias..."; $text['message-number_alias']['de-at'] = "Geben Sie die neue alternative Nummer an..."; $text['message-number_alias']['ro'] = "Introduceți noul alias pentru număr..."; +$text['message-number_alias']['ar-eg'] = ""; $text['message-message']['en-us'] = "Message"; $text['message-message']['es-cl'] = "Mensaje"; @@ -109,6 +118,7 @@ $text['message-message']['uk'] = "Повідомлення"; $text['message-message']['sv-se'] = "Meddelande"; $text['message-message']['de-at'] = "Nachricht"; $text['message-message']['ro'] = "Mesaj"; +$text['message-message']['ar-eg'] = "رسالة"; $text['message-maximum_extensions']['en-us'] = "Maximum Extensions:"; $text['message-maximum_extensions']['es-cl'] = "Extensiones Máximo Permitido:"; @@ -120,6 +130,7 @@ $text['message-maximum_extensions']['uk'] = "Максимальна кількі $text['message-maximum_extensions']['sv-se'] = "Maximum Antal Anknytningar:"; $text['message-maximum_extensions']['de-at'] = "Maximale Anzahl an Nebenstellen:"; $text['message-maximum_extensions']['ro'] = "Număr maxim extensii:"; +$text['message-maximum_extensions']['ar-eg'] = "الحد الأقصي للأرقام الداخلية :"; $text['message-extension']['en-us'] = "Enter the new Extension..."; $text['message-extension']['es-cl'] = "Ingrese la nueva Extensión..."; @@ -131,6 +142,7 @@ $text['message-extension']['uk'] = "Введіть нове розширення $text['message-extension']['sv-se'] = "Fyll i den nya Anknytningen..."; $text['message-extension']['de-at'] = "Geben Sie die neue Nebenstelle an..."; $text['message-extension']['ro'] = "Introduceți extensia nouă..."; +$text['message-extension']['ar-eg'] = "أدخل الرقم الداخلي الجديد"; $text['message-delete']['en-us'] = "Delete Completed"; $text['message-delete']['es-cl'] = "Eliminación Completada"; @@ -142,6 +154,7 @@ $text['message-delete']['uk'] = "Видалено"; $text['message-delete']['sv-se'] = "Borttagning Klar"; $text['message-delete']['de-at'] = "Erfolgreich gelöscht"; $text['message-delete']['ro'] = "Ștergere completă"; +$text['message-delete']['ar-eg'] = "تم المسح"; $text['message-copy']['en-us'] = "Copy Complete"; $text['message-copy']['es-cl'] = "Copia Completada"; @@ -153,6 +166,7 @@ $text['message-copy']['uk'] = "Скопійовано"; $text['message-copy']['sv-se'] = "Kopiering Slutförd"; $text['message-copy']['de-at'] = "Kopieren erfolgreich"; $text['message-copy']['ro'] = "Copiere completă"; +$text['message-copy']['ar-eg'] = "تم النسخ"; $text['message-add']['en-us'] = "Add Completed"; $text['message-add']['es-cl'] = "Agregar Completado"; @@ -164,6 +178,7 @@ $text['message-add']['uk'] = "Додано"; $text['message-add']['sv-se'] = "Tillagd"; $text['message-add']['de-at'] = "Hinzufügen erfolgreich"; $text['message-add']['ro'] = "Adăugare completă"; +$text['message-add']['ar-eg'] = "تمت الأضافة"; $text['label-voicemail_password']['en-us'] = "Voicemail Password"; $text['label-voicemail_password']['es-cl'] = "Contraseña de correo de voz"; @@ -175,6 +190,7 @@ $text['label-voicemail_password']['uk'] = "Пароль на голосову п $text['label-voicemail_password']['sv-se'] = "Röstbrevlåda Lösenord"; $text['label-voicemail_password']['de-at'] = "Mailbox Passwort"; $text['label-voicemail_password']['ro'] = "Parolă mesagerie vocală"; +$text['label-voicemail_password']['ar-eg'] = "كلمة السر للبريد الصوتي"; $text['label-voicemail_mail_to']['en-us'] = "Voicemail Mail To"; $text['label-voicemail_mail_to']['es-cl'] = "Enviar correo de voz a"; @@ -186,6 +202,7 @@ $text['label-voicemail_mail_to']['uk'] = "Надсилати голосову п $text['label-voicemail_mail_to']['sv-se'] = "Röstbrevlåda E-post Till"; $text['label-voicemail_mail_to']['de-at'] = "Mailbox E-Mail"; $text['label-voicemail_mail_to']['ro'] = "Mesaj vocal către"; +$text['label-voicemail_mail_to']['ar-eg'] = ""; $text['label-voicemail_local_after_email']['en-us'] = "Voicemail Keep Local"; $text['label-voicemail_local_after_email']['es-cl'] = "Mantener Mensaje de Voz despues de enviar por Email"; @@ -197,6 +214,7 @@ $text['label-voicemail_local_after_email']['uk'] = "Залишати голос $text['label-voicemail_local_after_email']['sv-se'] = "Röstbrevlåda Behåll Lokalt"; $text['label-voicemail_local_after_email']['de-at'] = "Mailbox Nachricht am Server behalten"; $text['label-voicemail_local_after_email']['ro'] = "Stocare locală a mesajelor vocale"; +$text['label-voicemail_local_after_email']['ar-eg'] = ""; $text['label-voicemail_file']['en-us'] = "Voicemail File"; $text['label-voicemail_file']['es-cl'] = "Correo de Voz Archivo"; @@ -208,6 +226,7 @@ $text['label-voicemail_file']['uk'] = "Файл голосової пошти"; $text['label-voicemail_file']['sv-se'] = "Röstbrevlåda Fil"; $text['label-voicemail_file']['de-at'] = "Mailbox Nachricht Datei"; $text['label-voicemail_file']['ro'] = "Fișier mesagerie vocală"; +$text['label-voicemail_file']['ar-eg'] = ""; $text['label-voicemail_enabled']['en-us'] = "Voicemail Enabled"; $text['label-voicemail_enabled']['es-cl'] = "Correo de Voz Activado"; @@ -219,6 +238,7 @@ $text['label-voicemail_enabled']['uk'] = "Голосову пошту включ $text['label-voicemail_enabled']['sv-se'] = "Röstbrevlåda Aktiverad"; $text['label-voicemail_enabled']['de-at'] = "Mailbox eingeschaltet"; $text['label-voicemail_enabled']['ro'] = "Mesagerie vocală activă"; +$text['label-voicemail_enabled']['ar-eg'] = ""; $text['label-user_record_outbound']['en-us'] = "Outbound"; $text['label-user_record_outbound']['es-cl'] = "Salida"; @@ -230,6 +250,7 @@ $text['label-user_record_outbound']['uk'] = "Вихідний"; $text['label-user_record_outbound']['sv-se'] = "Utgående"; $text['label-user_record_outbound']['de-at'] = "Ausgehend"; $text['label-user_record_outbound']['ro'] = "Ieșire"; +$text['label-user_record_outbound']['ar-eg'] = "صادر"; $text['label-user_record_none']['en-us'] = "Disabled"; $text['label-user_record_none']['es-cl'] = "Ninguno"; @@ -241,6 +262,7 @@ $text['label-user_record_none']['uk'] = "Відключено"; $text['label-user_record_none']['sv-se'] = "Inaktiverad"; $text['label-user_record_none']['de-at'] = "Ausgeschaltet"; $text['label-user_record_none']['ro'] = "Dezactivat"; +$text['label-user_record_none']['ar-eg'] = "معطل"; $text['label-user_record_local']['en-us'] = "Local"; $text['label-user_record_local']['es-cl'] = "Local"; @@ -252,6 +274,7 @@ $text['label-user_record_local']['uk'] = "Локальний"; $text['label-user_record_local']['sv-se'] = "Lokal"; $text['label-user_record_local']['de-at'] = "Lokal"; $text['label-user_record_local']['ro'] = "Local"; +$text['label-user_record_local']['ar-eg'] = "محلي"; $text['label-user_record_inbound']['en-us'] = "Inbound"; $text['label-user_record_inbound']['es-cl'] = "Entrante"; @@ -263,6 +286,7 @@ $text['label-user_record_inbound']['uk'] = "Вхідний"; $text['label-user_record_inbound']['sv-se'] = "Inkommande"; $text['label-user_record_inbound']['de-at'] = "Eingehend"; $text['label-user_record_inbound']['ro'] = "Intrare"; +$text['label-user_record_inbound']['ar-eg'] = "وارد"; $text['label-user_record_all']['en-us'] = "All"; $text['label-user_record_all']['es-cl'] = "Todo"; @@ -274,6 +298,7 @@ $text['label-user_record_all']['uk'] = "Всі"; $text['label-user_record_all']['sv-se'] = "Allt"; $text['label-user_record_all']['de-at'] = "Alle"; $text['label-user_record_all']['ro'] = "Toate"; +$text['label-user_record_all']['ar-eg'] = "الكل"; $text['label-user_record']['en-us'] = "Record"; $text['label-user_record']['es-cl'] = "Registro"; @@ -285,6 +310,7 @@ $text['label-user_record']['uk'] = "Запис розмов"; $text['label-user_record']['sv-se'] = "Spela In"; $text['label-user_record']['de-at'] = "Aufnahme"; $text['label-user_record']['ro'] = "Înregistrare"; +$text['label-user_record']['ar-eg'] = "تسجيل"; $text['label-user_list']['en-us'] = "User List"; $text['label-user_list']['es-cl'] = "Lista de usuarios"; @@ -296,6 +322,7 @@ $text['label-user_list']['uk'] = "Список користувачів"; $text['label-user_list']['sv-se'] = "Användar-lista"; $text['label-user_list']['de-at'] = "Benutzer Liste"; $text['label-user_list']['ro'] = "Listă utilizatori"; +$text['label-user_list']['ar-eg'] = "قائمة المستخدم"; $text['label-user_context']['en-us'] = "Context"; $text['label-user_context']['es-cl'] = "Contexto"; @@ -307,6 +334,7 @@ $text['label-user_context']['uk'] = "Контекст"; $text['label-user_context']['sv-se'] = "Sammanhang"; $text['label-user_context']['de-at'] = "Kontext"; $text['label-user_context']['ro'] = "Context"; +$text['label-user_context']['ar-eg'] = ""; $text['label-url']['en-us'] = "URL"; $text['label-url']['es-cl'] = "URL"; @@ -318,6 +346,7 @@ $text['label-url']['uk'] = "URL"; $text['label-url']['sv-se'] = "URL"; $text['label-url']['de-at'] = "URL"; $text['label-url']['ro'] = "URL"; +$text['label-url']['ar-eg'] = ""; $text['label-true']['en-us'] = "True"; $text['label-true']['es-cl'] = "Verdadero"; @@ -329,6 +358,7 @@ $text['label-true']['uk'] = "Так"; $text['label-true']['sv-se'] = "Sann"; $text['label-true']['de-at'] = "Ein"; $text['label-true']['ro'] = "Da"; +$text['label-true']['ar-eg'] = "صحيح"; $text['label-toll_allow']['en-us'] = "Toll Allow"; $text['label-toll_allow']['es-cl'] = "Permitir Tarifas Especiales"; @@ -340,6 +370,7 @@ $text['label-toll_allow']['uk'] = ""; $text['label-toll_allow']['sv-se'] = "Toll Allow"; $text['label-toll_allow']['de-at'] = "Berechtigung"; $text['label-toll_allow']['ro'] = "Destinații permise"; +$text['label-toll_allow']['ar-eg'] = ""; $text['label-text']['en-us'] = "Text"; $text['label-text']['es-cl'] = "Texto"; @@ -351,6 +382,7 @@ $text['label-text']['uk'] = "текст"; $text['label-text']['sv-se'] = "Text"; $text['label-text']['de-at'] = "Text"; $text['label-text']['ro'] = "Text"; +$text['label-text']['ar-eg'] = "نص"; $text['label-sip_force_expires']['en-us'] = "SIP Force Expires"; $text['label-sip_force_expires']['es-cl'] = "Forzado SIP Expira"; @@ -362,6 +394,7 @@ $text['label-sip_force_expires']['uk'] = ""; $text['label-sip_force_expires']['sv-se'] = "SIP Force Expires"; $text['label-sip_force_expires']['de-at'] = "SIP Force Expires"; $text['label-sip_force_expires']['ro'] = "SIP Force Expires"; +$text['label-sip_force_expires']['ar-eg'] = ""; $text['label-sip_force_contact']['en-us'] = "SIP Force Contact"; $text['label-sip_force_contact']['es-cl'] = "Forzar Contacto SIP"; @@ -373,6 +406,7 @@ $text['label-sip_force_contact']['uk'] = ""; $text['label-sip_force_contact']['sv-se'] = "SIP Force Contact"; $text['label-sip_force_contact']['de-at'] = "SIP Force Contact"; $text['label-sip_force_contact']['ro'] = "SIP Force Contact"; +$text['label-sip_force_contact']['ar-eg'] = ""; $text['label-sip_bypass_media']['en-us'] = "SIP Bypass Media"; $text['label-sip_bypass_media']['es-cl'] = "Bypass de Medios SIP"; @@ -384,6 +418,7 @@ $text['label-sip_bypass_media']['uk'] = ""; $text['label-sip_bypass_media']['sv-se'] = "SIP Bypass Media"; $text['label-sip_bypass_media']['de-at'] = "SIP Bypass Media"; $text['label-sip_bypass_media']['ro'] = "SIP Bypass Media"; +$text['label-sip_bypass_media']['ar-eg'] = ""; $text['label-rewrite_tls_contact_port']['en-us'] = "Rewrite TLS Contact Port"; $text['label-rewrite_tls_contact_port']['es-cl'] = "Reescribir Contacto Puerto TLS"; @@ -395,6 +430,7 @@ $text['label-rewrite_tls_contact_port']['uk'] = ""; $text['label-rewrite_tls_contact_port']['sv-se'] = "Rewrite TLS Contact Port"; $text['label-rewrite_tls_contact_port']['de-at'] = "TLS Contact Port überschreiben"; $text['label-rewrite_tls_contact_port']['ro'] = "Rescriere TLS Contact Port"; +$text['label-rewrite_tls_contact_port']['ar-eg'] = ""; $text['label-rewrite_contact_ip_and_port_2']['en-us'] = "Rewrite Contact IP and Port 2.0"; $text['label-rewrite_contact_ip_and_port_2']['es-cl'] = "Reescribir Contacto IP y el puerto 2.0"; @@ -406,6 +442,7 @@ $text['label-rewrite_contact_ip_and_port_2']['uk'] = ""; $text['label-rewrite_contact_ip_and_port_2']['sv-se'] = "Rewrite Contact IP and Port 2.0"; $text['label-rewrite_contact_ip_and_port_2']['de-at'] = "Contact IP und Port überschreiben 2.0"; $text['label-rewrite_contact_ip_and_port_2']['ro'] = "Rescriere Contact IP și Port 2.0"; +$text['label-rewrite_contact_ip_and_port_2']['ar-eg'] = ""; $text['label-rewrite_contact_ip_and_port']['en-us'] = "Rewrite Contact IP and Port"; $text['label-rewrite_contact_ip_and_port']['es-cl'] = "Reescribir Contacto IP y el puerto"; @@ -417,6 +454,7 @@ $text['label-rewrite_contact_ip_and_port']['uk'] = ""; $text['label-rewrite_contact_ip_and_port']['sv-se'] = "Rewrite Contact IP and Port"; $text['label-rewrite_contact_ip_and_port']['de-at'] = "Contact IP und Port überschreiben"; $text['label-rewrite_contact_ip_and_port']['ro'] = "Rescriere Contact IP și Port"; +$text['label-rewrite_contact_ip_and_port']['ar-eg'] = ""; $text['label-range']['en-us'] = "Range"; $text['label-range']['es-cl'] = "Rango"; @@ -428,6 +466,7 @@ $text['label-range']['uk'] = "Діапазон"; $text['label-range']['sv-se'] = "Intervall"; $text['label-range']['de-at'] = "Bereich"; $text['label-range']['ro'] = "Șir"; +$text['label-range']['ar-eg'] = ""; $text['label-proxy_media']['en-us'] = "Proxy Media"; $text['label-proxy_media']['es-cl'] = "Proxy Medios"; @@ -439,6 +478,7 @@ $text['label-proxy_media']['uk'] = ""; $text['label-proxy_media']['sv-se'] = "Proxy Media"; $text['label-proxy_media']['de-at'] = "Proxy Media"; $text['label-proxy_media']['ro'] = "Proxy Media"; +$text['label-proxy_media']['ar-eg'] = ""; $text['label-provisioning']['en-us'] = "Device Provisioning"; $text['label-provisioning']['es-cl'] = "Provisionamiento de Teléfono"; @@ -450,6 +490,7 @@ $text['label-provisioning']['uk'] = ""; $text['label-provisioning']['sv-se'] = "Enhet Provisionering"; $text['label-provisioning']['de-at'] = "Endgeräte Bereitstellung"; $text['label-provisioning']['ro'] = "Autoconfigurare echipament"; +$text['label-provisioning']['ar-eg'] = ""; $text['label-password']['en-us'] = "Password"; $text['label-password']['es-cl'] = "Contraseña"; @@ -461,6 +502,7 @@ $text['label-password']['uk'] = "Пароль"; $text['label-password']['sv-se'] = "Lösenord"; $text['label-password']['de-at'] = "Passwort"; $text['label-password']['ro'] = "Parolă"; +$text['label-password']['ar-eg'] = "كلمة السر"; $text['label-outbound_caller_id_number']['en-us'] = "Outbound Caller ID Number"; $text['label-outbound_caller_id_number']['es-cl'] = "Número de Caller ID Saliente"; @@ -472,6 +514,7 @@ $text['label-outbound_caller_id_number']['uk'] = ""; $text['label-outbound_caller_id_number']['sv-se'] = "Utgående Nummervisning"; $text['label-outbound_caller_id_number']['de-at'] = "Ausgehende Anruferkennung (Nummer)"; $text['label-outbound_caller_id_number']['ro'] = "Număr Caller ID pentru ieșire"; +$text['label-outbound_caller_id_number']['ar-eg'] = ""; $text['label-outbound_caller_id_name']['en-us'] = "Outbound Caller ID Name"; $text['label-outbound_caller_id_name']['es-cl'] = "Nombre de Caller ID Saliente"; @@ -483,6 +526,7 @@ $text['label-outbound_caller_id_name']['uk'] = ""; $text['label-outbound_caller_id_name']['sv-se'] = "Utgående Namnvisning"; $text['label-outbound_caller_id_name']['de-at'] = "Ausgehende Anruferkennung (Name)"; $text['label-outbound_caller_id_name']['ro'] = "Nume Caller ID pentru ieșire"; +$text['label-outbound_caller_id_name']['ar-eg'] = ""; $text['label-number_alias']['en-us'] = "Number Alias"; $text['label-number_alias']['es-cl'] = "Alias de Número"; @@ -494,6 +538,7 @@ $text['label-number_alias']['uk'] = "Псевдонім номера"; $text['label-number_alias']['sv-se'] = "Nummer Alias"; $text['label-number_alias']['de-at'] = "Alternative Nummer"; $text['label-number_alias']['ro'] = "Alias număr"; +$text['label-number_alias']['ar-eg'] = ""; $text['label-nibble_account']['en-us'] = "Nibble Account"; $text['label-nibble_account']['es-cl'] = "Cuenta Nibble"; @@ -505,6 +550,7 @@ $text['label-nibble_account']['uk'] = ""; $text['label-nibble_account']['sv-se'] = "Nibble Konto"; $text['label-nibble_account']['de-at'] = "Nibble Benutzer"; $text['label-nibble_account']['ro'] = "Cont Nibble"; +$text['label-nibble_account']['ar-eg'] = ""; $text['label-mwi_account']['en-us'] = "MWI Account"; $text['label-mwi_account']['es-cl'] = "Cuenta MWI"; @@ -516,6 +562,7 @@ $text['label-mwi_account']['uk'] = ""; $text['label-mwi_account']['sv-se'] = "MWI Konto"; $text['label-mwi_account']['de-at'] = "MWI Benutzer"; $text['label-mwi_account']['ro'] = "Cont MWI"; +$text['label-mwi_account']['ar-eg'] = ""; $text['label-missed_call']['en-us'] = "Missed Call"; $text['label-missed_call']['es-cl'] = "Llamada Perdida"; @@ -527,6 +574,7 @@ $text['label-missed_call']['uk'] = "пропущений Дзвінок"; $text['label-missed_call']['sv-se'] = "Missat Samtal"; $text['label-missed_call']['de-at'] = "Verpasster Anruf"; $text['label-missed_call']['ro'] = "Apel pierdut"; +$text['label-missed_call']['ar-eg'] = ""; $text['label-line']['en-us'] = "Line"; $text['label-line']['pt-pt'] = "Linha"; @@ -538,6 +586,7 @@ $text['label-line']['uk'] = ""; $text['label-line']['sv-se'] = "Linje"; $text['label-line']['de-at'] = "Linie"; $text['label-line']['ro'] = "Linie"; +$text['label-line']['ar-eg'] = "خط"; $text['label-limit_max']['en-us'] = "Limit Max"; $text['label-limit_max']['es-cl'] = "Límite Máximo"; @@ -549,6 +598,7 @@ $text['label-limit_max']['uk'] = ""; $text['label-limit_max']['sv-se'] = "Max Begränsning"; $text['label-limit_max']['de-at'] = "Limit Max"; $text['label-limit_max']['ro'] = "Limită maximă"; +$text['label-limit_max']['ar-eg'] = ""; $text['label-limit_destination']['en-us'] = "Limit Destination"; $text['label-limit_destination']['es-cl'] = "Límitar Destino"; @@ -560,6 +610,7 @@ $text['label-limit_destination']['uk'] = ""; $text['label-limit_destination']['sv-se'] = "Begränsad Destination"; $text['label-limit_destination']['de-at'] = "Limit Ziel"; $text['label-limit_destination']['ro'] = "Limită destinație"; +$text['label-limit_destination']['ar-eg'] = ""; $text['label-hold_music']['en-us'] = "Hold Music"; $text['label-hold_music']['es-cl'] = "Música en Espera"; @@ -571,6 +622,7 @@ $text['label-hold_music']['uk'] = ""; $text['label-hold_music']['sv-se'] = "Vänt-musik"; $text['label-hold_music']['de-at'] = "Haltemusik"; $text['label-hold_music']['ro'] = "Muzică în așteptare"; +$text['label-hold_music']['ar-eg'] = ""; $text['label-false']['en-us'] = "False"; $text['label-false']['es-cl'] = "Falso"; @@ -582,6 +634,7 @@ $text['label-false']['uk'] = "Ні"; $text['label-false']['sv-se'] = "Falsk"; $text['label-false']['de-at'] = "Aus"; $text['label-false']['ro'] = "Nu"; +$text['label-false']['ar-eg'] = "خطأ"; $text['label-extension']['en-us'] = "Extension"; $text['label-extension']['es-cl'] = "Extensión"; @@ -593,6 +646,7 @@ $text['label-extension']['uk'] = "Розширення"; $text['label-extension']['sv-se'] = "Anknytning"; $text['label-extension']['de-at'] = "Nebenstelle"; $text['label-extension']['ro'] = "Extensie"; +$text['label-extension']['ar-eg'] = "رقم داخلي"; $text['label-enabled']['en-us'] = "Enabled"; $text['label-enabled']['es-cl'] = "Activado"; @@ -604,6 +658,7 @@ $text['label-enabled']['uk'] = "Включено"; $text['label-enabled']['sv-se'] = "Aktiverad"; $text['label-enabled']['de-at'] = "Aktiv"; $text['label-enabled']['ro'] = "Activ"; +$text['label-enabled']['ar-eg'] = "مفعل"; $text['label-emergency_caller_id_number']['en-us'] = "Emergency Caller ID Number"; $text['label-emergency_caller_id_number']['es-cl'] = "Número de Caller ID de emergencia"; @@ -615,6 +670,7 @@ $text['label-emergency_caller_id_number']['uk'] = ""; $text['label-emergency_caller_id_number']['sv-se'] = "Nöd Nummervisning"; $text['label-emergency_caller_id_number']['de-at'] = "Notruf Anruferkennung (Nummer)"; $text['label-emergency_caller_id_number']['ro'] = "Număr Caller ID apel de urgență"; +$text['label-emergency_caller_id_number']['ar-eg'] = ""; $text['label-emergency_caller_id_name']['en-us'] = "Emergency Caller ID Name"; $text['label-emergency_caller_id_name']['es-cl'] = "Nombre de Caller ID de emergencia"; @@ -626,6 +682,7 @@ $text['label-emergency_caller_id_name']['uk'] = ""; $text['label-emergency_caller_id_name']['sv-se'] = "Nöd Namnvisning"; $text['label-emergency_caller_id_name']['de-at'] = "Notruf Anruferkennung (Name)"; $text['label-emergency_caller_id_name']['ro'] = "Nume Caller ID apel de urgență"; +$text['label-emergency_caller_id_name']['ar-eg'] = ""; $text['label-email']['en-us'] = "Email"; $text['label-email']['es-cl'] = "Email"; @@ -637,6 +694,7 @@ $text['label-email']['uk'] = "Електронна пошта"; $text['label-email']['sv-se'] = "E-post"; $text['label-email']['de-at'] = "Email"; $text['label-email']['ro'] = "Email"; +$text['label-email']['ar-eg'] = "البريد الإليكتروني"; $text['label-effective_caller_id_number']['en-us'] = "Effective Caller ID Number"; $text['label-effective_caller_id_number']['es-cl'] = "Número de Caller ID Efectivo"; @@ -648,6 +706,7 @@ $text['label-effective_caller_id_number']['uk'] = ""; $text['label-effective_caller_id_number']['sv-se'] = "Effektiv Nummervisning"; $text['label-effective_caller_id_number']['de-at'] = "Tatsächliche Anruferkennung (Nummer)"; $text['label-effective_caller_id_number']['ro'] = "Număr Caller ID"; +$text['label-effective_caller_id_number']['ar-eg'] = "رقم المتصل الفعال"; $text['label-effective_caller_id_name']['en-us'] = "Effective Caller ID Name"; $text['label-effective_caller_id_name']['es-cl'] = "Nombre de Caller ID Efectivo"; @@ -659,6 +718,7 @@ $text['label-effective_caller_id_name']['uk'] = ""; $text['label-effective_caller_id_name']['sv-se'] = "Effektiv Namnvisning"; $text['label-effective_caller_id_name']['de-at'] = "Tatsächliche Anruferkennung (Nummer)"; $text['label-effective_caller_id_name']['ro'] = "Nume Caller ID"; +$text['label-effective_caller_id_name']['ar-eg'] = "إسم المتصل الفعال"; $text['label-domain']['en-us'] = "Domain"; $text['label-domain']['es-cl'] = "Dominio"; @@ -670,6 +730,7 @@ $text['label-domain']['uk'] = "Домен"; $text['label-domain']['sv-se'] = "Domän"; $text['label-domain']['de-at'] = "Domain"; $text['label-domain']['ro'] = "Domeniu"; +$text['label-domain']['ar-eg'] = "النطاق"; $text['label-directory_visible']['en-us'] = "Directory Visible"; $text['label-directory_visible']['es-cl'] = "Directorio Visible"; @@ -681,6 +742,7 @@ $text['label-directory_visible']['uk'] = ""; $text['label-directory_visible']['sv-se'] = "Synlig I Katalog"; $text['label-directory_visible']['de-at'] = "Verzeichnis sichtbar"; $text['label-directory_visible']['ro'] = "Vizibil în directory"; +$text['label-directory_visible']['ar-eg'] = ""; $text['label-directory_full_name']['en-us'] = "Directory Full Name"; $text['label-directory_full_name']['es-cl'] = "Nombre Completo de Directorio"; @@ -692,6 +754,7 @@ $text['label-directory_full_name']['uk'] = ""; $text['label-directory_full_name']['sv-se'] = "Hela Namnet I Katalog"; $text['label-directory_full_name']['de-at'] = "Verzeichnis voller Name"; $text['label-directory_full_name']['ro'] = "Nume complet în directory"; +$text['label-directory_full_name']['ar-eg'] = ""; $text['label-directory_exten_visible']['en-us'] = "Directory Extension Visible"; $text['label-directory_exten_visible']['es-cl'] = "Extensión de Directorio Visible"; @@ -703,6 +766,7 @@ $text['label-directory_exten_visible']['uk'] = ""; $text['label-directory_exten_visible']['sv-se'] = "Anknytning Synlig I Katalog"; $text['label-directory_exten_visible']['de-at'] = "Verzeichnis Nebenstelle sichtbar"; $text['label-directory_exten_visible']['ro'] = "Extensie vizibilă în directory"; +$text['label-directory_exten_visible']['ar-eg'] = ""; $text['label-dial_string']['en-us'] = "Dial String"; $text['label-dial_string']['es-cl'] = "Cadena de Marcado"; @@ -714,6 +778,7 @@ $text['label-dial_string']['uk'] = ""; $text['label-dial_string']['sv-se'] = "Ringa Sträng"; $text['label-dial_string']['de-at'] = "Wahl Zeichenkette"; $text['label-dial_string']['ro'] = "Secvență de apelare"; +$text['label-dial_string']['ar-eg'] = ""; $text['label-device_template']['en-us'] = "Template"; $text['label-device_template']['pt-pt'] = "Template"; @@ -725,6 +790,7 @@ $text['label-device_template']['uk'] = ""; $text['label-device_template']['sv-se'] = "Mall"; $text['label-device_template']['de-at'] = "Vorlage"; $text['label-device_template']['ro'] = "Șablon"; +$text['label-device_template']['ar-eg'] = ""; $text['label-device_mac_address']['en-us'] = "MAC Address"; $text['label-device_mac_address']['pt-pt'] = "Endereço MAC"; @@ -736,6 +802,7 @@ $text['label-device_mac_address']['uk'] = ""; $text['label-device_mac_address']['sv-se'] = "MAC-adress"; $text['label-device_mac_address']['de-at'] = "MAC Adresse"; $text['label-device_mac_address']['ro'] = "Adresă MAC"; +$text['label-device_mac_address']['ar-eg'] = ""; $text['label-description']['en-us'] = "Description"; $text['label-description']['es-cl'] = "Descripción"; @@ -747,6 +814,7 @@ $text['label-description']['uk'] = "Опис"; $text['label-description']['sv-se'] = "Beskrivning"; $text['label-description']['de-at'] = "Beschreibung"; $text['label-description']['ro'] = "Descriere"; +$text['label-description']['ar-eg'] = "الوصف"; $text['label-cidr']['en-us'] = "CIDR"; $text['label-cidr']['es-cl'] = "CIDR"; @@ -758,6 +826,7 @@ $text['label-cidr']['uk'] = ""; $text['label-cidr']['sv-se'] = "CIDR"; $text['label-cidr']['de-at'] = "CIDR"; $text['label-cidr']['ro'] = "CIDR"; +$text['label-cidr']['ar-eg'] = ""; $text['label-call_timeout']['en-us'] = "Call Timeout"; $text['label-call_timeout']['es-cl'] = "Tiempo de Espera de Llamada"; @@ -769,6 +838,7 @@ $text['label-call_timeout']['uk'] = ""; $text['label-call_timeout']['sv-se'] = "Ring Tidsgräns"; $text['label-call_timeout']['de-at'] = "Abwurfzeit"; $text['label-call_timeout']['ro'] = "Timp de expirare apel"; +$text['label-call_timeout']['ar-eg'] = ""; $text['label-call_screen_enabled']['en-us'] = "Call Screen"; $text['label-call_screen_enabled']['es-cl'] = ""; @@ -780,6 +850,7 @@ $text['label-call_screen_enabled']['uk'] = ""; $text['label-call_screen_enabled']['sv-se'] = ""; $text['label-call_screen_enabled']['de-at'] = "Anruf Anzeige"; $text['label-call_screen_enabled']['ro'] = ""; +$text['label-call_screen_enabled']['ar-eg'] = ""; $text['label-call_group']['en-us'] = "Call Group"; $text['label-call_group']['es-cl'] = "Llamar a Grupo"; @@ -791,6 +862,7 @@ $text['label-call_group']['uk'] = ""; $text['label-call_group']['sv-se'] = "Ring Grupp"; $text['label-call_group']['de-at'] = "Rufgruppe"; $text['label-call_group']['ro'] = "Grup apelare"; +$text['label-call_group']['ar-eg'] = ""; $text['label-bypass_media_after_bridge']['en-us'] = "Bypass Media After Bridge"; $text['label-bypass_media_after_bridge']['es-cl'] = "Después de la omisión de medios puente"; @@ -802,6 +874,7 @@ $text['label-bypass_media_after_bridge']['uk'] = ""; $text['label-bypass_media_after_bridge']['sv-se'] = "Bypass Media After Bridge"; $text['label-bypass_media_after_bridge']['de-at'] = "Bypass Media After Bridge"; $text['label-bypass_media_after_bridge']['ro'] = "Bypass Media After Bridge"; +$text['label-bypass_media_after_bridge']['ar-eg'] = ""; $text['label-bypass_media']['en-us'] = "Bypass Media"; $text['label-bypass_media']['es-cl'] = "Bypass de Medios"; @@ -813,6 +886,7 @@ $text['label-bypass_media']['uk'] = ""; $text['label-bypass_media']['sv-se'] = "Bypass Media"; $text['label-bypass_media']['de-at'] = "Bypass Media"; $text['label-bypass_media']['ro'] = "Bypass Media"; +$text['label-bypass_media']['ar-eg'] = ""; $text['label-billing_warning']['en-us'] = "Billing is installed, please take note you need to have enough balance to create extensions."; $text['label-billing_warning']['es-cl'] = "La cobranza está instalada, por favor note que necesita suficiente balance para crear extensiones."; @@ -824,6 +898,7 @@ $text['label-billing_warning']['uk'] = ""; $text['label-billing_warning']['sv-se'] = "Fakturerings program är installerat, tänk på att du måste ha rätt balans för att kunna skapa anknytningar."; $text['label-billing_warning']['de-at'] = "Das Rechnungsmodul ist installiert. Bitte beachten Sie, dass Sie genug Guthaben benötigen um Nebenstellen anlegen zu können."; $text['label-billing_warning']['ro'] = "Sistemul de plată este instalat. Este nevoie de un sold pozitiv pentru a crea extensii."; +$text['label-billing_warning']['ar-eg'] = ""; $text['label-auth_acl']['en-us'] = "Auth ACL"; $text['label-auth_acl']['es-cl'] = "ACL de Autenticación"; @@ -835,6 +910,7 @@ $text['label-auth_acl']['uk'] = ""; $text['label-auth_acl']['sv-se'] = "Auth ACL"; $text['label-auth_acl']['de-at'] = "Auth ACL"; $text['label-auth_acl']['ro'] = "ACL autentificare"; +$text['label-auth_acl']['ar-eg'] = ""; $text['label-accountcode']['en-us'] = "Account Code"; $text['label-accountcode']['es-cl'] = "Código de Cuenta"; @@ -846,6 +922,7 @@ $text['label-accountcode']['uk'] = ""; $text['label-accountcode']['sv-se'] = "Kontokod"; $text['label-accountcode']['de-at'] = "Account Code"; $text['label-accountcode']['ro'] = "Cod cont"; +$text['label-accountcode']['ar-eg'] = ""; $text['header-extensions']['en-us'] = "Extensions"; $text['header-extensions']['es-cl'] = "Extensiones"; @@ -857,6 +934,7 @@ $text['header-extensions']['uk'] = "Розширення"; $text['header-extensions']['sv-se'] = "Anknytningar"; $text['header-extensions']['de-at'] = "Nebenstellen"; $text['header-extensions']['ro'] = "Extensii"; +$text['header-extensions']['ar-eg'] = "الأرقام الداخلية"; $text['header-extension-edit']['en-us'] = "Extension"; $text['header-extension-edit']['es-cl'] = "Extensión"; @@ -868,6 +946,7 @@ $text['header-extension-edit']['uk'] = "Розширення"; $text['header-extension-edit']['sv-se'] = "Anknytning"; $text['header-extension-edit']['de-at'] = "Nebenstelle"; $text['header-extension-edit']['ro'] = "Extensie"; +$text['header-extension-edit']['ar-eg'] = "رقم داخلي"; $text['header-extension-add']['en-us'] = "Extension Add"; $text['header-extension-add']['es-cl'] = "Agregar Extensión"; @@ -879,6 +958,7 @@ $text['header-extension-add']['uk'] = "Додавання розширення"; $text['header-extension-add']['sv-se'] = "Lägg Till Anknytning"; $text['header-extension-add']['de-at'] = "Nebenstelle hinzufügen"; $text['header-extension-add']['ro'] = "Adăugare extensie"; +$text['header-extension-add']['ar-eg'] = "إضافة رقم داخلي"; $text['description-voicemail_password']['en-us'] = "Enter the numeric voicemail password here."; $text['description-voicemail_password']['es-cl'] = "Ingrese la contraseña numérica para el correo de voz aquí."; @@ -890,6 +970,7 @@ $text['description-voicemail_password']['uk'] = ""; $text['description-voicemail_password']['sv-se'] = "Ange det numeriska röstbrevlåde-lösenordet här."; $text['description-voicemail_password']['de-at'] = "Geben Sie das numerische Mailbox Passwort an."; $text['description-voicemail_password']['ro'] = "Introduceți parola numerică pentru mesageria vocală aici."; +$text['description-voicemail_password']['ar-eg'] = ""; $text['description-voicemail_mail_to']['en-us'] = "Enter the email address to send voicemail to (optional)."; $text['description-voicemail_mail_to']['es-cl'] = "Ingrese una dirección de correo electrónico para enviar el correo de voz (opcional)."; @@ -901,6 +982,7 @@ $text['description-voicemail_mail_to']['uk'] = ""; $text['description-voicemail_mail_to']['sv-se'] = "Ange E-post adressen för röstbrevlådan (valfritt)."; $text['description-voicemail_mail_to']['de-at'] = "Geben Sie die Email Adresse an, an die Ihre Mailbox Nachricht gesendet werden soll (optional)."; $text['description-voicemail_mail_to']['ro'] = "Introduceți adresa de email unde se vor trimite mesajele vocale (opțional)."; +$text['description-voicemail_mail_to']['ar-eg'] = ""; $text['description-voicemail_local_after_email']['en-us'] = "Choose whether to keep the voicemail in the system after sending the email notification."; $text['description-voicemail_local_after_email']['es-cl'] = "Escoja si desea mantener el buzón de voz en el sistema después de enviar la notificación por correo electrónico."; @@ -912,6 +994,7 @@ $text['description-voicemail_local_after_email']['uk'] = ""; $text['description-voicemail_local_after_email']['sv-se'] = "Välj om du vill behålla röstmeddelande i systemet efter att e-postmeddelandet skickats."; $text['description-voicemail_local_after_email']['de-at'] = "Wählen Sie ob die Mailbox Nachricht am Server gespeichert werden soll, sobald die Nachricht per Mail versendet worden ist."; $text['description-voicemail_local_after_email']['ro'] = "Alegeți dacă păstrați mesajele vocale după ce sunt trimise prin email."; +$text['description-voicemail_local_after_email']['ar-eg'] = ""; $text['description-voicemail_file']['en-us'] = "Select a listening option to include with the email notification."; $text['description-voicemail_file']['es-cl'] = "Seleccione qué opción de escucha para incluir en la notificación de correo electrónico."; @@ -923,6 +1006,7 @@ $text['description-voicemail_file']['uk'] = ""; $text['description-voicemail_file']['sv-se'] = "Välj ett alternativ för avlyssning i e-postmeddelandet."; $text['description-voicemail_file']['de-at'] = "Wählen Sie eine Option für die Mailbox Benachrichtigung."; $text['description-voicemail_file']['ro'] = "Selectați o opțiune de a asculta mesajul vocal în notificarea prin email."; +$text['description-voicemail_file']['ar-eg'] = ""; $text['description-voicemail_enabled']['en-us'] = "Enable/disable voicemail for this extension."; $text['description-voicemail_enabled']['es-cl'] = "Activar/desactivar el correo de voz para esta extensión."; @@ -934,6 +1018,7 @@ $text['description-voicemail_enabled']['uk'] = ""; $text['description-voicemail_enabled']['sv-se'] = "Aktivera/Inaktivera röstbrevlåda för denna anknytning."; $text['description-voicemail_enabled']['de-at'] = "Mailbox für diese Nebenstelle Ein- oder Ausschalten."; $text['description-voicemail_enabled']['ro'] = "Activați/dezactivați mesageria vocală pentru această extensie."; +$text['description-voicemail_enabled']['ar-eg'] = ""; $text['description-user_record']['en-us'] = "Choose whether to record local, inbound, outbound, or all."; $text['description-user_record']['es-cl'] = "Seleccione entrantes, salientes o para grabar todas las llamadas."; @@ -945,6 +1030,7 @@ $text['description-user_record']['uk'] = ""; $text['description-user_record']['sv-se'] = "Välj om lokala, inkommande, utgående eller alla samtal skall spelas in."; $text['description-user_record']['de-at'] = "Wählen Sie ob lokale (local), ausgehende (outbound) oder alle (all) Gespräche aufgezeichnet werden sollen."; $text['description-user_record']['ro'] = "Alegeți dacă înregistrați apelurile locale, primite, trimise sau toate."; +$text['description-user_record']['ar-eg'] = ""; $text['description-user_list']['en-us'] = "Assign the users that are assigned to this extension. "; $text['description-user_list']['es-cl'] = "Asigna los usuarios asociados a esta extensión"; @@ -956,6 +1042,7 @@ $text['description-user_list']['uk'] = ""; $text['description-user_list']['sv-se'] = "Tilldela användare till denna anknytning."; $text['description-user_list']['de-at'] = "Weisen Sie dieser Nebenstelle Benutzer zu."; $text['description-user_list']['ro'] = "Asignați utilizatorii acestei extensii."; +$text['description-user_list']['ar-eg'] = ""; $text['description-user_context']['en-us'] = "Enter the user context here."; $text['description-user_context']['es-cl'] = "Ingrese el contexto de usuario aquí."; @@ -967,6 +1054,7 @@ $text['description-user_context']['uk'] = ""; $text['description-user_context']['sv-se'] = "Ange 'user context' här."; $text['description-user_context']['de-at'] = "Geben Sie den Benutzer Kontext an."; $text['description-user_context']['ro'] = "Introduceți contextul utilizatorilor aici."; +$text['description-user_context']['ar-eg'] = ""; $text['description-toll_allow']['en-us'] = "Enter the toll allow value here. (Examples: domestic,international,local)"; $text['description-toll_allow']['es-cl'] = "Ingrese el tipo de tarifa especial a permitir (ej: doméstica, internacional, local)."; @@ -978,6 +1066,7 @@ $text['description-toll_allow']['uk'] = ""; $text['description-toll_allow']['sv-se'] = "Ange 'toll allow' värde här. (Exempel: domestic,international,local)"; $text['description-toll_allow']['de-at'] = "Geben Sie die Berechtigung an. (z.B.: domestic, international, local)"; $text['description-toll_allow']['ro'] = "Introduceți tipurile de destinație aici. (Ex.: fix, internațional, local)"; +$text['description-toll_allow']['ar-eg'] = ""; $text['description-sip_force_expires']['en-us'] = "To prevent stale registrations SIP Force expires can override the client expire."; $text['description-sip_force_expires']['es-cl'] = "Seleccione si desea reescribir solo el puerto de contacto, o la dirección IP junto con el puerto."; @@ -989,6 +1078,7 @@ $text['description-sip_force_expires']['uk'] = ""; $text['description-sip_force_expires']['sv-se'] = "För att förhindra inaktuella registreringar ”SIP Force expires” kan åsidosätta ”klient expire”."; $text['description-sip_force_expires']['de-at'] = "Um abgelaufene Registrierungen zu vermeiden kann SIP Force expires hier überschrieben werden."; $text['description-sip_force_expires']['ro'] = "Pentru a preveni înregistrările agățate SIP Force Expire poate suprascrie opțiunea Expire a clientului."; +$text['description-sip_force_expires']['ar-eg'] = ""; $text['description-sip_force_contact']['en-us'] = "Choose whether to rewrite the contact port, or rewrite both the contact IP and port."; $text['description-sip_force_contact']['es-cl'] = "Seleccione si desea reescribir solo el puerto de contacto, o la dirección IP junto con el puerto."; @@ -1000,6 +1090,7 @@ $text['description-sip_force_contact']['uk'] = ""; $text['description-sip_force_contact']['sv-se'] = "Välj om 'contact port' skall skrivas om eller om både 'contact IP och Port' skall skrivas om."; $text['description-sip_force_contact']['de-at'] = "Wählen Sie ob contact Port oder contact IP und Port überschrieben werden sollen."; $text['description-sip_force_contact']['ro'] = "Alegeți dacă rescrieți portul sau rescrieți IP-ul și portul."; +$text['description-sip_force_contact']['ar-eg'] = ""; $text['description-sip_bypass_media']['en-us'] = "Choose whether to send the media stream point to point or in transparent proxy mode."; $text['description-sip_bypass_media']['es-cl'] = "Seleccione si desea enviar el flujo de medios punto a punto o en modo proxy de transporte."; @@ -1011,6 +1102,7 @@ $text['description-sip_bypass_media']['uk'] = ""; $text['description-sip_bypass_media']['sv-se'] = "Välj om media strömmen skall skickas 'point to point' eller i 'ransparent proxy mode'."; $text['description-sip_bypass_media']['de-at'] = "Wählen Sie ob Mediendaten direkt von Endgerät zu Endgerät übertragen werden sollen."; $text['description-sip_bypass_media']['ro'] = "Alegeți dacă doriți media în regim punct la punct sau proxy transparent."; +$text['description-sip_bypass_media']['ar-eg'] = ""; $text['description-range']['en-us'] = "Enter the number of extensions to create. Increments each extension by 1."; $text['description-range']['es-cl'] = "Ingrese la cantidad de extensiones a crear. Incrementa cada extensión en 1"; @@ -1022,6 +1114,7 @@ $text['description-range']['uk'] = ""; $text['description-range']['sv-se'] = "Ange hur många anknytningar som skall skapas. Adderar 1 på varje anknytning."; $text['description-range']['de-at'] = "Geben Sie die Anzahl der Nebenstellen an, die angelegt werden sollen. Nebenstellen werden automatisch um 1 erhöht."; $text['description-range']['ro'] = "Introduceți numărul de extensii pe care le doriți create. Se incrementează fiecare extensie cu 1."; +$text['description-range']['ar-eg'] = ""; $text['description-provisioning']['en-us'] = "Select a device and line number to assign to this extension."; $text['description-provisioning']['es-cl'] = "Seleccione un dispositivo y un número de línea para asignar a esta extensión."; @@ -1033,6 +1126,7 @@ $text['description-provisioning']['uk'] = ""; $text['description-provisioning']['sv-se'] = "Välj en enhet och linje nummer att tilldela till denna anknytning."; $text['description-provisioning']['de-at'] = "Wählen Sie eine Geräte- und Liniennummer um sie dieser Nebenstelle zuzuordnen."; $text['description-provisioning']['ro'] = "Selectați un echipament și un număr de linie pentru a asigna această extensie."; +$text['description-provisioning']['ar-eg'] = ""; $text['description-password']['en-us'] = "Enter the password here."; $text['description-password']['es-cl'] = "Ingrese una contraseña aquí"; @@ -1044,6 +1138,7 @@ $text['description-password']['uk'] = ""; $text['description-password']['sv-se'] = "Fyll i lösenord."; $text['description-password']['de-at'] = "Geben Sie das Passwort ein."; $text['description-password']['ro'] = "Introduceți parola aici."; +$text['description-password']['ar-eg'] = ""; $text['description-outbound_caller_id_number-select']['en-us'] = "Select the external (public) caller ID number."; $text['description-outbound_caller_id_number-select']['es-cl'] = "Seleccione el número de caller ID externo (público)."; @@ -1055,6 +1150,7 @@ $text['description-outbound_caller_id_number-select']['uk'] = ""; $text['description-outbound_caller_id_number-select']['sv-se'] = "Välj det externa (publikt) nummervisningen här."; $text['description-outbound_caller_id_number-select']['de-at'] = "Wählen Sie die externe Anruferkennung (Nummer)."; $text['description-outbound_caller_id_number-select']['ro'] = "Selectați numărul Caller ID extern (public)."; +$text['description-outbound_caller_id_number-select']['ar-eg'] = ""; $text['description-outbound_caller_id_number-custom']['en-us'] = "Enter the external (public) caller ID number here."; $text['description-outbound_caller_id_number-custom']['es-cl'] = "Ingrese el número de caller ID externo (público) aquí."; @@ -1066,6 +1162,7 @@ $text['description-outbound_caller_id_number-custom']['uk'] = ""; $text['description-outbound_caller_id_number-custom']['sv-se'] = "Ange det externa (publikt) nummervisningen här."; $text['description-outbound_caller_id_number-custom']['de-at'] = "Geben Sie die externe Anruferkennung (Nummer) hier an."; $text['description-outbound_caller_id_number-custom']['ro'] = "Introduceți numărul Caller ID extern (public)."; +$text['description-outbound_caller_id_number-custom']['ar-eg'] = ""; $text['description-outbound_caller_id_name-select']['en-us'] = "Select the external (public) caller ID name."; $text['description-outbound_caller_id_name-select']['es-cl'] = "Seleccione el nombre de Caller ID externo (público)."; @@ -1077,6 +1174,7 @@ $text['description-outbound_caller_id_name-select']['uk'] = ""; $text['description-outbound_caller_id_name-select']['sv-se'] = "Välj det externa (publikt) namnvisningen här."; $text['description-outbound_caller_id_name-select']['de-at'] = "Wählen Sie die externe Anruferkennung (Name)."; $text['description-outbound_caller_id_name-select']['ro'] = "Selectați numele pentru Caller ID extern (public)."; +$text['description-outbound_caller_id_name-select']['ar-eg'] = ""; $text['description-outbound_caller_id_name-custom']['en-us'] = "Enter the external (public) caller ID name here."; $text['description-outbound_caller_id_name-custom']['es-cl'] = "Ingrese el el nombre de Caller ID externo (público) aquí."; @@ -1088,6 +1186,7 @@ $text['description-outbound_caller_id_name-custom']['uk'] = ""; $text['description-outbound_caller_id_name-custom']['sv-se'] = "Ange det externa (publikt) namnvisningen här."; $text['description-outbound_caller_id_name-custom']['de-at'] = "Geben Sie die externe Anruferkennung (Name) hier an."; $text['description-outbound_caller_id_name-custom']['ro'] = "Introduceți numele pentru Caller ID extern (public)."; +$text['description-outbound_caller_id_name-custom']['ar-eg'] = ""; $text['description-number_alias']['en-us'] = "If the extension is numeric then number alias is optional."; $text['description-number_alias']['es-cl'] = "Si la extensión es numérica, entonces el alias numérico es opcional"; @@ -1099,6 +1198,7 @@ $text['description-number_alias']['uk'] = ""; $text['description-number_alias']['sv-se'] = "Om anknytningen är numerisk då är nummer alias valfritt."; $text['description-number_alias']['de-at'] = "Wenn die Nebenstelle numerisch ist, ist die Angabe einer alternativen Nummer optional."; $text['description-number_alias']['ro'] = "Dacă numele extensiei este numeric atunci aliasul numeric este opțional."; +$text['description-number_alias']['ar-eg'] = ""; $text['description-nibble_account']['en-us'] = "Enter the account number for nibblebill to use."; $text['description-nibble_account']['es-cl'] = "Ingrese el número de cuenta para ser usada por nibblebill."; @@ -1110,6 +1210,7 @@ $text['description-nibble_account']['uk'] = ""; $text['description-nibble_account']['sv-se'] = "Ange konto nummer för 'nibblebill' som skall användas."; $text['description-nibble_account']['de-at'] = "Geben Sie den Nibblebill Benutzer an."; $text['description-nibble_account']['ro'] = "Introduceți numărul de cont folosit de nibblebil."; +$text['description-nibble_account']['ar-eg'] = ""; $text['description-mwi_account']['en-us'] = "MWI Account with user@domain of the voicemail to monitor."; $text['description-mwi_account']['es-cl'] = "Cuenta MWI con usuario@dominio del correo de voz para monitorear."; @@ -1121,6 +1222,7 @@ $text['description-mwi_account']['uk'] = ""; $text['description-mwi_account']['sv-se'] = "MWI konto med user@domain för den röstbrevlåda som skall monitoreras."; $text['description-mwi_account']['de-at'] = "MWI Benutzer (user@domain) der Mailbox."; $text['description-mwi_account']['ro'] = "Contul MWI cu utilizator@domeniu al mesageriei vocale ce va fi monitorizat."; +$text['description-mwi_account']['ar-eg'] = ""; $text['description-missed_call']['en-us'] = "Select the notification type, and enter the appropriate destination."; $text['description-missed_call']['es-cl'] = "Seleccione el tipo de notificación, y entrar en el destino apropiado."; @@ -1132,6 +1234,7 @@ $text['description-missed_call']['uk'] = "Виберіть тип повідом $text['description-missed_call']['sv-se'] = "Välj typ anmälan, och ange lämplig destination."; $text['description-missed_call']['de-at'] = "Wählen Sie den Benachrichtigungstyp und geben Sie das entsprechende Ziel an."; $text['description-missed_call']['ro'] = "Selectați tipul de notificare și introduceți destinația potrivită."; +$text['description-missed_call']['ar-eg'] = ""; $text['description-limit_max']['en-us'] = "Enter the max number of outgoing calls for this user."; $text['description-limit_max']['es-cl'] = "Ingrese el número máximo de llamadas salientes para este usuario."; @@ -1143,6 +1246,7 @@ $text['description-limit_max']['uk'] = ""; $text['description-limit_max']['sv-se'] = "Ange max antal utgående samtal för denna anknytning."; $text['description-limit_max']['de-at'] = "Geben Sie die maximale Anzahl ausgehender Gespräche dieser Nebenstelle an."; $text['description-limit_max']['ro'] = "Introduceți numărul maxim de apeluri ce pot fi inițiate de acestă extensie."; +$text['description-limit_max']['ar-eg'] = ""; $text['description-limit_destination']['en-us'] = "Enter the destination to send the calls when the max number of outgoing calls has been reached."; $text['description-limit_destination']['es-cl'] = "Ingrese el destino a quien enviar las llamadas cuando el máximo de llamadas salientes ha sido alcanzado."; @@ -1154,6 +1258,7 @@ $text['description-limit_destination']['uk'] = ""; $text['description-limit_destination']['sv-se'] = "Ange destination dit samtal skickas när max antal utgående samtals gränsen har nåtts."; $text['description-limit_destination']['de-at'] = "Geben Sie das Ziel an, wohin der Anruf geleitet werden soll, falls die maximale Anzahl ausgehender Gespräche erreicht wurde."; $text['description-limit_destination']['ro'] = "Introduceți destinația unde se vor trimite apelurile atunci când numărul maxim de apeluri inițiate a fost atins."; +$text['description-limit_destination']['ar-eg'] = ""; $text['description-hold_music']['en-us'] = "Select the MOH Category here."; $text['description-hold_music']['es-cl'] = "Ingrese la categoría de música en espera aquí"; @@ -1165,6 +1270,7 @@ $text['description-hold_music']['uk'] = ""; $text['description-hold_music']['sv-se'] = "Välj MOH Kategori här."; $text['description-hold_music']['de-at'] = "Wählen Sie Kategorie der Haltemusik."; $text['description-hold_music']['ro'] = "Selectați categoria pentru MOH (muzică în așteptare)."; +$text['description-hold_music']['ar-eg'] = ""; $text['description-extensions']['en-us'] = "Use this to configure your SIP extensions."; $text['description-extensions']['es-cl'] = "Utilizado para configurar Extensiones SIP."; @@ -1176,6 +1282,7 @@ $text['description-extensions']['uk'] = ""; $text['description-extensions']['sv-se'] = "Använd detta för att konfigurera dina SIP anknytningar."; $text['description-extensions']['de-at'] = "Benutzen sie das um Ihre SIP Nebenstelle zu konfigurieren."; $text['description-extensions']['ro'] = "Folosiți această secțiune pentru a configura extensiile SIP."; +$text['description-extensions']['ar-eg'] = ""; $text['description-extension']['en-us'] = "Enter the alphanumeric extension. The default configuration allows 2 - 7 digit extensions."; $text['description-extension']['es-cl'] = "Ingrese una extensión alfanumérica. La configuración predeterminada permite extensiones de 2 a 7 dígitos."; @@ -1187,6 +1294,7 @@ $text['description-extension']['uk'] = ""; $text['description-extension']['sv-se'] = "Tilldela anknytning och linje nummer till enheten."; $text['description-extension']['de-at'] = "Weisen Sie die Nebenstellen und Linien einem Gerät zu."; $text['description-extension']['ro'] = "Introduceți extensia în format alfanumeric. Configurația implicită permite extensii cu 2 - 7 digiți."; +$text['description-extension']['ar-eg'] = ""; $text['description-enabled']['en-us'] = "Set the status of the extension."; $text['description-enabled']['es-cl'] = "Seleccione el estado de la extensión."; @@ -1198,6 +1306,7 @@ $text['description-enabled']['uk'] = ""; $text['description-enabled']['sv-se'] = "Välj status på denna standardinställning."; $text['description-enabled']['de-at'] = "Setzen Sie den Status dieser Nebenstelle."; $text['description-enabled']['ro'] = "Configurați starea extensiei."; +$text['description-enabled']['ar-eg'] = ""; $text['description-emergency_caller_id_number']['en-us'] = "Enter the emergency caller ID number here."; $text['description-emergency_caller_id_number']['es-cl'] = "Ingrese el número de Caller ID de emergencia aquí."; @@ -1209,6 +1318,7 @@ $text['description-emergency_caller_id_number']['uk'] = ""; $text['description-emergency_caller_id_number']['sv-se'] = "Ange nummer som skall visas vid nödsamtal."; $text['description-emergency_caller_id_number']['de-at'] = "Geben Sie die Anruferkennung (Nummer) für Notrufe an."; $text['description-emergency_caller_id_number']['ro'] = "Introduceți numărul Caller ID pentru apeluri de urgență."; +$text['description-emergency_caller_id_number']['ar-eg'] = ""; $text['description-emergency_caller_id_name']['en-us'] = "Enter the emergency caller ID name here."; $text['description-emergency_caller_id_name']['es-cl'] = "Ingrese el nombre de Caller ID de emergencia aquí."; @@ -1220,6 +1330,7 @@ $text['description-emergency_caller_id_name']['uk'] = ""; $text['description-emergency_caller_id_name']['sv-se'] = "Ange namn som skall visas vid nödsamtal."; $text['description-emergency_caller_id_name']['de-at'] = "Geben Sie die Anruferkennung (Name) für Notrufe an."; $text['description-emergency_caller_id_name']['ro'] = "Introduceți numele Caller ID pentru apeluri de urgență."; +$text['description-emergency_caller_id_name']['ar-eg'] = ""; $text['description-effective_caller_id_number']['en-us'] = "Enter the internal caller ID number here."; $text['description-effective_caller_id_number']['es-cl'] = "Ingrese el número de Caller ID interno aquí."; @@ -1231,6 +1342,7 @@ $text['description-effective_caller_id_number']['uk'] = ""; $text['description-effective_caller_id_number']['sv-se'] = "Ange numret som skall visas internt."; $text['description-effective_caller_id_number']['de-at'] = "Geben Sie die interne Anruferkennung (Nummer) an."; $text['description-effective_caller_id_number']['ro'] = "Introduceți numărul intern Caller ID."; +$text['description-effective_caller_id_number']['ar-eg'] = ""; $text['description-effective_caller_id_name']['en-us'] = "Enter the internal caller ID name here."; $text['description-effective_caller_id_name']['es-cl'] = "Ingrese el nombre de Caller ID interno aquí."; @@ -1242,6 +1354,7 @@ $text['description-effective_caller_id_name']['uk'] = ""; $text['description-effective_caller_id_name']['sv-se'] = "Ange namn som skall visas internt."; $text['description-effective_caller_id_name']['de-at'] = "Geben Sie die interne Anruferkennung (Name) an."; $text['description-effective_caller_id_name']['ro'] = "Introduceți numele intern Caller ID."; +$text['description-effective_caller_id_name']['ar-eg'] = ""; $text['description-domain']['en-us'] = ""; $text['description-domain']['es-cl'] = ""; @@ -1253,6 +1366,7 @@ $text['description-domain']['uk'] = ""; $text['description-domain']['sv-se'] = ""; $text['description-domain']['de-at'] = ""; $text['description-domain']['ro'] = ""; +$text['description-domain']['ar-eg'] = ""; $text['description-directory_visible']['en-us'] = "Select whether to hide the name from the directory."; $text['description-directory_visible']['es-cl'] = "Seleccione si desea esconder el nombre desde el directorio."; @@ -1264,6 +1378,7 @@ $text['description-directory_visible']['uk'] = ""; $text['description-directory_visible']['sv-se'] = "Välj om namn skall gömas i katalogen."; $text['description-directory_visible']['de-at'] = "Wählen Sie ob der Name im Verzeichnis angegeben werden soll."; $text['description-directory_visible']['ro'] = "Selectați dacă doriți să ascundeți numele în directory."; +$text['description-directory_visible']['ar-eg'] = ""; $text['description-directory_full_name']['en-us'] = "Enter the first name followed by the last name."; $text['description-directory_full_name']['es-cl'] = "Ingrese el nombre seguido del apellido."; @@ -1275,6 +1390,7 @@ $text['description-directory_full_name']['uk'] = ""; $text['description-directory_full_name']['sv-se'] = "Ange förnamn följt av efternamn."; $text['description-directory_full_name']['de-at'] = "Geben Sie zuerst den Vornamen und dann den Nachnamen an."; $text['description-directory_full_name']['ro'] = "Introduceți numele urmat de prenume."; +$text['description-directory_full_name']['ar-eg'] = ""; $text['description-directory_exten_visible']['en-us'] = "Select whether announce the extension when calling the directory."; $text['description-directory_exten_visible']['es-cl'] = "Seleccione si desea mostrar la extensión cuando se llame al directorio."; @@ -1286,6 +1402,7 @@ $text['description-directory_exten_visible']['uk'] = ""; $text['description-directory_exten_visible']['sv-se'] = "Välj om anknytningen skall anges när katalogen rings upp."; $text['description-directory_exten_visible']['de-at'] = "Geben Sie an, ob die Nebenstelle bei Anruf des Verzeichnisses angekündigt werden soll."; $text['description-directory_exten_visible']['ro'] = "Selectați dacă se anunță extensia atunci când se apelează directory."; +$text['description-directory_exten_visible']['ar-eg'] = ""; $text['description-dial_string']['en-us'] = "Location of the endpoint."; $text['description-dial_string']['es-cl'] = "Ubicación de extremo."; @@ -1297,6 +1414,7 @@ $text['description-dial_string']['uk'] = ""; $text['description-dial_string']['sv-se'] = "Plats för enheten."; $text['description-dial_string']['de-at'] = "Standort des Endgeräts"; $text['description-dial_string']['ro'] = "Locația echipamentului."; +$text['description-dial_string']['ar-eg'] = ""; $text['description-description']['en-us'] = ""; $text['description-description']['es-cl'] = ""; @@ -1308,6 +1426,7 @@ $text['description-description']['uk'] = "Введіть опис, якщо це $text['description-description']['sv-se'] = "Fyll i en beskrivning, om nödvändigt."; $text['description-description']['de-at'] = "Falls gewünscht, geben Sie eine Beschreibung an."; $text['description-description']['ro'] = ""; +$text['description-description']['ar-eg'] = ""; $text['description-cidr']['en-us'] = "Enter the CIDR here."; $text['description-cidr']['es-cl'] = "Ingrese el CIDR aquí"; @@ -1319,6 +1438,7 @@ $text['description-cidr']['uk'] = ""; $text['description-cidr']['sv-se'] = "Ange CIDR här."; $text['description-cidr']['de-at'] = "Geben Sie hier die Beschränkung der IP Adresse an (z.B. 1.2.3.4/32)"; $text['description-cidr']['ro'] = "Introduceți adresa în format CIDR aici."; +$text['description-cidr']['ar-eg'] = ""; $text['description-call_timeout']['en-us'] = "Enter the call timeout."; $text['description-call_timeout']['es-cl'] = "Ingrese el tiempo de espera de llamada."; @@ -1330,6 +1450,7 @@ $text['description-call_timeout']['uk'] = ""; $text['description-call_timeout']['sv-se'] = "Ange 'call timeout'"; $text['description-call_timeout']['de-at'] = "Geben Sie die Abwurfzeit an."; $text['description-call_timeout']['ro'] = "Introduceți timpul de expirare pentru apel."; +$text['description-call_timeout']['ar-eg'] = ""; $text['description-call_screen_enabled']['en-us'] = "Choose whether to enable or disable call screening."; $text['description-call_screen_enabled']['es-cl'] = ""; @@ -1341,6 +1462,7 @@ $text['description-call_screen_enabled']['uk'] = ""; $text['description-call_screen_enabled']['sv-se'] = ""; $text['description-call_screen_enabled']['de-at'] = "Wählen Sie ob die Anruf Anzeige Ein- oder Ausgeschaltet werden soll."; $text['description-call_screen_enabled']['ro'] = ""; +$text['description-call_screen_enabled']['ar-eg'] = ""; $text['description-call_group']['en-us'] = "Enter the user call group here. Groups available by default: sales, support, billing."; $text['description-call_group']['es-cl'] = "Ingrese el grupo a llamar aquí. Los grupos disponible de forma predeterminada son: ventas, soporte, facturación."; @@ -1352,6 +1474,7 @@ $text['description-call_group']['uk'] = ""; $text['description-call_group']['sv-se'] = "Ange användarens ring grupp här. Grupper som är tillgängliga från start: sales, support, billing."; $text['description-call_group']['de-at'] = "Geben Sie eine Rufgruppe an. Standardgruppen: sales, support, billing."; $text['description-call_group']['ro'] = "Introduceți grupul de apelare din care face parte utilizatorul. Grupurile disponibile implicit sunt vânzări, suport și plăți."; +$text['description-call_group']['ar-eg'] = ""; $text['description-auth_acl']['en-us'] = "Enter the Auth ACL here."; $text['description-auth_acl']['es-cl'] = "Ingrese el ACL de autenticación aquí"; @@ -1363,6 +1486,7 @@ $text['description-auth_acl']['uk'] = ""; $text['description-auth_acl']['sv-se'] = "Ange Auth ACL här."; $text['description-auth_acl']['de-at'] = "Geben Sie die Auth ACL hier an."; $text['description-auth_acl']['ro'] = "Introduceți ACL-ul pentru autentificare aici."; +$text['description-auth_acl']['ar-eg'] = ""; $text['description-accountcode']['en-us'] = "Enter the account code here."; $text['description-accountcode']['es-cl'] = "Ingrese el código de cuenta aquí."; @@ -1374,6 +1498,7 @@ $text['description-accountcode']['uk'] = ""; $text['description-accountcode']['sv-se'] = "Ange 'account code' här."; $text['description-accountcode']['de-at'] = "Geben Sie den Account Code hier an."; $text['description-accountcode']['ro'] = "Introduceți codul contului aici."; +$text['description-accountcode']['ar-eg'] = ""; $text['confirm-delete']['en-us'] = "Do you really want to delete this?"; $text['confirm-delete']['es-cl'] = "¿Realmente desea eliminar esto?"; @@ -1385,6 +1510,7 @@ $text['confirm-delete']['uk'] = "Ви дійсно бажаєте це вида $text['confirm-delete']['sv-se'] = "Vill du verkligen ta bort detta?"; $text['confirm-delete']['de-at'] = "Wollen Sie das wirklich löschen?"; $text['confirm-delete']['ro'] = "Sigur doriți să ștergeți?"; +$text['confirm-delete']['ar-eg'] = ""; $text['confirm-copy']['en-us'] = "Do you really want to copy this?"; $text['confirm-copy']['es-cl'] = "¿Realmente desea copiar esto?"; @@ -1396,6 +1522,7 @@ $text['confirm-copy']['uk'] = ""; $text['confirm-copy']['sv-se'] = "Vill du verkligen kopiera detta?"; $text['confirm-copy']['de-at'] = "Wollen Sie das wirdklich kopieren?"; $text['confirm-copy']['ro'] = "Sigur doriți să copiați?"; +$text['confirm-copy']['ar-eg'] = ""; $text['checkbox-range']['en-us'] = "Auto-generate user with extension as login name"; $text['checkbox-range']['es-cl'] = "Generar automáticamente usuario con su nombre de inicio de sesión como extensión"; @@ -1407,6 +1534,7 @@ $text['checkbox-range']['uk'] = ""; $text['checkbox-range']['sv-se'] = "Auto-generera användare med anknytning som inloggningsnamn."; $text['checkbox-range']['de-at'] = "Benutzer automatisch anlegen (Nebenstelle als Login Name)"; $text['checkbox-range']['ro'] = "Generare automată utilizator și extensie. Extensia ca nume de utilizator."; +$text['checkbox-range']['ar-eg'] = ""; $text['button-search']['en-us'] = "Search"; $text['button-search']['es-cl'] = "Buscar"; @@ -1418,6 +1546,7 @@ $text['button-search']['uk'] = "Пошук"; $text['button-search']['sv-se'] = "Sök"; $text['button-search']['de-at'] = "Suchen"; $text['button-search']['ro'] = "Căutare"; +$text['button-search']['ar-eg'] = "بحث"; $text['button-save']['en-us'] = "Save"; $text['button-save']['es-cl'] = "Guardar"; @@ -1429,6 +1558,7 @@ $text['button-save']['uk'] = "Зберегти"; $text['button-save']['sv-se'] = "Spara"; $text['button-save']['de-at'] = "Speichern"; $text['button-save']['ro'] = "Salvează"; +$text['button-save']['ar-eg'] = "حفظ"; $text['button-edit']['en-us'] = "Edit"; $text['button-edit']['es-cl'] = "Editar"; @@ -1440,6 +1570,7 @@ $text['button-edit']['uk'] = "Редагувати"; $text['button-edit']['sv-se'] = "Editera"; $text['button-edit']['de-at'] = "Bearbeiten"; $text['button-edit']['ro'] = "Editează"; +$text['button-edit']['ar-eg'] = "تعديل"; $text['button-delete']['en-us'] = "Delete"; $text['button-delete']['es-cl'] = "Eliminar"; @@ -1451,6 +1582,7 @@ $text['button-delete']['uk'] = "Видалити"; $text['button-delete']['sv-se'] = "Ta Bort"; $text['button-delete']['de-at'] = "Löschen"; $text['button-delete']['ro'] = "Șterge"; +$text['button-delete']['ar-eg'] = "مسح"; $text['button-copy']['en-us'] = "Copy"; $text['button-copy']['es-cl'] = "Copiar"; @@ -1462,6 +1594,7 @@ $text['button-copy']['uk'] = "Копіювати"; $text['button-copy']['sv-se'] = "Kopiera"; $text['button-copy']['de-at'] = "Kopieren"; $text['button-copy']['ro'] = "Copiază"; +$text['button-copy']['ar-eg'] = "نسخ"; $text['button-calls']['en-us'] = "Call Control"; $text['button-calls']['es-cl'] = "Control de Llamada"; @@ -1472,6 +1605,7 @@ $text['button-calls']['pl'] = "Kontrola rozmów"; $text['button-calls']['sv-se'] = "Samtals Kontroll"; $text['button-calls']['de-at'] = "Anruf Steuerung"; $text['button-calls']['ro'] = "Control apel"; +$text['button-calls']['ar-eg'] = ""; $text['button-back']['en-us'] = "Back"; $text['button-back']['es-cl'] = "Volver"; @@ -1483,6 +1617,7 @@ $text['button-back']['uk'] = "Назад"; $text['button-back']['sv-se'] = "Tillbaka"; $text['button-back']['de-at'] = "Zurück"; $text['button-back']['ro'] = "Înapoi"; +$text['button-back']['ar-eg'] = "رجوع"; $text['button-advanced']['en-us'] = "Advanced"; $text['button-advanced']['es-cl'] = "Avanzado"; @@ -1494,6 +1629,7 @@ $text['button-advanced']['uk'] = "Додатково"; $text['button-advanced']['sv-se'] = "Avancerat"; $text['button-advanced']['de-at'] = "Erweitert"; $text['button-advanced']['ro'] = "Avansat"; +$text['button-advanced']['ar-eg'] = ""; $text['button-add']['en-us'] = "Add"; $text['button-add']['es-cl'] = "Agregar"; @@ -1505,5 +1641,6 @@ $text['button-add']['uk'] = "Додати"; $text['button-add']['sv-se'] = "Lägg Till"; $text['button-add']['de-at'] = "Hinzufügen"; $text['button-add']['ro'] = "Adaugă"; +$text['button-add']['ar-eg'] = "اضافة"; ?> \ No newline at end of file diff --git a/app/extensions/app_menu.php b/app/extensions/app_menu.php index 8d07e2aa48..4d4dd7dc4b 100644 --- a/app/extensions/app_menu.php +++ b/app/extensions/app_menu.php @@ -12,6 +12,7 @@ $apps[$x]['menu'][0]['title']['uk'] = "Розширення"; $apps[$x]['menu'][0]['title']['sv-se'] = "Anknytningar"; $apps[$x]['menu'][0]['title']['ro'] = "Extensii"; $apps[$x]['menu'][0]['title']['de-at'] = "Nebenstellen"; +$apps[$x]['menu'][0]['title']['ar-eg'] = "الأرقام الداخلية"; $apps[$x]['menu'][0]['uuid'] = "d3036a99-9a9f-2ad6-a82a-1fe7bebbe2d3"; $apps[$x]['menu'][0]['parent_uuid'] = "bc96d773-ee57-0cdd-c3ac-2d91aba61b55"; $apps[$x]['menu'][0]['category'] = "internal"; diff --git a/core/databases/app_languages.php b/core/databases/app_languages.php index 629c62caad..3f0b75ff35 100644 --- a/core/databases/app_languages.php +++ b/core/databases/app_languages.php @@ -9,6 +9,7 @@ $text['title-databases']['pl'] = "Bazy danych"; $text['title-databases']['sv-se'] = "Databaser"; $text['title-databases']['uk'] = "Бази даних"; $text['title-databases']['de-at'] = "Datenbanken"; +$text['title-databases']['ar-eg'] = "قواعد البيانات"; $text['title-database-edit']['en-us'] = "Database Edit"; $text['title-database-edit']['es-cl'] = "Editar base de datos"; @@ -19,6 +20,7 @@ $text['title-database-edit']['pl'] = "Edytuj bazę danych"; $text['title-database-edit']['sv-se'] = "Ändra Databas"; $text['title-database-edit']['uk'] = "Редагування бази даних"; $text['title-database-edit']['de-at'] = "Datenbank editieren"; +$text['title-database-edit']['ar-eg'] = "تعديل قاعدة البيانات"; $text['title-database-add']['en-us'] = "Database Add"; $text['title-database-add']['es-cl'] = "Agregar Base de Datos"; @@ -29,6 +31,7 @@ $text['title-database-add']['pl'] = "Dodaj bazę danych"; $text['title-database-add']['sv-se'] = "Lägg Till Databas"; $text['title-database-add']['uk'] = "Додавання бази даних"; $text['title-database-add']['de-at'] = "Datenbank hinzufügen"; +$text['title-database-add']['ar-eg'] = "إضافة قاعدة بيانات"; $text['message-update']['en-us'] = "Update Completed"; $text['message-update']['es-cl'] = "Actualización Completada"; @@ -39,6 +42,7 @@ $text['message-update']['pl'] = "Zaktualizowano poprawnie"; $text['message-update']['sv-se'] = "Uppdatering Klar"; $text['message-update']['uk'] = "Оновлення завершено"; $text['message-update']['de-at'] = "Aktualisierung durchgeführt"; +$text['message-update']['ar-eg'] = "اكتمال التحديث"; $text['message-required']['en-us'] = "Please provide: "; $text['message-required']['es-cl'] = "Por favor indique: "; @@ -49,6 +53,7 @@ $text['message-required']['pl'] = "Wpisz:"; $text['message-required']['sv-se'] = "Var god uppge:"; $text['message-required']['uk'] = "Будь ласка, вкажіть:"; $text['message-required']['de-at'] = "Bitte geben Sie folgendes an:"; +$text['message-required']['ar-eg'] = "من فضلك أدخل"; $text['message-message']['en-us'] = "Message"; $text['message-message']['es-cl'] = "Mensaje"; @@ -59,6 +64,7 @@ $text['message-message']['pl'] = "Wiadomość"; $text['message-message']['sv-se'] = "Meddelande"; $text['message-message']['uk'] = "Повідомлення"; $text['message-message']['de-at'] = "Nachricht"; +$text['message-message']['ar-eg'] = "رسالة"; $text['message-delete']['en-us'] = "Delete Completed"; $text['message-delete']['es-cl'] = "Eliminación Completada"; @@ -69,6 +75,7 @@ $text['message-delete']['pl'] = "Usunięto poprawnie"; $text['message-delete']['sv-se'] = "Borttagning Klar"; $text['message-delete']['uk'] = "Видалено"; $text['message-delete']['de-at'] = "Erfolgreich gelöscht"; +$text['message-delete']['ar-eg'] = "تم المسح"; $text['message-add']['en-us'] = "Add Completed"; $text['message-add']['es-cl'] = "Agregar Completado"; @@ -79,6 +86,7 @@ $text['message-add']['pl'] = "Dodano poprawnie"; $text['message-add']['sv-se'] = "Tillagd"; $text['message-add']['uk'] = "Додано"; $text['message-add']['de-at'] = "Erfolgreich hinzugefügt"; +$text['message-add']['ar-eg'] = "تمت الأضافة"; $text['label-username']['en-us'] = "Username"; $text['label-username']['es-cl'] = "Nombre de usuario"; @@ -89,6 +97,7 @@ $text['label-username']['pl'] = "Użytkownik"; $text['label-username']['sv-se'] = "Användarnamn"; $text['label-username']['uk'] = "Ім’я користувача"; $text['label-username']['de-at'] = "Benutzername"; +$text['label-username']['ar-eg'] = "اسم المستخدم"; $text['label-type']['en-us'] = "Type"; $text['label-type']['es-cl'] = "Tipo"; @@ -99,6 +108,7 @@ $text['label-type']['pl'] = "Typ"; $text['label-type']['sv-se'] = "Typ"; $text['label-type']['uk'] = "Тип"; $text['label-type']['de-at'] = "Typ"; +$text['label-type']['ar-eg'] = "النوع"; $text['label-port']['en-us'] = "Port"; $text['label-port']['es-cl'] = "Puerto"; @@ -109,6 +119,7 @@ $text['label-port']['pl'] = "Port"; $text['label-port']['sv-se'] = "Port"; $text['label-port']['uk'] = "Порт"; $text['label-port']['de-at'] = "Port"; +$text['label-port']['ar-eg'] = "منفذ"; $text['label-path']['en-us'] = "Path"; $text['label-path']['es-cl'] = "Ruta"; @@ -119,6 +130,7 @@ $text['label-path']['pl'] = "Ścieżka"; $text['label-path']['sv-se'] = "Sökväg"; $text['label-path']['uk'] = "Шлях"; $text['label-path']['de-at'] = "Pfad"; +$text['label-path']['ar-eg'] = ""; $text['label-password']['en-us'] = "Password"; $text['label-password']['es-cl'] = "Contreseña"; @@ -129,6 +141,7 @@ $text['label-password']['pl'] = "Hasło"; $text['label-password']['sv-se'] = "Lösenord"; $text['label-password']['uk'] = "Пароль"; $text['label-password']['de-at'] = "Passwort"; +$text['label-password']['ar-eg'] = "كلمة السر"; $text['label-name']['en-us'] = "Name"; $text['label-name']['es-cl'] = "Nombre"; @@ -139,6 +152,7 @@ $text['label-name']['pl'] = "Nazwa"; $text['label-name']['sv-se'] = "Namn"; $text['label-name']['uk'] = "Назва"; $text['label-name']['de-at'] = "Name"; +$text['label-name']['ar-eg'] = "الأسم"; $text['label-host']['en-us'] = "Host"; $text['label-host']['es-cl'] = "Host"; @@ -149,6 +163,7 @@ $text['label-host']['pl'] = "Host"; $text['label-host']['sv-se'] = "Värd"; $text['label-host']['uk'] = "Хост"; $text['label-host']['de-at'] = "Host"; +$text['label-host']['ar-eg'] = "مضيف"; $text['label-driver']['en-us'] = "Driver"; $text['label-driver']['es-cl'] = "Controlador"; @@ -159,6 +174,7 @@ $text['label-driver']['pl'] = "Sterownik"; $text['label-driver']['sv-se'] = "Drivrutin"; $text['label-driver']['uk'] = "Драйвер"; $text['label-driver']['de-at'] = "Treiber"; +$text['label-driver']['ar-eg'] = ""; $text['label-description']['en-us'] = "Description"; $text['label-description']['es-cl'] = "Descripción"; @@ -169,6 +185,7 @@ $text['label-description']['pl'] = "Opis"; $text['label-description']['sv-se'] = "Beskrivning"; $text['label-description']['uk'] = "Опис"; $text['label-description']['de-at'] = "Beschreibung"; +$text['label-description']['ar-eg'] = "الوصف"; $text['header-databases']['en-us'] = "Databases"; $text['header-databases']['es-cl'] = "Bases de datos"; @@ -179,6 +196,7 @@ $text['header-databases']['pl'] = "Bazy danych"; $text['header-databases']['sv-se'] = "Databaser"; $text['header-databases']['uk'] = "Бази даних"; $text['header-databases']['de-at'] = "Datenbanken"; +$text['header-databases']['ar-eg'] = "قواعد البيانات"; $text['header-database-edit']['en-us'] = "Database Edit"; $text['header-database-edit']['es-cl'] = "Editar base de datos"; @@ -189,6 +207,7 @@ $text['header-database-edit']['pl'] = "Edytuj bazę danych"; $text['header-database-edit']['sv-se'] = "Ändra Databas"; $text['header-database-edit']['uk'] = "Редагування бази даних"; $text['header-database-edit']['de-at'] = "Datenbanken bearbeiten"; +$text['header-database-edit']['ar-eg'] = "تعديل قاعدة البيانات"; $text['header-database-add']['en-us'] = "Database Add"; $text['header-database-add']['es-cl'] = "Agregar Base de Datos"; @@ -199,6 +218,7 @@ $text['header-database-add']['pl'] = "Dodaj bazę danych"; $text['header-database-add']['sv-se'] = "Lägg Till Databas"; $text['header-database-add']['uk'] = "Додавання бази даних"; $text['header-database-add']['de-at'] = "Datenbanken hinzufügen"; +$text['header-database-add']['ar-eg'] = "إضافة قاعدة بيانات"; $text['description-username']['en-us'] = "Enter the database username."; $text['description-username']['es-cl'] = "Ingrese el nombre de usuario de la base de datos."; @@ -209,6 +229,7 @@ $text['description-username']['pl'] = "Wprowadź nazwę użytkownika"; $text['description-username']['sv-se'] = "Ange databasen användarnamn här."; $text['description-username']['uk'] = "Введіть ім’я користувача бази даних"; $text['description-username']['de-at'] = "Geben Sie den Datenbank Benutzernamen an."; +$text['description-username']['ar-eg'] = "أدخل اسم المستخدم هنا"; $text['description-type']['en-us'] = "Select the database type."; $text['description-type']['es-cl'] = "Seleccione el tipo de base de datos"; @@ -219,6 +240,7 @@ $text['description-type']['pl'] = "Wprowadź rodzaj bazy danych"; $text['description-type']['sv-se'] = "Välj databastyp"; $text['description-type']['uk'] = "Виберіть тип бази даних"; $text['description-type']['de-at'] = "Wählen Sie den Datenbank Typ."; +$text['description-type']['ar-eg'] = "إختر نوع قاعدة البيانات"; $text['description-port']['en-us'] = "Enter the port number."; $text['description-port']['es-cl'] = "Ingrese el número del puerto."; @@ -229,6 +251,7 @@ $text['description-port']['pl'] = "Wprowadź numer portu"; $text['description-port']['sv-se'] = "Ange portnummer"; $text['description-port']['uk'] = "Введіть номер порта"; $text['description-port']['de-at'] = "Geben Sie die Port Nummer an."; +$text['description-port']['ar-eg'] = "أدخل رقم المنفذ"; $text['description-path']['en-us'] = "Enter the database file path (SQLite only)."; $text['description-path']['es-cl'] = "Ingrese la ruta al archivo de datos (solo SQLite)."; @@ -239,6 +262,7 @@ $text['description-path']['pl'] = "Wprowadź ścieżkę do pliku bazy danych (ty $text['description-path']['sv-se'] = "Ange databasens sökväg (gäller endast SQLite)."; $text['description-path']['uk'] = "Вкажіть шлях до файлу бази даних (тільки SQLite)."; $text['description-path']['de-at'] = "Geben Sie den Datenbank Pfad an (nur für SQLite)."; +$text['description-path']['ar-eg'] = ""; $text['description-password']['en-us'] = "Enter the database password."; $text['description-password']['es-cl'] = "Ingrese la contraseña de la base de datos."; @@ -249,6 +273,7 @@ $text['description-password']['pl'] = "Wpisz hasło"; $text['description-password']['sv-se'] = "Ange databasens lösenord."; $text['description-password']['uk'] = "Введіть пароль бази даних."; $text['description-password']['de-at'] = "Geben Sie das Datenbank Passwort ein."; +$text['description-password']['ar-eg'] = "أدخل الرقم السري الخاص بقاعدة البيانات"; $text['description-name']['en-us'] = "Enter the database name."; $text['description-name']['es-cl'] = "Ingrese el nombre de la base de datos."; @@ -259,6 +284,7 @@ $text['description-name']['pl'] = "Wprowadź nazwę bazy danych."; $text['description-name']['sv-se'] = "Ange databasens namn."; $text['description-name']['uk'] = "Введіть ім'я бази даних."; $text['description-name']['de-at'] = "Geben Sie den Namen der Datenbank an"; +$text['description-name']['ar-eg'] = "أدخل إسم قاعدة البيانات"; $text['description-host']['en-us'] = "Enter the host name."; $text['description-host']['es-cl'] = "Ingrese el nombre de host"; @@ -269,6 +295,7 @@ $text['description-host']['pl'] = "Wprowadź nazwę hosta."; $text['description-host']['sv-se'] = "Ange värdnamnet"; $text['description-host']['uk'] = "Введіть ім'я хоста."; $text['description-host']['de-at'] = "Geben Sie den Host Namen ein."; +$text['description-host']['ar-eg'] = "أدخل إسم المضيف"; $text['description-driver']['en-us'] = "Select the database driver."; $text['description-driver']['es-cl'] = "Seleccione un controlador de base de datos."; @@ -279,6 +306,7 @@ $text['description-driver']['pl'] = "Wybierz sterownik bazy danych."; $text['description-driver']['sv-se'] = "Välj databas drivrutin."; $text['description-driver']['uk'] = "Виберіть драйвер бази даних."; $text['description-driver']['de-at'] = "Wählen Sie den Datenbank Treiber."; +$text['description-driver']['ar-eg'] = ""; $text['description-description']['en-us'] = "Enter a description for this database, if desired."; $text['description-description']['es-cl'] = "Ingrese una descripción para esta base de datos, opcional."; @@ -289,6 +317,7 @@ $text['description-description']['pl'] = "Wprowadź opis bazy danych (opcjonaln $text['description-description']['sv-se'] = "Fyll i en beskrivning för denna databas, om nödvändigt."; $text['description-description']['uk'] = "Введіть опис, якщо це необхідно."; $text['description-description']['de-at'] = "Falls gewünscht, geben Sie eine Beschreibung an."; +$text['description-description']['ar-eg'] = ""; $text['description-databases']['en-us'] = "Database information."; $text['description-databases']['es-cl'] = "Información de bases de datos."; @@ -299,6 +328,7 @@ $text['description-databases']['pl'] = "Informacje o bazie danych."; $text['description-databases']['sv-se'] = "Databasinformation."; $text['description-databases']['uk'] = "Інформація про базу даних."; $text['description-databases']['de-at'] = "Datenbank Information."; +$text['description-databases']['ar-eg'] = "بيانات قاعدة البيانات"; $text['description-database-edit']['en-us'] = "Database connection information."; $text['description-database-edit']['es-cl'] = "Información de conexión a base de datos."; @@ -309,6 +339,7 @@ $text['description-database-edit']['pl'] = "Informacje o połączeniach z bazą $text['description-database-edit']['sv-se'] = "Information om Databasanslutning"; $text['description-database-edit']['uk'] = "інформація про підключення до бази даних."; $text['description-database-edit']['de-at'] = "Datenbank Verbindungs Information."; +$text['description-database-edit']['ar-eg'] = "بيانات الإتصال الخاص بقاعدة البيانات"; $text['description-database-add']['en-us'] = "Database connection information."; $text['description-database-add']['es-cl'] = "Información de conexión a base de datos."; @@ -319,6 +350,7 @@ $text['description-database-add']['pl'] = "Informacje o połączeniach z bazą d $text['description-database-add']['sv-se'] = "Information om Databasanslutning"; $text['description-database-add']['uk'] = "інформація про підключення до бази даних."; $text['description-database-add']['de-at'] = "Datenbank Verbindungs Information."; +$text['description-database-add']['ar-eg'] = "بيانات الإتصال الخاص بقاعدة البيانات"; $text['confirm-delete']['en-us'] = "Do you really want to delete this?"; $text['confirm-delete']['es-cl'] = "¿Realmente desea eliminar esto?"; @@ -329,6 +361,7 @@ $text['confirm-delete']['pl'] = "Czy na pewno chcesz to usunąć?"; $text['confirm-delete']['sv-se'] = "Vill du verkligen ta bort detta?"; $text['confirm-delete']['uk'] = "Ви дійсно бажаєте це видалити?"; $text['confirm-delete']['de-at'] = "Wollen Sie das wirklich löschen?"; +$text['confirm-delete']['ar-eg'] = "هل تريد حقا مسح هذا؟"; $text['button-save']['en-us'] = "Save"; $text['button-save']['es-cl'] = "Guardar"; @@ -339,6 +372,7 @@ $text['button-save']['pl'] = "Zachowaj"; $text['button-save']['sv-se'] = "Spara"; $text['button-save']['uk'] = "Зберегти"; $text['button-save']['de-at'] = "Speichern"; +$text['button-save']['ar-eg'] = "حفظ"; $text['button-edit']['en-us'] = "Edit"; $text['button-edit']['es-cl'] = "Editar"; @@ -349,6 +383,7 @@ $text['button-edit']['pl'] = "Edytuj"; $text['button-edit']['sv-se'] = "Editera"; $text['button-edit']['uk'] = "Редагувати"; $text['button-edit']['de-at'] = "Bearbeiten"; +$text['button-edit']['ar-eg'] = "تعديل"; $text['button-delete']['en-us'] = "Delete"; $text['button-delete']['es-cl'] = "Eliminar"; @@ -359,6 +394,7 @@ $text['button-delete']['pl'] = "Usuń"; $text['button-delete']['sv-se'] = "Ta Bort"; $text['button-delete']['uk'] = "Видалити"; $text['button-delete']['de-at'] = "Löschen"; +$text['button-delete']['ar-eg'] = "مسح"; $text['button-back']['en-us'] = "Back"; $text['button-back']['es-cl'] = "Volver"; @@ -369,6 +405,7 @@ $text['button-back']['pl'] = "Wróć"; $text['button-back']['sv-se'] = "Tillbaka"; $text['button-back']['uk'] = "Назад"; $text['button-back']['de-at'] = "Zurück"; +$text['button-back']['ar-eg'] = "رجوع"; $text['button-add']['en-us'] = "Add"; $text['button-add']['es-cl'] = "Agregar"; @@ -379,5 +416,6 @@ $text['button-add']['pl'] = "Dodaj"; $text['button-add']['sv-se'] = "Lägg Till"; $text['button-add']['uk'] = "Додати"; $text['button-add']['de-at'] = "Hinzufügen"; +$text['button-add']['ar-eg'] = "اضافة"; ?> \ No newline at end of file diff --git a/core/databases/app_menu.php b/core/databases/app_menu.php index 036119cda4..1763c4ea77 100644 --- a/core/databases/app_menu.php +++ b/core/databases/app_menu.php @@ -9,6 +9,7 @@ $apps[$x]['menu'][0]['title']['pl'] = "Bazy danych"; $apps[$x]['menu'][0]['title']['sv-se'] = "Databaser"; $apps[$x]['menu'][0]['title']['uk'] = "Бази даних"; $apps[$x]['menu'][0]['title']['de-at'] = "Datenbanken"; +$apps[$x]['menu'][0]['title']['ar-eg'] = "قواعد البيانات"; $apps[$x]['menu'][0]['uuid'] = "ebbd754d-ca74-d5b1-a77e-9206ba3ecc3f"; $apps[$x]['menu'][0]['parent_uuid'] = "594d99c5-6128-9c88-ca35-4b33392cec0f"; $apps[$x]['menu'][0]['category'] = "internal"; From ae99066dcd1eade25203906be9967481ade557e0 Mon Sep 17 00:00:00 2001 From: markjcrane Date: Mon, 6 Jul 2015 12:15:03 -0600 Subject: [PATCH 25/60] The extension_password permission is not needed on the field name as the password is auto-generated. Because of this its only needed on the update. --- app/extensions/extension_edit.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/extensions/extension_edit.php b/app/extensions/extension_edit.php index 3407fdeedc..485d721859 100644 --- a/app/extensions/extension_edit.php +++ b/app/extensions/extension_edit.php @@ -474,9 +474,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { $sql .= "'$extension_uuid', "; $sql .= "'$extension', "; $sql .= "'$number_alias', "; - if (permission_exists('extension_password')) { - $sql .= "'$password', "; - } + $sql .= "'$password', "; if (if_group("superadmin") || (if_group("admin") && $billing_app_exists)) { $sql .= "'$accountcode', "; } From 9c03764359ba6c16d86312163c1ab03c55e1345b Mon Sep 17 00:00:00 2001 From: Rich Breton Date: Mon, 6 Jul 2015 19:37:18 -0600 Subject: [PATCH 26/60] Update README.md Added some info to make it less confusing --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3565995baf..386578b474 100644 --- a/README.md +++ b/README.md @@ -67,8 +67,10 @@ We ask that you sign the Contributor License Agreement for the following reasons * [The Quick Way](https://github.com/Fusionpbx/opensource/blob/master/sign-cla.md) - Step by step instructions to contribute to FusionPBX with links to our CLA and how to submit pull requests. * [The FusionPBX Contribution Site](https://github.com/Fusionpbx/opensource) - The full repo with more information for the curious. -How to Install FusionPBX COMING SOON +How to Install FusionPBX ---------------------------- +* As root do the following: + ```bash cd /usr/src ``` @@ -76,7 +78,7 @@ cd /usr/src apt-get install wget ``` ```bash -wget http://COMINGSOON/fusionpbx/fusionpbx-scripts/install/ubuntu/install_fusionpbx.sh +wget https://raw.githubusercontent.com/fusionpbx/fusionpbx-scripts/master/install/ubuntu/install_fusionpbx.sh ``` ```bash chmod 755 install_fusionpbx.sh From 270d232d331c4650eacdc36e137d6b06e3f15081 Mon Sep 17 00:00:00 2001 From: Alexey Melnichuk Date: Tue, 7 Jul 2015 13:39:57 +0400 Subject: [PATCH 27/60] Fix. Show registrations to sip profile with force-XXX-domain. When on profile set `force-register-db-domain` realm on xmlstatus is just IP but user is like 101@domain.name. --- app/registrations/status_registrations_inc.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/registrations/status_registrations_inc.php b/app/registrations/status_registrations_inc.php index f8270ddd84..a46a4acb05 100644 --- a/app/registrations/status_registrations_inc.php +++ b/app/registrations/status_registrations_inc.php @@ -110,8 +110,14 @@ require_once "resources/check_auth.php"; //remove unrelated domains if (count($_SESSION["domains"]) > 1) { if (!(permission_exists('registration_all') && $show == "all")) { - if ($registrations[$x]['sip-auth-realm'] != $_SESSION['domain_name']) { - unset($registrations[$x]); + if ($registrations[$x]['sip-auth-realm'] == $_SESSION['domain_name']) {} + else { + $tmp = explode('@', $registrations[$x]['user'], 2); + if($tmp[1] == $_SESSION['domain_name']){} + else { + unset($registrations[$x]); + } + unset($tmp); } } } From 7f8a57739ed2edf3c3c9fd445b68ca1b403fe8f0 Mon Sep 17 00:00:00 2001 From: Alexey Melnichuk Date: Tue, 7 Jul 2015 13:46:25 +0400 Subject: [PATCH 28/60] Use existed variable. --- app/registrations/status_registrations_inc.php | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/app/registrations/status_registrations_inc.php b/app/registrations/status_registrations_inc.php index a46a4acb05..e4efaba3ac 100644 --- a/app/registrations/status_registrations_inc.php +++ b/app/registrations/status_registrations_inc.php @@ -111,13 +111,9 @@ require_once "resources/check_auth.php"; if (count($_SESSION["domains"]) > 1) { if (!(permission_exists('registration_all') && $show == "all")) { if ($registrations[$x]['sip-auth-realm'] == $_SESSION['domain_name']) {} + elseif ($user_array[1] == $_SESSION['domain_name']){} else { - $tmp = explode('@', $registrations[$x]['user'], 2); - if($tmp[1] == $_SESSION['domain_name']){} - else { - unset($registrations[$x]); - } - unset($tmp); + unset($registrations[$x]); } } } From 86b0b21e7b40fca3581403439b978fc140a717e8 Mon Sep 17 00:00:00 2001 From: Alexey Melnichuk Date: Tue, 7 Jul 2015 17:47:50 +0400 Subject: [PATCH 29/60] Fix. Use extension to generate dial-string in xml_handler When uses number_alias contact should be searched by extension name. --- .../resources/scripts/directory/directory.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/resources/install/scripts/app/xml_handler/resources/scripts/directory/directory.lua b/resources/install/scripts/app/xml_handler/resources/scripts/directory/directory.lua index bdd926dbdb..6f98af09d2 100644 --- a/resources/install/scripts/app/xml_handler/resources/scripts/directory/directory.lua +++ b/resources/install/scripts/app/xml_handler/resources/scripts/directory/directory.lua @@ -254,7 +254,7 @@ else --set a default dial string if (dial_string == null) then - dial_string = "{sip_invite_domain=" .. domain_name .. ",presence_id=" .. user .. "@" .. domain_name .. "}${sofia_contact(" .. user .. "@" .. domain_name .. ")}"; + dial_string = "{sip_invite_domain=" .. domain_name .. ",presence_id=" .. user .. "@" .. domain_name .. "}${sofia_contact(" .. extension .. "@" .. domain_name .. ")}"; end --set the an alternative dial string if the hostnames don't match if (load_balancing) then @@ -360,10 +360,10 @@ table.insert(xml, [[ ]]); end table.insert(xml, [[ ]]); - table.insert(xml, [[ ]]); - table.insert(xml, [[ ]]); - table.insert(xml, [[ ]]); - table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); + table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); table.insert(xml, [[ ]]); From 2b150eca0d9b2636ffaa4b7a2373a030f5620e9f Mon Sep 17 00:00:00 2001 From: markjcrane Date: Tue, 7 Jul 2015 14:25:00 -0300 Subject: [PATCH 30/60] Add device key vendor to assign a key to a vendor. --- app/devices/app_config.php | 4 +++ app/devices/app_defaults.php | 31 ++++++++++++---- app/devices/device_edit.php | 36 +++++++++++-------- app/devices/device_profile_edit.php | 12 +++++-- app/provision/resources/classes/provision.php | 2 +- 5 files changed, 59 insertions(+), 26 deletions(-) diff --git a/app/devices/app_config.php b/app/devices/app_config.php index 363f82d74a..d8f6591886 100644 --- a/app/devices/app_config.php +++ b/app/devices/app_config.php @@ -399,6 +399,10 @@ $apps[$x]['db'][$y]['fields'][$z]['type'] = 'text'; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'Select the type.'; $z++; + $apps[$x]['db'][$y]['fields'][$z]['name'] = 'device_key_vendor'; + $apps[$x]['db'][$y]['fields'][$z]['type'] = 'text'; + $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'Enter the vendor.'; + $z++; $apps[$x]['db'][$y]['fields'][$z]['name'] = 'device_key_type'; $apps[$x]['db'][$y]['fields'][$z]['type'] = 'text'; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'Select the type.'; diff --git a/app/devices/app_defaults.php b/app/devices/app_defaults.php index bae76fc722..e9ef963768 100644 --- a/app/devices/app_defaults.php +++ b/app/devices/app_defaults.php @@ -24,14 +24,31 @@ Mark J Crane */ -//set all lines to enabled (true) where null or empty string + if ($domains_processed == 1) { - $sql = "update v_device_lines set "; - $sql .= "enabled = 'true' "; - $sql .= "where enabled is null "; - $sql .= "or enabled = '' "; - $db->exec(check_sql($sql)); - unset($sql); + //set all lines to enabled (true) where null or empty string + $sql = "update v_device_lines set "; + $sql .= "enabled = 'true' "; + $sql .= "where enabled is null "; + $sql .= "or enabled = '' "; + $db->exec(check_sql($sql)); + unset($sql); + + //set the device key vendor + $sql = "select * from v_device_keys as k, v_devices as d "; + $sql .= "where d.device_uuid = k.device_uuid "; + $sql .= "and k.device_uuid is not null "; + $sql .= "and k.device_key_vendor is null "; + $s = $db->prepare($sql); + $s->execute(); + $device_keys = $s->fetchAll(PDO::FETCH_ASSOC); + foreach ($device_keys as &$row) { + $sql = "update v_device_lines "; + $sql .= "set device_key_vendor = '".$row["device_vendor"]."' "; + $sql .= "where device_key_uuid = '".$row["device_key_uuid"]."';\n "; + $db->exec(check_sql($sql)); + } + unset($device_keys, $sql); } ?> \ No newline at end of file diff --git a/app/devices/device_edit.php b/app/devices/device_edit.php index 0a5fa61bb8..0d28895d1e 100644 --- a/app/devices/device_edit.php +++ b/app/devices/device_edit.php @@ -835,17 +835,23 @@ require_once "resources/require.php"; echo " \n"; echo "\n"; - echo "\n"; - echo ""; } - //custom keys + $vendor_count = 0; + foreach($device_keys as $row) { + if ($previous_vendor != $row['device_key_vendor']) { + $previous_vendor = $row['device_key_vendor']; + $vendor_count++; + } + } + echo " "; echo " "; echo "
\n"; - echo " ".$text['label-upgrade_svn']; + echo " ".$text['label-upgrade_source']; echo " \n"; - echo "
\n"; + echo "\n"; //echo " \n"; + if (strlen($row['device_key_vendor']) > 0) { + $device_key_vendor = $row['device_key_vendor']; + } + else { + $device_key_vendor = $device_vendor; + } ?> - + - "; } + if (strtolower($device_vendor) == "aastra" || strlen($device_vendor) == 0 || strlen($device_username) > 0) { + if (strlen($device_vendor) == 0 || strlen($device_username) > 0) { echo ""; } ?> @@ -854,16 +860,16 @@ require_once "resources/require.php"; "; } } - if (strtolower($device_vendor) == "cisco" || strlen($device_vendor) == 0) { - if (strlen($device_vendor) == 0) { echo ""; } + if (strtolower($device_vendor) == "cisco" || strlen($device_vendor) == 0 || strlen($device_username) > 0) { + if (strlen($device_vendor) == 0 || strlen($device_username) > 0) { echo ""; } ?> "; } } - if (strtolower($device_vendor) == "grandstream" || strlen($device_vendor) == 0) { - if (strlen($device_vendor) == 0) { echo ""; } + if (strtolower($device_vendor) == "grandstream" || strlen($device_vendor) == 0 || strlen($device_username) > 0) { + if (strlen($device_vendor) == 0 || strlen($device_username) > 0) { echo ""; } ?> @@ -882,8 +888,8 @@ require_once "resources/require.php"; "; } } - if (strtolower($device_vendor) == "polycom" || strlen($device_vendor) == 0) { - if (strlen($device_vendor) == 0) { echo ""; } + if (strtolower($device_vendor) == "polycom" || strlen($device_vendor) == 0 || strlen($device_username) > 0) { + if (strlen($device_vendor) == 0 || strlen($device_username) > 0) { echo ""; } ?> @@ -891,8 +897,8 @@ require_once "resources/require.php"; "; } } - if (strtolower($device_vendor) == "snom" || strlen($device_vendor) == 0) { - if (strlen($device_vendor) == 0) { echo ""; } + if (strtolower($device_vendor) == "snom" || strlen($device_vendor) == 0 || strlen($device_username) > 0) { + if (strlen($device_vendor) == 0 || strlen($device_username) > 0) { echo ""; } ?> @@ -919,8 +925,8 @@ require_once "resources/require.php"; "; } } - if (strtolower($device_vendor) == "yealink" || strlen($device_vendor) == 0) { - if (strlen($device_vendor) == 0) { echo ""; } + if (strtolower($device_vendor) == "yealink" || strlen($device_vendor) == 0 || strlen($device_username) > 0) { + if (strlen($device_vendor) == 0 || strlen($device_username) > 0) { echo ""; } ?> diff --git a/app/devices/device_profile_edit.php b/app/devices/device_profile_edit.php index dc4582ca43..98f400c46a 100644 --- a/app/devices/device_profile_edit.php +++ b/app/devices/device_profile_edit.php @@ -371,12 +371,18 @@ require_once "resources/require.php"; echo " \n"; echo "\n"; + echo "\n"; + if (strlen($row['device_key_vendor']) > 0) { + $device_key_vendor = $row['device_key_vendor']; + } + else { + $device_key_vendor = $device_vendor; + } ?> - + - db->prepare(check_sql($sql)); $prep_statement->execute(); From b2cdce49405718d6309c65f96d54d1b50c47e11a Mon Sep 17 00:00:00 2001 From: markjcrane Date: Tue, 7 Jul 2015 14:44:14 -0300 Subject: [PATCH 31/60] Change the table name from device lines to keys. --- app/devices/app_defaults.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/devices/app_defaults.php b/app/devices/app_defaults.php index e9ef963768..3f3ff972c6 100644 --- a/app/devices/app_defaults.php +++ b/app/devices/app_defaults.php @@ -43,7 +43,7 @@ if ($domains_processed == 1) { $s->execute(); $device_keys = $s->fetchAll(PDO::FETCH_ASSOC); foreach ($device_keys as &$row) { - $sql = "update v_device_lines "; + $sql = "update v_device_keys "; $sql .= "set device_key_vendor = '".$row["device_vendor"]."' "; $sql .= "where device_key_uuid = '".$row["device_key_uuid"]."';\n "; $db->exec(check_sql($sql)); From 8123974de4721895e275649dcad83ce416648bc9 Mon Sep 17 00:00:00 2001 From: markjcrane Date: Tue, 7 Jul 2015 18:07:25 -0300 Subject: [PATCH 32/60] Add several provision default settings. --- app/provision/app_defaults.php | 60 ++++++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) diff --git a/app/provision/app_defaults.php b/app/provision/app_defaults.php index 7ed6abde36..942c228efd 100644 --- a/app/provision/app_defaults.php +++ b/app/provision/app_defaults.php @@ -63,7 +63,7 @@ $array[$x]['default_setting_category'] = 'provision'; $array[$x]['default_setting_subcategory'] = 'auto_insert_enabled'; $array[$x]['default_setting_name'] = 'boolean'; - $array[$x]['default_setting_value'] = 'false'; + $array[$x]['default_setting_value'] = 'true'; $array[$x]['default_setting_enabled'] = 'false'; $array[$x]['default_setting_description'] = ''; $x++; @@ -106,7 +106,7 @@ $array[$x]['default_setting_subcategory'] = 'voicemail_number'; $array[$x]['default_setting_name'] = 'text'; $array[$x]['default_setting_value'] = '*97'; - $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_enabled'] = 'true'; $array[$x]['default_setting_description'] = ''; $x++; $array[$x]['default_setting_category'] = 'provision'; @@ -129,6 +129,62 @@ $array[$x]['default_setting_value'] = '80'; $array[$x]['default_setting_enabled'] = 'true'; $array[$x]['default_setting_description'] = ''; + $x++; + $array[$x]['default_setting_category'] = 'provision'; + $array[$x]['default_setting_subcategory'] = 'polycom_gmt_offset'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = ''; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = '3600 * GMT offset'; + $x++; + $array[$x]['default_setting_category'] = 'provision'; + $array[$x]['default_setting_subcategory'] = 'http_domain_filter'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = 'false'; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = ''; + $x++; + $array[$x]['default_setting_category'] = 'provision'; + $array[$x]['default_setting_subcategory'] = 'yealink_time_zone'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = '-6'; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = 'Time zone ranges from -11 to +12'; + $x++; + $array[$x]['default_setting_category'] = 'provision'; + $array[$x]['default_setting_subcategory'] = 'yealink_time_format'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = '1'; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = '0-12 Hour, 1-24 Hour'; + $x++; + $array[$x]['default_setting_category'] = 'provision'; + $array[$x]['default_setting_subcategory'] = 'yealink_date_format'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = '3'; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = '0-WWW MMM DD (default), 1-DD-MMM-YY, 2-YYYY-MM-DD, 3-DD/MM/YYYY, 4-MM/DD/YY, 5-DD MMM YYYY, 6-WWW DD MMM'; + $x++; + $array[$x]['default_setting_category'] = 'provision'; + $array[$x]['default_setting_subcategory'] = 'directory'; + $array[$x]['default_setting_name'] = 'boolean'; + $array[$x]['default_setting_value'] = 'true'; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = ''; + $x++; + $array[$x]['default_setting_category'] = 'ntp_server_primary'; + $array[$x]['default_setting_subcategory'] = 'directory'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = 'pool.ntp.org'; + $array[$x]['default_setting_enabled'] = 'true'; + $array[$x]['default_setting_description'] = ''; + $x++; + $array[$x]['default_setting_category'] = 'ntp_server_secondary'; + $array[$x]['default_setting_subcategory'] = 'directory'; + $array[$x]['default_setting_name'] = 'text'; + $array[$x]['default_setting_value'] = '2.us.pool.ntp.org'; + $array[$x]['default_setting_enabled'] = 'true'; + $array[$x]['default_setting_description'] = ''; //get an array of the default settings $sql = "select * from v_default_settings "; From fbcd47394bd32b7fa39e22c80ebb7215ea3e44b6 Mon Sep 17 00:00:00 2001 From: markjcrane Date: Wed, 8 Jul 2015 01:41:24 -0300 Subject: [PATCH 33/60] Add device key type column add the vendor name. --- app/devices/device_edit.php | 63 +++++++++++++++++++++++++++---------- 1 file changed, 46 insertions(+), 17 deletions(-) diff --git a/app/devices/device_edit.php b/app/devices/device_edit.php index 0d28895d1e..7b363d6013 100644 --- a/app/devices/device_edit.php +++ b/app/devices/device_edit.php @@ -381,6 +381,7 @@ require_once "resources/require.php"; $sql = "SELECT * FROM v_device_keys "; $sql .= "WHERE device_uuid = '".$device_uuid."' "; $sql .= "ORDER by "; + $sql .= "device_key_vendor asc, "; $sql .= "CASE device_key_category "; $sql .= "WHEN 'line' THEN 1 "; $sql .= "WHEN 'memory' THEN 2 "; @@ -733,24 +734,50 @@ require_once "resources/require.php"; echo "
".$text['label-keys'].""; echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; + if ($vendor_count == 0) { + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + } $x = 0; foreach($device_keys as $row) { + //set the column names + if ($previous_device_key_vendor != $row['device_key_vendor']) { + echo " \n"; + echo " \n"; + echo " \n"; + if ($vendor_count > 1 && strlen($row['device_key_vendor']) > 0) { + echo " \n"; + } else { + echo " \n"; + } + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + } //determine whether to hide the element if (strlen($device_key_uuid) == 0) { $element['hidden'] = false; @@ -851,7 +878,7 @@ require_once "resources/require.php"; 0) { - if (strlen($device_vendor) == 0 || strlen($device_username) > 0) { echo ""; } + echo ""; ?> @@ -861,7 +888,7 @@ require_once "resources/require.php"; if (strlen($device_vendor) == 0) { echo ""; } } if (strtolower($device_vendor) == "cisco" || strlen($device_vendor) == 0 || strlen($device_username) > 0) { - if (strlen($device_vendor) == 0 || strlen($device_username) > 0) { echo ""; } + echo ""; ?> @@ -869,7 +896,7 @@ require_once "resources/require.php"; if (strlen($device_vendor) == 0) { echo ""; } } if (strtolower($device_vendor) == "grandstream" || strlen($device_vendor) == 0 || strlen($device_username) > 0) { - if (strlen($device_vendor) == 0 || strlen($device_username) > 0) { echo ""; } + echo ""; ?> @@ -889,7 +916,7 @@ require_once "resources/require.php"; if (strlen($device_vendor) == 0) { echo ""; } } if (strtolower($device_vendor) == "polycom" || strlen($device_vendor) == 0 || strlen($device_username) > 0) { - if (strlen($device_vendor) == 0 || strlen($device_username) > 0) { echo ""; } + echo ""; ?> @@ -898,7 +925,7 @@ require_once "resources/require.php"; if (strlen($device_vendor) == 0) { echo ""; } } if (strtolower($device_vendor) == "snom" || strlen($device_vendor) == 0 || strlen($device_username) > 0) { - if (strlen($device_vendor) == 0 || strlen($device_username) > 0) { echo ""; } + echo ""; ?> @@ -926,7 +953,7 @@ require_once "resources/require.php"; if (strlen($device_vendor) == 0) { echo ""; } } if (strtolower($device_vendor) == "yealink" || strlen($device_vendor) == 0 || strlen($device_username) > 0) { - if (strlen($device_vendor) == 0 || strlen($device_username) > 0) { echo ""; } + echo ""; ?> @@ -1014,6 +1041,8 @@ require_once "resources/require.php"; } echo " \n"; echo " \n"; + //set the previous vendor + $previous_device_key_vendor = $row['device_key_vendor']; //increment the array key $x++; } From 39960bac8dfeee1048f31cf8a1239c0881f935df Mon Sep 17 00:00:00 2001 From: markjcrane Date: Wed, 8 Jul 2015 01:43:52 -0300 Subject: [PATCH 34/60] Don't override the device vendor type. --- app/provision/resources/classes/provision.php | 1 - 1 file changed, 1 deletion(-) diff --git a/app/provision/resources/classes/provision.php b/app/provision/resources/classes/provision.php index 841bc32833..237de12212 100644 --- a/app/provision/resources/classes/provision.php +++ b/app/provision/resources/classes/provision.php @@ -316,7 +316,6 @@ include "root.php"; $prep_statement_4->execute(); $row = $prep_statement_4->fetch(); $device_label = $row["device_label"]; - $device_vendor = strtolower($row["device_vendor"]); $device_firmware_version = $row["device_firmware_version"]; $device_provision_enable = $row["device_provision_enable"]; //keep the original template From fda7add88760948fb92ada9f7f63eee2b823f70b Mon Sep 17 00:00:00 2001 From: markjcrane Date: Wed, 8 Jul 2015 09:30:00 -0300 Subject: [PATCH 35/60] Remove trailing spaces and adjust the vertical spacing. --- app/vars/app_defaults.php | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/app/vars/app_defaults.php b/app/vars/app_defaults.php index 2200587635..96309fd365 100644 --- a/app/vars/app_defaults.php +++ b/app/vars/app_defaults.php @@ -80,7 +80,7 @@ EOD; $country_list = <<prepare(check_sql($sql)); if ($prep_statement) { $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); - if ( count($result)> 0) { $country_iso = $result[0]["value"]; } } - unset($prep_statement, $sql, $result); - if ( $country_iso===NULL ) + if ( $country_iso===NULL ) { return; + } $countries = json_decode($country_list, true); @@ -380,7 +378,7 @@ EOD; $sql .= ");"; $db->exec(check_sql($sql)); unset($sql, $row); - $x++; + $x++; } } unset($prep_statement, $sql); @@ -393,7 +391,6 @@ EOD; if ($prep_statement) { $prep_statement->execute(); $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - if ($row['num_rows'] == 0) { $sql = "insert into v_vars "; $sql .= "("; @@ -417,7 +414,7 @@ EOD; $sql .= ");"; $db->exec(check_sql($sql)); unset($sql, $row); - $x++; + $x++; } } unset($prep_statement, $sql); @@ -430,7 +427,6 @@ EOD; if ($prep_statement) { $prep_statement->execute(); $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - if ($row['num_rows'] == 0) { $sql = "insert into v_vars "; $sql .= "("; @@ -459,7 +455,7 @@ EOD; } unset($prep_statement, $sql); - unset($countries); + unset($countries); } } @@ -559,7 +555,7 @@ EOD; } } -//set country code variables + //set country code variables set_country_vars($db, $x); //save the vars.xml file From e33943f5a467dbb3ab7101c09c6180b90875dc80 Mon Sep 17 00:00:00 2001 From: markjcrane Date: Wed, 8 Jul 2015 12:10:17 -0300 Subject: [PATCH 36/60] This Hot desking has been moved to optional Apps directory. It is now considered to be deprecated and replaced by a better feature. --- app/hot_desking/app_config.php | 37 -- app/hot_desking/app_languages.php | 246 ------------- app/hot_desking/app_menu.php | 19 - app/hot_desking/extension_delete.php | 81 ----- app/hot_desking/extension_edit.php | 327 ------------------ app/hot_desking/index.php | 176 ---------- .../conf/dialplan/470_hot-desk-login.xml | 8 - .../conf/dialplan/475_hot-desk-logout.xml | 8 - app/hot_desking/root.php | 50 --- 9 files changed, 952 deletions(-) delete mode 100644 app/hot_desking/app_config.php delete mode 100644 app/hot_desking/app_languages.php delete mode 100644 app/hot_desking/app_menu.php delete mode 100644 app/hot_desking/extension_delete.php delete mode 100644 app/hot_desking/extension_edit.php delete mode 100644 app/hot_desking/index.php delete mode 100644 app/hot_desking/resources/switch/conf/dialplan/470_hot-desk-login.xml delete mode 100644 app/hot_desking/resources/switch/conf/dialplan/475_hot-desk-logout.xml delete mode 100644 app/hot_desking/root.php diff --git a/app/hot_desking/app_config.php b/app/hot_desking/app_config.php deleted file mode 100644 index e926eccf6f..0000000000 --- a/app/hot_desking/app_config.php +++ /dev/null @@ -1,37 +0,0 @@ - \ No newline at end of file diff --git a/app/hot_desking/app_languages.php b/app/hot_desking/app_languages.php deleted file mode 100644 index 956d755f80..0000000000 --- a/app/hot_desking/app_languages.php +++ /dev/null @@ -1,246 +0,0 @@ - \ No newline at end of file diff --git a/app/hot_desking/app_menu.php b/app/hot_desking/app_menu.php deleted file mode 100644 index 71eee50f07..0000000000 --- a/app/hot_desking/app_menu.php +++ /dev/null @@ -1,19 +0,0 @@ - \ No newline at end of file diff --git a/app/hot_desking/extension_delete.php b/app/hot_desking/extension_delete.php deleted file mode 100644 index 834e95f2c1..0000000000 --- a/app/hot_desking/extension_delete.php +++ /dev/null @@ -1,81 +0,0 @@ - - Portions created by the Initial Developer are Copyright (C) 2008-2015 - the Initial Developer. All Rights Reserved. - - Contributor(s): - Mark J Crane -*/ -include "root.php"; -require_once "resources/require.php"; -require_once "resources/check_auth.php"; -if (permission_exists('extension_delete')) { - //access granted -} -else { - echo "access denied"; - exit; -} - -//add multi-lingual support - $language = new text; - $text = $language->get(); - -//get the id - if (count($_GET) > 0) { - $id = check_str($_GET["id"]); - } - -//delete the hot desking information - if (strlen($id) > 0) { - $sql = "update v_extensions set "; - $sql .= "unique_id = null, "; - $sql .= "dial_user = null, "; - $sql .= "dial_domain = null, "; - $sql .= "dial_string = null "; - $sql .= "where domain_uuid = '$domain_uuid' "; - $sql .= "and extension_uuid = '$id' "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - unset($prep_statement, $sql); - } - -//get the extension - $sql = "select extension from v_extensions "; - $sql .= "where domain_uuid = '$domain_uuid' "; - $sql .= "and extension_uuid = '$id' "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - foreach ($result as &$row) { - $extension = $row["extension"]; - } - unset ($prep_statement); - -//clear the cache - $cache = new cache; - $cache->delete("directory:".$extension."@".$_SESSION['domain_name']); - -//redirect the user - $_SESSION["message"] = $text['message-delete']; - header("Location: index.php"); - return; - -?> \ No newline at end of file diff --git a/app/hot_desking/extension_edit.php b/app/hot_desking/extension_edit.php deleted file mode 100644 index 86cb81dd1b..0000000000 --- a/app/hot_desking/extension_edit.php +++ /dev/null @@ -1,327 +0,0 @@ - - Copyright (C) 2008-2015 All Rights Reserved. - - Contributor(s): - Mark J Crane - Luis Daniel Lucio Quiroz -*/ -include "root.php"; -require_once "resources/require.php"; -require_once "resources/check_auth.php"; -if (permission_exists('extension_add') || permission_exists('extension_edit')) { - //access granted -} -else { - echo "access denied"; - exit; -} - -//add multi-lingual support - $language = new text; - $text = $language->get(); - -//set the action as an add or an update - if (isset($_REQUEST["id"])) { - $action = "update"; - $extension_uuid = check_str($_REQUEST["id"]); - } - else { - $action = "add"; - } - -//get the http values and set them as php variables - if (count($_POST) > 0) { - //get the values from the HTTP POST and save them as PHP variables - $extension_uuid = check_str($_POST["extension_uuid"]); - $unique_id = check_str($_POST["unique_id"]); - $vm_password = check_str($_POST["vm_password"]); - $dial_string = check_str($_POST["dial_string"]); - } - -if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { - - //check for all required data - if (strlen($extension_uuid) == 0) { $msg .= $text['message-required'].$text['label-extension']."
\n"; } - if (strlen($unique_id) == 0) { $msg .= $text['message-required'].$text['label-unique_id']."
\n"; } - //get the number of rows in v_extensions - $sql = "select count(*) as num_rows from v_extensions "; - $sql .= "where unique_id = '".$unique_id."' and "; - $sql .= "extension_uuid <> '".$extension_uuid."'"; - $prep_statement = $db->prepare(check_sql($sql)); - if ($prep_statement) { - $prep_statement->execute(); - $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - if ($row['num_rows'] > 0) { - $msg .= $text['message-unique']."
\n"; - } - } - unset($prep_statement, $result); - if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) { - require_once "resources/header.php"; - require_once "resources/persist_form_var.php"; - echo "
\n"; - echo "
".$text['label-device_key_category']."".$text['label-device_key_id']."".$text['label-device_key_type']."".$text['label-device_key_line']."".$text['label-device_key_value']."".$text['label-device_key_extension']."".$text['label-device_key_label']." 
".$text['label-device_key_category']."".$text['label-device_key_id']."".$text['label-device_key_type']."".$text['label-device_key_line']."".$text['label-device_key_value']."".$text['label-device_key_extension']."".$text['label-device_key_label']." 
".$text['label-device_key_category']."".$text['label-device_key_id']."".ucwords($row['device_key_vendor'])."".$text['label-device_key_type']."".$text['label-device_key_line']."".$text['label-device_key_value']."".$text['label-device_key_extension']."".$text['label-device_key_label']." 
\n"; - echo $msg."
"; - echo "
\n"; - persistformvar($_POST); - echo "\n"; - require_once "resources/footer.php"; - return; - } - - //set the default user context - if (if_group("superadmin")) { - //allow a user assigned to super admin to change the user_context - } - else { - //if the user_context was not set then set the default value - if (strlen($user_context) == 0) { - if (count($_SESSION["domains"]) > 1) { - $user_context = $_SESSION['domain_name']; - } - else { - $user_context = "default"; - } - } - } - - //add or update the database - if ($_POST["persistformvar"] != "true") { - - //get the extension - $sql = "select * from v_extensions "; - $sql .= "where domain_uuid = '$domain_uuid' "; - $sql .= "and extension_uuid = '$extension_uuid' "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - foreach ($result as &$row) { - $extension = $row["extension"]; - $number_alias = $row["number_alias"]; - } - unset ($prep_statement); - - //update the extension and voicemail - if (($action == "add" && permission_exists('extension_add')) || ($action == "update" && permission_exists('extension_edit'))) { - //update the extension - $sql = "update v_extensions set "; - $sql .= "unique_id = '$unique_id' "; - $sql .= "where domain_uuid = '$domain_uuid' "; - $sql .= "and extension_uuid = '$extension_uuid'"; - $db->exec(check_sql($sql)); - unset($sql); - - //update the voicemail - if (strlen($vm_password) > 0) { - $sql = "update v_voicemails set "; - $sql .= "voicemail_password = '$vm_password' "; - $sql .= "where domain_uuid = '$domain_uuid' "; - if (is_numeric($extension)) { - $sql .= "and voicemail_id = '$extension'"; - } - else { - $sql .= "and voicemail_id = '$number_alias'"; - } - $db->exec(check_sql($sql)); - unset($sql); - } - } - - //clear the cache - $cache = new cache; - $cache->delete("directory:".$extension."@".$_SESSION['domain_name']); - - //set message and redirect user - if ($action == "add") { - $_SESSION["message"] = $text['message-add']; - } - if ($action == "update") { - $_SESSION["message"] = $text['message-update']; - } - header("Location: index.php"); - return; - - } //if ($_POST["persistformvar"] != "true") -} //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) - -//pre-populate the form - if ($_POST["persistformvar"] != "true") { - //get the extension data - $sql = "select * from v_extensions "; - $sql .= "where domain_uuid = '$domain_uuid' "; - $sql .= "and extension_uuid = '$extension_uuid' "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - foreach ($result as &$row) { - $extension = $row["extension"]; - $dial_string = $row["dial_string"]; - $unique_id = $row["unique_id"]; - } - unset ($prep_statement); - - //get the voicemail data - $sql = "select * from v_voicemails "; - $sql .= "where domain_uuid = '$domain_uuid' "; - if (is_numeric($extension)) { - $sql .= "and voicemail_id = '$extension' "; - } - else { - $sql .= "and voicemail_id = '$number_alias' "; - } - //$sql .= "and voicemail_enabled = 'true' "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - foreach ($result as &$row) { - $vm_password = $row["voicemail_password"]; - } - unset ($prep_statement); - } - -//set the defaults - if (strlen($limit_max) == 0) { $limit_max = '5'; } - -//begin the page content - require_once "resources/header.php"; - - echo ""; - - echo "
\n"; - echo "\n"; - echo "\n"; - echo " \n"; - echo " \n"; - echo "\n"; - - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - if ($action == "update") { - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - echo "\n"; - } - - echo "\n"; - echo "\n"; - echo "\n"; - - echo "
\n"; - echo " ".$text['header-hot_desking']."\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
\n"; - echo " ".$text['label-extension']."\n"; - echo "\n"; - if ($action == "add") { - echo "
\n"; - echo $text['description-extension-add']."\n"; - } - if ($action == "update") { - echo " $extension
\n"; - echo $text['description-extension-edit']."\n"; - } - echo "
\n"; - - echo "
\n"; - echo " ".$text['label-unique_id']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-unique_id']."\n"; - echo "
\n"; - echo " ".$text['label-voicemail_password']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo " ".$text['description-voicemail_password']."\n"; - echo "
\n"; - echo " ".$text['label-dial_string']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-dial_string']."\n"; - echo "
\n"; - echo "
"; - echo " \n"; - echo "
"; - echo "

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

"; - -//show the footer - require_once "resources/footer.php"; -?> \ No newline at end of file diff --git a/app/hot_desking/resources/switch/conf/dialplan/470_hot-desk-login.xml b/app/hot_desking/resources/switch/conf/dialplan/470_hot-desk-login.xml deleted file mode 100644 index fbfca4e2bc..0000000000 --- a/app/hot_desking/resources/switch/conf/dialplan/470_hot-desk-login.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/app/hot_desking/resources/switch/conf/dialplan/475_hot-desk-logout.xml b/app/hot_desking/resources/switch/conf/dialplan/475_hot-desk-logout.xml deleted file mode 100644 index 2a68b950f7..0000000000 --- a/app/hot_desking/resources/switch/conf/dialplan/475_hot-desk-logout.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/app/hot_desking/root.php b/app/hot_desking/root.php deleted file mode 100644 index 7b882438ea..0000000000 --- a/app/hot_desking/root.php +++ /dev/null @@ -1,50 +0,0 @@ - - Portions created by the Initial Developer are Copyright (C) 2008-2012 - the Initial Developer. All Rights Reserved. - - Contributor(s): - Mark J Crane -*/ - -// make sure the PATH_SEPARATOR is defined - if (!defined("PATH_SEPARATOR")) { - if ( strpos( $_ENV[ "OS" ], "Win" ) !== false ) { define("PATH_SEPARATOR", ";"); } else { define("PATH_SEPARATOR", ":"); } - } - -// make sure the document_root is set - $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", "/", $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - //echo "DOCUMENT_ROOT: ".$_SERVER["DOCUMENT_ROOT"]."
\n"; - //echo "PHP_SELF: ".$_SERVER["PHP_SELF"]."
\n"; - //echo "SCRIPT_FILENAME: ".$_SERVER["SCRIPT_FILENAME"]."
\n"; - -// if the project directory exists then add it to the include path otherwise add the document root to the include path - if (is_dir($_SERVER["DOCUMENT_ROOT"].'/fusionpbx')){ - if(!defined('PROJECT_PATH')) { define('PROJECT_PATH', '/fusionpbx'); } - set_include_path( get_include_path() . PATH_SEPARATOR . $_SERVER["DOCUMENT_ROOT"].'/fusionpbx' ); - } - else { - if(!defined('PROJECT_PATH')) { define('PROJECT_PATH', ''); } - set_include_path( get_include_path() . PATH_SEPARATOR . $_SERVER['DOCUMENT_ROOT'] ); - } - -?> \ No newline at end of file From 58311a8d98fe2fcffef17b89519a26b8036b8e6f Mon Sep 17 00:00:00 2001 From: markjcrane Date: Wed, 8 Jul 2015 15:36:33 -0300 Subject: [PATCH 37/60] Prevent nil from causing problems with functions/settings.lua. --- resources/install/scripts/resources/functions/settings.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/install/scripts/resources/functions/settings.lua b/resources/install/scripts/resources/functions/settings.lua index d0091e691c..75fd138d81 100644 --- a/resources/install/scripts/resources/functions/settings.lua +++ b/resources/install/scripts/resources/functions/settings.lua @@ -52,6 +52,7 @@ --get the default settings sql = "SELECT * FROM v_default_settings "; sql = sql .. "WHERE default_setting_enabled = 'true' "; + sql = sql .. "AND default_setting_value is null "; sql = sql .. "ORDER BY default_setting_category, default_setting_subcategory ASC"; if (debug["sql"]) then freeswitch.consoleLog("notice", "SQL: " .. sql .. "\n"); @@ -100,6 +101,7 @@ sql = "SELECT * FROM v_domain_settings "; sql = sql .. "WHERE domain_uuid = '" .. domain_uuid .. "' "; sql = sql .. "AND domain_setting_enabled = 'true' "; + sql = sql .. "AND domain_setting_value is null "; sql = sql .. "ORDER BY domain_setting_category, domain_setting_subcategory ASC "; if (debug["sql"]) then freeswitch.consoleLog("notice", "[directory] SQL: " .. sql .. "\n"); From b6d95174b0dc5d2f3f4c51d22ffa87bbf9c479b7 Mon Sep 17 00:00:00 2001 From: markjcrane Date: Wed, 8 Jul 2015 15:46:34 -0300 Subject: [PATCH 38/60] Play voicemail messages with the newest messages first. --- .../scripts/app/voicemail/resources/functions/menu_messages.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/install/scripts/app/voicemail/resources/functions/menu_messages.lua b/resources/install/scripts/app/voicemail/resources/functions/menu_messages.lua index 428713e79f..85c1bb0606 100644 --- a/resources/install/scripts/app/voicemail/resources/functions/menu_messages.lua +++ b/resources/install/scripts/app/voicemail/resources/functions/menu_messages.lua @@ -49,6 +49,7 @@ elseif (message_status == "saved") then sql = sql .. [[AND message_status = 'saved' ]]; end + sql = sql .. [[ORDER BY created_epoch desc;]]; if (debug["sql"]) then freeswitch.consoleLog("notice", "[voicemail] SQL: " .. sql .. "\n"); end From 42cad993d74723a8aa5f5291ed00512948b85d0a Mon Sep 17 00:00:00 2001 From: markjcrane Date: Thu, 9 Jul 2015 00:05:29 -0300 Subject: [PATCH 39/60] Change {#server_address_2} to {$server_address_2} for the GX42xx template. --- resources/templates/provision/grandstream/gxw42xx/{$mac}.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/templates/provision/grandstream/gxw42xx/{$mac}.xml b/resources/templates/provision/grandstream/gxw42xx/{$mac}.xml index 0e99245f2c..d490c3c6d5 100644 --- a/resources/templates/provision/grandstream/gxw42xx/{$mac}.xml +++ b/resources/templates/provision/grandstream/gxw42xx/{$mac}.xml @@ -1190,7 +1190,7 @@ -{#server_address_2} +{$server_address_2} From 2b0c9d6016b7882b21084dcd3f71d4642e05b1cb Mon Sep 17 00:00:00 2001 From: markjcrane Date: Thu, 9 Jul 2015 00:54:27 -0300 Subject: [PATCH 40/60] Fix the call center timeout action for the dialplan. --- app/call_center/resources/classes/call_center.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/call_center/resources/classes/call_center.php b/app/call_center/resources/classes/call_center.php index ebc78f6c2d..75559bed36 100644 --- a/app/call_center/resources/classes/call_center.php +++ b/app/call_center/resources/classes/call_center.php @@ -165,6 +165,7 @@ $action_array = explode(":",$this->queue_timeout_action); $dialplan["dialplan_details"][$y]["domain_uuid"] = $this->domain_uuid; $dialplan["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; + $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = $action_array[0]; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = substr($this->queue_timeout_action, strlen($action_array[0])+1, strlen($this->queue_timeout_action)); $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = "2"; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $y * 10; From fb5c1a6ef9d2740f8159a14af436371bd0f7d9c6 Mon Sep 17 00:00:00 2001 From: markjcrane Date: Thu, 9 Jul 2015 01:01:12 -0300 Subject: [PATCH 41/60] Fix the dialplan_uuid for call center dialplan. --- app/call_center/resources/classes/call_center.php | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/app/call_center/resources/classes/call_center.php b/app/call_center/resources/classes/call_center.php index 75559bed36..094593186b 100644 --- a/app/call_center/resources/classes/call_center.php +++ b/app/call_center/resources/classes/call_center.php @@ -70,7 +70,6 @@ $sql = "select dialplan_uuid, dialplan_name, dialplan_description from v_dialplans "; $sql .= "where dialplan_uuid = '".$this->dialplan_uuid."' "; $sql .= "and domain_uuid = '".$this->domain_uuid."' "; - //echo $sql; $prep_statement = $this->db->prepare($sql); if ($prep_statement) { $prep_statement->execute(); @@ -80,14 +79,8 @@ $dialplan_name = $row['dialplan_name']; $dialplan_description = $row['dialplan_description']; } - else { - $this->dialplan_uuid = ""; - } unset($prep_statement); } - else { - $this->dialplan_uuid = ""; - } } //build the dialplan array @@ -95,6 +88,9 @@ if (strlen($this->dialplan_uuid) > 0) { $dialplan["dialplan_uuid"] = $this->dialplan_uuid; } + else { + $this->dialplan_uuid = uuid(); + } $dialplan["domain_uuid"] = $this->domain_uuid; $dialplan["dialplan_name"] = ($this->queue_name != '') ? $this->queue_name : format_phone($this->destination_number); $dialplan["dialplan_number"] = $this->destination_number; From e97ca204fdd7306737355682bbdcff9b268178a5 Mon Sep 17 00:00:00 2001 From: Alexey Melnichuk Date: Thu, 9 Jul 2015 16:12:27 +0400 Subject: [PATCH 42/60] Fix. Send fax via web on Windows. * tiffXXX utils did not work with paths like `C:/xxx/ddd.tif` * using `gswin32c` instead of `gs` * using `copy` function instead of `cp` command --- app/fax/fax_send.php | 76 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 66 insertions(+), 10 deletions(-) diff --git a/app/fax/fax_send.php b/app/fax/fax_send.php index 8945231095..cbd205bb87 100644 --- a/app/fax/fax_send.php +++ b/app/fax/fax_send.php @@ -29,6 +29,8 @@ if (!isset($included)) { $included = false; } +if (stristr(PHP_OS, 'WIN')) { $IS_WINDOWS = true; } else { $IS_WINDOWS = false; } + if (!$included) { include "root.php"; @@ -97,6 +99,22 @@ if (!$included) { } +function correct_path($p) { + global $IS_WINDOWS; + if ($IS_WINDOWS) { + return str_replace('/', '\\', $p); + } + return $p; +} + +function gs_cmd($args) { + global $IS_WINDOWS; + if ($IS_WINDOWS) { + return 'gswin32c '.$args; + } + return 'gs '.$args; +} + //get the fax extension if (strlen($fax_extension) > 0) { //set the fax directories. example /usr/local/freeswitch/storage/fax/329/inbox @@ -260,11 +278,17 @@ if (!$included) { //convert uploaded pdf to tif if (file_exists($dir_fax_temp.'/'.$fax_name.'.pdf')) { chdir($dir_fax_temp); - exec("gs -q -sDEVICE=tiffg3 -r".$gs_r." -g".$gs_g." -dNOPAUSE -sOutputFile=".$fax_name.".tif -- ".$fax_name.".pdf -c quit"); //convert pdf to tif + + //convert pdf to tif + $cmd = gs_cmd("-q -sDEVICE=tiffg3 -r".$gs_r." -g".$gs_g." -dNOPAUSE -sOutputFile=".correct_path($fax_name).".tif -- ".correct_path($fax_name).".pdf -c quit"); + // echo($cmd . "
\n"); + exec($cmd); @unlink($dir_fax_temp.'/'.$fax_name.'.pdf'); } - $tif_page_count = exec("tiffinfo ".$dir_fax_temp.'/'.$fax_name.".tif | grep \"Page Number\" | grep -c \"P\""); + $cmd = "tiffinfo ".correct_path($dir_fax_temp.'/'.$fax_name).".tif | grep \"Page Number\" | grep -c \"P\""; + // echo($cmd . "
\n"); + $tif_page_count = exec($cmd); if ($tif_page_count != '') { $fax_page_count += $tif_page_count; } @@ -433,7 +457,9 @@ if (!$included) { //convert pdf to tif, add to array of pages, delete pdf if (file_exists($dir_fax_temp.'/'.$fax_instance_uuid.'_cover.pdf')) { chdir($dir_fax_temp); - exec("gs -q -sDEVICE=tiffg3 -r".$gs_r." -g".$gs_g." -dNOPAUSE -sOutputFile=".$fax_instance_uuid."_cover.tif -- ".$fax_instance_uuid."_cover.pdf -c quit"); + $cmd = gs_cmd("-q -sDEVICE=tiffg3 -r".$gs_r." -g".$gs_g." -dNOPAUSE -sOutputFile=".correct_path($fax_instance_uuid)."_cover.tif -- ".correct_path($fax_instance_uuid)."_cover.pdf -c quit"); + // echo($cmd . "
\n"); + exec($cmd); if (is_array($tif_files) && sizeof($tif_files) > 0) { array_unshift($tif_files, $dir_fax_temp.'/'.$fax_instance_uuid.'_cover.tif'); } @@ -448,19 +474,46 @@ if (!$included) { if (is_array($tif_files) && sizeof($tif_files) > 0) { $cmd = "tiffcp -c none "; foreach ($tif_files as $tif_file) { - $cmd .= $tif_file.' '; + $cmd .= correct_path($tif_file) . ' '; } - $cmd .= $dir_fax_temp.'/'.$fax_instance_uuid.'.tif'; + $cmd .= correct_path($dir_fax_temp.'/'.$fax_instance_uuid.'.tif'); + //echo($cmd . "
\n"); exec($cmd); + foreach ($tif_files as $tif_file) { @unlink($tif_file); } + //generate pdf (a work around, as tiff2pdf was improperly inverting the colors) - exec("tiff2pdf -u i -p ".$fax_page_size." -w ".$page_width." -l ".$page_height." -f -o ".$dir_fax_temp.'/'.$fax_instance_uuid.".pdf ".$dir_fax_temp.'/'.$fax_instance_uuid.".tif"); + $cmd = 'tiff2pdf -u i -p '.$fax_page_size. + ' -w '.$page_width. + ' -l '.$page_height. + ' -f -o '. + correct_path($dir_fax_temp.'/'.$fax_instance_uuid.'.pdf').' '. + correct_path($dir_fax_temp.'/'.$fax_instance_uuid.'.tif'); + // echo($cmd . "
\n"); + exec($cmd); + chdir($dir_fax_temp); - exec("gs -q -sDEVICE=tiffg3 -r".$gs_r." -g".$gs_g." -dNOPAUSE -sOutputFile=".$fax_instance_uuid."_temp.tif -- ".$fax_instance_uuid.".pdf -c quit"); //convert pdf to tif + + //convert pdf to tif + $cmd = gs_cmd('-q -sDEVICE=tiffg3 -r'.$gs_r.' -g'.$gs_g.' -dNOPAUSE -sOutputFile='. + correct_path($fax_instance_uuid.'_temp.tif'). + ' -- '.$fax_instance_uuid.'.pdf -c quit'); + // echo($cmd . "
\n"); + exec($cmd); + @unlink($dir_fax_temp.'/'.$fax_instance_uuid.".pdf"); - exec("tiff2pdf -u i -p ".$fax_page_size." -w ".$page_width." -l ".$page_height." -f -o ".$dir_fax_temp.'/'.$fax_instance_uuid.".pdf ".$dir_fax_temp.'/'.$fax_instance_uuid."_temp.tif"); + + $cmd = 'tiff2pdf -u i -p '.$fax_page_size. + ' -w '.$page_width. + ' -l '.$page_height. + ' -f -o '. + correct_path($dir_fax_temp.'/'.$fax_instance_uuid.'.pdf').' '. + correct_path($dir_fax_temp.'/'.$fax_instance_uuid.'_temp.tif'); + // echo($cmd . "
\n"); + exec($cmd); + @unlink($dir_fax_temp.'/'.$fax_instance_uuid."_temp.tif"); } else { @@ -568,9 +621,12 @@ if (!$included) { sleep(5); //move the generated tif (and pdf) files to the sent directory - exec("cp ".$dir_fax_temp.'/'.$fax_instance_uuid.".tif ".$dir_fax_sent.'/'.$fax_instance_uuid.".tif"); + if (file_exists($dir_fax_temp.'/'.$fax_instance_uuid.".tif")) { + copy($dir_fax_temp.'/'.$fax_instance_uuid.".tif", $dir_fax_sent.'/'.$fax_instance_uuid.".tif"); + } + if (file_exists($dir_fax_temp.'/'.$fax_instance_uuid.".pdf")) { - exec("cp ".$dir_fax_temp.'/'.$fax_instance_uuid.".pdf ".$dir_fax_sent.'/'.$fax_instance_uuid.".pdf"); + copy($dir_fax_temp.'/'.$fax_instance_uuid.".pdf ", $dir_fax_sent.'/'.$fax_instance_uuid.".pdf"); } if (!$included) { From 8130e970ab6e4189519e6ebcb702b763ef14f2d0 Mon Sep 17 00:00:00 2001 From: markjcrane Date: Thu, 9 Jul 2015 10:48:01 -0300 Subject: [PATCH 43/60] Fix the call center dialplan so that it does not create duplicates using the new call center class. --- .../resources/classes/call_center.php | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/app/call_center/resources/classes/call_center.php b/app/call_center/resources/classes/call_center.php index 094593186b..251ccfa2e2 100644 --- a/app/call_center/resources/classes/call_center.php +++ b/app/call_center/resources/classes/call_center.php @@ -85,12 +85,6 @@ //build the dialplan array $dialplan["app_uuid"] = "95788e50-9500-079e-2807-fd530b0ea370"; - if (strlen($this->dialplan_uuid) > 0) { - $dialplan["dialplan_uuid"] = $this->dialplan_uuid; - } - else { - $this->dialplan_uuid = uuid(); - } $dialplan["domain_uuid"] = $this->domain_uuid; $dialplan["dialplan_name"] = ($this->queue_name != '') ? $this->queue_name : format_phone($this->destination_number); $dialplan["dialplan_number"] = $this->destination_number; @@ -174,13 +168,17 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = "2"; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $y * 10; - //delete the previous details + //delete the previous dialplan if(strlen($this->dialplan_uuid) > 0) { + $sql = "delete from v_dialplans "; + $sql .= "where dialplan_uuid = '".$this->dialplan_uuid."' "; + $sql .= "and domain_uuid = '".$this->domain_uuid."' "; + $this->db->exec($sql); + $sql = "delete from v_dialplan_details "; $sql .= "where dialplan_uuid = '".$this->dialplan_uuid."' "; $sql .= "and domain_uuid = '".$this->domain_uuid."' "; - //echo $sql."

"; - $this->db->exec(check_sql($sql)); + $this->db->exec($sql); unset($sql); } @@ -194,9 +192,7 @@ //save the dialplan $orm = new orm; $orm->name('dialplans'); - if (isset($dialplan["dialplan_uuid"])) { - $orm->uuid($dialplan["dialplan_uuid"]); - } + $orm->uuid($this->dialplan_uuid); $orm->save($dialplan); $dialplan_response = $orm->message; From 36c4ac0e45e621f571017d5735e0361cac930f80 Mon Sep 17 00:00:00 2001 From: markjcrane Date: Fri, 10 Jul 2015 08:00:08 -0300 Subject: [PATCH 44/60] Change 'is null' to 'is not null'. --- resources/install/scripts/resources/functions/settings.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/install/scripts/resources/functions/settings.lua b/resources/install/scripts/resources/functions/settings.lua index 75fd138d81..0bcee003c2 100644 --- a/resources/install/scripts/resources/functions/settings.lua +++ b/resources/install/scripts/resources/functions/settings.lua @@ -52,7 +52,7 @@ --get the default settings sql = "SELECT * FROM v_default_settings "; sql = sql .. "WHERE default_setting_enabled = 'true' "; - sql = sql .. "AND default_setting_value is null "; + sql = sql .. "AND default_setting_value is not null "; sql = sql .. "ORDER BY default_setting_category, default_setting_subcategory ASC"; if (debug["sql"]) then freeswitch.consoleLog("notice", "SQL: " .. sql .. "\n"); @@ -66,7 +66,7 @@ subcategory = row.default_setting_subcategory; name = row.default_setting_name; value = row.default_setting_value; - + --add the category array if (previous_category ~= category) then array[category] = {} @@ -101,7 +101,7 @@ sql = "SELECT * FROM v_domain_settings "; sql = sql .. "WHERE domain_uuid = '" .. domain_uuid .. "' "; sql = sql .. "AND domain_setting_enabled = 'true' "; - sql = sql .. "AND domain_setting_value is null "; + sql = sql .. "AND domain_setting_value is not null "; sql = sql .. "ORDER BY domain_setting_category, domain_setting_subcategory ASC "; if (debug["sql"]) then freeswitch.consoleLog("notice", "[directory] SQL: " .. sql .. "\n"); From d1dfe3258c34828df428e74c342843204df86939 Mon Sep 17 00:00:00 2001 From: Alexey Melnichuk Date: Mon, 13 Jul 2015 10:42:14 +0400 Subject: [PATCH 45/60] Fix. Remove debug output. --- app/xml_cdr/v_xml_cdr_import.php | 1 - 1 file changed, 1 deletion(-) diff --git a/app/xml_cdr/v_xml_cdr_import.php b/app/xml_cdr/v_xml_cdr_import.php index 197d312ad9..4dfce90452 100644 --- a/app/xml_cdr/v_xml_cdr_import.php +++ b/app/xml_cdr/v_xml_cdr_import.php @@ -82,7 +82,6 @@ //fix the xml by escaping the contents of $xml_string = preg_replace_callback("/<([^><]+)>(.*?[><].*?)<\/\g1>/", function ($matches) { - var_dump($matches); return '<' . $matches[1] . '>' . str_replace(">", ">", str_replace("<", "<", $matches[2]) From 8f554cf8897f3d6c6d5e025e05a376b61bc8a7fb Mon Sep 17 00:00:00 2001 From: Alexey Melnichuk Date: Mon, 13 Jul 2015 10:44:47 +0400 Subject: [PATCH 46/60] Fix. Use OS specific copy function. --- resources/install/scripts/app/voicemail/index.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/resources/install/scripts/app/voicemail/index.lua b/resources/install/scripts/app/voicemail/index.lua index 4d2e88914e..42f1e54751 100644 --- a/resources/install/scripts/app/voicemail/index.lua +++ b/resources/install/scripts/app/voicemail/index.lua @@ -447,7 +447,11 @@ --copy the voicemail to each destination if (file_exists(voicemail_dir.."/"..voicemail_id.."/msg_"..uuid.."."..vm_message_ext)) then - os.execute("cp "..voicemail_dir.."/"..voicemail_id.."/msg_"..uuid.."."..vm_message_ext.." "..voicemail_dir.."/"..voicemail_id_copy.."/msg_"..voicemail_message_uuid.."."..vm_message_ext); + local src = voicemail_dir.."/"..voicemail_id.."/msg_"..uuid.."."..vm_message_ext + local dst = voicemail_dir.."/"..voicemail_id_copy.."/msg_"..voicemail_message_uuid.."."..vm_message_ext + if src ~= dst then + copy(src, dst) + end end --send the message waiting event From b72a39d6e3527ec2c463a1978c5b69342e9dece3 Mon Sep 17 00:00:00 2001 From: Alexey Melnichuk Date: Mon, 13 Jul 2015 15:04:33 +0400 Subject: [PATCH 47/60] Change. Use odbc connector if there exists odbc database It needs because on windows FreeSWITCH builds without native support PostgreSQL. --- core/databases/app_defaults.php | 129 ++++++++++++++++---------------- 1 file changed, 64 insertions(+), 65 deletions(-) diff --git a/core/databases/app_defaults.php b/core/databases/app_defaults.php index b94e4f3ba9..7c40fae423 100644 --- a/core/databases/app_defaults.php +++ b/core/databases/app_defaults.php @@ -101,49 +101,54 @@ if ($domains_processed == 1) { } //config.lua - if (strlen($db_type) > 0) { - if (is_dir("/etc/fusionpbx")){ - $config = "/etc/fusionpbx/config.lua"; - } elseif (is_dir("/usr/local/etc/fusionpbx")){ - $config = "/usr/local/etc/fusionpbx/config.lua"; - } - else { - $config = $_SESSION['switch']['scripts']['dir']."/resources/config.lua"; - } - $fout = fopen($config,"w"); - $tmp = "\n"; - $tmp .= "--set the variables\n"; - if (strlen($_SESSION['switch']['sounds']['dir']) > 0) { - $tmp .= " sounds_dir = [[".$_SESSION['switch']['sounds']['dir']."]];\n"; - } - if (strlen($_SESSION['switch']['db']['dir']) > 0) { - $tmp .= " database_dir = [[".$_SESSION['switch']['db']['dir']."]];\n"; - } - if (strlen($_SESSION['switch']['recordings']['dir']) > 0) { - $tmp .= " recordings_dir = [[".$recordings_dir."]];\n"; - } - if (strlen($_SESSION['switch']['storage']['dir']) > 0) { - $tmp .= " storage_dir = [[".$_SESSION['switch']['storage']['dir']."]];\n"; - } - if (strlen($_SESSION['switch']['voicemail']['dir']) > 0) { - $tmp .= " voicemail_dir = [[".$_SESSION['switch']['voicemail']['dir']."]];\n"; - } - $tmp .= " php_dir = [[".PHP_BINDIR."]];\n"; - if (substr(strtoupper(PHP_OS), 0, 3) == "WIN") { - $tmp .= " php_bin = \"php.exe\";\n"; - } - else { - $tmp .= " php_bin = \"php\";\n"; - } - $tmp .= " document_root = [[".$_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."]];\n"; - $tmp .= "\n"; + if (is_dir("/etc/fusionpbx")){ + $config = "/etc/fusionpbx/config.lua"; + } elseif (is_dir("/usr/local/etc/fusionpbx")){ + $config = "/usr/local/etc/fusionpbx/config.lua"; + } + else { + $config = $_SESSION['switch']['scripts']['dir']."/resources/config.lua"; + } + $fout = fopen($config,"w"); + $tmp = "\n"; + $tmp .= "--set the variables\n"; + if (strlen($_SESSION['switch']['sounds']['dir']) > 0) { + $tmp .= " sounds_dir = [[".$_SESSION['switch']['sounds']['dir']."]];\n"; + } + if (strlen($_SESSION['switch']['db']['dir']) > 0) { + $tmp .= " database_dir = [[".$_SESSION['switch']['db']['dir']."]];\n"; + } + if (strlen($_SESSION['switch']['recordings']['dir']) > 0) { + $tmp .= " recordings_dir = [[".$recordings_dir."]];\n"; + } + if (strlen($_SESSION['switch']['storage']['dir']) > 0) { + $tmp .= " storage_dir = [[".$_SESSION['switch']['storage']['dir']."]];\n"; + } + if (strlen($_SESSION['switch']['voicemail']['dir']) > 0) { + $tmp .= " voicemail_dir = [[".$_SESSION['switch']['voicemail']['dir']."]];\n"; + } + $tmp .= " php_dir = [[".PHP_BINDIR."]];\n"; + if (substr(strtoupper(PHP_OS), 0, 3) == "WIN") { + $tmp .= " php_bin = \"php.exe\";\n"; + } + else { + $tmp .= " php_bin = \"php\";\n"; + } + $tmp .= " document_root = [[".$_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."]];\n"; + $tmp .= "\n"; + + if ((strlen($db_type) > 0) || (strlen($dsn_name) > 0)) { $tmp .= "--database information\n"; $tmp .= " database = {}\n"; $tmp .= " database[\"type\"] = \"".$db_type."\";\n"; $tmp .= " database[\"name\"] = \"".$db_name."\";\n"; $tmp .= " database[\"path\"] = \"".$db_path."\";\n"; - if ($db_type == "pgsql") { + if (strlen($dsn_name) > 0) { + $tmp .= " database[\"system\"] = \"odbc://".$dsn_name.":".$dsn_username.":".$dsn_password."\";\n"; + $tmp .= " database[\"switch\"] = \"odbc://freeswitch:".$dsn_username.":".$dsn_password."\";\n"; + } + elseif ($db_type == "pgsql") { if ($db_host == "localhost") { $db_host = "127.0.0.1"; } $tmp .= " database[\"system\"] = \"pgsql://hostaddr=".$db_host." port=".$db_port." dbname=".$db_name." user=".$db_username." password=".$db_password." options='' application_name='".$db_name."'\";\n"; $tmp .= " database[\"switch\"] = \"pgsql://hostaddr=".$db_host." port=".$db_port." dbname=freeswitch user=".$db_username." password=".$db_password." options='' application_name='freeswitch'\";\n"; @@ -153,37 +158,31 @@ if ($domains_processed == 1) { $tmp .= " database[\"switch\"] = \"sqlite://".$_SESSION['switch']['db']['dir']."\";\n"; } elseif ($db_type == "mysql") { - if (strlen($dsn_name) > 0) { - $tmp .= " database[\"system\"] = \"odbc://".$dsn_name.":".$dsn_username.":".$dsn_password."\";\n"; - $tmp .= " database[\"switch\"] = \"odbc://freeswitch:".$dsn_username.":".$dsn_password."\";\n"; - } - else { - $tmp .= " database[\"system\"] = \"\";\n"; - $tmp .= " database[\"switch\"] = \"\";\n"; - } - } - - $tmp .= "\n"; - $tmp .= "--additional info\n"; - $tmp .= " domain_count = ".count($_SESSION["domains"]).";\n"; - $tmp .= " temp_dir = [[".$_SESSION['server']['temp']['dir']."]];\n"; - if (isset($_SESSION['domain']['dial_string']['text'])) { - $tmp .= " dial_string = \"".$_SESSION['domain']['dial_string']['text']."\";\n"; + $tmp .= " database[\"system\"] = \"\";\n"; + $tmp .= " database[\"switch\"] = \"\";\n"; } $tmp .= "\n"; - $tmp .= "--include local.lua\n"; - $tmp .= " dofile(scripts_dir..\"/resources/functions/file_exists.lua\");\n"; - $tmp .= " if (file_exists(\"/etc/fusionpbx/local.lua\")) then\n"; - $tmp .= " dofile(\"/etc/fusionpbx/local.lua\");\n"; - $tmp .= " elseif (file_exists(\"/usr/local/etc/fusionpbx/local.lua\")) then\n"; - $tmp .= " dofile(\"/usr/local/etc/fusionpbx/local.lua\");\n"; - $tmp .= " elseif (file_exists(scripts_dir..\"/resources/local.lua\")) then\n"; - $tmp .= " dofile(scripts_dir..\"/resources/local.lua\");\n"; - $tmp .= " end\n"; - fwrite($fout, $tmp); - unset($tmp); - fclose($fout); } + + $tmp .= "--additional info\n"; + $tmp .= " domain_count = ".count($_SESSION["domains"]).";\n"; + $tmp .= " temp_dir = [[".$_SESSION['server']['temp']['dir']."]];\n"; + if (isset($_SESSION['domain']['dial_string']['text'])) { + $tmp .= " dial_string = \"".$_SESSION['domain']['dial_string']['text']."\";\n"; + } + $tmp .= "\n"; + $tmp .= "--include local.lua\n"; + $tmp .= " dofile(scripts_dir..\"/resources/functions/file_exists.lua\");\n"; + $tmp .= " if (file_exists(\"/etc/fusionpbx/local.lua\")) then\n"; + $tmp .= " dofile(\"/etc/fusionpbx/local.lua\");\n"; + $tmp .= " elseif (file_exists(\"/usr/local/etc/fusionpbx/local.lua\")) then\n"; + $tmp .= " dofile(\"/usr/local/etc/fusionpbx/local.lua\");\n"; + $tmp .= " elseif (file_exists(scripts_dir..\"/resources/local.lua\")) then\n"; + $tmp .= " dofile(scripts_dir..\"/resources/local.lua\");\n"; + $tmp .= " end\n"; + fwrite($fout, $tmp); + unset($tmp); + fclose($fout); } } ?> \ No newline at end of file From 3796a66df8d9baff9233aa929749b9ddf784fb96 Mon Sep 17 00:00:00 2001 From: Alexey Melnichuk Date: Tue, 14 Jul 2015 13:42:05 +0400 Subject: [PATCH 48/60] Change. Use predefined phrases in vm menu. Current implementation produces not correct phrases e.g. on Russian language. --- .../voicemail/resources/functions/macro.lua | 32 ++++++------------- 1 file changed, 10 insertions(+), 22 deletions(-) diff --git a/resources/install/scripts/app/voicemail/resources/functions/macro.lua b/resources/install/scripts/app/voicemail/resources/functions/macro.lua index eed451fcb6..969dc9d378 100644 --- a/resources/install/scripts/app/voicemail/resources/functions/macro.lua +++ b/resources/install/scripts/app/voicemail/resources/functions/macro.lua @@ -31,13 +31,11 @@ --Please enter your id followed by if (name == "voicemail_id") then - table.insert(actions, {app="streamFile",data="voicemail/vm-enter_id.wav"}); - table.insert(actions, {app="streamFile",data="digits/pound.wav"}); + table.insert(actions, {app="streamFile",data="phrase:voicemail_enter_id:#"}); end --Please enter your id followed by if (name == "voicemail_password") then - table.insert(actions, {app="streamFile",data="voicemail/vm-enter_pass.wav"}); - table.insert(actions, {app="streamFile",data="digits/pound.wav"}); + table.insert(actions, {app="streamFile",data="phrase:voicemail_enter_pass:#"}); end --the person at extension 101 is not available record your message at the tone press any key or stop talking to end the recording if (name == "person_not_available_record_message") then @@ -74,25 +72,11 @@ end --You have zero new messages if (name == "new_messages") then - table.insert(actions, {app="streamFile",data="voicemail/vm-you_have.wav"}); - table.insert(actions, {app="say.number.pronounced",data=param}); - table.insert(actions, {app="streamFile",data="voicemail/vm-new.wav"}); - if (param == "1") then - table.insert(actions, {app="streamFile",data="voicemail/vm-message.wav"}); - else - table.insert(actions, {app="streamFile",data="voicemail/vm-messages.wav"}); - end + table.insert(actions, {app="streamFile",data="phrase:voicemail_message_count:" .. param .. ":new"}) end --You have zero saved messages if (name == "saved_messages") then - table.insert(actions, {app="streamFile",data="voicemail/vm-you_have.wav"}); - table.insert(actions, {app="say.number.pronounced",data=param}); - table.insert(actions, {app="streamFile",data="voicemail/vm-saved.wav"}); - if (param == "1") then - table.insert(actions, {app="streamFile",data="voicemail/vm-message.wav"}); - else - table.insert(actions, {app="streamFile",data="voicemail/vm-messages.wav"}); - end + table.insert(actions, {app="streamFile",data="phrase:voicemail_message_count:" .. param .. ":saved"}) end --To listen to new messages press 1 if (name == "listen_to_new_messages") then @@ -276,11 +260,15 @@ timeout = 100; --loop through the action and data for key, row in pairs(actions) do - --freeswitch.consoleLog("notice", "[voicemail] app: " .. row.app .. " data: " .. row.data .. "\n"); + -- freeswitch.consoleLog("notice", "[voicemail] app: " .. row.app .. " data: " .. row.data .. "\n"); if (session:ready()) then if (string.len(dtmf_digits) == 0) then if (row.app == "streamFile") then - session:streamFile(sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/"..row.data); + if string.find(row.data, ':', nil, true) then + session:streamFile(row.data); + else + session:streamFile(sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/"..row.data); + end elseif (row.app == "playback") then session:streamFile(sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/"..row.data); elseif (row.app == "tone_stream") then From fefdfc626e9a65906d1ba5a9f130d65223c7c385 Mon Sep 17 00:00:00 2001 From: markjcrane Date: Wed, 15 Jul 2015 23:43:03 -0700 Subject: [PATCH 49/60] Enable XML Handler by default. --- resources/install.php | 8 ++++---- .../{callcenter.conf.xml => callcenter.conf.xml.noload} | 0 .../{conference.conf.xml => conference.conf.xml.noload} | 0 resources/templates/conf/autoload_configs/lua.conf.xml | 4 ++-- .../conf/dialplan/{default.xml => default.xml.noload} | 0 resources/templates/conf/dialplan/empty.xml | 0 .../conf/dialplan/{features.xml => features.xml.noload} | 0 .../conf/dialplan/{public.xml => public.xml.noload} | 0 .../{skinny-patterns.xml => skinny-patterns.xml.noload} | 0 .../conf/directory/{default.xml => default.xml.noload} | 0 resources/templates/conf/directory/empty.xml | 0 resources/templates/conf/sip_profiles/empty.xml | 0 .../sip_profiles/{external.xml => external.xml.noload} | 0 .../{internal-ipv6.xml => internal-ipv6.xml.noload} | 0 .../sip_profiles/{internal.xml => internal.xml.noload} | 0 15 files changed, 6 insertions(+), 6 deletions(-) rename resources/templates/conf/autoload_configs/{callcenter.conf.xml => callcenter.conf.xml.noload} (100%) rename resources/templates/conf/autoload_configs/{conference.conf.xml => conference.conf.xml.noload} (100%) rename resources/templates/conf/dialplan/{default.xml => default.xml.noload} (100%) create mode 100644 resources/templates/conf/dialplan/empty.xml rename resources/templates/conf/dialplan/{features.xml => features.xml.noload} (100%) rename resources/templates/conf/dialplan/{public.xml => public.xml.noload} (100%) rename resources/templates/conf/dialplan/{skinny-patterns.xml => skinny-patterns.xml.noload} (100%) rename resources/templates/conf/directory/{default.xml => default.xml.noload} (100%) create mode 100644 resources/templates/conf/directory/empty.xml create mode 100644 resources/templates/conf/sip_profiles/empty.xml rename resources/templates/conf/sip_profiles/{external.xml => external.xml.noload} (100%) rename resources/templates/conf/sip_profiles/{internal-ipv6.xml => internal-ipv6.xml.noload} (100%) rename resources/templates/conf/sip_profiles/{internal.xml => internal.xml.noload} (100%) diff --git a/resources/install.php b/resources/install.php index e1f17ec155..63ca60110f 100644 --- a/resources/install.php +++ b/resources/install.php @@ -883,7 +883,7 @@ if ($_POST["install_step"] == "3" && count($_POST) > 0 && strlen($_POST["persist $tmp[$x]['subcategory'] = 'time_zone'; $tmp[$x]['enabled'] = 'true'; $x++; - $tmp[$x]['name'] = 'code'; + $tmp[$x]['name'] = 'code'; $tmp[$x]['value'] = 'en-us'; $tmp[$x]['category'] = 'domain'; $tmp[$x]['subcategory'] = 'language'; @@ -953,19 +953,19 @@ if ($_POST["install_step"] == "3" && count($_POST) > 0 && strlen($_POST["persist $tmp[$x]['value'] = $switch_extensions_dir; $tmp[$x]['category'] = 'switch'; $tmp[$x]['subcategory'] = 'extensions'; - $tmp[$x]['enabled'] = 'true'; + $tmp[$x]['enabled'] = 'false'; $x++; $tmp[$x]['name'] = 'dir'; $tmp[$x]['value'] = $switch_sip_profiles_dir; $tmp[$x]['category'] = 'switch'; $tmp[$x]['subcategory'] = 'sip_profiles'; - $tmp[$x]['enabled'] = 'true'; + $tmp[$x]['enabled'] = 'false'; $x++; $tmp[$x]['name'] = 'dir'; $tmp[$x]['value'] = $switch_dialplan_dir; $tmp[$x]['category'] = 'switch'; $tmp[$x]['subcategory'] = 'dialplan'; - $tmp[$x]['enabled'] = 'true'; + $tmp[$x]['enabled'] = 'false'; $x++; $tmp[$x]['name'] = 'dir'; $tmp[$x]['value'] = $switch_mod_dir; diff --git a/resources/templates/conf/autoload_configs/callcenter.conf.xml b/resources/templates/conf/autoload_configs/callcenter.conf.xml.noload similarity index 100% rename from resources/templates/conf/autoload_configs/callcenter.conf.xml rename to resources/templates/conf/autoload_configs/callcenter.conf.xml.noload diff --git a/resources/templates/conf/autoload_configs/conference.conf.xml b/resources/templates/conf/autoload_configs/conference.conf.xml.noload similarity index 100% rename from resources/templates/conf/autoload_configs/conference.conf.xml rename to resources/templates/conf/autoload_configs/conference.conf.xml.noload diff --git a/resources/templates/conf/autoload_configs/lua.conf.xml b/resources/templates/conf/autoload_configs/lua.conf.xml index 1eb594f0b5..a608494467 100644 --- a/resources/templates/conf/autoload_configs/lua.conf.xml +++ b/resources/templates/conf/autoload_configs/lua.conf.xml @@ -15,8 +15,8 @@ - - + + '.$file_path_target.'
'; - copy($file_path_source, $file_path_target); - chmod($file_path_target, 0755); - } - } - } - $response_message = $text['message-upgrade_source_scripts']; + if ($_SESSION['switch']['scripts']['dir'] != '') { + //copy the files and directories from resources/install + $install = new install; + $install->domain_uuid = $domain_uuid; + $install->switch_scripts_dir = $_SESSION['switch']['scripts']['dir']; + $install->copy_scripts(); + //set the message + $response_message = $text['message-upgrade_source_scripts']; } else { - $response_message = $text['message-upgrade_source']; + //set the message + $response_message = $text['message-upgrade_source']; } } } diff --git a/resources/classes/install.php b/resources/classes/install.php index 38f41217b5..a6b2d210b4 100644 --- a/resources/classes/install.php +++ b/resources/classes/install.php @@ -17,7 +17,7 @@ The Initial Developer of the Original Code is Mark J Crane - Copyright (C) 2010-2014 + Copyright (C) 2010-2015 All Rights Reserved. Contributor(s): @@ -35,16 +35,18 @@ include "root.php"; var $switch_scripts_dir; var $switch_sounds_dir; - //$option '-n' --no-clobber - public function recursive_copy($src, $dst, $option = '') { + //$options '-n' --no-clobber + public function recursive_copy($src, $dst, $options = '') { if (file_exists('/bin/cp')) { if (strtoupper(substr(PHP_OS, 0, 3)) === 'SUN') { //copy -R recursive, preserve attributes for SUN - exec ('cp -Rp '.$src.'/* '.$dst); + $cmd = 'cp -Rp '.$src.'/* '.$dst; } else { //copy -R recursive, -L follow symbolic links, -p preserve attributes for other Posix systemss - exec ('cp -RLp '.$option.' '.$src.'/* '.$dst); + $cmd = 'cp -RLp '.$options.' '.$src.'/* '.$dst; } + exec ($cmd); + //echo $cmd."\n"; } else { $dir = opendir($src); @@ -58,6 +60,23 @@ include "root.php"; throw new Exception("recursive_copy() failed to create destination directory '".$dst."'"); } } + $scripts_dir_target = $_SESSION['switch']['scripts']['dir']; + $scripts_dir_source = realpath($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/scripts'); + foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($src)) as $file_path_source) { + if ( + substr_count($file_path_source, '/..') == 0 && + substr_count($file_path_source, '/.') == 0 && + substr_count($file_path_source, '/.svn') == 0 && + substr_count($file_path_source, '/.git') == 0 + ) { + if ($dst != $src.'/resources/config.lua') { + //echo $file_path_source.' ---> '.$dst.'
'; + copy($file_path_source, $dst); + chmod($dst, 0755); + } + } + } + while(false !== ($file = readdir($dir))) { if (($file != '.') && ($file != '..')) { if (is_dir($src.'/'.$file)) { @@ -65,7 +84,7 @@ include "root.php"; } else { //copy only missing files -n --no-clobber - if ($option == '-n') { + if (strpos($options,'-n') !== false) { if (!file_exists($dst.'/'.$file)) { copy($src.'/'.$file, $dst.'/'.$file); //echo "copy(".$src."/".$file.", ".$dst."/".$file.");
\n"; @@ -126,12 +145,10 @@ include "root.php"; } } //copy resources/templates/conf to the freeswitch conf dir - // added /examples/ into the string if (file_exists('/usr/share/examples/fusionpbx/resources/templates/conf')){ $src_dir = "/usr/share/examples/fusionpbx/resources/templates/conf"; } else { - $src_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/resources/templates/conf"; } $dst_dir = $this->switch_conf_dir; @@ -152,7 +169,7 @@ include "root.php"; } $dst_dir = $this->switch_scripts_dir; if (is_readable($this->switch_scripts_dir)) { - $this->recursive_copy($src_dir, $dst_dir, "-n"); + $this->recursive_copy($src_dir, $dst_dir, $_SESSION['scripts']['options']['text']); unset($src_dir, $dst_dir); } chmod($dst_dir, 0774); From bd54cb44e291c25f76a14c219a8efd04a91a18bf Mon Sep 17 00:00:00 2001 From: markjcrane Date: Mon, 20 Jul 2015 15:34:23 -0600 Subject: [PATCH 60/60] Remove xml and json from the select list as its horribly inefficient. Move accountcode outside of billing as that may be used by others using the account code. --- app/xml_cdr/xml_cdr_inc.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/xml_cdr/xml_cdr_inc.php b/app/xml_cdr/xml_cdr_inc.php index 7e66001d39..911c94f92c 100644 --- a/app/xml_cdr/xml_cdr_inc.php +++ b/app/xml_cdr/xml_cdr_inc.php @@ -236,6 +236,7 @@ else { } } unset($prep_statement, $result); + //limit the number of results if ($num_rows > $_SESSION['cdr']['limit']['numeric']) { $num_rows = $_SESSION['cdr']['limit']['numeric']; @@ -268,11 +269,9 @@ else { $sql .= "caller_id_name, "; $sql .= "caller_id_number, "; $sql .= "destination_number, "; + $sql .= "accountcode, "; if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/billing/app_config.php")){ - $sql .= "accountcode, "; $sql .= "call_sell, "; - $sql .= "xml, "; - $sql .= "json, "; } if (permission_exists("xml_cdr_pdd")) { $sql .= "pdd_ms, ";