You are here

class views_plugin_display_page_db in Dynamic Background 7.2

Same name and namespace in other branches
  1. 6 modules/dynamic_background_views/views/plugins/views_plugin_display_page_db.inc \views_plugin_display_page_db
  2. 7 modules/dynamic_background_views/views/plugins/views_plugin_display_page_db.inc \views_plugin_display_page_db

The plugin that handles a full page.

Hierarchy

Expanded class hierarchy of views_plugin_display_page_db

1 string reference to 'views_plugin_display_page_db'
dynamic_background_views_views_plugins in modules/dynamic_background_views/views/dynamic_background_views.views.inc
Implements hook_views_plugins().

File

modules/dynamic_background_views/views/plugins/views_plugin_display_page_db.inc, line 13
Contains the dynamic background views page display plugin, which is an extension of the std. view page display.

View source
class views_plugin_display_page_db extends views_plugin_display_page {
  function option_definition() {
    $options = parent::option_definition();
    $options['dynamic_background'] = array(
      'title' => 'Dynamic background',
      'description' => t('Select a background for the current page.'),
      'default' => t('No image'),
    );
    return $options;
  }

  /**
   * Provide the summary for page options in the views UI.
   *
   * This output is returned as an array.
   */
  function options_summary(&$categories, &$options) {

    // It is very important to call the parent function here:
    parent::options_summary($categories, $options);

    // Find the currently selected image.
    $view_id = $this->view->name . '_' . $this->display->id;
    $image = dynamic_background_active_image('views', $view_id);
    $options['dynamic_background'] = array(
      'category' => 'page',
      'title' => t('Dynamic background'),
      'value' => $image ? 'Image ' . $image->fid : t('No image'),
    );

    // Try loading styling and js.
    drupal_add_js(drupal_get_path('module', 'dynamic_background') . '/js/dynamic_background_selector.js');
    drupal_add_css(drupal_get_path('module', 'dynamic_background_views') . '/css/dynamic_background.admin.css');
  }

  /**
   * Provide the default form for setting options.
   */
  function options_form(&$form, &$form_state) {

    // It is very important to call the parent function here:
    parent::options_form($form, $form_state);
    switch ($form_state['section']) {
      case 'dynamic_background':
        $view_id = $form_state['view']->name . '_' . $form_state['view']->current_display;
        $form['#title'] .= t('The selected background');
        $form['dynamic_background'] = dynamic_background_image_selector_form('views', $view_id);
        break;
    }
  }

  /**
   * Provide the validation of the default form for setting options.
   */
  function options_validate(&$form, &$form_state) {

    // It is very important to call the parent function here.
    parent::options_validate($form, $form_state);

    // Check that only one image have been selected.
    switch ($form_state['section']) {
      case 'dynamic_background':
        $no_of_images = 0;
        foreach ($form_state['values']['dynamic_background'] as $key => $value) {
          if ($value['selected']) {
            $no_of_images++;
            if ($no_of_images > 1) {
              form_error($form['dynamic_background'][$key], t('You should only select one image.'));
            }
          }
        }
        break;
    }
  }

  /**
   * Provide the submit handler of the default form for setting options.
   */
  function options_submit(&$form, &$form_state) {

    // It is very important to call the parent function here:
    parent::options_submit($form, $form_state);
    switch ($form_state['section']) {
      case 'dynamic_background':
        $view_id = $form_state['view']->name . '_' . $form_state['view']->current_display;

        // Check if any image have been selected.
        $fid = NULL;
        foreach ($form_state['values']['dynamic_background'] as $key => $value) {
          if ($value['selected']) {
            $fid = $key;
            break;
          }
        }

        // Try to save the image in the database.
        $this
          ->save_background($fid, $view_id);
        break;
    }
  }

  /**
   * Helper function that saves the selected background image for the current
   * view.
   */
  protected function save_background($fid, $view_id) {
    dynamic_background_set_active($fid, 'views', $view_id);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
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::options Deprecated public function Set default options on this object. 1
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::defaultable_sections public function List which sections are defaultable and what items each section contains. 1
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_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_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_style_type public function Displays can require a certain type of style plugin. 1
views_plugin_display::get_url public function
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::init public function 1
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::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_exposed public function Does this display uses exposed filters? 2
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_page::execute public function The display page handler returns a normal view, but it also does a drupal_set_title for the page, and does a views_set_page_view on the view. Overrides views_plugin_display::execute 1
views_plugin_display_page::execute_hook_menu public function Add this display's path information to Drupal's menu system.
views_plugin_display_page::get_argument_text public function Provide some helpful text for the arguments. Overrides views_plugin_display::get_argument_text
views_plugin_display_page::get_pager_text public function Provide some helpful text for pagers. Overrides views_plugin_display::get_pager_text
views_plugin_display_page::has_path public function The page display has a path. Overrides views_plugin_display::has_path
views_plugin_display_page::uses_breadcrumb public function Check to see if the display needs a breadcrumb. Overrides views_plugin_display::uses_breadcrumb 1
views_plugin_display_page::validate public function Make sure the display and all associated handlers are valid. Overrides views_plugin_display::validate
views_plugin_display_page_db::options_form function Provide the default form for setting options. Overrides views_plugin_display_page::options_form
views_plugin_display_page_db::options_submit function Provide the submit handler of the default form for setting options. Overrides views_plugin_display_page::options_submit
views_plugin_display_page_db::options_summary function Provide the summary for page options in the views UI. Overrides views_plugin_display_page::options_summary
views_plugin_display_page_db::options_validate function Provide the validation of the default form for setting options. Overrides views_plugin_display_page::options_validate
views_plugin_display_page_db::option_definition function Information about options for all kinds of purposes will be held here. Overrides views_plugin_display_page::option_definition
views_plugin_display_page_db::save_background protected function Helper function that saves the selected background image for the current view.