Вывод аватарки при уведомлении о ПС на E-mail

Вывод аватарки при уведомлении о ПС на E-mail

Когда один пользователь пишет другому пользователю персональное сообщение на сайте, то уведомление об этом приходит на E-mail. Этот хак позволит в этом уведомлении отображать аватарку пользователя, который отправил сообщение.


Установка:
1. Открыть engine/modules/pm.php, engine/ajax/pm.php и найти:
$mail_template['template'] = str_replace( "{%url%}", $slink, $mail_template['template'] );

Добавить ниже:
if ( count(explode("@", $member_id['foto'])) == 2 ) {
	$mail_template['template'] = str_replace( "{%foto%}", 'https://www.gravatar.com/avatar/' . md5(trim($member_id['foto'])) . '?s=' . intval($user_group[$member_id['user_group']]['max_foto']), $mail_template['template'] );	
} else {	
	if( $member_id['foto'] ) {		
		if( strpos($member_id['foto'], "//") === 0 ) $avatar = "http:" . $member_id['foto'];
		else $avatar = $member_id['foto'];

		$avatar = @parse_url($avatar);

		if( $avatar['host'] ) {
			$mail_template['template'] = str_replace( "{%foto%}", $member_id['foto'], $mail_template['template'] );			
		} else $mail_template['template'] = str_replace( "{%foto%}", $config['http_home_url'] . "uploads/fotos/" . $member_id['foto'], $mail_template['template'] );	
	} else $mail_template['template'] = str_replace( "{%foto%}", $config['http_home_url'] . "templates/" . $config['skin'] . "/dleimages/noavatar.png", $mail_template['template'] );
}

2. В панели управления DLE и далее в Настройках шаблонов писем отправляемых с сайта следует найти шаблон Настройки E-Mail сообщения, который отсылается при получении нового персонального сообщения. Там следует включить Использование HTML формата для данного письма, а в само письмо добавить тег {%foto%}, например:
<img src="{%foto%}" />

Готово!
 
Версия DLE: 13.2
Автор: TeraMoune
Источник
Информация
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.