Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » IkonBoard и другие форумы » Invision Board » Вход только по никам

Модерирует : Antuan, Dekker

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

DAISHI

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли сделать, чтобы доступ в определенные разделы был по никам. Т.е. я разрешим "Имя1" иметь доступ к "Раздел1", а "Имя2" не разрешил и он не может зайти на тот раздел.

Всего записей: 45 | Зарегистр. 08-02-2003 | Отправлено: 03:40 26-03-2003
s22



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
По нику вроде-бы никак. А ты попробуй по группам так сделать.. тоесть допустим для Members1 вход разрещён, а для Members2 нет и т.д...

----------
FunkySouls.com

Всего записей: 1568 | Зарегистр. 17-09-2002 | Отправлено: 03:49 26-03-2003
theIggs



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DAISHI Можно, но сложно. Много париться надо, а при большом объёме форума много лишней инфы будет. Ну, если только к одному разделу надо сделать и для небольшого количества пользователей, то запросто.
А вообще, ты б лучше группы новые создал и по группам доступ разрешал.


----------
Русская поддержка по IP.Board на IBResource.ru.
Для счастья нужно: национальный трекер и поисковик!

Всего записей: 1114 | Зарегистр. 13-11-2002 | Отправлено: 03:58 26-03-2003
DAISHI

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А вообще, ты б лучше группы новые создал и по группам доступ разрешал.  

Сделал бы, вот только есть проблемы с модерами: они вроде как не группа, а я именно для них хочу раздел сделать.
Причем, когда я "увольняю" модеров, пароль-то они помнят и могут читать сообщения секретного раздела, а пароль часто менять тоже неудобно, ведь у меня 10-15 человек модерского состава.
Относить модеров к отдельному разделу тоже не выход: у меня есть много других групп, в которых участвуют существующие модеры.
А может есть какой-нибудь хак?

Всего записей: 45 | Зарегистр. 08-02-2003 | Отправлено: 05:09 26-03-2003
theIggs



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DAISHI
Уточним постановку вопроса - есть какой-то один форум, куда доступ могут получить только модераторы. Как только чел разжалован из модераторов, он теряет доступ. Так? Хак такой наваять - дело 20 минут.

----------
Русская поддержка по IP.Board на IBResource.ru.
Для счастья нужно: национальный трекер и поисковик!

Всего записей: 1114 | Зарегистр. 13-11-2002 | Отправлено: 05:52 26-03-2003
DAISHI

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Уточним постановку вопроса - есть какой-то один форум, куда доступ могут получить только модераторы. Как только чел разжалован из модераторов, он теряет доступ. Так? Хак такой наваять - дело 20 минут.  

Вот мне такой и надо

Всего записей: 45 | Зарегистр. 08-02-2003 | Отправлено: 05:58 26-03-2003
Kurt

 
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
DAISHI
Я себе пофлемить позволю.
Во-первых я не понял в чем проблемма.
Мы же можем к определенном форуму разрешить доступ только определенной группе. То есть человек со статусом модератор имеет доступ в форум xxx, как только он его теряет. Больше зайти он туда не может. То есть, все что надо сделать - это создать группу модераторы и всех модераторов туда запихивать.
 
Во-вторых, уверяю тебя, что надо брать таких модераторов которых увольнят не придется. Это должно быть исключительным слуачаем то, что модератор уволен.
Так что надо не хаком, а организацией проблемму решать.


----------
http://uid.me/kurt

Всего записей: 3822 | Зарегистр. 30-06-2001 | Отправлено: 17:53 26-03-2003
theIggs



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kurt
1. А если сложились устойчивые группы, например, "Пользователи", "Суперюзеры", "Продвинутые гости" и т. п., а выделять модеров в отдельную группу не хочется? Группой-то, конечно, проще, но мы же не ищем лёгких путей.
2. К сожалению, так бывает редко... народ первым делом по создании форума набирает модераторов из числа желающих, потому что модерировать надо, а кто есть кто - ещё не известно. Поэтому увольнения неизбежны. Хотя практика порочная...
 
DAISHI
Вот, поюзай бету, поищи баги. А на следующей недельке я её оформлю полноценным хаком с установлением доступа по указанному типу к нескольким форумам и всё такое...
 
//sources/Boards.php
//Найти:
 
    function process_forum($forum_id="", $forum_data="")
    {
    global $std, $ibforums;
 
//Заменить на:
 
    function process_forum($forum_id="", $forum_data="")
    {
    global $std, $ibforums, $DB;
 
//sources/Boards.php, sources/Forums.php
//Найти:
 
            if ($forum_data['read_perms'] != '*')
   {
if ( ! preg_match( "/(^|,)".$ibforums->member['mgroup']."(,|$)/", $forum_data['read_perms'] ) )
{
return "";
}
}
 
//Выше добавить:
 
        if ($ibforums->member['id'] and $forum_data['id'] == 2)
        {
            if ($ibforums->member['g_is_supmod'] == 1)
            {
            $forum_data['read_perms'] = '*';
            }
            else
            {
                $DB->query("SELECT member_name FROM ibf_moderators WHERE member_id='".$ibforums->member['id']."'");
                if ( $DB->fetch_row() )
                {
                $forum_data['read_perms'] = '*';
               }
           }
            }
 
//sources/Forums.php
//Найти:
 
function check_access() {
global $ibforums, $HTTP_COOKIE_VARS;

$return = 1;
 
//Заменить на:
 
function check_access() {
global $ibforums, $DB, $HTTP_COOKIE_VARS;

$return = 1;

        if ($ibforums->member['id'] and $this->forum['id'] == 2)
        {
            if ($ibforums->member['g_is_supmod'] == 1)
            {
            $this->forum['read_perms'] = '*';
            }
            else
            {
                $DB->query("SELECT member_name FROM ibf_moderators WHERE member_id='".$ibforums->member['id']."'");
                if ( $DB->fetch_row() )
                {
                $this->forum['read_perms'] = '*';
           }
       }
        }
 
//sources/Topics.php
//Найти:
 
function check_access() {
global $ibforums, $std, $HTTP_COOKIE_VARS;

$return = 1;

$this->m_group = $ibforums->member['mgroup'];
 
//Заменить на:
 
function check_access() {
global $ibforums, $DB, $std, $HTTP_COOKIE_VARS;

$return = 1;

$this->m_group = $ibforums->member['mgroup'];

        if ($ibforums->member['id'] and $this->forum['id'] == 2)
        {
            if ($ibforums->member['g_is_supmod'] == 1)
            {
            $this->forum['read_perms'] = '*';
            }
            else
            {
                $DB->query("SELECT member_name FROM ibf_moderators WHERE member_id='".$ibforums->member['id']."'");
                if ( $DB->fetch_row() )
                {
                $this->forum['read_perms'] = '*';
           }
       }
        }
 
//sources/Post.php
//Найти:
 
        if ($this->forum['read_perms'] != '*')
        {
if (! preg_match("/(^|,)".$ibforums->member['mgroup']."(,|$)/", $this->forum['read_perms'] ) )
{
$std->Error( array( LEVEL => 1, MSG => 'no_view_topic') );
}
         
        }
 
//Выше добавить:
 
        if ($ibforums->member['id'] and $this->forum['id'] == 2)
        {
            if ($ibforums->member['g_is_supmod'] == 1)
            {
            $this->forum['read_perms'] = '*';
            }
            else
            {
                $DB->query("SELECT member_name FROM ibf_moderators WHERE member_id='".$ibforums->member['id']."'");
                if ( $DB->fetch_row() )
                {
                $this->forum['read_perms'] = '*';
           }
       }
        }
 
Что сделать:
['id'] == 2
везде заменить на
['id'] == N
где N - номер форума, который надо мучать. Узнать номер можно так - заходишь в этот форум, и в адресной строке браузера будет примерно такой вот фрагмент:
&SF=4&
тогда номер твоего форума - 4, надо писать ['id'] == 4
 
Шаг второй - направляемся в Админцентр, Forum Control -> Manage и на нужном форуме Edit Permissions. Надо установить всем группам, где есть модераторы (и группе админов) все желаемые права (например, Reply To Topics, Start Topics), НО Read Topics оставить для каждой из этих групп сброшенным! (А то будут читать все подряд...)
 
Жду баг репорты.

----------
Русская поддержка по IP.Board на IBResource.ru.
Для счастья нужно: национальный трекер и поисковик!

Всего записей: 1114 | Зарегистр. 13-11-2002 | Отправлено: 23:12 26-03-2003
DAISHI

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
theIggs
Спасибо огромное!
Как только дойдет дело до багов - сообщу дополнительно .
PS: Предлагаю название хака:
'Don't read it!'

Всего записей: 45 | Зарегистр. 08-02-2003 | Отправлено: 02:17 27-03-2003
Oska

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Также есть хак называется Individual User Permisions. Название говорит само за себя. Ищите тут:
 
http://www.ibresource.com/?pg=db&act=search

Всего записей: 45 | Зарегистр. 02-05-2002 | Отправлено: 07:32 27-03-2003
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Invision Board » Вход только по никам


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru