Username:
Password:
 Log me on automatically each visit
 
Aeroion.Ru
Форумы сервера Aeroion.Ru
Welcome

Aeroion.Ru Forum Index
  » Технические форумы
   » Поддержка и моды для phpBB2
    » Мод Points System ver 1.0.0
   исправление глюков при редактировании/удалении сообщения
printer-friendly view
AuthorМод Points System ver 1.0.0
Sergey Gender:Male


Местный босс - администратор


Joined: 06 Jan 2005
Location: Оренбург
Posts: 1165
Last Visited: Yesterday at 14:46
Кредиты: 3714
Reputation: 48
Age: 41
Zodiac: Aquarius Pig

В моде Points System ver 1.0.0 (система пойнтов) присутствует недоработка - пойнты начисляются и при редактировании сообщения, а при удалении - не снимаются.
Чтобы исправить эти баги (?) и не накручивать очки, необходимо внести изменения:

Code:
#
#----- [ OPEN ] ------------
#
includes/functions_post.php

#
#----- [FIND AND DELETE] ------------
#
                if( $board_config['points_post'] )
                {
                        $points = abs( ( $mode == 'newtopic' ) ? $board_config['points_topic'] : $board_config['points_reply'] );

                        if( $userdata['session_logged_in'] )
                        {
                                $sql = "UPDATE " . USERS_TABLE . "
                                                SET user_points = user_points + $points
                                                WHERE user_id = $userdata[user_id]";
                                if( !$db->sql_query($sql) )
                                {
                                        message_die(GENERAL_ERROR, 'Could not update user points', '', __LINE__, __FILE__, $sql);
                                }
                        }
                }
#
#----- [ FIND ] ------------
#
function update_post_stats(&$mode, &$post_data, &$forum_id, &$topic_id, &$post_id, &$user_id)
{
    global $db;

#
#----- [ AFTER ADD ] ------------
#
    global $board_config;

#
#-----[ FIND ] ------------
#
        $sql = "UPDATE " . USERS_TABLE . "
            SET user_posts = user_posts $sign
            WHERE user_id = $user_id";
        if (!$db->sql_query($sql, END_TRANSACTION))
        {
            message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
        }

#
#-----[ REPLACE WITH ] ------------
#
                if( $board_config['points_post'] )
                {
                    if ($mode == 'delete')
                    {
                        $points = "- ".abs( ( $post_data['first_post'] ) ? $board_config['points_topic'] : $board_config['points_reply'] );
                    }
                    else
                    {
                        $points = "+ ".abs( ( $mode == 'newtopic' ) ? $board_config['points_topic'] : $board_config['points_reply'] );
                    }
                    $points=", user_points = user_points ". $points;
                }

        $sql = "UPDATE " . USERS_TABLE . "
            SET user_posts = user_posts $sign $points
            WHERE user_id = $user_id";
        if (!$db->sql_query($sql, END_TRANSACTION))
        {
            message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
        }


Этот код также учитывает, что удаляется: тема или ответ на сообщение

_________________
Профессионал - это тот же дилетант, только знающий где ошибется. Генератор db_update.php для phpBB2 с некоторыми удобствами.
Как ставить моды. Что такое [SQL] и с чем его едят | Как правильно задавать вопросы и получать адекватные ответы | Правила форума
Бесплатная техподдержка только на форуме! Не надо стучаться в аську, слать емайлы, пытаться писать в приват. Спасибо за понимание.
Please do not PM, ICQ or email me for support help - you won't get any reply. If you have a question or issue, post it in the appropriate forum/topic. Thanks!
Back to topOffline View user's profile Skype Name
Sergey Gender:Male


Местный босс - администратор


Joined: 06 Jan 2005
Location: Оренбург
Posts: 1165
Last Visited: Yesterday at 14:46
Кредиты: 3714
Reputation: 48
Age: 41
Zodiac: Aquarius Pig

Post Tue 31 May, 2005 20:50 Download Post
 обработка удаления модератором
Обработка удаления через Панель модерации

Code:
#
#----- [ OPEN ] ------------
#
modcp.php

#
#----- [ FIND ] ------------
#
            $count_sql = array();
            while ( $row = $db->sql_fetchrow($result) )
            {
                $count_sql[] = "UPDATE " . USERS_TABLE . "
                    SET user_posts = user_posts - " . $row['posts'] . "
                    WHERE user_id = " . $row['poster_id'];
            }

#
#-----[ REPLACE WITH ] ------------
#
            $count_sql = array();
            while ( $row = $db->sql_fetchrow($result) )
            {
                if( $board_config['points_post'] )
                {
                    $points = abs( ( $row['posts'] == 1) ? $board_config['points_topic'] : $board_config['points_reply'] ) * $row['posts'];
                    $points = ", user_points = user_points - " . $points;
                }
                $count_sql[] = "UPDATE " . USERS_TABLE . "
                    SET user_posts = user_posts - " . $row['posts'] . $points . "
                    WHERE user_id = " . $row['poster_id'];
            }

_________________
Профессионал - это тот же дилетант, только знающий где ошибется. Генератор db_update.php для phpBB2 с некоторыми удобствами.
Как ставить моды. Что такое [SQL] и с чем его едят | Как правильно задавать вопросы и получать адекватные ответы | Правила форума
Бесплатная техподдержка только на форуме! Не надо стучаться в аську, слать емайлы, пытаться писать в приват. Спасибо за понимание.
Please do not PM, ICQ or email me for support help - you won't get any reply. If you have a question or issue, post it in the appropriate forum/topic. Thanks!
Back to topOffline View user's profile Skype Name
Display posts from previous:   

Summary Rating For >> Мод Points System ver 1.0.0
Average Rating: 5.00 :: Min Rating: 5 :: Max Rating: 5 :: Number of Ratings: 2
Choose Rating: 1   2   3   4   5  


Similar Topics
Topic Author Forum Replies Last Post
No new posts Мод Advanced Points System Russian 2.1.4
Система пойнтов (мод оплаты за сообще...
Sergey Поддержка и моды для phpBB2 65 Wed 16 Dec, 2009 14:51 View latest post
Begemot
No new posts Мод Points per download (File attachm...
скачивание файлов за пойнты
Sergey Поддержка и моды для phpBB2 42 Thu 14 May, 2009 19:23 View latest post
suende
No new posts Возможно ли объединить моды Points sy... smart2008 Поддержка и моды для phpBB2 1 Wed 20 Aug, 2008 10:46 View latest post
Sergey
No new posts Мод Points System add-on: Edit User's...
изменение количества пойнтов админист...
Sergey Поддержка и моды для phpBB2 0 Tue 08 Nov, 2005 15:46 View latest post
Sergey
No new posts Мод Quote Post in Private Message for...
цитирование текста сообщения при созд...
Sergey Поддержка и моды для phpBB2 2 Sat 30 Apr, 2011 15:53 View latest post
Sergey




All times are UTC + 3 Hours
All times are synchronized with the forum server time
Users browsing this topic:
Registered Users: None

Jump to:   
printer-friendly view
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum