From 16968e0b97ab2ad41192e8835906d41d556ac5fe Mon Sep 17 00:00:00 2001 From: johnnyq Date: Fri, 18 Feb 2022 11:14:14 -0500 Subject: [PATCH] Added Locale option for company, this works in conjunction with the way the currency is displayed --- check_login.php | 3 +- companies.php | 1 + company_add_modal.php | 15 ++ company_edit_modal.php | 15 ++ cron.php | 17 +- db.sql | 3 +- get_settings.php | 438 +++++++++++++++++++++++++++++++++++++++ guest_view_invoice.php | 3 +- guest_view_quote.php | 3 +- post.php | 8 +- setup.php | 456 ++++++++++++++++++++++++++++++++++++++++- 11 files changed, 946 insertions(+), 16 deletions(-) diff --git a/check_login.php b/check_login.php index 240a1a28..22597dcf 100644 --- a/check_login.php +++ b/check_login.php @@ -69,6 +69,7 @@ $session_company_name = $row['company_name']; $session_company_country = $row['company_country']; + $session_company_locale = $row['company_locale']; $session_company_currency = $row['company_currency']; include("get_settings.php"); @@ -89,6 +90,6 @@ $num_alerts = $row['num']; //Set Currency Format - $currency_format = numfmt_create('en-US', NumberFormatter::CURRENCY); + $currency_format = numfmt_create($session_company_locale, NumberFormatter::CURRENCY); ?> \ No newline at end of file diff --git a/companies.php b/companies.php index b2f7cb25..3c1a126b 100644 --- a/companies.php +++ b/companies.php @@ -92,6 +92,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); $company_email = $row['company_email']; $company_website = $row['company_website']; $company_logo = $row['company_logo']; + $company_locale = $row['company_locale']; $company_currency = $row['company_currency']; $company_initials = initials($company_name); diff --git a/company_add_modal.php b/company_add_modal.php index 527188a1..210c1359 100644 --- a/company_add_modal.php +++ b/company_add_modal.php @@ -105,6 +105,21 @@ +
+ +
+
+ +
+ +
+
+
diff --git a/company_edit_modal.php b/company_edit_modal.php index bcdc0f98..45900326 100644 --- a/company_edit_modal.php +++ b/company_edit_modal.php @@ -107,6 +107,21 @@
+
+ +
+
+ +
+ +
+
+
diff --git a/cron.php b/cron.php index dd12375d..28597ba9 100644 --- a/cron.php +++ b/cron.php @@ -20,6 +20,7 @@ while($row = mysqli_fetch_array($sql_companies)){ $company_phone = formatPhoneNumber($row['company_phone']); $company_email = $row['company_email']; $company_website = $row['company_website']; + $company_locale = $row['company_locale']; $config_enable_cron = $row['config_enable_cron']; $config_invoice_overdue_reminders = $row['config_invoice_overdue_reminders']; $config_invoice_prefix = $row['config_invoice_prefix']; @@ -32,18 +33,18 @@ while($row = mysqli_fetch_array($sql_companies)){ $config_recurring_auto_send_invoice = $row['config_recurring_auto_send_invoice']; $config_base_url = $row['config_base_url']; - //Set Currency Format - $currency_format = numfmt_create('en-US', NumberFormatter::CURRENCY); - - //Tickets + // Tickets $config_ticket_prefix = $row['config_ticket_prefix']; $config_ticket_next_number = $row['config_ticket_next_number']; + // Set Currency Format + $currency_format = numfmt_create($company_locale, NumberFormatter::CURRENCY); + if($config_enable_cron == 1){ - //GET ALERTS + // GET ALERTS - //DOMAINS EXPIRING + // DOMAINS EXPIRING $domainAlertArray = [1,7,14,30,90,120]; @@ -69,7 +70,7 @@ while($row = mysqli_fetch_array($sql_companies)){ } - //CERTIFICATES EXPIRING + // CERTIFICATES EXPIRING $certificateAlertArray = [1,7,14,30,90,120]; @@ -96,7 +97,7 @@ while($row = mysqli_fetch_array($sql_companies)){ } - //Scheduled tickets + // Scheduled tickets // Get date now, and calculate tomorrow's date (presuming this is being run at 11 PM) $now = new DateTime(); diff --git a/db.sql b/db.sql index b8b4899a..45f5bc60 100644 --- a/db.sql +++ b/db.sql @@ -286,6 +286,7 @@ CREATE TABLE `companies` ( `company_email` varchar(200) DEFAULT NULL, `company_website` varchar(200) DEFAULT NULL, `company_logo` varchar(250) DEFAULT NULL, + `company_locale` varchar(200) DEFAULT NULL, `company_currency` varchar(200) NOT NULL, `company_created_at` datetime NOT NULL, `company_updated_at` datetime DEFAULT NULL, @@ -1420,4 +1421,4 @@ CREATE TABLE `vendors` ( /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2022-02-18 1:31:30 +-- Dump completed on 2022-02-18 11:13:32 diff --git a/get_settings.php b/get_settings.php index f482e548..aaa515ef 100644 --- a/get_settings.php +++ b/get_settings.php @@ -410,6 +410,444 @@ $currencies_array = array( 'ZWD' => 'Zimbabwe Dollar' ); +// List of locales +$locales_array = [ + 'af_NA' => 'Afrikaans (Namibia)', + 'af_ZA' => 'Afrikaans (South Africa)', + 'af' => 'Afrikaans', + 'ak_GH' => 'Akan (Ghana)', + 'ak' => 'Akan', + 'sq_AL' => 'Albanian (Albania)', + 'sq' => 'Albanian', + 'am_ET' => 'Amharic (Ethiopia)', + 'am' => 'Amharic', + 'ar_DZ' => 'Arabic (Algeria)', + 'ar_BH' => 'Arabic (Bahrain)', + 'ar_EG' => 'Arabic (Egypt)', + 'ar_IQ' => 'Arabic (Iraq)', + 'ar_JO' => 'Arabic (Jordan)', + 'ar_KW' => 'Arabic (Kuwait)', + 'ar_LB' => 'Arabic (Lebanon)', + 'ar_LY' => 'Arabic (Libya)', + 'ar_MA' => 'Arabic (Morocco)', + 'ar_OM' => 'Arabic (Oman)', + 'ar_QA' => 'Arabic (Qatar)', + 'ar_SA' => 'Arabic (Saudi Arabia)', + 'ar_SD' => 'Arabic (Sudan)', + 'ar_SY' => 'Arabic (Syria)', + 'ar_TN' => 'Arabic (Tunisia)', + 'ar_AE' => 'Arabic (United Arab Emirates)', + 'ar_YE' => 'Arabic (Yemen)', + 'ar' => 'Arabic', + 'hy_AM' => 'Armenian (Armenia)', + 'hy' => 'Armenian', + 'as_IN' => 'Assamese (India)', + 'as' => 'Assamese', + 'asa_TZ' => 'Asu (Tanzania)', + 'asa' => 'Asu', + 'az_Cyrl' => 'Azerbaijani (Cyrillic)', + 'az_Cyrl_AZ' => 'Azerbaijani (Cyrillic, Azerbaijan)', + 'az_Latn' => 'Azerbaijani (Latin)', + 'az_Latn_AZ' => 'Azerbaijani (Latin, Azerbaijan)', + 'az' => 'Azerbaijani', + 'bm_ML' => 'Bambara (Mali)', + 'bm' => 'Bambara', + 'eu_ES' => 'Basque (Spain)', + 'eu' => 'Basque', + 'be_BY' => 'Belarusian (Belarus)', + 'be' => 'Belarusian', + 'bem_ZM' => 'Bemba (Zambia)', + 'bem' => 'Bemba', + 'bez_TZ' => 'Bena (Tanzania)', + 'bez' => 'Bena', + 'bn_BD' => 'Bengali (Bangladesh)', + 'bn_IN' => 'Bengali (India)', + 'bn' => 'Bengali', + 'bs_BA' => 'Bosnian (Bosnia and Herzegovina)', + 'bs' => 'Bosnian', + 'bg_BG' => 'Bulgarian (Bulgaria)', + 'bg' => 'Bulgarian', + 'my_MM' => 'Burmese (Myanmar [Burma])', + 'my' => 'Burmese', + 'ca_ES' => 'Catalan (Spain)', + 'ca' => 'Catalan', + 'tzm_Latn' => 'Central Morocco Tamazight (Latin)', + 'tzm_Latn_MA' => 'Central Morocco Tamazight (Latin, Morocco)', + 'tzm' => 'Central Morocco Tamazight', + 'chr_US' => 'Cherokee (United States)', + 'chr' => 'Cherokee', + 'cgg_UG' => 'Chiga (Uganda)', + 'cgg' => 'Chiga', + 'zh_Hans' => 'Chinese (Simplified Han)', + 'zh_Hans_CN' => 'Chinese (Simplified Han, China)', + 'zh_Hans_HK' => 'Chinese (Simplified Han, Hong Kong SAR China)', + 'zh_Hans_MO' => 'Chinese (Simplified Han, Macau SAR China)', + 'zh_Hans_SG' => 'Chinese (Simplified Han, Singapore)', + 'zh_Hant' => 'Chinese (Traditional Han)', + 'zh_Hant_HK' => 'Chinese (Traditional Han, Hong Kong SAR China)', + 'zh_Hant_MO' => 'Chinese (Traditional Han, Macau SAR China)', + 'zh_Hant_TW' => 'Chinese (Traditional Han, Taiwan)', + 'zh' => 'Chinese', + 'kw_GB' => 'Cornish (United Kingdom)', + 'kw' => 'Cornish', + 'hr_HR' => 'Croatian (Croatia)', + 'hr' => 'Croatian', + 'cs_CZ' => 'Czech (Czech Republic)', + 'cs' => 'Czech', + 'da_DK' => 'Danish (Denmark)', + 'da' => 'Danish', + 'nl_BE' => 'Dutch (Belgium)', + 'nl_NL' => 'Dutch (Netherlands)', + 'nl' => 'Dutch', + 'ebu_KE' => 'Embu (Kenya)', + 'ebu' => 'Embu', + 'en_AS' => 'English (American Samoa)', + 'en_AU' => 'English (Australia)', + 'en_BE' => 'English (Belgium)', + 'en_BZ' => 'English (Belize)', + 'en_BW' => 'English (Botswana)', + 'en_CA' => 'English (Canada)', + 'en_GU' => 'English (Guam)', + 'en_HK' => 'English (Hong Kong SAR China)', + 'en_IN' => 'English (India)', + 'en_IE' => 'English (Ireland)', + 'en_JM' => 'English (Jamaica)', + 'en_MT' => 'English (Malta)', + 'en_MH' => 'English (Marshall Islands)', + 'en_MU' => 'English (Mauritius)', + 'en_NA' => 'English (Namibia)', + 'en_NZ' => 'English (New Zealand)', + 'en_MP' => 'English (Northern Mariana Islands)', + 'en_PK' => 'English (Pakistan)', + 'en_PH' => 'English (Philippines)', + 'en_SG' => 'English (Singapore)', + 'en_ZA' => 'English (South Africa)', + 'en_TT' => 'English (Trinidad and Tobago)', + 'en_UM' => 'English (U.S. Minor Outlying Islands)', + 'en_VI' => 'English (U.S. Virgin Islands)', + 'en_GB' => 'English (United Kingdom)', + 'en_US' => 'English (United States)', + 'en_ZW' => 'English (Zimbabwe)', + 'en' => 'English', + 'eo' => 'Esperanto', + 'et_EE' => 'Estonian (Estonia)', + 'et' => 'Estonian', + 'ee_GH' => 'Ewe (Ghana)', + 'ee_TG' => 'Ewe (Togo)', + 'ee' => 'Ewe', + 'fo_FO' => 'Faroese (Faroe Islands)', + 'fo' => 'Faroese', + 'fil_PH' => 'Filipino (Philippines)', + 'fil' => 'Filipino', + 'fi_FI' => 'Finnish (Finland)', + 'fi' => 'Finnish', + 'fr_BE' => 'French (Belgium)', + 'fr_BJ' => 'French (Benin)', + 'fr_BF' => 'French (Burkina Faso)', + 'fr_BI' => 'French (Burundi)', + 'fr_CM' => 'French (Cameroon)', + 'fr_CA' => 'French (Canada)', + 'fr_CF' => 'French (Central African Republic)', + 'fr_TD' => 'French (Chad)', + 'fr_KM' => 'French (Comoros)', + 'fr_CG' => 'French (Congo - Brazzaville)', + 'fr_CD' => 'French (Congo - Kinshasa)', + 'fr_CI' => 'French (Côte d’Ivoire)', + 'fr_DJ' => 'French (Djibouti)', + 'fr_GQ' => 'French (Equatorial Guinea)', + 'fr_FR' => 'French (France)', + 'fr_GA' => 'French (Gabon)', + 'fr_GP' => 'French (Guadeloupe)', + 'fr_GN' => 'French (Guinea)', + 'fr_LU' => 'French (Luxembourg)', + 'fr_MG' => 'French (Madagascar)', + 'fr_ML' => 'French (Mali)', + 'fr_MQ' => 'French (Martinique)', + 'fr_MC' => 'French (Monaco)', + 'fr_NE' => 'French (Niger)', + 'fr_RW' => 'French (Rwanda)', + 'fr_RE' => 'French (Réunion)', + 'fr_BL' => 'French (Saint Barthélemy)', + 'fr_MF' => 'French (Saint Martin)', + 'fr_SN' => 'French (Senegal)', + 'fr_CH' => 'French (Switzerland)', + 'fr_TG' => 'French (Togo)', + 'fr' => 'French', + 'ff_SN' => 'Fulah (Senegal)', + 'ff' => 'Fulah', + 'gl_ES' => 'Galician (Spain)', + 'gl' => 'Galician', + 'lg_UG' => 'Ganda (Uganda)', + 'lg' => 'Ganda', + 'ka_GE' => 'Georgian (Georgia)', + 'ka' => 'Georgian', + 'de_AT' => 'German (Austria)', + 'de_BE' => 'German (Belgium)', + 'de_DE' => 'German (Germany)', + 'de_LI' => 'German (Liechtenstein)', + 'de_LU' => 'German (Luxembourg)', + 'de_CH' => 'German (Switzerland)', + 'de' => 'German', + 'el_CY' => 'Greek (Cyprus)', + 'el_GR' => 'Greek (Greece)', + 'el' => 'Greek', + 'gu_IN' => 'Gujarati (India)', + 'gu' => 'Gujarati', + 'guz_KE' => 'Gusii (Kenya)', + 'guz' => 'Gusii', + 'ha_Latn' => 'Hausa (Latin)', + 'ha_Latn_GH' => 'Hausa (Latin, Ghana)', + 'ha_Latn_NE' => 'Hausa (Latin, Niger)', + 'ha_Latn_NG' => 'Hausa (Latin, Nigeria)', + 'ha' => 'Hausa', + 'haw_US' => 'Hawaiian (United States)', + 'haw' => 'Hawaiian', + 'he_IL' => 'Hebrew (Israel)', + 'he' => 'Hebrew', + 'hi_IN' => 'Hindi (India)', + 'hi' => 'Hindi', + 'hu_HU' => 'Hungarian (Hungary)', + 'hu' => 'Hungarian', + 'is_IS' => 'Icelandic (Iceland)', + 'is' => 'Icelandic', + 'ig_NG' => 'Igbo (Nigeria)', + 'ig' => 'Igbo', + 'id_ID' => 'Indonesian (Indonesia)', + 'id' => 'Indonesian', + 'ga_IE' => 'Irish (Ireland)', + 'ga' => 'Irish', + 'it_IT' => 'Italian (Italy)', + 'it_CH' => 'Italian (Switzerland)', + 'it' => 'Italian', + 'ja_JP' => 'Japanese (Japan)', + 'ja' => 'Japanese', + 'kea_CV' => 'Kabuverdianu (Cape Verde)', + 'kea' => 'Kabuverdianu', + 'kab_DZ' => 'Kabyle (Algeria)', + 'kab' => 'Kabyle', + 'kl_GL' => 'Kalaallisut (Greenland)', + 'kl' => 'Kalaallisut', + 'kln_KE' => 'Kalenjin (Kenya)', + 'kln' => 'Kalenjin', + 'kam_KE' => 'Kamba (Kenya)', + 'kam' => 'Kamba', + 'kn_IN' => 'Kannada (India)', + 'kn' => 'Kannada', + 'kk_Cyrl' => 'Kazakh (Cyrillic)', + 'kk_Cyrl_KZ' => 'Kazakh (Cyrillic, Kazakhstan)', + 'kk' => 'Kazakh', + 'km_KH' => 'Khmer (Cambodia)', + 'km' => 'Khmer', + 'ki_KE' => 'Kikuyu (Kenya)', + 'ki' => 'Kikuyu', + 'rw_RW' => 'Kinyarwanda (Rwanda)', + 'rw' => 'Kinyarwanda', + 'kok_IN' => 'Konkani (India)', + 'kok' => 'Konkani', + 'ko_KR' => 'Korean (South Korea)', + 'ko' => 'Korean', + 'khq_ML' => 'Koyra Chiini (Mali)', + 'khq' => 'Koyra Chiini', + 'ses_ML' => 'Koyraboro Senni (Mali)', + 'ses' => 'Koyraboro Senni', + 'lag_TZ' => 'Langi (Tanzania)', + 'lag' => 'Langi', + 'lv_LV' => 'Latvian (Latvia)', + 'lv' => 'Latvian', + 'lt_LT' => 'Lithuanian (Lithuania)', + 'lt' => 'Lithuanian', + 'luo_KE' => 'Luo (Kenya)', + 'luo' => 'Luo', + 'luy_KE' => 'Luyia (Kenya)', + 'luy' => 'Luyia', + 'mk_MK' => 'Macedonian (Macedonia)', + 'mk' => 'Macedonian', + 'jmc_TZ' => 'Machame (Tanzania)', + 'jmc' => 'Machame', + 'kde_TZ' => 'Makonde (Tanzania)', + 'kde' => 'Makonde', + 'mg_MG' => 'Malagasy (Madagascar)', + 'mg' => 'Malagasy', + 'ms_BN' => 'Malay (Brunei)', + 'ms_MY' => 'Malay (Malaysia)', + 'ms' => 'Malay', + 'ml_IN' => 'Malayalam (India)', + 'ml' => 'Malayalam', + 'mt_MT' => 'Maltese (Malta)', + 'mt' => 'Maltese', + 'gv_GB' => 'Manx (United Kingdom)', + 'gv' => 'Manx', + 'mr_IN' => 'Marathi (India)', + 'mr' => 'Marathi', + 'mas_KE' => 'Masai (Kenya)', + 'mas_TZ' => 'Masai (Tanzania)', + 'mas' => 'Masai', + 'mer_KE' => 'Meru (Kenya)', + 'mer' => 'Meru', + 'mfe_MU' => 'Morisyen (Mauritius)', + 'mfe' => 'Morisyen', + 'naq_NA' => 'Nama (Namibia)', + 'naq' => 'Nama', + 'ne_IN' => 'Nepali (India)', + 'ne_NP' => 'Nepali (Nepal)', + 'ne' => 'Nepali', + 'nd_ZW' => 'North Ndebele (Zimbabwe)', + 'nd' => 'North Ndebele', + 'nb_NO' => 'Norwegian Bokmål (Norway)', + 'nb' => 'Norwegian Bokmål', + 'nn_NO' => 'Norwegian Nynorsk (Norway)', + 'nn' => 'Norwegian Nynorsk', + 'nyn_UG' => 'Nyankole (Uganda)', + 'nyn' => 'Nyankole', + 'or_IN' => 'Oriya (India)', + 'or' => 'Oriya', + 'om_ET' => 'Oromo (Ethiopia)', + 'om_KE' => 'Oromo (Kenya)', + 'om' => 'Oromo', + 'ps_AF' => 'Pashto (Afghanistan)', + 'ps' => 'Pashto', + 'fa_AF' => 'Persian (Afghanistan)', + 'fa_IR' => 'Persian (Iran)', + 'fa' => 'Persian', + 'pl_PL' => 'Polish (Poland)', + 'pl' => 'Polish', + 'pt_BR' => 'Portuguese (Brazil)', + 'pt_GW' => 'Portuguese (Guinea-Bissau)', + 'pt_MZ' => 'Portuguese (Mozambique)', + 'pt_PT' => 'Portuguese (Portugal)', + 'pt' => 'Portuguese', + 'pa_Arab' => 'Punjabi (Arabic)', + 'pa_Arab_PK' => 'Punjabi (Arabic, Pakistan)', + 'pa_Guru' => 'Punjabi (Gurmukhi)', + 'pa_Guru_IN' => 'Punjabi (Gurmukhi, India)', + 'pa' => 'Punjabi', + 'ro_MD' => 'Romanian (Moldova)', + 'ro_RO' => 'Romanian (Romania)', + 'ro' => 'Romanian', + 'rm_CH' => 'Romansh (Switzerland)', + 'rm' => 'Romansh', + 'rof_TZ' => 'Rombo (Tanzania)', + 'rof' => 'Rombo', + 'ru_MD' => 'Russian (Moldova)', + 'ru_RU' => 'Russian (Russia)', + 'ru_UA' => 'Russian (Ukraine)', + 'ru' => 'Russian', + 'rwk_TZ' => 'Rwa (Tanzania)', + 'rwk' => 'Rwa', + 'saq_KE' => 'Samburu (Kenya)', + 'saq' => 'Samburu', + 'sg_CF' => 'Sango (Central African Republic)', + 'sg' => 'Sango', + 'seh_MZ' => 'Sena (Mozambique)', + 'seh' => 'Sena', + 'sr_Cyrl' => 'Serbian (Cyrillic)', + 'sr_Cyrl_BA' => 'Serbian (Cyrillic, Bosnia and Herzegovina)', + 'sr_Cyrl_ME' => 'Serbian (Cyrillic, Montenegro)', + 'sr_Cyrl_RS' => 'Serbian (Cyrillic, Serbia)', + 'sr_Latn' => 'Serbian (Latin)', + 'sr_Latn_BA' => 'Serbian (Latin, Bosnia and Herzegovina)', + 'sr_Latn_ME' => 'Serbian (Latin, Montenegro)', + 'sr_Latn_RS' => 'Serbian (Latin, Serbia)', + 'sr' => 'Serbian', + 'sn_ZW' => 'Shona (Zimbabwe)', + 'sn' => 'Shona', + 'ii_CN' => 'Sichuan Yi (China)', + 'ii' => 'Sichuan Yi', + 'si_LK' => 'Sinhala (Sri Lanka)', + 'si' => 'Sinhala', + 'sk_SK' => 'Slovak (Slovakia)', + 'sk' => 'Slovak', + 'sl_SI' => 'Slovenian (Slovenia)', + 'sl' => 'Slovenian', + 'xog_UG' => 'Soga (Uganda)', + 'xog' => 'Soga', + 'so_DJ' => 'Somali (Djibouti)', + 'so_ET' => 'Somali (Ethiopia)', + 'so_KE' => 'Somali (Kenya)', + 'so_SO' => 'Somali (Somalia)', + 'so' => 'Somali', + 'es_AR' => 'Spanish (Argentina)', + 'es_BO' => 'Spanish (Bolivia)', + 'es_CL' => 'Spanish (Chile)', + 'es_CO' => 'Spanish (Colombia)', + 'es_CR' => 'Spanish (Costa Rica)', + 'es_DO' => 'Spanish (Dominican Republic)', + 'es_EC' => 'Spanish (Ecuador)', + 'es_SV' => 'Spanish (El Salvador)', + 'es_GQ' => 'Spanish (Equatorial Guinea)', + 'es_GT' => 'Spanish (Guatemala)', + 'es_HN' => 'Spanish (Honduras)', + 'es_419' => 'Spanish (Latin America)', + 'es_MX' => 'Spanish (Mexico)', + 'es_NI' => 'Spanish (Nicaragua)', + 'es_PA' => 'Spanish (Panama)', + 'es_PY' => 'Spanish (Paraguay)', + 'es_PE' => 'Spanish (Peru)', + 'es_PR' => 'Spanish (Puerto Rico)', + 'es_ES' => 'Spanish (Spain)', + 'es_US' => 'Spanish (United States)', + 'es_UY' => 'Spanish (Uruguay)', + 'es_VE' => 'Spanish (Venezuela)', + 'es' => 'Spanish', + 'sw_KE' => 'Swahili (Kenya)', + 'sw_TZ' => 'Swahili (Tanzania)', + 'sw' => 'Swahili', + 'sv_FI' => 'Swedish (Finland)', + 'sv_SE' => 'Swedish (Sweden)', + 'sv' => 'Swedish', + 'gsw_CH' => 'Swiss German (Switzerland)', + 'gsw' => 'Swiss German', + 'shi_Latn' => 'Tachelhit (Latin)', + 'shi_Latn_MA' => 'Tachelhit (Latin, Morocco)', + 'shi_Tfng' => 'Tachelhit (Tifinagh)', + 'shi_Tfng_MA' => 'Tachelhit (Tifinagh, Morocco)', + 'shi' => 'Tachelhit', + 'dav_KE' => 'Taita (Kenya)', + 'dav' => 'Taita', + 'ta_IN' => 'Tamil (India)', + 'ta_LK' => 'Tamil (Sri Lanka)', + 'ta' => 'Tamil', + 'te_IN' => 'Telugu (India)', + 'te' => 'Telugu', + 'teo_KE' => 'Teso (Kenya)', + 'teo_UG' => 'Teso (Uganda)', + 'teo' => 'Teso', + 'th_TH' => 'Thai (Thailand)', + 'th' => 'Thai', + 'bo_CN' => 'Tibetan (China)', + 'bo_IN' => 'Tibetan (India)', + 'bo' => 'Tibetan', + 'ti_ER' => 'Tigrinya (Eritrea)', + 'ti_ET' => 'Tigrinya (Ethiopia)', + 'ti' => 'Tigrinya', + 'to_TO' => 'Tonga (Tonga)', + 'to' => 'Tonga', + 'tr_TR' => 'Turkish (Turkey)', + 'tr' => 'Turkish', + 'uk_UA' => 'Ukrainian (Ukraine)', + 'uk' => 'Ukrainian', + 'ur_IN' => 'Urdu (India)', + 'ur_PK' => 'Urdu (Pakistan)', + 'ur' => 'Urdu', + 'uz_Arab' => 'Uzbek (Arabic)', + 'uz_Arab_AF' => 'Uzbek (Arabic, Afghanistan)', + 'uz_Cyrl' => 'Uzbek (Cyrillic)', + 'uz_Cyrl_UZ' => 'Uzbek (Cyrillic, Uzbekistan)', + 'uz_Latn' => 'Uzbek (Latin)', + 'uz_Latn_UZ' => 'Uzbek (Latin, Uzbekistan)', + 'uz' => 'Uzbek', + 'vi_VN' => 'Vietnamese (Vietnam)', + 'vi' => 'Vietnamese', + 'vun_TZ' => 'Vunjo (Tanzania)', + 'vun' => 'Vunjo', + 'cy_GB' => 'Welsh (United Kingdom)', + 'cy' => 'Welsh', + 'yo_NG' => 'Yoruba (Nigeria)', + 'yo' => 'Yoruba', + 'zu_ZA' => 'Zulu (South Africa)', + 'zu' => 'Zulu', +]; + $category_types_array = array( 'Expense', 'Income', diff --git a/guest_view_invoice.php b/guest_view_invoice.php index e045356c..4a79eb4c 100644 --- a/guest_view_invoice.php +++ b/guest_view_invoice.php @@ -58,13 +58,14 @@ if(isset($_GET['invoice_id'], $_GET['url_key'])){ if(!empty($company_logo)){ $company_logo_base64 = base64_encode(file_get_contents("uploads/settings/$company_id/$company_logo")); } + $company_locale = $row['company_locale']; $config_invoice_footer = $row['config_invoice_footer']; $config_stripe_enable = $row['config_stripe_enable']; $config_stripe_publishable = $row['config_stripe_publishable']; $config_stripe_secret = $row['config_stripe_secret']; //Set Currency Format - $currency_format = numfmt_create('en-US', NumberFormatter::CURRENCY); + $currency_format = numfmt_create($company_locale, NumberFormatter::CURRENCY); $ip = strip_tags(mysqli_real_escape_string($mysqli,get_ip())); $os = strip_tags(mysqli_real_escape_string($mysqli,get_os())); diff --git a/guest_view_quote.php b/guest_view_quote.php index 4b0d6417..d1bcc998 100644 --- a/guest_view_quote.php +++ b/guest_view_quote.php @@ -58,10 +58,11 @@ if(isset($_GET['quote_id'], $_GET['url_key'])){ if(!empty($company_logo)){ $company_logo_base64 = base64_encode(file_get_contents("uploads/settings/$company_id/$company_logo")); } + $company_locale = $row['company_locale']; $config_quote_footer = $row['config_quote_footer']; //Set Currency Format - $currency_format = numfmt_create('en-US', NumberFormatter::CURRENCY); + $currency_format = numfmt_create($company_locale, NumberFormatter::CURRENCY); $ip = get_ip(); $os = get_os(); diff --git a/post.php b/post.php index 1439c00e..759ff796 100644 --- a/post.php +++ b/post.php @@ -442,9 +442,10 @@ if(isset($_POST['add_company'])){ $phone = preg_replace("/[^0-9]/", '',$_POST['phone']); $email = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['email']))); $website = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['website']))); + $locale = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['locale']))); $currency_code = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['currency_code']))); - - mysqli_query($mysqli,"INSERT INTO companies SET company_name = '$name', company_address = '$address', company_city = '$city', company_state = '$state', company_zip = '$zip', company_country = '$country', company_phone = '$phone', company_email = '$email', company_website = '$website', company_currency = '$currency_code', company_created_at = NOW()"); + + mysqli_query($mysqli,"INSERT INTO companies SET company_name = '$name', company_address = '$address', company_city = '$city', company_state = '$state', company_zip = '$zip', company_country = '$country', company_phone = '$phone', company_email = '$email', company_website = '$website', company_locale = '$locale', company_currency = '$currency_code',company_created_at = NOW()"); $company_id = mysqli_insert_id($mysqli); $config_base_url = $_SERVER['HTTP_HOST'] . dirname($_SERVER['REQUEST_URI']); @@ -540,6 +541,7 @@ if(isset($_POST['edit_company'])){ $phone = preg_replace("/[^0-9]/", '',$_POST['phone']); $email = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['email']))); $website = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['website']))); + $locale = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['locale']))); $currency_code = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['currency_code']))); $existing_file_name = strip_tags(mysqli_real_escape_string($mysqli,$_POST['existing_file_name'])); @@ -593,7 +595,7 @@ if(isset($_POST['edit_company'])){ } } - mysqli_query($mysqli,"UPDATE companies SET company_name = '$name', company_address = '$address', company_city = '$city', company_state = '$state', company_zip = '$zip', company_country = '$country', company_phone = '$phone', company_email = '$email', company_website = '$website', company_currency = '$currency_code', company_updated_at = NOW() WHERE company_id = $company_id"); + mysqli_query($mysqli,"UPDATE companies SET company_name = '$name', company_address = '$address', company_city = '$city', company_state = '$state', company_zip = '$zip', company_country = '$country', company_phone = '$phone', company_email = '$email', company_website = '$website', company_locale = '$locale', company_currency = '$currency_code', company_updated_at = NOW() WHERE company_id = $company_id"); //Logging mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Company', log_action = 'Modify', log_description = '$session_name modified company $name', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_created_at = NOW(), log_user_id = $session_user_id, company_id = $session_company_id"); diff --git a/setup.php b/setup.php index 7616ecfd..761051f4 100644 --- a/setup.php +++ b/setup.php @@ -327,6 +327,444 @@ $currencies_array = array( 'ZWD' => 'Zimbabwe Dollar' ); +// List of locales +$locales_array = [ + 'af_NA' => 'Afrikaans (Namibia)', + 'af_ZA' => 'Afrikaans (South Africa)', + 'af' => 'Afrikaans', + 'ak_GH' => 'Akan (Ghana)', + 'ak' => 'Akan', + 'sq_AL' => 'Albanian (Albania)', + 'sq' => 'Albanian', + 'am_ET' => 'Amharic (Ethiopia)', + 'am' => 'Amharic', + 'ar_DZ' => 'Arabic (Algeria)', + 'ar_BH' => 'Arabic (Bahrain)', + 'ar_EG' => 'Arabic (Egypt)', + 'ar_IQ' => 'Arabic (Iraq)', + 'ar_JO' => 'Arabic (Jordan)', + 'ar_KW' => 'Arabic (Kuwait)', + 'ar_LB' => 'Arabic (Lebanon)', + 'ar_LY' => 'Arabic (Libya)', + 'ar_MA' => 'Arabic (Morocco)', + 'ar_OM' => 'Arabic (Oman)', + 'ar_QA' => 'Arabic (Qatar)', + 'ar_SA' => 'Arabic (Saudi Arabia)', + 'ar_SD' => 'Arabic (Sudan)', + 'ar_SY' => 'Arabic (Syria)', + 'ar_TN' => 'Arabic (Tunisia)', + 'ar_AE' => 'Arabic (United Arab Emirates)', + 'ar_YE' => 'Arabic (Yemen)', + 'ar' => 'Arabic', + 'hy_AM' => 'Armenian (Armenia)', + 'hy' => 'Armenian', + 'as_IN' => 'Assamese (India)', + 'as' => 'Assamese', + 'asa_TZ' => 'Asu (Tanzania)', + 'asa' => 'Asu', + 'az_Cyrl' => 'Azerbaijani (Cyrillic)', + 'az_Cyrl_AZ' => 'Azerbaijani (Cyrillic, Azerbaijan)', + 'az_Latn' => 'Azerbaijani (Latin)', + 'az_Latn_AZ' => 'Azerbaijani (Latin, Azerbaijan)', + 'az' => 'Azerbaijani', + 'bm_ML' => 'Bambara (Mali)', + 'bm' => 'Bambara', + 'eu_ES' => 'Basque (Spain)', + 'eu' => 'Basque', + 'be_BY' => 'Belarusian (Belarus)', + 'be' => 'Belarusian', + 'bem_ZM' => 'Bemba (Zambia)', + 'bem' => 'Bemba', + 'bez_TZ' => 'Bena (Tanzania)', + 'bez' => 'Bena', + 'bn_BD' => 'Bengali (Bangladesh)', + 'bn_IN' => 'Bengali (India)', + 'bn' => 'Bengali', + 'bs_BA' => 'Bosnian (Bosnia and Herzegovina)', + 'bs' => 'Bosnian', + 'bg_BG' => 'Bulgarian (Bulgaria)', + 'bg' => 'Bulgarian', + 'my_MM' => 'Burmese (Myanmar [Burma])', + 'my' => 'Burmese', + 'ca_ES' => 'Catalan (Spain)', + 'ca' => 'Catalan', + 'tzm_Latn' => 'Central Morocco Tamazight (Latin)', + 'tzm_Latn_MA' => 'Central Morocco Tamazight (Latin, Morocco)', + 'tzm' => 'Central Morocco Tamazight', + 'chr_US' => 'Cherokee (United States)', + 'chr' => 'Cherokee', + 'cgg_UG' => 'Chiga (Uganda)', + 'cgg' => 'Chiga', + 'zh_Hans' => 'Chinese (Simplified Han)', + 'zh_Hans_CN' => 'Chinese (Simplified Han, China)', + 'zh_Hans_HK' => 'Chinese (Simplified Han, Hong Kong SAR China)', + 'zh_Hans_MO' => 'Chinese (Simplified Han, Macau SAR China)', + 'zh_Hans_SG' => 'Chinese (Simplified Han, Singapore)', + 'zh_Hant' => 'Chinese (Traditional Han)', + 'zh_Hant_HK' => 'Chinese (Traditional Han, Hong Kong SAR China)', + 'zh_Hant_MO' => 'Chinese (Traditional Han, Macau SAR China)', + 'zh_Hant_TW' => 'Chinese (Traditional Han, Taiwan)', + 'zh' => 'Chinese', + 'kw_GB' => 'Cornish (United Kingdom)', + 'kw' => 'Cornish', + 'hr_HR' => 'Croatian (Croatia)', + 'hr' => 'Croatian', + 'cs_CZ' => 'Czech (Czech Republic)', + 'cs' => 'Czech', + 'da_DK' => 'Danish (Denmark)', + 'da' => 'Danish', + 'nl_BE' => 'Dutch (Belgium)', + 'nl_NL' => 'Dutch (Netherlands)', + 'nl' => 'Dutch', + 'ebu_KE' => 'Embu (Kenya)', + 'ebu' => 'Embu', + 'en_AS' => 'English (American Samoa)', + 'en_AU' => 'English (Australia)', + 'en_BE' => 'English (Belgium)', + 'en_BZ' => 'English (Belize)', + 'en_BW' => 'English (Botswana)', + 'en_CA' => 'English (Canada)', + 'en_GU' => 'English (Guam)', + 'en_HK' => 'English (Hong Kong SAR China)', + 'en_IN' => 'English (India)', + 'en_IE' => 'English (Ireland)', + 'en_JM' => 'English (Jamaica)', + 'en_MT' => 'English (Malta)', + 'en_MH' => 'English (Marshall Islands)', + 'en_MU' => 'English (Mauritius)', + 'en_NA' => 'English (Namibia)', + 'en_NZ' => 'English (New Zealand)', + 'en_MP' => 'English (Northern Mariana Islands)', + 'en_PK' => 'English (Pakistan)', + 'en_PH' => 'English (Philippines)', + 'en_SG' => 'English (Singapore)', + 'en_ZA' => 'English (South Africa)', + 'en_TT' => 'English (Trinidad and Tobago)', + 'en_UM' => 'English (U.S. Minor Outlying Islands)', + 'en_VI' => 'English (U.S. Virgin Islands)', + 'en_GB' => 'English (United Kingdom)', + 'en_US' => 'English (United States)', + 'en_ZW' => 'English (Zimbabwe)', + 'en' => 'English', + 'eo' => 'Esperanto', + 'et_EE' => 'Estonian (Estonia)', + 'et' => 'Estonian', + 'ee_GH' => 'Ewe (Ghana)', + 'ee_TG' => 'Ewe (Togo)', + 'ee' => 'Ewe', + 'fo_FO' => 'Faroese (Faroe Islands)', + 'fo' => 'Faroese', + 'fil_PH' => 'Filipino (Philippines)', + 'fil' => 'Filipino', + 'fi_FI' => 'Finnish (Finland)', + 'fi' => 'Finnish', + 'fr_BE' => 'French (Belgium)', + 'fr_BJ' => 'French (Benin)', + 'fr_BF' => 'French (Burkina Faso)', + 'fr_BI' => 'French (Burundi)', + 'fr_CM' => 'French (Cameroon)', + 'fr_CA' => 'French (Canada)', + 'fr_CF' => 'French (Central African Republic)', + 'fr_TD' => 'French (Chad)', + 'fr_KM' => 'French (Comoros)', + 'fr_CG' => 'French (Congo - Brazzaville)', + 'fr_CD' => 'French (Congo - Kinshasa)', + 'fr_CI' => 'French (Côte d’Ivoire)', + 'fr_DJ' => 'French (Djibouti)', + 'fr_GQ' => 'French (Equatorial Guinea)', + 'fr_FR' => 'French (France)', + 'fr_GA' => 'French (Gabon)', + 'fr_GP' => 'French (Guadeloupe)', + 'fr_GN' => 'French (Guinea)', + 'fr_LU' => 'French (Luxembourg)', + 'fr_MG' => 'French (Madagascar)', + 'fr_ML' => 'French (Mali)', + 'fr_MQ' => 'French (Martinique)', + 'fr_MC' => 'French (Monaco)', + 'fr_NE' => 'French (Niger)', + 'fr_RW' => 'French (Rwanda)', + 'fr_RE' => 'French (Réunion)', + 'fr_BL' => 'French (Saint Barthélemy)', + 'fr_MF' => 'French (Saint Martin)', + 'fr_SN' => 'French (Senegal)', + 'fr_CH' => 'French (Switzerland)', + 'fr_TG' => 'French (Togo)', + 'fr' => 'French', + 'ff_SN' => 'Fulah (Senegal)', + 'ff' => 'Fulah', + 'gl_ES' => 'Galician (Spain)', + 'gl' => 'Galician', + 'lg_UG' => 'Ganda (Uganda)', + 'lg' => 'Ganda', + 'ka_GE' => 'Georgian (Georgia)', + 'ka' => 'Georgian', + 'de_AT' => 'German (Austria)', + 'de_BE' => 'German (Belgium)', + 'de_DE' => 'German (Germany)', + 'de_LI' => 'German (Liechtenstein)', + 'de_LU' => 'German (Luxembourg)', + 'de_CH' => 'German (Switzerland)', + 'de' => 'German', + 'el_CY' => 'Greek (Cyprus)', + 'el_GR' => 'Greek (Greece)', + 'el' => 'Greek', + 'gu_IN' => 'Gujarati (India)', + 'gu' => 'Gujarati', + 'guz_KE' => 'Gusii (Kenya)', + 'guz' => 'Gusii', + 'ha_Latn' => 'Hausa (Latin)', + 'ha_Latn_GH' => 'Hausa (Latin, Ghana)', + 'ha_Latn_NE' => 'Hausa (Latin, Niger)', + 'ha_Latn_NG' => 'Hausa (Latin, Nigeria)', + 'ha' => 'Hausa', + 'haw_US' => 'Hawaiian (United States)', + 'haw' => 'Hawaiian', + 'he_IL' => 'Hebrew (Israel)', + 'he' => 'Hebrew', + 'hi_IN' => 'Hindi (India)', + 'hi' => 'Hindi', + 'hu_HU' => 'Hungarian (Hungary)', + 'hu' => 'Hungarian', + 'is_IS' => 'Icelandic (Iceland)', + 'is' => 'Icelandic', + 'ig_NG' => 'Igbo (Nigeria)', + 'ig' => 'Igbo', + 'id_ID' => 'Indonesian (Indonesia)', + 'id' => 'Indonesian', + 'ga_IE' => 'Irish (Ireland)', + 'ga' => 'Irish', + 'it_IT' => 'Italian (Italy)', + 'it_CH' => 'Italian (Switzerland)', + 'it' => 'Italian', + 'ja_JP' => 'Japanese (Japan)', + 'ja' => 'Japanese', + 'kea_CV' => 'Kabuverdianu (Cape Verde)', + 'kea' => 'Kabuverdianu', + 'kab_DZ' => 'Kabyle (Algeria)', + 'kab' => 'Kabyle', + 'kl_GL' => 'Kalaallisut (Greenland)', + 'kl' => 'Kalaallisut', + 'kln_KE' => 'Kalenjin (Kenya)', + 'kln' => 'Kalenjin', + 'kam_KE' => 'Kamba (Kenya)', + 'kam' => 'Kamba', + 'kn_IN' => 'Kannada (India)', + 'kn' => 'Kannada', + 'kk_Cyrl' => 'Kazakh (Cyrillic)', + 'kk_Cyrl_KZ' => 'Kazakh (Cyrillic, Kazakhstan)', + 'kk' => 'Kazakh', + 'km_KH' => 'Khmer (Cambodia)', + 'km' => 'Khmer', + 'ki_KE' => 'Kikuyu (Kenya)', + 'ki' => 'Kikuyu', + 'rw_RW' => 'Kinyarwanda (Rwanda)', + 'rw' => 'Kinyarwanda', + 'kok_IN' => 'Konkani (India)', + 'kok' => 'Konkani', + 'ko_KR' => 'Korean (South Korea)', + 'ko' => 'Korean', + 'khq_ML' => 'Koyra Chiini (Mali)', + 'khq' => 'Koyra Chiini', + 'ses_ML' => 'Koyraboro Senni (Mali)', + 'ses' => 'Koyraboro Senni', + 'lag_TZ' => 'Langi (Tanzania)', + 'lag' => 'Langi', + 'lv_LV' => 'Latvian (Latvia)', + 'lv' => 'Latvian', + 'lt_LT' => 'Lithuanian (Lithuania)', + 'lt' => 'Lithuanian', + 'luo_KE' => 'Luo (Kenya)', + 'luo' => 'Luo', + 'luy_KE' => 'Luyia (Kenya)', + 'luy' => 'Luyia', + 'mk_MK' => 'Macedonian (Macedonia)', + 'mk' => 'Macedonian', + 'jmc_TZ' => 'Machame (Tanzania)', + 'jmc' => 'Machame', + 'kde_TZ' => 'Makonde (Tanzania)', + 'kde' => 'Makonde', + 'mg_MG' => 'Malagasy (Madagascar)', + 'mg' => 'Malagasy', + 'ms_BN' => 'Malay (Brunei)', + 'ms_MY' => 'Malay (Malaysia)', + 'ms' => 'Malay', + 'ml_IN' => 'Malayalam (India)', + 'ml' => 'Malayalam', + 'mt_MT' => 'Maltese (Malta)', + 'mt' => 'Maltese', + 'gv_GB' => 'Manx (United Kingdom)', + 'gv' => 'Manx', + 'mr_IN' => 'Marathi (India)', + 'mr' => 'Marathi', + 'mas_KE' => 'Masai (Kenya)', + 'mas_TZ' => 'Masai (Tanzania)', + 'mas' => 'Masai', + 'mer_KE' => 'Meru (Kenya)', + 'mer' => 'Meru', + 'mfe_MU' => 'Morisyen (Mauritius)', + 'mfe' => 'Morisyen', + 'naq_NA' => 'Nama (Namibia)', + 'naq' => 'Nama', + 'ne_IN' => 'Nepali (India)', + 'ne_NP' => 'Nepali (Nepal)', + 'ne' => 'Nepali', + 'nd_ZW' => 'North Ndebele (Zimbabwe)', + 'nd' => 'North Ndebele', + 'nb_NO' => 'Norwegian Bokmål (Norway)', + 'nb' => 'Norwegian Bokmål', + 'nn_NO' => 'Norwegian Nynorsk (Norway)', + 'nn' => 'Norwegian Nynorsk', + 'nyn_UG' => 'Nyankole (Uganda)', + 'nyn' => 'Nyankole', + 'or_IN' => 'Oriya (India)', + 'or' => 'Oriya', + 'om_ET' => 'Oromo (Ethiopia)', + 'om_KE' => 'Oromo (Kenya)', + 'om' => 'Oromo', + 'ps_AF' => 'Pashto (Afghanistan)', + 'ps' => 'Pashto', + 'fa_AF' => 'Persian (Afghanistan)', + 'fa_IR' => 'Persian (Iran)', + 'fa' => 'Persian', + 'pl_PL' => 'Polish (Poland)', + 'pl' => 'Polish', + 'pt_BR' => 'Portuguese (Brazil)', + 'pt_GW' => 'Portuguese (Guinea-Bissau)', + 'pt_MZ' => 'Portuguese (Mozambique)', + 'pt_PT' => 'Portuguese (Portugal)', + 'pt' => 'Portuguese', + 'pa_Arab' => 'Punjabi (Arabic)', + 'pa_Arab_PK' => 'Punjabi (Arabic, Pakistan)', + 'pa_Guru' => 'Punjabi (Gurmukhi)', + 'pa_Guru_IN' => 'Punjabi (Gurmukhi, India)', + 'pa' => 'Punjabi', + 'ro_MD' => 'Romanian (Moldova)', + 'ro_RO' => 'Romanian (Romania)', + 'ro' => 'Romanian', + 'rm_CH' => 'Romansh (Switzerland)', + 'rm' => 'Romansh', + 'rof_TZ' => 'Rombo (Tanzania)', + 'rof' => 'Rombo', + 'ru_MD' => 'Russian (Moldova)', + 'ru_RU' => 'Russian (Russia)', + 'ru_UA' => 'Russian (Ukraine)', + 'ru' => 'Russian', + 'rwk_TZ' => 'Rwa (Tanzania)', + 'rwk' => 'Rwa', + 'saq_KE' => 'Samburu (Kenya)', + 'saq' => 'Samburu', + 'sg_CF' => 'Sango (Central African Republic)', + 'sg' => 'Sango', + 'seh_MZ' => 'Sena (Mozambique)', + 'seh' => 'Sena', + 'sr_Cyrl' => 'Serbian (Cyrillic)', + 'sr_Cyrl_BA' => 'Serbian (Cyrillic, Bosnia and Herzegovina)', + 'sr_Cyrl_ME' => 'Serbian (Cyrillic, Montenegro)', + 'sr_Cyrl_RS' => 'Serbian (Cyrillic, Serbia)', + 'sr_Latn' => 'Serbian (Latin)', + 'sr_Latn_BA' => 'Serbian (Latin, Bosnia and Herzegovina)', + 'sr_Latn_ME' => 'Serbian (Latin, Montenegro)', + 'sr_Latn_RS' => 'Serbian (Latin, Serbia)', + 'sr' => 'Serbian', + 'sn_ZW' => 'Shona (Zimbabwe)', + 'sn' => 'Shona', + 'ii_CN' => 'Sichuan Yi (China)', + 'ii' => 'Sichuan Yi', + 'si_LK' => 'Sinhala (Sri Lanka)', + 'si' => 'Sinhala', + 'sk_SK' => 'Slovak (Slovakia)', + 'sk' => 'Slovak', + 'sl_SI' => 'Slovenian (Slovenia)', + 'sl' => 'Slovenian', + 'xog_UG' => 'Soga (Uganda)', + 'xog' => 'Soga', + 'so_DJ' => 'Somali (Djibouti)', + 'so_ET' => 'Somali (Ethiopia)', + 'so_KE' => 'Somali (Kenya)', + 'so_SO' => 'Somali (Somalia)', + 'so' => 'Somali', + 'es_AR' => 'Spanish (Argentina)', + 'es_BO' => 'Spanish (Bolivia)', + 'es_CL' => 'Spanish (Chile)', + 'es_CO' => 'Spanish (Colombia)', + 'es_CR' => 'Spanish (Costa Rica)', + 'es_DO' => 'Spanish (Dominican Republic)', + 'es_EC' => 'Spanish (Ecuador)', + 'es_SV' => 'Spanish (El Salvador)', + 'es_GQ' => 'Spanish (Equatorial Guinea)', + 'es_GT' => 'Spanish (Guatemala)', + 'es_HN' => 'Spanish (Honduras)', + 'es_419' => 'Spanish (Latin America)', + 'es_MX' => 'Spanish (Mexico)', + 'es_NI' => 'Spanish (Nicaragua)', + 'es_PA' => 'Spanish (Panama)', + 'es_PY' => 'Spanish (Paraguay)', + 'es_PE' => 'Spanish (Peru)', + 'es_PR' => 'Spanish (Puerto Rico)', + 'es_ES' => 'Spanish (Spain)', + 'es_US' => 'Spanish (United States)', + 'es_UY' => 'Spanish (Uruguay)', + 'es_VE' => 'Spanish (Venezuela)', + 'es' => 'Spanish', + 'sw_KE' => 'Swahili (Kenya)', + 'sw_TZ' => 'Swahili (Tanzania)', + 'sw' => 'Swahili', + 'sv_FI' => 'Swedish (Finland)', + 'sv_SE' => 'Swedish (Sweden)', + 'sv' => 'Swedish', + 'gsw_CH' => 'Swiss German (Switzerland)', + 'gsw' => 'Swiss German', + 'shi_Latn' => 'Tachelhit (Latin)', + 'shi_Latn_MA' => 'Tachelhit (Latin, Morocco)', + 'shi_Tfng' => 'Tachelhit (Tifinagh)', + 'shi_Tfng_MA' => 'Tachelhit (Tifinagh, Morocco)', + 'shi' => 'Tachelhit', + 'dav_KE' => 'Taita (Kenya)', + 'dav' => 'Taita', + 'ta_IN' => 'Tamil (India)', + 'ta_LK' => 'Tamil (Sri Lanka)', + 'ta' => 'Tamil', + 'te_IN' => 'Telugu (India)', + 'te' => 'Telugu', + 'teo_KE' => 'Teso (Kenya)', + 'teo_UG' => 'Teso (Uganda)', + 'teo' => 'Teso', + 'th_TH' => 'Thai (Thailand)', + 'th' => 'Thai', + 'bo_CN' => 'Tibetan (China)', + 'bo_IN' => 'Tibetan (India)', + 'bo' => 'Tibetan', + 'ti_ER' => 'Tigrinya (Eritrea)', + 'ti_ET' => 'Tigrinya (Ethiopia)', + 'ti' => 'Tigrinya', + 'to_TO' => 'Tonga (Tonga)', + 'to' => 'Tonga', + 'tr_TR' => 'Turkish (Turkey)', + 'tr' => 'Turkish', + 'uk_UA' => 'Ukrainian (Ukraine)', + 'uk' => 'Ukrainian', + 'ur_IN' => 'Urdu (India)', + 'ur_PK' => 'Urdu (Pakistan)', + 'ur' => 'Urdu', + 'uz_Arab' => 'Uzbek (Arabic)', + 'uz_Arab_AF' => 'Uzbek (Arabic, Afghanistan)', + 'uz_Cyrl' => 'Uzbek (Cyrillic)', + 'uz_Cyrl_UZ' => 'Uzbek (Cyrillic, Uzbekistan)', + 'uz_Latn' => 'Uzbek (Latin)', + 'uz_Latn_UZ' => 'Uzbek (Latin, Uzbekistan)', + 'uz' => 'Uzbek', + 'vi_VN' => 'Vietnamese (Vietnam)', + 'vi' => 'Vietnamese', + 'vun_TZ' => 'Vunjo (Tanzania)', + 'vun' => 'Vunjo', + 'cy_GB' => 'Welsh (United Kingdom)', + 'cy' => 'Welsh', + 'yo_NG' => 'Yoruba (Nigeria)', + 'yo' => 'Yoruba', + 'zu_ZA' => 'Zulu (South Africa)', + 'zu' => 'Zulu', +]; + if(isset($_POST['add_database'])){ // Check if database has been setup already. If it has, direct user to edit directly instead. @@ -479,9 +917,10 @@ if(isset($_POST['add_company_settings'])){ $phone = preg_replace("/[^0-9]/", '',$_POST['phone']); $email = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['email']))); $website = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['website']))); + $locale = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['locale']))); $currency_code = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['currency_code']))); - mysqli_query($mysqli,"INSERT INTO companies SET company_name = '$name', company_address = '$address', company_city = '$city', company_state = '$state', company_zip = '$zip', company_country = '$country', company_phone = '$phone', company_email = '$email', company_website = '$website', company_currency = '$currency_code', company_created_at = NOW()"); + mysqli_query($mysqli,"INSERT INTO companies SET company_name = '$name', company_address = '$address', company_city = '$city', company_state = '$state', company_zip = '$zip', company_country = '$country', company_phone = '$phone', company_email = '$email', company_website = '$website', company_locale = '$locale', company_currency = '$currency_code', company_created_at = NOW()"); $company_id = mysqli_insert_id($mysqli); $config_base_url = $_SERVER['HTTP_HOST'] . dirname($_SERVER['REQUEST_URI']); @@ -970,6 +1409,21 @@ if(isset($_POST['add_telemetry'])){
+
+ +
+
+ +
+ +
+
+