You are here

class calendar_plugin_display_block in Calendar 7

Same name and namespace in other branches
  1. 6.2 includes/calendar_plugin_display_block.inc \calendar_plugin_display_block
  2. 7.2 includes/calendar_plugin_display_block.inc \calendar_plugin_display_block

The plugin that handles a calendar block.

The only style option that will be available is the calendar style, which creates the navigation and links to other calendar displays. All options for paging, row plugins, etc. are deferred to the attachments.

Hierarchy

Expanded class hierarchy of calendar_plugin_display_block

1 string reference to 'calendar_plugin_display_block'
calendar_views_plugins in includes/calendar.views.inc
Implementation of hook_views_plugins

File

includes/calendar_plugin_display_block.inc, line 16
Views block plugin for the Calendar module.

View source
class calendar_plugin_display_block extends views_plugin_display_block {
  function init(&$view, &$display, $options = NULL) {
    parent::init($view, $display, $options);
  }

  /**
   * Display validation.
   */
  function validate() {
    $errors = parent::validate();
    $arguments = $this->display->handler
      ->get_option('arguments');
    if (!in_array('date_argument', array_keys($arguments))) {
      if (empty($this->view->date_info->arg_missing)) {
        $errors[] = t("The Calendar period display '@display_title' will not work without a Date argument.", array(
          '@display_title' => $this->definition['title'],
        ));
      }
      $this->view->date_info->arg_missing = TRUE;
    }
    elseif ($arguments['date_argument']['default_action'] != 'default' || $arguments['date_argument']['default_argument_type'] != 'date') {
      if (empty($this->view->date_info->arg_missing_default)) {
        $errors[] = calendar_errors('missing_argument_default');
      }
      $this->view->date_info->arg_missing_default = TRUE;
    }
    return $errors;
  }
  function get_style_type() {
    return 'calendar';
  }
  function defaultable_sections($section = NULL) {
    if (in_array($section, array(
      'style_plugin',
      'row_options',
      'row_plugin',
      'items_per_page',
    ))) {
      return FALSE;
    }
    return parent::defaultable_sections($section);
  }

  /**
   * Override some of the parent options.
   */
  function options(&$display) {
    parent::options($display);
    $display['style_plugin'] = 'calendar_nav';
    $display['items_per_page'] = 0;
    $display['row_plugin'] = '';
    $display['defaults']['style_plugin'] = FALSE;
    $display['defaults']['style_options'] = FALSE;
    $display['defaults']['items_per_page'] = FALSE;
    $display['defaults']['row_plugin'] = FALSE;
    $display['defaults']['row_options'] = FALSE;
  }

  /**
   * The display block handler returns the structure necessary for a block.
   *
   * TODO This can be removed when the patch at http://drupal.org/node/290328
   * gets into an official release.
   */
  function execute() {

    // Prior to this being called, the $view should already be set to this
    // display, and arguments should be set on the view.
    $info['content'] = $this->view
      ->render();
    $info['subject'] = filter_xss_admin($this->view
      ->get_title());
    if (!empty($this->view->result) || $this
      ->get_option('empty') || !empty($this->view->style_plugin->definition['even empty'])) {
      return $info;
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
calendar_plugin_display_block::defaultable_sections function List which sections are defaultable and what items each section contains. Overrides views_plugin_display::defaultable_sections
calendar_plugin_display_block::execute function The display block handler returns the structure necessary for a block. Overrides views_plugin_display_block::execute
calendar_plugin_display_block::get_style_type function Displays can require a certain type of style plugin. Overrides views_plugin_display::get_style_type
calendar_plugin_display_block::init function Overrides views_plugin_display::init
calendar_plugin_display_block::options function Override some of the parent options. Overrides views_object::options
calendar_plugin_display_block::validate function Display validation. Overrides views_plugin_display::validate
views_object::$definition public property Handler's definition.
views_object::$options public property Except for displays, options for the object will be held here. 1
views_object::altered_option_definition function Collect this handler's option definition and alter them, ready for use.
views_object::construct public function Views handlers use a special construct function. 4
views_object::export_options public function
views_object::export_option_always public function Always exports the option, regardless of the default value.
views_object::set_default_options public function Set default options.
views_object::set_definition public function Let the handler know what its full definition is.
views_object::unpack_options public function Unpack options over our existing defaults, drilling down into arrays so that defaults don't get totally blown away.
views_object::unpack_translatable public function Unpack a single option definition.
views_object::unpack_translatables public function Unpacks each handler to store translatable texts.
views_object::_set_option_defaults public function
views_plugin::$display public property The current used views display.
views_plugin::$plugin_name public property The plugin name of this plugin, for example table or full.
views_plugin::$plugin_type public property The plugin type of this plugin, for example style or query.
views_plugin::additional_theme_functions public function Provide a list of additional theme functions for the theme info page.
views_plugin::plugin_title public function Return the human readable name of the display.
views_plugin::summary_title public function Returns the summary of the settings in the display. 8
views_plugin::theme_functions public function Provide a full list of possible theme templates used by this style.
views_plugin_display::$extender public property Stores all available display extenders.
views_plugin_display::$handlers public property List of handlers for this display.
views_plugin_display::$view public property The top object of a view. Overrides views_plugin::$view
views_plugin_display::accept_attachments public function Can this display accept attachments?
views_plugin_display::access public function Determine if the user has access to this display of the view.
views_plugin_display::attach_to public function Allow displays to attach to other views. 2
views_plugin_display::destroy public function Destructor. Overrides views_object::destroy
views_plugin_display::displays_exposed public function Determine if this display should display the exposed filters widgets. 1
views_plugin_display::export_handler public function Special method to export items that have handlers.
views_plugin_display::export_option public function Override of export_option() Overrides views_object::export_option
views_plugin_display::export_plugin public function Special handling for plugin export.
views_plugin_display::export_style public function Special handling for the style export.
views_plugin_display::format_themes public function Format a list of theme templates for output by the theme info helper.
views_plugin_display::get_arguments_tokens public function Returns to tokens for arguments.
views_plugin_display::get_argument_text public function Provide some helpful text for the arguments. 1
views_plugin_display::get_field_labels public function List of fields for the current display with the associated relationship.
views_plugin_display::get_handler public function Get the handler object for a single handler.
views_plugin_display::get_handlers public function Get a full array of handlers for $type. This caches them.
views_plugin_display::get_link_display public function Check to see which display to use when creating links.
views_plugin_display::get_option public function Intelligently get an option either from this or default display.
views_plugin_display::get_pager_text public function Provide some helpful text for pagers. 1
views_plugin_display::get_path public function Return the base path to use for this display.
views_plugin_display::get_plugin public function Get the instance of a plugin, for example style or row.
views_plugin_display::get_special_blocks public function Provide the block system with any exposed widget blocks for this display.
views_plugin_display::get_url public function
views_plugin_display::has_path public function Check to see if the display has a 'path' field. 1
views_plugin_display::hook_block_list public function If this display creates a block, implement one of these.
views_plugin_display::hook_menu public function If this display creates a page with a menu item, implement it here.
views_plugin_display::is_defaulted public function Determine if a given option is set to use the default or current display.
views_plugin_display::is_default_display public function If this display is the 'default' display which contains fallback settings. 1
views_plugin_display::is_identifier_unique public function Check if the provided identifier is unique.
views_plugin_display::options_override public function If override/revert was clicked, perform the proper toggle.
views_plugin_display::options_validate public function Validate the options form. Overrides views_plugin::options_validate 1
views_plugin_display::option_link public function Because forms may be split up into sections, this provides an easy URL to exactly the right section. Don't override this.
views_plugin_display::override_option public function Set an option and force it to be an override.
views_plugin_display::preview public function Fully render the display. 1
views_plugin_display::pre_execute public function Set up any variables on the view prior to execution.
views_plugin_display::query public function Inject anything into the query that the display handler needs. Overrides views_plugin::query
views_plugin_display::render public function Render this display. 1
views_plugin_display::render_area public function
views_plugin_display::render_empty public function
views_plugin_display::render_filters public function Not all display plugins will support filtering.
views_plugin_display::render_footer public function Render the footer of the view.
views_plugin_display::render_header public function Render the header of the view.
views_plugin_display::render_more_link public function Render the 'more' link.
views_plugin_display::render_pager public function Not all display plugins will suppert pager rendering. 1
views_plugin_display::set_option public function Intelligently set an option either from this display or from the default display, if directed to do so.
views_plugin_display::set_override public function Flip the override setting for the given section.
views_plugin_display::unpack_handler public function Special method to unpack items that have handlers.
views_plugin_display::unpack_plugin public function Special handling for plugin unpacking.
views_plugin_display::unpack_style public function
views_plugin_display::uses_breadcrumb public function Check to see if the display needs a breadcrumb. 1
views_plugin_display::uses_exposed_form_in_block public function Check to see if the display can put the exposed form in a block.
views_plugin_display::uses_fields public function Determine if the display's style uses fields.
views_plugin_display::uses_link_display public function Check to see if the display has some need to link to another display. 1
views_plugin_display::use_ajax public function Does the display use AJAX?
views_plugin_display::use_group_by public function Does the display have groupby enabled?
views_plugin_display::use_more public function Does the display have a more link enabled?
views_plugin_display::use_more_always public function Should the enabled display more link be shown when no more items?
views_plugin_display::use_more_open_new_window public function Should the enabled display more link being opened in an new window?
views_plugin_display::use_more_text public function Does the display have custom link text?
views_plugin_display::use_pager public function Does the display have a pager enabled? 1
views_plugin_display::view_special_blocks public function Render any special blocks provided for this display.
views_plugin_display_block::block_caching_modes public function Provide a list of core's block caching modes.
views_plugin_display_block::execute_hook_block_list public function The default block handler doesn't support configurable items, but extended block handlers might be able to do interesting stuff with it.
views_plugin_display_block::get_cache_type public function Provide a single method to figure caching type, keeping a sensible default for when it's unset.
views_plugin_display_block::options_form public function Provide the default form for setting options. Overrides views_plugin_display::options_form
views_plugin_display_block::options_submit 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_display::options_submit
views_plugin_display_block::options_summary public function Provide the summary for page options in the views UI. Overrides views_plugin_display::options_summary
views_plugin_display_block::option_definition public function Information about options for all kinds of purposes will be held here. Overrides views_plugin_display::option_definition
views_plugin_display_block::save_block_cache public function Save the block cache setting in the blocks table if this block already exists in the blocks table. Dirty fix until http://drupal.org/node/235673 gets in.
views_plugin_display_block::update_block_bid public function Update the block delta when the machine name of the display changes.
views_plugin_display_block::uses_exposed public function Block views use exposed widgets only if AJAX is set. Overrides views_plugin_display::uses_exposed