Не присылать оповещения на E-mail если пользователь онлайн на форуме

Не присылать оповещения на E-mail

  1. Next
    Совместимость с XenForo:
    • XenForo 1.2
    • XenForo 1.3
    • XenForo 1.4
    • XenForo 1.5
    Мне показалось странным, что оповещения на почту приходят даже в том случае, если ты находишься на форуме и прекрасно видишь и так все уведомления.
    Особенно это касается переписок. Общаешься например с собеседником и в этот момент на E-mail тебе приходят оповещения о том, что он тебе пишет.

    Плагины я писать не умею, поэтому придумал такое решение:

    library/XenForo/Model/Conversation.php
    Найти:
    PHP:
    if ($alertUser['email_on_conversation'] && $alertUser['user_state'] == 'valid' && !$alertUser['is_banned'])
    Заменить на:
    PHP:
    $lastActivity = (time() - $alertUser['last_activity']);

    if (
    $alertUser['email_on_conversation'] && $alertUser['user_state'] == 'valid' && !$alertUser['is_banned'] && $lastActivity 3600)
    library/XenForo/Model/ThreadWatch.php
    Найти:
    PHP:
    if ($user['email_subscribe'] && $user['email'] && $user['user_state'] == 'valid')
    Заменить на:
    PHP:
    $lastActivity = (time() - $user['last_activity']);

    if (
    $user['email_subscribe'] && $user['email'] && $user['user_state'] == 'valid' && $lastActivity 3600)
    library/XenForo/Model/ForumWatch.php
    Найти:
    PHP:
    if ($user['send_email'] && !isset($noEmailKeys[$user['user_id']])
             && 
    $user['email'] && $user['user_state'] == 'valid')
    Заменить на:
    PHP:
    $lastActivity = (time() - $user['last_activity']);

    if (
    $user['send_email'] && !isset($noEmailKeys[$user['user_id']])
             && 
    $user['email'] && $user['user_state'] == 'valid' && $lastActivity 3600)
Поделиться этой страницей в