Index: trunk/core/kernel/db/db_tag_processor.php =================================================================== diff -u -N -r1783 -r1795 --- trunk/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 1783) +++ trunk/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 1795) @@ -1134,7 +1134,9 @@ $field = $this->SelectParam($params, 'name,field'); - $sql = ' SELECT cv.Value FROM '.TABLE_PREFIX.'CustomField cf + $lang_id = $this->Application->GetVar('m_lang'); + + $sql = ' SELECT cv.l'.$lang_id.'_Value FROM '.TABLE_PREFIX.'CustomField cf LEFT JOIN '.TABLE_PREFIX.'CustomMetaData cv ON cf.CustomFieldId = cv.CustomFieldId WHERE cf.Type = '.$this->Application->getUnitOption($prefix, 'ItemType').' Index: trunk/admin/install/upgrades/inportal_upgrade_v1.1.0.sql =================================================================== diff -u -N -r1763 -r1795 --- trunk/admin/install/upgrades/inportal_upgrade_v1.1.0.sql (.../inportal_upgrade_v1.1.0.sql) (revision 1763) +++ trunk/admin/install/upgrades/inportal_upgrade_v1.1.0.sql (.../inportal_upgrade_v1.1.0.sql) (revision 1795) @@ -1,6 +1,5 @@ ALTER TABLE SysCache DROP INDEX Expire; ALTER TABLE Category MODIFY COLUMN Priority INTEGER(11) DEFAULT NULL; -ALTER TABLE CustomField ADD COLUMN Multilingual TINYINT(4) NOT NULL DEFAULT '0'; ALTER TABLE Phrase ADD COLUMN LastChanged INTEGER(10) UNSIGNED NOT NULL DEFAULT '0'; ALTER TABLE Phrase ADD COLUMN LastChangeIP VARCHAR(15) NOT NULL; ALTER TABLE Phrase ADD COLUMN Module VARCHAR(30) NOT NULL; Index: trunk/kernel/units/translator/translator_event_handler.php =================================================================== diff -u -N -r1566 -r1795 --- trunk/kernel/units/translator/translator_event_handler.php (.../translator_event_handler.php) (revision 1566) +++ trunk/kernel/units/translator/translator_event_handler.php (.../translator_event_handler.php) (revision 1795) @@ -5,16 +5,26 @@ function OnLoad(&$event) { - $obj_prefix = $this->Application->GetVar($event->getPrefixSpecial(true).'_prefix'); + $field = $this->Application->GetVar($event->getPrefixSpecial(true).'_field'); + + if( strpos($field,':') !== false ) + { + list($obj_prefix,$field) = explode(':', $field); + } + else + { + $obj_prefix = $this->Application->GetVar($event->getPrefixSpecial(true).'_prefix'); + } + $object = $this->Application->recallObject($obj_prefix); /*$items_info = $this->Application->GetVar( $obj_prefix ); if($items_info) $field_values = array_shift($items_info); $object->SetFieldsFromHash($field_values); $object->Update();*/ - $field = $this->Application->GetVar($event->getPrefixSpecial(true).'_field'); + $translator =& $this->Application->recallObject($event->getPrefixSpecial()); $def_lang = $this->Application->GetDefaultLanguageId(); @@ -46,7 +56,10 @@ function OnSaveAndClose(&$event) { $event->CallSubEvent('OnPreSave'); - $this->finalizePopup($event, '', 'in-commerce/products/products_edit'); + + // 2. RESTORE SAVED LAST TEMPLATE AS LAST PARAM FOR FINILIZE_POPUP + $return_template = $this->Application->RecallVar('return_template'); + $this->finalizePopup($event, '', $return_template); } function OnPreSave(&$event) @@ -58,9 +71,19 @@ $translator->SetFieldsFromHash($field_values); - $object = $this->Application->recallObject($this->Application->GetVar($event->getPrefixSpecial(true).'_prefix')); $field = $this->Application->GetVar($event->getPrefixSpecial(true).'_field'); + if( strpos($field,':') !== false ) + { + list($obj_prefix,$field) = explode(':', $field); + } + else + { + $obj_prefix = $this->Application->GetVar($event->getPrefixSpecial(true).'_prefix'); + } + + $object = $this->Application->recallObject($obj_prefix); + $lang = $translator->GetDBField('Language'); $object->Fields['l'.$lang.'_'.$field] = Array(); $object->SetDBField('l'.$lang.'_'.$field, $translator->GetDBField('Translation')); Index: trunk/core/units/translator/translator_event_handler.php =================================================================== diff -u -N -r1566 -r1795 --- trunk/core/units/translator/translator_event_handler.php (.../translator_event_handler.php) (revision 1566) +++ trunk/core/units/translator/translator_event_handler.php (.../translator_event_handler.php) (revision 1795) @@ -5,16 +5,26 @@ function OnLoad(&$event) { - $obj_prefix = $this->Application->GetVar($event->getPrefixSpecial(true).'_prefix'); + $field = $this->Application->GetVar($event->getPrefixSpecial(true).'_field'); + + if( strpos($field,':') !== false ) + { + list($obj_prefix,$field) = explode(':', $field); + } + else + { + $obj_prefix = $this->Application->GetVar($event->getPrefixSpecial(true).'_prefix'); + } + $object = $this->Application->recallObject($obj_prefix); /*$items_info = $this->Application->GetVar( $obj_prefix ); if($items_info) $field_values = array_shift($items_info); $object->SetFieldsFromHash($field_values); $object->Update();*/ - $field = $this->Application->GetVar($event->getPrefixSpecial(true).'_field'); + $translator =& $this->Application->recallObject($event->getPrefixSpecial()); $def_lang = $this->Application->GetDefaultLanguageId(); @@ -46,7 +56,10 @@ function OnSaveAndClose(&$event) { $event->CallSubEvent('OnPreSave'); - $this->finalizePopup($event, '', 'in-commerce/products/products_edit'); + + // 2. RESTORE SAVED LAST TEMPLATE AS LAST PARAM FOR FINILIZE_POPUP + $return_template = $this->Application->RecallVar('return_template'); + $this->finalizePopup($event, '', $return_template); } function OnPreSave(&$event) @@ -58,9 +71,19 @@ $translator->SetFieldsFromHash($field_values); - $object = $this->Application->recallObject($this->Application->GetVar($event->getPrefixSpecial(true).'_prefix')); $field = $this->Application->GetVar($event->getPrefixSpecial(true).'_field'); + if( strpos($field,':') !== false ) + { + list($obj_prefix,$field) = explode(':', $field); + } + else + { + $obj_prefix = $this->Application->GetVar($event->getPrefixSpecial(true).'_prefix'); + } + + $object = $this->Application->recallObject($obj_prefix); + $lang = $translator->GetDBField('Language'); $object->Fields['l'.$lang.'_'.$field] = Array(); $object->SetDBField('l'.$lang.'_'.$field, $translator->GetDBField('Translation')); Index: trunk/kernel/admin_templates/incs/script.js =================================================================== diff -u -N -r1566 -r1795 --- trunk/kernel/admin_templates/incs/script.js (.../script.js) (revision 1566) +++ trunk/kernel/admin_templates/incs/script.js (.../script.js) (revision 1795) @@ -202,10 +202,29 @@ set_hidden_field('translator_wnd_name', $window_name); set_hidden_field('translator_field', field); set_hidden_field('translator_t', t); + set_hidden_field('translator_prefixes', prefix); document.kernel_form.target=$window_name; - submit_event(prefix,'OnPreSaveAndOpenTranslator'); + + var split_prefix = prefix.split(','); + submit_event(split_prefix[0],'OnPreSaveAndOpenTranslator'); } +function PreSaveAndOpenTranslatorCV(prefix,field,t,cf_id) +{ + if(!isset($window_name)) var $window_name = 'select_'+t.replace(/(\/|-)/g, '_'); + openwin('',$window_name,750,400); + set_hidden_field('translator_wnd_name', $window_name); + set_hidden_field('translator_field', field); + set_hidden_field('translator_t', t); + set_hidden_field('translator_prefixes', prefix); + set_hidden_field('translator_cf_id', cf_id); + document.kernel_form.target=$window_name; + + var split_prefix = prefix.split(','); + submit_event(split_prefix[0],'OnPreSaveAndOpenTranslator'); +} + + function openTranslator(prefix,field,url,wnd) { set_hidden_field('trans_prefix', prefix); Index: trunk/admin/install/inportal_schema.sql =================================================================== diff -u -N -r1763 -r1795 --- trunk/admin/install/inportal_schema.sql (.../inportal_schema.sql) (revision 1763) +++ trunk/admin/install/inportal_schema.sql (.../inportal_schema.sql) (revision 1795) @@ -105,7 +105,6 @@ ValueList varchar(255) default NULL, DisplayOrder int(11) NOT NULL default '0', OnGeneralTab tinyint(4) NOT NULL default '0', - Multilingual TINYINT(4) NOT NULL DEFAULT '0', PRIMARY KEY (CustomFieldId), KEY Type (Type) ) Index: trunk/kernel/units/custom_values/custom_values_config.php =================================================================== diff -u -N -r1566 -r1795 --- trunk/kernel/units/custom_values/custom_values_config.php (.../custom_values_config.php) (revision 1566) +++ trunk/kernel/units/custom_values/custom_values_config.php (.../custom_values_config.php) (revision 1795) @@ -54,13 +54,11 @@ 'ValueList' => 'cf.ValueList', 'DisplayOrder' => 'cf.DisplayOrder', 'CustomDataId' => '%1$s.CustomDataId', - 'Value' => '%1$s.Value', - ) ), 'ListSQLs' => Array( - '' => ' SELECT #ITEM_RESOURCE_ID# AS ResourceId %2$s + '' => ' SELECT %1$s.l1_Value AS l1_Value, #ITEM_RESOURCE_ID# AS ResourceId %2$s FROM '.TABLE_PREFIX.'CustomField AS cf LEFT JOIN %1$s ON %1$s.CustomFieldId = cf.CustomFieldId AND ResourceId = #ITEM_RESOURCE_ID#', ), // key - special, value - list select sql @@ -77,9 +75,9 @@ 'Fields' => Array( 'CustomDataId' => Array(), - 'CustomFieldId' => Array('not_null' => '1', 'default'=>''), + 'CustomFieldId' => Array('not_null' => '1', 'default'=>''), 'ResourceId' => Array('not_null' => 1, 'default' => 0), - 'Value' => Array('not_null' => true, 'default' => ''), + 'Value' => Array('not_null' => true, 'formatter' => 'kMultiLanguage', 'default' => ''), ), 'VirtualFields' => Array( 'FieldName' => Array(), @@ -94,7 +92,7 @@ 'Icons' => Array('default'=>'icon16_custom.gif'), // icons for each StatusField values, if no matches or no statusfield selected, then "default" icon is used 'Fields' => Array( 'FieldName' => Array( 'title'=>'la_col_FieldName', 'data_block' => 'grid_icon_td'), - 'Prompt' => Array( 'title'=>'la_col_Prompt', 'data_block' => 'grid_data_label_td' ), + 'Prompt' => Array( 'title'=>'la_col_Prompt', 'data_block' => 'grid_data_label_ml_td' ), 'Value' => Array( 'title'=>'la_col_Value', 'data_block' => 'edit_custom_td'), ), ), Index: trunk/core/units/custom_fields/custom_fields_config.php =================================================================== diff -u -N -r1566 -r1795 --- trunk/core/units/custom_fields/custom_fields_config.php (.../custom_fields_config.php) (revision 1566) +++ trunk/core/units/custom_fields/custom_fields_config.php (.../custom_fields_config.php) (revision 1795) @@ -60,7 +60,6 @@ 'Heading' => Array('type' => 'string','default' => ''), 'Prompt' => Array('type' => 'string','default' => ''), 'ElementType' => Array('required'=>'1', 'type'=>'string', 'not_null'=>1, 'default'=>'NULL', 'formatter'=>'kOptionsFormatter', 'use_phrases' => 1, 'options'=>Array('' => 'la_EmptyValue', 'select' => 'la_type_select', 'label' => 'la_type_label', 'password' => 'la_type_password','radio' => 'la_type_radio', 'textarea' => 'la_type_textarea', 'text' => 'la_type_text')), - 'Multilingual' => Array('type' => 'int','default' => '0'), 'ValueList' => Array('type' => 'string','default' => ''), 'DisplayOrder' => Array('type' => 'int','not_null' => '1','default' => '0'), 'OnGeneralTab' => Array('type' => 'int','not_null' => '1','default' => '0'), Index: trunk/core/kernel/db/db_event_handler.php =================================================================== diff -u -N -r1560 -r1795 --- trunk/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 1560) +++ trunk/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 1795) @@ -1380,6 +1380,11 @@ $this->Application->StoreVar( $event->getPrefixSpecial().'_view_filter', serialize($view_filter) ); } + /** + * Enter description here... + * + * @param kEvent $event + */ function OnPreSaveAndOpenTranslator(&$event) { $this->Application->SetVar('allow_translation', true); @@ -1390,10 +1395,10 @@ // $url = $this->Application->HREF($t, '', Array('pass'=>'all', $event->getPrefixSpecial(true).'_id' => $object->GetId())); // $field = $this->Application->GetVar('translator_field'); $event->redirect = $this->Application->GetVar('translator_t'); - $event->redirect_params = Array('pass'=>'all,trans', + $event->redirect_params = Array('pass'=>'all,trans,'.$this->Application->GetVar('translator_prefixes'), $event->getPrefixSpecial(true).'_id' => $object->GetId(), 'trans_event'=>'OnLoad', - 'trans_prefix'=>$event->Prefix, + 'trans_prefix'=> $this->Application->GetVar('translator_prefixes'), 'trans_field'=>$this->Application->GetVar('translator_field'), ); //$after_script = "openTranslator('".$event->getPrefixSpecial()."', '".$field."', '".$url."', '".$wnd_name."')"; Index: trunk/kernel/units/custom_fields/custom_fields_config.php =================================================================== diff -u -N -r1566 -r1795 --- trunk/kernel/units/custom_fields/custom_fields_config.php (.../custom_fields_config.php) (revision 1566) +++ trunk/kernel/units/custom_fields/custom_fields_config.php (.../custom_fields_config.php) (revision 1795) @@ -60,7 +60,6 @@ 'Heading' => Array('type' => 'string','default' => ''), 'Prompt' => Array('type' => 'string','default' => ''), 'ElementType' => Array('required'=>'1', 'type'=>'string', 'not_null'=>1, 'default'=>'NULL', 'formatter'=>'kOptionsFormatter', 'use_phrases' => 1, 'options'=>Array('' => 'la_EmptyValue', 'select' => 'la_type_select', 'label' => 'la_type_label', 'password' => 'la_type_password','radio' => 'la_type_radio', 'textarea' => 'la_type_textarea', 'text' => 'la_type_text')), - 'Multilingual' => Array('type' => 'int','default' => '0'), 'ValueList' => Array('type' => 'string','default' => ''), 'DisplayOrder' => Array('type' => 'int','not_null' => '1','default' => '0'), 'OnGeneralTab' => Array('type' => 'int','not_null' => '1','default' => '0'), Index: trunk/kernel/admin_templates/incs/grid_blocks.tpl =================================================================== diff -u -N -r1726 -r1795 --- trunk/kernel/admin_templates/incs/grid_blocks.tpl (.../grid_blocks.tpl) (revision 1726) +++ trunk/kernel/admin_templates/incs/grid_blocks.tpl (.../grid_blocks.tpl) (revision 1795) @@ -135,6 +135,13 @@ + + + :
+ );" title=""> + + + $Menus[''+'_sorting_menu'].addMenuItem('','direct_sort_grid("","","");','2'); @@ -238,9 +245,11 @@ Index: trunk/core/admin_templates/incs/custom_blocks.tpl =================================================================== diff -u -N -r1566 -r1795 --- trunk/core/admin_templates/incs/custom_blocks.tpl (.../custom_blocks.tpl) (revision 1566) +++ trunk/core/admin_templates/incs/custom_blocks.tpl (.../custom_blocks.tpl) (revision 1795) @@ -40,6 +40,7 @@ " id="" value=""> " id="" value=""> + \ No newline at end of file Index: trunk/kernel/units/custom_values/custom_value_event_handler.php =================================================================== diff -u -N -r1566 -r1795 --- trunk/kernel/units/custom_values/custom_value_event_handler.php (.../custom_value_event_handler.php) (revision 1566) +++ trunk/kernel/units/custom_values/custom_value_event_handler.php (.../custom_value_event_handler.php) (revision 1795) @@ -45,11 +45,12 @@ $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) ); if($items_info) { + $lang_id = $this->Application->GetVar('m_lang'); foreach($items_info as $custom_field_id => $values) { $set_values = Array( 'CustomFieldId' => $custom_field_id, - 'Value' => $values['Value'], + 'l'.$lang_id.'_Value' => $values['l'.$lang_id.'_Value'], 'ResourceId' => $values['ResourceId'] != 0 ? $values['ResourceId'] : $this->GetParentResourceId($event), ); @@ -90,7 +91,6 @@ $this->Application->removeObject($event->Prefix_Special); } - } ?> \ No newline at end of file Index: trunk/kernel/admin_templates/incs/custom_blocks.tpl =================================================================== diff -u -N -r1566 -r1795 --- trunk/kernel/admin_templates/incs/custom_blocks.tpl (.../custom_blocks.tpl) (revision 1566) +++ trunk/kernel/admin_templates/incs/custom_blocks.tpl (.../custom_blocks.tpl) (revision 1795) @@ -40,6 +40,7 @@ " id="" value=""> " id="" value=""> + \ No newline at end of file