ExBB Community ExBB Community
 Сайт проекта ExBB Общение объединяет!
Войдите на форум при помощиВойти через loginza
 Чат на форуме      Помощь      Поиск      Пользователи     BanList BanList


 Страниц (5): « 1 [2] 3 4 5 »   

> Описание: Как сделать?
Parapsixolog
Отправлено: 22 сентября 2018 — 00:28
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 487
Дата рег-ции: Сент. 2011  
Репутация: 14




Flat , я сделал по вашей инструкции, кнопка появилась, но не работает.

1. Для зарегистрированных пользователей окно отправки e-mail открывается, но при попытке отправить сообщение движок пишет:

Notice: Undefined index: captcha in C:\OpenServer\domains\bacup\tools.php on line 194

Вот эти строки:
CODE:
if ($fm->exbb['anti_bot'] && ($fm->input['captcha'] == '' || !isset($_SESSION['captcha']) || $fm->input['captcha'] !== $_SESSION['captcha']))
{
$fm->_Message($fm->LANG['Registration'],$fm->LANG['CaptchaError']);


И в окне сообщение:
Цитата:
Регистрация
Не введен или введен неверный защитный код!


Для других пользователей отправка почты тоже не работает. Но если вернуть не правленый файл tools.php всё начинает работать опять.

2. А для гостей страница отправки e-mail вообще не открывается, пишет:

Цитата:
Функция электронной почты отключена на форуме!


Я уже и все настройки пролез, но так и не нашел ни чего. Поиск по exbb тоже ни чего не дал.

(Отредактировано автором: 22 сентября 2018 — 00:55)

 
 
Flat
Отправлено: 22 сентября 2018 — 09:33
Post Id



Пользователь
Full Member


Покинул форум
Сообщений всего: 187
Дата рег-ции: Май 2018  
Откуда: Красноярский край
Репутация: 14




Parapsixolog , - это моя недоработка - не протестил отправку письма, делал в попыхах. Посмотрел что форма работает и всё. Теперь всё решил.

1) Обязательно закинте, если не закинули ещё, строчки в LANG файл о чём я писал выше.

2) В папке templates/ваш_скин открываем файл mailform.tpl. Меняем всё что там находится на мой вариант, который я приводил выше. Затем, уже в изменённом файле ищем строку:
CODE:
<input type="hidden" name="dosend" value="yes">

и после неё вставляем:
CODE:
<input type="hidden" name="admin" value="1">

Затем находим строку:
CODE:
if($fm->exbb['anti_bot'] === TRUE && $fm->user['id'] === 0)

и меняем её на строку:
CODE:
if($fm->exbb['anti_bot'] === TRUE && $fm->user['id'] === 0 && isset($fm->input['admin']))

С этим файлом закончили.

3) Открываем первоначальный(не изменённый как выше) tools.php, и производим следующие изменения.
Находим строку:
CODE:
if ($fm->user['id'] === 0) {
$fm->_Message($fm->LANG['MainMsg'],$fm->LANG['GuestMail']);
}

и меняем её на:
CODE:
if ($fm->user['id'] === 0 && !isset($fm->input['admin'])) {
$fm->_Message($fm->LANG['MainMsg'],$fm->LANG['GuestMail']);
}

Находим строку:
CODE:
$fm->input['subject'] = $fm->bads_filter(substr($fm->input['subject'],0,255));
$fm->input['message'] = $fm->bads_filter($fm->input['message']);

и после неё вставляем:
CODE:
if (isset($fm->input['admin']) && $fm->user['id'] === 0 && $fm->exbb['anti_bot'] && ($fm->input['captcha'] == '' || !isset($_SESSION['captcha']) || $fm->input['captcha'] !== $_SESSION['captcha']))
{
$fm->_Message($fm->LANG['Registration'],$fm->LANG['CaptchaError']);
}
unset($_SESSION['captcha']);

это несколько изменённый предыдущий вариант.
Затем находим строку:
CODE:
$fm->_Mail($fm->exbb['boardname'],$fm->user['mail'],$user['mail'],$fm->input['subject'],$email);

и меняем её на:
CODE:
$fm->_Mail($fm->exbb['boardname'],
(!empty($fm->user['mail']))?$fm->user['mail']:'',$user['mail'],$fm->input['subject'],$email);

Вроде бы и всё. Я всё протестировал - письма отправляются. Никаких ошибок не появляется. Каптча для гостей выводится и проверяется(с фиксированной кнопки). Если ещё какой-либо косяк выявится, то пишите. Но вроде бы всё работает как часики. Может даже и у себя это оставлю))
 
 
Flat
Отправлено: 22 сентября 2018 — 09:44
Post Id



Пользователь
Full Member


Покинул форум
Сообщений всего: 187
Дата рег-ции: Май 2018  
Откуда: Красноярский край
Репутация: 14




Parapsixolog пишет:
А для гостей страница отправки e-mail вообще не открывается, пишет:

Насчёт этого: у меня такого не вылазило. Если что проверьте включена ли эта функция в админке. Странно почему не склеились эти мои 2 сообщения?

(Отредактировано автором: 22 сентября 2018 — 09:46)

 
 
Parapsixolog
Отправлено: 22 сентября 2018 — 14:02
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 487
Дата рег-ции: Сент. 2011  
Репутация: 14




Flat , такой вот строки нет:

Flat пишет:
Затем находим строку:
CODE:
if($fm->exbb['anti_bot'] === TRUE && $fm->user['id'] === 0)



Есть только:

CODE:
if($fm->exbb['anti_bot'] === TRUE && $fm->user['id'] === 0 && $fm->input['admin']===1)


Эту строку оставил неизменной, вроде бы оправляется сообщение.


Flat пишет:
Parapsixolog пишет:
А для гостей страница отправки e-mail вообще не открывается, пишет:

Насчёт этого: у меня такого не вылазило. Если что проверьте включена ли эта функция в админке.


Естественно включена. Вошедшие же пользователи отправляют письма. И уведомления приходят.

Я почти разобрался в причинах не открытия окна. У меня стоит мод группа - http://exbb.info/community/topic...=54&topic=15 и для гостей отключена функция отправки почты.

Сейчас я включил, форма появилась (без каптчи), но при попытке отправить сообщение форум пишет:

Цитата:
Гости форума не могут отправлять письма


В файле tools.php за отправку этого сообщения отвечает строка:

CODE:
if ($fm->user['id'] === 0 && !isset($fm->input['admin'])) {
$fm->_Message($fm->LANG['MainMsg'],$fm->LANG['GuestMail']);
}


Если её тупо удалить, то отправка происходит. Но в этом случае гости могут отправить e-mail любому участнику форума, а это не хотелось бы. И капчи почему то нет. Без неё ящик спамом завалят.


Flat пишет:
Странно почему не склеились эти мои 2 сообщения?


Потому что интервал склеивания менее 10 минут.
 
 
Flat
Отправлено: 23 сентября 2018 — 08:16
Post Id



Пользователь
Full Member


Покинул форум
Сообщений всего: 187
Дата рег-ции: Май 2018  
Откуда: Красноярский край
Репутация: 14




Parapsixolog пишет:
такой вот строки нет:

Есть такая строка в том варианте файла mailform.tpl, который я приводил выше, а не в"чистом" файле движка. Вот в том моём варианте эта строка есть. Её находим и меняем. Я предупреждал:
Flat пишет:
Меняем всё что там находится на мой вариант, который я приводил выше.

просто вы уже меняли в повторно изменённом файле вот и вышла неувязочка.
Так, чтобы больше не было разночтений приведу уже изменённый вариант этого файла:
CODE:
<?php
echo <<<DATA
<br>
<div id="navstrip" align="left">
<img src="./templates/InvisionExBB/im/nav.gif" border="0" alt="&gt;" />&nbsp;<a href="index.php">{$fm->exbb['boardname']}</a>&nbsp;&raquo;&nbsp;{$fm->LANG['MailByBoard']}
</div>
<br>
<form method="post" action="tools.php">
<input type="hidden" name="action" value="mail">
<input type="hidden" name="dosend" value="yes">
<input type="hidden" name="admin" value="1">
<input type="hidden" name="member" value="{$user_id}">
<table cellspacing="1" cellpadding="4" border="0" align="center" class="tableborder" width="70%">
<tr>
<td class="maintitle" colspan="2"><img src="./templates/InvisionExBB/im/nav_m.gif" border="0" alt="&gt;" width="8" height="8" />&nbsp;{$fm->LANG['SendMailTo']} {$user['name']}</td>
</tr>
<tr>
<td class="pformleft" align="right"><b>{$fm->LANG['Topic']}</b></td>
<td class="pformright"><input type="text" name="subject" size="45" maxlength="100" tabindex="2" value="" /></td>
</tr>
<tr>
<td class="pformleft" align="right" valign="top"><b>{$fm->LANG['EmailMessage']}</b></td>
<td class="pformright"><textarea name="message" rows="15" cols="35" wrap="virtual" style="width:450px" tabindex="3"></textarea></td>
</tr>
DATA;
if($fm->exbb['anti_bot'] === TRUE && $fm->user['id'] === 0 && isset($fm->input['admin']))
{
echo <<<DATA
<tr>
<td class="pformleft"><b>{$fm->LANG['CaptchaCode']}</b><br /><span class="desc">{$fm->LANG['CaptchaBroken']}</span></td>
<td class="pformright"><img src="regimage.php" border="0" alt="captcha"></td>
</tr>
<tr>
<td class="pformleft"><b>{$fm->LANG['CaptchaСonfirm']}</b><br /><span class="desc">{$fm->LANG['CaptchaNote']}</span></td>
<td class="pformright"><input type="text" style="width: 130px" name="captcha" size="13" maxlength="10"></td>
</tr>
DATA;
}
echo <<<DATA
<tr>
<td class="darkrow2" align="center" colspan="2"><input type="submit" value="{$fm->LANG['Send']}" name="submit" /></td>
</tr>
</table>
</form>
DATA;
?>

Также приведу полностью код функции отправки сообщений из tools.php:
CODE:
function mailtouser() {
global $fm;

if ($fm->exbb['emailfunctions'] !== TRUE) {
$fm->_Message($fm->LANG['MainMsg'],$fm->LANG['MailFunctionClosed']);
}

if ($fm->user['id'] === 0 && !isset($fm->input['admin'])) {
$fm->_Message($fm->LANG['MainMsg'],$fm->LANG['GuestMail']);
}

$users = $fm->_Read(FM_USERS);
if (($user_id = $fm->_Intval('member')) === 0 || !isset($users[$user_id])) {
$fm->_Message($fm->LANG['MainMsg'],$fm->LANG['CorrectPost']);
}
unset($users);

$user = $fm->_Getmember($user_id);
if ($fm->_Boolean($fm->input, 'dosend') === TRUE) {
if (!defined('IS_ADMIN')) {
if (isset($_SESSION['lastposttime']) && ($_SESSION['lastposttime'] + $fm->exbb['flood_limit']) > $fm->_Nowtime) {
$fm->_Message($fm->LANG['MainMsg'],sprintf($fm->LANG['FloodLimitNew'],$fm->exbb['flood_limit']));
}
$_SESSION['lastposttime'] = $fm->_Nowtime;
}

if ($fm->_String('subject') === '' || $fm->_String('message') === '') {
$fm->_Message($fm->LANG['MailByBoard'],$fm->LANG['NoEmptyFields']);
}

$fm->input['subject'] = $fm->bads_filter(substr($fm->input['subject'],0,255));
$fm->input['message'] = $fm->bads_filter($fm->input['message']);

if (isset($fm->input['admin']) && $fm->user['id'] === 0 && $fm->exbb['anti_bot'] && ($fm->input['captcha'] == '' || !isset($_SESSION['captcha']) || $fm->input['captcha'] !== $_SESSION['captcha']))
{
$fm->_Message($fm->LANG['Registration'],$fm->LANG['CaptchaError']);
}
unset($_SESSION['captcha']);

$email = sprintf($fm->LANG['EmailByBordText'],
$user['name'],
$fm->user['name'],
$fm->exbb['boardname'],
$fm->exbb['boardurl']).$fm->input['message'];
$fm->_Mail($fm->exbb['boardname'],
(!empty($fm->user['mail']))?$fm->user['mail']:'',$user['mail'],$fm->input['subject'],$email);
$fm->_Message($fm->LANG['MailByBoard'],$fm->LANG['SendMailOk'],'index.php');
} else {
$fm->_Title = ' :: '.$fm->LANG['MailByBoard'];
include('./templates/'.DEF_SKIN.'/all_header.tpl');
include('./templates/'.DEF_SKIN.'/logos.tpl');
include('./templates/'.DEF_SKIN.'/mailform.tpl');
include('./templates/'.DEF_SKIN.'/footer.tpl');
}
}

Parapsixolog пишет:
Сейчас я включил, форма появилась (без каптчи)

Интересненько.. У меня каптча появляется и всё работает. Никаких предупреждений нет. Посмотрите-ка есть ли у вас файл regimage.php?
Всё ли вы сделали по инструкции? Ещё раз проверьте все шаги.
Может тот ваш мод вносит какие-то новые зависимости? Попробуйте поставить чистый exbb fm 1.0 rc1 и ввести изменения предложенные мной, должно всё работать.

(Отредактировано автором: 23 сентября 2018 — 08:31)

 
 
Parapsixolog
Отправлено: 23 сентября 2018 — 12:55
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 487
Дата рег-ции: Сент. 2011  
Репутация: 14




Flat пишет:
Parapsixolog пишет:
такой вот строки нет:

Есть такая строка в том варианте файла mailform.tpl, который я приводил выше, а не в"чистом" файле движка. Вот в том моём варианте эта строка есть. Её находим и меняем. Я предупреждал:
Flat пишет:
Меняем всё что там находится на мой вариант, который я приводил выше.

просто вы уже меняли в повторно изменённом файле вот и вышла неувязочка.


Flat, я всё делал по вашей инструкции. То есть сперва взял файл mailform.tpl http://exbb.info/community/topic...90855#1537290855

Затем опять по вашим инструкциям заменил некоторые строки mailform.tpl http://exbb.info/community/topic...18735#1537518735

Я же не знал, что нужно взять первоначальный вариант, без последней правки. Теперь то всё понятно.


Flat пишет:
Интересненько.. У меня каптча появляется и всё работает. Никаких предупреждений нет. Посмотрите-ка есть ли у вас файл regimage.php?
Всё ли вы сделали по инструкции? Ещё раз проверьте все шаги.


Всё сделано по инструкции, это всё семечки. Я такие сложные моды устанавливал, что такие правки делаю с пол пинка.

Файл regimage.php есть конечно. Каптча прекрасно сейчас работает при регистрации.

Flat пишет:
Может тот ваш мод вносит какие-то новые зависимости? Попробуйте поставить чистый exbb fm 1.0 rc1 и ввести изменения предложенные мной, должно всё работать.


Всё может быть. Кроме него у меня куча и других модов. Устанавливать предложенные вами изменения на чистый exbb fm 1.0 rc1 не вижу смысла. Даже если всё заработает как надо, мне то от этого легче не станет, от этого работать именно на моём движке не будет.
 
 
Flat
Отправлено: 24 сентября 2018 — 09:58
Post Id



Пользователь
Full Member


Покинул форум
Сообщений всего: 187
Дата рег-ции: Май 2018  
Откуда: Красноярский край
Репутация: 14




Parapsixolog пишет:
Даже если всё заработает как надо, мне то от этого легче не станет, от этого работать именно на моём движке не будет.

А у вас какая версия форума стоит?
 
 
Parapsixolog
Отправлено: 24 сентября 2018 — 13:53
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 487
Дата рег-ции: Сент. 2011  
Репутация: 14




Flat пишет:
А у вас какая версия форума стоит?


Изначально делалось на ExBB FM 1.0 RC1.01 Но сейчас форум ближе всего к ExBB FM 1.0 Final

Я грешу на 2мода, мод Группы, и мод Расширенные почтовые функции, вот они могли создать проблему с отправкой писем из под гостя.
 
 
Flat
Отправлено: 26 сентября 2018 — 09:15
Post Id



Пользователь
Full Member


Покинул форум
Сообщений всего: 187
Дата рег-ции: Май 2018  
Откуда: Красноярский край
Репутация: 14




Parapsixolog пишет:
Я грешу на 2мода, мод Группы, и мод Расширенные почтовые функции, вот они могли создать проблему с отправкой писем из под гостя.

Бегло просмотрел. Там долго надо разбираться. Плохо то, что все эти моды жёстко прописываются в системе, и в результате получается совсем другой движок.. Одним словом отсутствует определённый стандарт, и у всех разные движки. Моды часто меняют само ядро форума, а это плохо..
 
 
Parapsixolog
Отправлено: 28 сентября 2018 — 00:58
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 487
Дата рег-ции: Сент. 2011  
Репутация: 14




Flat , я сейчас ещё раз сделал правки, и покрутил настройки в гостях мода группа. И вроде бы заработало это дополнение! Теперь нужно испытать в полевых условиях.

Спасибо Flat за помощь! На мой взгляд весьма нужное дополнение к любому сайту. Осталось мелочи, найти красивую кнопку "Напишите нам". Стандартная кнопка не пойдёт.

Прикрепляю кнопку посимпатичнее. Если у кого есть другие варианты, то делитесь...

(Отредактировано автором: 28 сентября 2018 — 01:25)

 
 
Flat
Отправлено: 28 сентября 2018 — 02:14
Post Id



Пользователь
Full Member


Покинул форум
Сообщений всего: 187
Дата рег-ции: Май 2018  
Откуда: Красноярский край
Репутация: 14




Parapsixolog пишет:
я сейчас ещё раз сделал правки, и покрутил настройки в гостях мода группа. И вроде бы заработало это дополнение!

Очень за вас рад!
Parapsixolog пишет:
На мой взгляд весьма нужное дополнение к любому сайту.

Да, нужное. Я кстати так и оставил это у себя, пусть будет.
Parapsixolog пишет:
Стандартная кнопка не пойдёт.

Естественно. Вот тут есть из чего выбрать: https://yandex.ru/images/search?...2&source=wiz
Можно, конечно, свой дизайн сделать в какой-нибудь программе-редакторе графики, например в paint Net, но это требует усилий и времени.
 
 
Parapsixolog
Отправлено: 28 сентября 2018 — 13:56
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 487
Дата рег-ции: Сент. 2011  
Репутация: 14




Flat пишет:
Очень за вас рад!


Рано я стал радоваться. Установил на рабочий форум кнопку, и стал писать. Не приходят письма. Стал писать другим пользователям на их ящики через форму, тоже не работает.

Я стал грешить на какие то моды, включил-отключил мод Расширенные почтовые функции, не помогло. И после этого стал вспоминать, и не могу вспомнить, работала ли у меня функция "Написать письмо через форум". Похоже я вообще эту функцию ни разу не проверял.

Затем я написал сам себе письма через http://exbb.info/community Опять не приходят письма.

Вот тебе и бабушка новый год! Оказывается эта функция давным давно уже не работает на форуме exbb и все усилия напрасны.

Кстати Flat , вы сами проверяли, письма доходят у вас, или нет?
 
 
Flat
Отправлено: 29 сентября 2018 — 12:03
Post Id



Пользователь
Full Member


Покинул форум
Сообщений всего: 187
Дата рег-ции: Май 2018  
Откуда: Красноярский край
Репутация: 14




Parapsixolog пишет:
Кстати Flat , вы сами проверяли, письма доходят у вас, или нет?

хотел проверить на хостинге скопировав туда папку с форумом, но filezilla что-то не качает файлы: 6 файлов закачивает, а потом тормозит, выходит из лимита сервера. Буду переустанавливать. Что-то видимо случилось когда откатывал систему. Потом сообщу как всё происходит в реальных полевых условиях на чистом rc1.
 
 
Parapsixolog
Отправлено: 29 сентября 2018 — 13:06
Post Id



Пользователь
Advanced Member


Покинул форум
Сообщений всего: 487
Дата рег-ции: Сент. 2011  
Репутация: 14




Flat пишет:
Потом сообщу как всё происходит в реальных полевых условиях на чистом rc1.


Да, да, проверьте. Только сперва проверьте на чистом форуме, без ваших добавлений, что форма "Написать письмо через форум" работает вообще.
 
 
Flat
Отправлено: 29 сентября 2018 — 13:36
Post Id



Пользователь
Full Member


Покинул форум
Сообщений всего: 187
Дата рег-ции: Май 2018  
Откуда: Красноярский край
Репутация: 14




Parapsixolog пишет:
Только сперва проверьте на чистом форуме, без ваших добавлений,

Верно. Так и сделаю.
 
 
Страниц (5): « 1 [2] 3 4 5 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Обсуждение »

> Похожие темы: Отправить письмо администратору сайта
Темы Форум Информация о теме Обновление
Ответить с цитированием
Как сделать?
Обсуждение Ответов: 13
Автор темы: Светлана
29 апреля 2010 — 10:54
Автор: electron
Перенаправление
как сделать активной ссылкой?
Настройка форума Ответов: 14
Автор темы: team
24 апреля 2012 — 09:10
Автор: Anton B magnitazin
Список форумчан только форумчанам
Как сделать так, чтобы список пользователей не был доступен гостям
Обсуждаем Ответов: 15
Автор темы: ARW
14 февраля 2013 — 08:49
Автор: pigus
Подпись
сделать галочку активной в профиле
Общие вопросы Ответов: 1
Автор темы: eisventura
26 июля 2009 — 17:39
Автор: yura3d
Изменение ссылок в ветках форума после переноса на другой хостинг.
Как сделать?
Решение проблем Ответов: 18
Автор темы: drug
11 апреля 2012 — 08:47
Автор: 1Bot
 



Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 




Яндекс.Метрика   

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.1008]     [ ]