Страница 1 из 1

Birthday Add-on: Congratulation on email

Добавлено: 28.10.2005 16:29
Поручик
Описание мода: Мод позволяет высылать в автоматическом режиме поздравления на емайл пользователям, указавших свой день рождения. Мод требует наличия Birthday mod и утилиты cron
[Версия мода]: 1.0.0
Сложность установки: Низкая
Время, необходимое для установки: ~5 минут

Об утилите cron и формате файла crontab.

Замечание относительно файла .htaccess
Если в корневом каталоге вашего форума уже есть этот файл, то НЕ заливайте на сервер файл в составе мода. Добавьте в существующий .htaccess этот код

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

<Files ~ "birthday_send.php$">
Order allow,deny 
Deny from all 
Satisfy All 
</Files>
Это позволит предотвратить несанкционированный запуск birthday_send.php в браузере.

Скачать: http://forum.aeroion.ru/download.php?id=3

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

Этот мод - развитие идеи Coagulant'a, а также реализация аналогичной фичи форума Klerk.ru

Добавлено: 03.11.2005 0:52
Miss
я нашла нечто подобное, но без cron на phpbbhacks.com
но вот незадача в моде есть Parse error

я сама ничего толком не понимаю в синтаксе php, поэтому очень прошу помощи
вот код addon для мода birthday, ошибка появляется вот в этом месте :

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

 'BOARDNAME' => str_replace('<br />', "\n", "-- \n" . $board_config['sitename'])
);

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

#
#-----[ COPY ]------------------------------------------------
#

language/lang_english/email/birthday.tpl

#
#-----[ OPEN ]------------------------------------------------
#

includes/page_header.php

#
#-----[ FIND ]------------------------------------------------
#

		$template->assign_var("GREETING_POPUP",
			"<script language=\"Javascript\" type=\"text/javascript\"><!--
			window.open('".append_sid('birthday_popup.'.$phpEx)."', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400');
			//-->
			</script>");

#
#-----[ REPLACE BY ]------------------------------------------
#

// START Birthday Mail Extension
	$sql = "SELECT * FROM " . USERS_TABLE . " WHERE user_id = " . $userdata['user_id'];
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, $lang['bd_sqlerror']);
	}
	
	while( $row = $db->sql_fetchrow($result) )
	{
		$bd_mail = intval($row['user_email']);
	}

	$sql = "SELECT * FROM " . USERS_TABLE . " WHERE user_id = $user_id";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, $lang['bd_sqlerror']);
	}
	while ($row = $db->sql_fetchrow($result))
		$emailer->from($board_config['board_email']); 
		$emailer->replyto($board_config['board_email']); 
	
		$emailer->email_address(trim($row['user_email'])); 
		$emailer->use_template("birthday", $row['user_lang']);
		$emailer->set_subject($lang['bd_subject']);

		$emailer->assign_vars(array(
			'USERNAME' => preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, substr(str_replace("\'", "'", $row['username']), 0, 25)),
			'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']),
			'BOARDNAME' => str_replace('<br />', "\n", "-- \n" . $board_config['sitename']));
		$emailer->send();
		$emailer->reset();
	}
// END Birthday Mail Extension

#
#-----[ OPEN ]------------------------------------------------
#

language/lang_english/lang_main.php

#
#-----[ FIND ]------------------------------------------------
#

//
// That's all, Folks!

#
#-----[ BEFORE, ADD ]------------------------------------------
#

$lang['bd_smtperror'] = 'You must <b>not</b> use an external mail server to send this mail!';
$lang['bd_sqlerror'] = 'Error reading SQL';
$lang['bd_subject'] = 'Gratulations!';

#
#-----[ END OF MOD ]-------------------------------------------

Добавлено: 03.11.2005 7:09
Поручик
так сделайте. Пропущена )

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

 'BOARDNAME' => str_replace('<br />', "\n", "-- \n" . $board_config['sitename']))
);

Добавлено: 06.11.2005 22:33
Miss
не работает, тоже ошибка появляется

я теперь не уверена, что в своем предыдущем посте правильно указала строку с ошибкой, хотя при запуске форума именно на эту строку указывалось Parse error.

Поручик, если я делаю как Вы сказали, то ошибка "съезжает" на более низкую строку

Re: Birthday Add-on: Congratulation on email

Добавлено: 27.10.2008 14:01
alllex
Очень нужный на форуме мод, но не могу разобраться с кроном. Подойдет ли для этого "Планировщик заданий" который установлен на сервере агавы?
Сколько не пытался прописать задачу не выходит. Кто може, поясните мне ,деревянному, ху из ху.

Re: Birthday Add-on: Congratulation on email

Добавлено: 27.10.2008 15:05
Поручик
С такими вопросами на агаву и обращайся. И вообще "агава" здесь, на этой конференции, и не только, слово нецензурное.

Re: Birthday Add-on: Congratulation on email

Добавлено: 27.10.2008 19:02
alllex
Поручик, при общении в реале подобный ответ вопросов не вызывает, но учитывая неизбежные издержки общения на форуме, прошу уточнить. Пока такой ответ понимается как вариант послать на "агаву" не нарушая правил и только.

Re: Birthday Add-on: Congratulation on email

Добавлено: 27.10.2008 19:28
Поручик
Что непонятно? По поводу использования "Планировщика заданий", который установлен на сервере агавы, обращайся в саппорт агавы. Я достаточно понятно выразился?

Re: Birthday Add-on: Congratulation on email

Добавлено: 27.10.2008 20:12
alllex
В начале темы условием установки адона "Congratulation on email" указано наличие Birthday mod и утилиты cron. Birthday mod установлен и функционирует успешно, но что есть этот cron я без малейшего понятия, что собственно и спрашивал:
alllex писал(а):...не могу разобраться с кроном. Подойдет ли для этого "Планировщик заданий" который установлен на сервере...
т.к. в документации сервера "Планировщик заданий" именуется кроном. Если сложно (или еще по какой-либо причине) помочь освоить крон (указаный в начале темы), или указать источник для самостоятельного освоения (соответствующий моему уровню ноля), то можно почистить тему, т.к. мой вопрос только об этом...

Re: Birthday Add-on: Congratulation on email

Добавлено: 28.10.2008 1:24
alllex
Разобрался, вопрос по крону снят.