Index: branches/5.2.x/core/units/languages/languages_event_handler.php =================================================================== diff -u -N -r14585 -r14628 --- branches/5.2.x/core/units/languages/languages_event_handler.php (.../languages_event_handler.php) (revision 14585) +++ branches/5.2.x/core/units/languages/languages_event_handler.php (.../languages_event_handler.php) (revision 14628) @@ -1,6 +1,6 @@ Name == 'OnItemBuild') { // check permission without using $event->getSection(), @@ -204,18 +206,21 @@ } /** - * Occurse before updating item + * Occurs before updating item * * @param kEvent $event - * @access public + * @return void + * @access protected */ - function OnBeforeItemUpdate(&$event) + protected function OnBeforeItemUpdate(&$event) { $object =& $event->getObject(); + /* @var $object kDBItem */ + $status_fields = $this->Application->getUnitOption($event->Prefix, 'StatusField'); $status_field = array_shift($status_fields); - if ($object->GetDBField('PrimaryLang') == 1 && $object->GetDBField($status_field) == 0) { + if ( $object->GetDBField('PrimaryLang') == 1 && $object->GetDBField($status_field) == 0 ) { $object->SetDBField($status_field, 1); } } @@ -224,8 +229,11 @@ * Shows only enabled languages on front * * @param kEvent $event + * @return void + * @access protected + * @see kDBEventHandler::OnListBuild() */ - function SetCustomQuery(&$event) + protected function SetCustomQuery(&$event) { $object =& $event->getObject(); /* @var $object kDBList */ @@ -255,8 +263,10 @@ * Copy labels from another language * * @param kEvent $event + * @return void + * @access protected */ - function OnAfterItemCreate(&$event) + protected function OnAfterItemCreate(&$event) { parent::OnAfterItemCreate($event); @@ -265,14 +275,14 @@ $src_language = $object->GetDBField('CopyFromLanguage'); - if ($object->GetDBField('CopyLabels') && $src_language) { + if ( $object->GetDBField('CopyLabels') && $src_language ) { $dst_language = $object->GetID(); // 1. schedule data copy after OnSave event is executed $var_name = $event->getPrefixSpecial() . '_copy_data' . $this->Application->GetVar('m_wid'); $pending_actions = $this->Application->RecallVar($var_name, Array ()); - if ($pending_actions) { + if ( $pending_actions ) { $pending_actions = unserialize($pending_actions); } @@ -286,24 +296,28 @@ * Saves language from temp table to live * * @param kEvent $event + * @return void + * @access protected */ - function OnSave(&$event) + protected function OnSave(&$event) { parent::OnSave($event); - if ($event->status != kEvent::erSUCCESS) { - return ; + if ( $event->status != kEvent::erSUCCESS ) { + return; } $var_name = $event->getPrefixSpecial() . '_copy_data' . $this->Application->GetVar('m_wid'); $pending_actions = $this->Application->RecallVar($var_name, Array ()); - if ($pending_actions) { + if ( $pending_actions ) { $pending_actions = unserialize($pending_actions); } // create multilingual columns for phrases & email events table first (actual for 6+ language) $ml_helper =& $this->Application->recallObject('kMultiLanguageHelper'); + /* @var $ml_helper kMultiLanguageHelper */ + $ml_helper->createFields('phrases'); $ml_helper->createFields('emailevents'); @@ -333,16 +347,22 @@ * done in OnPreSaveCreated * * @param kEvent $event + * @return void + * @access protected */ - function OnPreCreate(&$event) + protected function OnPreCreate(&$event) { parent::OnPreCreate($event); $object =& $event->getObject(); + /* @var $object kDBItem */ + $object->SetDBField('CopyLabels', 1); - $live_table = $this->Application->getUnitOption($event->Prefix, 'TableName'); - $primary_lang_id = $this->Conn->GetOne('SELECT '.$object->IDField.' FROM '.$live_table.' WHERE PrimaryLang = 1'); + $sql = 'SELECT ' . $object->IDField . ' + FROM ' . $this->Application->getUnitOption($event->Prefix, 'TableName') . ' + WHERE PrimaryLang = 1'; + $primary_lang_id = $this->Conn->GetOne($sql); $object->SetDBField('CopyFromLanguage', $primary_lang_id); } @@ -351,18 +371,21 @@ * Sets new language mark * * @param kEvent $event + * @return void + * @access protected */ - function OnBeforeDeleteFromLive(&$event) + protected function OnBeforeDeleteFromLive(&$event) { + parent::OnBeforeDeleteFromLive($event); + $id_field = $this->Application->getUnitOption($event->Prefix, 'IDField'); - $table_name = $this->Application->getUnitOption($event->Prefix, 'TableName'); $sql = 'SELECT ' . $id_field . ' - FROM ' . $table_name . ' + FROM ' . $this->Application->getUnitOption($event->Prefix, 'TableName') . ' WHERE ' . $id_field . ' = ' . $event->getEventParam('id'); $id = $this->Conn->GetOne($sql); - if (!$id) { + if ( !$id ) { $this->Application->SetVar('new_language', 1); } } @@ -556,11 +579,10 @@ */ function OnBeforeItemDelete(&$event) { - $del_id = $event->getEventParam('id'); - $object =& $event->getObject(array('skip_autload' => true)); - $object->Load($del_id); + $object =& $event->getObject(); + /* @var $object kDBItem */ - if ($object->GetDBField('PrimaryLang') || $object->GetDBField('AdminInterfaceLang') || $del_id == $this->Application->GetVar('m_lang')) { + if ( $object->GetDBField('PrimaryLang') || $object->GetDBField('AdminInterfaceLang') || $object->GetID() == $this->Application->GetVar('m_lang') ) { $event->status = kEvent::erFAIL; } }