email юзерам и сообщение в топик
-
- phpBB 1.4.4
- Сообщения: 133
- Стаж: 18 лет 3 месяца
- Откуда: Москва
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
email юзерам и сообщение в топик
Не подскажете есть ли такой мод, который при отправке email выбранной группе пользователей, добавлял бы отправляемое сообщение в указанный топик форума
//
приглашаю на RuFOND - Форум для трейдеров
приглашаю на RuFOND - Форум для трейдеров
-
- phpBB 2.0.7
- Сообщения: 574
- Стаж: 19 лет
Re: email юзерам и сообщение в топик
лови (должно пахать .. клепанул за пару сек, но вроде не упустил ниче)
Добавлено спустя 4 минуты 38 секунд:
хм.. эт немного не то.. в варианте выше создается тема в указанном форуме .. а нужно было - сообщение в теме (шо-то я не внимательно так
) ну вообщем там почти те же яйки тока с другой стороны ... сам переделаешь?
Код: Выделить всё
#
#-----[ OPEN ]------------------------------------------
#
admin/admin_mass_email.php
#
#-----[ FIND ]------------------------------------------
#
if ( !$error )
{
#
#-----[ BEFORE, ADD ]-----------------------------------
#
if (!empty($HTTP_POST_VARS['create_topic']) && $HTTP_POST_VARS['f'] > 0)
{
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
include($phpbb_root_path . 'includes/functions_search.'.$phpEx);
include($phpbb_root_path . 'includes/functions_post.'.$phpEx);
$current_time = time();
$forum_id = $HTTP_POST_VARS['f'];
$topic_type = POST_NORMAL;
$topic_vote = 0;
$bbcode_uid=make_bbcode_uid();
$post_message = prepare_message(trim($message), 1, 1, 1, $bbcode_uid);
$client_ip = ( !empty($HTTP_SERVER_VARS['REMOTE_ADDR']) ) ? $HTTP_SERVER_VARS['REMOTE_ADDR'] : ( ( !empty($HTTP_ENV_VARS['REMOTE_ADDR']) ) ? $HTTP_ENV_VARS['REMOTE_ADDR'] : getenv('REMOTE_ADDR') );
$user_ip = encode_ip($client_ip);
$sql = "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote) VALUES ('$subject', " . $userdata['user_id'] . ", $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_vote)";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
$topic_id = $db->sql_nextid();
$sql = "INSERT INTO " . POSTS_TABLE . " (topic_id, forum_id, poster_id, post_username, post_time, poster_ip, enable_bbcode, enable_html, enable_smilies, enable_sig) VALUES ($topic_id, $forum_id, " . $userdata['user_id'] . ", '', $current_time, '$user_ip', 1, 1, 1, 1)";
if (!$db->sql_query($sql, BEGIN_TRANSACTION))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
$post_id = $db->sql_nextid();
$sql = "INSERT INTO " . POSTS_TEXT_TABLE . " (post_id, post_subject, bbcode_uid, post_text) VALUES ($post_id, '$subject', '$bbcode_uid', '$post_message')";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
$sql="UPDATE phpbb_topics SET topic_first_post_id=$post_id, topic_last_post_id=$post_id WHERE topic_id=$topic_id";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
add_search_words('single', $post_id, stripslashes($post_message), stripslashes($subject));
}
#
#-----[ FIND ]------------------------------------------
#
include('./page_header_admin.'.$phpEx);
#
#-----[ AFTER ADD ]------------------------------------------
#
make_jumpbox('admin_mass_email.'.$phpEx);
#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/admin/user_email_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<tr>
<td class="catBottom" align="center" colspan="2"><input type="submit" value="{L_EMAIL}" name="submit" class="mainoption" /></td>
</tr>
#
#-----[ BEFORE, ADD ]-----------------------------------
#
<tr>
<td class="row1" align="left" colspan="2"><input type="checkbox" name="create_topic" />Создать топик в форуме: {S_JUMPBOX_SELECT}</td>
</tr>
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
хм.. эт немного не то.. в варианте выше создается тема в указанном форуме .. а нужно было - сообщение в теме (шо-то я не внимательно так

-
- phpBB 1.4.4
- Сообщения: 133
- Стаж: 18 лет 3 месяца
- Откуда: Москва
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
Re: email юзерам и сообщение в топик
спасибо, пойду ковырять свою многострадальную двойку)...
//
приглашаю на RuFOND - Форум для трейдеров
приглашаю на RuFOND - Форум для трейдеров
-
- phpBB 2.0.7
- Сообщения: 574
- Стаж: 19 лет
Re: email юзерам и сообщение в топик
Я вам помогу: предыдущую инструкцию удалите и выполните эту:
Будет так:

Код: Выделить всё
#
#-----[ OPEN ]------------------------------------------
#
admin/admin_mass_email.php
#
#-----[ FIND ]------------------------------------------
#
if ( !$error )
{
#
#-----[ AFTER, ADD ]-----------------------------------
#
if ((!empty($HTTP_POST_VARS['create_topic']) && $HTTP_POST_VARS['f'] > 0) || (!empty($HTTP_POST_VARS['post_message']) && !empty($HTTP_POST_VARS['destination_topic'])))
{
require_once($phpbb_root_path . 'includes/bbcode.'.$phpEx);
require_once($phpbb_root_path . 'includes/functions_search.'.$phpEx);
require_once($phpbb_root_path . 'includes/functions_post.'.$phpEx);
require_once($phpbb_root_path . 'includes/functions_admin.'.$phpEx);
$current_time = time();
$forum_id = $HTTP_POST_VARS['f'];
$topic_type = POST_NORMAL;
$topic_vote = 0;
$bbcode_uid=make_bbcode_uid();
$post_message = prepare_message(trim($message), 1, 1, 1, $bbcode_uid);
$client_ip = ( !empty($HTTP_SERVER_VARS['REMOTE_ADDR']) ) ? $HTTP_SERVER_VARS['REMOTE_ADDR'] : ( ( !empty($HTTP_ENV_VARS['REMOTE_ADDR']) ) ? $HTTP_ENV_VARS['REMOTE_ADDR'] : getenv('REMOTE_ADDR') );
$user_ip = encode_ip($client_ip);
if(!empty($HTTP_POST_VARS['create_topic']))
{
$sql = "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote) VALUES ('$subject', " . $userdata['user_id'] . ", $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_vote)";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
$topic_id = $db->sql_nextid();
$sql = "INSERT INTO " . POSTS_TABLE . " (topic_id, forum_id, poster_id, post_username, post_time, poster_ip, enable_bbcode, enable_html, enable_smilies, enable_sig) VALUES ($topic_id, $forum_id, " . $userdata['user_id'] . ", '', $current_time, '$user_ip', 1, 1, 1, 1)";
if (!$db->sql_query($sql, BEGIN_TRANSACTION))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
$post_id = $db->sql_nextid();
$sql = "INSERT INTO " . POSTS_TEXT_TABLE . " (post_id, post_subject, bbcode_uid, post_text) VALUES ($post_id, '$subject', '$bbcode_uid', '$post_message')";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
$sql="UPDATE phpbb_topics SET topic_first_post_id=$post_id, topic_last_post_id=$post_id WHERE topic_id=$topic_id";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
add_search_words('single', $post_id, stripslashes($post_message), stripslashes($subject));
}
if(!empty($HTTP_POST_VARS['post_message']))
{
$destination_topic = $HTTP_POST_VARS['destination_topic'];
// the next block of code is borrowed from the simply merge mod...it extracts the topic id from topic_id, topic url or post url
// is this a direct value ?
$num_topic = intval($destination_topic);
if ($destination_topic == "$num_topic")
{
$destination_topic_id = $num_topic;
}
// is this a url with topic id or post id ?
else
{
$name = explode('?', $destination_topic);
$parms = ( isset($name[1]) ) ? $name[1] : $name[0];
parse_str($parms, $parm);
$found = false;
$destination_topic_id = 0;
while ((list($key, $val) = each($parm)) && !$found)
{
$vals = explode('#', $val);
$val = $vals[0];
if (empty($val))
{
$val = 0;
}
else $val = intval($val);
switch($key)
{
case POST_POST_URL:
$sql = "SELECT topic_id FROM " . POSTS_TABLE . " WHERE post_id=$val";
if ( !($result = $db->sql_query($sql)) ) message_die(GENERAL_ERROR, 'Could not get post information', '', __LINE__, __FILE__, $sql);
if ($row = $db->sql_fetchrow($result))
{
$val = $row['topic_id'];
$found = true;
}
break;
case POST_TOPIC_URL:
$found = true;
break;
}
if ($found)
{
$destination_topic_id = $val;
}
}
}
$topic_id = $destination_topic_id;
$sql = "SELECT forum_id
FROM " . TOPICS_TABLE . "
WHERE topic_id = $destination_topic_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not get forum information for destination topic', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$forum_id = $row['forum_id'];
$db->sql_freeresult($result);
if ($forum_id == '') message_die(GENERAL_MESSAGE, 'Could not get forum information (no such topic_id?)');
$sql = "INSERT INTO " . POSTS_TABLE . " (topic_id, forum_id, poster_id, post_username, post_time, poster_ip, enable_bbcode, enable_html, enable_smilies, enable_sig) VALUES ($topic_id, $forum_id, " . $userdata['user_id'] . ", '', $current_time, '$user_ip', 1, 1, 1, 1)";
if (!$db->sql_query($sql, BEGIN_TRANSACTION))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
$post_id = $db->sql_nextid();
$sql = "INSERT INTO " . POSTS_TEXT_TABLE . " (post_id, post_subject, bbcode_uid, post_text) VALUES ($post_id, '$subject', '$bbcode_uid', '$post_message')";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
$sql="UPDATE phpbb_topics SET topic_last_post_id=$post_id WHERE topic_id=$topic_id";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
sync('topic', $topic_id);
}
sync('forum', $forum_id);
}
#
#-----[ FIND ]------------------------------------------
#
include('./page_header_admin.'.$phpEx);
#
#-----[ AFTER ADD ]------------------------------------------
#
make_jumpbox('admin_mass_email.'.$phpEx);
#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/admin/user_email_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<tr>
<td class="catBottom" align="center" colspan="2"><input type="submit" value="{L_EMAIL}" name="submit" class="mainoption" /></td>
</tr>
#
#-----[ BEFORE, ADD ]-----------------------------------
#
<tr>
<td class="row2" align="left" colspan="2"><input type="checkbox" name="create_topic" />Создать топик в форуме: {S_JUMPBOX_SELECT}</td>
</tr>
<tr>
<td class="row2" align="left" colspan="2"><input type="checkbox" name="post_message" />Отправить сообщение в тему: <input class="post" type="text" size="35" style="width: 340px" maxlength="60" name="destination_topic" value="(вставьте id или URL темы, или URL сообщения в теме)" onfocus="javascript:if (this.value=='(вставьте id или URL темы, или URL сообщения в теме)') {this.value=''}" onblur="javascript:if (this.value=='') {this.value='(вставьте id или URL темы, или URL сообщения в теме)'}" /> </td>
</tr>
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
-
- phpBB 1.4.4
- Сообщения: 133
- Стаж: 18 лет 3 месяца
- Откуда: Москва
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
Re: email юзерам и сообщение в топик
ну что я могу сказать)... благодарю за оперативность и ещё раз спасибо
//
приглашаю на RuFOND - Форум для трейдеров
приглашаю на RuFOND - Форум для трейдеров
-
- phpBB 1.4.4
- Сообщения: 133
- Стаж: 18 лет 3 месяца
- Откуда: Москва
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
Re: email юзерам и сообщение в топик
тааак... короче что мы имеем, модик поставил, всё как на вашей картинке)... но есть проблемы с его работой,
сообщение в выбранную тему добавляются, но сразу после отправки получаю вот такое
и не отправляются email выбранной группе
Добавлено спустя 4 минуты 17 секунд:
похоже нашёл ошибку... префиксы phpbb_topics
сообщение в выбранную тему добавляются, но сразу после отправки получаю вот такое
Код: Выделить всё
Error in posting
DEBUG MODE
UPDATE phpbb_topics SET topic_last_post_id=1425 WHERE topic_id=1297
Line : 229
File : admin_mass_email.php
Добавлено спустя 4 минуты 17 секунд:
похоже нашёл ошибку... префиксы phpbb_topics
//
приглашаю на RuFOND - Форум для трейдеров
приглашаю на RuFOND - Форум для трейдеров
-
- phpBB 2.0.7
- Сообщения: 574
- Стаж: 19 лет
Re: email юзерам и сообщение в топик
Да я не использовал константы и не предупредил на счет префиксов ... в них судя по всему проблема?
Добавлено спустя 40 секунд:
Если префиксы не те как тогда сообщение добавляется?. у меня все работает еще раз проверил (писал под чистый пхпбб2023)
Добавлено спустя 2 минуты 58 секунд:
Письма должны отправляться группам на имейл.. если им не приходят значит они бы и не пришлы и до установки модификации .. ибо она отправку не трогает .. опять таки у меня этой проблемы нет на тестовом форуме .. гляньте сюда на мое последнее сообщение.
зы
Добавлено спустя 40 секунд:
Если префиксы не те как тогда сообщение добавляется?. у меня все работает еще раз проверил (писал под чистый пхпбб2023)
Добавлено спустя 2 минуты 58 секунд:
Письма должны отправляться группам на имейл.. если им не приходят значит они бы и не пришлы и до установки модификации .. ибо она отправку не трогает .. опять таки у меня этой проблемы нет на тестовом форуме .. гляньте сюда на мое последнее сообщение.
зы
а вы сомневались?RUFOND писал(а): всё как на вашей картинке)

-
- phpBB 1.4.4
- Сообщения: 133
- Стаж: 18 лет 3 месяца
- Откуда: Москва
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
Re: email юзерам и сообщение в топик
не-не, после того как префиксы поправил стало всё пучком, и ошибка пропала и email стали приходить... теперь только красоту наводить) вот сразу пара вопросиков) как изменить выводимую по-умолчанию группу рассылки и как добавить несколько вариантов выбора в нижней закладке (там где сейчас написано Вставить УРЛ и т.п.)
//
приглашаю на RuFOND - Форум для трейдеров
приглашаю на RuFOND - Форум для трейдеров
-
- phpBB 2.0.7
- Сообщения: 574
- Стаж: 19 лет
Re: email юзерам и сообщение в топик
на счет первого щас выложу .. на счет:
"как добавить несколько вариантов выбора" - добавить их по аналогии с приведенными выше изменениями ...
зы называйте вещи своими именами, http://ru.wikipedia.org/wiki/Закладка
Добавлено спустя 32 минуты 31 секунду:
Поправте префиксы )
я тут подумал, может оформить по phpbb стандартам, чуток доделать: сделать проверку при отправке писем заполнены ли поля "активированные" галочками и если нет, выдавать ошибку(чтоб по случайности не провтыкать и не отправить масс письма без постинга темы или сообщения т.к. сейчас в случае не заполнении полей скрипт игнорит постинг и только шлет письма) и выложить это дело модом .. а то кому-то тоже понадобится и а найти не смогут это здесь ...
"как добавить несколько вариантов выбора" - добавить их по аналогии с приведенными выше изменениями ...
зы называйте вещи своими именами, http://ru.wikipedia.org/wiki/Закладка
Добавлено спустя 32 минуты 31 секунду:
Поправте префиксы )
Код: Выделить всё
#
#-----[ SQL ]------------------------------------------
#
INSERT INTO phpbb_config (config_name, config_value) VALUES ('default_group_select','-1');
#
#-----[ OPEN ]------------------------------------------
#
admin/admin_mass_email.php
#
#-----[ FIND ]------------------------------------------
#
if ( !$error )
{
#
#-----[ AFTER, ADD ]-----------------------------------
#
if (!empty($HTTP_POST_VARS['defsel']))
{
$sql="update phpbb_config set config_value=$group_id where config_name='default_group_select'";
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error ...', '', __LINE__, __FILE__, $sql);
}
}
#
#-----[ FIND ]------------------------------------------
#
$select_list .= '<option value = "' . $row['group_id'] . '"'.$selected.'>' . $row['group_name'] . '</option>';
#
#-----[ REPLACE WITH ]-----------------------------------
#
$selected = ($row['group_id']=== $board_config['default_group_select'])? 'selected':'';
$select_list .= '<option value = "' . $row['group_id'] . '"'.$selected.'>' . $row['group_name'] . '</option>';
#
#-----[ FIND ]------------------------------------------
#
'S_GROUP_SELECT' => $select_list)
#
#-----[ REPLACE WITH ]-----------------------------------
#
'S_GROUP_SELECT' => $select_list.' '. '<input type="checkbox" name="defsel" /> Сделать текущий выбор выбором по умолчанию')
-
- phpBB 1.4.4
- Сообщения: 133
- Стаж: 18 лет 3 месяца
- Откуда: Москва
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
Re: email юзерам и сообщение в топик
в добавленном сообщении время выставляется вот в таком виде
пробовал всяко менять вот эту функцию но тогда при добавлении сообщения мускул выдаёт ошибку...
и ещё, вот в этой вставке случаем нет ошибки, а то смущает пустое поле перед $current_time
что совсем не есть хорошоДобавлено: 01 Янв 1970 04:00 am
пробовал всяко менять вот эту функцию
Код: Выделить всё
$current_time = time();
и ещё, вот в этой вставке случаем нет ошибки, а то смущает пустое поле перед $current_time
Код: Выделить всё
$sql = "INSERT INTO " . POSTS_TABLE . " (topic_id, forum_id, poster_id, post_username, post_time, poster_ip, enable_bbcode, enable_html, enable_smilies, enable_sig) VALUES ($topic_id, $forum_id, " . $userdata['user_id'] . ", '', $current_time, '$user_ip', 1, 1, 1, 1)";
//
приглашаю на RuFOND - Форум для трейдеров
приглашаю на RuFOND - Форум для трейдеров
-
- phpBB 2.0.7
- Сообщения: 574
- Стаж: 19 лет
Re: email юзерам и сообщение в топик
Страно т.к. у меня этого бага нету.. завтра гляну шо там может быть..
-
- phpBB 1.4.4
- Сообщения: 133
- Стаж: 18 лет 3 месяца
- Откуда: Москва
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
Re: email юзерам и сообщение в топик
что-нибудь удалось накопать?... пробовал и на локалхосте и на рабочем сайте, время выставляется неправильно...
//
приглашаю на RuFOND - Форум для трейдеров
приглашаю на RuFOND - Форум для трейдеров