Forum. MyNuke.ru

Forum. MyNuke.ru (http://forum.mynuke.ru/index.php)
-   Настройка и Изменение (http://forum.mynuke.ru/forumdisplay.php?f=11)
-   -   много интересных вопросов (может только для меня?) (http://forum.mynuke.ru/showthread.php?t=506)

kim 05.08.2005 20:18

много интересных вопросов (может только для меня?)
 
1. Создано несколько групп пользователей: Group_1, Group_2, Group_3.
Как распределить несколько пользователей по этим группам через Нюку не
используя там всякие наборы баллов? Ручками так сказать определить
пользователям группу.
2. Есть секция Download, в ней есть разделы: Razdel_1, Razdel_2, Razdel_3. Как сделать так чтобы Razdel_1 был виден только Group_1 и никому больше? И так по аналогии с другими разделами для групп.
3. Как сделать так чтобы разным пользователям разных групп показывалась разная начальная страница и меню? Вообще разные версии сайта для разных пользователей и групп?
4. Как сделать так чтобы разным пользователям разных групп на форуме показывались не все темы а только те которые им определит для просмотра администратор?
:oooo:

Soniks 05.08.2005 20:38

kim
1. http://forum.mynuke.ru/showthread.php?t=279
2. делать проверку в модуле по анологии как это устроино в файле modules.php при проверке доступа к модулю конкретной группы.
3. Ну к примеру написать отдельный модуль и сделать там проверку на группы, и вывод информации зависищая от группы в которую входит данный пользователь.
4. в форуме есть отдельные настройки групп, там можно задать права конкретной группы разделу форума.

kim 05.08.2005 21:40

С первым вопросом понятно - создал, сделал.
Со вторым вопросом нифига не получается :sad:
Один юзер в групе, у которой по идее есть доступ к скачке. Второй юзер просто зарегистрирован но не в группе.
В правах доступа к модулю определен доступ зарегистрированным пользователям плюс группе. На деле оказывается, что доступ получают и те кто в группе и те кто не в группе. Как быть??? :englishma
И если не сочтете за труд, подскажите где примерно делать проверку чтобы определенной группе выводилась своя категория в разделе скачки и никакая больше. В каком месте файла, ну и небольшая помощь от вас. Просто пока в нюке мало понимаю, но пхп хорошо знаю.

Soniks 05.08.2005 23:46

kim
насчет доступа только группы а не пользователя, найди в файлу modules.php
PHP код:
 } else if ($view == AND (is_user($user) OR is_group($user$name)) OR is_admin($admin)) { 

и замени на:
PHP код:
 } else if ($view == AND (is_user($user) AND is_group($user$name)) OR is_admin($admin)) { 


а насчет Даунлода, то это надо добавить проверку в скажем функцию index() (может и в другую придется)
напримет такую:
перед первым $sql запросома из таблицы _downloads_categories
добавить проверку типа:

PHP код:
 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 >= 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' добавляем:
PHP код:
 AND cid IN ($cid_t

в принципе все.

kim 07.08.2005 04:21

На счет даунлоада все помогло. Теперь пользователям только определенной группы видны только им назначенные разделы. Только маленькое дополнение:
вместо
PHP код:
 global $user$cookie$admin

надо
PHP код:
 global $user$cookie$admin$user_prefix

Плюс дополнительная проверка на баллы для групп. И все работает.
Авот относительно первой части поста - я ничего не понял!!!???

Soniks 07.08.2005 18:25

kim в что именно не понятно? я же не телепат...

kim 08.08.2005 08:27

насчет доступа только группы а не пользователя, найди в файлу modules.php
...
и замени на:

Soniks 08.08.2005 10:48

kim ну так выполните и будет у вас доступ по указанным группам


Часовой пояс GMT +4, время: 20:50.

Copyright © 2005 by Soniks