diff --git a/agc_2-X/trunk/UPGRADE b/agc_2-X/trunk/UPGRADE index 4efa1807..8a156296 100644 --- a/agc_2-X/trunk/UPGRADE +++ b/agc_2-X/trunk/UPGRADE @@ -101,7 +101,8 @@ OTHER CHANGES: 16. Added campaign option to clear the script after call disposition. 17. Added administrative web interface for managing Languages. The language - features are not active in the agent interface yet. + features are not active in the admin interface yet, but they are active + in the agent screen. 18. Added No Agent URL option override for Lists diff --git a/agc_2-X/trunk/docs/LANGUAGES_QXZ_notes.txt b/agc_2-X/trunk/docs/LANGUAGES_QXZ_notes.txt index dcc557ab..2d3e9faf 100644 --- a/agc_2-X/trunk/docs/LANGUAGES_QXZ_notes.txt +++ b/agc_2-X/trunk/docs/LANGUAGES_QXZ_notes.txt @@ -1,4 +1,4 @@ -Notes on the non-English language translations(QXZ process) Started: 2014-11-18 Updated: 2014-12-05 +Notes on the non-English language translations(QXZ process) Started: 2014-11-18 Updated: 2014-12-17 Summary: @@ -7,7 +7,9 @@ In the 2.10 branch, we started converting from a static build process for non-En As of 2014-12-04, the administrative web interface was completed. To enable languages, you need to go to Admin -> System Settings in the admin.php web interface, then set "Enable Languages" to "1" and submit. Then go to your user modify page and set "Modify Languages" to "1" and submit. Now you will be able to go to Admin -> Languages and you can create new languages, copy existing languages, import languages and export languages.(The import and export processes use the existing ||| file format for UTF-8 text that is used for the language translations files currently in the codebase.) -The last two steps are: To create a flexible way of assigning languages to agents and/or user groups, and creating an efficient way of looking up the phrases to match the selected language on the fly as the dynamic agent and admin web pages are loaded by users. +As of 2014-12-17, languages now follow User Group permissions for agents and managers just like other elements within Vicidial, and they can be assigned to users through the User Modify page, and if the agent has been given permission to change their own language, then the Agent Login screen will show a Language pull-down menu that will allow the agent to change their agent screen language upon logging in to the agent screen. Also, you can now quickly disable languages immediately systemwide by using the settings in the System Settings("Enable Languages" and "Language Method"). The Agent interface is now fully on-the-fly language capable. This means that you can create a language, and add phrases to it, and as you make changes to the language phrases, they are available immediately to the agent screen to display. + +The last step is: To get on-the-fly translation working for all admin web pages. diff --git a/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql b/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql index 54027cca..775dd014 100644 --- a/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql +++ b/agc_2-X/trunk/extras/MySQL_AST_CREATE_tables.sql @@ -623,7 +623,9 @@ alter_admin_interface_options ENUM('0','1') default '1', max_inbound_calls SMALLINT(5) UNSIGNED default '0', modify_custom_dialplans ENUM('1','0') default '0', wrapup_seconds_override SMALLINT(4) default '-1', -modify_languages ENUM('1','0') default '0' +modify_languages ENUM('1','0') default '0', +selected_language VARCHAR(100) default 'default English', +user_choose_language ENUM('1','0') default '0' ) ENGINE=MyISAM; CREATE UNIQUE INDEX user ON vicidial_users (user); @@ -1575,7 +1577,8 @@ frozen_server_call_clear ENUM('0','1') default '0', callback_time_24hour ENUM('0','1') default '0', active_modules TEXT, allow_chats ENUM('0','1') default '0', -enable_languages ENUM('0','1') default '0' +enable_languages ENUM('0','1') default '0', +language_method VARCHAR(20) default 'DISABLED' ) ENGINE=MyISAM; CREATE TABLE vicidial_campaigns_list_mix ( @@ -3098,6 +3101,7 @@ language_code VARCHAR(20) default '', language_description VARCHAR(255) default '', user_group VARCHAR(20) default '---ALL---', modify_date TIMESTAMP, +active ENUM('Y','N') default 'N', unique index (language_id) ) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci; @@ -3355,4 +3359,4 @@ UPDATE vicidial_configuration set value='1766' where name='qc_database_version'; UPDATE system_settings set vdc_agent_api_active='1'; -UPDATE system_settings SET db_schema_version='1395',db_schema_update_date=NOW(),reload_timestamp=NOW(); +UPDATE system_settings SET db_schema_version='1396',db_schema_update_date=NOW(),reload_timestamp=NOW(); diff --git a/agc_2-X/trunk/extras/upgrade_2.10.sql b/agc_2-X/trunk/extras/upgrade_2.10.sql index 84d1925f..d94644d7 100644 --- a/agc_2-X/trunk/extras/upgrade_2.10.sql +++ b/agc_2-X/trunk/extras/upgrade_2.10.sql @@ -142,3 +142,12 @@ ALTER TABLE vicidial_lists ADD na_call_url TEXT; ALTER TABLE www_phrases ADD insert_date DATETIME; UPDATE system_settings SET db_schema_version='1395',db_schema_update_date=NOW() where db_schema_version < 1395; + +ALTER TABLE vicidial_users ADD selected_language VARCHAR(100) default 'default English'; +ALTER TABLE vicidial_users ADD user_choose_language ENUM('1','0') default '0'; + +ALTER TABLE vicidial_languages ADD active ENUM('Y','N') default 'N'; + +ALTER TABLE system_settings ADD language_method VARCHAR(20) default 'DISABLED'; + +UPDATE system_settings SET db_schema_version='1396',db_schema_update_date=NOW() where db_schema_version < 1396; diff --git a/agc_2-X/trunk/www/agc/active_list_refresh.php b/agc_2-X/trunk/www/agc/active_list_refresh.php index 1920250f..624364dc 100644 --- a/agc_2-X/trunk/www/agc/active_list_refresh.php +++ b/agc_2-X/trunk/www/agc/active_list_refresh.php @@ -44,8 +44,12 @@ # 130802-0957 - Changed to PHP mysqli functions # 140811-0850 - Changed to use QXZ function for echoing text # 141128-0901 - Code cleanup for QXZ functions +# 141216-2119 - Added language settings lookups and user/pass variable standardization # +$version = '0.0.16'; +$build = '141216-2119'; + require_once("dbconnect_mysqli.php"); require_once("functions.php"); @@ -88,7 +92,7 @@ if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} ### security strip all non-alphanumeric characters out of the variables ### -$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$user=preg_replace("/\'|\"|\\\\|;| /","",$user); $pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); $ADD=preg_replace("/[^0-9]/","",$ADD); $order=preg_replace("/[^0-9a-zA-Z]/","",$order); @@ -119,13 +123,45 @@ if (!isset($selectfontsize)) {$selectfontsize='10';} if (!isset($textareaheight)) {$textareaheight='10';} if (!isset($textareawidth)) {$textareawidth='20';} -$version = '0.0.10'; -$build = '130328-0029'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} +############################################# +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,enable_languages,language_method FROM system_settings;"; +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysqli_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $non_latin = $row[0]; + $SSenable_languages = $row[1]; + $SSlanguage_method = $row[2]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + } + $auth=0; $auth_message = user_authorization($user,$pass,'',0,1,0); if ($auth_message == 'GOOD') diff --git a/agc_2-X/trunk/www/agc/api.php b/agc_2-X/trunk/www/agc/api.php index 5f618b47..c0c4a530 100644 --- a/agc_2-X/trunk/www/agc/api.php +++ b/agc_2-X/trunk/www/agc/api.php @@ -77,10 +77,11 @@ # 140619-1006 - Added basic audio_playback function # 140811-1243 - Changed to use QXZ function for echoing text # 141128-0847 - Code cleanup for QXZ functions +# 141216-2118 - Added language settings lookups and user/pass variable standardization # -$version = '2.10-43'; -$build = '141128-0847'; +$version = '2.10-44'; +$build = '141216-2118'; $startMS = microtime(); @@ -212,16 +213,34 @@ header ("Content-type: text/html; charset=utf-8"); header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header ("Pragma: no-cache"); // HTTP/1.0 +$user = preg_replace("/'|\"|\\\\|;| /","",$user); +$pass = preg_replace("/'|\"|\\\\|;| /","",$pass); + ############################################# -##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin FROM system_settings;"; +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$user';"; +if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,enable_languages,language_method FROM system_settings;"; +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysqli_num_rows($rslt); if ($qm_conf_ct > 0) { $row=mysqli_fetch_row($rslt); - $non_latin = $row[0]; + $non_latin = $row[0]; + $SSenable_languages = $row[1]; + $SSlanguage_method = $row[2]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -231,8 +250,8 @@ $query_string = preg_replace("/'|\"|\\\\|;/","",$query_string); if ($non_latin < 1) { - $user=preg_replace("/[^0-9a-zA-Z]/","",$user); - $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); $agent_user=preg_replace("/[^0-9a-zA-Z]/","",$agent_user); $function = preg_replace("/[^-\_0-9a-zA-Z]/","",$function); $value = preg_replace("/[^-\_0-9a-zA-Z]/","",$value); @@ -289,8 +308,6 @@ if ($non_latin < 1) } else { - $user = preg_replace("/'|\"|\\\\|;/","",$user); - $pass = preg_replace("/'|\"|\\\\|;/","",$pass); $source = preg_replace("/'|\"|\\\\|;/","",$source); $agent_user = preg_replace("/'|\"|\\\\|;/","",$agent_user); $alt_user = preg_replace("/'|\"|\\\\|;/","",$alt_user); diff --git a/agc_2-X/trunk/www/agc/astguiclient.php b/agc_2-X/trunk/www/agc/astguiclient.php index ae28671d..2816823b 100644 --- a/agc_2-X/trunk/www/agc/astguiclient.php +++ b/agc_2-X/trunk/www/agc/astguiclient.php @@ -65,8 +65,12 @@ # 140811-0848 - Changed to use QXZ function for echoing text # 141118-1230 - Formatting changes for QXZ output # 141125-0947 - Using pass hashes in AJAX +# 141216-2115 - Added language settings lookups and user/pass variable standardization # +$version = '2.2.6-1'; +$build = '141216-2110'; + require_once("dbconnect_mysqli.php"); require_once("functions.php"); @@ -97,17 +101,49 @@ $user_abb = "$user$user$user$user"; while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) {$user_abb = preg_replace("/^./","",$user_abb); $forever_stop++;} -$version = '2.2.6-1'; -$build = '141125-0947'; - ### security strip all non-alphanumeric characters out of the variables ### - $DB=preg_replace("/[^0-9a-z]/","",$DB); - $phone_login=preg_replace("/[^0-9a-zA-Z]/","",$phone_login); - $phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); - $user=preg_replace("/[^0-9a-zA-Z]/","",$user); - $pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); +$DB=preg_replace("/[^0-9a-z]/","",$DB); +$phone_login=preg_replace("/[^-_0-9a-zA-Z]/","",$phone_login); +$phone_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$phone_pass); +$user=preg_replace("/\'|\"|\\\\|;| /","",$user); +$pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); +############################################# +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,enable_languages,language_method FROM system_settings;"; +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysqli_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $non_latin = $row[0]; + $SSenable_languages = $row[1]; + $SSlanguage_method = $row[2]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + } + if ($force_logout) { if( (strlen($_SERVER['user'])>0) or (strlen($_SERVER['pass'])>0) ) diff --git a/agc_2-X/trunk/www/agc/call_log_display.php b/agc_2-X/trunk/www/agc/call_log_display.php index 119b2386..0b0a1447 100644 --- a/agc_2-X/trunk/www/agc/call_log_display.php +++ b/agc_2-X/trunk/www/agc/call_log_display.php @@ -36,8 +36,12 @@ # 140811-0847 - Changed to use QXZ function for echoing text # 141118-1232 - Formatting changes for QXZ output # 141128-0852 - Code cleanup for QXZ functions +# 141216-2113 - Added language settings lookups and user/pass variable standardization # +$version = '0.0.11'; +$build = '141216-2113'; + require_once("dbconnect_mysqli.php"); require_once("functions.php"); @@ -57,7 +61,7 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$user=preg_replace("/\'|\"|\\\\|;| /","",$user); $pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); $session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); $server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); @@ -69,13 +73,47 @@ if (!isset($out_limit)) {$out_limit="100";} $number_dialed = 'number_dialed'; #$number_dialed = 'extension'; -$version = '0.0.10'; -$build = '141118-1232'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} + +############################################# +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$VD_login,$server_ip,$session_name,$one_mysql_log);} +if ($DB) {echo "$stmt\n";} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,enable_languages,language_method FROM system_settings;"; +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03001',$user,$server_ip,$session_name,$one_mysql_log);} +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysqli_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $non_latin = $row[0]; + $SSenable_languages = $row[1]; + $SSlanguage_method = $row[2]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + } + $auth=0; $auth_message = user_authorization($user,$pass,'',0,1,0); if ($auth_message == 'GOOD') diff --git a/agc_2-X/trunk/www/agc/conf_exten_check.php b/agc_2-X/trunk/www/agc/conf_exten_check.php index cb7ffbce..50e8de67 100644 --- a/agc_2-X/trunk/www/agc/conf_exten_check.php +++ b/agc_2-X/trunk/www/agc/conf_exten_check.php @@ -65,12 +65,13 @@ # 140810-2136 - Changed to use QXZ function for echoing text # 141118-1233 - Formatting changes for QXZ output # 141128-0853 - Code cleanup for QXZ functions +# 141216-2111 - Added language settings lookups and user/pass variable standardization # -$version = '2.10-40'; -$build = '141128-0853'; +$version = '2.10-41'; +$build = '141216-2111'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=39; +$mysql_log_count=40; $one_mysql_log=0; $DB=0; @@ -114,10 +115,25 @@ header ("Content-type: text/html; charset=utf-8"); header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header ("Pragma: no-cache"); // HTTP/1.0 +$user=preg_replace("/\'|\"|\\\\|;| /","",$user); +$pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); + ############################################# -##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin FROM system_settings;"; +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03040',$user,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,enable_languages,language_method FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03001',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -125,20 +141,16 @@ $qm_conf_ct = mysqli_num_rows($rslt); if ($qm_conf_ct > 0) { $row=mysqli_fetch_row($rslt); - $non_latin = $row[0]; + $non_latin = $row[0]; + $SSenable_languages = $row[1]; + $SSlanguage_method = $row[2]; } ##### END SETTINGS LOOKUP ##### ########################################### if ($non_latin < 1) { - $user=preg_replace("/[^\-_0-9a-zA-Z]/i","",$user); - $pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); - } -else - { - $user = preg_replace("/\'|\"|\\\\|;/","",$user); - $pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); } $session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); diff --git a/agc_2-X/trunk/www/agc/deactivate_lead.php b/agc_2-X/trunk/www/agc/deactivate_lead.php index cb70c859..72f2efc2 100644 --- a/agc_2-X/trunk/www/agc/deactivate_lead.php +++ b/agc_2-X/trunk/www/agc/deactivate_lead.php @@ -29,6 +29,7 @@ # 130802-1006 - Changed to PHP mysqli functions # 140811-0845 - Changed to use QXZ function for echoing text # 141118-1234 - Formatting changes for QXZ output +# 141216-2130 - Added language settings lookups and user/pass variable standardization # $api_script = 'deactivate'; @@ -76,33 +77,45 @@ $NOW_TIME = date("Y-m-d H:i:s"); $sale_status = "$TD$sale_status$TD"; $search_value=''; +$user = preg_replace("/\'|\"|\\\\|;| /","",$user); +$pass = preg_replace("/\'|\"|\\\\|;| /","",$pass); + +############################################# +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,enable_languages,language_method FROM system_settings;"; +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02001',$user,$server_ip,$session_name,$one_mysql_log);} +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysqli_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $non_latin = $row[0]; + $SSenable_languages = $row[1]; + $SSlanguage_method = $row[2]; + } +##### END SETTINGS LOOKUP ##### +########################################### + if ($DB>0) {echo "$lead_id|$search_field|$campaign_check|$sale_status|$dispo|$new_status|$user|$pass|$DB|$log_to_file|\n";} if (preg_match("/$TD$dispo$TD/",$sale_status)) { - ############################################# - ##### START SYSTEM_SETTINGS INFO LOOKUP ##### - $stmt = "SELECT use_non_latin FROM system_settings;"; - $rslt=mysql_to_mysqli($stmt, $link); - if ($DB) {echo "$stmt\n";} - $ss_conf_ct = mysqli_num_rows($rslt); - if ($ss_conf_ct > 0) - { - $row=mysqli_fetch_row($rslt); - $non_latin = $row[0]; - } - ##### END SYSTEM_SETTINGS INFO LOOKUP ##### - ########################################### - if ($non_latin < 1) { $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); - $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); - } - else - { - $user = preg_replace("/\'|\"|\\\\|;/","",$user); - $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); } $auth=0; diff --git a/agc_2-X/trunk/www/agc/dispo_move_list.php b/agc_2-X/trunk/www/agc/dispo_move_list.php index 83eb6be2..928dacb5 100644 --- a/agc_2-X/trunk/www/agc/dispo_move_list.php +++ b/agc_2-X/trunk/www/agc/dispo_move_list.php @@ -36,6 +36,7 @@ # 130802-1007 - Changed to PHP mysqli functions # 140811-0844 - Changed to use QXZ function for echoing text # 141118-1235 - Formatting changes for QXZ output +# 141216-2110 - Added language settings lookups and user/pass variable standardization # $api_script = 'deactivate'; @@ -83,6 +84,43 @@ $search_value=''; $match_found=0; $k=0; +$user=preg_replace("/\'|\"|\\\\|;| /","",$user); +$pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); + +############################################# +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,enable_languages,language_method FROM system_settings;"; +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02001',$user,$server_ip,$session_name,$one_mysql_log);} +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysqli_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $non_latin = $row[0]; + $SSenable_languages = $row[1]; + $SSlanguage_method = $row[2]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + } + if ($DB>0) {echo "$lead_id|$search_field|$campaign_check|$sale_status|$dispo|$new_status|$user|$pass|$DB|$log_to_file|\n";} if (preg_match("/$TD$dispo$TD/",$sale_status)) @@ -121,30 +159,11 @@ else } if ($match_found > 0) { - ############################################# - ##### START SYSTEM_SETTINGS INFO LOOKUP ##### - $stmt = "SELECT use_non_latin FROM system_settings;"; - $rslt=mysql_to_mysqli($stmt, $link); - if ($DB) {echo "$stmt\n";} - $ss_conf_ct = mysqli_num_rows($rslt); - if ($ss_conf_ct > 0) - { - $row=mysqli_fetch_row($rslt); - $non_latin = $row[0]; - } - ##### END SYSTEM_SETTINGS INFO LOOKUP ##### - ########################################### - if ($non_latin < 1) { $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); } - else - { - $user = preg_replace("/\'|\"|\\\\|;/","",$user); - $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); - } $session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); $server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); diff --git a/agc_2-X/trunk/www/agc/functions.php b/agc_2-X/trunk/www/agc/functions.php index 11881a77..d52870d6 100644 --- a/agc_2-X/trunk/www/agc/functions.php +++ b/agc_2-X/trunk/www/agc/functions.php @@ -23,9 +23,10 @@ # 140811-2024 - Changed to use QXZ function for echoing text, for use in future translations # 141118-0909 - Added options for up to 9 ordered variables within QXZ function output # 141128-0846 - Code cleanup for QXZ functions +# 141216-1902 - Added MYSQL language method # -# $mysql_queries = 19 +# $mysql_queries = 20 ##### BEGIN validate user login credentials, check for failed lock out ##### function user_authorization($user,$pass,$user_option,$user_update,$bcrypt,$return_hash) @@ -1820,6 +1821,29 @@ function mysql_to_mysqli($stmt, $link) { # function to print/echo content, options for length, alignment and ordered internal variables are included function _QXZ($English_text, $sprintf=0, $align="l", $v_one='', $v_two='', $v_three='', $v_four='', $v_five='', $v_six='', $v_seven='', $v_eight='', $v_nine='') { + global $SSenable_languages, $SSlanguage_method, $VUselected_language, $link; + + if ($SSenable_languages == '1') + { + if ($SSlanguage_method != 'DISABLED') + { + if ( (strlen($VUselected_language) > 0) and ($VUselected_language != 'default English') ) + { + if ($SSlanguage_method == 'MYSQL') + { + $stmt="SELECT translated_text from vicidial_language_phrases where english_text='$English_text' and language_id='$VUselected_language';"; + $rslt=mysql_to_mysqli($stmt, $link); + $sl_ct = mysqli_num_rows($rslt); + if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $English_text = $row[0]; + } + } + } + } + } + if (preg_match("/%\ds/",$English_text)) { $English_text = preg_replace("/%1s/", $v_one, $English_text); diff --git a/agc_2-X/trunk/www/agc/inbound_popup.php b/agc_2-X/trunk/www/agc/inbound_popup.php index 6f451562..92e32d5e 100644 --- a/agc_2-X/trunk/www/agc/inbound_popup.php +++ b/agc_2-X/trunk/www/agc/inbound_popup.php @@ -35,8 +35,12 @@ # 130603-2215 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # 130802-1008 - Changed to PHP mysqli functions # 140811-0843 - Changed to use QXZ function for echoing text +# 141216-2120 - Added language settings lookups and user/pass variable standardization # +$version = '0.0.12'; +$build = '141216-2120'; + require_once("dbconnect_mysqli.php"); require_once("functions.php"); @@ -68,7 +72,7 @@ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$ if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} else {$local_web_callerID_URL = '';} -$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$user=preg_replace("/\'|\"|\\\\|;| /","",$user); $pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); $session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); $server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); @@ -76,8 +80,6 @@ $server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.7'; -$build = '130328-0025'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -85,6 +87,40 @@ if (!isset($query_date)) {$query_date = $NOW_DATE;} $DO = '-1'; if ( (preg_match("/^Zap/i",$channel)) and (!preg_match("/-/i",$channel)) ) {$channel = "$channel$DO";} +############################################# +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,enable_languages,language_method FROM system_settings;"; +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysqli_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $non_latin = $row[0]; + $SSenable_languages = $row[1]; + $SSlanguage_method = $row[2]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + } + $auth=0; $auth_message = user_authorization($user,$pass,'',0,1,0); if ($auth_message == 'GOOD') diff --git a/agc_2-X/trunk/www/agc/launch.php b/agc_2-X/trunk/www/agc/launch.php index 8cff572c..e7f16448 100644 --- a/agc_2-X/trunk/www/agc/launch.php +++ b/agc_2-X/trunk/www/agc/launch.php @@ -9,11 +9,13 @@ # CHANGELOG # 130903-2055 - First Build # 140811-0800 - Changed to use QXZ function for echoing text +# 141216-2134 - Added language settings lookups and user/pass variable standardization # $window_name = 'subwindow_launch'; require_once("functions.php"); +require_once("dbconnect_mysqli.php"); ### do not edit below this line ### @@ -61,9 +63,9 @@ if (!isset($flag_channels)) ### security strip all non-alphanumeric characters out of the variables ### $DB=preg_replace("/[^0-9a-z]/","",$DB); $phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); -$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); -$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); -$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); +$phone_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/\'|\"|\\\\|;| /","",$VD_login); +$VD_pass=preg_replace("/\'|\"|\\\\|;| /","",$VD_pass); $VD_campaign = preg_replace("/[^-_0-9a-zA-Z]/","",$VD_campaign); $login_string=''; @@ -100,6 +102,42 @@ $agcDIR = preg_replace("/launch\.php/",'',$agcPAGE); if (strlen($static_agent_url) > 5) {$agcPAGE = $static_agent_url;} +############################################# +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$VD_login';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$VD_login,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,admin_home_url,admin_web_directory,enable_languages,language_method FROM system_settings;"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$VD_login,$server_ip,$session_name,$one_mysql_log);} +$qm_conf_ct = mysqli_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $non_latin = $row[0]; + $welcomeURL = $row[1]; + $admin_web_directory = $row[2]; + $SSenable_languages = $row[3]; + $SSlanguage_method = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); + $VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); + } ?> diff --git a/agc_2-X/trunk/www/agc/live_exten_check.php b/agc_2-X/trunk/www/agc/live_exten_check.php index 8abaf8a5..262a9c89 100644 --- a/agc_2-X/trunk/www/agc/live_exten_check.php +++ b/agc_2-X/trunk/www/agc/live_exten_check.php @@ -37,8 +37,12 @@ # 140811-0841 - Changed to use QXZ function for echoing text # 141118-1236 - Formatting changes for QXZ output # 141128-0854 - Code cleanup for QXZ functions +# 141216-2109 - Added language settings lookups and user/pass variable standardization # +$version = '2.10-15'; +$build = '141216-2109'; + require_once("dbconnect_mysqli.php"); require_once("functions.php"); @@ -62,7 +66,7 @@ if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} -$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$user=preg_replace("/\'|\"|\\\\|;| /","",$user); $pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); $session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); $server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); @@ -70,13 +74,46 @@ $server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '2.10-14'; -$build = '141118-1236'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} + +############################################# +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,enable_languages,language_method FROM system_settings;"; +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysqli_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $non_latin = $row[0]; + $SSenable_languages = $row[1]; + $SSlanguage_method = $row[2]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + } + $auth=0; $auth_message = user_authorization($user,$pass,'',0,1,0); if ($auth_message == 'GOOD') diff --git a/agc_2-X/trunk/www/agc/manager_send.php b/agc_2-X/trunk/www/agc/manager_send.php index 22e0b6a7..9645c0b4 100644 --- a/agc_2-X/trunk/www/agc/manager_send.php +++ b/agc_2-X/trunk/www/agc/manager_send.php @@ -122,12 +122,13 @@ # 140810-2125 - Changed to use QXZ function for echoing text # 141118-1101 - Formatting changes for QXZ output # 141128-0851 - Code cleanup for QXZ functions +# 141216-2107 - Added language settings lookups and user/pass variable standardization # -$version = '2.10-69'; -$build = '141128-0851'; +$version = '2.10-70'; +$build = '141216-2107'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=128; +$mysql_log_count=129; $one_mysql_log=0; require_once("dbconnect_mysqli.php"); @@ -230,34 +231,8 @@ header ("Content-type: text/html; charset=utf-8"); header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header ("Pragma: no-cache"); // HTTP/1.0 -############################################# -##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,allow_sipsak_messages FROM system_settings;"; -$rslt=mysql_to_mysqli($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02001',$user,$server_ip,$session_name,$one_mysql_log);} -if ($DB) {echo "$stmt\n";} -$qm_conf_ct = mysqli_num_rows($rslt); -if ($qm_conf_ct > 0) - { - $row=mysqli_fetch_row($rslt); - $non_latin = $row[0]; - $allow_sipsak_messages = $row[1]; - } -##### END SETTINGS LOOKUP ##### -########################################### - -if ($non_latin < 1) - { - $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); - $pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); - $secondS = preg_replace("/[^0-9]/","",$secondS); - } -else - { - $user = preg_replace("/\'|\"|\\\\|;/","",$user); - $pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); - } - +$user=preg_replace("/\'|\"|\\\\|;| /","",$user); +$pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); $session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); $server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); @@ -272,6 +247,43 @@ $NOW_TIME = date("Y-m-d H:i:s"); $NOWnum = date("YmdHis"); if (!isset($query_date)) {$query_date = $NOW_DATE;} + +############################################# +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02129',$user,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,allow_sipsak_messages,enable_languages,language_method FROM system_settings;"; +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02001',$user,$server_ip,$session_name,$one_mysql_log);} +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysqli_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $non_latin = $row[0]; + $allow_sipsak_messages = $row[1]; + $SSenable_languages = $row[2]; + $SSlanguage_method = $row[3]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $secondS = preg_replace("/[^0-9]/","",$secondS); + } + $auth=0; $auth_message = user_authorization($user,$pass,'',0,1,0); if ($auth_message == 'GOOD') diff --git a/agc_2-X/trunk/www/agc/park_calls_display.php b/agc_2-X/trunk/www/agc/park_calls_display.php index 7e1fe6a6..99ddf03f 100644 --- a/agc_2-X/trunk/www/agc/park_calls_display.php +++ b/agc_2-X/trunk/www/agc/park_calls_display.php @@ -28,8 +28,12 @@ # 130802-1024 - Changed to PHP mysqli functions # 140811-0839 - Changed to use QXZ function for echoing text # 141118-1237 - Formatting changes for QXZ output +# 141216-2105 - Added language settings lookups and user/pass variable standardization # +$version = '0.0.11'; +$build = '141216-2105'; + require_once("dbconnect_mysqli.php"); require_once("functions.php"); @@ -49,7 +53,7 @@ if (isset($_GET["exten"])) {$exten=$_GET["exten"];} if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} -$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$user=preg_replace("/\'|\"|\\\\|;| /","",$user); $pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); $session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); $server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); @@ -58,13 +62,47 @@ $server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); if (!isset($format)) {$format="text";} if (!isset($park_limit)) {$park_limit="1000";} -$version = '0.0.4'; -$build = '141118-1237'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} + +############################################# +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,enable_languages,language_method FROM system_settings;"; +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysqli_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $non_latin = $row[0]; + $SSenable_languages = $row[1]; + $SSlanguage_method = $row[2]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + } + + $auth=0; $auth_message = user_authorization($user,$pass,'',0,1,0); if ($auth_message == 'GOOD') diff --git a/agc_2-X/trunk/www/agc/phone_only.php b/agc_2-X/trunk/www/agc/phone_only.php index 4a2c3936..b1d12459 100644 --- a/agc_2-X/trunk/www/agc/phone_only.php +++ b/agc_2-X/trunk/www/agc/phone_only.php @@ -14,12 +14,13 @@ # 130802-1139 - Changed to PHP mysqli functions # 140810-2113 - Changed to use QXZ function for echoing text # 141118-1238 - Formatting changes for QXZ output +# 141216-2127 - Added language settings lookups and user/pass variable standardization # -$version = '2.10-10p'; -$build = '141118-1238'; +$version = '2.10-11p'; +$build = '141216-2127'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=73; +$mysql_log_count=74; $one_mysql_log=0; require_once("dbconnect_mysqli.php"); @@ -56,9 +57,9 @@ if (!isset($flag_channels)) ### security strip all non-alphanumeric characters out of the variables ### $DB=preg_replace("[^0-9a-z]","",$DB); $phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); -$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); -$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); -$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); +$phone_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/\'|\"|\\\\|;| /","",$VD_login); +$VD_pass=preg_replace("/\'|\"|\\\\|;| /","",$VD_pass); $forever_stop=0; @@ -87,8 +88,20 @@ $PHP_SELF=$_SERVER['PHP_SELF']; $random = (rand(1000000, 9999999) + 10000000); ############################################# -##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled FROM system_settings;"; +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$VD_login';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09074',$VD_login,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,enable_languages,language_method FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'09001',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -109,10 +122,18 @@ if ($qm_conf_ct > 0) $user_territories_active = $row[10]; $static_agent_url = $row[11]; $custom_fields_enabled = $row[12]; + $SSenable_languages = $row[13]; + $SSlanguage_method = $row[14]; } ##### END SETTINGS LOOKUP ##### ########################################### +if ($non_latin < 1) + { + $VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); + $VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); + } + ##### DEFINABLE SETTINGS AND OPTIONS ########################################### diff --git a/agc_2-X/trunk/www/agc/timeclock.php b/agc_2-X/trunk/www/agc/timeclock.php index dd00dd42..f1d7cc2f 100644 --- a/agc_2-X/trunk/www/agc/timeclock.php +++ b/agc_2-X/trunk/www/agc/timeclock.php @@ -17,10 +17,11 @@ # 131208-2155 - Added user log TIMEOUTLOGOUT event status # 140810-2138 - Changed to use QXZ function for echoing text # 141118-1239 - Formatting changes for QXZ output +# 141216-2122 - Added language settings lookups and user/pass variable standardization # -$version = '2.10-12'; -$build = '141118-1239'; +$version = '2.10-14'; +$build = '141216-2122'; $StarTtimE = date("U"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -81,12 +82,12 @@ if (!isset($phone_pass)) ### security strip all non-alphanumeric characters out of the variables ### $DB=preg_replace("/[^0-9a-z]/","",$DB); $phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); -$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); -$VD_login=preg_replace("/[^0-9a-zA-Z]/","",$VD_login); -$VD_pass=preg_replace("/[^0-9a-zA-Z]/","",$VD_pass); -$VD_campaign=preg_replace("/[^0-9a-zA-Z_]/","",$VD_campaign); -$user=preg_replace("/[^0-9a-zA-Z]/","",$user); -$pass=preg_replace("/[^0-9a-zA-Z]/","",$pass); +$phone_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$phone_pass); +$user=preg_replace("/\'|\"|\\\\|;| /","",$user); +$pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); +$VD_login=preg_replace("/\'|\"|\\\\|;| /","",$VD_login); +$VD_pass=preg_replace("/\'|\"|\\\\|;| /","",$VD_pass); +$VD_campaign=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_campaign); $stage=preg_replace("/[^0-9a-zA-Z]/","",$stage); $commit=preg_replace("/[^0-9a-zA-Z]/","",$commit); $referrer=preg_replace("/[^0-9a-zA-Z]/","",$referrer); @@ -95,23 +96,43 @@ require_once("dbconnect_mysqli.php"); require_once("functions.php"); ############################################# -##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,admin_home_url,admin_web_directory FROM system_settings;"; +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$VD_login';"; +if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$VD_login,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,admin_home_url,admin_web_directory,enable_languages,language_method FROM system_settings;"; if ($DB) {echo "$stmt\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$VD_login,$server_ip,$session_name,$one_mysql_log);} $qm_conf_ct = mysqli_num_rows($rslt); -$i=0; -while ($i < $qm_conf_ct) +if ($qm_conf_ct > 0) { $row=mysqli_fetch_row($rslt); $non_latin = $row[0]; $welcomeURL = $row[1]; $admin_web_directory = $row[2]; - $i++; + $SSenable_languages = $row[3]; + $SSlanguage_method = $row[4]; } ##### END SETTINGS LOOKUP ##### ########################################### +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); + $VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); + $VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); + } header ("Content-type: text/html; charset=utf-8"); header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 diff --git a/agc_2-X/trunk/www/agc/vdc_db_query.php b/agc_2-X/trunk/www/agc/vdc_db_query.php index d0b5373b..c17b3177 100644 --- a/agc_2-X/trunk/www/agc/vdc_db_query.php +++ b/agc_2-X/trunk/www/agc/vdc_db_query.php @@ -369,12 +369,13 @@ # 141125-0059 - Added parked_hangup code # 141128-0849 - Code cleanup for QXZ functions # 141207-1056 - Added pause_trigger to logout to force pause before running logout process +# 141216-1900 - Added agent choose language option # -$version = '2.10-264'; -$build = '141207-1056'; +$version = '2.10-265'; +$build = '141216-1900'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=597; +$mysql_log_count=599; $one_mysql_log=0; require_once("dbconnect_mysqli.php"); @@ -791,7 +792,7 @@ $sip_hangup_cause_dictionary = array( ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,qc_features_active,allow_emails,callback_time_24hour FROM system_settings;"; +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,qc_features_active,allow_emails,callback_time_24hour,enable_languages,language_method FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -810,6 +811,8 @@ if ($qm_conf_ct > 0) $qc_features_active = $row[8]; $allow_emails = $row[9]; $callback_time_24hour = $row[10]; + $SSenable_languages = $row[11]; + $SSlanguage_method = $row[12]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -841,6 +844,18 @@ if (!isset($format)) {$format="text";} if (!isset($ACTION)) {$ACTION="refresh";} if (!isset($query_date)) {$query_date = $NOW_DATE;} +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00598',$user,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + if ($ACTION == 'LogiNCamPaigns') { $skip_user_validation=1; @@ -913,7 +928,7 @@ if ($ACTION == 'LogiNCamPaigns') } else { - $stmt="SELECT user_group,user_level,agent_shift_enforcement_override,shift_override_flag from vicidial_users where user='$user';"; + $stmt="SELECT user_group,user_level,agent_shift_enforcement_override,shift_override_flag,user_choose_language from vicidial_users where user='$user';"; if ($non_latin > 0) {$rslt=mysql_to_mysqli("SET NAMES 'UTF8'", $link);} $rslt=mysql_to_mysqli($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00004',$user,$server_ip,$session_name,$one_mysql_log);} @@ -925,16 +940,19 @@ if ($ACTION == 'LogiNCamPaigns') $VU_user_level = $row[1]; $VU_agent_shift_enforcement_override = $row[2]; $VU_shift_override_flag = $row[3]; + $VU_user_choose_language = $row[4]; $LOGallowed_campaignsSQL=''; - $stmt="SELECT allowed_campaigns,forced_timeclock_login,shift_enforcement,group_shifts from vicidial_user_groups where user_group='$VU_user_group';"; + $stmt="SELECT allowed_campaigns,forced_timeclock_login,shift_enforcement,group_shifts,admin_viewable_groups from vicidial_user_groups where user_group='$VU_user_group';"; $rslt=mysql_to_mysqli($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00005',$user,$server_ip,$session_name,$one_mysql_log);} $row=mysqli_fetch_row($rslt); $forced_timeclock_login = $row[1]; $shift_enforcement = $row[2]; - $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$row[3]); + $group_shifts = $row[3]; + $admin_viewable_groups = $row[4]; + $LOGgroup_shiftsSQL = preg_replace('/\s\s/','',$group_shifts); $LOGgroup_shiftsSQL = preg_replace('/\s/',"','",$LOGgroup_shiftsSQL); $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; if ( (!preg_match("/ALL-CAMPAIGNS/i",$row[0])) ) @@ -943,6 +961,22 @@ if ($ACTION == 'LogiNCamPaigns') $LOGallowed_campaignsSQL = preg_replace('/\s/i',"','",$LOGallowed_campaignsSQL); $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; } + $admin_viewable_groupsALL=0; + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + $valLOGadmin_viewable_groupsSQL=''; + $vmLOGadmin_viewable_groupsSQL=''; + if ( (!preg_match('/\-\-ALL\-\-/i',$admin_viewable_groups)) and (strlen($admin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$admin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $valLOGadmin_viewable_groupsSQL = "and val.user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $vmLOGadmin_viewable_groupsSQL = "and vm.user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + else + {$admin_viewable_groupsALL=1;} $show_campaign_list=1; ### CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR @@ -974,6 +1008,19 @@ if ($ACTION == 'LogiNCamPaigns') if ( (strlen($last_agent_event)<2) or (preg_match('/LOGOUT/',$last_agent_event)) ) {$show_campaign_list=0;} } + ### CHECK TO SEE IF LANGUAGES ARE ENABLED AND IF AGENT CAN CHOOSE THEM + $show_language_list=0; + + if ($SSenable_languages == '1') + { + if ($SSlanguage_method != 'DISABLED') + { + if ($VU_user_choose_language == '1') + { + $show_language_list=1; + } + } + } } else { @@ -1075,13 +1122,42 @@ if ($ACTION == 'LogiNCamPaigns') echo "\n"; $o=0; + $campSELECTED=0; while ($camps_to_print > $o) { $rowx=mysqli_fetch_row($rslt); - echo "\n"; + echo "\n"; $o++; } echo "\n"; + if ($show_language_list > 0) + { + echo "
      "._QXZ("Language").":
\n"; + $stmt="SELECT language_id,language_description from vicidial_languages where active='Y' $LOGadmin_viewable_groupsSQL order by language_id"; + $rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00599',$user,$server_ip,$session_name,$one_mysql_log);} + $langs_to_print = mysqli_num_rows($rslt); + + echo "\n"; + } } else { diff --git a/agc_2-X/trunk/www/agc/vdc_email_display.php b/agc_2-X/trunk/www/agc/vdc_email_display.php index 1ca4df19..a305268f 100644 --- a/agc_2-X/trunk/www/agc/vdc_email_display.php +++ b/agc_2-X/trunk/www/agc/vdc_email_display.php @@ -19,10 +19,11 @@ # 140811-0834 - Changed to use QXZ function for echoing text # 141118-1426 - Added agent_email variable # 141128-0850 - Code cleanup for QXZ functions +# 141216-2117 - Added language settings lookups and user/pass variable standardization # -$version = '2.10-9'; -$build = '141128-0850'; +$version = '2.10-10'; +$build = '141216-2117'; require_once("dbconnect_mysqli.php"); require_once("functions.php"); @@ -100,10 +101,26 @@ if (strlen($bgcolor) < 6) {$bgcolor='FFFFFF';} $IFRAME=0; +$user = preg_replace("/\'|\"|\\\\|;| /","",$user); +$pass = preg_replace("/\'|\"|\\\\|;| /","",$pass); + ############################################# -##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails FROM system_settings;"; +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$user';"; +if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,allow_emails,enable_languages,language_method FROM system_settings;"; +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysqli_num_rows($rslt); if ($qm_conf_ct > 0) @@ -113,7 +130,9 @@ if ($qm_conf_ct > 0) $timeclock_end_of_day = $row[1]; $agentonly_callback_campaign_lock = $row[2]; $custom_fields_enabled = $row[3]; - $allow_emails = $row[4]; + $allow_emails = $row[4]; + $SSenable_languages = $row[5]; + $SSlanguage_method = $row[6]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -127,12 +146,6 @@ if ($allow_emails<1) if ($non_latin < 1) { $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); - $pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); - } -else - { - $user = preg_replace("/\'|\"|\\\\|;/","",$user); - $pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); } diff --git a/agc_2-X/trunk/www/agc/vdc_form_display.php b/agc_2-X/trunk/www/agc/vdc_form_display.php index 19114803..992e2dbe 100644 --- a/agc_2-X/trunk/www/agc/vdc_form_display.php +++ b/agc_2-X/trunk/www/agc/vdc_form_display.php @@ -27,11 +27,11 @@ # 140810-2119 - Changed to use QXZ function for echoing text # 141118-1424 - Added agent_email variable # 141128-0855 - Code cleanup for QXZ functions +# 141216-2116 - Added language settings lookups and user/pass variable standardization # - -$version = '2.10-18'; -$build = '141128-0855'; +$version = '2.10-19'; +$build = '141216-2116'; require_once("dbconnect_mysqli.php"); require_once("functions.php"); @@ -193,10 +193,26 @@ $vicidial_list_fields = '|lead_id|vendor_lead_code|source_id|list_id|gmt_offset_ $IFRAME=0; +$user = preg_replace("/\'|\"|\\\\|;| /","",$user); +$pass = preg_replace("/\'|\"|\\\\|;| /","",$pass); + ############################################# -##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled FROM system_settings;"; +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$user';"; +if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,enable_languages,language_method FROM system_settings;"; +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysqli_num_rows($rslt); if ($qm_conf_ct > 0) @@ -206,6 +222,8 @@ if ($qm_conf_ct > 0) $timeclock_end_of_day = $row[1]; $agentonly_callback_campaign_lock = $row[2]; $custom_fields_enabled = $row[3]; + $SSenable_languages = $row[4]; + $SSlanguage_method = $row[5]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -213,17 +231,10 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); - $pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); $phone_code = preg_replace("/[^0-9]/","",$phone_code); $phone_number = preg_replace("/[^0-9]/","",$phone_number); } -else - { - $user = preg_replace("/\'|\"|\\\\|;| /","",$user); - $pass = preg_replace("/\'|\"|\\\\|;| /","",$pass); - } - # default optional vars if not set if (!isset($format)) {$format="text";} @@ -478,8 +489,8 @@ else if ($submit_button=='YES') { if ($bcrypt=='0') - {echo "\n";} - echo "\n"; + {echo "\n";} + echo "\n"; echo "

\n"; } echo "

\n"; diff --git a/agc_2-X/trunk/www/agc/vdc_script_display.php b/agc_2-X/trunk/www/agc/vdc_script_display.php index a2622dde..8e2c4b74 100644 --- a/agc_2-X/trunk/www/agc/vdc_script_display.php +++ b/agc_2-X/trunk/www/agc/vdc_script_display.php @@ -28,10 +28,11 @@ # 140710-2143 - Added session_name variable # 140810-1857 - Changed to use QXZ function for echoing text # 141118-1422 - Added agent_email variable +# 141216-2121 - Added language settings lookups and user/pass variable standardization # -$version = '2.10-22'; -$build = '141118-1422'; +$version = '2.10-23'; +$build = '141216-2121'; require_once("dbconnect_mysqli.php"); require_once("functions.php"); @@ -234,11 +235,28 @@ $full_script_height = ($script_height + 200); $IFRAME=0; +$user=preg_replace("/\'|\"|\\\\|;| /","",$user); +$pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); +$orig_pass = preg_replace("/\'|\"|\\\\|;| /","",$orig_pass); + ############################################# -##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock FROM system_settings;"; +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$user';"; +if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,enable_languages,language_method FROM system_settings;"; if ($DB) {echo "$stmt\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} $qm_conf_ct = mysqli_num_rows($rslt); if ($qm_conf_ct > 0) { @@ -246,6 +264,9 @@ if ($qm_conf_ct > 0) $non_latin = $row[0]; $timeclock_end_of_day = $row[1]; $agentonly_callback_campaign_lock = $row[2]; + $custom_fields_enabled = $row[3]; + $SSenable_languages = $row[4]; + $SSlanguage_method = $row[5]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -253,20 +274,12 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); - $pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); $orig_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$orig_pass); $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); $phone_code = preg_replace("/[^0-9]/","",$phone_code); $phone_number = preg_replace("/[^0-9]/","",$phone_number); $session_name=preg_replace("/[^-_0-9a-zA-Z]/","",$session_name); } -else - { - $user = preg_replace("/\'|\"|\\\\|;/","",$user); - $pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); - $orig_pass = preg_replace("/\'|\"|\\\\|;/","",$orig_pass); - } - # default optional vars if not set if (!isset($format)) {$format="text";} diff --git a/agc_2-X/trunk/www/agc/vdc_script_dispo_example.php b/agc_2-X/trunk/www/agc/vdc_script_dispo_example.php index 51e0e88f..1e85aeda 100644 --- a/agc_2-X/trunk/www/agc/vdc_script_dispo_example.php +++ b/agc_2-X/trunk/www/agc/vdc_script_dispo_example.php @@ -18,10 +18,11 @@ # 130603-2201 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # 130802-1036 - Changed to PHP mysqli functions # 140811-0832 - Changed to use QXZ function for echoing text +# 141216-2133 - Added language settings lookups and user/pass variable standardization # -$version = '2.10-6'; -$build = '140811-0832'; +$version = '2.10-7'; +$build = '141216-2133'; require_once("dbconnect_mysqli.php"); require_once("functions.php"); @@ -248,11 +249,27 @@ $agents='@agents'; if (strlen($call_date) < 1) {$call_date = $NOW_TIME;} +$user=preg_replace("/\'|\"|\\\\|;| /","",$user); +$pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); + ############################################# -##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock FROM system_settings;"; +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$user';"; +if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,enable_languages,language_method FROM system_settings;"; if ($DB) {echo "$stmt\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} $qm_conf_ct = mysqli_num_rows($rslt); if ($qm_conf_ct > 0) { @@ -260,6 +277,9 @@ if ($qm_conf_ct > 0) $non_latin = $row[0]; $timeclock_end_of_day = $row[1]; $agentonly_callback_campaign_lock = $row[2]; + $custom_fields_enabled = $row[3]; + $SSenable_languages = $row[4]; + $SSlanguage_method = $row[5]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -267,16 +287,10 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); - $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); $phone_code = preg_replace("/[^0-9]/","",$phone_code); $phone_number = preg_replace("/[^0-9]/","",$phone_number); } -else - { - $user = preg_replace("/\'|\"|\\\\|;/","",$user); - $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); - } if ($DB > 0) { diff --git a/agc_2-X/trunk/www/agc/vdc_script_notes.php b/agc_2-X/trunk/www/agc/vdc_script_notes.php index a444a86c..45908958 100644 --- a/agc_2-X/trunk/www/agc/vdc_script_notes.php +++ b/agc_2-X/trunk/www/agc/vdc_script_notes.php @@ -16,10 +16,11 @@ # 130603-2203 - Added login lockout for 15 minutes after 10 failed logins, and other security fixes # 130802-1037 - Changed to PHP mysqli functions # 140810-2113 - Changed to use QXZ function for echoing text +# 141216-2132 - Added language settings lookups and user/pass variable standardization # -$version = '2.10-6'; -$build = '140810-2113'; +$version = '2.10-7'; +$build = '141216-2132'; require_once("dbconnect_mysqli.php"); require_once("functions.php"); @@ -216,11 +217,28 @@ $agents='@agents'; if (strlen($call_date) < 1) {$call_date = $NOW_TIME;} + +$user=preg_replace("/\'|\"|\\\\|;| /","",$user); +$pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); + ############################################# -##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock FROM system_settings;"; +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$user';"; +if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,timeclock_end_of_day,agentonly_callback_campaign_lock,custom_fields_enabled,enable_languages,language_method FROM system_settings;"; if ($DB) {echo "$stmt\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} $qm_conf_ct = mysqli_num_rows($rslt); if ($qm_conf_ct > 0) { @@ -228,6 +246,9 @@ if ($qm_conf_ct > 0) $non_latin = $row[0]; $timeclock_end_of_day = $row[1]; $agentonly_callback_campaign_lock = $row[2]; + $custom_fields_enabled = $row[3]; + $SSenable_languages = $row[4]; + $SSlanguage_method = $row[5]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -235,16 +256,10 @@ if ($qm_conf_ct > 0) if ($non_latin < 1) { $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); - $pass=preg_replace("/[^-_0-9a-zA-Z]/","",$pass); $length_in_sec = preg_replace("/[^0-9]/","",$length_in_sec); $phone_code = preg_replace("/[^0-9]/","",$phone_code); $phone_number = preg_replace("/[^0-9]/","",$phone_number); } -else - { - $user = preg_replace("/\'|\"|\\\\|;/","",$user); - $pass = preg_replace("/\'|\"|\\\\|;/","",$pass); - } if ($DB > 0) { diff --git a/agc_2-X/trunk/www/agc/vicidial.php b/agc_2-X/trunk/www/agc/vicidial.php index 92c3b296..9c5e11ff 100644 --- a/agc_2-X/trunk/www/agc/vicidial.php +++ b/agc_2-X/trunk/www/agc/vicidial.php @@ -459,12 +459,13 @@ # 141128-0848 - Code cleanup for QXZ functions # 141204-1211 - Added more error checking on login # 141207-1155 - Added pause_trigger to logout to force pause before running logout process +# 141216-1859 - Added agent choose language option # -$version = '2.10-430c'; -$build = '141207-1155'; +$version = '2.10-431c'; +$build = '141216-1859'; $mel=1; # Mysql Error Log enabled = 1 -$mysql_log_count=80; +$mysql_log_count=85; $one_mysql_log=0; require_once("dbconnect_mysqli.php"); @@ -486,6 +487,8 @@ if (isset($_GET["VD_pass"])) {$VD_pass=$_GET["VD_pass"];} elseif (isset($_POST["VD_pass"])) {$VD_pass=$_POST["VD_pass"];} if (isset($_GET["VD_campaign"])) {$VD_campaign=$_GET["VD_campaign"];} elseif (isset($_POST["VD_campaign"])) {$VD_campaign=$_POST["VD_campaign"];} +if (isset($_GET["VD_language"])) {$VD_language=$_GET["VD_language"];} + elseif (isset($_POST["VD_language"])) {$VD_language=$_POST["VD_language"];} if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} if (isset($_GET["MGR_override"])) {$MGR_override=$_GET["MGR_override"];} @@ -516,20 +519,15 @@ if (!isset($flag_channels)) ### security strip all non-alphanumeric characters out of the variables ### $DB=preg_replace("/[^0-9a-z]/","",$DB); $phone_login=preg_replace("/[^\,0-9a-zA-Z]/","",$phone_login); -$phone_pass=preg_replace("/[^0-9a-zA-Z]/","",$phone_pass); -$VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); -$VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); +$phone_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$phone_pass); +$VD_login=preg_replace("/\'|\"|\\\\|;| /","",$VD_login); +$VD_pass=preg_replace("/\'|\"|\\\\|;| /","",$VD_pass); $VD_campaign = preg_replace("/[^-_0-9a-zA-Z]/","",$VD_campaign); +$VD_language = preg_replace("/\'|\"|\\\\|;/","",$VD_language); $admin_test = preg_replace("/[^0-9a-zA-Z]/","",$admin_test); $forever_stop=0; -if ($force_logout) - { - echo _QXZ("You have now logged out. Thank you")."\n"; - exit; - } - $isdst = date("I"); $StarTtimE = date("U"); $NOW_TIME = date("Y-m-d H:i:s"); @@ -543,13 +541,25 @@ $minutes_old = mktime(date("H"), date("i")-2, date("s"), date("m"), date("d"), $past_minutes_date = date("Y-m-d H:i:s",$minutes_old); $webphone_width = 460; $webphone_height = 500; - +$VUselected_language = ''; $random = (rand(1000000, 9999999) + 10000000); + +$stmt="SELECT selected_language from vicidial_users where user='$VD_login';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01081',$VD_login,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit,qc_features_active,allow_emails,callback_time_24hour FROM system_settings;"; +$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active,enable_second_webform,user_territories_active,static_agent_url,custom_fields_enabled,pllb_grouping_limit,qc_features_active,allow_emails,callback_time_24hour,enable_languages,language_method FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01001',$VD_login,$server_ip,$session_name,$one_mysql_log);} if ($DB) {echo "$stmt\n";} @@ -574,6 +584,8 @@ if ($qm_conf_ct > 0) $qc_enabled = $row[14]; $email_enabled = $row[15]; $callback_time_24hour = $row[16]; + $SSenable_languages = $row[17]; + $SSlanguage_method = $row[18]; } else { @@ -583,6 +595,18 @@ else ##### END SETTINGS LOOKUP ##### ########################################### +if ($non_latin < 1) + { + $VD_login=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_login); + $VD_pass=preg_replace("/[^-_0-9a-zA-Z]/","",$VD_pass); + } + +if ($force_logout) + { + echo _QXZ("You have now logged out. Thank you")."\n"; + exit; + } + ##### DEFINABLE SETTINGS AND OPTIONS ########################################### @@ -645,51 +669,6 @@ if (file_exists('options.php')) require_once('options.php'); } -### BEGIN find any custom field labels ### -$label_title = _QXZ(' Title'); -$label_first_name = _QXZ('First'); -$label_middle_initial = _QXZ('MI'); -$label_last_name = _QXZ('Last '); -$label_address1 = _QXZ('Address1'); -$label_address2 = _QXZ('Address2'); -$label_address3 = _QXZ('Address3'); -$label_city = _QXZ('City'); -$label_state = _QXZ(' State'); -$label_province = _QXZ('Province'); -$label_postal_code = _QXZ('PostCode'); -$label_vendor_lead_code = _QXZ('Vendor ID'); -$label_gender = _QXZ(' Gender'); -$label_phone_number = _QXZ('Phone'); -$label_phone_code = _QXZ('DialCode'); -$label_alt_phone = _QXZ('Alt. Phone'); -$label_security_phrase = _QXZ('Show'); -$label_email = _QXZ('Email'); -$label_comments = _QXZ(' Comments'); - -$stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; -$rslt=mysql_to_mysqli($stmt, $link); -$row=mysqli_fetch_row($rslt); -if (strlen($row[0])>0) {$label_title = $row[0];} -if (strlen($row[1])>0) {$label_first_name = $row[1];} -if (strlen($row[2])>0) {$label_middle_initial = $row[2];} -if (strlen($row[3])>0) {$label_last_name = $row[3];} -if (strlen($row[4])>0) {$label_address1 = $row[4];} -if (strlen($row[5])>0) {$label_address2 = $row[5];} -if (strlen($row[6])>0) {$label_address3 = $row[6];} -if (strlen($row[7])>0) {$label_city = $row[7];} -if (strlen($row[8])>0) {$label_state = $row[8];} -if (strlen($row[9])>0) {$label_province = $row[9];} -if (strlen($row[10])>0) {$label_postal_code = $row[10];} -if (strlen($row[11])>0) {$label_vendor_lead_code = $row[11];} -if (strlen($row[12])>0) {$label_gender = $row[12];} -if (strlen($row[13])>0) {$label_phone_number = $row[13];} -if (strlen($row[14])>0) {$label_phone_code = $row[14];} -if (strlen($row[15])>0) {$label_alt_phone = $row[15];} -if (strlen($row[16])>0) {$label_security_phrase = $row[16];} -if (strlen($row[17])>0) {$label_email = $row[17];} -if (strlen($row[18])>0) {$label_comments = $row[18];} -### END find any custom field labels ### - $hide_gender=0; if ($label_gender == '---HIDE---') {$hide_gender=1;} @@ -969,11 +948,11 @@ if ($relogin == 'YES') echo "\n"; echo ""._QXZ("Phone Password:")." "; echo "\n"; - echo ""._QXZ("User Login")." "; + echo ""._QXZ("User Login").": "; echo "\n"; echo ""._QXZ("User Password:")." "; echo "\n"; - echo ""._QXZ("Campaign:")." "; + echo ""._QXZ("Campaign:")." "; echo "$camp_form_code\n"; echo "   \n"; echo "\n"; @@ -1009,11 +988,11 @@ if ($user_login_first == 1) echo " "._QXZ("Campaign Login")." "; echo "\n"; echo "   \n"; - echo ""._QXZ("User Login")." "; + echo ""._QXZ("User Login").": "; echo "\n"; echo ""._QXZ("User Password:")." "; echo "\n"; - echo ""._QXZ("Campaign:")." "; + echo ""._QXZ("Campaign:")." "; echo "$camp_form_code\n"; echo "   \n"; echo "\n"; @@ -1059,11 +1038,11 @@ if ($user_login_first == 1) echo "\n"; echo ""._QXZ("Phone Password:")." "; echo "\n"; - echo ""._QXZ("User Login")." "; + echo ""._QXZ("User Login").": "; echo " /\n"; echo ""._QXZ("User Password:")." "; echo "\n"; - echo ""._QXZ("Campaign:")." "; + echo ""._QXZ("Campaign:")." "; echo "$camp_form_code\n"; echo "\"   \n"; echo "\n"; @@ -1133,7 +1112,7 @@ else if($auth>0) { ##### grab the full name and other settings of the agent - $stmt="SELECT full_name,user_level,hotkeys_active,agent_choose_ingroups,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,closer_default_blended,user_group,vicidial_recording_override,alter_custphone_override,alert_enabled,agent_shift_enforcement_override,shift_override_flag,allow_alerts,closer_campaigns,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,agent_call_log_view_override,agent_choose_blended,agent_lead_search_override,preset_contact_search,max_inbound_calls,wrapup_seconds_override,email from vicidial_users where user='$VD_login' and active='Y';"; + $stmt="SELECT full_name,user_level,hotkeys_active,agent_choose_ingroups,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,closer_default_blended,user_group,vicidial_recording_override,alter_custphone_override,alert_enabled,agent_shift_enforcement_override,shift_override_flag,allow_alerts,closer_campaigns,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,agent_call_log_view_override,agent_choose_blended,agent_lead_search_override,preset_contact_search,max_inbound_calls,wrapup_seconds_override,email,user_choose_language from vicidial_users where user='$VD_login' and active='Y';"; $rslt=mysql_to_mysqli($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01007',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysqli_fetch_row($rslt); @@ -1168,13 +1147,14 @@ else $VU_max_inbound_calls = $row[28]; $VU_wrapup_seconds_override = $row[29]; $LOGemail = $row[30]; + $VU_user_choose_language = $row[31]; if ( ($VU_alert_enabled > 0) and ($VU_allow_alerts > 0) ) {$VU_alert_enabled = 'ON';} else {$VU_alert_enabled = 'OFF';} $AgentAlert_allowed = $VU_allow_alerts; ### Gather timeclock and shift enforcement restriction settings - $stmt="SELECT forced_timeclock_login,shift_enforcement,group_shifts,agent_status_viewable_groups,agent_status_view_time,agent_call_log_view,agent_xfer_consultative,agent_xfer_dial_override,agent_xfer_vm_transfer,agent_xfer_blind_transfer,agent_xfer_dial_with_customer,agent_xfer_park_customer_dial,agent_fullscreen,webphone_url_override,webphone_dialpad_override,webphone_systemkey_override from vicidial_user_groups where user_group='$VU_user_group';"; + $stmt="SELECT forced_timeclock_login,shift_enforcement,group_shifts,agent_status_viewable_groups,agent_status_view_time,agent_call_log_view,agent_xfer_consultative,agent_xfer_dial_override,agent_xfer_vm_transfer,agent_xfer_blind_transfer,agent_xfer_dial_with_customer,agent_xfer_park_customer_dial,agent_fullscreen,webphone_url_override,webphone_dialpad_override,webphone_systemkey_override,admin_viewable_groups from vicidial_user_groups where user_group='$VU_user_group';"; $rslt=mysql_to_mysqli($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01052',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysqli_fetch_row($rslt); @@ -1211,13 +1191,61 @@ else {$agent_call_log_view=1;} if ($VU_agent_call_log_view_override == 'N') {$agent_call_log_view=0;} - $agent_fullscreen = $row[12]; - $webphone_url = $row[13]; - $webphone_dialpad_override = $row[14]; - $system_key = $row[15]; + $agent_fullscreen = $row[12]; + $webphone_url = $row[13]; + $webphone_dialpad_override = $row[14]; + $system_key = $row[15]; + $admin_viewable_groups = $row[16]; + + $admin_viewable_groupsALL=0; + $LOGadmin_viewable_groupsSQL=''; + $whereLOGadmin_viewable_groupsSQL=''; + $valLOGadmin_viewable_groupsSQL=''; + $vmLOGadmin_viewable_groupsSQL=''; + if ( (!preg_match('/\-\-ALL\-\-/i',$admin_viewable_groups)) and (strlen($admin_viewable_groups) > 3) ) + { + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$admin_viewable_groups); + $rawLOGadmin_viewable_groupsSQL = preg_replace("/ /","','",$rawLOGadmin_viewable_groupsSQL); + $LOGadmin_viewable_groupsSQL = "and user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $whereLOGadmin_viewable_groupsSQL = "where user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $valLOGadmin_viewable_groupsSQL = "and val.user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + $vmLOGadmin_viewable_groupsSQL = "and vm.user_group IN('---ALL---','$rawLOGadmin_viewable_groupsSQL')"; + } + else + {$admin_viewable_groupsALL=1;} + if ( ($webphone_dialpad_override != 'DISABLED') and (strlen($webphone_dialpad_override) > 0) ) {$webphone_dialpad = $webphone_dialpad_override;} + if ( (strlen($VD_language)>0) and ($VU_user_choose_language == '1') ) + { + $LANGUAGEactive=0; + if ($VD_language == 'default English') + {$LANGUAGEactive=1;} + else + { + $stmt="SELECT count(*) FROM vicidial_languages where language_id='$VD_language' and active='Y' $LOGadmin_viewable_groupsSQL;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01082',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysqli_fetch_row($rslt); + $LANGUAGEactive=$row[0]; + } + + if ($LANGUAGEactive > 0) + { + $stmt="UPDATE vicidial_users SET selected_language='$VD_language' where user='$VD_login';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01083',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $VUlanguage_affected_rows = mysqli_affected_rows($link); + + echo "\n"; + + $VUselected_language=$VD_language; + } + } + ### BEGIN - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR if ( (preg_match('/Y/',$forced_timeclock_login)) or ( (preg_match('/ADMIN_EXEMPT/',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) { @@ -1333,6 +1361,50 @@ else } ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + ### BEGIN find any custom field labels ### + $label_title = _QXZ(' Title'); + $label_first_name = _QXZ('First'); + $label_middle_initial = _QXZ('MI'); + $label_last_name = _QXZ('Last '); + $label_address1 = _QXZ('Address1'); + $label_address2 = _QXZ('Address2'); + $label_address3 = _QXZ('Address3'); + $label_city = _QXZ('City'); + $label_state = _QXZ(' State'); + $label_province = _QXZ('Province'); + $label_postal_code = _QXZ('PostCode'); + $label_vendor_lead_code = _QXZ('Vendor ID'); + $label_gender = _QXZ(' Gender'); + $label_phone_number = _QXZ('Phone'); + $label_phone_code = _QXZ('DialCode'); + $label_alt_phone = _QXZ('Alt. Phone'); + $label_security_phrase = _QXZ('Show'); + $label_email = _QXZ('Email'); + $label_comments = _QXZ(' Comments'); + + $stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;"; + $rslt=mysql_to_mysqli($stmt, $link); + $row=mysqli_fetch_row($rslt); + if (strlen($row[0])>0) {$label_title = $row[0];} + if (strlen($row[1])>0) {$label_first_name = $row[1];} + if (strlen($row[2])>0) {$label_middle_initial = $row[2];} + if (strlen($row[3])>0) {$label_last_name = $row[3];} + if (strlen($row[4])>0) {$label_address1 = $row[4];} + if (strlen($row[5])>0) {$label_address2 = $row[5];} + if (strlen($row[6])>0) {$label_address3 = $row[6];} + if (strlen($row[7])>0) {$label_city = $row[7];} + if (strlen($row[8])>0) {$label_state = $row[8];} + if (strlen($row[9])>0) {$label_province = $row[9];} + if (strlen($row[10])>0) {$label_postal_code = $row[10];} + if (strlen($row[11])>0) {$label_vendor_lead_code = $row[11];} + if (strlen($row[12])>0) {$label_gender = $row[12];} + if (strlen($row[13])>0) {$label_phone_number = $row[13];} + if (strlen($row[14])>0) {$label_phone_code = $row[14];} + if (strlen($row[15])>0) {$label_alt_phone = $row[15];} + if (strlen($row[16])>0) {$label_security_phrase = $row[16];} + if (strlen($row[17])>0) {$label_email = $row[17];} + if (strlen($row[18])>0) {$label_comments = $row[18];} + ### END find any custom field labels ### if ($WeBRooTWritablE > 0) { @@ -1366,9 +1438,9 @@ else echo "\n"; echo "\n"; echo "\n"; - echo "Login: \n
"; - echo "Password:
\n"; - echo "Campaign: $camp_form_code
\n"; + echo _QXZ("Login").": \n
"; + echo _QXZ("Password").":
\n"; + echo _QXZ("Campaign").": $camp_form_code
\n"; echo "   \n"; echo "\n"; echo "\n\n"; @@ -2136,11 +2208,11 @@ else echo " "._QXZ("Campaign Login")." "; echo "\n"; echo "   \n"; - echo ""._QXZ("User Login")." "; + echo ""._QXZ("User Login").": "; echo "\n"; echo ""._QXZ("User Password:")." "; echo "\n"; - echo ""._QXZ("Campaign:")." "; + echo ""._QXZ("Campaign:")." "; echo "$camp_form_code\n"; echo "   \n"; echo "\n"; @@ -2269,7 +2341,7 @@ else if ($DB) {echo "|$stmtx|\n";} if ($non_latin > 0) {$rslt=mysql_to_mysqli("SET NAMES 'UTF8'", $link);} $rslt=mysql_to_mysqli($stmtn, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01XXX',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01084',$VD_login,$server_ip,$session_name,$one_mysql_log);} $rown=mysqli_fetch_row($rslt); if ($rown[0] > 0) { @@ -2299,7 +2371,7 @@ else $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$rowx[0]' and ((extension='') or (extension is null));"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); - if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01XXX',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01085',$VD_login,$server_ip,$session_name,$one_mysql_log);} $rowys=mysqli_fetch_row($rslt); ### find out if this server has a twin @@ -4743,7 +4815,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection) xmlhttprequestcheckconf = new XMLHttpRequest(); } if (xmlhttprequestcheckconf) - { + { checkconf_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&client=vdc&conf_exten=" + taskconfnum + "&auto_dial_level=" + auto_dial_level + "&campagentstdisp=" + campagentstdisp; xmlhttprequestcheckconf.open('POST', 'conf_exten_check.php'); xmlhttprequestcheckconf.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); @@ -15309,7 +15381,7 @@ $zi=2; echo _QXZ(": %1s on Phone: %2s",0,'',$VD_login,$SIP_user); if ($on_hook_agent == 'Y') {echo "("._QXZ("ring").")";} - echo "  to campaign: $VD_campaign  "; + echo "  "._QXZ("to campaign").": $VD_campaign  "; ?>     0) {echo ""._QXZ("TERRITORIES")."     \n";} ?> diff --git a/agc_2-X/trunk/www/agc/vicidial_redirect.php b/agc_2-X/trunk/www/agc/vicidial_redirect.php index 27ec7b99..9612be9b 100644 --- a/agc_2-X/trunk/www/agc/vicidial_redirect.php +++ b/agc_2-X/trunk/www/agc/vicidial_redirect.php @@ -7,8 +7,11 @@ # 71202-1546 - First Build # 90508-0727 - Changed to PHP long tags # 140811-0852 - Changed to use QXZ function for echoing text +# 141216-2131 - Added language settings lookups and user/pass variable standardization # + require_once("functions.php"); +require_once("dbconnect_mysqli.php"); if (isset($_GET["DB"])) {$DB=$_GET["DB"];} elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} @@ -36,6 +39,39 @@ if (!isset($phone_pass)) elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} } +$VD_login=preg_replace("/\'|\"|\\\\|;| /","",$VD_login); + +############################################# +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$VD_login';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$VD_login,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,admin_home_url,admin_web_directory,enable_languages,language_method FROM system_settings;"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$VD_login,$server_ip,$session_name,$one_mysql_log);} +$qm_conf_ct = mysqli_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $non_latin = $row[0]; + $welcomeURL = $row[1]; + $admin_web_directory = $row[2]; + $SSenable_languages = $row[3]; + $SSlanguage_method = $row[4]; + } +##### END SETTINGS LOOKUP ##### +########################################### + $URL = "http://192.168.1.60/agc/vicidial.php?phone_login=$phone_login&phone_pass=$phone_pass&DB=$DB&VD_login=$VD_login&VD_pass=$VD_pass&VD_campaign=$VD_campaign&relogin=$relogin"; echo""._QXZ("Agent Redirect")."\n"; diff --git a/agc_2-X/trunk/www/agc/voicemail_check.php b/agc_2-X/trunk/www/agc/voicemail_check.php index 110f8567..6429a3ab 100644 --- a/agc_2-X/trunk/www/agc/voicemail_check.php +++ b/agc_2-X/trunk/www/agc/voicemail_check.php @@ -28,8 +28,12 @@ # 130802-1038 - Changed to PHP mysqli functions # 140811-0801 - Changed to use QXZ function for echoing text # 141118-1240 - Formatting changes for QXZ output +# 141216-1902 - Added language settings lookups and user/pass variable standardization # +$version = '0.0.12'; +$build = '141216-1902'; + require_once("dbconnect_mysqli.php"); require_once("functions.php"); @@ -47,7 +51,7 @@ if (isset($_GET["format"])) {$format=$_GET["format"];} if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} -$user=preg_replace("/[^0-9a-zA-Z]/","",$user); +$user=preg_replace("/\'|\"|\\\\|;| /","",$user); $pass=preg_replace("/\'|\"|\\\\|;| /","",$pass); $session_name = preg_replace("/\'|\"|\\\\|;/","",$session_name); $server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); @@ -55,13 +59,46 @@ $server_ip = preg_replace("/\'|\"|\\\\|;/","",$server_ip); # default optional vars if not set if (!isset($format)) {$format="text";} -$version = '0.0.7'; -$build = '141118-1240'; $StarTtime = date("U"); $NOW_DATE = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); if (!isset($query_date)) {$query_date = $NOW_DATE;} + +############################################# +##### START SYSTEM_SETTINGS AND USER LANGUAGE LOOKUP ##### +$VUselected_language = ''; +$stmt="SELECT selected_language from vicidial_users where user='$user';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} +$sl_ct = mysqli_num_rows($rslt); +if ($sl_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $VUselected_language = $row[0]; + } + +$stmt = "SELECT use_non_latin,enable_languages,language_method FROM system_settings;"; +$rslt=mysql_to_mysqli($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);} +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysqli_num_rows($rslt); +if ($qm_conf_ct > 0) + { + $row=mysqli_fetch_row($rslt); + $non_latin = $row[0]; + $SSenable_languages = $row[1]; + $SSlanguage_method = $row[2]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $user=preg_replace("/[^-_0-9a-zA-Z]/","",$user); + } + $auth=0; $auth_message = user_authorization($user,$pass,'',0,1,0); if ($auth_message == 'GOOD') diff --git a/agc_2-X/trunk/www/vicidial/admin.php b/agc_2-X/trunk/www/vicidial/admin.php index 5013f680..7eb19e45 100644 --- a/agc_2-X/trunk/www/vicidial/admin.php +++ b/agc_2-X/trunk/www/vicidial/admin.php @@ -1884,6 +1884,12 @@ if (isset($_GET["enable_languages"])) {$enable_languages=$_GET["enable_languag elseif (isset($_POST["enable_languages"])) {$enable_languages=$_POST["enable_languages"];} if (isset($_GET["cpd_unknown_action"])) {$cpd_unknown_action=$_GET["cpd_unknown_action"];} elseif (isset($_POST["cpd_unknown_action"])) {$cpd_unknown_action=$_POST["cpd_unknown_action"];} +if (isset($_GET["selected_language"])) {$selected_language=$_GET["selected_language"];} + elseif (isset($_POST["selected_language"])) {$selected_language=$_POST["selected_language"];} +if (isset($_GET["user_choose_language"])) {$user_choose_language=$_GET["user_choose_language"];} + elseif (isset($_POST["user_choose_language"])) {$user_choose_language=$_POST["user_choose_language"];} +if (isset($_GET["language_method"])) {$language_method=$_GET["language_method"];} + elseif (isset($_POST["language_method"])) {$language_method=$_POST["language_method"];} if (isset($script_id)) {$script_id= strtoupper($script_id);} @@ -1898,7 +1904,7 @@ if (strlen($dial_status) > 0) ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,allow_emails,level_8_disable_add,pass_key,pass_hash_enabled,disable_auto_dial,country_code_list_stats,frozen_server_call_clear,active_modules,enable_languages FROM system_settings;"; +$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,allow_emails,level_8_disable_add,pass_key,pass_hash_enabled,disable_auto_dial,country_code_list_stats,frozen_server_call_clear,active_modules,enable_languages,language_method FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysqli_num_rows($rslt); @@ -1949,6 +1955,7 @@ if ($qm_conf_ct > 0) $SSfrozen_server_call_clear = $row[41]; $SSactive_modules = $row[42]; $SSenable_languages = $row[43]; + $SSlanguage_method = $row[44]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -2223,6 +2230,7 @@ if ($non_latin < 1) $callback_active_limit = preg_replace('/[^0-9]/','',$callback_active_limit); $modify_languages = preg_replace('/[^0-9]/','',$modify_languages); $enable_languages = preg_replace('/[^0-9]/','',$enable_languages); + $user_choose_language = preg_replace('/[^0-9]/','',$user_choose_language); $drop_call_seconds = preg_replace('/[^-0-9]/','',$drop_call_seconds); $timer_alt_seconds = preg_replace('/[^-0-9]/','',$timer_alt_seconds); @@ -2646,6 +2654,7 @@ if ($non_latin < 1) $comments_dispo_screen = preg_replace('/[^-_0-9a-zA-Z]/','',$comments_dispo_screen); $comments_callback_screen = preg_replace('/[^-_0-9a-zA-Z]/','',$comments_callback_screen); $qc_comment_history = preg_replace('/[^-_0-9a-zA-Z]/','',$qc_comment_history); + $language_method = preg_replace('/[^-_0-9a-zA-Z]/','',$language_method); ### ALPHA-NUMERIC and underscore and dash and slash and dot $menu_timeout_prompt = preg_replace('/[^-\/\|\._0-9a-zA-Z]/','',$menu_timeout_prompt); @@ -2703,6 +2712,7 @@ if ($non_latin < 1) $lead_order = preg_replace('/[^ 0-9a-zA-Z]/','',$lead_order); ### ALPHA-NUMERIC and spaces and dashes and underscores $preset_name = preg_replace('/[^- \_0-9a-zA-Z]/','',$preset_name); + $selected_language = preg_replace('/[^- \_0-9a-zA-Z]/','',$selected_language); ### ALPHA-NUMERIC and hash $group_color = preg_replace('/[^\#0-9a-zA-Z]/','',$group_color); @@ -3401,12 +3411,13 @@ else # 141128-0758 - Fixed carrier-related seccurity issue in carrier listings # 141204-0559 - Fixed Contacts alt-db issue, Added user modify_languages user option and enable_languages system option # 141211-1639 - Added cpd_unknown_action campaign option and na_call_url lists option +# 141212-0930 - Added selected_language,user_choose_language user options and language_method system option # # make sure you have added a user to the vicidial_users MySQL table with at least user_level 9 to access this page the first time -$admin_version = '2.10-460a'; -$build = '141211-1639'; +$admin_version = '2.10-461a'; +$build = '141212-0930'; $STARTtime = date("U"); $SQLdate = date("Y-m-d H:i:s"); @@ -3585,7 +3596,7 @@ if ( ($qc_auth > 0) and ($auth < 1) ) $qc_only_user=1; } -$stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,callcard_admin,force_change_password,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,modify_contacts,modify_same_user_level,alter_admin_interface_options,modify_custom_dialplans,modify_languages from vicidial_users where user='$PHP_AUTH_USER';"; +$stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,callcard_admin,force_change_password,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,modify_contacts,modify_same_user_level,alter_admin_interface_options,modify_custom_dialplans,modify_languages,selected_language,user_choose_language from vicidial_users where user='$PHP_AUTH_USER';"; $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $LOGfull_name =$row[3]; @@ -3638,6 +3649,8 @@ $LOGmodify_same_user_level =$row[82]; $LOGalter_admin_interface =$row[83]; $LOGmodify_custom_dialplans =$row[84]; $LOGmodify_languages =$row[85]; +$LOGselected_language =$row[86]; +$LOGuser_choose_language =$row[87]; $stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_groups,admin_viewable_call_times from vicidial_user_groups where user_group='$LOGuser_group';"; $rslt=mysql_to_mysqli($stmt, $link); @@ -7872,7 +7885,7 @@ if ($ADD=="2A") $pass=''; } - $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data,agentcall_email,modify_email_accounts,pass_hash,alter_admin_interface_options,max_inbound_calls,modify_custom_dialplans,wrapup_seconds_override,modify_languages) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data,agentcall_email,modify_email_accounts,\"$pass_hash\",alter_admin_interface_options,max_inbound_calls,modify_custom_dialplans,wrapup_seconds_override,modify_languages from vicidial_users where user=\"$source_user_id\";"; + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data,agentcall_email,modify_email_accounts,pass_hash,alter_admin_interface_options,max_inbound_calls,modify_custom_dialplans,wrapup_seconds_override,modify_languages,selected_language,user_choose_language) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data,agentcall_email,modify_email_accounts,\"$pass_hash\",alter_admin_interface_options,max_inbound_calls,modify_custom_dialplans,wrapup_seconds_override,modify_languages,selected_language,user_choose_language from vicidial_users where user=\"$source_user_id\";"; $rslt=mysql_to_mysqli($stmt, $link); $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today,group_type) SELECT \"$user\",group_id,group_rank,group_weight,\"0\",group_type from vicidial_inbound_group_agents where user=\"$source_user_id\";"; @@ -11142,7 +11155,7 @@ if ($ADD=="4A") echo "
"._QXZ("USER MODIFIED - ADMIN").": $user\n"; - $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log',alter_custphone_override='$alter_custphone_override',vdc_agent_api_access='$vdc_agent_api_access',modify_inbound_dids='$modify_inbound_dids',delete_inbound_dids='$delete_inbound_dids',active='$active',download_lists='$download_lists',agent_shift_enforcement_override='$agent_shift_enforcement_override',manager_shift_enforcement_override='$manager_shift_enforcement_override',export_reports='$export_reports',delete_from_dnc='$delete_from_dnc',email='$email',user_code='$user_code',territory='$territory',allow_alerts='$allow_alerts',agent_choose_territories='$agent_choose_territories',custom_one='$custom_one',custom_two='$custom_two',custom_three='$custom_three',custom_four='$custom_four',custom_five='$custom_five',voicemail_id='$voicemail_id',agent_call_log_view_override='$agent_call_log_view_override',callcard_admin='$callcard_admin',agent_choose_blended='$agent_choose_blended',realtime_block_user_info='$realtime_block_user_info',custom_fields_modify='$custom_fields_modify',force_change_password='$force_change_password',agent_lead_search_override='$agent_lead_search',modify_shifts='$modify_shifts',modify_phones='$modify_phones',modify_carriers='$modify_carriers',modify_labels='$modify_labels',modify_statuses='$modify_statuses',modify_voicemail='$modify_voicemail',modify_audiostore='$modify_audiostore',modify_moh='$modify_moh',modify_tts='$modify_tts',preset_contact_search='$preset_contact_search',modify_contacts='$modify_contacts',modify_same_user_level='$modify_same_user_level',admin_hide_lead_data='$admin_hide_lead_data',admin_hide_phone_data='$admin_hide_phone_data',agentcall_email='$agentcall_email',modify_email_accounts='$modify_email_accounts',failed_login_count=0,alter_admin_interface_options='$alter_admin_interface_options',max_inbound_calls='$max_inbound_calls',modify_custom_dialplans='$modify_custom_dialplans',wrapup_seconds_override='$wrapup_seconds_override',modify_languages='$modify_languages' $pass_hashSQL where user='$user' $LOGadmin_viewable_groupsSQL;"; + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log',alter_custphone_override='$alter_custphone_override',vdc_agent_api_access='$vdc_agent_api_access',modify_inbound_dids='$modify_inbound_dids',delete_inbound_dids='$delete_inbound_dids',active='$active',download_lists='$download_lists',agent_shift_enforcement_override='$agent_shift_enforcement_override',manager_shift_enforcement_override='$manager_shift_enforcement_override',export_reports='$export_reports',delete_from_dnc='$delete_from_dnc',email='$email',user_code='$user_code',territory='$territory',allow_alerts='$allow_alerts',agent_choose_territories='$agent_choose_territories',custom_one='$custom_one',custom_two='$custom_two',custom_three='$custom_three',custom_four='$custom_four',custom_five='$custom_five',voicemail_id='$voicemail_id',agent_call_log_view_override='$agent_call_log_view_override',callcard_admin='$callcard_admin',agent_choose_blended='$agent_choose_blended',realtime_block_user_info='$realtime_block_user_info',custom_fields_modify='$custom_fields_modify',force_change_password='$force_change_password',agent_lead_search_override='$agent_lead_search',modify_shifts='$modify_shifts',modify_phones='$modify_phones',modify_carriers='$modify_carriers',modify_labels='$modify_labels',modify_statuses='$modify_statuses',modify_voicemail='$modify_voicemail',modify_audiostore='$modify_audiostore',modify_moh='$modify_moh',modify_tts='$modify_tts',preset_contact_search='$preset_contact_search',modify_contacts='$modify_contacts',modify_same_user_level='$modify_same_user_level',admin_hide_lead_data='$admin_hide_lead_data',admin_hide_phone_data='$admin_hide_phone_data',agentcall_email='$agentcall_email',modify_email_accounts='$modify_email_accounts',failed_login_count=0,alter_admin_interface_options='$alter_admin_interface_options',max_inbound_calls='$max_inbound_calls',modify_custom_dialplans='$modify_custom_dialplans',wrapup_seconds_override='$wrapup_seconds_override',modify_languages='$modify_languages',selected_language='$selected_language',user_choose_language='$user_choose_language' $pass_hashSQL where user='$user' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_to_mysqli($stmt, $link); ### LOG INSERTION Admin Log Table ### @@ -14802,7 +14815,7 @@ if ($ADD==411111111111111) $custom_dialplanSQL=''; if ($LOGmodify_custom_dialplans > 0) {$custom_dialplanSQL = ",custom_dialplan_entry='$custom_dialplan_entry'";} - $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysqli_real_escape_string($link, $webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db',webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_refresh='$admin_modify_refresh',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled',call_menu_qualify_enabled='$call_menu_qualify_enabled',admin_list_counts='$admin_list_counts',allow_voicemail_greeting='$allow_voicemail_greeting',queuemetrics_socket='$queuemetrics_socket',queuemetrics_socket_url='$queuemetrics_socket_url',enhanced_disconnect_logging='$enhanced_disconnect_logging',allow_emails='$allow_emails',level_8_disable_add='$level_8_disable_add',queuemetrics_record_hold='$queuemetrics_record_hold',country_code_list_stats='$country_code_list_stats',queuemetrics_pause_type='$queuemetrics_pause_type',frozen_server_call_clear='$frozen_server_call_clear',callback_time_24hour='$callback_time_24hour',enable_languages='$enable_languages'$custom_dialplanSQL;"; + $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second',enable_tts_integration='$enable_tts_integration',agentonly_callback_campaign_lock='$agentonly_callback_campaign_lock',sounds_central_control_active='$sounds_central_control_active',sounds_web_server='$sounds_web_server',sounds_web_directory='$sounds_web_directory',active_voicemail_server='$active_voicemail_server',auto_dial_limit='$auto_dial_limit',user_territories_active='$user_territories_active',allow_custom_dialplan='$allow_custom_dialplan',enable_second_webform='$enable_second_webform',default_webphone='$default_webphone',default_external_server_ip='$default_external_server_ip',webphone_url='" . mysqli_real_escape_string($link, $webphone_url) . "',enable_agc_dispo_log='$enable_agc_dispo_log',queuemetrics_loginout='$queuemetrics_loginout',callcard_enabled='$callcard_enabled',queuemetrics_callstatus='$queuemetrics_callstatus',default_codecs='$default_codecs',admin_web_directory='$admin_web_directory',label_title='$label_title',label_first_name='$label_first_name',label_middle_initial='$label_middle_initial',label_last_name='$label_last_name',label_address1='$label_address1',label_address2='$label_address2',label_address3='$label_address3',label_city='$label_city',label_state='$label_state',label_province='$label_province',label_postal_code='$label_postal_code',label_vendor_lead_code='$label_vendor_lead_code',label_gender='$label_gender',label_phone_number='$label_phone_number',label_phone_code='$label_phone_code',label_alt_phone='$label_alt_phone',label_security_phrase='$label_security_phrase',label_email='$label_email',label_comments='$label_comments',custom_fields_enabled='$custom_fields_enabled',slave_db_server='$slave_db_server',reports_use_slave_db='$reports_use_slave_db',webphone_systemkey='$webphone_systemkey',first_login_trigger='$first_login_trigger',default_phone_registration_password='$default_phone_registration_password',default_phone_login_password='$default_phone_login_password',default_server_password='$default_server_password',admin_modify_refresh='$admin_modify_refresh',nocache_admin='$nocache_admin',generate_cross_server_exten='$generate_cross_server_exten',queuemetrics_addmember_enabled='$queuemetrics_addmember_enabled',queuemetrics_dispo_pause='$queuemetrics_dispo_pause',label_hide_field_logs='$label_hide_field_logs',queuemetrics_pe_phone_append='$queuemetrics_pe_phone_append',test_campaign_calls='$test_campaign_calls',agents_calls_reset='$agents_calls_reset',default_voicemail_timezone='$default_voicemail_timezone',default_local_gmt='$default_local_gmt',noanswer_log='$noanswer_log',alt_log_server_ip='$alt_log_server_ip',alt_log_dbname='$alt_log_dbname',alt_log_login='$alt_log_login',alt_log_pass='$alt_log_pass',tables_use_alt_log_db='$tables_use_alt_log_db',did_agent_log='$did_agent_log',campaign_cid_areacodes_enabled='$campaign_cid_areacodes_enabled',pllb_grouping_limit='$pllb_grouping_limit',did_ra_extensions_enabled='$did_ra_extensions_enabled',expanded_list_stats='$expanded_list_stats',contacts_enabled='$contacts_enabled',call_menu_qualify_enabled='$call_menu_qualify_enabled',admin_list_counts='$admin_list_counts',allow_voicemail_greeting='$allow_voicemail_greeting',queuemetrics_socket='$queuemetrics_socket',queuemetrics_socket_url='$queuemetrics_socket_url',enhanced_disconnect_logging='$enhanced_disconnect_logging',allow_emails='$allow_emails',level_8_disable_add='$level_8_disable_add',queuemetrics_record_hold='$queuemetrics_record_hold',country_code_list_stats='$country_code_list_stats',queuemetrics_pause_type='$queuemetrics_pause_type',frozen_server_call_clear='$frozen_server_call_clear',callback_time_24hour='$callback_time_24hour',enable_languages='$enable_languages',language_method='$language_method'$custom_dialplanSQL;"; $rslt=mysql_to_mysqli($stmt, $link); if ($reload_dialplan_on_servers > 0) @@ -17621,7 +17634,7 @@ if ($ADD==3) echo "\n"; } + if ($SSenable_languages > 0) + { + echo "\n"; + echo "\n"; + } + else + { + echo "\n"; + } echo "\n"; echo "\n"; echo "\n"; @@ -29623,7 +29660,7 @@ if ($ADD==311111111111111) $ALLagent_count = $rowx[2]; } - $stmt="SELECT version,install_date,use_non_latin,webroot_writable,enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_url,queuemetrics_log_id,queuemetrics_eq_prepend,vicidial_agent_disable,allow_sipsak_messages,admin_home_url,enable_agc_xfer_log,db_schema_version,auto_user_add_value,timeclock_end_of_day,timeclock_last_reset_date,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,vdc_agent_api_active,qc_last_pull_time,enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url,qc_features_active,outbound_autodial_active,outbound_calls_per_second,enable_tts_integration,agentonly_callback_campaign_lock,sounds_central_control_active,sounds_web_server,sounds_web_directory,active_voicemail_server,auto_dial_limit,user_territories_active,allow_custom_dialplan,db_schema_update_date,enable_second_webform,default_webphone,default_external_server_ip,webphone_url,enable_agc_dispo_log,custom_dialplan_entry,queuemetrics_loginout,callcard_enabled,queuemetrics_callstatus,default_codecs,admin_web_directory,label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,custom_fields_enabled,slave_db_server,reports_use_slave_db,webphone_systemkey,first_login_trigger,default_phone_registration_password,default_phone_login_password,default_server_password,admin_modify_refresh,nocache_admin,generate_cross_server_exten,queuemetrics_addmember_enabled,queuemetrics_dispo_pause,label_hide_field_logs,queuemetrics_pe_phone_append,test_campaign_calls,agents_calls_reset,default_voicemail_timezone,default_local_gmt,noanswer_log,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,did_agent_log,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,queuemetrics_socket,queuemetrics_socket_url,enhanced_disconnect_logging,allow_emails,level_8_disable_add,pass_hash_enabled,pass_key,pass_cost,disable_auto_dial,queuemetrics_record_hold,country_code_list_stats,reload_timestamp,queuemetrics_pause_type,frozen_server_call_clear,callback_time_24hour,enable_languages from system_settings;"; + $stmt="SELECT version,install_date,use_non_latin,webroot_writable,enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_url,queuemetrics_log_id,queuemetrics_eq_prepend,vicidial_agent_disable,allow_sipsak_messages,admin_home_url,enable_agc_xfer_log,db_schema_version,auto_user_add_value,timeclock_end_of_day,timeclock_last_reset_date,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,vdc_agent_api_active,qc_last_pull_time,enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url,qc_features_active,outbound_autodial_active,outbound_calls_per_second,enable_tts_integration,agentonly_callback_campaign_lock,sounds_central_control_active,sounds_web_server,sounds_web_directory,active_voicemail_server,auto_dial_limit,user_territories_active,allow_custom_dialplan,db_schema_update_date,enable_second_webform,default_webphone,default_external_server_ip,webphone_url,enable_agc_dispo_log,custom_dialplan_entry,queuemetrics_loginout,callcard_enabled,queuemetrics_callstatus,default_codecs,admin_web_directory,label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments,custom_fields_enabled,slave_db_server,reports_use_slave_db,webphone_systemkey,first_login_trigger,default_phone_registration_password,default_phone_login_password,default_server_password,admin_modify_refresh,nocache_admin,generate_cross_server_exten,queuemetrics_addmember_enabled,queuemetrics_dispo_pause,label_hide_field_logs,queuemetrics_pe_phone_append,test_campaign_calls,agents_calls_reset,default_voicemail_timezone,default_local_gmt,noanswer_log,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,did_agent_log,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,queuemetrics_socket,queuemetrics_socket_url,enhanced_disconnect_logging,allow_emails,level_8_disable_add,pass_hash_enabled,pass_key,pass_cost,disable_auto_dial,queuemetrics_record_hold,country_code_list_stats,reload_timestamp,queuemetrics_pause_type,frozen_server_call_clear,callback_time_24hour,enable_languages,language_method from system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $version = $row[0]; @@ -29751,6 +29788,7 @@ if ($ADD==311111111111111) $frozen_server_call_clear = $row[122]; $callback_time_24hour = $row[123]; $enable_languages = $row[124]; + $language_method = $row[125]; if ($pass_hash_enabled > 0) {$pass_hash_enabled = 'ENABLED';} else {$pass_hash_enabled = 'DISABLED';} @@ -29776,6 +29814,7 @@ if ($ADD==311111111111111) echo "\n"; echo "\n"; echo "\n"; + echo "\n"; echo "\n"; echo "
\n"; echo ""; - $stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data,agentcall_email,modify_email_accounts,failed_login_count,last_login_date,last_ip,alter_admin_interface_options,max_inbound_calls,modify_custom_dialplans,wrapup_seconds_override,modify_languages from vicidial_users where user='$user' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT user_id,user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,shift_override_flag,export_reports,delete_from_dnc,email,user_code,territory,allow_alerts,agent_choose_territories,custom_one,custom_two,custom_three,custom_four,custom_five,voicemail_id,agent_call_log_view_override,callcard_admin,agent_choose_blended,realtime_block_user_info,custom_fields_modify,force_change_password,agent_lead_search_override,modify_shifts,modify_phones,modify_carriers,modify_labels,modify_statuses,modify_voicemail,modify_audiostore,modify_moh,modify_tts,preset_contact_search,modify_contacts,modify_same_user_level,admin_hide_lead_data,admin_hide_phone_data,agentcall_email,modify_email_accounts,failed_login_count,last_login_date,last_ip,alter_admin_interface_options,max_inbound_calls,modify_custom_dialplans,wrapup_seconds_override,modify_languages,selected_language,user_choose_language from vicidial_users where user='$user' $LOGadmin_viewable_groupsSQL;"; $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $user_id = $row[0]; @@ -17730,6 +17743,8 @@ if ($ADD==3) $modify_custom_dialplans = $row[105]; $wrapup_seconds_override = $row[106]; $modify_languages = $row[107]; + $selected_language = $row[108]; + $user_choose_language = $row[109]; if ( ( ($user_level >= $LOGuser_level) and ($LOGuser_level < 9) ) or ( ($LOGmodify_same_user_level < 1) and ($LOGuser_level > 8) and ($user_level > 8) ) ) { @@ -17851,6 +17866,28 @@ if ($ADD==3) { echo "
"._QXZ("Closer Default Blended").": $NWB#users-closer_default_blended$NWE
"._QXZ("User Choose Language").": $NWB#users-user_choose_language$NWE
"._QXZ("Selected Language").": $NWB#users-selected_language$NWE
"._QXZ("Agent Recording Override").": $NWB#users-agent_recording_override$NWE
"._QXZ("Agent Alter Customer Data Override").": $NWB#users-alter_custdata_override$NWE
"._QXZ("Agent Alter Customer Phone Override").": $NWB#users-alter_custphone_override$NWE
"._QXZ("Today System Stats").": $ALLtotal_calls - $ALLmax_inbound - $ALLmax_outbound - $ALLchannels_count - $ALLcalls_count - $ALLagent_count
"._QXZ("Use Non-Latin").": $NWB#settings-use_non_latin$NWE
"._QXZ("Enable Languages").": $NWB#settings-enable_languages$NWE
"._QXZ("Language Method").": $NWB#settings-language_method$NWE
"._QXZ("Webroot Writable").": $NWB#settings-webroot_writable$NWE
"._QXZ("Agent Disable Display").":
\n"; echo ""; - $stmt="SELECT language_id,language_description,language_code,user_group,modify_date from vicidial_languages where language_id='$language_id' $LOGadmin_viewable_groupsSQL;"; + $stmt="SELECT language_id,language_description,language_code,user_group,modify_date,active from vicidial_languages where language_id='$language_id' $LOGadmin_viewable_groupsSQL;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); @@ -1298,10 +1310,12 @@ if ($ADD==363111111111) $language_code = $row[2]; $user_group = $row[3]; $modify_date = $row[4]; + $active = $row[5]; echo "
"._QXZ("MODIFY A LANGUAGE RECORD").": $language_id
\n"; echo "\n"; echo "\n"; + echo "\n"; echo "\n"; echo "
\n"; @@ -1313,6 +1327,10 @@ if ($ADD==363111111111) echo "$UUgroups_list"; echo "\n"; echo "$NWB#languages-user_group$NWE\n"; + echo "\n"; $stmt="SELECT count(*) from vicidial_language_phrases where language_id='$language_id';"; if ($DB) {echo "$stmt\n";} @@ -1339,9 +1357,6 @@ if ($ADD==363111111111) echo "\n"; - - - echo "\n"; echo "\n"; diff --git a/agc_2-X/trunk/www/vicidial/help.php b/agc_2-X/trunk/www/vicidial/help.php index 92f7bf7b..fa471d1a 100644 --- a/agc_2-X/trunk/www/vicidial/help.php +++ b/agc_2-X/trunk/www/vicidial/help.php @@ -30,6 +30,7 @@ # 141204-0605 - Added enable_languages # 141204-2209 - Added QXZ function output # 141211-1647 - Added cpd_unknown_action and lists-na_call_url +# 141212-0945 - Added user_choose_language, selected_language and language_method # require("dbconnect_mysqli.php"); @@ -37,7 +38,7 @@ require("functions.php"); ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### -$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,allow_emails,level_8_disable_add,pass_key,pass_hash_enabled,disable_auto_dial,country_code_list_stats,enable_languages FROM system_settings;"; +$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active,sounds_central_control_active,enable_second_webform,user_territories_active,custom_fields_enabled,admin_web_directory,webphone_url,first_login_trigger,hosted_settings,default_phone_registration_password,default_phone_login_password,default_server_password,test_campaign_calls,active_voicemail_server,voicemail_timezones,default_voicemail_timezone,default_local_gmt,campaign_cid_areacodes_enabled,pllb_grouping_limit,did_ra_extensions_enabled,expanded_list_stats,contacts_enabled,alt_log_server_ip,alt_log_dbname,alt_log_login,alt_log_pass,tables_use_alt_log_db,call_menu_qualify_enabled,admin_list_counts,allow_voicemail_greeting,svn_revision,allow_emails,level_8_disable_add,pass_key,pass_hash_enabled,disable_auto_dial,country_code_list_stats,enable_languages,language_method FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); if ($DB) {echo "$stmt\n";} $qm_conf_ct = mysqli_num_rows($rslt); @@ -86,6 +87,7 @@ if ($qm_conf_ct > 0) $SSdisable_auto_dial = $row[39]; $SScountry_code_list_stats = $row[40]; $SSenable_languages = $row[41]; + $SSlanguage_method = $row[42]; } ##### END SETTINGS LOOKUP ##### ########################################### @@ -298,6 +300,16 @@ if ($SSoutbound_autodial_active > 0) } ?> +
+ +
+ - + +
+
+
+ - +

@@ -2946,7 +2958,7 @@ if ($SSqc_features_active > 0) CAMPAIGN_LISTS


- +"; ?> @@ -2957,7 +2969,7 @@ if ($SSqc_features_active > 0) CAMPAIGN_STATUSES TABLE


-"; @@ -4349,6 +4361,11 @@ if ($SSoutbound_autodial_active > 0)
- +
+
+
+ - +

"._QXZ("Active").": $NWB#languages-active$NWE
"._QXZ("Add A New Language Phrase").": $NWB#languages-english_text$NWE