Index: branches/unlabeled/unlabeled-1.1.32/core/kernel/utility/formatters/unit_formatter.php =================================================================== diff -u -r4759 -r7532 --- branches/unlabeled/unlabeled-1.1.32/core/kernel/utility/formatters/unit_formatter.php (.../unit_formatter.php) (revision 4759) +++ branches/unlabeled/unlabeled-1.1.32/core/kernel/utility/formatters/unit_formatter.php (.../unit_formatter.php) (revision 7532) @@ -33,8 +33,8 @@ switch( $regional->GetDBField('UnitSystem') ) { case 2: // US/UK - $major = $object->GetDirtyField($field.'_a'); - $minor = $object->GetDirtyField($field.'_b'); + $major = $this->TypeCast($object->GetDBField($field.'_a'), $options); + $minor = $this->TypeCast($object->GetDBField($field.'_b'), $options); if($major === '' && $minor === '') { $value = null; Index: branches/unlabeled/unlabeled-1.28.4/core/kernel/db/dbitem.php =================================================================== diff -u -r6836 -r7532 --- branches/unlabeled/unlabeled-1.28.4/core/kernel/db/dbitem.php (.../dbitem.php) (revision 6836) +++ branches/unlabeled/unlabeled-1.28.4/core/kernel/db/dbitem.php (.../dbitem.php) (revision 7532) @@ -108,6 +108,12 @@ // $parsed = $formatter->Parse($value, $options, $err); $parsed = $formatter->Parse($value, $name, $this); } + // this will make sure numeric value is converted to normal representation + // according to regional format, even when formatter is not set (try seting format to 1.234,56 to understand why) + elseif (preg_match('#int|integer|double|float|real|numeric#', $options['type'])) { + $formatter =& $this->Application->recallObject('kFormatter'); + $parsed = $formatter->TypeCast($value, $options); + } $this->SetDBField($name,$parsed); } Index: branches/unlabeled/unlabeled-1.2.4/core/kernel/utility/formatters/formatter.php =================================================================== diff -u -r7488 -r7532 --- branches/unlabeled/unlabeled-1.2.4/core/kernel/utility/formatters/formatter.php (.../formatter.php) (revision 7488) +++ branches/unlabeled/unlabeled-1.2.4/core/kernel/utility/formatters/formatter.php (.../formatter.php) (revision 7532) @@ -52,6 +52,19 @@ return $ret ? $value : false; } + function TypeCastArray($src, &$object) + { + $dst = array(); + foreach ($src as $id => $row) { + $tmp_row = array(); + foreach ($row as $fld => $value) { + $tmp_row[$fld] = $this->TypeCast($value, $object->Fields[$fld]); + } + $dst[$id] = $tmp_row; + } + return $dst; + } + //function Format($value, $options, &$errors) function Format($value, $field_name, &$object, $format=null) { Index: branches/unlabeled/unlabeled-1.24.4/core/kernel/kbase.php =================================================================== diff -u -r7458 -r7532 --- branches/unlabeled/unlabeled-1.24.4/core/kernel/kbase.php (.../kbase.php) (revision 7458) +++ branches/unlabeled/unlabeled-1.24.4/core/kernel/kbase.php (.../kbase.php) (revision 7532) @@ -51,7 +51,7 @@ */ function &makeClass() { - $object = new kBase(); + $object = new kBase(); return $object; } @@ -520,12 +520,15 @@ } - function UpdateFormattersSubFields() + function UpdateFormattersSubFields($fields=null) { - foreach ($this->Fields as $field => $options) { - if (isset($options['formatter'])) { - $formatter =& $this->Application->recallObject($options['formatter']); - $formatter->UpdateSubFields($field, $this->GetDBField($field), $options, $this); + if (!is_array($fields)) { + $fields = array_keys($this->Fields); + } + foreach ($fields as $field) { + if ( isset($this->Fields[$field]['formatter']) ) { + $formatter =& $this->Application->recallObject($this->Fields[$field]['formatter']); + $formatter->UpdateSubFields($field, $this->GetDBField($field), $this->Fields[$field], $this); } } } Index: branches/unlabeled/unlabeled-1.26.8/core/kernel/parser/template_parser.php =================================================================== diff -u -r7463 -r7532 --- branches/unlabeled/unlabeled-1.26.8/core/kernel/parser/template_parser.php (.../template_parser.php) (revision 7463) +++ branches/unlabeled/unlabeled-1.26.8/core/kernel/parser/template_parser.php (.../template_parser.php) (revision 7532) @@ -146,7 +146,7 @@ { $data = str_replace("\\", "\\\\", $data); // escape any "\" $data = str_replace("'", "\'", $data); // escape "'" - + $code = '$o .= \''. $data .'\';'; $code = explode("\n", $code); return $code; @@ -342,7 +342,13 @@ } if ($opening_tag == ''); + if (preg_match('/AppendOutput(''); + } + else { + $this->AppendOutput(''); + $this->AppendCompiledHTML(''); + } $tag = '__COMMENT__'; } Index: branches/unlabeled/unlabeled-1.76.2/kernel/frontaction.php =================================================================== diff -u -r6881 -r7532 --- branches/unlabeled/unlabeled-1.76.2/kernel/frontaction.php (.../frontaction.php) (revision 6881) +++ branches/unlabeled/unlabeled-1.76.2/kernel/frontaction.php (.../frontaction.php) (revision 7532) @@ -694,6 +694,7 @@ break; case "m_sort_cats": + $_POST['Category_Sortfield'] = preg_replace('/^(Name$|^Description)$/', 'l'.$m_var_list['lang'].'_$1', $_POST['Category_Sortfield']); $objSession->SetVariable("Category_Sortfield",$_POST["Category_Sortfield"]); $objSession->SetVariable("Category_Sortorder",$_POST["Category_Sortorder"]); $objSession->SetVariable("Perpage_Category",$_POST["Perpage_Category"]); Index: branches/unlabeled/unlabeled-1.2.2/core/admin_templates/js/script.js =================================================================== diff -u -r7506 -r7532 --- branches/unlabeled/unlabeled-1.2.2/core/admin_templates/js/script.js (.../script.js) (revision 7506) +++ branches/unlabeled/unlabeled-1.2.2/core/admin_templates/js/script.js (.../script.js) (revision 7532) @@ -1294,4 +1294,27 @@ alert(e); } } -}; \ No newline at end of file +}; + +function NumberFormatter() {} + +NumberFormatter.ThousandsSep = '\''; +NumberFormatter.DecimalSep = '.'; + +NumberFormatter.Parse = function(num) +{ + return parseFloat( num.toString().replace(this.ThousandsSep, '').replace(this.DecimalSep, '.') ); +} + +NumberFormatter.Format = function(num) +{ + num += ''; + x = num.split('.'); + x1 = x[0]; + x2 = x.length > 1 ? this.DecimalSep + x[1] : ''; + var rgx = /(\d+)(\d{3})/; + while (rgx.test(x1)) { + x1 = x1.replace(rgx, '$1' + this.ThousandsSep + '$2'); + } + return x1 + x2; +} \ No newline at end of file Index: branches/unlabeled/unlabeled-1.34.2/core/units/general/cat_dbitem.php =================================================================== diff -u -r7517 -r7532 --- branches/unlabeled/unlabeled-1.34.2/core/units/general/cat_dbitem.php (.../cat_dbitem.php) (revision 7517) +++ branches/unlabeled/unlabeled-1.34.2/core/units/general/cat_dbitem.php (.../cat_dbitem.php) (revision 7532) @@ -48,7 +48,7 @@ $this->SetDBField('ResourceId', $this->Application->NextResourceId()); $this->SetDBField('Modified', adodb_mktime() ); - $this->UpdateFormattersSubFields(); + $this->UpdateFormattersSubFields(array('Modified')); if ($this->mode != 't' && !$this->Application->IsAdmin()) { $this->SetDBField('CreatedById', $this->Application->RecallVar('user_id')); @@ -78,7 +78,7 @@ { $this->VirtualFields['ResourceId'] = Array(); $this->SetDBField('Modified', adodb_mktime() ); - $this->UpdateFormattersSubFields(); + $this->UpdateFormattersSubFields(array('Modified')); $this->SetDBField('ModifiedById', $this->Application->RecallVar('user_id')); if ($this->useFilenames) { Index: branches/unlabeled/unlabeled-1.1.2/admin/install/upgrades/changelog_1_4_0.txt =================================================================== diff -u -r7517 -r7532 --- branches/unlabeled/unlabeled-1.1.2/admin/install/upgrades/changelog_1_4_0.txt (.../changelog_1_4_0.txt) (revision 7517) +++ branches/unlabeled/unlabeled-1.1.2/admin/install/upgrades/changelog_1_4_0.txt (.../changelog_1_4_0.txt) (revision 7532) @@ -25,7 +25,7 @@ File in-portal/admin/install/prerequisit_errors.php changed File in-portal/admin/install/upgrade_errors.php changed File in-portal/admin/install/upgrades/changelog_1_3_0.txt changed -File in-portal/admin/install/upgrades/changelog_1_4_0.txt is new; release_1_4_0 revision 1.1.2.10 +File in-portal/admin/install/upgrades/changelog_1_4_0.txt is new; release_1_4_0 revision 1.1.2.11 File in-portal/admin/install/upgrades/inportal_upgrade_v1.3.2.sql is new; release_1_4_0 revision 1.1.2.2 File in-portal/admin/install/upgrades/inportal_upgrade_v1.4.0.sql is new; release_1_4_0 revision 1.1.2.1 File in-portal/admin/users/adduser.php changed @@ -310,6 +310,7 @@ File kernel4_dev/kernel4/utility/formatters/formatter.php changed File kernel4_dev/kernel4/utility/formatters/multilang_formatter.php changed File kernel4_dev/kernel4/utility/formatters/password_formatter.php changed +File kernel4_dev/kernel4/utility/formatters/unit_formatter.php changed File kernel.X/core/admin_templates/dummy is new; release_1_4_0 revision 1.1 File kernel.X/core/admin_templates/head.tpl is new; release_1_4_0 revision 1.2.2.3 File kernel.X/core/admin_templates/index.tpl is new; release_1_4_0 revision 1.2.2.3 @@ -683,7 +684,7 @@ File kernel.X/core/admin_templates/js/is.js is new; release_1_4_0 revision 1.1 File kernel.X/core/admin_templates/js/nlsmenu.js is new; release_1_4_0 revision 1.1.2.4 File kernel.X/core/admin_templates/js/nlsmenueffect_1_2_1.js is new; release_1_4_0 revision 1.1.2.1 -File kernel.X/core/admin_templates/js/script.js is new; release_1_4_0 revision 1.2.2.26 +File kernel.X/core/admin_templates/js/script.js is new; release_1_4_0 revision 1.2.2.27 File kernel.X/core/admin_templates/js/toolbar.js is new; release_1_4_0 revision 1.3.2.8 File kernel.X/core/admin_templates/js/tree.js is new; release_1_4_0 revision 1.1.2.7 File kernel.X/core/admin_templates/js/calendar/calendar-blue.css is new; release_1_4_0 revision 1.1.2.1 @@ -730,7 +731,7 @@ File kernel.X/core/units/email_messages/email_messages_config.php is new; release_1_4_0 revision 1.2.52.1 File kernel.X/core/units/email_messages/email_messages_event_handler.php is new; release_1_4_0 revision 1.5.2.1 File kernel.X/core/units/general/brackets.php is new; release_1_4_0 revision 1.4 -File kernel.X/core/units/general/cat_dbitem.php is new; release_1_4_0 revision 1.34.2.3 +File kernel.X/core/units/general/cat_dbitem.php is new; release_1_4_0 revision 1.34.2.4 File kernel.X/core/units/general/cat_dbitem_export.php is new; release_1_4_0 revision 1.22.2.1 File kernel.X/core/units/general/cat_dblist.php is new; release_1_4_0 revision 1.4 File kernel.X/core/units/general/cat_event_handler.php is new; release_1_4_0 revision 1.68.2.3 @@ -748,7 +749,7 @@ File kernel.X/core/units/general/helpers/filenames_helper.php is new; release_1_4_0 revision 1.3 File kernel.X/core/units/general/helpers/helpers_config.php is new; release_1_4_0 revision 1.3.2.3 File kernel.X/core/units/general/helpers/mod_rewrite_helper.php is new; release_1_4_0 revision 1.7.2.4 -File kernel.X/core/units/general/helpers/modules.php is new; release_1_4_0 revision 1.6.2.2 +File kernel.X/core/units/general/helpers/modules.php is new; release_1_4_0 revision 1.6.2.3 File kernel.X/core/units/general/helpers/multilanguage.php is new; release_1_4_0 revision 1.8.2.3 File kernel.X/core/units/general/helpers/permissions_helper.php is new; release_1_4_0 revision 1.20.2.3 File kernel.X/core/units/general/helpers/recursive_helper.php is new; release_1_4_0 revision 1.3.2.4 @@ -777,24 +778,26 @@ File kernel.X/core/units/user_groups/user_groups_config.php is new; release_1_4_0 revision 1.3.2.1 File kernel.X/core/units/user_groups/user_groups_dbitem.php is new; release_1_4_0 revision 1.1.4.1 File kernel.X/core/units/users/users_config.php is new; release_1_4_0 revision 1.32.2.3 -File kernel.X/core/units/users/users_event_handler.php is new; release_1_4_0 revision 1.68.2.14 +File kernel.X/core/units/users/users_event_handler.php is new; release_1_4_0 revision 1.68.2.15 File kernel.X/core/units/users/users_item.php is new; release_1_4_0 revision 1.13 File kernel.X/core/units/users/users_syncronize.php is new; release_1_4_0 revision 1.4 File kernel.X/core/units/users/users_tag_processor.php is new; release_1_4_0 revision 1.14.2.2 File kernel.X/core/install/english.lang is new; release_1_4_0 revision 1.1 -File kernel.X/core/install/install_data.sql is new; release_1_4_0 revision 1.3.2.6 +File kernel.X/core/install/install_data.sql is new; release_1_4_0 revision 1.3.2.7 File kernel.X/core/install/install_schema.sql is new; release_1_4_0 revision 1.3.2.8 -File kernel.X/core/install/steps_db.xml is new; release_1_4_0 revision 1.2 -File kernel.X/core/install/incs/install.tpl is new; release_1_4_0 revision 1.2 +File kernel.X/core/install/steps_db.xml is new; release_1_4_0 revision 1.2.2.1 +File kernel.X/core/install/upgrades.sql is new; release_1_4_0 revision 1.1.2.2 +File kernel.X/core/install/incs/install.tpl is new; release_1_4_0 revision 1.2.2.2 File kernel.X/core/install/incs/script.js is new; release_1_4_0 revision 1.1 -File kernel.X/core/install/incs/style.css is new; release_1_4_0 revision 1.1 +File kernel.X/core/install/incs/style.css is new; release_1_4_0 revision 1.1.2.1 File kernel.X/core/install/incs/img/bg_install_menu.gif is new; release_1_4_0 revision 1.1 File kernel.X/core/install/incs/img/blocks.gif is new; release_1_4_0 revision 1.1 File kernel.X/core/install/incs/img/blocks2.gif is new; release_1_4_0 revision 1.1 File kernel.X/core/install/incs/img/blue_bar_help.gif is new; release_1_4_0 revision 1.1 File kernel.X/core/install/incs/img/button_back.gif is new; release_1_4_0 revision 1.1 File kernel.X/core/install/incs/img/globe.gif is new; release_1_4_0 revision 1.1 File kernel.X/core/install/incs/img/icon_install.gif is new; release_1_4_0 revision 1.1 +File kernel.X/core/install/incs/img/icon_warning.gif is new; release_1_4_0 revision 1.1.2.1 File kernel.X/core/install/incs/img/logo.gif is new; release_1_4_0 revision 1.1 File kernel.X/core/install/incs/img/spacer.gif is new; release_1_4_0 revision 1.1 File kernel.X/core/install/incs/img/tab_middle.gif is new; release_1_4_0 revision 1.1 @@ -806,11 +809,12 @@ File kernel.X/core/install/incs/img/toolbar/tool_select.gif is new; release_1_4_0 revision 1.1 File kernel.X/core/install/incs/img/toolbar/tool_select_f2.gif is new; release_1_4_0 revision 1.1 File kernel.X/core/install/step_templates/check_paths.tpl is new; release_1_4_0 revision 1.1 -File kernel.X/core/install/step_templates/choose_modules.tpl is new; release_1_4_0 revision 1.1 +File kernel.X/core/install/step_templates/choose_modules.tpl is new; release_1_4_0 revision 1.1.2.1 File kernel.X/core/install/step_templates/db_config.tpl is new; release_1_4_0 revision 1.1 File kernel.X/core/install/step_templates/finish.tpl is new; release_1_4_0 revision 1.1 -File kernel.X/core/install/step_templates/install_setup.tpl is new; release_1_4_0 revision 1.1 +File kernel.X/core/install/step_templates/install_setup.tpl is new; release_1_4_0 revision 1.1.2.1 File kernel.X/core/install/step_templates/root_password.tpl is new; release_1_4_0 revision 1.1 +File kernel.X/core/install/step_templates/upgrade_modules.tpl is new; release_1_4_0 revision 1.1.2.1 File cmseditor/editor/dialog/fck_document.html changed File cmseditor/editor/dialog/fck_document/audio.gif is new; release_1_4_0 revision 1.1.2.1 File cmseditor/editor/dialog/fck_document/doc.gif is new; release_1_4_0 revision 1.1.2.1