10 июл
Автор: MSW
Сайт поддержки: /
Версия DLE: 9.0-9.8 а может и более старые
Фикс изменения пользователем почты в профиле.
При изменении адреса почты пользователем в профиле не происходит автоматического её изменения в таблице подписки и сообщения о событиях на которые подписан пользователь(новые комментарии в новостях) приходят пользователю на старый почтовый адрес.
Для исправления данной проблемы необходимо выполнить следующие действия:
1. Файл: /engine/modules/profile.php
Найти:
Заменить на:
2. Для исправления уже имеющихся несоответствий создаём в корне сайта файл: fix_mail.php
С содержимым:
После чего переходим браузером на этот файл по адресу: http://ваш_сайт/fix_mail.php
Сайт поддержки: /
Версия DLE: 9.0-9.8 а может и более старые
Фикс изменения пользователем почты в профиле.
При изменении адреса почты пользователем в профиле не происходит автоматического её изменения в таблице подписки и сообщения о событиях на которые подписан пользователь(новые комментарии в новостях) приходят пользователю на старый почтовый адрес.
Для исправления данной проблемы необходимо выполнить следующие действия:
1. Файл: /engine/modules/profile.php
Найти:
if ( !$send_mail_log AND $email != $row['email']) $mailchange = " email='{$email}',";
else $mailchange = "";
Заменить на:
#****** FIX Subscribe Change EMail *** by MSW ******#
if ( !$send_mail_log AND $email != $row['email']) {
$db->query("UPDATE ".PREFIX."_subscribe SET email='{$email}' WHERE user_id='{$id}'");
$mailchange = " email='{$email}',";
} else $mailchange = "";
#****** FIX Subscribe Change EMail *** by MSW ******#
2. Для исправления уже имеющихся несоответствий создаём в корне сайта файл: fix_mail.php
С содержимым:
<?php
/*
=====================================================
Хак: FIX Subscribe Change EMail
-----------------------------------------------------
Автор: MSW
Сайт: http://0-web.ru/
-----------------------------------------------------
Copyright (c) 2012 MSW
=====================================================
Данный код защищен авторскими правами
=====================================================
Файл: fix_mail.php
=====================================================
*/
@error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE );
@ini_set ( 'display_errors', true );
@ini_set ( 'html_errors', false );
@ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE );
define ( 'DATALIFEENGINE', true );
define ( 'ROOT_DIR', dirname ( __FILE__ ) );
define ( 'ENGINE_DIR', ROOT_DIR . '/engine' );
include ENGINE_DIR . '/data/config.php';
require_once ENGINE_DIR . '/classes/mysql.php';
require_once ENGINE_DIR . '/data/dbconfig.php';
@header("Content-type: text/html; charset=".$config['charset']);
$sql = $db->query("SELECT user_id, email FROM ".USERPREFIX."_users");
while ($row = $db->get_row($sql)) {
$db->query("UPDATE ".PREFIX."_subscribe SET email='{$row['email']}' WHERE user_id='{$row['user_id']}'");
}
echo "Done";
?>
После чего переходим браузером на этот файл по адресу: http://ваш_сайт/fix_mail.php
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.