View Full Version : много интересных вопросов (может только для меня?)
1. Создано несколько групп пользователей: Group_1, Group_2, Group_3.
Как распределить несколько пользователей по этим группам через Нюку не
используя там всякие наборы баллов? Ручками так сказать определить
пользователям группу.
2. Есть секция Download, в ней есть разделы: Razdel_1, Razdel_2, Razdel_3. Как сделать так чтобы Razdel_1 был виден только Group_1 и никому больше? И так по аналогии с другими разделами для групп.
3. Как сделать так чтобы разным пользователям разных групп показывалась разная начальная страница и меню? Вообще разные версии сайта для разных пользователей и групп?
4. Как сделать так чтобы разным пользователям разных групп на форуме показывались не все темы а только те которые им определит для просмотра администратор?
:oooo:
kim
1. http://forum.mynuke.ru/showthread.php?t=279
2. делать проверку в модуле по анологии как это устроино в файле modules.php при проверке доступа к модулю конкретной группы.
3. Ну к примеру написать отдельный модуль и сделать там проверку на группы, и вывод информации зависищая от группы в которую входит данный пользователь.
4. в форуме есть отдельные настройки групп, там можно задать права конкретной группы разделу форума.
С первым вопросом понятно - создал, сделал.
Со вторым вопросом нифига не получается :sad:
Один юзер в групе, у которой по идее есть доступ к скачке. Второй юзер просто зарегистрирован но не в группе.
В правах доступа к модулю определен доступ зарегистрированным пользователям плюс группе. На деле оказывается, что доступ получают и те кто в группе и те кто не в группе. Как быть??? :englishma
И если не сочтете за труд, подскажите где примерно делать проверку чтобы определенной группе выводилась своя категория в разделе скачки и никакая больше. В каком месте файла, ну и небольшая помощь от вас. Просто пока в нюке мало понимаю, но пхп хорошо знаю.
kim
насчет доступа только группы а не пользователя, найди в файлу modules.php
} else if ($view == 1 AND (is_user($user) OR is_group($user, $name)) OR is_admin($admin)) {
и замени на:
} else if ($view == 1 AND (is_user($user) AND is_group($user, $name)) OR is_admin($admin)) {
а насчет Даунлода, то это надо добавить проверку в скажем функцию index() (может и в другую придется)
напримет такую:
перед первым $sql запросома из таблицы _downloads_categories
добавить проверку типа:
global $user, $cookie, $admin;
cookiedecode($user);
$result = $db->sql_query("SELECT points FROM ".$user_prefix."_users WHERE user_id='$cookie[0]'");
$row = $db->sql_fetchrow($result);
$points = intval($row['points']);
if (($points >= 0 AND $points >= 40) AND is_user($user) OR is_admin($admin)) {
$cid_t = "1,2,3";
}
где,
40 - это чисто очков данной группы.
дальше можно продолжить проверку таким же образом, перечисляя все нужные вам очки, т.е все нужные вам группы и для каждой задовать свои $cid_t
$cid_t - id категории, которая будет видна данной группе.
а далее в сам запрос после WHERE parentid='0' добавляем:
AND cid IN ($cid_t)
в принципе все.
На счет даунлоада все помогло. Теперь пользователям только определенной группы видны только им назначенные разделы. Только маленькое дополнение:
вместо global $user, $cookie, $admin;
надо global $user, $cookie, $admin, $user_prefix;
Плюс дополнительная проверка на баллы для групп. И все работает.
Авот относительно первой части поста - я ничего не понял!!!???
kim в что именно не понятно? я же не телепат...
насчет доступа только группы а не пользователя, найди в файлу modules.php
...
и замени на:
kim ну так выполните и будет у вас доступ по указанным группам
MyNuke.ru