Как взять все права юзара №1?

Главные вкладки

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 9 декабря 2010 в 18:40

Задача организовать демосайт. Юзеры смогут входить с ролью demo и творить всё, что вздумается ПОЧТИ как админ

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

Хочу сделать модуль, который бы брал права админа (другими словами, забирал бы все доступные права всех модулей), отсеивал те, что связаны с безопасностью и автоматически апдейтил роль demo

Как взять все права юзера с ID 1? Смотрел в БД по role Id, у суперадмина её конечно же нет.

Комментарии

Аватар пользователя annya annya 9 декабря 2010 в 19:16

А по какому принципу, отсеиваются те права которые связаны с безопасносьтю, а какие нет?
И модули не будете же вы ставить каждый день по 50 штук? И роль только одна, так что работы не так уж много. Зачем это автоматически делать?

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 9 декабря 2010 в 20:48

"annya" wrote:
А по какому принципу, отсеиваются те права которые связаны с безопасносьтю, а какие нет?

По своему усмотрению.

"annya" wrote:
И модули не будете же вы ставить каждый день по 50 штук?

Нет, но я стараюсь следовать принципу "поставил и забИл"

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 9 декабря 2010 в 20:51

Вообщем, нашёл я такую функцию

<?phpmodule_invoke_all('perm');?>

Возвращает массив прав. Одно НО. у меня галочек на странице настроек прав на 200 строк, а эта функция возвращает 85 . Хз почему

Аватар пользователя annya annya 9 декабря 2010 в 20:58

а модулей - 85? Каждый модуль может реализовывать несколько пермишенов в виде
return array('perm1', 'perm2', 'perm3'). Такое мое предположение.

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 9 декабря 2010 в 21:05

"annya" wrote:
Каждый модуль может реализовывать несколько пермишенов в виде
return array('perm1', 'perm2', 'perm3'). Такое мое предположение.

Да, наверно так и есть

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 10 декабря 2010 в 0:25

Вообщем непонятно.

<?php

module_invoke_all

('perm');

?>

походу работает не так как надо. От каких то, совершенно разных, модулей права есть, от каких то нет.