Index: branches/5.2.x/units/private_message_body/private_message_body_eh.php =================================================================== diff -u -N -r14252 -r14624 --- branches/5.2.x/units/private_message_body/private_message_body_eh.php (.../private_message_body_eh.php) (revision 14252) +++ branches/5.2.x/units/private_message_body/private_message_body_eh.php (.../private_message_body_eh.php) (revision 14624) @@ -1,6 +1,6 @@ getObject(); /* @var $object kDBItem */ Index: branches/5.2.x/units/private_messages/private_message_eh.php =================================================================== diff -u -N -r14252 -r14624 --- branches/5.2.x/units/private_messages/private_message_eh.php (.../private_message_eh.php) (revision 14252) +++ branches/5.2.x/units/private_messages/private_message_eh.php (.../private_message_eh.php) (revision 14624) @@ -1,6 +1,6 @@ Application->GetVar('folder_id'); if ($folder_id === false) { @@ -58,13 +61,17 @@ * Puts message to Sent folder * * @param kEvent $event + * @return void + * @access protected */ - function OnBeforeItemCreate(&$event) + protected function OnBeforeItemCreate(&$event) { + parent::OnBeforeItemCreate($event); + $object =& $event->getObject(); /* @var $object kDBItem */ - if ($object->GetDBField('FolderId') != PM_FOLDER_SENT) { + if ( $object->GetDBField('FolderId') != PM_FOLDER_SENT ) { // when creating "Inbox" message (from "Sent" message) don't reset folder & status return ; } @@ -79,8 +86,10 @@ * Creates 1st post when topic is created * * @param kEvent $event + * @return void + * @access protected */ - function OnAfterItemCreate(&$event) + protected function OnAfterItemCreate(&$event) { parent::OnAfterItemCreate($event); @@ -89,22 +98,22 @@ $this->Application->EmailEventUser('PM.ADD', $object->GetDBField('ToId')); - if ($object->GetDBField('FolderId') != PM_FOLDER_SENT) { + if ( $object->GetDBField('FolderId') != PM_FOLDER_SENT ) { // 1. create message in sender's "Sent" folder (this method only for this step) // 2. create message body (shared) // 3. create message copy in recipient's "Inbox" folder return ; } - $message_body =& $this->Application->recallObject($event->Prefix.'-body', null, Array ('skip_autoload' => true)); + $message_body =& $this->Application->recallObject($event->Prefix . '-body', null, Array ('skip_autoload' => true)); /* @var $message_body kDBItem */ // 1. create message body (for sender & recipient) $copy_fields = Array ('Subject', 'Body', 'ShowSignatures', 'DisableSmileys', 'DisableBBCodes'); $message_body->SetDBFieldsFromHash($object->GetFieldValues(), $copy_fields); $body_created = $message_body->Create(); - if ($body_created) { + if ( $body_created ) { // 2. link body with message $object->SetDBField('PMBodyId', $message_body->GetID()); $object->Update(); @@ -120,9 +129,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 */ @@ -131,6 +144,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); Index: branches/5.2.x/units/topics/topics_event_handler.php =================================================================== diff -u -N -r14252 -r14624 --- branches/5.2.x/units/topics/topics_event_handler.php (.../topics_event_handler.php) (revision 14252) +++ branches/5.2.x/units/topics/topics_event_handler.php (.../topics_event_handler.php) (revision 14624) @@ -1,6 +1,6 @@ Name == 'OnTopicLockToggle') { $object =& $event->getObject(); @@ -64,8 +65,10 @@ * Cache topic owner * * @param kEvent $event + * @return void + * @access protected */ - function OnBeforeItemUpdate(&$event) + protected function OnBeforeItemUpdate(&$event) { parent::OnBeforeItemUpdate($event); @@ -76,8 +79,10 @@ * Cache topic owner * * @param kEvent $event + * @return void + * @access protected */ - function OnBeforeItemCreate(&$event) + protected function OnBeforeItemCreate(&$event) { parent::OnBeforeItemCreate($event); @@ -86,34 +91,36 @@ $object =& $event->getObject(); /* @var $object kCatDBItem */ - if (!$object->GetDBField('TodayDate')) { + if ( !$object->GetDBField('TodayDate') ) { $object->SetDBField('TodayDate', adodb_date('Y-m-d')); } $post_helper =& $this->Application->recallObject('PostHelper'); /* @var $post_helper PostHelper */ - $object->SetDBField('TopicText', $post_helper->CensorText( $object->GetDBField('TopicText') )); + $object->SetDBField('TopicText', $post_helper->CensorText($object->GetDBField('TopicText'))); } /** * Creates 1st post when topic is created * * @param kEvent $event + * @return void + * @access protected */ - function OnAfterItemCreate(&$event) + protected function OnAfterItemCreate(&$event) { parent::OnAfterItemCreate($event); - if ($event->Special == '-item') { + if ( $event->Special == '-item' ) { // don't create first post when cloning return ; } $object =& $event->getObject(); /* @var $object kDBItem */ - $post =& $this->Application->recallObject($event->Prefix.'-post', null, Array ('skip_autoload' => true)); + $post =& $this->Application->recallObject($event->Prefix . '-post', null, Array ('skip_autoload' => true)); /* @var $post kDBItem */ $post->SetDBField('Pending', $object->GetDBField('Status') == STATUS_ACTIVE ? 0 : 1); @@ -157,18 +164,20 @@ } /** - * Makes first post body field non-requered when topic has posts already + * Makes first post body field non-required when topic has posts already * * @param kEvent $event + * @return void + * @access protected */ - function OnAfterItemLoad(&$event) + protected function OnAfterItemLoad(&$event) { parent::OnAfterItemLoad($event); $object =& $event->getObject(); /* @var $object kCatDBItem */ - if ($object->GetDBField('Posts') > 0 || !$this->Application->isAdminUser) { + if ( $object->GetDBField('Posts') > 0 || !$this->Application->isAdminUser ) { $object->setRequired('PostingText', false); } } 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); } } } Index: branches/5.2.x/units/poll_comments/poll_comment_eh.php =================================================================== diff -u -N -r14586 -r14624 --- branches/5.2.x/units/poll_comments/poll_comment_eh.php (.../poll_comment_eh.php) (revision 14586) +++ branches/5.2.x/units/poll_comments/poll_comment_eh.php (.../poll_comment_eh.php) (revision 14624) @@ -1,6 +1,6 @@ Application->isAdminUser) { return ; @@ -59,48 +62,41 @@ } /** - * Before New PollComment created + * Occurs before creating item * * @param kEvent $event + * @return void + * @access protected */ - function OnBeforeItemCreate(&$event) + protected function OnBeforeItemCreate(&$event) { - if ($this->Application->isAdminUser) { + if ( $this->Application->isAdminUser ) { return ; } $object =& $event->getObject(); /* @var $object kDBItem */ - // get Poll info - $parent_prefix = $this->Application->getUnitOption($this->Prefix, 'ParentPrefix'); - if($parent_prefix) { - $main_object =& $this->Application->recallObject($parent_prefix.'.'.$special, null,Array('raise_warnings' => 0)); - /* @var $main_object kDBItem */ + $parent_info = $object->getLinkedInfo($event->Special); + $poll_id = $parent_info['ParentId']; - if (!$main_object->isLoaded()) { - $main_object =& $this->Application->recallObject($parent_prefix); - } - - $poll_id = $main_object->GetDBField($this->Application->getUnitOption($event->Prefix, 'ForeignKey')); - } - - if ($poll_id) { + if ( $poll_id ) { $spam_helper =& $this->Application->recallObject('SpamHelper'); /* @var $spam_helper SpamHelper */ $spam_helper->InitHelper($poll_id, 'PollComment', 0); // ResourceId used for SpamControl only - if ($spam_helper->InSpamControl()) { + if ( $spam_helper->InSpamControl() ) { $event->status = kEvent::erFAIL; $object->SetError('CommentText', 'too_frequent', 'lu_error_AlreadyCommented'); return ; } + + $object->SetDBField('PollId', $poll_id); // PollId } $object->SetDBField('CreatedById', $this->Application->RecallVar('user_id')); $object->SetDBField('UserIP', $_SERVER['REMOTE_ADDR']); - $object->SetDBField('PollId', $poll_id); // PollId $object->SetDBField('Status', STATUS_ACTIVE); parent::OnBeforeItemCreate($event); @@ -127,17 +123,22 @@ } /** - * Updates item review counter + * Protects against spam * * @param kEvent $event + * @return void + * @access protected */ - function OnAfterItemCreate(&$event) + protected function OnAfterItemCreate(&$event) { - if (!$this->Application->isAdminUser) { + parent::OnAfterItemCreate($event); + + if ( !$this->Application->isAdminUser ) { $spam_helper =& $this->Application->recallObject('SpamHelper'); /* @var $spam_helper SpamHelper */ $object =& $event->getObject(); + /* @var $object kDBItem */ $comment_settings = 'poll_CommentDelay_Value:poll_CommentDelay_Interval'; $spam_helper->InitHelper($object->GetDBField('PollId'), 'PollComment', $comment_settings); Index: branches/5.2.x/units/polls/poll_eh.php =================================================================== diff -u -N -r14252 -r14624 --- branches/5.2.x/units/polls/poll_eh.php (.../poll_eh.php) (revision 14252) +++ branches/5.2.x/units/polls/poll_eh.php (.../poll_eh.php) (revision 14624) @@ -1,6 +1,6 @@ Application->isAdminUser) { return ; @@ -73,12 +76,16 @@ } /** - * Reset votes statistics for current poll + * Sets resource id * * @param kEvent $event + * @return void + * @access protected */ - function OnBeforeItemCreate(&$event) + protected function OnBeforeItemCreate(&$event) { + parent::OnBeforeItemCreate($event); + $object =& $event->getObject(); /* @var $object kDBItem */