views_php_plugin_access.inc in Views PHP 7
File
plugins/views/views_php_plugin_access.inc
View source
<?php
class views_php_plugin_access extends views_plugin_access {
public function summary_title() {
return t('PHP');
}
public function option_definition() {
$options = parent::option_definition();
$options['php_access'] = array(
'default' => '',
);
return $options;
}
public function options_form(&$form, &$form_state) {
parent::options_form($form, $form_state);
$form += views_php_form_element($this, FALSE, array(
'php_access',
t('Access code'),
t('If the code returns TRUE the requesting user is granted access to the view.'),
FALSE,
), array(
'$view_name' => t('The name of the view to check.'),
'$display_id' => t('The ID of the display to check.'),
'$account' => t('The account to check.'),
));
}
public function options_submit(&$form, &$form_state) {
$form_state['values']['access_options']['php_access'] = $form_state['values']['options']['php_access'];
}
public function access($account) {
if (!empty($this->options['php_access'])) {
return views_php_check_access($this->options['php_access'], $this->view->name, $this->display->id, $account);
}
return TRUE;
}
public function get_access_callback() {
if (!empty($this->options['php_access'])) {
return array(
'views_php_check_access',
array(
$this->options['php_access'],
$this->view->name,
$this->display->id,
),
);
}
return TRUE;
}
}