diff --git a/application/config/autoload.php b/application/config/autoload.php index ccee7912d..114114780 100644 --- a/application/config/autoload.php +++ b/application/config/autoload.php @@ -83,7 +83,7 @@ $autoload['drivers'] = array(); | | $autoload['helper'] = array('url', 'file'); */ -$autoload['helper'] = array('form', 'url', 'table', 'text', 'currency', 'html', 'download', 'directory', 'dateformat', 'quantity'); +$autoload['helper'] = array('form', 'url', 'table', 'text', 'locale', 'html', 'download', 'directory'); /* | ------------------------------------------------------------------- diff --git a/application/controllers/Config.php b/application/controllers/Config.php index 799755f11..1859c9ce5 100644 --- a/application/controllers/Config.php +++ b/application/controllers/Config.php @@ -63,12 +63,12 @@ class Config extends Secure_area $message = $this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully'); $message = $upload_success ? $message : $this->upload->display_errors(); - echo json_encode(array('success'=>$success,'message'=>$message)); + echo json_encode(array('success'=>$success, 'message'=>$message)); } function save_locale() { - $batch_save_data=array( + $batch_save_data = array( 'currency_symbol'=>$this->input->post('currency_symbol'), 'currency_side'=>$this->input->post('currency_side') != null, 'language'=>$this->input->post('language'), @@ -77,10 +77,11 @@ class Config extends Secure_area 'timeformat'=>$this->input->post('timeformat'), 'thousands_separator'=>$this->input->post('thousands_separator'), 'decimal_point'=>$this->input->post('decimal_point'), + 'currency_decimals'=>$this->input->post('currency_decimals'), 'quantity_decimals'=>$this->input->post('quantity_decimals') ); - $result = $this->Appconfig->batch_save( $batch_save_data ); + $result = $this->Appconfig->batch_save($batch_save_data); $success = $result ? true : false; echo json_encode(array('success'=>$success, 'message'=>$this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully'))); @@ -131,7 +132,7 @@ class Config extends Secure_area $success = $this->db->trans_complete(); - echo json_encode(array('success'=>$success,'message'=>$this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully'))); + echo json_encode(array('success'=>$success, 'message'=>$this->lang->line('config_saved_' . ($success ? '' : 'un') . 'successfully'))); } function save_barcode() @@ -185,7 +186,7 @@ class Config extends Secure_area { $result = $this->Appconfig->batch_save(array('company_logo' => '')); - echo json_encode(array('success' => $result)); + echo json_encode(array('success'=>$result)); } private function _handle_logo_upload() @@ -221,7 +222,8 @@ class Config extends Secure_area $file_name = 'ospos-' . date("Y-m-d-H-i-s") .'.zip'; $save = 'uploads/'.$file_name; $this->load->helper('download'); - while (ob_get_level()) { + while (ob_get_level()) + { ob_end_clean(); } force_download($file_name, $backup); diff --git a/application/helpers/currency_helper.php b/application/helpers/currency_helper.php deleted file mode 100644 index 09f535e43..000000000 --- a/application/helpers/currency_helper.php +++ /dev/null @@ -1,40 +0,0 @@ -config->item('currency_symbol') ? $CI->config->item('currency_symbol') : '$'; - $currency_symbol = $currency_symbol == '$' && $escape ? '\$' : $currency_symbol; - $thousands_separator = $CI->config->item('thousands_separator') ? $CI->config->item('thousands_separator') : ''; - $decimal_point = $CI->config->item('decimal_point') ? $CI->config->item('decimal_point') : '.'; - $decimals = $CI->config->item('currency_decimals') ? $CI->config->item('currency_decimals') : 2; - - if($number >= 0) - { - if($CI->config->item('currency_side') !== 'currency_side') - return $currency_symbol.number_format($number, $decimals, $decimal_point, $thousands_separator); - else - return number_format($number, $decimals, $decimal_point, $thousands_separator).$currency_symbol; - } - else - { - if($CI->config->item('currency_side') !== 'currency_side') - return '-'.$currency_symbol.number_format(abs($number), $decimals, $decimal_point, $thousands_separator); - else - return '-'.number_format(abs($number), $decimals, $decimal_point, $thousands_separator).$currency_symbol; - } -} - -function to_currency_no_money($number) -{ - $CI =& get_instance(); - - $thousands_separator = $CI->config->item('thousands_separator') ? $CI->config->item('thousands_separator') : ''; - $decimal_point = $CI->config->item('decimal_point') ? $CI->config->item('decimal_point') : '.'; - $decimals = $CI->config->item('currency_decimals') ? $CI->config->item('currency_decimals') : 2; - - return number_format($number, $decimals, $decimal_point, $thousands_separator); -} - -?> diff --git a/application/helpers/dateformat_helper.php b/application/helpers/locale_helper.php similarity index 66% rename from application/helpers/dateformat_helper.php rename to application/helpers/locale_helper.php index 6d31437d3..48bec9a41 100644 --- a/application/helpers/dateformat_helper.php +++ b/application/helpers/locale_helper.php @@ -1,9 +1,72 @@ config->item('currency_symbol') ? $CI->config->item('currency_symbol') : '$'; + $currency_symbol = $currency_symbol == '$' && $escape ? '\$' : $currency_symbol; + $thousands_separator = $CI->config->item('thousands_separator') ? $CI->config->item('thousands_separator') : ''; + $decimal_point = $CI->config->item('decimal_point') ? $CI->config->item('decimal_point') : '.'; + $decimals = $CI->config->item('currency_decimals') ? $CI->config->item('currency_decimals') : 0; + + if($number >= 0) + { + if($CI->config->item('currency_side') !== 'currency_side') + return $currency_symbol.number_format($number, $decimals, $decimal_point, $thousands_separator); + else + return number_format($number, $decimals, $decimal_point, $thousands_separator).$currency_symbol; + } + else + { + if($CI->config->item('currency_side') !== 'currency_side') + return '-'.$currency_symbol.number_format(abs($number), $decimals, $decimal_point, $thousands_separator); + else + return '-'.number_format(abs($number), $decimals, $decimal_point, $thousands_separator).$currency_symbol; + } } + +function to_currency_no_money($number) +{ + // ignore empty strings as they are just for empty input + if( empty($number) ) + { + return $number; + } + + $CI =& get_instance(); + + $decimals = $CI->config->item('currency_decimals') ? $CI->config->item('currency_decimals') : 0; + + return number_format($number, $decimals, '.', ''); +} + +/* + * Quantity decimals + */ + +function to_quantity($number) +{ + $CI =& get_instance(); + + $decimal_point = $CI->config->item('decimal_point') ? $CI->config->item('decimal_point') : '.'; + $decimals = $CI->config->item('quantity_decimals') ? $CI->config->item('quantity_decimals') : 0; + + return number_format($number, $decimals, $decimal_point, ''); +} + +function quantity_decimals() +{ + $CI =& get_instance(); + + return $CI->config->item('quantity_decimals') ? $CI->config->item('quantity_decimals') : 0; +} + + /* * Matches each symbol of PHP date format standard * with jQuery equivalent codeword @@ -112,6 +175,7 @@ function dateformat_momentjs($php_format) 'r' => '', // no equivalent 'U' => 'X' ); + return strtr($php_format, $SYMBOLS_MATCHING); } @@ -178,4 +242,4 @@ function dateformat_bootstrap($php_format) return $bootstrap_format; } -?> \ No newline at end of file +?> diff --git a/application/helpers/quantity_helper.php b/application/helpers/quantity_helper.php deleted file mode 100644 index cc289d393..000000000 --- a/application/helpers/quantity_helper.php +++ /dev/null @@ -1,13 +0,0 @@ -config->item('quantity_decimals') ? $CI->config->item('quantity_decimals') : 0; - $decimal_point = $CI->config->item('decimal_point') ? $CI->config->item('decimal_point') : '.'; - - return number_format($number, $decimals, $decimal_point, ''); -} - -?> diff --git a/application/language/de-CH/config_lang.php b/application/language/de-CH/config_lang.php index a39f1c707..df87bf318 100644 --- a/application/language/de-CH/config_lang.php +++ b/application/language/de-CH/config_lang.php @@ -34,6 +34,7 @@ $lang["config_company_required"] = "Firmenname ist erforderlich"; $lang["config_company_website_url"] = "Webseite ist nicht in korrektem Format"; $lang["config_currency_side"] = "Pos. rechts"; $lang["config_currency_symbol"] = "Währungssymbol"; +$lang["config_currency_decimals"] = "Currency Decimals"; $lang["config_custom1"] = "Zusatzfeld 1"; $lang["config_custom10"] = "Zusatzfeld 10"; $lang["config_custom2"] = "Zusatzfeld 2"; diff --git a/application/language/en/config_lang.php b/application/language/en/config_lang.php index c4391a51a..77dc77147 100644 --- a/application/language/en/config_lang.php +++ b/application/language/en/config_lang.php @@ -34,6 +34,7 @@ $lang["config_company_required"] = "Company name is a required field"; $lang["config_company_website_url"] = "Company website is not a valid URL (http://...)"; $lang["config_currency_side"] = "Right side"; $lang["config_currency_symbol"] = "Currency Symbol"; +$lang["config_currency_decimals"] = "Currency Decimals"; $lang["config_custom1"] = "Custom Field 1"; $lang["config_custom10"] = "Custom Field 10"; $lang["config_custom2"] = "Custom Field 2"; diff --git a/application/language/es/config_lang.php b/application/language/es/config_lang.php index d188bc951..d68612d76 100644 --- a/application/language/es/config_lang.php +++ b/application/language/es/config_lang.php @@ -34,6 +34,7 @@ $lang["config_company_required"] = "Nombre del Comercio es requerido"; $lang["config_company_website_url"] = "Sitio Web no es una URL estándar (http://...)"; $lang["config_currency_side"] = "Lado derecho"; $lang["config_currency_symbol"] = "Símbolo de moneda"; +$lang["config_currency_decimals"] = "Currency Decimals"; $lang["config_custom1"] = "Campo Libre 1"; $lang["config_custom10"] = "Campo Libre 10"; $lang["config_custom2"] = "Campo Libre 2"; diff --git a/application/language/fr/config_lang.php b/application/language/fr/config_lang.php index 67fd7cff3..576fcee7d 100644 --- a/application/language/fr/config_lang.php +++ b/application/language/fr/config_lang.php @@ -34,6 +34,7 @@ $lang["config_company_required"] = "Le nom d'entreprise est requis"; $lang["config_company_website_url"] = "Le site web de l'entreprise n'est pas une URL valide (http://...)"; $lang["config_currency_side"] = "Symbole à droite"; $lang["config_currency_symbol"] = "Symbole Monétaire"; +$lang["config_currency_decimals"] = "Currency Decimals"; $lang["config_custom1"] = "Champ Personnalisé 1"; $lang["config_custom10"] = "Champ Personnalisé 10"; $lang["config_custom2"] = "Champ Personnalisé 2"; diff --git a/application/language/hu-HU/config_lang.php b/application/language/hu-HU/config_lang.php index e7fdfd7a6..d88e4ba18 100644 --- a/application/language/hu-HU/config_lang.php +++ b/application/language/hu-HU/config_lang.php @@ -34,6 +34,7 @@ $lang["config_company_required"] = "Cégnév kötelező mező"; $lang["config_company_website_url"] = "A cég webcime nem érvényes URL (http://...)"; $lang["config_currency_side"] = "Jobb oldal"; $lang["config_currency_symbol"] = "Pénznem"; +$lang["config_currency_decimals"] = "Currency Decimals"; $lang["config_custom1"] = "Egyedi mező 1"; $lang["config_custom10"] = "Egyedi mező 10"; $lang["config_custom2"] = "Egyedi mező 2"; diff --git a/application/language/id/config_lang.php b/application/language/id/config_lang.php index a405993bd..04c8a070f 100644 --- a/application/language/id/config_lang.php +++ b/application/language/id/config_lang.php @@ -34,6 +34,7 @@ $lang["config_company_required"] = "Nama Perusahaan wajib diisi"; $lang["config_company_website_url"] = "Situs Perusahaan bukan URL yang benar(http://...)"; $lang["config_currency_side"] = "Sisi Kanan"; $lang["config_currency_symbol"] = "Simbol Mata Uang"; +$lang["config_currency_decimals"] = "Currency Decimals"; $lang["config_custom1"] = "Custom Field 1"; $lang["config_custom10"] = "Custom Field 10"; $lang["config_custom2"] = "Custom Field 2"; diff --git a/application/language/nl-BE/config_lang.php b/application/language/nl-BE/config_lang.php index 548701fb7..4589224bb 100755 --- a/application/language/nl-BE/config_lang.php +++ b/application/language/nl-BE/config_lang.php @@ -34,6 +34,7 @@ $lang["config_company_required"] = "De bedrijfsnaam moet ingevuld worden"; $lang["config_company_website_url"] = "De website van het bedrijf is geen geldige URL (http://...)"; $lang["config_currency_side"] = "Rechterkant"; $lang["config_currency_symbol"] = "Valuta"; +$lang["config_currency_decimals"] = "Currency Decimals"; $lang["config_custom1"] = "Custom Veld 1"; $lang["config_custom10"] = "Custom Veld 10"; $lang["config_custom2"] = "Custom Veld 2"; diff --git a/application/language/ru/config_lang.php b/application/language/ru/config_lang.php index c3d8e88d4..a2900e81d 100644 --- a/application/language/ru/config_lang.php +++ b/application/language/ru/config_lang.php @@ -34,6 +34,7 @@ $lang["config_company_required"] = "Имя Компании обязательн $lang["config_company_website_url"] = "Веб-сайт Компании не является допустимым URL (http://...)"; $lang["config_currency_side"] = "Правая сторона"; $lang["config_currency_symbol"] = "Символ валюты"; +$lang["config_currency_decimals"] = "Currency Decimals"; $lang["config_custom1"] = "Изготовленный пробел 1"; $lang["config_custom10"] = "Изготовленный пробел 10"; $lang["config_custom2"] = "Изготовленный пробел 2"; diff --git a/application/language/th/config_lang.php b/application/language/th/config_lang.php index 79558e78e..32da3918b 100644 --- a/application/language/th/config_lang.php +++ b/application/language/th/config_lang.php @@ -34,6 +34,7 @@ $lang["config_company_required"] = "ชื่อร้านค้าต้อ $lang["config_company_website_url"] = "เว็บไซต์ร้านค้าไม่ถูกต้อง"; $lang["config_currency_side"] = "ด้านขวา"; $lang["config_currency_symbol"] = "สัญลักษณ์ค่าเงิน"; +$lang["config_currency_decimals"] = "Currency Decimals"; $lang["config_custom1"] = "พื้นที่เพิ่มเติม 1"; $lang["config_custom10"] = "พื้นที่เพิ่มเติม 10"; $lang["config_custom2"] = "พื้นที่เพิ่มเติม 2"; diff --git a/application/language/tr/config_lang.php b/application/language/tr/config_lang.php index ba8e8d28c..35dbc6056 100644 --- a/application/language/tr/config_lang.php +++ b/application/language/tr/config_lang.php @@ -34,6 +34,7 @@ $lang["config_company_required"] = "Şirket Adı zorunlu alandır"; $lang["config_company_website_url"] = "website adresi yanlış (http://...)"; $lang["config_currency_side"] = "Sağda"; $lang["config_currency_symbol"] = "Para Birimi"; +$lang["config_currency_decimals"] = "Currency Decimals"; $lang["config_custom1"] = "Özel Alan 1"; $lang["config_custom10"] = "Özel Alan 10"; $lang["config_custom2"] = "Özel Alan 2"; diff --git a/application/language/zh/config_lang.php b/application/language/zh/config_lang.php index d1005636b..2e37cf52f 100755 --- a/application/language/zh/config_lang.php +++ b/application/language/zh/config_lang.php @@ -34,6 +34,7 @@ $lang["config_company_required"] = "公司名稱為必填"; $lang["config_company_website_url"] = "公司網址格式錯誤 (http://...)"; $lang["config_currency_side"] = "Right side"; $lang["config_currency_symbol"] = "貨幣符號"; +$lang["config_currency_decimals"] = "Currency Decimals"; $lang["config_custom1"] = "Custom Field 1"; $lang["config_custom10"] = "Custom Field 10"; $lang["config_custom2"] = "Custom Field 2"; diff --git a/application/views/configs/locale_config.php b/application/views/configs/locale_config.php index 43dc0be01..dbfd74b35 100644 --- a/application/views/configs/locale_config.php +++ b/application/views/configs/locale_config.php @@ -25,6 +25,19 @@ +