Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Временный контент

Опубликовано:

Есть такой мод как VIP Members, который через админку даёт возможность выставлять пользователю определённую группу на некоторый срок, после окончания этого срока пользователь автоматически возвращается в исходную группу.

 

Мне такое не подходит, так как есть желание давать доступ к некоторому контенту на форуме (посредством внесения в шаблон <if test="memberfield:|:$author['field_номер доп.поля']">контент</if>) пользователям, которым админы выставили такой доступ через доп. поле. Но что бы время этого доступа было временным, и через определённое время автоматически снимался.

 

Возможно ли такое реализовать?

Рекомендованные сообщения

Опубликовано:
  • Автор

<if test="time() < strtotime('10 September 2015')">Показываем код до 10 сентября 2015 года</if>

А можно такую конструкцию, но скажем что бы контент показывался с 1 января по 3 января?

Опубликовано:

<if test="time() > strtotime('1 January') or time() < strtotime('3 January')">Показываем контент с 1 по 3 января</if>

Если контент надо показать включительно по 3 число, то в условии "3 January" меняем на "4 January".

Изменено пользователем Strategius

Опубликовано:

Только вместо or - and

Опубликовано:
Только вместо or - and

У меня заработало с or, а когда поменял на and перестало работать 038.gif

Опубликовано:

А можно ли сделать, чтобы за расчет этого условия бралось серверное время, а не пользовательское? А то так можно разместить скажем новогодние плюшки, и любой желающий может посмотреть их в летнее время, просто сменив время на компьютере.

Опубликовано:
  • Автор

Если контент надо показать включительно по 3 число, то в условии "3 January" меняем на "4 January".

Спасибо.

Опубликовано:

А можно ли сделать, чтобы за расчет этого условия бралось серверное время, а не пользовательское? А то так можно разместить скажем новогодние плюшки, и любой желающий может посмотреть их в летнее время, просто сменив время на компьютере.

А вообще есть ли в IPB свое время, не пользовательское? Т.е. время сервера, по мск к примеру.

Опубликовано:

А можно ли сделать, чтобы за расчет этого условия бралось серверное время, а не пользовательское?

php это северный язык и работает с временем сервера. Пользователь может указать только часовой пояс, и то, учитывается он только при использования функции форума.

 

У меня заработало с or, а когда поменял на and перестало работать

Логическое условие OR (или) возвращает TRUE если хоть одно из выражений является истинным. Сейчас больше 1 January? Да. Вот по этому и заработало. Правильно условие должно быть таким - сейчас больше 1 января и меньше 3 января.

Опубликовано:
Правильно условие должно быть таким - сейчас больше 1 января и меньше 3 января.

Сделал так:

 

<if test="time() > strtotime('1 December') AND time() < strtotime('30 December')">Показываем контент с 1 по 30 декабря</if>

И вообще не работает, не отображается... с 1 по 30 декабря.

Изменено пользователем Strategius

Опубликовано:
  • Автор

И вообще не работает, не отображается... с 1 по 30 декабря.

Ага.

Но с OR все дни работает.

Опубликовано:
  • Автор

А не подскажите конструкцию которая выводит информацию только на единственное число, раз вышеуказанная конструкция не работает?

Опубликовано:
date('d.m') == '31.12'

Опубликовано:
  • Автор

date('d.m') == '31.12'

Вот так?

<if test="date('d.m') == '31.12'">Контент</if>

Такой вариант не работает...

Опубликовано:
  • Автор

Такой вариант не работает...

А нет, сработало. Спасибо большое.

Опубликовано:
  • Автор

date('d.m') == '31.12'

А откуда скрипт берёт эту дату? Как я понял это не время на компьютере у пользователя и не время на сервере.

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

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.