Index: branches/5.3.x/core/units/languages/languages_event_handler.php =================================================================== diff -u -N -r15677 -r15698 --- branches/5.3.x/core/units/languages/languages_event_handler.php (.../languages_event_handler.php) (revision 15677) +++ branches/5.3.x/core/units/languages/languages_event_handler.php (.../languages_event_handler.php) (revision 15698) @@ -1,6 +1,6 @@ Application->getUnitOption($event->Prefix, 'Fields'); + $this->_evaluateFieldFormats($event, 'InputDateFormat'); + $this->_evaluateFieldFormats($event, 'InputTimeFormat'); + } - // set dynamic hints for options in date format fields - $options = $fields['InputDateFormat']['options']; - if ($options) { - foreach ($options as $i => $v) { - $options[$i] = $v . ' (' . adodb_date($i) . ')'; - } - $fields['InputDateFormat']['options'] = $options; - } + /** + * Set dynamic hints for options in date format fields + * + * @param kEvent $event + * @param string $field + * @return void + * @access protected + */ + protected function _evaluateFieldFormats(kEvent $event, $field) + { + $config = $event->getUnitConfig(); + $field_options = $config->getFieldByName($field); - $options = $fields['InputTimeFormat']['options']; - if ($options) { - foreach ($options as $i => $v) { - $options[$i] = $v . ' (' . adodb_date($i) . ')'; - } - $fields['InputTimeFormat']['options'] = $options; + foreach ($field_options['options'] as $option_key => $option_title) { + $field_options['options'][$option_key] .= ' (' . adodb_date($option_key) . ')'; } - $this->Application->setUnitOption($event->Prefix, 'Fields', $fields); + $config->addFields($field_options, $field); } /** @@ -238,8 +240,7 @@ $object = $event->getObject(); /* @var $object kDBItem */ - $status_fields = $this->Application->getUnitOption($event->Prefix, 'StatusField'); - $status_field = array_shift($status_fields); + $status_field = $event->getUnitConfig()->getStatusField(true); if ( $object->GetDBField('PrimaryLang') == 1 && $object->GetDBField($status_field) == 0 ) { $object->SetDBField($status_field, 1); @@ -405,12 +406,12 @@ foreach ($pending_actions as $src_language => $dst_language) { // phrases import - $sql = 'UPDATE ' . $this->Application->getUnitOption('phrases', 'TableName') . ' + $sql = 'UPDATE ' . $this->Application->getUnitConfig('phrases')->getTableName() . ' SET l' . $dst_language . '_Translation = l' . $src_language . '_Translation'; $this->Conn->Query($sql); // events import - $sql = 'UPDATE ' . $this->Application->getUnitOption('email-template', 'TableName') . ' + $sql = 'UPDATE ' . $this->Application->getUnitConfig('email-template')->getTableName() . ' SET l' . $dst_language . '_Subject = l' . $src_language . '_Subject, l' . $dst_language . '_HtmlBody = l' . $src_language . '_HtmlBody, @@ -443,7 +444,7 @@ $object->SetDBField('CopyLabels', 1); $sql = 'SELECT ' . $object->IDField . ' - FROM ' . $this->Application->getUnitOption($event->Prefix, 'TableName') . ' + FROM ' . $event->getUnitConfig()->getTableName() . ' WHERE PrimaryLang = 1'; $primary_lang_id = $this->Conn->GetOne($sql); @@ -480,10 +481,11 @@ { parent::OnBeforeDeleteFromLive($event); - $id_field = $this->Application->getUnitOption($event->Prefix, 'IDField'); + $config = $event->getUnitConfig(); + $id_field = $config->getIDField(); $sql = 'SELECT ' . $id_field . ' - FROM ' . $this->Application->getUnitOption($event->Prefix, 'TableName') . ' + FROM ' . $config->getTableName() . ' WHERE ' . $id_field . ' = ' . $event->getEventParam('id'); $id = $this->Conn->GetOne($sql); @@ -584,7 +586,7 @@ return; } - $this->Application->setUnitOption('phrases', 'AutoLoad', false); + $this->Application->getUnitConfig('phrases')->setAutoLoad(false); $this->StoreSelectedIDs($event); $this->Application->StoreVar('export_language_ids', implode(',', $this->getSelectedIDs($event))); @@ -730,15 +732,15 @@ 'l' . $object->GetID() . '_HtmlBody' => NULL, 'l' . $object->GetID() . '_PlainTextBody' => NULL, ); - $this->Conn->doUpdate($fields_hash, $this->Application->getUnitOption('email-template', 'TableName'), 1); + $this->Conn->doUpdate($fields_hash, $this->Application->getUnitConfig('email-template')->getTableName(), 1); // clean Phrases table $fields_hash = Array ( 'l' . $object->GetID() . '_Translation' => NULL, 'l' . $object->GetID() . '_HintTranslation' => NULL, 'l' . $object->GetID() . '_ColumnTranslation' => NULL, ); - $this->Conn->doUpdate($fields_hash, $this->Application->getUnitOption('phrases', 'TableName'), 1); + $this->Conn->doUpdate($fields_hash, $this->Application->getUnitConfig('phrases')->getTableName(), 1); } /**