Добрый день, помогите пожалуйста, пытаюсь создать свой access plugin во Views, цель которого проверка доступа к представлению на основе членства пользователя в указаном перечне групп OG модуля
Если подробнее, то на сайте установлен OG модуль, создано множество группы, и пользователи всячески размещены в данных группах. С помощью Views создаются определенные страницы представлений, и доступ к ним нужно разграничиватьна основе членства текущего пользователя в перечне групп указаных в настройках вьюхи
Модуль у меня представляет следующее:
intranet.info
<?php
name = Intranet
description = Main module of intranet sites
package = Intranet
version = 7.x-1.0
core = 7.x
dependencies[] = views
files[] = intranet.views.inc
?>
intranet.module
<?php
function intranet_views_api() {
return array(
'api' => 3,
);
}
function
intranet_og($account = NULL) {
global $user;
$gids = explode(",", $group_ids);
foreach ($gids as $gid) {
if (og_is_member('node', $gid, 'user', $user->uid)) {
return TRUE;
}
}
}
?>
intranet.views.inc
<?php
function intranet_views_plugins() {
$plugins = array(
'access' => array(
'test' => array(
'title' => t('OG membership'),
'help' => t('Check access by user memberships of Organic group nodes.'),
'handler' => 'intranet_og_access_plugin',
),
),
);
return $plugins;
}
class
intranet_og_access_plugin extends views_plugin_access {
function
summary_title() {
return t('Intranet OG access plugin');
}
function
access($account) {
return intranet_og($account);
}
function
get_access_callback() {
return array('intranet_og', array());
}
}
?>
Вопрос в том, как можно сделать так, чтобы в настройках доступа у вьюхи появилось ещё текстовое поле, в котором я бы мог перечислить через запятую NID-ы, которые в свою очередь бы поместились в переменную $group_ids и участвовали далее в коде плагина
p.s. почему то синтаксис бажит, перенос строк после function местами
Комментарии
https://www.drupal.org/project/og_views_permissions - никак?
нет, там не членство, а на основе прав текущего пользователя в группах