class FacetapiDependencyRole in Facet API 7
Same name and namespace in other branches
- 6.3 plugins/facetapi/dependency_role.inc \FacetapiDependencyRole
- 7.2 plugins/facetapi/dependency_role.inc \FacetapiDependencyRole
Dependency plugin adding the user role conditions.
The role dependency plugin adds conditions based on the current user's role. Although the backend should handle access control, this plugin can help personalize the search interface based on the user's role by exposing facets to certain users while hiding them from others.
Hierarchy
- class \FacetapiDependency
- class \FacetapiDependencyRole
Expanded class hierarchy of FacetapiDependencyRole
1 string reference to 'FacetapiDependencyRole'
- facetapi_facetapi_dependencies in ./
facetapi.facetapi.inc - Implements hook_facetapi_dependencies().
File
- plugins/
facetapi/ dependency_role.inc, line 16 - The role dependency class.
View source
class FacetapiDependencyRole extends FacetapiDependency {
/**
* Implements FacetapiDependency::execute().
*/
public function execute() {
global $user;
if (1 != $user->uid) {
$roles = array_filter($this->settings['roles']);
if ($roles && !array_intersect_key($user->roles, $roles)) {
return FALSE;
}
}
}
/**
* Overrides FacetapiDependency::settingsForm().
*/
public function settingsForm(&$form, &$form_state) {
$form[$this->id]['roles'] = array(
'#type' => 'checkboxes',
'#title' => t('Show facet for specific roles'),
'#default_value' => $this->settings['roles'],
'#options' => array_map('check_plain', user_roles()),
'#description' => t('Show this facet only for the selected role(s). If you select no roles, the facet will be visible to all users.'),
);
}
/**
* Overrides FacetapiDependency::getDefaultSettings().
*/
public function getDefaultSettings() {
return array(
'roles' => array(),
);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
FacetapiDependency:: |
protected | property | The facet's active items as returned by FacetapiAdapter::getActiveItems(). | |
FacetapiDependency:: |
protected | property | The adapter associated with facet whose dependencies are being checked. | |
FacetapiDependency:: |
protected | property | The facet definition as returned by facetapi_facet_load(). | |
FacetapiDependency:: |
protected | property | The machine name of the plugin associated with this instance. | |
FacetapiDependency:: |
protected | property | An array of dependency settings. | |
FacetapiDependency:: |
public | function | Gets the facet definition as returned by facetapi_facet_load(). | |
FacetapiDependency:: |
public | function | Gets the machine name of the plugin. | |
FacetapiDependency:: |
public | function | Constructs a FacetapiDependency object. | |
FacetapiDependencyRole:: |
public | function |
Implements FacetapiDependency::execute(). Overrides FacetapiDependency:: |
|
FacetapiDependencyRole:: |
public | function |
Overrides FacetapiDependency::getDefaultSettings(). Overrides FacetapiDependency:: |
|
FacetapiDependencyRole:: |
public | function |
Overrides FacetapiDependency::settingsForm(). Overrides FacetapiDependency:: |