Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

[alpha] AutoBirthdays(AutoTopic) addon

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

Сообщение rxu »

severnet
А на английском какая картина?

Добавлено спустя 2 минуты 9 секунд:

А Вы удалили блоки кода в соответствии с инструкцией к моду в board_config_body.tpl? ;)
Изображение
Аватара пользователя
severnet
phpBB 2.0.5
Сообщения: 490
Стаж: 19 лет 5 месяцев
Откуда: Санкт-Петербург

Сообщение severnet »

rxu писал(а):Вы удалили блоки кода в соответствии с инструкцией к моду в board_config_body.tpl
Конечно удалил! :D

Добавлено спустя 1 час 57 минут 28 секунд:

Отстой, аддон не оптимизирован для Birthday Mod by Niels. :?
VVVas писал(а):Romy писал(а):
у меня Birthday от Niels. А Birthdays Mod by TerraFrost немогу найти
Вообще то "или" и
Добавлено спустя 1 минуту 40 секунд:
rxu писал(а):А на английском какая картина?
Тоже самое.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

Сообщение rxu »

Попробую посмотреть, что можно сделать для мода от Niels, но позже.
Изображение
Аватара пользователя
severnet
phpBB 2.0.5
Сообщения: 490
Стаж: 19 лет 5 месяцев
Откуда: Санкт-Петербург

Сообщение severnet »

rxu писал(а):Попробую посмотреть
Ок, бум ждать.

VVVas, "или" говорите...? :lol:
Аватара пользователя
severnet
phpBB 2.0.5
Сообщения: 490
Стаж: 19 лет 5 месяцев
Откуда: Санкт-Петербург

Сообщение severnet »

Кроме того, мод вообще не работает. Сёня у одной девочки день варенья и авто-поздравлялки в итоге не получилось.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

Сообщение rxu »

severnet писал(а):Кроме того, мод вообще не работает.
Тут надо добавлять нечто вроде "у меня не работает", т.к. у меня, например, работает :D

Добавлено спустя 3 часа 32 минуты 50 секунд:

Не работает у Вас потому, что формат хранения дней рождений в модах от TerraFrost и от Niels отличаются. Подождите решения ещё некоторое время.

Добавлено спустя 1 час 39 минут 49 секунд:

Сам не имею возможности протестировать, поэтому придётся вам. Вложения пока не цепляются при склейке, поэтому выкладываю так.

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

#
#-----[ OPEN ]------------------------------------------
#
index.php
#
#-----[ FIND ]------------------------------------------
#
// [+] AutoBirthdays  
  if ( $board_config['bday_autobirthday'] )
  {
        // Хехе. Финт ушами: выбираем всех юзеров во всех часовых поясах, чтобы
        // точно поздравить тогда, когда у того чела наступит этот день. (-12/+13 Hours)
	$sql = "SELECT user_id, username, user_birthday, user_timezone, user_gender
			FROM " . USERS_TABLE . "
			WHERE user_birthday >= " . gmdate('md0000',time() - 43200) . "
			AND user_birthday <= " . gmdate('md9999',time() + 46800);

	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not query members birthday information', '', __LINE__, __FILE__, $sql);
	}
	while ( $row = $db->sql_fetchrow($result) )
	{
              // Проверяем - наступило ли уже у того чела ДР. или нет.
              // Если в его часовом поясе оно еще не наступило, то зачем поздравлять? :)
              if ( $row['user_birthday'] >= gmdate('md0000',time() + (3600 * $row['user_timezone'])) &&
                   $row['user_birthday'] <= gmdate('md9999',time() + (3600 * $row['user_timezone'])) )
              {
                   include($phpbb_root_path . 'includes/functions_autobirthday.php');
                   if ( !is_congratulated($row['user_id']) )
                   {
                      // Сначала помечаем юзера как поздравленного чтобы случайно
                      // не поздравили дважды, если несколько юзеров на index'e.
                      // Надеюсь, успею :)
                      make_congratulated($row['user_id']);
                      
                      // А вот теперь подготавливаем и постим поздравление
                      create_grats_topic($row);
                   }
              }
	}

	$db->sql_freeresult($result);
 }
// [-] AutoBirthdays
#
#-----[ REPLACE WITH ]------------------------------------------
#
// [+] AutoBirthdays  
  if ( $board_config['bday_autobirthday'] )
  {
	if( isset($board_config['birthday_required']) )
	{
		$sql_where = ' (user_birthday * 86400 + 1) >= ' . (time() - 43200) . ' AND (user_birthday * 86400 + 1) <= ' . (time() + 46800);
	}
	else
	{
		$sql_where = ' user_birthday >= ' . gmdate('md0000',time() - 43200) . '
				AND user_birthday <= ' . gmdate('md9999',time() + 46800);
	}
	
        // Хехе. Финт ушами: выбираем всех юзеров во всех часовых поясах, чтобы
        // точно поздравить тогда, когда у того чела наступит этот день. (-12/+13 Hours)
	$sql = "SELECT user_id, username, user_birthday, user_timezone, user_gender
			FROM " . USERS_TABLE . " WHERE " . $sql_where;

	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not query members birthday information', '', __LINE__, __FILE__, $sql);
	}
	while ( $row = $db->sql_fetchrow($result) )
	{
		if(isset($board_config['birthday_required']))
		{
			$row['user_birthday'] = gmdate('mdY', $row['user_birthday'] * 86400 + 1);
		}
              // Проверяем - наступило ли уже у того чела ДР. или нет.
              // Если в его часовом поясе оно еще не наступило, то зачем поздравлять? :)
              if ( $row['user_birthday'] >= gmdate('md0000',time() + (3600 * $row['user_timezone'])) &&
                   $row['user_birthday'] <= gmdate('md9999',time() + (3600 * $row['user_timezone'])) )
              {
                   include($phpbb_root_path . 'includes/functions_autobirthday.php');
                   if ( !is_congratulated($row['user_id']) )
                   {
                      // Сначала помечаем юзера как поздравленного чтобы случайно
                      // не поздравили дважды, если несколько юзеров на index'e.
                      // Надеюсь, успею :)
                      make_congratulated($row['user_id']);
                      
                      // А вот теперь подготавливаем и постим поздравление
                      create_grats_topic($row);
                   }
              }
	}

	$db->sql_freeresult($result);
 }
// [-] AutoBirthdays
Изображение
Аватара пользователя
severnet
phpBB 2.0.5
Сообщения: 490
Стаж: 19 лет 5 месяцев
Откуда: Санкт-Петербург

Сообщение severnet »

rxu, ничё не происходит. :D
Аватара пользователя
severnet
phpBB 2.0.5
Сообщения: 490
Стаж: 19 лет 5 месяцев
Откуда: Санкт-Петербург

Сообщение severnet »

Пока лучше снесу мод, но идея автопоздравлялки интересная. :wink:
Аватара пользователя
DK7
Former team member
Сообщения: 1008
Стаж: 17 лет 9 месяцев
Откуда: Кишинёв
Благодарил (а): 1 раз

Сообщение DK7 »

такой вопрос.
установил но проскакивает ошибка

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

Fatal error: Cannot redeclare is_congratulated() (previously declared in E:\hshome\alexey\fintov.net\forum\includes\functions_autobirthday.php:23) in E:\hshome\alexey\fintov.net\forum\includes\functions_autobirthday.php on line 23
соответсвенно вот нужный кусок functions_autobirthday.php

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

function is_congratulated ($user_id)   < ---- это как раз и есть 23 строка
{
         global $db;

         $sql = "SELECT grats_time
                     FROM " . AUTOBIRTHDAY_GRATS_TABLE . "
                   WHERE user_id = $user_id";

         if(!$result = $db->sql_query($sql))
что можете посоветовать?
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 18 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

Где-то присутствует лишний вызов includes\functions_autobirthday.php
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Аватара пользователя
DK7
Former team member
Сообщения: 1008
Стаж: 17 лет 9 месяцев
Откуда: Кишинёв
Благодарил (а): 1 раз

Сообщение DK7 »

Поручик
установку перепроверил- все нормально. она там такая простая что в ней и ошибится сложно. Где же копать?
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 18 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

Значит, где-то еще есть функция is_congratulated.
Юзайте поиск по файлам.

Добавлено спустя 2 минуты 2 секунды:

Стоп. Вот ошибка. Файл вызывается в цикле.
Значит заменяем в index.php

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

                   include($phpbb_root_path . 'includes/functions_autobirthday.php');
на

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

                   include_once($phpbb_root_path . 'includes/functions_autobirthday.php');
Добавлено спустя 4 минуты 16 секунд:

Это говорит о том, что в данный день несколько именников.
Да, и еще рекомендую в файле includes\functions_autobirthday.php заменить

include('functions_post.php');

на
include_once('functions_post.php');
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Аватара пользователя
DK7
Former team member
Сообщения: 1008
Стаж: 17 лет 9 месяцев
Откуда: Кишинёв
Благодарил (а): 1 раз

Сообщение DK7 »

огромное спасибо. работает как часы.

Вернуться в «Бета-версии модов для phpBB 2.0.x»