Измение переменной по происшествии определенного времени

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
el magnifico
phpBB 1.2.1
Сообщения: 24
Стаж: 16 лет 3 месяца
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 7 раз

Измение переменной по происшествии определенного времени

Сообщение el magnifico »

Начал недавно ковыряться в файлах phpbb (3) - начал кое-что понимать. Надоело бездумно устналивать моды. Пытаюсь делать что-то сам. Уже, думаю, смогу написать простой мод.
Но возник такой вопрос:
Есть некая переменная, назовем ее "k", это число и будет выводится у пользователя под аватаркой (это я сделать смогу - запишу ее в viewtopic.php, а затем в шаблон и в базу данных). Неважно, что она будет означать (деньги, предупрежднения, или еще чего). Как сделать, чтобы она изменялась переодически (допустим, каждый месяц), т.е. увеличивалась или уменьшалась. Например:
У пользователя из группы "А" каждую неделю она увеличивается на 200 у.е, а у пользователя из группы "Б" каждый месяц на 100 у.е. Кто бы мог привести мне простенький скрипт-пример? Если идея с группами не подходит, то можно взять звания.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 3 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

Re: Измение переменной по происшествии определенного времени

Сообщение Палыч »

el magnifico писал(а):Уже, думаю, смогу написать простой мод.
Главный вопрос: зачем? От ответа на него зависят ответы на всё ниже изложенное.
el magnifico писал(а):Неважно, что она будет означать
Важно, ибо нужно точно понимать, что хочется иметь в конце...
el magnifico писал(а):Как сделать, чтобы она изменялась переодически (допустим, каждый месяц)
Заносить в базу данных время последнего изменения и при вызове сравнивать время изменения с текущим. Если разница больше месяца - изменять переменную.
el magnifico писал(а):Если идея с группами не подходит, то можно взять звания.
Можно и группы, можно и звания. Определитесь...

Если речь о viewtopic, то проще всего ориентироваться на цикл вывода постов. Есть poster_id - id автора поста (= user_id таблицы пользователей, по которому можно выуживать информацию и о принадлежности к группе, и о звании и т.д.) Анализ соответствующих значений и операция (или нет).
Пример скрипта в данном случае не катит, ибо слишком расплывчато техзадание.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
el magnifico
phpBB 1.2.1
Сообщения: 24
Стаж: 16 лет 3 месяца
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 7 раз

Re: Измение переменной по происшествии определенного времени

Сообщение el magnifico »

Спасибо за столь быстрый ответ. Такого на других форумах ожидать не приходится.
Главный вопрос: зачем? От ответа на него зависят ответы на всё ниже изложенное.
Если буду делать мод, то буду делать для себя, а не для кого-то.
Важно, ибо нужно точно понимать, что хочется иметь в конце...
Я хотел изложить свою мысль предельно ясно и просто, но, видимо, у меня это не получилось... Первый раз всегда так... Мне нужно чтобы это число изменялось, скажем, раз в месяц, увеличивалось или умешалось. Я лишь просил привести пример скрипта, который будет делать с ней это (увеличивать переодически). А я уж бы там разобрался с ним. Мне это нужно для мода Ultimate points - там деньги даются за написание сообщений, создание тем и еще что-то, а мне нужно, чтобы пользователи получали их через какое-то время - не самому мне же их им начислять.
Можно и группы, можно и звания. Определитесь...
Я имел ввиду, что пользователь может состоять сразу в нескольких группах.
Если речь о viewtopic, то проще всего ориентироваться на цикл вывода постов.
Да, речь идет о viewtopic. Если вам показалось расплывчатым техзадание, тогда буду рад, если вы приведете любой скрипт-пример, где перемення что-делает через какое-то время. Впрочем, буду рад, даже если вы не поможете... Тогда буду думать сам.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Измение переменной по происшествии определенного времени

Сообщение Sheer »

el magnifico писал(а):тогда буду рад, если вы приведете любой скрипт-пример, где перемення что-делает через какое-то время.
Да вот прямо перед носом - система рангов например. На текущий момент ваш ранг phpBB 1.0.0, наберешь 10 сообщений, будет phpBB 1.2.0.
el magnifico
phpBB 1.2.1
Сообщения: 24
Стаж: 16 лет 3 месяца
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 7 раз

Re: Измение переменной по происшествии определенного времени

Сообщение el magnifico »

Да вот прямо перед носом - система рангов например. На текущий момент ваш ранг phpBB 1.0.0, наберешь 10 сообщений, будет phpBB 1.2.0.
Хм, ну и где же здесь "время"? Ранг дается за сообщения, а не за прошедшее время.

Разобрался сам- не нужно никаких примеров. Можно закрыть тему.
MAzZY
Бывший член :)
Сообщения: 2925
Стаж: 21 год 4 месяца
Благодарил (а): 79 раз
Поблагодарили: 69 раз
Забанен: Бессрочно

Re: Измение переменной по происшествии определенного времени

Сообщение MAzZY »

el magnifico, ну так напишите решение, пусть будет в теме
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: Измение переменной по происшествии определенного времени

Сообщение rxu »

Добавляем поле в таблицу пользователей, добавляем поле с временем последнего изменения значения этого поля. Потом периодически (или постоянно) проверяем. проверку можно поставить в любое условие, в т.ч. в зависимости от id группы.
Изображение
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Измение переменной по происшествии определенного времени

Сообщение Sheer »

Пожалуйста, вот готовая система предупреждений. По умолчанию, предупреждение (одно) снимается по проишествии 90 дней. Если пользователю вынесено предупреждение, а через десять дней еще одно, то через 80 дней первое будет снято, еще через 10 - второе. Сделать по аналогии и делов...

Вернуться в «Для авторов (phpBB 3.0.x)»