Подскажите пожалуйста, как и где происходит проверка вошедших юзверей на то могут ли они писать в данном форуме или нет, я так понял для этого служит файл auth.php, но чет понять, что и как пока не могу.
Заранее спасибо.
Аутентификация пользовтелей
-
- phpBB 1.2.0
- Сообщения: 18
- Стаж: 16 лет 1 месяц
-
- Former team member
- Сообщения: 3942
- Стаж: 19 лет 11 месяцев
- Откуда: Оренбург (Южный Урал)
- Благодарил (а): 3 раза
Re: Аутентификация пользовтелей
В auth.php только определения функций, проверка прав доступа происходит в viewforum.php. Смотрите Блок между строками
в posting.php фрагмент между
и
Код: Выделить всё
//
// Start auth check
..................
..................
// End of auth check
//
Код: Выделить всё
// What auth type do we need to check?
Код: Выделить всё
// Set toggles for various options
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции
наш форум http://forum.aeroion.ru/cat1.html
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции
наш форум http://forum.aeroion.ru/cat1.html
-
- phpBB 1.2.0
- Сообщения: 18
- Стаж: 16 лет 1 месяц
Re: Аутентификация пользовтелей
Ну вот смотрите, у меня между этими блоками в viewforum.php следущее.
Я так понял, что создается массив $is_auth, в него мы записываем какие права имеет пользователь в данном разделе, а происходит это посредством функции auth(AUTH_ALL, $forum_id, $userdata, $forum_row); которая в свою очередь берется из файла auth.php(насколько я это понял). Дальше мы проверяем if ( !$is_auth['auth_read'] || !$is_auth['auth_view'] ), если у нас право смотреть форум... впринципе все...
Вообщем я хотел следущее: Уже добавли в админке в раздел Доступ к форумам еще одну колонку, допустим специалист, и выпадающее меню, как и в остальной части... Дольше описал это поле в файле auth.php в функции auth()
Соответственно и в БД все есть, теперь я могу выбирать в админке как мне надо эту опцию, все работает.
Дальше мне надо наделить юзверей, входящих в группу, в которой включена данная опция (стоит выбор - приватный) определенными польномочиями, вот блин непойму где и примерно как это сделать...
Объяснил, как мог - сильно не пинайте, жду ответа.
Заранее спасибо.
Код: Выделить всё
//
// Start auth check
//
$is_auth = array();
$is_auth = auth(AUTH_ALL, $forum_id, $userdata, $forum_row);
if ( !$is_auth['auth_read'] || !$is_auth['auth_view'] )
{
if ( !$userdata['session_logged_in'] )
{
$redirect = POST_FORUM_URL . "=$forum_id" . ( ( isset($start) ) ? "&start=$start" : '' );
redirect(append_sid("login.$phpEx?redirect=viewforum.$phpEx&$redirect", true));
}
//
// The user is not authed to read this forum ...
//
$message = ( !$is_auth['auth_view'] ) ? $lang['Forum_not_exist'] : sprintf($lang['Sorry_auth_read'], $is_auth['auth_read_type']);
message_die(GENERAL_MESSAGE, $message);
}
//
// End of auth check
//
Вообщем я хотел следущее: Уже добавли в админке в раздел Доступ к форумам еще одну колонку, допустим специалист, и выпадающее меню, как и в остальной части... Дольше описал это поле в файле auth.php в функции auth()
Код: Выделить всё
switch( $type )
{
...
case AUTH_SP:
$a_sql = 'a.auth_sp';
$auth_fields = array('auth_sp');
break;
...
default:
break;
}
Дальше мне надо наделить юзверей, входящих в группу, в которой включена данная опция (стоит выбор - приватный) определенными польномочиями, вот блин непойму где и примерно как это сделать...
Объяснил, как мог - сильно не пинайте, жду ответа.
Заранее спасибо.
-
- Former team member
- Сообщения: 3942
- Стаж: 19 лет 11 месяцев
- Откуда: Оренбург (Южный Урал)
- Благодарил (а): 3 раза
Re: Аутентификация пользовтелей
Где-то была статья на тему добавления новых прав доступа, по-моему на английском языке. Попробуй поищи по словам "group permission system phpBB 2".
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции
наш форум http://forum.aeroion.ru/cat1.html
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции
наш форум http://forum.aeroion.ru/cat1.html
-
- phpBB 1.2.0
- Сообщения: 18
- Стаж: 16 лет 1 месяц
Re: Аутентификация пользовтелей
(((( Чет ненашел, блин, а без этой статьи никто не поможет?
Вообщем с viewforum.php разобрался, а с posting.php все сложнее, никак не пойму че и как там, помогите пожалуйста, оч. надо. Мне нужно понять, где происходит проврка на то, может ли пользователь писать в данном топике(т.е. проверяет юзверей, входящих в группу, которая относится к данному форуму, на предмет пареметров описанных выше(т.е. мне надо мой доп. параметр проверить и еще кое что проверить, взяв из нужной мне таблице))
Вообщем с viewforum.php разобрался, а с posting.php все сложнее, никак не пойму че и как там, помогите пожалуйста, оч. надо. Мне нужно понять, где происходит проврка на то, может ли пользователь писать в данном топике(т.е. проверяет юзверей, входящих в группу, которая относится к данному форуму, на предмет пареметров описанных выше(т.е. мне надо мой доп. параметр проверить и еще кое что проверить, взяв из нужной мне таблице))
-
- phpBB 1.2.0
- Сообщения: 18
- Стаж: 16 лет 1 месяц
Re: Аутентификация пользовтелей
Ну помогите ктонибудь... разбирался с auth.php, кое че понял, но вот доконца - нет, как же всетаки добавить и использоват правильно новое правило доступа?