Index: branches/RC/core/kernel/db/db_event_handler.php =================================================================== diff -u -N -r9559 -r9587 --- branches/RC/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 9559) +++ branches/RC/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 9587) @@ -187,19 +187,34 @@ $event->setEventParam('raise_warnings', 1); } + if (preg_match('/^auto-(.*)/', $event->Special, $regs) && $this->Application->prefixRegistred($regs[1])) { + // - returns field DateFormat value from language (LanguageId is extracted from current phrase object) + $main_object =& $this->Application->recallObject($regs[1]); + /* @var $main_object kDBItem */ + + $id_field = $this->Application->getUnitOption($event->Prefix, 'IDField'); + return $main_object->GetDBField($id_field); + } + // 1. get id from post (used in admin) $ret = $this->Application->GetVar($event->getPrefixSpecial(true).'_id'); - if($ret) return $ret; + if ($ret) { + return $ret; + } // 2. get id from env (used in front) $ret = $this->Application->GetVar($event->getPrefixSpecial().'_id'); - if($ret) return $ret; + if ($ret) { + return $ret; + } // recall selected ids array and use the first one $ids = $this->Application->GetVar($event->getPrefixSpecial().'_selected_ids'); if ($ids != '') { - $ids=explode(',',$ids); - if($ids) $ret=array_shift($ids); + $ids = explode(',',$ids); + if ($ids) { + $ret = array_shift($ids); + } } else { // if selected ids are not yet stored $this->StoreSelectedIDs($event);