Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Страницы 1
Привет. Хочу прилепить всплывающие сообщения к событиям форума,а именно пользователь залогинился и пользователь получил личное сообщение.Подскажите куда купать что посмотреть.Спасибо
Offline
Хотел я такое сделать у себя в моде, но не сделал.
Событие следует вешать в двух местах:
1. в register.php перед
redirect('index.php', $lang_register['Reg complete']);
(это когда форум не требует подтверждения регистрации)
2. в login.php внутрь этого условия
if ($cur_user['group_id'] == PUN_UNVERIFIED)
{
$db->query('UPDATE '.$db->prefix.'users SET group_id='.$pun_config['o_default_user_group'].' WHERE id='.$cur_user['id']) or error('Unable to update user status', __FILE__, __LINE__, $db->error());
// Regenerate the users info cache
if (!defined('FORUM_CACHE_FUNCTIONS_LOADED'))
require PUN_ROOT.'include/cache.php';
generate_users_info_cache();
}
Создание сообщения следует делать по аналогии моду личных сообщений.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Блин что-то то не получается ( Значит специально убрал подтверждение регистрации. сделал
<script type="text/javascript">
alert('alert');
document.location.replace("http://www.ya.ru/");
</script>
Прописал и там и там. но при успешном логине не наблюдаю ничего.
Редактировался fmit (2011-12-13 14:55:54)
Offline
......................
?>
<script type="text/javascript">
alert('alert');
document.location.replace("http://www.ya.ru/");
</script>
<?php
redirect('index.php', $lang_register['Reg complete']);
...........................
?>
<script type="text/javascript">
alert('alert');
document.location.replace("http://www.ya.ru/");
</script>
<?php
......................
// Regenerate the users info cache
if (!defined('FORUM_CACHE_FUNCTIONS_LOADED'))
Offline
А зачем яваскрипт вставляешь? Я то предлагал в базу личных сообщений добавить новое сообщение, тогда например в моем моде ЛС будет выводиться окно о том, что у вас новое ЛС. Как в других модах на личные сообщения не в курсе.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
А не выводится на экран ни чего, потому что там редирект идет на открытие других страниц.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
ну а тогда все таки,как же вывести сообщение на главной странице,куда он попал когда успешно залогинился???
Редактировался fmit (2011-12-13 15:36:23)
Offline
Тогда в таблицу users добавляй новое поле числовое, которое по умолчанию будет равно нулю.
В файле header.php перед этим
$tpl_temp = trim(ob_get_contents());
$tpl_main = str_replace('<pun_head>', $tpl_temp, $tpl_main);
ob_end_clean();
// END SUBST - <pun_head>
можно сделать проверку
if ($pun_user['ДОБАВЛЕННОЕ ПОЛЕ'] == 0)
{
$db->query('UPDATE '.$db->prefix.'users SET ДОБАВЛЕННОЕ ПОЛЕ=1 WHERE id='.$pun_user['id']) or error('Unable to update user status', __FILE__, __LINE__, $db->error());
// а тут вывод яваскрипта, который и будет выводить сообщение юзеру
}
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Страницы 1