? views-int.patch ? views.patch Index: feedback.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/feedback/feedback.module,v retrieving revision 1.75.2.3 diff -u -p -r1.75.2.3 feedback.module --- feedback.module 27 Jan 2010 22:37:36 -0000 1.75.2.3 +++ feedback.module 31 Dec 2010 05:16:16 -0000 @@ -236,3 +236,10 @@ function feedback_user($op, &$edit, &$ac db_query('UPDATE {feedback} SET uid = 0 WHERE uid = %d', $account->uid); } } + +/** + * Implementation of hook_views_api(); + */ +function feedback_views_api() { + return array('api' => 2.0); +} Index: feedback.views.inc =================================================================== RCS file: feedback.views.inc diff -N feedback.views.inc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ feedback.views.inc 31 Dec 2010 05:16:16 -0000 @@ -0,0 +1,163 @@ + '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']['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; +} Index: feedback.views_default.inc =================================================================== RCS file: feedback.views_default.inc diff -N feedback.views_default.inc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ feedback.views_default.inc 31 Dec 2010 05:16:16 -0000 @@ -0,0 +1,285 @@ +name = 'feedback_messages'; + $view->description = 'Override the default feedback messages report.'; + $view->tag = 'feedback'; + $view->view_php = ''; + $view->base_table = 'feedback'; + $view->is_cacheable = FALSE; + $view->api_version = 2; + $view->disabled = TRUE; /* Edit this to true to make a default view disabled initially */ + $handler = $view->new_display('default', 'Defaults', 'default'); + $handler->override_option('relationships', array( + 'uid' => array( + 'label' => 'User', + 'required' => 0, + 'id' => 'uid', + 'table' => 'feedback', + 'field' => 'uid', + 'relationship' => 'none', + ), + )); + $handler->override_option('fields', array( + 'location' => array( + 'label' => 'Location', + 'alter' => array( + 'alter_text' => 0, + 'text' => '', + 'make_link' => 0, + 'path' => '', + 'link_class' => '', + 'alt' => '', + 'prefix' => '', + 'suffix' => '', + 'target' => '', + 'help' => '', + 'trim' => 0, + 'max_length' => '', + 'word_boundary' => 1, + 'ellipsis' => 1, + 'html' => 0, + 'strip_tags' => 0, + ), + 'empty' => '', + 'hide_empty' => 0, + 'empty_zero' => 0, + 'display_as_link' => 1, + 'exclude' => 0, + 'id' => 'location', + 'table' => 'feedback', + 'field' => 'location', + 'relationship' => 'none', + ), + 'timestamp' => array( + 'label' => 'Date', + 'alter' => array( + 'alter_text' => 0, + 'text' => '', + 'make_link' => 0, + 'path' => '', + 'link_class' => '', + 'alt' => '', + 'prefix' => '', + 'suffix' => '', + 'target' => '', + 'help' => '', + 'trim' => 0, + 'max_length' => '', + 'word_boundary' => 1, + 'ellipsis' => 1, + 'html' => 0, + 'strip_tags' => 0, + ), + 'empty' => '', + 'hide_empty' => 0, + 'empty_zero' => 0, + 'date_format' => 'small', + 'custom_date_format' => '', + 'exclude' => 0, + 'id' => 'timestamp', + 'table' => 'feedback', + 'field' => 'timestamp', + 'relationship' => 'none', + ), + 'name' => array( + 'label' => 'User', + 'alter' => array( + 'alter_text' => 0, + 'text' => '', + 'make_link' => 0, + 'path' => '', + 'link_class' => '', + 'alt' => '', + 'prefix' => '', + 'suffix' => '', + 'target' => '', + 'help' => '', + 'trim' => 0, + 'max_length' => '', + 'word_boundary' => 1, + 'ellipsis' => 1, + 'html' => 0, + 'strip_tags' => 0, + ), + 'empty' => '', + 'hide_empty' => 0, + 'empty_zero' => 0, + 'link_to_user' => 1, + 'overwrite_anonymous' => 0, + 'anonymous_text' => '', + 'exclude' => 0, + 'id' => 'name', + 'table' => 'users', + 'field' => 'name', + 'relationship' => 'uid', + ), + 'message' => array( + 'id' => 'message', + 'table' => 'feedback', + 'field' => 'message', + ), + 'useragent' => array( + 'label' => '', + 'alter' => array( + 'alter_text' => 0, + 'text' => '', + 'make_link' => 0, + 'path' => '', + 'link_class' => '', + 'alt' => '', + 'prefix' => '', + 'suffix' => '', + 'target' => '', + 'help' => '', + 'trim' => 0, + 'max_length' => '', + 'word_boundary' => 1, + 'ellipsis' => 1, + 'html' => 0, + 'strip_tags' => 0, + ), + 'empty' => '', + 'hide_empty' => 0, + 'empty_zero' => 0, + 'exclude' => 0, + 'id' => 'useragent', + 'table' => 'feedback', + 'field' => 'useragent', + 'relationship' => 'none', + ), + )); + $handler->override_option('sorts', array( + 'timestamp' => array( + 'order' => 'ASC', + 'granularity' => 'second', + 'id' => 'timestamp', + 'table' => 'feedback', + 'field' => 'timestamp', + 'relationship' => 'none', + ), + )); + $handler->override_option('filters', array( + 'status' => array( + 'operator' => '=', + 'value' => '0', + 'group' => '0', + 'exposed' => FALSE, + 'expose' => array( + 'operator' => FALSE, + 'label' => '', + ), + 'id' => 'status', + 'table' => 'feedback', + 'field' => 'status', + 'relationship' => 'none', + ), + )); + $handler->override_option('access', array( + 'type' => 'perm', + 'perm' => 'view feedback messages', + )); + $handler->override_option('cache', array( + 'type' => 'none', + )); + $handler->override_option('title', 'Feedback Messages'); + $handler->override_option('header', 'Open feedback messages'); + $handler->override_option('header_format', '1'); + $handler->override_option('header_empty', 0); + $handler->override_option('items_per_page', 50); + $handler->override_option('use_pager', '1'); + $handler->override_option('style_plugin', 'table'); + $handler->override_option('style_options', array( + 'grouping' => '', + 'override' => 1, + 'sticky' => 0, + 'order' => 'asc', + 'columns' => array( + 'location' => 'location', + 'timestamp' => 'timestamp', + 'name' => 'name', + 'message' => 'message', + 'useragent' => 'message', + ), + 'info' => array( + 'location' => array( + 'sortable' => 1, + 'separator' => '', + ), + 'timestamp' => array( + 'sortable' => 1, + 'separator' => '', + ), + 'name' => array( + 'sortable' => 1, + 'separator' => '', + ), + 'message' => array( + 'separator' => '
', + ), + 'useragent' => array( + 'sortable' => 0, + 'separator' => '', + ), + ), + 'default' => '-1', + )); + $handler = $view->new_display('page', 'Page', 'page_1'); + $handler->override_option('path', 'admin/reports/feedback'); + $handler->override_option('menu', array( + 'type' => 'normal', + 'title' => 'Feedback messages', + 'description' => '', + 'weight' => '0', + 'name' => 'navigation', + )); + $handler->override_option('tab_options', array( + 'type' => 'none', + 'title' => '', + 'description' => '', + 'weight' => 0, + 'name' => 'navigation', + )); + $handler = $view->new_display('attachment', 'Attachment', 'attachment_1'); + $handler->override_option('filters', array( + 'status' => array( + 'operator' => '=', + 'value' => '1', + 'group' => '0', + 'exposed' => FALSE, + 'expose' => array( + 'operator' => FALSE, + 'label' => '', + ), + 'id' => 'status', + 'table' => 'feedback', + 'field' => 'status', + 'relationship' => 'none', + 'override' => array( + 'button' => 'Use default', + ), + ), + )); + $handler->override_option('title', ''); + $handler->override_option('header', 'Processed Feedback Messages'); + $handler->override_option('attachment_position', 'after'); + $handler->override_option('inherit_arguments', TRUE); + $handler->override_option('inherit_exposed_filters', FALSE); + $handler->override_option('inherit_pager', FALSE); + $handler->override_option('render_pager', TRUE); + $handler->override_option('displays', array( + 'page_1' => 'page_1', + 'default' => 0, + )); + return $views; +}