merged feedback submodule
This commit is contained in:
184
sites/all/modules/contrib/users/feedback/views/feedback.views.inc
Executable file
184
sites/all/modules/contrib/users/feedback/views/feedback.views.inc
Executable file
@@ -0,0 +1,184 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Provides views integration.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Implements hook_views_data().
|
||||
*/
|
||||
function feedback_views_data() {
|
||||
$data['feedback']['table']['group'] = t('Feedback');
|
||||
$data['feedback']['table']['base'] = array(
|
||||
'field' => 'fid',
|
||||
'title' => t('Feedback'),
|
||||
'help' => t('Feedback messages submitted to the site.'),
|
||||
);
|
||||
$data['feedback']['table']['join']['users'] = array(
|
||||
'left_field' => 'uid',
|
||||
'field' => 'uid',
|
||||
);
|
||||
$data['feedback']['fid'] = array(
|
||||
'title' => t('Feedback ID'),
|
||||
'help' => t('The primary identifier for a feedback message.'),
|
||||
'field' => array(
|
||||
'handler' => 'views_handler_field_numeric',
|
||||
),
|
||||
'filter' => array(
|
||||
'handler' => 'views_handler_filter_numeric',
|
||||
),
|
||||
'argument' => array(
|
||||
'handler' => 'views_handler_argument_numeric',
|
||||
),
|
||||
'sort' => array(
|
||||
'handler' => 'views_handler_sort_numeric',
|
||||
),
|
||||
);
|
||||
$data['feedback']['view_entry'] = array(
|
||||
'field' => array(
|
||||
'title' => t('Link'),
|
||||
'help' => t('Provide a simple link to the feedback entry.'),
|
||||
'handler' => 'feedback_handler_field_feedback_link',
|
||||
),
|
||||
);
|
||||
$data['feedback']['view_entry_delete'] = array(
|
||||
'field' => array(
|
||||
'title' => t('Delete entry'),
|
||||
'help' => t('Provide a simple link to delete the feedback entry.'),
|
||||
'handler' => 'feedback_handler_field_feedback_link_delete',
|
||||
),
|
||||
);
|
||||
$data['feedback']['view_entry_edit'] = array(
|
||||
'field' => array(
|
||||
'title' => t('Edit entry'),
|
||||
'help' => t('Provide a simple link to the edit feedback entry.'),
|
||||
'handler' => 'feedback_handler_field_feedback_link_edit',
|
||||
),
|
||||
);
|
||||
$data['feedback']['uid'] = array(
|
||||
'title' => t('User Id'),
|
||||
'help' => t('The user id of the author of a feedback message.'),
|
||||
'relationship' => array(
|
||||
'base' => 'users',
|
||||
'base field' => 'uid',
|
||||
'handler' => 'views_handler_relationship',
|
||||
'label' => t('User'),
|
||||
),
|
||||
);
|
||||
$data['feedback']['status'] = array(
|
||||
'title' => t('Status'),
|
||||
'help' => t('The status of a feedback message.'),
|
||||
'field' => array(
|
||||
'handler' => 'views_handler_field_boolean',
|
||||
'click sortable' => TRUE,
|
||||
),
|
||||
'filter' => array(
|
||||
'handler' => 'views_handler_filter_boolean_operator',
|
||||
'label' => t('Feedback status is processed'),
|
||||
'type' => 'yes-no',
|
||||
),
|
||||
'argument' => array(
|
||||
'handler' => 'views_handler_argument_boolean',
|
||||
),
|
||||
'sort' => array(
|
||||
'handler' => 'views_handler_sort',
|
||||
),
|
||||
);
|
||||
$data['feedback']['message'] = array(
|
||||
'title' => t('Message'),
|
||||
'help' => t('The actual feedback message.'),
|
||||
'field' => array(
|
||||
'handler' => 'views_handler_field',
|
||||
),
|
||||
'filter' => array(
|
||||
'handler' => 'views_handler_filter_string',
|
||||
),
|
||||
'sort' => array(
|
||||
'handler' => 'views_handler_sort',
|
||||
),
|
||||
);
|
||||
$data['feedback']['location'] = array(
|
||||
'title' => t('Location'),
|
||||
'help' => t('The internal Drupal path of the page the feedback message was submitted on.'),
|
||||
'field' => array(
|
||||
'handler' => 'views_handler_field_url',
|
||||
'click sortable' => TRUE,
|
||||
),
|
||||
'filter' => array(
|
||||
'handler' => 'views_handler_filter_string',
|
||||
),
|
||||
'argument' => array(
|
||||
'handler' => 'views_handler_argument_string',
|
||||
),
|
||||
'sort' => array(
|
||||
'handler' => 'views_handler_sort',
|
||||
),
|
||||
);
|
||||
$data['feedback']['location_masked'] = array(
|
||||
'title' => t('Location Masked'),
|
||||
'help' => t('The masked Drupal path of the page the feedback message was submitted on.'),
|
||||
'field' => array(
|
||||
'handler' => 'views_handler_field_url',
|
||||
'click sortable' => TRUE,
|
||||
),
|
||||
'filter' => array(
|
||||
'handler' => 'views_handler_filter_string',
|
||||
),
|
||||
'argument' => array(
|
||||
'handler' => 'views_handler_argument_string',
|
||||
),
|
||||
'sort' => array(
|
||||
'handler' => 'views_handler_sort',
|
||||
),
|
||||
);
|
||||
$data['feedback']['url'] = array(
|
||||
'title' => t('URL'),
|
||||
'help' => t('The absolute URL of the page the feedback message was submitted on.'),
|
||||
'field' => array(
|
||||
'handler' => 'views_handler_field_url',
|
||||
'click sortable' => TRUE,
|
||||
),
|
||||
'filter' => array(
|
||||
'handler' => 'views_handler_filter_string',
|
||||
),
|
||||
'argument' => array(
|
||||
'handler' => 'views_handler_argument_string',
|
||||
),
|
||||
'sort' => array(
|
||||
'handler' => 'views_handler_sort',
|
||||
),
|
||||
);
|
||||
$data['feedback']['useragent'] = array(
|
||||
'title' => t('User agent'),
|
||||
'help' => t('The user agent of the feedback message author.'),
|
||||
'field' => array(
|
||||
'handler' => 'views_handler_field',
|
||||
'click sortable' => TRUE,
|
||||
),
|
||||
'filter' => array(
|
||||
'handler' => 'views_handler_filter_string',
|
||||
),
|
||||
'sort' => array(
|
||||
'handler' => 'views_handler_sort',
|
||||
),
|
||||
);
|
||||
$data['feedback']['timestamp'] = array(
|
||||
'title' => t('Timestamp'),
|
||||
'help' => t('The UNIX timestamp when the feedback message was created.'),
|
||||
'field' => array(
|
||||
'click sortable' => TRUE,
|
||||
'handler' => 'views_handler_field_date',
|
||||
),
|
||||
'filter' => array(
|
||||
'handler' => 'views_handler_filter_date',
|
||||
),
|
||||
'argument' => array(
|
||||
'handler' => 'views_handler_argument_date',
|
||||
),
|
||||
'sort' => array(
|
||||
'handler' => 'views_handler_sort_date',
|
||||
),
|
||||
);
|
||||
return $data;
|
||||
}
|
250
sites/all/modules/contrib/users/feedback/views/feedback.views_default.inc
Executable file
250
sites/all/modules/contrib/users/feedback/views/feedback.views_default.inc
Executable file
@@ -0,0 +1,250 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Contains default views on behalf of the feedback module.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Implements hook_views_default_views().
|
||||
*/
|
||||
function feedback_views_default_views() {
|
||||
$view = new view();
|
||||
$view->name = 'feedback_messages';
|
||||
$view->description = 'Override the default feedback messages report.';
|
||||
$view->tag = 'feedback';
|
||||
$view->base_table = 'feedback';
|
||||
$view->human_name = '';
|
||||
$view->core = 0;
|
||||
$view->api_version = '3.0';
|
||||
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
|
||||
|
||||
/* Display: Defaults */
|
||||
$handler = $view->new_display('default', 'Defaults', 'default');
|
||||
$handler->display->display_options['title'] = 'Feedback Messages';
|
||||
$handler->display->display_options['use_more_always'] = FALSE;
|
||||
$handler->display->display_options['access']['type'] = 'perm';
|
||||
$handler->display->display_options['access']['perm'] = 'view feedback messages';
|
||||
$handler->display->display_options['cache']['type'] = 'none';
|
||||
$handler->display->display_options['query']['type'] = 'views_query';
|
||||
$handler->display->display_options['exposed_form']['type'] = 'basic';
|
||||
$handler->display->display_options['pager']['type'] = 'full';
|
||||
$handler->display->display_options['pager']['options']['items_per_page'] = 50;
|
||||
$handler->display->display_options['style_plugin'] = 'table';
|
||||
$handler->display->display_options['style_options']['columns'] = array(
|
||||
'location' => 'location',
|
||||
'timestamp' => 'timestamp',
|
||||
'name' => 'name',
|
||||
'message' => 'message',
|
||||
'useragent' => 'message',
|
||||
'view_entry' => 'message',
|
||||
'view_entry_delete' => 'message',
|
||||
'view_entry_edit' => 'message',
|
||||
);
|
||||
$handler->display->display_options['style_options']['default'] = '-1';
|
||||
$handler->display->display_options['style_options']['info'] = array(
|
||||
'location' => array(
|
||||
'sortable' => 1,
|
||||
'default_sort_order' => 'asc',
|
||||
'align' => '',
|
||||
'separator' => '',
|
||||
'empty_column' => 0,
|
||||
),
|
||||
'timestamp' => array(
|
||||
'sortable' => 1,
|
||||
'default_sort_order' => 'asc',
|
||||
'align' => '',
|
||||
'separator' => '',
|
||||
'empty_column' => 0,
|
||||
),
|
||||
'name' => array(
|
||||
'sortable' => 1,
|
||||
'default_sort_order' => 'asc',
|
||||
'align' => '',
|
||||
'separator' => '',
|
||||
'empty_column' => 0,
|
||||
),
|
||||
'message' => array(
|
||||
'align' => '',
|
||||
'separator' => ' ',
|
||||
'empty_column' => 0,
|
||||
),
|
||||
'useragent' => array(
|
||||
'sortable' => 0,
|
||||
'default_sort_order' => 'asc',
|
||||
'align' => '',
|
||||
'separator' => '',
|
||||
'empty_column' => 0,
|
||||
),
|
||||
'view_entry' => array(
|
||||
'align' => '',
|
||||
'separator' => '',
|
||||
'empty_column' => 0,
|
||||
),
|
||||
'view_entry_delete' => array(
|
||||
'align' => '',
|
||||
'separator' => '',
|
||||
'empty_column' => 0,
|
||||
),
|
||||
'view_entry_edit' => array(
|
||||
'align' => '',
|
||||
'separator' => '',
|
||||
'empty_column' => 0,
|
||||
),
|
||||
);
|
||||
/* Header: Global: Text area */
|
||||
$handler->display->display_options['header']['text']['id'] = 'text';
|
||||
$handler->display->display_options['header']['text']['table'] = 'views';
|
||||
$handler->display->display_options['header']['text']['field'] = 'area';
|
||||
$handler->display->display_options['header']['text']['content'] = 'Open Feedback Messages';
|
||||
$handler->display->display_options['header']['text']['format'] = 'full_html';
|
||||
/* No results behavior: Global: Text area */
|
||||
$handler->display->display_options['empty']['area']['id'] = 'area';
|
||||
$handler->display->display_options['empty']['area']['table'] = 'views';
|
||||
$handler->display->display_options['empty']['area']['field'] = 'area';
|
||||
$handler->display->display_options['empty']['area']['empty'] = TRUE;
|
||||
$handler->display->display_options['empty']['area']['content'] = 'There are no open feedback entries.';
|
||||
$handler->display->display_options['empty']['area']['format'] = 'filtered_html';
|
||||
/* Relationship: Feedback: User Id */
|
||||
$handler->display->display_options['relationships']['uid']['id'] = 'uid';
|
||||
$handler->display->display_options['relationships']['uid']['table'] = 'feedback';
|
||||
$handler->display->display_options['relationships']['uid']['field'] = 'uid';
|
||||
/* Field: Feedback: Location */
|
||||
$handler->display->display_options['fields']['location']['id'] = 'location';
|
||||
$handler->display->display_options['fields']['location']['table'] = 'feedback';
|
||||
$handler->display->display_options['fields']['location']['field'] = 'location';
|
||||
/* Field: Feedback: Timestamp */
|
||||
$handler->display->display_options['fields']['timestamp']['id'] = 'timestamp';
|
||||
$handler->display->display_options['fields']['timestamp']['table'] = 'feedback';
|
||||
$handler->display->display_options['fields']['timestamp']['field'] = 'timestamp';
|
||||
$handler->display->display_options['fields']['timestamp']['label'] = 'Date';
|
||||
$handler->display->display_options['fields']['timestamp']['date_format'] = 'short';
|
||||
/* Field: User: Name */
|
||||
$handler->display->display_options['fields']['name']['id'] = 'name';
|
||||
$handler->display->display_options['fields']['name']['table'] = 'users';
|
||||
$handler->display->display_options['fields']['name']['field'] = 'name';
|
||||
$handler->display->display_options['fields']['name']['relationship'] = 'uid';
|
||||
$handler->display->display_options['fields']['name']['label'] = 'User';
|
||||
/* Field: Feedback: Message */
|
||||
$handler->display->display_options['fields']['message']['id'] = 'message';
|
||||
$handler->display->display_options['fields']['message']['table'] = 'feedback';
|
||||
$handler->display->display_options['fields']['message']['field'] = 'message';
|
||||
$handler->display->display_options['fields']['message']['element_type'] = 'div';
|
||||
/* Field: Feedback: User agent */
|
||||
$handler->display->display_options['fields']['useragent']['id'] = 'useragent';
|
||||
$handler->display->display_options['fields']['useragent']['table'] = 'feedback';
|
||||
$handler->display->display_options['fields']['useragent']['field'] = 'useragent';
|
||||
$handler->display->display_options['fields']['useragent']['label'] = '';
|
||||
$handler->display->display_options['fields']['useragent']['element_type'] = 'div';
|
||||
/* Field: Feedback: Link */
|
||||
$handler->display->display_options['fields']['view_entry']['id'] = 'view_entry';
|
||||
$handler->display->display_options['fields']['view_entry']['table'] = 'feedback';
|
||||
$handler->display->display_options['fields']['view_entry']['field'] = 'view_entry';
|
||||
$handler->display->display_options['fields']['view_entry']['label'] = '';
|
||||
$handler->display->display_options['fields']['view_entry']['element_label_colon'] = FALSE;
|
||||
/* Field: Feedback: Edit entry */
|
||||
$handler->display->display_options['fields']['view_entry_edit']['id'] = 'view_entry_edit';
|
||||
$handler->display->display_options['fields']['view_entry_edit']['table'] = 'feedback';
|
||||
$handler->display->display_options['fields']['view_entry_edit']['field'] = 'view_entry_edit';
|
||||
$handler->display->display_options['fields']['view_entry_edit']['label'] = '';
|
||||
$handler->display->display_options['fields']['view_entry_edit']['element_label_colon'] = FALSE;
|
||||
/* Field: Feedback: Delete entry */
|
||||
$handler->display->display_options['fields']['view_entry_delete']['id'] = 'view_entry_delete';
|
||||
$handler->display->display_options['fields']['view_entry_delete']['table'] = 'feedback';
|
||||
$handler->display->display_options['fields']['view_entry_delete']['field'] = 'view_entry_delete';
|
||||
$handler->display->display_options['fields']['view_entry_delete']['label'] = '';
|
||||
$handler->display->display_options['fields']['view_entry_delete']['element_label_colon'] = FALSE;
|
||||
/* Sort criterion: Feedback: Timestamp */
|
||||
$handler->display->display_options['sorts']['timestamp']['id'] = 'timestamp';
|
||||
$handler->display->display_options['sorts']['timestamp']['table'] = 'feedback';
|
||||
$handler->display->display_options['sorts']['timestamp']['field'] = 'timestamp';
|
||||
/* Filter criterion: Feedback: Status */
|
||||
$handler->display->display_options['filters']['status']['id'] = 'status';
|
||||
$handler->display->display_options['filters']['status']['table'] = 'feedback';
|
||||
$handler->display->display_options['filters']['status']['field'] = 'status';
|
||||
$handler->display->display_options['filters']['status']['value'] = '0';
|
||||
$handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
|
||||
|
||||
/* Display: Open Entries */
|
||||
$handler = $view->new_display('page', 'Open Entries', 'page_1');
|
||||
$handler->display->display_options['defaults']['hide_admin_links'] = FALSE;
|
||||
$handler->display->display_options['defaults']['header'] = FALSE;
|
||||
/* Header: Global: Text area */
|
||||
$handler->display->display_options['header']['text']['id'] = 'text';
|
||||
$handler->display->display_options['header']['text']['table'] = 'views';
|
||||
$handler->display->display_options['header']['text']['field'] = 'area';
|
||||
$handler->display->display_options['header']['text']['empty'] = TRUE;
|
||||
$handler->display->display_options['header']['text']['content'] = '<h3>Open Feedback Messages</h3>';
|
||||
$handler->display->display_options['header']['text']['format'] = 'full_html';
|
||||
$handler->display->display_options['path'] = 'admin/reports/feedback';
|
||||
$handler->display->display_options['menu']['type'] = 'normal';
|
||||
$handler->display->display_options['menu']['title'] = 'Feedback messages';
|
||||
$handler->display->display_options['menu']['description'] = 'View feedback messages.';
|
||||
$handler->display->display_options['menu']['weight'] = '0';
|
||||
$handler->display->display_options['menu']['name'] = 'management';
|
||||
|
||||
/* Display: Processed Entries */
|
||||
$handler = $view->new_display('attachment', 'Processed Entries', 'attachment_1');
|
||||
$handler->display->display_options['defaults']['title'] = FALSE;
|
||||
$handler->display->display_options['defaults']['hide_admin_links'] = FALSE;
|
||||
$handler->display->display_options['pager']['type'] = 'some';
|
||||
$handler->display->display_options['defaults']['header'] = FALSE;
|
||||
/* Header: Global: Text area */
|
||||
$handler->display->display_options['header']['text']['id'] = 'text';
|
||||
$handler->display->display_options['header']['text']['table'] = 'views';
|
||||
$handler->display->display_options['header']['text']['field'] = 'area';
|
||||
$handler->display->display_options['header']['text']['empty'] = TRUE;
|
||||
$handler->display->display_options['header']['text']['content'] = '<h3>Processed Feedback Messages</h3>';
|
||||
$handler->display->display_options['header']['text']['format'] = 'full_html';
|
||||
$handler->display->display_options['defaults']['empty'] = FALSE;
|
||||
/* No results behavior: Global: Text area */
|
||||
$handler->display->display_options['empty']['area']['id'] = 'area';
|
||||
$handler->display->display_options['empty']['area']['table'] = 'views';
|
||||
$handler->display->display_options['empty']['area']['field'] = 'area';
|
||||
$handler->display->display_options['empty']['area']['empty'] = TRUE;
|
||||
$handler->display->display_options['empty']['area']['content'] = 'There are no processed feedback entries.';
|
||||
$handler->display->display_options['empty']['area']['format'] = 'filtered_html';
|
||||
$handler->display->display_options['defaults']['filter_groups'] = FALSE;
|
||||
$handler->display->display_options['defaults']['filters'] = FALSE;
|
||||
/* Filter criterion: Feedback: Status */
|
||||
$handler->display->display_options['filters']['status']['id'] = 'status';
|
||||
$handler->display->display_options['filters']['status']['table'] = 'feedback';
|
||||
$handler->display->display_options['filters']['status']['field'] = 'status';
|
||||
$handler->display->display_options['filters']['status']['value'] = '1';
|
||||
$handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
|
||||
$handler->display->display_options['displays'] = array(
|
||||
'page_1' => 'page_1',
|
||||
'default' => 0,
|
||||
);
|
||||
$handler->display->display_options['attachment_position'] = 'after';
|
||||
$handler->display->display_options['render_pager'] = TRUE;
|
||||
$translatables['feedback_messages'] = array(
|
||||
t('Defaults'),
|
||||
t('Feedback Messages'),
|
||||
t('more'),
|
||||
t('Apply'),
|
||||
t('Reset'),
|
||||
t('Sort by'),
|
||||
t('Asc'),
|
||||
t('Desc'),
|
||||
t('Items per page'),
|
||||
t('- All -'),
|
||||
t('Offset'),
|
||||
t('« first'),
|
||||
t('‹ previous'),
|
||||
t('next ›'),
|
||||
t('last »'),
|
||||
t('Open Feedback Messages'),
|
||||
t('There are no processed feedback entries.'),
|
||||
t('There are no open feedback entries.'),
|
||||
t('User'),
|
||||
t('Location'),
|
||||
t('Date'),
|
||||
t('Message'),
|
||||
t('Page'),
|
||||
t('Attachment'),
|
||||
t('Processed Feedback Messages'),
|
||||
);
|
||||
$views[$view->name] = $view;
|
||||
return $views;
|
||||
}
|
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Field handler to present a link to a feedback entry.
|
||||
*/
|
||||
class feedback_handler_field_feedback_link extends views_handler_field {
|
||||
function construct() {
|
||||
parent::construct();
|
||||
$this->additional_fields['fid'] = 'fid';
|
||||
}
|
||||
|
||||
function option_definition() {
|
||||
$options = parent::option_definition();
|
||||
|
||||
$options['text'] = array('default' => '', 'translatable' => TRUE);
|
||||
|
||||
return $options;
|
||||
}
|
||||
|
||||
function options_form(&$form, &$form_state) {
|
||||
$form['text'] = array(
|
||||
'#type' => 'textfield',
|
||||
'#title' => t('Text to display'),
|
||||
'#default_value' => $this->options['text'],
|
||||
);
|
||||
parent::options_form($form, $form_state);
|
||||
}
|
||||
|
||||
function query() {
|
||||
$this->ensure_my_table();
|
||||
$this->add_additional_fields();
|
||||
}
|
||||
|
||||
function render($values) {
|
||||
$value = $this->get_value($values, 'fid');
|
||||
return $this->render_link($this->sanitize_value($value), $values);
|
||||
}
|
||||
|
||||
function render_link($data, $values) {
|
||||
$this->options['alter']['make_link'] = TRUE;
|
||||
$this->options['alter']['path'] = "admin/reports/feedback/$data";
|
||||
$text = !empty($this->options['text']) ? $this->options['text'] : t('view');
|
||||
return $text;
|
||||
}
|
||||
}
|
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Field handler to present a link to delete a feedback entry.
|
||||
*/
|
||||
class feedback_handler_field_feedback_link_delete extends feedback_handler_field_feedback_link {
|
||||
function render_link($data, $values) {
|
||||
$this->options['alter']['make_link'] = TRUE;
|
||||
$this->options['alter']['path'] = "admin/reports/feedback/$data/delete";
|
||||
$text = !empty($this->options['text']) ? $this->options['text'] : t('delete');
|
||||
return $text;
|
||||
}
|
||||
}
|
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Field handler to present a link to edit a feedback entry.
|
||||
*/
|
||||
class feedback_handler_field_feedback_link_edit extends feedback_handler_field_feedback_link {
|
||||
function render_link($data, $values) {
|
||||
$this->options['alter']['make_link'] = TRUE;
|
||||
$this->options['alter']['path'] = "admin/reports/feedback/$data/edit";
|
||||
$text = !empty($this->options['text']) ? $this->options['text'] : t('edit');
|
||||
return $text;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user