Форум русской поддержки Joomla!® CMS
27.05.2017, 10:19:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2  Все   Вниз
  Добавить закладку  |  Печать  
Автор

Как добавить новую группу пользователей Joomla

 (Прочитано 115793 раз)
0 Пользователей и 1 Гость смотрят эту тему.
smart
Администратор
*******

Репутация: +1309/-14
Offline Offline

Пол: Мужской
Сообщений: 6850


снова дома...


« : 25.07.2007, 11:28:02 »

«Как известно, в Joomla существует фиксированный набор групп пользователей с заранее предопределенными правами на различные функции системы. Однако при создании сайтов возникают задачи, которые требуют наличия дополнительных групп пользователей со специфическими правами. Наиболее распространенным решением этой задачи является использование компонента-хака JACLPlus, но не всегда это уместно. На прошлой неделе мне пришлось решать подобную задачу и в этой статье я расскажу как это было реализовано.»

Полный текст статьи читаем на Joomlaportal.ru: Добавление новой группы пользователей Joomla

Критика, замечания и пожелания приветствуются!
Записан
 
briz
Захожу иногда
**

Репутация: +5/-0
Offline Offline

Сообщений: 21


« Ответ #1 : 26.07.2007, 09:57:55 »

Профессиональная работа. Действительно, такая фича бывает иногда очень нужна (порой, даже на весьма короткое время): для удаленной совместной работы над каким-либо проектом.
Ждем "продолжение банкета".
А вообще, спасибо за классное расширение, которым, думаю, воспользуются многие.
Записан
VETERINAR
Живу я здесь
******

Репутация: +165/-14
Offline Offline

Пол: Мужской
Сообщений: 868


Kiss my shiny metal ass!


« Ответ #2 : 12.01.2008, 03:19:06 »

Статья замечательная. А Вы не подскажете как сделать возможность создавать пользователей с правами "Editor" только для одного раздела? Это была бы маленькая революция в Joomla Azn
Записан
Sergio111
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 172



« Ответ #3 : 11.03.2008, 16:19:36 »

Спасибо!
Статья просто ослепительная!
Записан
Sergio111
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 172



« Ответ #4 : 11.03.2008, 17:49:05 »

В файле admin.user.php кроме строки, описанной в статье -
Код:
if (!in_array($row->gid,getGIDSChildren($my->gid))) {
которую надо заменить на
Код:
if ($my->gid != 25 && !in_array($row->gid,getGIDSChildren($my->gid))) {
Есть ещё и строка, которая даёт вышеописанную мною ошибку. И она очень похожа на то, о чём Вы пишете.
Код:
else if (($obj->gid == $my->gid && !in_array($my->gid, array(24, 25))) || ($obj->gid && !in_array($obj->gid,getGIDSChildren($my->gid)))) {
$msg .= 'Выне можете '. $actionName .' в `'. $this_group .'`. Только пользователи с высшим уровнем привилегий имеют на это право.';
То же сравнение.
Я заменил на
Код:
else if (($obj->gid == $my->gid && !in_array($my->gid, array(24, 25))) || ($obj->gid && $my->gid != 25 && !in_array($row->gid,getGIDSChildren($my->gid)))) {
$msg .= 'Выне можете '. $actionName .' в `'. $this_group .'`. Только пользователи с высшим уровнем привилегий имеют на это право.';
Ошибка перестала выскакивать


« Последнее редактирование: 11.03.2008, 18:24:09 от Sergio111 » Записан
myorion
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 11


« Ответ #5 : 15.07.2008, 22:20:06 »

Уважаемый, Smart, статья отличная!
Но, я столкнулся с той же проблемой, что и Sergio111:
Уважаемые, подскажите, пожалуйста, следующее.
Я сделал всё, как рекомендуется в статье.
У меня меню "Компоненты " не  выводится - когда я захожу пользователем группы Sales.
В этом проблема.
Крохотные отличия от статьи:
Я назвал группу не DownloadsManager, а Sales.
И компонент, который мне нужен для редактирования пользователем группы Sales - это Virtuemart.
Т.е., я поменял в статье строку
 $this->_mos_add_acl( 'administration', 'edit', 'users', 'downloadsmanager', 'components', 'com_remository' );
на
$this->_mos_add_acl( 'administration', 'edit', 'users', 'downloadsmanager', 'components', 'com_virtuemart' );
и
переменную назвал $canEditVirtuemart а не  $canEditRemository
Подскажите, пожалуйста, почему у меня меню "Компоненты " не  выводится.
однако мне удалось найти маленькую ошибочку в Вашей статье, из-за которой не выводилось меню "Компоненты".
Поясняю:
Эта строка дает доступ к компоненту на уровне edit:
Код:
$this->_mos_add_acl( 'administration', 'edit', 'users', 'downloadsmanager', 'components', 'com_remository' );
а вот эта проверяет имеет ли пользователь доступ к этому компоненту на уровне manage:
Код:
$canEditRemository   = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_remository' );
Вот здесь и не состыковочка получается.
Во-второй строке исправил manage на edit  и все заработало!
Записан
myorion
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 11


« Ответ #6 : 15.07.2008, 22:23:33 »

Кстати, поясните, пожалуйста, в чем разница между edit и manage?
Записан
smart
Администратор
*******

Репутация: +1309/-14
Offline Offline

Пол: Мужской
Сообщений: 6850


снова дома...


« Ответ #7 : 16.07.2008, 10:28:08 »

однако мне удалось найти маленькую ошибочку в Вашей статье, из-за которой не выводилось меню "Компоненты"
хм, да вы правы... действительно опечатка (правда сказать честно не очень понятно как она появилась, бо я писал статью и делал модифкацию одновременно).

В любом случае + в репутацию за внимательность!

Кстати, поясните, пожалуйста, в чем разница между edit и manage?
на самом деле это просто две абстрактные группы прав, смысловую нагрузку они могут иметь только непосредственно в проверках в самом компоненте. На уровне ACL-ядра никакой разницы между этими действиями нет, и иерархии доступных действий тоже нет.
Записан
odessa
Захожу иногда
**

Репутация: +12/-5
Offline Offline

Пол: Мужской
Сообщений: 24

Пью, как лошадь, а напиваюсь, как свинья.


« Ответ #8 : 01.11.2008, 02:26:01 »

А Вы не подскажете как сделать возможность создавать пользователей с правами "Editor" только для одного раздела?

До сих пор остается актуальным вопросмом. ;-)

Очень жаль что в этой ветке никто не поделился ответом на этот вопрос, неужели нет готового решения и каждый выкручивается как может? Или ответ только за wmz ? :-)
Записан
odessa
Захожу иногда
**

Репутация: +12/-5
Offline Offline

Пол: Мужской
Сообщений: 24

Пью, как лошадь, а напиваюсь, как свинья.


« Ответ #9 : 08.11.2008, 13:33:57 »

Пробуй SSRRN Free Content Access Control  http://extensions.joomla.org/component/option,com_mtree/task,viewlink/link_id,5986/Itemid,35/ , мне подошло? только он под 1.5, а не под 1.0.* думаю что в этом же разделе что то для себя найдешь.
Записан
Unknown_error
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 7


« Ответ #10 : 28.11.2008, 12:36:27 »

Здравствуйте, спасибо за статью. присоединяюсь к вопросу: в 1.0.15 будет ли это работать? ( чтобы не начинать код изменять напрасно ),
в разделе новости и проч. я так понимаю тоже можно будет все эти группы видеть новые и открывать им доступ к той или иной статье?

нельзя ли подобное реализовать с помощью community builder ?
нет ли готового компонента для реализации этой функции - добавление новой группы пользователя?
Записан
M.C.
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 34


« Ответ #11 : 25.04.2009, 19:05:48 »

статья отменная, НО.... это пипец, что управление группами и правами групп не включено в админку джумлы... сам только что столкнулся и офигел!!!
Записан
DerGordon
Гость
« Ответ #12 : 23.10.2009, 09:46:24 »

Добрый день.
Сделал всё как в статье написано+рекомендации с форума почитал, внёс изменения.
Меню "Компоненты" не появилось.
Внёс изменения в gacl.class на 177 строке $this->_mos_add_acl( 'administration', 'manage', 'users', 'newgroup', 'components', 'com_datsogallery' ); Пробовал менять 'edit' на 'manage'. Не работает.
Также вносил изменения в mod_fullmenu на 50,51,52 строках и 329,330,331
50-> $canEditDastogallery  = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_datsogallery' );
51-> $canEditContent = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_content' );
52-> $canEditMenus = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_menus' );

329-> $canEditDastogallery  = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_datsogallery' );
329-> $canEditContent = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_content' );
329-> $canEditMenus = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_menus' );
В статье было написано ->
В файле /administrator/modules/mod_fullmenu.php находим строчку:
$canManageUsers   = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_users' );
и добавляем после нее:
$canEditRemository   = $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'components', 'com_remository' );
$canEditContent = $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'components', 'com_content' );
$canEditMenus = $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'components', 'com_menus' );

У меня эта строка встречается в двух местах.
49->              $canManageUsers    = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_users' );
321->            $canManageUsers    = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_users' );

Что можно сделать, чтоб меню "Компоненты" появилось?
Joomla версии 1.0.15 LavraEdition.
Записан
webkruter
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 5


« Ответ #13 : 29.10.2009, 12:57:18 »

Присоединяюсь к просьбе. Очень нужно создать, например, менеджеров для конкретных разделов
И ТИШИНА!
Реально  с этим это поможет очень и облегчит жизнь!
У меня тоже щас такая проблем есть 50 филиалов они должны добовлять новости только в свою категорию и не видеть всё остальное.... Я устал за ними следить! Пока не нашел ничего достойного чтод дать им отдельный логин и пароль и убрать все что им не надо!
Записан
Archy
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 5


« Ответ #14 : 17.11.2009, 02:53:21 »

подскажите как сделать тоже самое в 1.5
Записан
xobot
JoomlaPortal News
***

Репутация: +12/-0
Offline Offline

Пол: Мужской
Сообщений: 126



« Ответ #15 : 17.11.2009, 03:12:37 »

подскажите как сделать тоже самое в 1.5
возможно вам поможет вот эта тема: http://joomlaforum.ru/index.php/topic,30200.0.html
Записан
xander kej
Давно я тут
****

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 233


Keep working


« Ответ #16 : 21.12.2009, 19:34:22 »

У меня такой вопрос.
А как то попроще можно добавить группу, копию Registered? Все такиеже права, только название другое.
Заранее спасибо
Записан
xander kej
Давно я тут
****

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 233


Keep working


« Ответ #17 : 22.12.2009, 14:32:39 »

оказывается для моей цели хватило одного запроса, с изменениями фронтеда
Записан
wypuk
Гость
« Ответ #18 : 25.01.2010, 21:09:53 »

Интересует можно ли расширить количество групп в таблице jos_groups, что бы для пунктов меню и модулей иметь возможность выставлять доступ?
Записан
balalar
Осваиваюсь на форуме
***

Репутация: +1/-1
Offline Offline

Сообщений: 45



« Ответ #19 : 18.02.2010, 23:13:45 »

оказывается для моей цели хватило одного запроса, с изменениями фронтеда
подскажи пожалуйста как сделал
Записан
theWurm
Осваиваюсь на форуме
***

Репутация: +0/-8
Offline Offline

Сообщений: 51


« Ответ #20 : 03.05.2010, 10:45:23 »

оказывается для моей цели хватило одного запроса, с изменениями фронтеда

решение в студию пожалуйстаз...

заранее спасибо!
Записан
givchik
Захожу иногда
**

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 13



« Ответ #21 : 27.05.2010, 18:47:58 »

Прежде всего всем привет, очень признателен за работу которую вы делаете.  Cheesy

Столкнулся с Joomla по необходимости, а теперь сел за изучение программирования, ну как минимум синтаксиса языков. Shocked

Задача которая теплица в моей душе выглядит приблизительно так:
Нужно создать сайт
1. с рядом независимых между собой тем
 - предположительно разные БД, или префиксы БД и организовать это через субдомены,
2. с пользователями этих «сайтов-тем» которые будут иметь сквозную регистрацию,
3. но доступ на редактирование статей только своей темы
 - желательно, правда вопрос насколько воплотимо. Можно воспользоваться, smart, Вашим советом, в Этой теме, и с помощью компонента или в ручную установить права для каждой группы отдельно. Главное что б эти группы были одинаковы для всех сайтов, тогда пользователь который зарегистрировался на сайте попадет в присвоенную ему группу.
4. Туда же приплести форум
 - Самый оптимальный способ на мой взгляд использовать предложение spray07 с элементом «MySQL Auth» в теме «Множество сайтов Joomla с общей базой пользователей».
Возникает только несколько вопросов!
«Поставил phpbb2 , в нем хранится база пользователей, на всех дочерних сайтах поставил этот модуль для внешней авторизации.» - как в таком случае выглядит профиль пользователя на посещенном ним сайте (копируются данные или нет)?
И что делать с Community Builder-ом к примеру?

При такой реализации можно попробовать создать базу пользователе на основном сайте, своего рода просто главной страничке с регистрацией, а на остальных только авторизацию оставить.

Собственно site.com стартовая и на ней происходит основная регистрация (если я правильно вник в смысл слов «Поставил phpbb2 , в нем хранится база пользователей»), а на tema1.site.com и остальных ему подобных, включая форум forum.site.com – авторизация. В таком случае для восстановления пароля или регистрации на этих «сайтах-темах» ссылка на главный site.com

PS: Буду признателен за помощь в решении задачи, коллективным умом – ну к примеру тему под это выделить а там гляди и до «how to» доберемся. drink

Отдельно прошу прощения если влез не в тот топик потому что у меня этот вопрос связан с Joomla 1.5.х просто мысли которые мне понравились находятся здесь и в теме указной выше но там "постить" не получится Sad
« Последнее редактирование: 27.05.2010, 19:07:44 от givchik » Записан
trainer_ussr
Гость
« Ответ #22 : 02.07.2010, 11:57:50 »

В joomla1,5 не работает.
Начиная с самого начала.
Первый пункт - база ругается
Код:
Ошибка
SQL-запрос:

SELECT @ins_id := group_id, @ins_lft := lft, @ins_rgt := rgt
FROM jos_core_acl_aro_groups
WHERE name = @parent_name ;


Ответ MySQL:

#1054 - Unknown column 'group_id' in 'field list'

Вот и вся любовь!
Записан
euginewm
Гость
« Ответ #23 : 17.08.2010, 04:20:13 »

В joomla1,5 не работает.
Начиная с самого начала.
Первый пункт - база ругается
Код:
Ошибка
SQL-запрос:

SELECT @ins_id := group_id, @ins_lft := lft, @ins_rgt := rgt
FROM jos_core_acl_aro_groups
WHERE name = @parent_name ;


Ответ MySQL:

#1054 - Unknown column 'group_id' in 'field list'

Вот и вся любовь!

В 1.5 Вместо Group_id - просто id. Обнаружил путем простого просмотра кода SQL и структуры изменяемой таблицы
Записан
tierex
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 11



« Ответ #24 : 02.09.2010, 21:37:53 »

Всё таки как же с Joomla 1.5?
С базой данных всё ок, а вот даже давать элементарно права на просмотр статей этим созданным группам нет возможности. =(
Кто-нибудь разобрался?
Записан
kubida
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 18


« Ответ #25 : 12.10.2010, 19:31:01 »

Задача для Joomla 1.0

Нужно создать 2 группы с такими же привилегиями как у группы  *  Registered

Цитировать
Registered Зарегистрированные пользователи не могут создавать, редактировать или публиковать информацию на сайте. Они могут добавлять новые ссылки для публикации и они имеют доступ к закрытым участкам сайта, недоступным для гостей. 


Но при логине одна группа видела одни модули и материалы, вторая другие. Чтоб при добавлении материала и меню были Уровень доступа: Участники 1 и Участники 2.
Записан
BRIGADIR
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 58



« Ответ #26 : 09.03.2011, 19:58:01 »

  Здравствуйте  у меня  такой вопрос, тему я прочитал и по ссылочке прошол из первого поста вроде все понятно но хочется сначало убедится прежде чем наломать дров. Мне нужно создать новую группу пользователей  у которых будут точно такиеже права как и у Author но только с другим названием например new group.  Если я все правильно понял то мне нужно сделать такой запрос  SQL.



SET @parent_name = 'Author';
SET @new_name = 'new group';
 
SELECT @ins_id := group_id, @ins_lft := lft, @ins_rgt := rgt
FROM jos_core_acl_aro_groups
WHERE name = @parent_name;
 
SELECT @new_id := MAX(group_id) + 1 FROM jos_core_acl_aro_groups;
 
UPDATE jos_core_acl_aro_groups SET rgt=rgt+2 WHERE rgt>=@ins_rgt;
UPDATE jos_core_acl_aro_groups SET lft=lft+2 WHERE lft>@ins_rgt;
 
INSERT INTO jos_core_acl_aro_groups (group_id,parent_id,name,lft,rgt)
VALUES (@new_id,@ins_id,@new_name,@ins_rgt,@ins_rgt+1);


 Подскажите пожайлуста ато не хочется опять ченить запороть
Записан
Zoyberg
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« Ответ #27 : 28.07.2011, 17:54:18 »

А мог ли кто-нибудь подсказать КАК новичку слабо разбирающемуся в SQL продублировать группу пользователей. конкретно USERS
За излишнюю подробность только спасибо  Smiley
Записан
mobcomm
Гость
« Ответ #28 : 17.11.2011, 18:47:39 »

оказывается для моей цели хватило одного запроса, с изменениями фронтеда
Не поделитесь подробной информацией - как реализовали "А как то попроще можно добавить группу, копию Registered? Все такиеже права, только название другое" ?
Записан
baloon
Давно я тут
****

Репутация: +13/-0
Offline Offline

Пол: Мужской
Сообщений: 376



« Ответ #29 : 07.02.2012, 14:50:02 »

Есть подобная инструкция для версии 1.5?
Записан
Страниц: [1] 2  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet