Код: Выделить всё
require_once($phpbb_root_path . '/school.' . $phpEx);Код: Выделить всё
require_once($phpbb_root_path . '/school.' . $phpEx);Код: Выделить всё
require_once($phpbb_root_path . '/school.' . $phpEx);Код: Выделить всё
require_once($phpbb_root_path . '/school.' . $phpEx);Код: Выделить всё
$change_topic_status = $post_data['topic_status'];includes/function_posting.php::[b]submit_post[/b](), причём не в случайном месте, а где-нибудь в районе кодаКод: Выделить всё
if (($mode == 'reply' || $mode == 'review' || $mode == 'quote' || $mode == 'post') && $post_approval)
{
user_notification($mode, $subject, $data['topic_title'], $data['forum_name'], $data['forum_id'], $data['topic_id'], $data['post_id']);
}Код: Выделить всё
if ($mode == 'post' && $post_approval)
{
you_super_mega_send_function();
}Вставил и меня забросало письмами.HAMMER663 писал(а):Попробовать вставить передКод: Выделить всё
$change_topic_status = $post_data['topic_status'];
Код: Выделить всё
if (($mode == 'reply' || $mode == 'quote' || $mode == 'post') && $post_approval) Код: Выделить всё
if (($mode == 'reply' || $mode == 'quote' || $mode == 'post') && $post_approval)
{
user_notification($mode, $subject, $data['topic_title'], $data['forum_name'], $data['forum_id'], $data['topic_id'], $data['post_id']);
if ($mode == 'post' && $post_approval)
{
function send() {
$MailFrom = "почто_админа";
$mysql_database="моя_БД"; //Имя базы данных
$mysql_username="имя_админа"; //Имя пользователя базы данных
$mysql_password="пароль"; //Пароль пользователя базы данных
$mysql_host="сервер; //Сервер базы данных
//Соединяемся с базой данных
$mysql_connect = mysql_connect($mysql_host, $mysql_username, $mysql_password);
//Выбираем базу данных для работы
mysql_select_db($mysql_database);
$sql = "SELECT * FROM таблица_users";
$name = mysql_query($sql);
$row = mysql_fetch_array($name);
while($row) {
mail($row[email], $MailFrom, "Создана новая тема на форуме класса, которую необходимо обсудить. Пожалуйста, примите участие в обсуждении.");
}
}
}Код: Выделить всё
if (($mode == 'reply' || $mode == 'quote' || $mode == 'post') && $post_approval)
{
user_notification($mode, $subject, $data['topic_title'], $data['forum_name'], $data['forum_id'], $data['topic_id'], $data['post_id']);
if ($mode == 'post' && $post_approval)
{ requre_once (school.php);
send();
}
}Код: Выделить всё
function send() {
$MailFrom = "моя_почта";
$mysql_database="моя БД"; //Имя базы данных
$mysql_username="логин_admin"; //Имя пользователя базы данных
$mysql_password="пароль"; //Пароль пользователя базы данных
$mysql_host="сервер"; //Сервер базы данных
//Соединяемся с базой данных
$mysql_connect = mysql_connect($mysql_host, $mysql_username, $mysql_password);
//Выбираем базу данных для работы
mysql_select_db($mysql_database);
$sql = "SELECT * FROMтаблица_users";
$name = mysql_query($sql);
$row = mysql_fetch_array($name);
while($row) {
mail($row[email], $MailFrom, "Создана новая тема на форуме класса, которую необходимо обсудить. Пожалуйста, примите участие в обсуждении.");
}
}Правила данной конференции подразумевают обладание квалификацией, необходимой для понимания вопроса обсуждения:paa66 писал(а):Если новичкам здесь не место
Правила, пункт 1.7 писал(а):Следует также учитывать неизбежность применения "профессионализмов" и "жаргонизмов" в речи участников конференции, и понимать, что упоминание, например, "кривизны рук" и "включения мозга" не преследует целей оскорбления вас лично, а всего лишь кратко резюмирует, что при выполнении каких-либо действий, вы недостаточно внимательно отнеслись к их выполнению, без должного учёта инструкций, документации и базовых знаний о предмете, в которых вы обязаны быть компетентны.
Молодец, теперь значительно лучше.paa66 писал(а):Я сейчас исправил
Как ты, наверно, обратил внимание, твой код находится рядом с вызовом стандартной функцииpaa66 писал(а):Всё равно закидало письмами
user_notification(), которая как раз и рассылает уведомления. Тот факт, что данная функция вызывается в правильном месте и правильное количество раз, говорит нам о том, что и твоя функция будет вызываться в те же правильные моменты.Кстати, не самая удобная среда разработки. Попробуй NetBeans.paa66 писал(а):NuSphere phpEditor
Здесь программистов практически нет.paa66 писал(а):Я не программист
Похвально. Тогда в помощь http://www.phpbbguru.net/useful/codeboo ... uidelines/paa66 писал(а):увлёкся программированием
Ну тогда уж и http://netbeans.org/features/php/MIT писал(а):Попробуй NetBeans.
Кстати, в приведённой цитате из Правил про это не сказано. Там сказано, что не надо обижаться на "кривизну рук" и т.д.MIT писал(а):Правила данной конференции подразумевают обладание квалификацией, необходимой для понимания вопроса обсуждения:
Я не сказал в своём первом посте, что изначально я вставлял код, подсоединяющий другой файл, именно в файл function_posting.php, правда в другое место, но тоже срабатывало и закидывало письмами. Коды убрать я не забыл. Я пробовал создавать темы после уборки моих кодов, рассылка писем не работала. Так что причина в другом. В подтверждение результат моей проверки: я убрал все свои коды, куда я их вставлял, проверил, делается ли рассылка после создания темы. Уведомления не рассылались и я вставил в один из файлов раздела сайта код, подсоединяющий другой файл, а файл с функцией разместил в этом разделе. В результате при вхождении в раздел сайта код подсоединил рассылку и меня опять закидало письмами. Значит я неправильно написал функцию, хотя не имею представления где в ней могла закрасться ошибка. И ещё: хотя в БД 2 адреса е-mail, письмами заваливает первый адрес из таблицы. При вхождении в раздел (или ранее при создании новой темы на форуме) браузер зависает. Чтобы не мучить, я останавливаю его. Такие вот дела. Думаю, что тему можно закрывать, т.к. решение проблемы не относится к phpbb. Всем спасибо!MIT писал(а):Как ты, наверно, обратил внимание, твой код находится рядом с вызовом стандартной функции user_notification(), которая как раз и рассылает уведомления. Тот факт, что данная функция вызывается в правильном месте и правильное количество раз, говорит нам о том, что и твоя функция будет вызываться в те же правильные моменты.
Код: Выделить всё
$redirect_url = submit_post($mode, $post_data['post_subject'], $post_data['username'], $post_data['topic_type'], $poll, $data, $update_message, ($update_message || $update_subject) ? true : false); Код: Выделить всё
if (!isset($post_data['topic_first_post_id']))
{
// здесь вызов вашей функции рассылки
} Код: Выделить всё
$name = mysql_query($sql);
while($row = mysql_fetch_assoc($name)) {
mail($row['email'], $MailFrom // и т.д.
}
}Спасибо, исправил, но всё равно заваливает письмами. Сделал всё на своём компе, работает безукоризненно (в папке дэнвэра tmp\!sendmail\ на каждый адрес отправляется по одному письму). Я обратился к хостэру, скорее всего у него что-то не так. Пока жду от него ответа.Sheer писал(а):if (!isset($post_data['topic_first_post_id']))
{
// здесь вызов вашей функции рассылки
}
Код: Выделить всё
$MailFrom = "мой_адрес";
$title = "Новая тема на форуме класса";
$sql = 'SELECT * FROM ' . USERS_TABLE; // таким образом можно обратиться к таблицам phpbb
$name = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($name)){ // пришлось выдёргивать через sql_fetchrow, через mysql_fetch_assoc заваливало письмами
if (!$row['user_email'] == null){ // здесь отбрасываю всех пользователей с пустыми адресами почты. В эту таблицу phpbb кроме пользователей внесены разные боты, они тоже отбрасываются
mail($row['user_email'], $title, "Создана новая тема на форуме класса, которую необходимо обсудить. Пожалуйста, примите участие в обсуждении.", 'From:'.$MailFrom);
}
}