Jump to content
bbh_blocked_dnftl

Resource Forum Ресурсы для ваших игр и сайтов.

Площадка, которая предоставляет бесплатные ресурсы, моды, скрипты, сборки, ресурспаки, модели, объекты, античиты и т.д. для ваших игр и сайтов. Мы всё делаем для того, чтобы всё было бесплатно для обычных пользователей и т.д. Спасибо что вы с нами!
  • Ресурсы
  • PREMIUM

    Если вы желаете выразить поддержку форуму - вы можете приобрести  подписку и получить привилегии данной группы. Продавец или PREMIUM
  • Купить улучшения
  • НАЧНИ ПРОДВИГАТЬ СЕБЯ ПРАВИЛЬНО!

    Хочешь выделяться? но не знаешь как, RESOURCE-FORUM поможет тебя! Именно тут ты можешь выложить свой ресурс и продвигать его! и большинство пользователем он понравиться и они запомнят твое имя!
  • Добавить ресурсы
  • Новости
    Resource Forum: ТУТ МОЖЕТ БЫТЬ ВАША РЕКЛАМАResource Forum: Успей купить Premium Строка новостей

    СТОП — Пожалуйста, подтвердите свой email


    Recommended Posts

    • PREMIUM

    • Member ID:  2
    • Group:  PREMIUM
    • Followers:  1
    • Topic Count:  3
    • Topics Per Day:  0.04
    • Content Count:  23
    • Content Per Day:  0.30
    • Reputation:   2
    • Achievement Points:  133
    • Solved Content:  0
    • Days Won:  1
    • Joined:  09/21/25
    • Status:  Offline
    • Last Seen:  
    • Device:  Windows

    Posted

    Это решение делает простую проверку в шаблоне PAGE_CONTAINER, чтобы показывать полноэкранное оверлей-сообщение «Подтвердите свой email» пользователям в статусе awaiting confirmation. При этом они всё ещё могут попасть на страницы повторной отправки письма и управления аккаунтом. Ни PHP, ни отдельный аддон не нужны.
    2025-10-11150807.png.d130f08d553f51ca749f47407464a6d7.png

    🔧 Что делает

    Если user_state = email_confirm или email_confirm_edit, то все обычные страницы блокируются модальным оверлеем.

    Разрешены только определённые шаблоны: account details, resend confirmation, login, register и т.п.

    Фон страницы блокируется от скролла, пока открыт оверлей.

    📝 Модификация шаблона

    Template: PAGE_CONTAINER

    Modification key: confirm_your_email

    Search type: Simple replacement

    Find: <div class="p-body">

    Replace:

    $0
      <xf:if is="$xf.visitor.user_state == 'email_confirm' || $xf.visitor.user_state == 'email_confirm_edit'">
        <xf:set var="$__allowed" value="{{ [
          'account_wrapper','account_details','account_email','account_security','account_privacy','account_preferences',
          'account_connected','account_alerts','account_tfa','account_upgrades',
          'login','logout','register','lost_password','two_step',
          'account_confirm_email','public:account_confirm_resend','account_confirm_resend','account_confirm_setup',
          'account_confirmation_email','account_confirmation_resend','account_confirmation_setup',
          'help_page','contact','confirm'
        ] }}" />
        <xf:if is="!in_array($template, $__allowed)">
          <div class="uEmailConfirmOverlay" role="dialog" aria-modal="true" aria-labelledby="uEmailConfirmTitle">
            <div class="uEmailConfirmBox">
              <h2 id="uEmailConfirmTitle">Please confirm your email</h2>
              <p>To browse the community you need to confirm your email address.</p>
              <div class="uEmailConfirmActions">
                <a class="button button--primary" href="{{ link('account-confirmation/resend') }}">Resend confirmation email</a>
                <a class="button" href="{{ link('account/account-details') }}">Change email</a>
                <a class="button button--link" href="{{ link('logout', null, {'t': csrf_token()}) }}">Log out</a>
              </div>
            </div>
          </div>
          <script>
            document.documentElement.classList.add('uEmailConfirmLock');
            try { document.querySelector('.uEmailConfirmBox .button')?.focus(); } catch(e){}
          </script>
        <xf:else />
          {$contents}
        </xf:if>
      <xf:else />
        {$contents}
      </xf:if>
    <xf:css>
    .uEmailConfirmOverlay {position: fixed;inset: 0;z-index: 9999;background: rgba(0,0,0,.82);backdrop-filter: blur(2px);display: flex;align-items: center;justify-content: center;padding: 24px;overflow: auto;}
    .uEmailConfirmBox {max-width: 560px;width: 100%;background: white;color: @xf-textColor;border-radius: @xf-borderRadiusLarge;box-shadow: 0 14px 48px rgba(0,0,0,.35);padding: 24px;text-align: center;}
    .uEmailConfirmBox h2 { margin: 0 0 10px; font-size: 20px; }
    .uEmailConfirmActions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin: 16px 0; }
    .uEmailConfirmActions .button { min-width: 190px; }
    .uHint { font-size: 12px; color: @xf-textColorMuted; margin: 0; }
    
    @media (max-width: 480px) {
      .uEmailConfirmBox { padding: 18px; border-radius: @xf-borderRadiusMedium; }
      .uEmailConfirmActions .button { min-width: 100%; }
    }
    
    body:has(.uEmailConfirmOverlay) .p-notice,
    body:has(.uEmailConfirmOverlay) .blockMessage { display: none !important; }
    .uEmailConfirmLock, .uEmailConfirmLock body { overflow: hidden; }
    </xf:css>

     

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

    Resource Forum РЕКЛАМА

    static728x90_7.png

    Уведомление: Деятельность компании Meta* (владелец социальных сетей Instagram и Facebook) признана экстремистской и запрещена на территории Российской Федерации решением суда. Упоминания данных платформ носят исключительно информационный характер.

    * Организация внесена в перечень организаций и физических лиц, в отношении которых имеются сведения об их причастности к экстремистской деятельности или терроризму

    ×
    ×
    • Create New...