LICENSE: AGPLv2 # # this screen manages the optional language tables in ViciDial # # changes: # 141203-2126 - First Build # 141205-0641 - Added option to allow for more matches in the help.php file # 141212-0923 - Added active setting # 141227-1041 - Added flags next to country code and active column on list # 141229-1531 - Added code for on-the-fly language translations display # 160330-1553 - navigation changes and fixes # 160404-0935 - design changes # 160429-1124 - Added admin_row_click option # 160508-0210 - Added screen colors feature # 161120-0919 - Added CHAT option # 170409-1547 - Added IP List validation code # 180502-2215 - Added new help display # 200828-1628 - Fix for early permissions message, Issue #1227 # 220222-0949 - Added allow_web_debug system setting # $admin_version = '2.14-13'; $build = '220222-0949'; require("dbconnect_mysqli.php"); require("functions.php"); if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} if (isset($_GET["DB"])) {$DB=$_GET["DB"];} elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} if (isset($_GET["stage"])) {$stage=$_GET["stage"];} elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} if (isset($_GET["action"])) {$action=$_GET["action"];} elseif (isset($_POST["action"])) {$action=$_POST["action"];} if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} if (isset($_GET["user"])) {$user=$_GET["user"];} elseif (isset($_POST["user"])) {$user=$_POST["user"];} if (isset($_GET["pass"])) {$pass=$_GET["pass"];} elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} if (isset($_GET["language_id"])) {$language_id=$_GET["language_id"];} elseif (isset($_POST["language_id"])) {$language_id=$_POST["language_id"];} if (isset($_GET["language_code"])) {$language_code=$_GET["language_code"];} elseif (isset($_POST["language_code"])) {$language_code=$_POST["language_code"];} if (isset($_GET["language_description"])) {$language_description=$_GET["language_description"];} elseif (isset($_POST["language_description"])) {$language_description=$_POST["language_description"];} if (isset($_GET["source_language_id"])) {$source_language_id=$_GET["source_language_id"];} elseif (isset($_POST["source_language_id"])) {$source_language_id=$_POST["source_language_id"];} if (isset($_GET["english_text"])) {$english_text=$_GET["english_text"];} elseif (isset($_POST["english_text"])) {$english_text=$_POST["english_text"];} if (isset($_GET["translated_text"])) {$translated_text=$_GET["translated_text"];} elseif (isset($_POST["translated_text"])) {$translated_text=$_POST["translated_text"];} if (isset($_GET["phrase_id"])) {$phrase_id=$_GET["phrase_id"];} elseif (isset($_POST["phrase_id"])) {$phrase_id=$_POST["phrase_id"];} if (isset($_GET["import_data"])) {$import_data=$_GET["import_data"];} elseif (isset($_POST["import_data"])) {$import_data=$_POST["import_data"];} if (isset($_GET["active"])) {$active=$_GET["active"];} elseif (isset($_POST["active"])) {$active=$_POST["active"];} if (isset($_GET["copy_option"])) {$copy_option=$_GET["copy_option"];} elseif (isset($_POST["copy_option"])) {$copy_option=$_POST["copy_option"];} if (isset($_GET["ConFiRm"])) {$ConFiRm=$_GET["ConFiRm"];} elseif (isset($_POST["ConFiRm"])) {$ConFiRm=$_POST["ConFiRm"];} if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} if ($ADD=='AJAXtranslateSUBMIT') { $PHP_AUTH_USER=$user; $PHP_AUTH_PW=$pass; } else { $PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; $PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; } $PHP_SELF=$_SERVER['PHP_SELF']; $PHP_SELF = preg_replace('/\.php.*/i','.php',$PHP_SELF); $DB=preg_replace("/[^0-9a-zA-Z]/","",$DB); ############################################# ##### START SYSTEM_SETTINGS LOOKUP ##### $stmt = "SELECT use_non_latin,auto_dial_limit,user_territories_active,allow_custom_dialplan,callcard_enabled,admin_modify_refresh,nocache_admin,webroot_writable,allow_emails,active_modules,sounds_central_control_active,qc_features_active,contacts_enabled,enable_languages,language_method,admin_web_directory,admin_screen_colors,enable_auto_reports,campaign_cid_areacodes_enabled,allow_web_debug FROM system_settings;"; $rslt=mysql_to_mysqli($stmt, $link); #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]; $SSauto_dial_limit = $row[1]; $SSuser_territories_active = $row[2]; $SSallow_custom_dialplan = $row[3]; $SScallcard_enabled = $row[4]; $SSadmin_modify_refresh = $row[5]; $SSnocache_admin = $row[6]; $SSwebroot_writable = $row[7]; $SSemail_enabled = $row[8]; $SSactive_modules = $row[9]; $sounds_central_control_active =$row[10]; $SSqc_features_active = $row[11]; $SScontacts_enabled = $row[12]; $SSenable_languages = $row[13]; $SSlanguage_method = $row[14]; $SSadmin_web_directory = $row[15]; $SSadmin_screen_colors = $row[16]; $SSenable_auto_reports = $row[17]; $SScampaign_cid_areacodes_enabled = $row[18]; $SSallow_web_debug = $row[19]; } if ($SSallow_web_debug < 1) {$DB=0;} ##### END SETTINGS LOOKUP ##### ########################################### if (strlen($DB) < 1) {$DB=0;} $modify_refresh_set=0; $import_with_missing_periods=1; $gif='.gif'; $DB = preg_replace('/[^0-9]/','',$DB); $rank = preg_replace('/[^0-9]/','',$rank); $level = preg_replace('/[^0-9]/','',$level); $parent_rank = preg_replace('/[^0-9]/','',$parent_rank); $phrase_id = preg_replace('/[^0-9]/','',$phrase_id); $active = preg_replace('/[^NY]/','',$active); $ConFiRm = preg_replace('/[^0-9a-zA-Z]/','',$ConFiRm); $copy_option = preg_replace('/[^_0-9a-zA-Z]/','',$copy_option); $stage = preg_replace('/[^-_0-9a-zA-Z]/', '',$stage); $import_data = preg_replace("/\\\\|;|\r/","",$import_data); $english_text = preg_replace("/\\\\|;|\n|\r/","",$english_text); $translated_text = preg_replace("/\\\\|;|\n|\r/","",$translated_text); $ADD = preg_replace('/[^-_0-9a-zA-Z]/', '',$ADD); $action = preg_replace('/[^-_0-9a-zA-Z]/', '',$action); $session_name = preg_replace('/[^-_0-9a-zA-Z]/', '',$session_name); $SUBMIT = preg_replace('/[^-_0-9a-zA-Z]/', '',$SUBMIT); if ($non_latin < 1) { $PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/','',$PHP_AUTH_USER); $PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/','',$PHP_AUTH_PW); $user = preg_replace('/[^-_0-9a-zA-Z]/','',$user); $pass = preg_replace('/[^-_0-9a-zA-Z]/','',$pass); $language_id = preg_replace('/[^-_0-9a-zA-Z]/','',$language_id); $source_language_id = preg_replace('/[^-_0-9a-zA-Z]/','',$source_language_id); $language_code = preg_replace('/[^-_0-9a-zA-Z]/','',$language_code); $language_description = preg_replace('/[^- _0-9a-zA-Z]/','',$language_description); $user_group = preg_replace('/[^-_0-9a-zA-Z]/', '',$user_group); } # end of non_latin else { $PHP_AUTH_USER = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_USER); $PHP_AUTH_PW = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_PW); $user = preg_replace('/[^-_0-9\p{L}]/u','',$user); $pass = preg_replace('/[^-_0-9\p{L}]/u','',$pass); $language_id = preg_replace('/[^-_0-9\p{L}]/u','',$language_id); $source_language_id = preg_replace('/[^-_0-9\p{L}]/u','',$source_language_id); $language_code = preg_replace('/[^-_0-9\p{L}]/u','',$language_code); $language_description = preg_replace('/[^- _0-9\p{L}]/u','',$language_description); $user_group = preg_replace('/[^-_0-9\p{L}]/u', '',$user_group); } $STARTtime = date("U"); $TODAY = date("Y-m-d"); $NOW_TIME = date("Y-m-d H:i:s"); $FILE_TIME = date("Ymd-His"); $date = date("r"); $ip = getenv("REMOTE_ADDR"); $browser = getenv("HTTP_USER_AGENT"); if (strlen($user)<2) {$user = $PHP_AUTH_USER;} $US='_'; $DS='-----'; if (file_exists('options.php')) {require('options.php');} $stmt="SELECT selected_language from vicidial_users where user='$PHP_AUTH_USER';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); $sl_ct = mysqli_num_rows($rslt); if ($sl_ct > 0) { $row=mysqli_fetch_row($rslt); $VUselected_language = $row[0]; } $auth=0; $auth_message = user_authorization($PHP_AUTH_USER,$PHP_AUTH_PW,'',1,0); if ( ($auth_message == 'GOOD') or ($auth_message == '2FA') ) { $auth=1; if ($auth_message == '2FA') { header ("Content-type: text/html; charset=utf-8"); echo _QXZ("Your session is expired").". "._QXZ("Click here to log in").".\n"; exit; } } if ($auth < 1) { $VDdisplayMESSAGE = _QXZ("Login incorrect, please try again"); if ($auth_message == 'LOCK') { $VDdisplayMESSAGE = _QXZ("Too many login attempts, try again in 15 minutes"); Header ("Content-type: text/html; charset=utf-8"); echo "$VDdisplayMESSAGE: |$PHP_AUTH_USER|$auth_message|\n"; exit; } if ($auth_message == 'IPBLOCK') { $VDdisplayMESSAGE = _QXZ("Your IP Address is not allowed") . ": $ip"; Header ("Content-type: text/html; charset=utf-8"); echo "$VDdisplayMESSAGE: |$PHP_AUTH_USER|$auth_message|\n"; exit; } Header("WWW-Authenticate: Basic realm=\"CONTACT-CENTER-ADMIN\""); Header("HTTP/1.0 401 Unauthorized"); echo "$VDdisplayMESSAGE: |$PHP_AUTH_USER|$PHP_AUTH_PW|$auth_message|\n"; exit; } $stmt="SELECT full_name,modify_scripts,user_level,user_group,qc_enabled,modify_languages from vicidial_users where user='$PHP_AUTH_USER';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $LOGfullname = $row[0]; $LOGmodify_scripts = $row[1]; $LOGuser_level = $row[2]; $LOGuser_group = $row[3]; $qc_auth = $row[4]; $modify_languages = $row[5]; $stmt="SELECT allowed_campaigns,allowed_reports,admin_viewable_groups,admin_viewable_call_times from vicidial_user_groups where user_group='$LOGuser_group';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $LOGallowed_campaigns = $row[0]; $LOGallowed_reports = $row[1]; $LOGadmin_viewable_groups = $row[2]; $LOGadmin_viewable_call_times = $row[3]; $SSmenu_background='015B91'; $SSframe_background='D9E6FE'; $SSstd_row1_background='9BB9FB'; $SSstd_row2_background='B9CBFD'; $SSstd_row3_background='8EBCFD'; $SSstd_row4_background='B6D3FC'; $SSstd_row5_background='A3C3D6'; $SSalt_row1_background='BDFFBD'; $SSalt_row2_background='99FF99'; $SSalt_row3_background='CCFFCC'; if ($SSadmin_screen_colors != 'default') { $stmt = "SELECT menu_background,frame_background,std_row1_background,std_row2_background,std_row3_background,std_row4_background,std_row5_background,alt_row1_background,alt_row2_background,alt_row3_background FROM vicidial_screen_colors where colors_id='$SSadmin_screen_colors';"; $rslt=mysql_to_mysqli($stmt, $link); if ($DB) {echo "$stmt\n";} $colors_ct = mysqli_num_rows($rslt); if ($colors_ct > 0) { $row=mysqli_fetch_row($rslt); $SSmenu_background = $row[0]; $SSframe_background = $row[1]; $SSstd_row1_background = $row[2]; $SSstd_row2_background = $row[3]; $SSstd_row3_background = $row[4]; $SSstd_row4_background = $row[5]; $SSstd_row5_background = $row[6]; $SSalt_row1_background = $row[7]; $SSalt_row2_background = $row[8]; $SSalt_row3_background = $row[9]; } } $Mhead_color = $SSstd_row5_background; $Mmain_bgcolor = $SSmenu_background; $Mhead_color = $SSstd_row5_background; ################################################################################ ##### BEGIN update translation from AJAX request processing ##### if ($ADD=='AJAXtranslateSUBMIT') { if ( (strlen($session_name)<2) or (strlen($stage)<3) ) { echo _QXZ("ERROR: incomplete input")."\n"; } else { $phrase_ary = explode('-----',$stage); $language_id = $phrase_ary[1]; $phrase_id = $phrase_ary[2]; $translated_text = addslashes($translated_text); $stmt="SELECT count(*) from vicidial_languages where language_id='$language_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); if ($row[0] < 1) {echo _QXZ("LANGUAGE ENTRY DOES NOT EXIST").": $language_id";} else { $stmt="SELECT count(*) from vicidial_language_phrases where language_id='$language_id' and phrase_id='$phrase_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); if ($row[0] < 1) {echo _QXZ("LANGUAGE PHRASE ENTRY DOES NOT EXIST").": $language_id $phrase_id";} else { $stmt="UPDATE vicidial_language_phrases set translated_text='$translated_text',source='$user' where language_id='$language_id' and phrase_id='$phrase_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $stmtA="UPDATE vicidial_languages SET modify_date=NOW() where language_id='$language_id';"; if ($DB) {echo "$stmtA\n";} $rslt=mysql_to_mysqli($stmtA, $link); echo _QXZ("LANGUAGE PHRASE ENTRY MODIFIED").": $language_id $phrase_id\n"; ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|$stmtA|"; $SQL_log = preg_replace('/;/', '', $SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='LANGUAGES', event_type='MODIFY', record_id='$language_id', event_code='ADMIN MODIFY LANGUAGE PHRASE', event_sql=\"$SQL_log\", event_notes='';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); } } } exit; } ##### END update translation from AJAX request ##### ################################################################################ ###################### # ADD=263411111111 export language phrases ###################### if ($ADD==263411111111) { if ($modify_languages==1) { if ($stage == 'ONLY_UNTRANSLATED') { $TXTfilename = "LANGUAGE_UNTRANSLATED_$language_id$US$FILE_TIME.txt"; $stmt="SELECT english_text,translated_text from vicidial_language_phrases where language_id='$language_id' and ( (translated_text='') or (translated_text is NULL) );"; } elseif ($stage == 'ONLY_TRANSLATED') { $TXTfilename = "LANGUAGE_TRANSLATED_$language_id$US$FILE_TIME.txt"; $stmt="SELECT english_text,translated_text from vicidial_language_phrases where language_id='$language_id' and ( (translated_text!='') and (translated_text is not NULL) );"; } else { $TXTfilename = "LANGUAGE_ALL_$language_id$US$FILE_TIME.txt"; $stmt="SELECT english_text,translated_text from vicidial_language_phrases where language_id='$language_id';"; } // We'll be outputting a TXT file header('Content-type: application/octet-stream'); // It will be called LANGUAGE_101_20141203-121212.txt header("Content-Disposition: attachment; filename=\"$TXTfilename\""); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); ob_clean(); flush(); $rslt=mysql_to_mysqli($stmt, $link); $phrases_to_print = mysqli_num_rows($rslt); $o=0; while ($phrases_to_print > $o) { $row=mysqli_fetch_row($rslt); $english_text = $row[0]; $translated_text = $row[1]; if ($stage == 'ONLY_UNTRANSLATED') {echo "$english_text\n";} else {echo "$english_text|$translated_text||\n";} $o++; } ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|$stmtA|"; $SQL_log = preg_replace('/;/', '', $SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='LANGUAGES', event_type='EXPORT', record_id='$language_id', event_code='ADMIN EXPORT LANGUAGE PHRASES', event_sql=\"$SQL_log\", event_notes='$TXTfilename|$stage|$o records';"; $rslt=mysql_to_mysqli($stmt, $link); } exit; } ##### END ADD=263411111111 export language phrases ##### ################################################################################ ?> 1) and (preg_match("/^3/",$ADD)) ) { $modify_refresh_set=1; if (preg_match("/^3/",$ADD)) {$modify_url = "$PHP_SELF?$QUERY_STRING";} echo "\n"; } ?> <?php echo _QXZ("ADMINISTRATION: Languages"); ?> <?php ################################################################################ ##### BEGIN help section if ($action == "HELP") { ?>


-

-

-

-

-

-

-

-

-

-
\n"; ?> \n"; echo "\n"; echo "
\n"; echo "
\n"; if ( ($SSadmin_modify_refresh > 1) and ($modify_refresh_set < 1) ) { $modify_url = "$PHP_SELF?ADD=363211111111&language_id=$language_id"; $modify_footer_refresh=1; } $displaySQL=''; if ($action=='NOTTRANSLATED') { $displaySQL="and ( (translated_text='') or (translated_text is NULL) )"; echo _QXZ("ONLY NOT TRANSLATED PHRASES")."
\n"; } elseif ($action=='TRANSLATED') { $displaySQL="and ( (translated_text!='') or (translated_text is not NULL) )"; echo _QXZ("ONLY TRANSLATED PHRASES")."
\n"; } else { echo _QXZ("ALL PHRASES")."
\n"; } echo "\n"; $stmt="SELECT count(*) 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); $language_exists = $row[0]; if ($language_exists > 0) { $stmt="SELECT phrase_id,english_text,translated_text,source,modify_date from vicidial_language_phrases where language_id='$language_id' $displaySQL $LOGadmin_viewable_groupsSQL;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $phrases_to_print = mysqli_num_rows($rslt); $o=0; while ($phrases_to_print > $o) { $o++; $row=mysqli_fetch_row($rslt); $phrase_id = $row[0]; $english_text = $row[1]; $translated_text = $row[2]; $source = $row[3]; $modify_date = $row[4]; $ttbgcolor='#'.$SSstd_row4_background; if (strlen($translated_text) < 1) {$ttbgcolor='#FFFF99';} echo ""; echo ""; echo ""; echo ""; echo ""; echo "\n"; echo "\n"; echo "\n"; } echo "
$o"._QXZ("ID").": $phrase_id"._QXZ("user").": $source"._QXZ("last modified").": $modify_date"._QXZ("delete phrase")."
$english_text
$translated_text"; echo "   "; echo ""._QXZ("edit")."
\n"; } } else { echo _QXZ("You do not have permission to view this page")."\n"; } echo "\n"; echo "\n"; exit; } ##### BEGIN Set variables to make header show properly ##### #$ADD = '100'; $hh = 'admin'; $sh = 'languages'; $LOGast_admin_access = '1'; $SSoutbound_autodial_active = '1'; $ADMIN = 'admin.php'; $page_width='770'; $section_width='750'; $header_font_size='3'; $subheader_font_size='2'; $subcamp_font_size='2'; $header_selected_bold=''; $header_nonselected_bold=''; $admin_color = '#E6E6E6'; $languages_color = '#C6C6C6'; $languages_font = 'BLACK'; $subcamp_color = '#C6C6C6'; ##### END Set variables to make header show properly ##### if ( (!isset($ADD)) or (strlen($ADD)<1) ) {$ADD="163000000000";} if ($ADD==163111111111) {$hh='admin'; $sh='languages'; echo _QXZ("ADD LANGUAGE ENTRY");} if ($ADD==163211111111) {$hh='admin'; $sh='languages'; echo _QXZ("COPY LANGUAGE ENTRY");} if ($ADD==163311111111) {$hh='admin'; $sh='languages'; echo _QXZ("IMPORT LANGUAGE PHRASES");} if ($ADD==163411111111) {$hh='admin'; $sh='languages'; echo _QXZ("EXPORT LANGUAGE PHRASES");} if ($ADD==263111111111) {$hh='admin'; $sh='languages'; echo _QXZ("ADDING NEW LANGUAGE ENTRY");} if ($ADD==263211111111) {$hh='admin'; $sh='languages'; echo _QXZ("COPYING NEW LANGUAGE ENTRY");} if ($ADD==263311111111) {$hh='admin'; $sh='languages'; echo _QXZ("IMPORT LANGUAGE PHRASES");} if ($ADD==363111111111) {$hh='admin'; $sh='languages'; echo _QXZ("MODIFY LANGUAGE ENTRY");} if ($ADD==363211111111) {$hh='admin'; $sh='languages'; echo _QXZ("MODIFY LANGUAGE PHRASE ENTRY");} if ($ADD==463111111111) {$hh='admin'; $sh='languages'; echo _QXZ("MODIFY LANGUAGE ENTRY");} if ($ADD==563111111111) {$hh='admin'; $sh='languages'; echo _QXZ("DELETE LANGUAGE ENTRY");} if ($ADD==663111111111) {$hh='admin'; $sh='languages'; echo _QXZ("DELETE LANGUAGE ENTRY");} if ($ADD==163000000000) {$hh='admin'; $sh='languages'; echo _QXZ("LANGUAGE LIST");} if ($ADD==763000000000) {$hh='admin'; $sh='languages'; echo _QXZ("ADMIN LOG");} # $NWB = "   \"HELP\""; $NWB = "\"HELP\""; ##### user group permissions $admin_viewable_groupsALL=0; $LOGadmin_viewable_groupsSQL=''; $whereLOGadmin_viewable_groupsSQL=''; $valLOGadmin_viewable_groupsSQL=''; $vmLOGadmin_viewable_groupsSQL=''; if ( (!preg_match('/\-\-ALL\-\-/i',$LOGadmin_viewable_groups)) and (strlen($LOGadmin_viewable_groups) > 3) ) { $rawLOGadmin_viewable_groupsSQL = preg_replace("/ -/",'',$LOGadmin_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;} $regexLOGadmin_viewable_groups = " $LOGadmin_viewable_groups "; $UUgroups_list=''; if ($admin_viewable_groupsALL > 0) {$UUgroups_list .= "\n";} $stmt="SELECT user_group,group_name from vicidial_user_groups $whereLOGadmin_viewable_groupsSQL order by user_group;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $UUgroups_to_print = mysqli_num_rows($rslt); $o=0; while ($UUgroups_to_print > $o) { $rowx=mysqli_fetch_row($rslt); $UUgroups_list .= "\n"; $o++; } require("admin_header.php"); if ( ($modify_languages < 1) or ($LOGuser_level < 8) ) { echo _QXZ("You are not authorized to view this section")."\n"; exit; } ###################### # ADD=163111111111 display the ADD NEW LANGUAGE ENTRY SCREEN ###################### if ($ADD==163111111111) { if ($modify_languages==1) { $stmt="SELECT count(*) from www_phrases;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $gathered_phrases_TOTAL = $row[0]; $stmt="SELECT count(*) from www_phrases where php_directory LIKE \"%agc%\";"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $gathered_phrases_AGC = $row[0]; $stmt="SELECT count(*) from www_phrases where php_directory LIKE \"%chat_customer%\";"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $gathered_phrases_CHAT = $row[0]; $gathered_phrases_ADMIN = ( ($gathered_phrases_TOTAL - $gathered_phrases_AGC) - $gathered_phrases_CHAT); echo "
\n"; echo ""; echo "
"._QXZ("ADD NEW LANGUAGE ENTRY")."\n"; echo "\n"; echo "\n"; echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; if ($gathered_phrases_TOTAL > 0) { echo "\n"; } else { echo "\n"; } echo "\n"; echo "
"._QXZ("Language ID").": $NWB#languages-language_id$NWE
"._QXZ("Language Description").": $NWB#languages-language_description$NWE
"._QXZ("Language Code").": $NWB#languages-language_code$NWE
"._QXZ("Admin User Group").": $NWB#languages-user_group$NWE
"._QXZ("Populate Language").": $NWB#languages-populate$NWE
\n"; } else { echo _QXZ("You do not have permission to view this page")."\n"; exit; } } ###################### # ADD=163211111111 display the COPY NEW LANGUAGE ENTRY SCREEN ###################### if ($ADD==163211111111) { if ($modify_languages==1) { echo "
\n"; echo ""; echo "
"._QXZ("COPY A LANGUAGE ENTRY")."\n"; echo "\n"; echo "\n"; echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "
"._QXZ("Language ID").": $NWB#languages-language_id$NWE
"._QXZ("Source Language ID").": $NWB#languages-language_id$NWE
\n"; } else { echo _QXZ("You do not have permission to view this page")."\n"; exit; } } ###################### # ADD=163311111111 display the IMPORT LANGUAGE PHRASES SCREEN ###################### if ($ADD==163311111111) { if ($modify_languages==1) { echo "
\n"; echo ""; echo "
"._QXZ("IMPORT LANGUAGE PHRASES")."\n"; echo "\n"; echo "\n"; echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
"._QXZ("Language ID").": $NWB#languages-language_id$NWE
"._QXZ("Import Action").": $NWB#languages-import_action$NWE
"._QXZ("Import Data").":
$NWB#languages-import_data$NWE
\n"; } else { echo _QXZ("You do not have permission to view this page")."\n"; exit; } } ###################### # ADD=163411111111 display the EXPORT LANGUAGE PHRASES SCREEN ###################### if ($ADD==163411111111) { if ($modify_languages==1) { echo "
\n"; echo ""; echo "
"._QXZ("EXPORT LANGUAGE PHRASES")."\n"; echo "\n"; echo "\n"; echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "
"._QXZ("Language ID").": $NWB#languages-language_id$NWE
"._QXZ("Export Action").": $NWB#languages-export_action$NWE
\n"; } else { echo _QXZ("You do not have permission to view this page")."\n"; exit; } } ###################### # ADD=263111111111 adds new language entry to the system ###################### if ($ADD==263111111111) { if ($add_copy_disabled > 0) { echo "
"._QXZ("You do not have permission to add records on this system")." -system_settings-\n"; } else { echo ""; $stmt="SELECT count(*) from vicidial_languages where language_id='$language_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); if ($row[0] > 0) {echo "
"._QXZ("LANGUAGE ENTRY NOT ADDED - there is already a language entry in the system with this ID")."\n";} else { if ( (strlen($language_id) < 2) or (strlen($language_description) < 3) ) {echo "
"._QXZ("LANGUAGE ENTRY NOT ADDED - Please go back and look at the data you entered")."\n";} else { echo "
"._QXZ("LANGUAGE ENTRY ADDED")."\n"; $stmt="INSERT INTO vicidial_languages SET language_id='$language_id',language_description='$language_description',language_code='$language_code',user_group='$user_group';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $affected_rows = mysqli_affected_rows($link); if (preg_match("/ALL|AGENT|CHAT|ADMIN/",$stage)) { $www_phraseSQL=''; if ($stage == 'AGENT') {$www_phraseSQL='where php_directory LIKE "%agc%"';} if ($stage == 'CHAT') {$www_phraseSQL='where php_directory LIKE "%chat_customer%"';} if ($stage == 'ADMIN') {$www_phraseSQL='where ( (php_directory NOT LIKE "%agc%") and (php_directory NOT LIKE "%chat_customer%") )';} $stmtA="INSERT INTO vicidial_language_phrases (language_id,english_text) SELECT '$language_id',phrase_text from www_phrases $www_phraseSQL;"; if ($DB) {echo "$stmtA\n";} $rslt=mysql_to_mysqli($stmtA, $link); $affected_rowsA = mysqli_affected_rows($link); echo "
"._QXZ("POPULATED WITH GATHERED PHRASES").": $affected_rowsA\n"; } ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|$stmtA|"; $SQL_log = preg_replace('/;/', '', $SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='LANGUAGES', event_type='ADD', record_id='$language_id', event_code='ADMIN ADD LANGUAGE', event_sql=\"$SQL_log\", event_notes='$affected_rows|$affected_rowsA';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); } } } $ADD=363111111111; } ###################### # ADD=263211111111 adds copied language entry to the system ###################### if ($ADD==263211111111) { if ($add_copy_disabled > 0) { echo "
"._QXZ("You do not have permission to add records on this system")." -system_settings-\n"; } else { echo ""; $stmt="SELECT count(*) from vicidial_languages where language_id='$language_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); if ($row[0] > 0) {echo "
"._QXZ("LANGUAGE ENTRY NOT ADDED - there is already a language entry in the system with this ID")."\n";} else { if ( (strlen($language_id) < 2) or (strlen($language_description) < 3) or (strlen($source_language_id) < 2) ) {echo "
"._QXZ("LANGUAGE ENTRY NOT ADDED - Please go back and look at the data you entered")."\n";} else { $stmt="SELECT count(*) from vicidial_languages where language_id='$source_language_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); if ($row[0] < 1) {echo "
"._QXZ("LANGUAGE ENTRY NOT COPIED - invalid source language")."\n";} else { echo "
"._QXZ("LANGUAGE ENTRY COPIED")."\n"; $stmt="INSERT INTO vicidial_languages (language_id,language_description,language_code,user_group) SELECT '$language_id',language_description,language_code,user_group from vicidial_languages where language_id='$source_language_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $affected_rows = mysqli_affected_rows($link); $stmtA="INSERT INTO vicidial_language_phrases (language_id,phrase_id,english_text,translated_text,source) SELECT '$language_id',phrase_id,english_text,translated_text,source from vicidial_language_phrases where language_id='$source_language_id';"; if ($DB) {echo "$stmtA\n";} $rslt=mysql_to_mysqli($stmtA, $link); $affected_rowsA = mysqli_affected_rows($link); ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|$stmtA|"; $SQL_log = preg_replace('/;/', '', $SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='LANGUAGES', event_type='COPY', record_id='$language_id', event_code='ADMIN COPY LANGUAGE', event_sql=\"$SQL_log\", event_notes='$source_language_id|$affected_rows|$affected_rowsA';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); } } } } $ADD=363111111111; } ###################### # ADD=263311111111 processes imported language phrase data in the system ###################### if ($ADD==263311111111) { echo ""; $stmt="SELECT count(*) from vicidial_languages where language_id='$language_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $stmtLIST = $stmt; if ($row[0] < 1) {echo "
"._QXZ("LANGUAGE ENTRY DOES NOT EXIST")."\n";} else { if ( (strlen($import_data) < 2) or (strlen($stage) < 1) ) {echo "
"._QXZ("LANGUAGE IMPORT NOT PROCESSED - Please go back and look at the data you entered")."\n";} else { $phrase_updates=0; $phrase_inserts=0; $import_data_lines = explode("\n",$import_data); $import_data_lines_ct = count($import_data_lines); $i=0; while ($i < $import_data_lines_ct) { $import_data_lines_ary = explode('|',$import_data_lines[$i]); $import_data_lines_ary_ct = count($import_data_lines_ary); if ($DB > 0) {echo "$i|$import_data_lines_ary_ct|$import_data_lines_ary[0]|$import_data_lines_ary[1]|\n";} if ( ($import_data_lines_ary_ct > 0) and (strlen($import_data_lines_ary[0]) > 0) and (!preg_match("/^\#/",$import_data_lines_ary[0])) ) { $import_data_lines_ary[0] = addslashes($import_data_lines_ary[0]); $english_textSQL="english_text='$import_data_lines_ary[0]'"; if ($import_with_missing_periods > 0) {$english_textSQL="english_text IN('$import_data_lines_ary[0]','$import_data_lines_ary[0].')";} $stmt="SELECT count(*) from vicidial_language_phrases where language_id='$language_id' and $english_textSQL;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); if ($row[0] < 1) { if ( ($stage=='ADD') or ($stage=='ADD_UPDATE') ) { $import_data_lines_ary[1] = addslashes($import_data_lines_ary[1]); $stmt="INSERT INTO vicidial_language_phrases set english_text='$import_data_lines_ary[0]',translated_text='$import_data_lines_ary[1]', language_id='$language_id',source='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $stmtLIST .= "|$stmt"; $phrase_inserts++; } } else { if ( ($stage=='UPDATE') or ($stage=='ADD_UPDATE') ) { $import_data_lines_ary[1] = addslashes($import_data_lines_ary[1]); $stmt="SELECT count(*) from vicidial_language_phrases where language_id='$language_id' and $english_textSQL and translated_text='$import_data_lines_ary[1]';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); if ($row[0] < 1) { $stmt="UPDATE vicidial_language_phrases set translated_text='$import_data_lines_ary[1]',source='$user' where $english_textSQL and language_id='$language_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $stmtLIST .= "|$stmt"; $phrase_updates++; } else { if ($DB > 0) {echo "IGNORED(already equal): $i|$import_data_lines_ary_ct|$import_data_lines_ary[0]|$import_data_lines_ary[1]|\n";} } } } } else { if ($DB > 0) {echo "IGNORED: $i|$import_data_lines_ary_ct|$import_data_lines_ary[0]|$import_data_lines_ary[1]|\n";} } $i++; } echo _QXZ("PHRASES SUBMITTED").": $i
\n"; echo _QXZ("PHRASES ADDED").": $phrase_inserts
\n"; echo _QXZ("PHRASES UPDATED").": $phrase_updates
\n"; ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmtLIST|"; $SQL_log = preg_replace('/;/', '', $SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='LANGUAGES', event_type='MODIFY', record_id='$language_id', event_code='ADMIN IMPORT LANGUAGE PHRASES', event_sql=\"$SQL_log\", event_notes='PHRASES SUBMITTED: $i|PHRASES ADDED: $phrase_inserts|PHRASES UPDATED: $phrase_updates|';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); } } $ADD=363111111111; } ###################### # ADD=463111111111 modify language record in the system ###################### if ($ADD==463111111111) { if ($modify_languages==1) { echo ""; if ($stage == "PHRASEDELETE") { if ( (strlen($language_id) < 2) or (strlen($phrase_id) < 1) ) {echo "
"._QXZ("LANGUAGE PHRASE NOT MODIFIED - Please go back and look at the data you entered")."$language_id|$phrase_id\n";} else { $stmt="DELETE FROM vicidial_language_phrases where language_id='$language_id' and phrase_id='$phrase_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $stmtA="UPDATE vicidial_languages SET modify_date=NOW() where language_id='$language_id';"; if ($DB) {echo "$stmtA\n";} $rslt=mysql_to_mysqli($stmtA, $link); echo "
"._QXZ("LANGUAGE ENTRY MODIFIED").": $language_id - $audio_filename\n"; ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|$stmtA|"; $SQL_log = preg_replace('/;/', '', $SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='LANGUAGES', event_type='MODIFY', record_id='$language_id', event_code='ADMIN MODIFY LANGUAGE', event_sql=\"$SQL_log\", event_notes='PHRASE DELETE $phrase_id';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); } } else { if ( (strlen($language_id) < 2) or (strlen($language_description) < 3) ) {echo "
"._QXZ("LANGUAGE ENTRY NOT MODIFIED - Please go back and look at the data you entered")."\n";} else { $stmt="UPDATE vicidial_languages set language_description='$language_description',language_code='$language_code',user_group='$user_group',active='$active' where language_id='$language_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $stmtLIST = $stmt; if (strlen($english_text) > 0) { $english_text = addslashes($english_text); $stmt="SELECT count(*) from vicidial_language_phrases where english_text='$english_text' and language_id='$language_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $phrase_exists = $row[0]; if ($phrase_exists > 0) {echo "
"._QXZ("Phrase already exists in this language ID").": $language_id, $english_text\n";} else { echo "
"._QXZ("New phrase added to this language ID").": $language_id, $english_text\n"; $stmt="INSERT INTO vicidial_language_phrases set english_text='$english_text', language_id='$language_id',source='$user';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $stmtLIST .= "|$stmt"; $stmtA="UPDATE vicidial_languages SET modify_date=NOW() where language_id='$language_id';"; if ($DB) {echo "$stmtA\n";} $rslt=mysql_to_mysqli($stmtA, $link); } } echo "
"._QXZ("LANGUAGE ENTRY MODIFIED").": $language_id\n"; ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmtLIST|$stmtA|"; $SQL_log = preg_replace('/;/', '', $SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='LANGUAGES', event_type='MODIFY', record_id='$language_id', event_code='ADMIN MODIFY LANGUAGE', event_sql=\"$SQL_log\", event_notes='';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); } } } else { echo _QXZ("You do not have permission to view this page")."\n"; exit; } $ADD=363111111111; # go to language entry modification form below } ###################### # ADD=563111111111 confirmation before deletion of language record ###################### if ($ADD==563111111111) { echo ""; if (strlen($language_id) < 2) { echo "
"._QXZ("LANGUAGE ENTRY NOT DELETED - Please go back and look at the data you entered")."\n"; echo "
"._QXZ("LANGUAGE ID be at least 2 characters in length")."\n"; } else { echo "
"._QXZ("LANGUAGE ENTRY DELETION CONFIRMATION").": $language_id - $language_description\n"; echo "

"._QXZ("Click here to delete language entry")." $language_id - $language_description


\n"; } $ADD='363111111111'; # go to language entry modification below } ###################### # ADD=663111111111 delete language record ###################### if ($ADD==663111111111) { echo ""; if ( (strlen($language_id) < 2) or ($ConFiRm != 'YES') ) { echo "
"._QXZ("LANGUAGE ENTRY NOT DELETED - Please go back and look at the data you entered")."\n"; echo "
"._QXZ("LANGUAGE ID be at least 2 characters in length")."\n"; } else { $stmt="DELETE FROM vicidial_languages where language_id='$language_id' $LOGadmin_viewable_groupsSQL;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $stmtA="DELETE from vicidial_language_phrases where language_id='$language_id';"; if ($DB) {echo "$stmtA\n";} $rslt=mysql_to_mysqli($stmtA, $link); ### LOG INSERTION Admin Log Table ### $SQL_log = "$stmt|$stmtA|"; $SQL_log = preg_replace('/;/', '', $SQL_log); $SQL_log = addslashes($SQL_log); $stmt="INSERT INTO vicidial_admin_log set event_date=NOW(), user='$PHP_AUTH_USER', ip_address='$ip', event_section='LANGUAGES', event_type='DELETE', record_id='$language_id', event_code='ADMIN DELETE LANGUAGE', event_sql=\"$SQL_log\", event_notes='';"; if ($DB) {echo "|$stmt|\n";} $rslt=mysql_to_mysqli($stmt, $link); echo "
"._QXZ("LANGUAGE DELETION COMPLETED").": $language_id\n"; echo "

\n"; } $ADD='163000000000'; # go to language entry list } ###################### # ADD=363111111111 modify language record in the system ###################### if ($ADD==363111111111) { if ($modify_languages==1) { if ( ($SSadmin_modify_refresh > 1) and ($modify_refresh_set < 1) ) { $modify_url = "$PHP_SELF?ADD=363111111111&language_id=$language_id"; $modify_footer_refresh=1; } echo "
\n"; echo ""; $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); $language_id = $row[0]; $language_description = $row[1]; $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"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; $stmt="SELECT count(*) from vicidial_language_phrases where language_id='$language_id';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $phrase_count=$row[0]; $stmt="SELECT count(*) from vicidial_language_phrases where language_id='$language_id' and ( (translated_text='') or (translated_text is NULL) );"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $null_phrase_count=$row[0]; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
"._QXZ("Language ID").": $language_id
"._QXZ("Last Modified").": $modify_date
"._QXZ("Language Description").": $NWB#languages-language_description$NWE
"._QXZ("Language Code").": $NWB#languages-language_code$NWE   "; if (file_exists("../agc/images/$language_code$gif")) {echo ""._QXZ("flag")."";} else {echo ""._QXZ("unknown code")."";} echo "
"._QXZ("Admin User Group").": $NWB#languages-user_group$NWE
"._QXZ("Active").": $NWB#languages-active$NWE
"; echo _QXZ("Phrases").": $phrase_count   "._QXZ("Not Translated").": $null_phrase_count"; echo ""; echo "   "._QXZ("display all")."   |"; echo "   "._QXZ("not translated only")."   |"; echo "   "._QXZ("translated only")."  "; echo ""; echo "
\n"; echo "\n"; echo "
"._QXZ("Add A New Language Phrase").": $NWB#languages-english_text$NWE
  "._QXZ("RELOAD PAGE")."
\n"; echo "


\n"; if ($modify_languages > 0) { echo "

"._QXZ("DELETE LANGUAGE ENTRY")."\n"; } if ( ($LOGuser_level >= 9) and ( (preg_match("/Administration Change Log/",$LOGallowed_reports)) or (preg_match("/ALL REPORTS/",$LOGallowed_reports)) ) ) { echo "

"._QXZ("Click here to see Admin changes to this Language entry")."\n"; } } else { echo _QXZ("You do not have permission to view this page")."\n"; exit; } } ###################### # ADD=163000000000 display all language entries ###################### if ($ADD==163000000000) { echo "
\n"; echo " "; $stmt="SELECT language_id,language_description,language_code,user_group,modify_date,active from vicidial_languages $whereLOGadmin_viewable_groupsSQL order by language_id;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $lang_to_print = mysqli_num_rows($rslt); echo "
"._QXZ("LANGUAGE LISTINGS").":\n"; echo "
\n"; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo "\n"; $o=0; while ($lang_to_print > $o) { $row=mysqli_fetch_row($rslt); while(strlen($row[1]) > 40) {$row[1] = substr("$row[1]", 0, -1);} if(strlen($row[1]) > 37) {$row[1] = "$row[1]...";} $Alanguage_id[$o] = $row[0]; $Alanguage_description[$o] = _QXZ("$row[1]"); $Alanguage_code[$o] = $row[2]; $Auser_group[$o] = (preg_match('/\-\-ALL\-\-/', $row[3]) ? _QXZ("$row[3]") : $row[3]); $Amodify_date[$o] = $row[4]; $Aactive[$o] = _QXZ("$row[5]"); $o++; } $o=0; while ($lang_to_print > $o) { $stmt="SELECT count(*) from vicidial_language_phrases where language_id='$Alanguage_id[$o]';"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $phrase_count=$row[0]; $stmt="SELECT count(*) from vicidial_language_phrases where language_id='$Alanguage_id[$o]' and ( (translated_text='') or (translated_text is NULL) );"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $row=mysqli_fetch_row($rslt); $null_phrase_count=$row[0]; $translated_phrases_count = ($phrase_count - $null_phrase_count); if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='class="records_list_x"';} else {$bgcolor='class="records_list_y"';} echo " 0) {echo " onclick=\"window.document.location='$PHP_SELF?ADD=363111111111&language_id=$Alanguage_id[$o]&DB=$DB'\"";} echo ">"; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo "\n"; $o++; } echo "
"._QXZ("LANGUAGE ID").""._QXZ("Description").""._QXZ("Code").""._QXZ("ACT").""._QXZ("ADMIN GROUP").""._QXZ("MODIFY DATE").""._QXZ("PHRASES").""._QXZ("MODIFY")."
$Alanguage_id[$o]$Alanguage_description[$o]"; if (file_exists("../agc/images/$Alanguage_code[$o]$gif")) {echo ""._QXZ("flag")."";} else {echo ""._QXZ("unknown code")."";} echo "   $Alanguage_code[$o]$Aactive[$o]$Auser_group[$o]$Amodify_date[$o]$phrase_count($translated_phrases_count/$null_phrase_count)"._QXZ("MODIFY")."
\n"; } ################################################################################ ##### BEGIN admin log display if ($ADD == "763000000000") { if ($LOGuser_level >= 9) { echo "
\n"; echo ""; $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code from vicidial_admin_log where event_section='LANGUAGES' and record_id='$list_id' order by event_date desc limit 10000;"; if ($DB) {echo "$stmt\n";} $rslt=mysql_to_mysqli($stmt, $link); $logs_to_print = mysqli_num_rows($rslt); echo "
"._QXZ("ADMIN CHANGE LOG: Section Records")." - $category - $stage\n"; echo "
\n"; echo ""; echo ""; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; $logs_printed = ''; $o=0; while ($logs_to_print > $o) { $row=mysqli_fetch_row($rslt); if (preg_match('/USER|AGENT/i', $row[4])) {$record_link = "$PHP_SELF?ADD=3&user=$row[6]";} if (preg_match('/CAMPAIGN/i', $row[4])) {$record_link = "$PHP_SELF?ADD=31&campaign_id=$row[6]";} if (preg_match('/LIST/i', $row[4])) {$record_link = "$PHP_SELF?ADD=311&list_id=$row[6]";} if (preg_match('/CUSTOM_FIELDS/i', $row[4])) {$record_link = "./admin_lists_custom.php?action=MODIFY_CUSTOM_FIELDS&list_id=$row[6]";} if (preg_match('/SCRIPT/i', $row[4])) {$record_link = "$PHP_SELF?ADD=3111111&script_id=$row[6]";} if (preg_match('/FILTER/i', $row[4])) {$record_link = "$PHP_SELF?ADD=31111111&lead_filter_id=$row[6]";} if (preg_match('/INGROUP/i', $row[4])) {$record_link = "$PHP_SELF?ADD=3111&group_id=$row[6]";} if (preg_match('/DID/i', $row[4])) {$record_link = "$PHP_SELF?ADD=3311&did_id=$row[6]";} if (preg_match('/USERGROUP/i', $row[4])) {$record_link = "$PHP_SELF?ADD=311111&user_group=$row[6]";} if (preg_match('/REMOTEAGENT/i', $row[4])) {$record_link = "$PHP_SELF?ADD=31111&remote_agent_id=$row[6]";} if (preg_match('/PHONE/i', $row[4])) {$record_link = "$PHP_SELF?ADD=10000000000";} if (preg_match('/CALLTIME/i', $row[4])) {$record_link = "$PHP_SELF?ADD=311111111&call_time_id=$row[6]";} if (preg_match('/SHIFT/i', $row[4])) {$record_link = "$PHP_SELF?ADD=331111111&shift_id=$row[6]";} if (preg_match('/CONFTEMPLATE/i', $row[4])) {$record_link = "$PHP_SELF?ADD=331111111111&template_id=$row[6]";} if (preg_match('/CARRIER/i', $row[4])) {$record_link = "$PHP_SELF?ADD=341111111111&carrier_id=$row[6]";} if (preg_match('/SERVER/i', $row[4])) {$record_link = "$PHP_SELF?ADD=311111111111&server_id=$row[6]";} if (preg_match('/CONFERENCE/i', $row[4])) {$record_link = "$PHP_SELF?ADD=1000000000000";} if (preg_match('/SYSTEM/i', $row[4])) {$record_link = "$PHP_SELF?ADD=311111111111111";} if (preg_match('/CATEGOR/i', $row[4])) {$record_link = "$PHP_SELF?ADD=331111111111111";} if (preg_match('/GROUPALIAS/i', $row[4])) {$record_link = "$PHP_SELF?ADD=33111111111&group_alias_id=$row[6]";} if (preg_match('/LANGUAGES/i', $row[4])) {$record_link = "$PHP_SELF?ADD=363111111111&language_id=$row[6]&DB=$DB";} if (preg_match('/1$|3$|5$|7$|9$/i', $o)) {$bgcolor='class="records_list_x"';} else {$bgcolor='class="records_list_y"';} echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo "\n"; $logs_printed .= "'$row[0]',"; $o++; } echo "
"._QXZ("ID").""._QXZ("DATE TIME").""._QXZ("USER").""._QXZ("IP").""._QXZ("SECTION").""._QXZ("TYPE").""._QXZ("RECORD ID").""._QXZ("DESCRIPTION").""._QXZ("GOTO")."
$row[0] $row[1] $row[2] $row[3] $row[4] $row[5] $row[6] $row[7] "._QXZ("GOTO")."


\n"; echo "\n"; echo "
\n"; } else { echo _QXZ("You do not have permission to view this page")."\n"; exit; } } $ENDtime = date("U"); $RUNtime = ($ENDtime - $STARTtime); echo "\n\n\n


\n "._QXZ("runtime").": $RUNtime "._QXZ("seconds")."         "._QXZ("Version").": $admin_version     "._QXZ("Build").": $build"; ?>