class views_plugin_row_watchdog_rss in Views Watchdog 7.3
Same name and namespace in other branches
- 6.3 views/plugins/views_plugin_row_watchdog_rss.inc \views_plugin_row_watchdog_rss
- 6 views/plugins/views_plugin_row_watchdog_rss.inc \views_plugin_row_watchdog_rss
- 6.2 views/plugins/views_plugin_row_watchdog_rss.inc \views_plugin_row_watchdog_rss
Formats watchdog events as RSS items.
Hierarchy
- class \views_object
- class \views_plugin
- class \views_plugin_row
- class \views_plugin
Expanded class hierarchy of views_plugin_row_watchdog_rss
1 string reference to 'views_plugin_row_watchdog_rss'
- views_watchdog_views_plugins in views/
views_watchdog.views.inc - Implements of hook_views_plugins
File
- views/
plugins/ views_plugin_row_watchdog_rss.inc, line 14 - Views row plugin for the views_watchdog module.
View source
class views_plugin_row_watchdog_rss extends views_plugin_row {
var $base_table = 'watchdog';
var $base_field = 'wid';
function option_definition() {
$options = parent::option_definition();
$options['watchdog_rss_type'] = array(
'default' => 'default',
);
$options['watchdog_rss_title'] = array(
'default' => '[severity] - [type]',
);
return $options;
}
function options_form(&$form, &$form_state) {
$form['watchdog_rss_type'] = array(
'#type' => 'select',
'#title' => t('Display type'),
'#description' => t('The title includes the severity level and system event type.'),
'#default_value' => !empty($this->options['watchdog_rss_type']) ? $this->options['watchdog_rss_type'] : 'default',
'#options' => array(
'fulltext' => t('Title plus message'),
'title' => t('Title only'),
'default' => t('Use default RSS settings'),
),
);
$form['watchdog_rss_title'] = array(
'#type' => 'textfield',
'#title' => t('Title'),
'#description' => t('Alter the output of this field by specifying a string of text with replacement tokens. Replacement patterns: [type], [severity], [hostname]'),
'#default_value' => !empty($this->options['watchdog_rss_title']) ? $this->options['watchdog_rss_title'] : '[severity] - [type]',
);
}
function render($row) {
global $base_url;
$wid = $row->{$this->field_alias};
if (!is_numeric($wid)) {
return;
}
$rss_type = $this->options['watchdog_rss_type'];
if ($rss_type == 'default') {
$rss_type = variable_get('feed_item_length', 'teaser');
}
$watchdog = db_query('SELECT w.wid, w.type, w.message, w.variables, w.severity, w.hostname, w.timestamp, u.name FROM {watchdog} w LEFT JOIN {users} u ON w.uid = u.uid WHERE w.wid = :wid', array(
':wid' => $wid,
))
->fetchObject();
$title_tokens = array(
'[type]',
'[severity]',
'[hostname]',
);
$title_values = array(
$watchdog->type,
_views_watchdog_get_severity($watchdog->severity, 'title'),
$watchdog->hostname,
);
$watchdog->rss_elements = array(
array(
'key' => 'pubDate',
'value' => gmdate('r', $watchdog->timestamp),
),
array(
'key' => 'dc:creator',
'value' => $watchdog->name,
),
array(
'key' => 'guid',
'value' => $watchdog->wid . ' at ' . $base_url,
'attributes' => array(
'isPermaLink' => 'false',
),
),
);
$watchdog->rss_namespaces = array(
'xmlns:dc' => 'http://purl.org/dc/elements/1.1/',
);
$this->view->style_plugin->namespaces = array_merge($this->view->style_plugin->namespaces, $watchdog->rss_namespaces);
$item = new stdClass();
$item->title = check_plain(str_replace($title_tokens, $title_values, $this->options['watchdog_rss_title']));
$item->description = $rss_type == 'fulltext' || $rss_type == 'teaser' ? _views_watchdog_format_message($watchdog->message, $watchdog->variables) : '';
$item->link = url('admin/reports/event/' . $watchdog->wid, array(
'absolute' => TRUE,
));
$item->wid = $watchdog->wid;
$item->elements = $watchdog->rss_elements;
return theme($this
->theme_functions(), array(
'view' => $this->view,
'options' => $this->options,
'row' => $item,
));
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
views_object:: |
public | property | Handler's definition. | |
views_object:: |
public | property | Except for displays, options for the object will be held here. | 1 |
views_object:: |
function | Collect this handler's option definition and alter them, ready for use. | ||
views_object:: |
public | function | Views handlers use a special construct function. | 4 |
views_object:: |
public | function | Destructor. | 2 |
views_object:: |
public | function | 1 | |
views_object:: |
public | function | ||
views_object:: |
public | function | Always exports the option, regardless of the default value. | |
views_object:: |
public | function | Set default options on this object. | 1 |
views_object:: |
public | function | Set default options. | |
views_object:: |
public | function | Let the handler know what its full definition is. | |
views_object:: |
public | function | Unpack options over our existing defaults, drilling down into arrays so that defaults don't get totally blown away. | |
views_object:: |
public | function | Unpack a single option definition. | |
views_object:: |
public | function | Unpacks each handler to store translatable texts. | |
views_object:: |
public | function | ||
views_plugin:: |
public | property | The current used views display. | |
views_plugin:: |
public | property | The plugin name of this plugin, for example table or full. | |
views_plugin:: |
public | property | The plugin type of this plugin, for example style or query. | |
views_plugin:: |
public | property |
The top object of a view. Overrides views_object:: |
1 |
views_plugin:: |
public | function | Provide a list of additional theme functions for the theme info page. | |
views_plugin:: |
public | function | Return the human readable name of the display. | |
views_plugin:: |
public | function | Returns the summary of the settings in the display. | 8 |
views_plugin:: |
public | function | Provide a full list of possible theme templates used by this style. | |
views_plugin:: |
public | function | Validate that the plugin is correct and can be saved. | 3 |
views_plugin_row:: |
public | function | 2 | |
views_plugin_row:: |
public | function |
Perform any necessary changes to the form values prior to storage.
There is no need for this function to actually store the data. Overrides views_plugin:: |
1 |
views_plugin_row:: |
public | function |
Validate the options form. Overrides views_plugin:: |
|
views_plugin_row:: |
public | function | Allow the style to do stuff before each row is rendered. | 5 |
views_plugin_row:: |
public | function |
Add anything to the query that we might need to. Overrides views_plugin:: |
|
views_plugin_row:: |
public | function | ||
views_plugin_row_watchdog_rss:: |
property | |||
views_plugin_row_watchdog_rss:: |
property | |||
views_plugin_row_watchdog_rss:: |
function |
Provide a form for setting options. Overrides views_plugin_row:: |
||
views_plugin_row_watchdog_rss:: |
function |
Information about options for all kinds of purposes will be held here. Overrides views_plugin_row:: |
||
views_plugin_row_watchdog_rss:: |
function |
Render a row object. This usually passes through to a theme template
of some form, but not always. Overrides views_plugin_row:: |