views_autorefresh.rules.inc in Views Auto-Refresh 7.2
Same filename and directory in other branches
Rules integration for the views_autorefresh module.
File
views_autorefresh.rules.incView source
<?php
/**
* @file
* Rules integration for the views_autorefresh module.
*/
/**
* Implements hook_rules_action_info().
*/
function views_autorefresh_rules_action_info() {
if (!module_exists('nodejs')) {
return;
}
$items = array();
$items['views_autorefresh'] = array(
'label' => t('Autorefresh a View through Node.js'),
'group' => t('Views Autorefresh'),
'parameter' => array(
'views' => array(
'type' => 'list<integer>',
'label' => t('Views'),
'description' => t('Select one or more views that should refreshed.'),
'options list' => 'views_autorefresh_get_nodejs_views',
),
'context' => array(
'type' => '*',
'label' => t('Context'),
'description' => t('Additional data that can be passed to the message hook (optional).'),
'optional' => TRUE,
),
),
'base' => 'views_autorefresh_rules_process',
);
return $items;
}
/**
* Action: Process and send message to nodejs.
*/
function views_autorefresh_rules_process($views, $context) {
views_autorefresh_nodejs_refresh($views, $context);
}
/**
* Helper function to get all views.
*/
function views_autorefresh_get_nodejs_views() {
$eligible_views = array();
foreach (views_get_enabled_views() as $view) {
foreach ($view->display as $id => $display) {
if ($display->display_plugin == 'default') {
continue;
}
if (isset($display->display_options['header']) && empty($display->display_options['header']['autorefresh'])) {
continue;
}
if (empty($display->display_options['header']) && empty($view->display['default']->display_options['header']['autorefresh'])) {
continue;
}
$eligible_views[$view->name . '-' . $id] = $view->human_name . ' - ' . $display->display_title;
}
}
natsort($eligible_views);
return $eligible_views;
}
Functions
Name![]() |
Description |
---|---|
views_autorefresh_get_nodejs_views | Helper function to get all views. |
views_autorefresh_rules_action_info | Implements hook_rules_action_info(). |
views_autorefresh_rules_process | Action: Process and send message to nodejs. |