Index: branches/5.2.x/units/posts/post_eh.php =================================================================== diff -u -N -r14252 -r14624 --- branches/5.2.x/units/posts/post_eh.php (.../post_eh.php) (revision 14252) +++ branches/5.2.x/units/posts/post_eh.php (.../post_eh.php) (revision 14624) @@ -1,6 +1,6 @@ Name, $events)) { @@ -35,9 +37,13 @@ * Sets default values * * @param kEvent $event + * @return void + * @access protected */ - function OnBeforeItemCreate(&$event) + protected function OnBeforeItemCreate(&$event) { + parent::OnBeforeItemCreate($event); + $object =& $event->getObject(); /* @var $object kDBItem */ @@ -56,8 +62,8 @@ $object->SetDBField('IPAddress', $_SERVER['REMOTE_ADDR']); $sql = 'SELECT Login - FROM '.TABLE_PREFIX.'PortalUser - WHERE PortalUserId = '.$user_id; + FROM ' . TABLE_PREFIX . 'PortalUser + WHERE PortalUserId = ' . $user_id; $object->SetDBField('PosterAlias', $this->Conn->GetOne($sql)); // set post options @@ -108,16 +114,20 @@ * Ensures, that only user with permission will update topic * * @param kEvent $event + * @return void + * @access protected */ - function OnBeforeItemUpdate(&$event) + protected function OnBeforeItemUpdate(&$event) { + parent::OnBeforeItemUpdate($event); + $object =& $event->getObject(); /* @var $object kDBItem */ $perm_status = $this->checkPostPermission($event, 'TOPIC.REPLY.MODIFY|TOPIC.REPLY.OWNER.MODIFY'); - if (!$perm_status) { + if ( !$perm_status ) { $event->status = kEvent::erFAIL; - return ; + return; } $post_helper =& $this->Application->recallObject('PostHelper'); @@ -164,9 +174,13 @@ * Sets post options to virtual fields * * @param kEvent $event + * @return void + * @access protected */ - function OnAfterItemLoad(&$event) + protected function OnAfterItemLoad(&$event) { + parent::OnAfterItemLoad($event); + $object =& $event->getObject(); /* @var $object kDBItem */ @@ -175,6 +189,7 @@ $options_map = $post_helper->getOptionsMap(); $post_options = $object->GetDBField('Options'); + foreach ($options_map as $option_name => $field_name) { $option_value = $post_helper->GetPostOption($option_name, $post_options); $object->SetDBField($field_name, (int)$option_value); @@ -185,9 +200,13 @@ * Updates cached post counter in topic * * @param kEvent $event + * @return void + * @access protected */ - function OnAfterItemCreate(&$event) + protected function OnAfterItemCreate(&$event) { + parent::OnAfterItemCreate($event); + $object =& $event->getObject(); /* @var $object kDBItem */ @@ -206,17 +225,17 @@ $category_id = $this->Application->GetVar('m_cat_id'); $post_helper->PropagateCategoryField($category_id, 'Modified', $object->GetDBField('CreatedOn')); - if (!$this->Application->isAdmin && $main_object->GetDBField('Posts')) { + if ( !$this->Application->isAdmin && $main_object->GetDBField('Posts') ) { // don't send any email events when in admin OR new topic just added (0 posts) $user_notified = false; // don't send POST.ADD event twice to same user (in case if owner adds new post) - if ($main_object->GetDBField('NotifyOwnerOnChanges')) { + if ( $main_object->GetDBField('NotifyOwnerOnChanges') ) { $user_notified = $main_object->GetDBField('OwnerId'); $this->Application->EmailEventUser('POST.ADD', $user_notified); } $post_owner_id = $object->GetDBField('CreatedById'); - if (($post_owner_id > 0) && ($user_notified != $post_owner_id)) { + if ( ($post_owner_id > 0) && ($user_notified != $post_owner_id) ) { $this->Application->EmailEventUser('POST.ADD', $post_owner_id); } @@ -230,12 +249,14 @@ $posts_count = $post_helper->updatePostCount($topic_id, +1); $main_object->SetDBField('Posts', $posts_count); - // autolock topic after N number of posts (if option enabled) + // auto-lock topic after N number of posts (if option enabled) $auto_lock = $this->Application->ConfigValue('AutoTopicLockPosts'); - if ((int)$auto_lock > 0) { - if ($posts_count >= $auto_lock) { + + if ( (int)$auto_lock > 0 ) { + if ( $posts_count >= $auto_lock ) { // user has unlocked topic after $auto_lock and posts again -> ensure that topic will be locked again - $this->Application->HandleEvent($parent_prefix.':OnTopicLockToggle'); + $lock_event = new kEvent($parent_prefix . ':OnTopicLockToggle'); + $this->Application->HandleEvent($lock_event); } } }