Email отображается

Автор speaker_ya, 30 июля 2007, 14:20:48

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

speaker_ya

Вот такую ошибку нашли мои пользователи. Даже не смотря на то, что они при регистрации ставят галочку что бы их email не отображался - он все равно виден всем. И В профиле и в сообщениях.

в теме вроде все правильно стоит
// Don't show the email address if they want it hidden.
if (empty($message['member']['hide_email']))
echo '<a href="mailto:', $message['member']['email'], '">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/email_sm.gif" alt="' . $txt[69] . '" title="' . $txt[69] . '" border="0" />' : $txt[69]), '</a>';

Kirill

а чему равно
if (empty($message['member']['hide_email']))
?

speaker_ya

т.е.? что значит чему оно равно? если я правильно понимаю, то происходит проверка, стоит ли галочка или нет. Если она стоит - то отображать не должно.

Kirill

Цитата: speaker_ya от 30 июля 2007, 14:59:25
т.е.? что значит чему оно равно? если я правильно понимаю, то происходит проверка, стоит ли галочка или нет. Если она стоит - то отображать не должно.
Да. Но из-за чего-то оно не соответствует ожидаемым данным.
Поэтому попробуйте вместо этой строчки
echo '<a href="mailto:', $message['member']['email'], '">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/email_sm.gif" alt="' . $txt[69] . '" title="' . $txt[69] . '" border="0" />' : $txt[69]), '</a>';
вывести echo empty($message['member']['hide_email']);

speaker_ya

все это конечно великолепно, но проблема все таки, как я понимаю не в этом кроется.. может я где-то в настройках что-то упустил. Я попробовал этот код - но теперь email пропал даже у тех, кто его не запрещал показывать. Более того, в профиле он все еще виден.

domofor

Может надо мод User Email System поставить? Правда, я не нашел последнего перевода для него

Цитата: Avdenago от 02 ноября 2006, 10:40:21
Есть мод - скрывающий ВСЕ е-мейлы и позволяющий отсылать письма через специальную форму.
SMF User Email System:
http://mods.simplemachines.org/index.php?mod=371

НО. данный мод например не совсем корректно работал у меня на форуме... 

speaker_ya

Цитата: dom-forum от 30 июля 2007, 16:42:33
Может надо мод User Email System поставить? Правда, я не нашел последнего перевода для него
да, я хотел его скачать, но на оф. сайте SMF сегодня какие-то проблемы(может ломанули) и поэтому не доступен сайт. А перевод можно и самому сделать.

digger®

Характеристики и настройки - Основные настройки - Разрешить пользователям скрывать их email адрес
Профиль - Настройки учетной записи - Скрыть Ваш email

speaker_ya

Цитата: digger от 30 июля 2007, 21:22:10
Характеристики и настройки - Основные настройки - Разрешить пользователям скрывать их email адрес
Стоит там эта галочка. Никто ее не убирал. Мыло все равно всем светится.

domofor

Цитата: speaker_ya от 30 июля 2007, 16:54:55
да, я хотел его скачать, но на оф. сайте SMF сегодня какие-то проблемы(может ломанули) и поэтому не доступен сайт. А перевод можно и самому сделать.
Скачал сейчас User Email System и поставил. Все отлично скрывает, но не хватает надписей полей и кнопки по русски. Может кто переведет мод?

speaker_ya

да, я тоже скачал.. сейчас поставлю и переводом займусь. потом если что - куда выкладывать?

domofor

Видел, что здесь многие прицепляют моды в свой пост.

speaker_ya

// Begin User Email System Text Strings
$txt['user_email_title'] = 'Отпрака email';
$txt['permissionname_send_useremail'] = 'Отправить Email';
$txt['permissionhelp_send_useremail'] = 'Посмотреть разрешил ли пользователь отправлять ему email.';
$txt['cannot_send_useremail'] = 'Вы не можете отправить email. Этот пользователь скрыл свой email. Поэтому и отправить ему письмо не получится. Вы может отправить ему сообщение через Личную почту на форуме.';

$txt['user_email_sendtitle'] = 'Отправить e-mail сообщение';
$txt['user_email_recipient'] = 'Получатель';
$txt['user_email_youremail'] = 'ВашEmail';
$txt['user_email_subject'] = 'Тема';
$txt['user_email_body'] = 'Сообщение';
$txt['user_email_options'] = 'Настройки';
$txt['user_email_sendcopy'] = 'Отправить копию сообщения самому себе';
$txt['user_email_sendemail'] = 'Отправить e-mail';
$txt['user_email_emailsent'] = 'Ваше письмо успешненько отправлено!';
$txt['user_email_emailreturn'] = 'Ваше письмо отправлено! Тыркните мышкой <a href="' . $scripturl . '">по этой ссылке</a>, что бы вернуться на форум.';
$txt['user_email_errsubject'] = 'Введите тему сообщения.';
$txt['user_email_errmessage'] = 'Вы забыли написать письмо.';
$txt['user_email_errnouser'] = 'Кому письмо отправлять? Вы не выбрали получателя.';
$txt['user_email_errnousersend'] = 'Этот пользователь скрыл свой email. Поэтому и отправить ему письмо не получится.';
$txt['user_email_errnoemail'] = 'Необходимо указать свой email.';
$txt['user_email_err_invalidemail'] = 'Неверно указан email. Проверьте.';
$txt['user_email_hello'] = "Привет";
$txt['user_email_emailsentby'] = ',

Это письмо отправил Вам  ';
$txt['user_email_viaaccount'] = ' с сайта"';
$txt['user_email_ifmsgspam'] = '". Если Вам надоедают подобные письма, то свяжитесь с администрацией форума livebryansk.ru - и мы будем принимать меры. Email администрации: ';
$txt['user_email_msgsentas'] = 'Ниже следует отосланное Вам сообщение:

';
$txt['user_email_emailsent'] = ' Сообщение отправлено!';
$txt['user_email_guest'] = 'Гость';




вот так перевел.. картинку не делал. если ее нет, то там просто появляется надпись email

Mavn

если мне память не изменяет то данная проблема имеет место быть только в smf 1.1.2 в smf 1.1.3 данная проблема пофиксена
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

domofor

Цитата: speaker_ya от 31 июля 2007, 15:22:49
вот так перевел.
Если я правильно понимаю, то код надо заменить в useremail.xml? А что надо поменять в шаблоне User_Email.template.php?

speaker_ya

нет.  код вставляется в файл modifications.russian.php - вроде он так называется.

domofor

Цитата: speaker_ya от 31 июля 2007, 20:55:03
нет.  код вставляется в файл modifications.russian.php - вроде он так называется.
а где его взять?

speaker_ya

При уставновке мода автоматически создается файл modification.english.php (вроде так), ну и нам остается ручками создать аналогичный файл, но для россии, а т.е. modifications.russian.php - в той же папке, но с русскими словами.