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

Aeroion.Ru Forum Index
  » Технические форумы
   » Поддержка и моды для phpBB2
    » Мод Birthday list caching
   кэширование списка именинников для мода Birthday MOD by Niels
printer-friendly view
AuthorМод Birthday list caching
Sergey Gender:Male


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


Joined: 06 Jan 2005
Location: Оренбург
Posts: 1127
Last Visited: Today at 01:43
Кредиты: 3594
Reputation: 47
Age: 41
Zodiac: Aquarius Pig

После удаления юзера надо кэш cache/index/ очистить. По остальному не знаю, может у вас часовые пояса различаются, здесь всё меняется.

_________________
Профессионал - это тот же дилетант, только знающий где ошибется. Генератор 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
vlad77 Gender:Male

Модератор


Joined: 15 Mar 2008
Location: Москва
Posts: 170
Last Visited: Yesterday at 00:37
Кредиты: 1707
Reputation: 4


С праздниками !
Sergey @ Tue 23 Dec, 2008 07:59 wrote: (View Post)
Show
Нельзя ли уменьшить время обновления кэша, например сделать 15 минут ?

Причина вопроса.
Спамботы обычно при регистрации заполняют все поля. Если спам попадает в список именинников, и удаляет его админ не имеющий ФТП доступа, то "именинники" с таким вот никами "Анал порно" или еще по хлеще, сутки висят на главной форума. Sad
Back to topOffline View user's profile
Siava Gender:Male

Партнер


Joined: 25 Dec 2005
Posts: 37
Last Visited: Wed 04 Jan, 2012 22:42
Кредиты: 464
Reputation: 4
Age: 30
Zodiac: Cancer Cock

vlad77, а не проще ли сделать, чтобы в списках именинников не отображались те, у кого 0 сообщений? Smile
В index.php ищем sql-запрос birthday-мода и добавляем в него AND user_posts > 0 Smile

_________________
Siava.Ru
Back to topOffline View user's profile Visit poster's website
vlad77 Gender:Male

Модератор


Joined: 15 Mar 2008
Location: Москва
Posts: 170
Last Visited: Yesterday at 00:37
Кредиты: 1707
Reputation: 4


Siava сделал, спасибо.
Вопрос правда остался актуален, т.к. если бот что то запостил, то что у него постов больше нуля сохраняется в кэше.
Back to topOffline View user's profile
Sergey Gender:Male


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


Joined: 06 Jan 2005
Location: Оренбург
Posts: 1127
Last Visited: Today at 01:43
Кредиты: 3594
Reputation: 47
Age: 41
Zodiac: Aquarius Pig

Завтра попробую что-нибудь набросать. Проблема в том, что существует много модов для удаления юзеров, под все аддоны не нарисуешь.
Если уменьшить время обновления кэша до 15 минут, то теряет смысл вся эта затея. Проще сделать удаление кэша при удалении юзера. Это не такая частая операция.

_________________
Профессионал - это тот же дилетант, только знающий где ошибется. Генератор 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
vlad77 Gender:Male

Модератор


Joined: 15 Mar 2008
Location: Москва
Posts: 170
Last Visited: Yesterday at 00:37
Кредиты: 1707
Reputation: 4


Sergey, спасибо. У меня такие моды для удаления пользователей Embarassed
Code:
##############################################################
## MOD Title: Admin simply delete "dead" users
## MOD Author: rxu < rxu@sunlan.ru > (n/a) n/a
http://www.phpbbguru.net/.....12188.html
и
Code:
##############################################################
## MOD Title: Admin Userlist
## MOD Author: Smartor < smartor_xp@hotmail.com > (Hoang Ngoc Tu) http://smartor.is-root.com
http://www.phpbbguru.net/.....c1176.html
Back to topOffline View user's profile
Sergey Gender:Male


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


Joined: 06 Jan 2005
Location: Оренбург
Posts: 1127
Last Visited: Today at 01:43
Кредиты: 3594
Reputation: 47
Age: 41
Zodiac: Aquarius Pig

vlad77, Попробуй, набросал на коленке без тестирования
Code:
#
#-------- [OPEN] --------------
#
includes/functions.php

#
#-------- [FIND] --------------
#
    global $board_config, $phpbb_root_path;

    $cache_birthdays_file = $phpbb_root_path.'cache/index/birthday_'. sprintf('%.2f',$board_config['board_timezone']) . '.dat';
    if (@is_file($cache_birthdays_file))
    {
        $fp = @fopen($cache_birthdays_file, 'w');
        @fclose($fp);
        @chmod($cache_birthdays_file, 0777);
    }

#
#-------- [REPLACE WITH] --------------
#
    global $phpbb_root_path;

    $cache_birthdays_files = $phpbb_root_path.'cache/index/birthday*.dat';
    foreach(glob($cache_birthdays_files) as $fn)
    {
        @unlink($fn);
    }

#
#-------- [OPEN] --------------
#
admin/admin_users.php

#
#-------- [FIND] --------------
#

            $message = $lang['User_deleted'] . '<br /><br />'

#
#-------- [BEFORE, ADD] --------------
#
            clear_cache_birthdays();



#
#-------- [OPEN] --------------
# NOTE: if you DO NOT have the Admin simply delete "dead" users mod, ignore this line
#
admin/admin_delete_users.php


#
#-----[ FIND ]------------------------------------------
# NOTE: if you DO NOT have the Admin simply delete "dead" users mod, ignore this line
#

        $message = '<b>' . count($deleted) . '</b> ' . $lang[$delete_user_option]

#
#-------- [BEFORE, ADD] --------------
# NOTE: if you DO NOT have the Admin simply delete "dead" users mod, ignore this line
#
        clear_cache_birthdays();




#
#-------- [OPEN] --------------
# NOTE: if you DO NOT have the Admin Userlist mod, ignore this line
#
admin/admin_userlist.php


#
#-----[ FIND ]------------------------------------------
# NOTE: if you DO NOT have the Admin Userlist mod, ignore this line
#

            $message = $lang['User_deleted_successfully'] . "<br /><br />"

#
#-------- [BEFORE, ADD] --------------
# NOTE: if you DO NOT have the Admin Userlist mod, ignore this line
#
            clear_cache_birthdays();

_________________
Профессионал - это тот же дилетант, только знающий где ошибется. Генератор 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
vlad77 Gender:Male

Модератор


Joined: 15 Mar 2008
Location: Москва
Posts: 170
Last Visited: Yesterday at 00:37
Кредиты: 1707
Reputation: 4


Все работает, спасибо.

У кого другие моды, надо по аналогии, перед выводом сообщения "действие успешно завершено" вставлять строку:
Code:
 clear_cache_birthdays(); 
Back to topOffline View user's profile
vlad77 Gender:Male

Модератор


Joined: 15 Mar 2008
Location: Москва
Posts: 170
Last Visited: Yesterday at 00:37
Кредиты: 1707
Reputation: 4


Обнаружилась необходимость удалять файлы мода из кэша при назначении/снятии модераторов/администраторов.
Code:
 открыть
admin_ug_auth.php

найти
$message = $lang['Auth_updated']

перед добавить
// Для очистки кэша списка именинников
    clear_cache_birthdays();

найти
$message = $lang['Auth_updated']

перед добавить
// Для очистки кэша списка именинников
    clear_cache_birthdays();

найти
$l_auth_return

перед добавить
// Для очистки кэша списка именинников
    clear_cache_birthdays();


Теперь нечто интересное.
Модераторов можно назначать через группу. Чем дальше в лес - тем больше партизан. :wink:

Если стоит eXtreme Styles mod то проще всего
Code:
 открыть
xs_cache.php

найти
//
// clear cache
//

после найти
                $data .= str_replace('{NUM}', $num_error, $lang['xs_cache_log_count2']) . "<br />\n";
            }
        }
    }


после добавить

// Для очистки кэша списка именинников
    clear_cache_birthdays();
Тогда при клике в админке по "Управление кэшем" и затем по "Очистить кэш" в том числе будет чиститься и кэш дней рождений.

Можно пойти другим путем, при всех манипуляциях с группами чистить кэш именинников.
Code:
открыть
admin_groups.php

найти
if ( isset($HTTP_POST_VARS['edit']) || isset($HTTP_POST_VARS['new']) )

перед добавить
// Для очистки кэша списка именинников
    clear_cache_birthdays();


открыть groupcp.php
найти
$message = $lang['Group_joined'] . '<br /><br />' . sprintf($lang['Click_return_group'], '<a href="' . append_sid("groupcp.$phpEx?" . POST_GROUPS_URL . "=$group_id") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');

перед добавить
// Для очистки кэша списка именинников
    clear_cache_birthdays();

найти
$message = $lang['Unsub_success'] . '<br /><br />' . sprintf($lang['Click_return_group'], '<a href="' . append_sid("groupcp.$phpEx?" . POST_GROUPS_URL . "=$group_id") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');

перед добавить
// Для очистки кэша списка именинников
    clear_cache_birthdays();

найти
        }
        //
        // END approve or deny
        //

перед добавить
// Для очистки кэша списка именинников
    clear_cache_birthdays();



если стоит мод Admin Userlist (2.0.6c)
Code:
открыть
admin_userlist.php

найти
                        'U_GROUPCP' => $server_url . '?' . POST_GROUPS_URL . "=$group_id")
                    );
                    $emailer->send();
                    $emailer->reset();

после добавить
// Для очистки кэша списка именинников
    clear_cache_birthdays();
У меня изменения внесены как для очистки кэша именинников при манипуляциях с группами, так и для ручной очистки кэша.
Монстр честно говоря получился.
Back to topOffline View user's profile
Sergey Gender:Male


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


Joined: 06 Jan 2005
Location: Оренбург
Posts: 1127
Last Visited: Today at 01:43
Кредиты: 3594
Reputation: 47
Age: 41
Zodiac: Aquarius Pig

Если уж пошла такая пьянка, можно сделать тупо и проще. Убивать кэш дней рождений при входе в админ раздел. Вставить вызов clear_cache_birthdays(); перед ?> или в ./admin/page_header_admin.php или в ./admin/pagestart.php, и тогда все вышеперечисленные извратства с админ скриптами не потребуются.
Дополнительной нагрузки на сервер практически не будет, админка это редко используемая часть форума.

_________________
Профессионал - это тот же дилетант, только знающий где ошибется. Генератор 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
vlad77 Gender:Male

Модератор


Joined: 15 Mar 2008
Location: Москва
Posts: 170
Last Visited: Yesterday at 00:37
Кредиты: 1707
Reputation: 4


На форуме есть возможность разрешить пользователям самим менять свои ники. Что бы при такой смене ников изменялись и ники именинников, можно в инструкции вместо
Code:
 #
#-----[ OPEN ]------------------------------------------------
#
includes/usercp_register.php

#
#-----[ FIND ]------------------------------------------------
#
            $avatar_sql = ( $mode == 'editprofile' ) ? '' : "'', " . USER_AVATAR_NONE;
        }

#
#-----[ AFTER, ADD ]------------------------------------------
#
// -- add mod : Birthday list caching
        if ( $birthday != $userdata['user_birthday'] )
        {
            clear_cache_birthdays();
        }
// -- fin mod : Birthday list caching


сделать
Code:
 #
#-----[ OPEN ]------------------------------------------------
#
includes/usercp_register.php

#
#-----[ FIND ]------------------------------------------------
#
            $avatar_sql = ( $mode == 'editprofile' ) ? '' : "'', " . USER_AVATAR_NONE;
        }

#
#-----[ AFTER, ADD ]------------------------------------------
#
// -- add mod : Birthday list caching

            clear_cache_birthdays();

// -- fin mod : Birthday list caching
Back to topOffline View user's profile
Display posts from previous:   

Summary Rating For >> Мод Birthday list caching
Average Rating: 0.00 :: Min Rating: 0 :: Max Rating: 0 :: Number of Ratings: 0
Choose Rating: 1   2   3   4   5  

Similar Topics
Topic Author Forum Replies Last Post
No new posts Мод Birthdays list caching
кэширование списка именинников для мо...
Sergey Поддержка и моды для phpBB2 3 Mon 30 Apr, 2007 19:20 View latest post
Today
No new posts Мод Democracy caching
кэширование списка пользователей при ...
Sergey Поддержка и моды для phpBB2 3 Sun 27 May, 2007 18:07 View latest post
Vip
No new posts Мод Advanced Away (Vacation) Status
Доработка мода Away (Vacation) Status...
Sergey Поддержка и моды для phpBB2 7 Sat 13 Feb, 2010 09:18 View latest post
Sergey
No new posts Мод Sort memberlist per letter [Engli...
сортировка списка пользователей по си...
Sergey Поддержка и моды для phpBB2 4 Thu 25 Feb, 2010 07:56 View latest post
Sergey
No new posts Мод Topics watch list
список подписанных тем
Sergey Поддержка и моды для phpBB2 2 Sat 27 May, 2006 16:29 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