Это огромная работа, результат которой не стоит затраченных усилий.
Вот именно поэтому я и задал вопрос, поскольку пришел к выводу, что самостоятельное написание подобного модуля нерентабельно, но и не очень сложно (хотя может и не вижу подводных камней).
Обидно!
Если я правильно разобрался, то система доступа к нодам в друпале под мои нужды совершенно не подходит И строить доступ к нодам при мультисайтинге стандартными средствами нереально.
просто не задавайте в начале на ноду никаких особых прав и откройте её для чтения всем кому нужно (возможно на странице permissions).
На странице permissions - на эту тему есть только одна галочка "доступ к содержанию сайта" но ее действие подменяется для конкретной ноды, берущееся из таблицы node_access.
У меня ситуация в том, что мультисайтинг и нода создается и открывается не обязательно на своем сайте. Таблица node_access естественно для каждого сайта своя. Есть свой модуль, который пишет права по нужным мне условиям. После глобального обновления прав доступа все работает на всех сайтах, после добавления новой ноды к ней права добавляются только на родительском сайте, а на остальных она получается недоступной (до обновления прав доступа).
Если в таблице node_access пишем строку
0 0 all 1 0 0
то это для всех нод, и все остальные условия игнорируются (или я не прав?)
а как сделать, чтобы только для тех у которых не прописаны условия?
Объясняю чтобы было понятнее.
Как минимум мне надо, чтобы к связке "Роль" - "Тип материала" добавился третий параметр - "сайт создания".
Например "Роль 1" имеет право на сайте "А" редактировать "новость" сознанную на сайте "А" и "В", но не имеет право редактировать "новость" созданную на сайте "С" и не может просматривать "новость" созданную на сайте "D". Такое возможно при использовании Domain Access + ACL + Content Access?
Для разных доменов (поддоменов) можно настроить свои таблицы.
На поддоменах - копии таблицы users_roles с префиксами domain_id_
Настраивается по адресу /admin/build/domain/prefix/[did]
Computed field
Мне нужно было сохранять base_url на котором создана нода и чтобы потом не менялось, код был такой. В вашем случае нужно видимо немного изменить.
У меня в связке Domain Access + ACL + Content Access работает
А какая механика работы в этой связке в отношении таблицы node_access?
Она для каждого сайта своя?
В какой момент происходит ее заполнение на всех сайтах при создании нового документа на одном из сайтов?
Пока вопросы остаются
1. и 2. - в Друпал 5 была функция db_next_id($name) в 6-ом ее нет, как узнавать id последней записи в таблице?
3. Есть функция node_access_acquire_grants($node) но она входным аргументом требует $node, а у меня есть только $node->nid, и загрузить всю ноду нереально поскольку к самой ноде данному пользователю доступ запрещен.
Не совсем понял как реализовать необходимое с помощью данных модулей. Объясню задачу подробнее. При регистрации пользователь должен получить некий набор прав на всех сайтах (от сайта к сайту они могут отличаться в зависимости от присваиваемых ролей). В случае если пользователь провинился на каком либо из сайтов, то у него права отбираются на конкретном сайте и это никак не должно отразиться на него возможностях на других сайтах.
Как получить дату последнего редактирования документа?
Можно чуть поподробнее? Я правильно понимаю, что до того как выцеплять nid, еще нужно понять, что это нода, а в комменте соответственно выцеплять cid?
Как получить дату последнего редактирования документа?
Воспроизведение музыки. (решено)
Сорри, сделал и забыл как страшный сон. Сейчас попытался вспомнить и не смог...
Как правильно определить наличие файла? (решено)
еще раз огромное спасибо! все заработало!
Как правильно определить наличие файла? (решено)
фоновые рисунки. Поиск модуля.
Вот именно поэтому я и задал вопрос, поскольку пришел к выводу, что самостоятельное написание подобного модуля нерентабельно, но и не очень сложно (хотя может и не вижу подводных камней).
фоновые рисунки. Поиск модуля.
Нужно не определенного типа, а
для каждого конкретного документадля каждой страницы сайта, и не важно документ это или выборка views.фоновые рисунки. Поиск модуля.
Может не совсем понятно написал что требуется...
Пользователь без знания CSS и HTML должен иметь возможность создавать страницы подобные такой
http://nr-art.com/index.php?option=com_joomgallery&view=category&catid=6...
Смотрим не на объекты галереи, а на фон.
Как пересоздать права доступа к отдельно взятой ноде?
Обидно!
Если я правильно разобрался, то система доступа к нодам в друпале под мои нужды совершенно не подходит И строить доступ к нодам при мультисайтинге стандартными средствами нереально.
Как пересоздать права доступа к отдельно взятой ноде?
На странице permissions - на эту тему есть только одна галочка "доступ к содержанию сайта" но ее действие подменяется для конкретной ноды, берущееся из таблицы node_access.
Как пересоздать права доступа к отдельно взятой ноде?
У меня ситуация в том, что мультисайтинг и нода создается и открывается не обязательно на своем сайте. Таблица node_access естественно для каждого сайта своя. Есть свой модуль, который пишет права по нужным мне условиям. После глобального обновления прав доступа все работает на всех сайтах, после добавления новой ноды к ней права добавляются только на родительском сайте, а на остальных она получается недоступной (до обновления прав доступа).
Как пересоздать права доступа к отдельно взятой ноде?
Спасибо! А можно чуть подробнее как
Если в таблице node_access пишем строку
0 0 all 1 0 0
то это для всех нод, и все остальные условия игнорируются (или я не прав?)
а как сделать, чтобы только для тех у которых не прописаны условия?
Мультисайтинг и права доступа.
Объясняю чтобы было понятнее.
Как минимум мне надо, чтобы к связке "Роль" - "Тип материала" добавился третий параметр - "сайт создания".
Например "Роль 1" имеет право на сайте "А" редактировать "новость" сознанную на сайте "А" и "В", но не имеет право редактировать "новость" созданную на сайте "С" и не может просматривать "новость" созданную на сайте "D". Такое возможно при использовании Domain Access + ACL + Content Access?
Мультисайтинг и права доступа.
Как подставить в поле ноды значение из URL?
Computed field
Мне нужно было сохранять base_url на котором создана нода и чтобы потом не менялось, код был такой. В вашем случае нужно видимо немного изменить.
Мультисайтинг и права доступа.
А какая механика работы в этой связке в отношении таблицы node_access?
Она для каждого сайта своя?
В какой момент происходит ее заполнение на всех сайтах при создании нового документа на одном из сайтов?
Мультисайтинг и права доступа.
нет.
Мультисайтинг и права доступа.
Пока вопросы остаются
1. и 2. - в Друпал 5 была функция db_next_id($name) в 6-ом ее нет, как узнавать id последней записи в таблице?
3. Есть функция node_access_acquire_grants($node) но она входным аргументом требует $node, а у меня есть только $node->nid, и загрузить всю ноду нереально поскольку к самой ноде данному пользователю доступ запрещен.
А есть ли возможность изменить текст письма при регистрации?
Решил отправкой второго письма. ИМХО это не хорошо, но все молчат
Поиск функции (решено)
Огромное Спасибо! Функцию знал, но думал, что она только для активного пользователя.
А есть ли возможность изменить текст письма при регистрации?
Присвоение ролей при регистрации и мультисайтинг
Присвоение ролей при регистрации и мультисайтинг
Не совсем понял как реализовать необходимое с помощью данных модулей. Объясню задачу подробнее. При регистрации пользователь должен получить некий набор прав на всех сайтах (от сайта к сайту они могут отличаться в зависимости от присваиваемых ролей). В случае если пользователь провинился на каком либо из сайтов, то у него права отбираются на конкретном сайте и это никак не должно отразиться на него возможностях на других сайтах.
Подскажите по управлению пользователями (решено)
Вдруг кому еще пригодится. Role Delegation позволяет назначать пользователям роли без их администрирования.
Права доступа. Что я делаю не правильно?
Вроде разобрался и сделал как хотел. Осталась маленькая деталь, которую никак не соображу как правильно сделать.