Уважаемые пользователи, по техническим причинам загрузка файлов временно недоступна. Приносим извинения за временные неудобства.

Мод отключения рекламы для внесших вклад в развитие сайта

У вас есть идея для расширения функциональности phpBB 3.0.x? Расскажите о ней здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
InetSpider
phpBB 1.0.0
Сообщения: 5
Стаж: 14 лет 6 месяцев

Мод отключения рекламы для внесших вклад в развитие сайта

Сообщение InetSpider »

Родилась сегодня идея:
1. Заходит человек на форум и видит рекламу на сайте с кнопочкой "Отключить рекламу"
2. Соответственно нажимает кнопочку, ибо кому она нужна, только глаза мозолит
3. Для незарегистрированных пользователей сразу же выскакивает окно регистрации, для зарегистрированных - предложение пожертвовать деньги на развитие проекта.
В принципе отключить рекламу для зарегистрированных пользователей несложно:

Код: Выделить всё

<!-- BEGIN switch_user_logged_out -->
== Здесь код баннера ==
<p align="center">хочешь убрать рекламу? просто зарегистрируйся!</p>
<!-- END switch_user_logged_out -->
В общем вижу последовательность действий следующим образом:
1. Прописать условие IF:
- для незарегистрированных пользователей выводить кнопку с адресом страницы регистрации
- для зарегистрированных - кнопку с адресом условий отключения рекламы на сайте
2. Подключить к странице условий отключения рекламы - код платежной системы
3. Создать страницу возврата - при условии, что оплата прошла успешно
- добавить скрипт зачисления пользователя в новую группу пользователей, для которых не крутится реклама
4. Создать страницу возврата - при условии, что оплата не прошла
5. Создать группу пользователей, для которых не будет крутится реклама
6. Вписать в код рекламного блока условие IF при котором реклама не показывается этой самой группе пользователей.
Собственно вопрос:
Как указать в условии IF определенную группу пользователей?

Код: Выделить всё

<!-- IF ??????????????? -->
Каким скриптом добавить пользователя в новую группу пользователей?
Все остальное вроде должен осилить
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 7 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Мод отключения рекламы для внесших вклад в развитие сайт

Сообщение MIT »

InetSpider писал(а):Как указать в условии IF определенную группу пользователей?
Никак. Пользователь может состоять в сотне групп. Просчитывай флаг на стороне скриптов и выводи в шаблон логическую переменную.
InetSpider
phpBB 1.0.0
Сообщения: 5
Стаж: 14 лет 6 месяцев

Re: Мод отключения рекламы для внесших вклад в развитие сайт

Сообщение InetSpider »

Нет ничего невозможного. Можно ведь запретить пользователям вступать в какие либо группы? И для группы VIP к примеру рекламу не показывать.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 8 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Мод отключения рекламы для внесших вклад в развитие сайт

Сообщение Sheer »

InetSpider писал(а): Можно ведь запретить пользователям вступать в какие либо группы?
Можно. Только зачем все усложнять? Проще в таблице users добавить новое поле типа tini_int со значением по умолчанию, равным 0. Например is_payd
Заплатил, значение выставили в единицу. Теперь в любом месте значение этого поля доступно через класс $user
Далее

Код: Выделить всё

($user->data['is_payd']) ? не показываем рекламу : показываем; 
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
InetSpider
phpBB 1.0.0
Сообщения: 5
Стаж: 14 лет 6 месяцев

Re: Мод отключения рекламы для внесших вклад в развитие сайт

Сообщение InetSpider »

А можно поподробнее? Разжевать, так сказать :roll: Был бы примного благодарен.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 8 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Мод отключения рекламы для внесших вклад в развитие сайт

Сообщение Sheer »

А чего там подробнее? Ну если вам нужно на глобальном уровне, то в функцииpage_header() (includes/functions.php)
засовываете в класс $template объект, вот в этом месте

Код: Выделить всё

// The following assigns all _common_ variables that may be used at any point in a template.     
например

Код: Выделить всё

'S_PAYD'    => ($user->data['is_payd']) ? true : false, 
далее в любом шаблоне условие

Код: Выделить всё

<!-- IF not S_PAYD -->
тут код баннера
<-- ENDIF -->
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
InetSpider
phpBB 1.0.0
Сообщения: 5
Стаж: 14 лет 6 месяцев

Re: Мод отключения рекламы для внесших вклад в развитие сайт

Сообщение InetSpider »

Если можно подскажите плиз какой код добавить на страницу успешной оплаты для назначения is_payd=true
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 6 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

Re: Мод отключения рекламы для внесших вклад в развитие сайт

Сообщение HAMMER663 »

Код: Выделить всё

<!-- IF S_PAYD -->
тут код баннера
<-- ENDIF -->
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 8 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Мод отключения рекламы для внесших вклад в развитие сайт

Сообщение Sheer »

HAMMER663
Он не то имел в виду. По всей видимости вопрос таков: каким образом установить значение поля is_payd. Не в смысле SQL-запроса, а при каком условии выполнять запрос, который установит в поле единицу.
Ответ: да фиг его знает. Потому как никто не знает, как ты собираешься это сделать:
InetSpider писал(а):2. Подключить к странице условий отключения рекламы - код платежной системы
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
InetSpider
phpBB 1.0.0
Сообщения: 5
Стаж: 14 лет 6 месяцев

Re: Мод отключения рекламы для внесших вклад в развитие сайт

Сообщение InetSpider »

А ты как бы сделал?
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 8 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Мод отключения рекламы для внесших вклад в развитие сайт

Сообщение Sheer »

InetSpider писал(а):А ты как бы сделал?
Никак. Нашел бы другой, более благородный способ зарабатывания денег.
Смотри в эту сторону Hook смс:ключ
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Вернуться в «Запросы модов для phpBB 3.0.x»