File: /var/www/html/veda-chat-v2/inc/functions.php
<?php
// require_once('class.translation.php');
function form_data()
{
$convert_lang = get_lang();
$get_country_code = ip_info("Visitor", "Country Code");
if(strtoupper($get_country_code) == 'IN')
{
$convert_lang = 'en';
}
$frm = array();
$frm['fullname'] = "Full Name";
$frm['phone'] = "Phone";
$frm['factory_name'] = "Factory Name";
$frm['category'] = "Category";
$frm['subcategory'] = "Sub Category";
$frm['btnnext'] = "Next";
//$frm['country_value'] = ip_info("Visitor", "Country");
$frm['factory_address'] = "Factory address";
$frm['position_at_factory'] = "Position at factory";
$frm['supervisor_name'] = "Supervisor name";
$frm['issue_you_are_facing'] = "Issue you are facing";
$frm['submit_btn'] = "Send Message";
$frm['page_heading'] = "Chat with Us";
$frm['page_description'] = "The LABS support team is ready to assist you.";
$trans_array = array();
foreach ($frm as $key => $item) {
if($convert_lang)
{
if(strtolower($convert_lang) != 'en'){
$item = translate($item, "en", "$convert_lang");
}
}
$trans_array[$key] = $item;
}
$trans_array['country_value'] = ip_info("Visitor", "Country");
$trans_array['country_state_value'] = ip_info("Visitor", "State");
$trans_array['language'] = get_lang();
return $trans_array;
}
function form_data_2()
{
$convert_lang = get_lang();
$get_country_code = ip_info("Visitor", "Country Code");
if(strtoupper($get_country_code) == 'IN')
{
$convert_lang = 'en';
}
$frm = array();
$frm['factory'] = "Factory";
$frm['submit_btn'] = "Start";
$frm['page_heading'] = "Chat with Us";
$frm['page_description'] = "The Lab Support Team is ready to assist you. You can fill out the form below to chat with our expert.";
$trans_array = array();
foreach ($frm as $key => $item) {
if($convert_lang)
{
if(strtolower($convert_lang) != 'en'){
$item = translate($item, "en", "$convert_lang");
}
}
$trans_array[$key] = $item;
}
$trans_array['country_value'] = ip_info("Visitor", "Country");
$trans_array['country_state_value'] = ip_info("Visitor", "State");
$trans_array['language'] = get_lang();
return $trans_array;
}
function category_data()
{
$convert_lang = get_lang();
$get_country_code = ip_info("Visitor", "Country Code");
if(strtoupper($get_country_code) == 'IN')
{
$convert_lang = 'en';
}
$frm = array();
$frm[''] = "Choose...";
$frm['LABS'] = "LABS";
$frm['Non LABS'] = "Non LABS";
$trans_array = array();
foreach ($frm as $key => $item) {
if($convert_lang)
{
if(strtolower($convert_lang) != 'en'){
$item = translate($item, "en", "$convert_lang");
}
}
$trans_array[$key] = $item;
}
return $trans_array;
}
function subcategory_data()
{
$convert_lang = get_lang();
$get_country_code = ip_info("Visitor", "Country Code");
if(strtoupper($get_country_code) == 'IN')
{
$convert_lang = 'en';
}
$frm = array();
$frm[''] = "Choose...";
$frm['Critical'] = "Critical";
$frm['Non-Critical'] = "Non-Critical";
$trans_array = array();
foreach ($frm as $key => $item) {
if($convert_lang)
{
if(strtolower($convert_lang) != 'en'){
$item = translate($item, "en", "$convert_lang");
}
}
$trans_array[$key] = $item;
}
return $trans_array;
}
function city_data()
{
$convert_lang = get_lang();
$get_country_code = ip_info("Visitor", "Country Code");
if(strtoupper($get_country_code) == 'IN')
{
$convert_lang = 'en';
}
$frm = array();
$frm['101'] = "Mehrauli";
$frm['102'] = "Tughlakabad";
$frm['103'] = "New Delhi";
$frm['104'] = "Aya Nagar";
$frm['105'] = "Ghitorni";
$frm['106'] = "Kondli";
$trans_array = array();
foreach ($frm as $key => $item) {
if($convert_lang)
{
if(strtolower($convert_lang) != 'en'){
$item = translate($item, "en", "$convert_lang");
}
}
$trans_array[$key] = $item;
}
return $trans_array;
}
function state_data()
{
$convert_lang = get_lang();
$get_country_code = ip_info("Visitor", "Country Code");
if(strtoupper($get_country_code) == 'IN')
{
$convert_lang = 'en';
}
$frm = array();
$frm['1101'] = "Assam";
$frm['1102'] = "Tughlakabad";
$frm['1103'] = "Arunachal Pradesh";
$frm['1104'] = "Delhi";
$frm['1105'] = "Kerala";
$frm['1106'] = "Nagaland";
$trans_array = array();
foreach ($frm as $key => $item) {
if($convert_lang)
{
if(strtolower($convert_lang) != 'en'){
$item = translate($item, "en", "$convert_lang");
}
}
$trans_array[$key] = $item;
}
return $trans_array;
}
function translate($q, $sl, $tl){
$res= file_get_contents("https://translate.googleapis.com/translate_a/single?client=gtx&ie=UTF-8&oe=UTF-8&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&dt=at&sl=".$sl."&tl=".$tl."&hl=hl&q=".urlencode($q), $_SERVER['DOCUMENT_ROOT']."/transes.html");
$res=json_decode($res);
return $res[0][0][0];
}
function get_lang()
{
$country_code = ip_info("Visitor", "Country Code");
$lang = country_code_to_locale($country_code, $language_code = '');
$selected_lang = str_replace("-".$country_code,"",$lang);
$selected_lang = str_replace("_".$country_code,"",$selected_lang);
return $selected_lang;
}
//example--
// echo translate("اسمي منتصر الصاوي", "ar", "en");
// echo "<br/>";
// echo translate("how are you", "en", "km");
//echo translate("اسمي منتصر الصاوي", "ar", "en");
// echo "Country = ".ip_info("Visitor", "Country"); // India
// echo "<br/>";
// echo "Country code = ".ip_info("Visitor", "Country Code"); // IN
// echo "<br/>";
// echo "State = ".ip_info("Visitor", "State"); // Andhra Pradesh
// echo "<br/>";
// echo "City = ".ip_info("Visitor", "City"); // Proddatur
// echo "<br/>";
// echo "Address = ".ip_info("Visitor", "Address"); // Proddatur, Andhra Pradesh, India
function country_code_to_locale($country_code, $language_code = '')
{
// Locale list taken from:
// http://stackoverflow.com/questions/3191664/
// list-of-all-locales-and-their-short-codes
$locales = array('af-ZA',
'am-ET',
'ar-AE',
'ar-BH',
'ar-DZ',
'ar-EG',
'ar-IQ',
'ar-JO',
'ar-KW',
'ar-LB',
'ar-LY',
'ar-MA',
'arn-CL',
'ar-OM',
'ar-QA',
'ar-SA',
'ar-SY',
'ar-TN',
'ar-YE',
'as-IN',
'az-Cyrl-AZ',
'az-Latn-AZ',
'ba-RU',
'be-BY',
'bg-BG',
'bn-BD',
'bn-IN',
'bo-CN',
'br-FR',
'bs-Cyrl-BA',
'bs-Latn-BA',
'ca-ES',
'co-FR',
'cs-CZ',
'cy-GB',
'da-DK',
'de-AT',
'de-CH',
'de-DE',
'de-LI',
'de-LU',
'dsb-DE',
'dv-MV',
'el-GR',
'en-029',
'en-AU',
'en-BZ',
'en-CA',
'en-GB',
'en-IE',
'en-IN',
'en-JM',
'en-MY',
'en-NZ',
'en-PH',
'en-SG',
'en-TT',
'en-US',
'en-ZA',
'en-ZW',
'es-AR',
'es-BO',
'es-CL',
'es-CO',
'es-CR',
'es-DO',
'es-EC',
'es-ES',
'es-GT',
'es-HN',
'es-MX',
'es-NI',
'es-PA',
'es-PE',
'es-PR',
'es-PY',
'es-SV',
'es-US',
'es-UY',
'es-VE',
'et-EE',
'eu-ES',
'fa-IR',
'fi-FI',
'fil-PH',
'fo-FO',
'fr-BE',
'fr-CA',
'fr-CH',
'fr-FR',
'fr-LU',
'fr-MC',
'fy-NL',
'ga-IE',
'gd-GB',
'gl-ES',
'gsw-FR',
'gu-IN',
'ha-Latn-NG',
'he-IL',
'hi-IN',
'hr-BA',
'hr-HR',
'hsb-DE',
'hu-HU',
'hy-AM',
'id-ID',
'ig-NG',
'ii-CN',
'is-IS',
'it-CH',
'it-IT',
'iu-Cans-CA',
'iu-Latn-CA',
'ja-JP',
'ka-GE',
'kk-KZ',
'kl-GL',
'km-KH',
'kn-IN',
'kok-IN',
'ko-KR',
'ky-KG',
'lb-LU',
'lo-LA',
'lt-LT',
'lv-LV',
'mi-NZ',
'mk-MK',
'ml-IN',
'mn-MN',
'mn-Mong-CN',
'moh-CA',
'mr-IN',
'ms-BN',
'ms-MY',
'mt-MT',
'nb-NO',
'ne-NP',
'nl-BE',
'nl-NL',
'nn-NO',
'nso-ZA',
'oc-FR',
'or-IN',
'pa-IN',
'pl-PL',
'prs-AF',
'ps-AF',
'pt-BR',
'pt-PT',
'qut-GT',
'quz-BO',
'quz-EC',
'quz-PE',
'rm-CH',
'ro-RO',
'ru-RU',
'rw-RW',
'sah-RU',
'sa-IN',
'se-FI',
'se-NO',
'se-SE',
'si-LK',
'sk-SK',
'sl-SI',
'sma-NO',
'sma-SE',
'smj-NO',
'smj-SE',
'smn-FI',
'sms-FI',
'sq-AL',
'sr-Cyrl-BA',
'sr-Cyrl-CS',
'sr-Cyrl-ME',
'sr-Cyrl-RS',
'sr-Latn-BA',
'sr-Latn-CS',
'sr-Latn-ME',
'sr-Latn-RS',
'sv-FI',
'sv-SE',
'sw-KE',
'syr-SY',
'ta-IN',
'te-IN',
'tg-Cyrl-TJ',
'th-TH',
'tk-TM',
'tn-ZA',
'tr-TR',
'tt-RU',
'tzm-Latn-DZ',
'ug-CN',
'uk-UA',
'ur-PK',
'uz-Cyrl-UZ',
'uz-Latn-UZ',
'vi-VN',
'wo-SN',
'xh-ZA',
'yo-NG',
'zh-CN',
'zh-HK',
'zh-MO',
'zh-SG',
'zh-TW',
'zu-ZA',);
foreach ($locales as $locale)
{
$locale_region = locale_get_region($locale);
$locale_language = locale_get_primary_language($locale);
$locale_array = array('language' => $locale_language,
'region' => $locale_region);
if (strtoupper($country_code) == $locale_region &&
$language_code == '')
{
return locale_compose($locale_array);
}
elseif (strtoupper($country_code) == $locale_region &&
strtolower($language_code) == $locale_language)
{
return locale_compose($locale_array);
}
}
return null;
}
function ip_info($ip = NULL, $purpose = "location", $deep_detect = TRUE) {
$output = NULL;
if (filter_var($ip, FILTER_VALIDATE_IP) === FALSE) {
$ip = $_SERVER["REMOTE_ADDR"];
if ($deep_detect) {
if (filter_var(@$_SERVER['HTTP_X_FORWARDED_FOR'], FILTER_VALIDATE_IP))
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
if (filter_var(@$_SERVER['HTTP_CLIENT_IP'], FILTER_VALIDATE_IP))
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
}
$purpose = str_replace(array("name", "\n", "\t", " ", "-", "_"), NULL, strtolower(trim($purpose)));
$support = array("country", "countrycode", "state", "region", "city", "location", "address");
$continents = array(
"AF" => "Africa",
"AN" => "Antarctica",
"AS" => "Asia",
"EU" => "Europe",
"OC" => "Australia (Oceania)",
"NA" => "North America",
"SA" => "South America"
);
if (filter_var($ip, FILTER_VALIDATE_IP) && in_array($purpose, $support)) {
$ipdat = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=" . $ip));
if (@strlen(trim($ipdat->geoplugin_countryCode)) == 2) {
switch ($purpose) {
case "location":
$output = array(
"city" => @$ipdat->geoplugin_city,
"state" => @$ipdat->geoplugin_regionName,
"country" => @$ipdat->geoplugin_countryName,
"country_code" => @$ipdat->geoplugin_countryCode,
"continent" => @$continents[strtoupper($ipdat->geoplugin_continentCode)],
"continent_code" => @$ipdat->geoplugin_continentCode
);
break;
case "address":
$address = array($ipdat->geoplugin_countryName);
if (@strlen($ipdat->geoplugin_regionName) >= 1)
$address[] = $ipdat->geoplugin_regionName;
if (@strlen($ipdat->geoplugin_city) >= 1)
$address[] = $ipdat->geoplugin_city;
$output = implode(", ", array_reverse($address));
break;
case "city":
$output = @$ipdat->geoplugin_city;
break;
case "state":
$output = @$ipdat->geoplugin_regionName;
break;
case "region":
$output = @$ipdat->geoplugin_regionName;
break;
case "country":
$output = @$ipdat->geoplugin_countryName;
break;
case "countrycode":
$output = @$ipdat->geoplugin_countryCode;
break;
}
}
}
return $output;
}