display_handler->definition['handler'] == 'views_plugin_display_page') { if ($feature = context_get('spaces', 'feature')) { // This breaks shiz! not sure why. // $view->display_handler->set_option('empty', _spaces_views_empty($feature)); } } } /** * Implementation of hook_views_plugins(). */ function spaces_views_plugins() { return array( 'module' => 'spaces', 'access' => array( 'spaces_feature' => array( 'title' => t('Spaces feature'), 'help' => t('Access will be granted to users with the specified permission string.'), 'handler' => 'spaces_plugin_access_spaces_feature', 'path' => drupal_get_path('module', 'spaces') .'/includes', 'uses options' => TRUE, ), ), ); } /** * Implementation of hook_views_handlers(). */ function spaces_views_handlers() { return array( 'info' => array( 'path' => drupal_get_path('module', 'spaces') .'/includes', ), 'handlers' => array( 'spaces_handler_filter_spaces_current' => array( 'parent' => 'views_handler_filter', ), ), ); } /** * Implementation of hook_views_data(). * Adds a meta-filter that provides a layer of abstraction that * delegates actual filtering to the implementing space type modules. */ function spaces_views_data() { $data = array(); // This defines a fake "pseudo" table. $data['spaces']['table']['group'] = t('Spaces'); $data['spaces']['table']['join'] = array( 'node' => array( 'left_field' => 'nid', 'field' => 'sid', ), ); $data['spaces']['current'] = array( 'title' => t('Spaces: node in current space'), 'help' => t('Posts in current space.'), 'filter' => array( 'handler' => 'spaces_handler_filter_spaces_current', ), ); return $data; }