Index: trunk/core/units/general/cat_event_handler.php =================================================================== diff -u -r2826 -r2915 --- trunk/core/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 2826) +++ trunk/core/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 2915) @@ -102,6 +102,53 @@ } /** + * Enter description here... + * + * @param kEvent $event + */ + function OnPreSaveAndOpenTranslator(&$event) + { + $this->Application->SetVar('allow_translation', true); + $object =& $event->getObject(); + $this->RemoveRequiredFields($object); + $event->CallSubEvent('OnPreSave'); + if ($event->status == erSUCCESS) { +// $url = $this->Application->HREF($t, '', Array('pass'=>'all', $event->getPrefixSpecial(true).'_id' => $object->GetId())); +// $field = $this->Application->GetVar('translator_field'); + $cf_id = $this->Application->GetVar('translator_cf_id'); + if($cf_id) + { + $cv =& $this->Application->recallObject('cv.-item', null, Array('skip_autoload' => true) ); + $load_params = Array('CustomFieldId' => $cf_id, 'ResourceId'=> $object->GetDBField('ResourceId') ); + if( !$cv->Load($load_params) ) + { + $cv->SetFieldsFromHash($load_params); + $cv->Create(); + } + $this->Application->SetVar('cv_id', $cv->getID() ); + } + + $event->redirect = $this->Application->GetVar('translator_t'); + $event->redirect_params = Array('pass'=>'all,trans,'.$this->Application->GetVar('translator_prefixes'), + $event->getPrefixSpecial(true).'_id' => $object->GetId(), + 'trans_event'=>'OnLoad', + 'trans_prefix'=> $this->Application->GetVar('translator_prefixes'), + 'trans_field'=>$this->Application->GetVar('translator_field'), + ); + + // 1. SAVE LAST TEMPLATE TO SESSION + $last_template = $this->Application->RecallVar('last_template'); + preg_match('/index4\.php\|'.$this->Application->GetSID().'-(.*):/U', $last_template, $rets); + $this->Application->StoreVar('return_template', $rets[1]); + + //$after_script = "openTranslator('".$event->getPrefixSpecial()."', '".$field."', '".$url."', '".$wnd_name."')"; + } + +// $this->Application->SetVar('after_script', $after_script); +// $event->redirect = false; + } + + /** * Apply scope clause * * @param kEvent $event