Skip to content

Важное с Sysman.Ru: Добавление в счётчик юзера

Song: Обращаю внимание разработчиков, что совершенно одинаковый кусок кода:

 

        [color=green]//-------------------------------------------------[/color]        [color=green]// If we are a member, lets update thier last post[/color]        [color=green]// date and increment their post count.[/color]        [color=green]//-------------------------------------------------[/color]              [color=#048284]$pcount[/color] = "";        [color=#048284]$mgroup[/color] = "";                [b]if[/b] ([color=#048284]$ibforums[/color]->member['id'])        {            [b]if[/b] ([color=#048284]$class[/color]->forum['inc_postcount'])            {                [color=green]// Increment the users post count[/color]                [color=#048284]$pcount[/color] = "posts=posts+1, ";            }                        [color=green]// Are we checking for auto promotion?[/color]                        [b]if[/b] ([color=#048284]$ibforums[/color]->member['g_promotion'] != '-1&-1')            {                list([color=#048284]$gid[/color], [color=#048284]$gposts[/color]) = explode( '&', [color=#048284]$ibforums[/color]->member['g_promotion'] );                                [b]if[/b] ( [color=#048284]$gid[/color] > [color=navy]0[/color] [b]and[/b] [color=#048284]$gposts[/color] > [color=navy]0[/color] )                {                    [b]if[/b] ( [color=#048284]$ibforums[/color]->member['posts'] + [color=navy]1[/color] >= [color=#048284]$gposts[/color] )                    {                        [color=#048284]$mgroup[/color] = "mgroup='$gid', ";                                                [b]if[/b] ( USE_MODULES == [color=navy]1[/color] )                        {                            [color=#048284]$class[/color]->modules->register_class(&[color=#048284]$class[/color]);                            [color=#048284]$class[/color]->modules->on_group_change([color=#048284]$ibforums[/color]->member['id'], [color=#048284]$gid[/color]);                        }                    }                }            }                        [color=#048284]$ibforums[/color]->member['last_post'] = time();                        [color=#048284]$DB[/color]->query("UPDATE ibf_members SET ".[color=#048284]$pcount[/color].[color=#048284]$mgroup[/color].                                              "last_post='"    .[color=#048284]$ibforums[/color]->member['last_post']   ."'".                                              "WHERE id='"     .[color=#048284]$ibforums[/color]->member['id']."'");        }

повторяется в 4-х файлах:

  • post_new_post.php
  • post_poll.php
  • post_reply_post.php
  • post_q_reply_post.php

Это совсем нерационально, поэтому напрашивается решение вынести его в файл Post.php в функцию, а из этих 4-х файлов вызывать функцию, например:

 

[color=#048284]$class[/color]->inc_userpostcount();

Featured Replies

No posts to show
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.