Заранее спасибо.
Помошь со скриптом
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
nixit
- phpBB 1.4.4
- Сообщения: 173
- Стаж: 15 лет 6 месяцев
- Благодарил (а): 13 раз
- Поблагодарили: 4 раза
Помошь со скриптом
Здравствуйте, возникла такая проблема: есть скрипт, цепляющий параметры текущей сессии и передающий их. Конкретно - elfchat.php, он цепляет имя залосненного пользователя и передаёт его чату. Для чего это делается, думаю ясно. Так вот, мне необходимо, чтобы только что зарегистрированные пользователи, входящие в группу "новые пользователи" не имели доступа к чату. Я так понимаю, это делается условием, допустим: если группа админ, модератор, пользователь - цепляет параметры, иначе - нет. Подскажите, как оно будет выглядеть, а то в php я не силён.
Заранее спасибо.
Заранее спасибо.
Последний раз редактировалось FEAR93 27.08.2011 7:45, всего редактировалось 1 раз.
Причина: Перенесено.
Причина: Перенесено.
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Помошь со скриптом
Код: Выделить всё
if ($user->data['user_new'])
{
trigger_error($user->lang['NOT_AUTHORISED']);
} Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
nixit
- phpBB 1.4.4
- Сообщения: 173
- Стаж: 15 лет 6 месяцев
- Благодарил (а): 13 раз
- Поблагодарили: 4 раза
Re: Помошь со скриптом
Сейчас попробую, мерси.
Что-то не могу сообразить, как не пробовал, результата нет. Куда вставить, код выглядит так:
Да, и ещё как исключить ботов?..
Пробовал так:
Самый на мой взгляд "верный" вариант, но, новые пользователи всё равно заходят.
Что-то не могу сообразить, как не пробовал, результата нет. Куда вставить, код выглядит так:
Код: Выделить всё
<?php
define( 'ELFCHAT_PATH' , "./chat/" ); // Путь до файлов, например: /home/mysite/www/forum/chat/
define( 'ELFCHAT_LOCATION', "chat/"); // Адрес редиректа, например: http://mysite/forum/chat/
define( 'YOUR_CHARSET', "utf-8"); // Кодировка форума
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require($phpbb_root_path . 'common.' . $phpEx);
//require($phpbb_root_path . 'includes/functions_user.' . $phpEx);
//require($phpbb_root_path . 'includes/functions_module.' . $phpEx);
// Basic parameter data
$id = request_var('i', '');
$mode = request_var('mode', '');
if ($mode == 'login' || $mode == 'logout' || $mode == 'confirm')
{
define('IN_LOGIN', true);
}
// Start session management
$user->session_begin();
//$auth->acl($user->data);
include_once(ELFCHAT_PATH."kernel/elfchat.php");
if ( $user->data['user_id'] != 1 )
{
Elfchat::Session()->start();
if(!Elfchat::Session()->logined())
{
Elfchat::Login(
$user->data['user_id'],
Elfchat::Session()->IPDetect(),
iconv(YOUR_CHARSET, "UTF-8", $user->data['username_clean']),
iconv(YOUR_CHARSET, "UTF-8", $user->data['username'])
);
Header("Location: ".ELFCHAT_LOCATION."chat.php");
}
else
{
Header("Location: ".ELFCHAT_LOCATION."chat.php");
}
}
else
{
Header("Location: ".ELFCHAT_LOCATION."index.php");
}
?>Пробовал так:
Код: Выделить всё
<?php
define( 'ELFCHAT_PATH' , "./chat/" ); // Путь до файлов, например: /home/mysite/www/forum/chat/
define( 'ELFCHAT_LOCATION', "chat/"); // Адрес редиректа, например: http://mysite/forum/chat/
define( 'YOUR_CHARSET', "utf-8"); // Кодировка форума
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require($phpbb_root_path . 'common.' . $phpEx);
//require($phpbb_root_path . 'includes/functions_user.' . $phpEx);
//require($phpbb_root_path . 'includes/functions_module.' . $phpEx);
// Basic parameter data
$id = request_var('i', '');
$mode = request_var('mode', '');
if ($mode == 'login' || $mode == 'logout' || $mode == 'confirm')
{
define('IN_LOGIN', true);
}
if ($user->data['user_new'])
{
trigger_error('$user->lang['NOT_AUTHORISED']');
}
else
{
// Start session management
$user->session_begin();
//$auth->acl($user->data);
include_once(ELFCHAT_PATH."kernel/elfchat.php");
if ( $user->data['user_id'] != 1 )
{
Elfchat::Session()->start();
if(!Elfchat::Session()->logined())
{
Elfchat::Login(
$user->data['user_id'],
Elfchat::Session()->IPDetect(),
iconv(YOUR_CHARSET, "UTF-8", $user->data['username_clean']),
iconv(YOUR_CHARSET, "UTF-8", $user->data['username'])
);
Header("Location: ".ELFCHAT_LOCATION."chat.php");
}
else
{
Header("Location: ".ELFCHAT_LOCATION."chat.php");
}
}
else
{
Header("Location: ".ELFCHAT_LOCATION."index.php");
}
}
?>-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: Помошь со скриптом
Еще бы!nixit писал(а):новые пользователи всё равно заходят.
Ну вот если самому подумать...
А ты втыкаешь условие проверки еще до того, как параметры сессии будут переданы.скрипт, цепляющий параметры текущей сессии и передающий их.
Написано же в коде (причем в люмом подобном скрипте)
Код: Выделить всё
// Start session management
$user->session_begin(); Короче надо так. Найти
Код: Выделить всё
$user->session_begin(); Код: Выделить всё
if ($user->data['user_new'])
{
trigger_error($user->lang['NOT_AUTHORISED']);
} и усё!
Точно так же.nixit писал(а):как исключить ботов?
Код: Выделить всё
if ($user->data['is_bot']) Код: Выделить всё
if ($user->data['user_new'] or $user->data['is_bot']) [phpBB Debug] PHP Notice: in file /elfchat.php on line 25: Undefined index: user_new
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

