You are here

class views_handler_sort_formula in Views (for Drupal 7) 6.2

Same name and namespace in other branches
  1. 6.3 handlers/views_handler_sort_formula.inc \views_handler_sort_formula

Base sort handler that has no options and performs a simple sort

Definition items:

  • formula: The formula to use to sort on, such as with a random sort. The formula should be an array, with keys for database types, and 'default' for non-specified. 'default' is required, all others ('mysql', 'mysqli' and 'pgsql' are optional). It is recommended you use 'default' for mysql and create specific overrides for pgsql when the formulae differ.

Hierarchy

Expanded class hierarchy of views_handler_sort_formula

Related topics

File

handlers/views_handler_sort_formula.inc, line 16

View source
class views_handler_sort_formula extends views_handler_sort {

  /**
   * Constructor to take the formula this sorts on.
   */
  function construct() {
    $this->formula = $this->definition['formula'];
    if (is_array($this->formula) && !isset($this->formula['default'])) {
      $this->error = t('views_handler_sort_formula missing default: @formula', array(
        '@formula' => var_export($this->formula, TRUE),
      ));
    }
    parent::construct();
  }

  /**
   * Called to add the sort to a query.
   */
  function query() {
    if (is_array($this->formula)) {
      global $db_type;
      if (isset($this->formula[$db_type])) {
        $formula = $this->formula[$db_type];
      }
      else {
        $formula = $this->formula['default'];
      }
    }
    else {
      $formula = $this->formula;
    }
    $this
      ->ensure_my_table();

    // Add the field.
    $this->query
      ->add_orderby(NULL, $formula, $this->options['order'], $this->table_alias . '_' . $this->field);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
views_handler::accept_exposed_input function Take input from exposed filters and assign to this handler, if necessary. 1
views_handler::access function Check whether current user has access to this handler. 5
views_handler::broken function Determine if the handler is considered 'broken', meaning it's a a placeholder used when a handler can't be found. 5
views_handler::can_expose function Determine if a handler can be exposed. 1
views_handler::ensure_my_table function Ensure the main table for this handler is in the query. This is used a lot. 7
views_handler::exposed_form function Render our chunk of the exposed filter form when selecting 1
views_handler::exposed_info function Get information about the exposed form for the form renderer. 1
views_handler::exposed_submit function Submit the exposed filter form
views_handler::exposed_validate function Validate the exposed filter form 4
views_handler::expose_options function Set new exposed option defaults when exposed setting is flipped on. 1
views_handler::extra_options function Provide defaults for the handler.
views_handler::extra_options_form function Provide a form for setting options. 1
views_handler::extra_options_submit function Perform any necessary changes to the form values prior to storage. There is no need for this function to actually store the data.
views_handler::extra_options_validate function Validate the options form.
views_handler::get_join function Get the join object that should be used for this handler.
views_handler::has_extra_options function If a handler has 'extra options' it will get a little settings widget and another form called extra_options. 1
views_handler::init function init the handler with necessary data. 4
views_handler::is_exposed function Determine if this item is 'exposed', meaning it provides form elements to let users modify the view.
views_handler::needs_style_plugin function Determine if the argument needs a style plugin. 1
views_handler::options_submit function Perform any necessary changes to the form values prior to storage. There is no need for this function to actually store the data. 1
views_handler::options_validate function Validate the options form. 1
views_handler::pre_query function Run before the view is built. 1
views_handler::set_relationship function Called just prior to query(), this lets a handler set up any relationship it needs.
views_handler::store_exposed_input function If set to remember exposed input in the session, store it there. 1
views_handler::ui_name function Return a string representing this handler's name in the UI. 5
views_handler::validate function Validates the handler against the complete View.
views_handler_sort::admin_summary function Display whether or not the sort order is ascending or descending Overrides views_handler::admin_summary
views_handler_sort::options_form function Basic options for all sort criteria Overrides views_handler::options_form 3
views_handler_sort::option_definition function Information about options for all kinds of purposes will be held here. Overrides views_object::option_definition 1
views_handler_sort_formula::construct function Constructor to take the formula this sorts on. Overrides views_object::construct
views_handler_sort_formula::query function Called to add the sort to a query. Overrides views_handler_sort::query
views_object::$options property Except for displays, options for the object will be held here. 1
views_object::destroy function 2
views_object::options function Set default options on this object. Called by the constructor in a complex chain to deal with backward compatibility. 1
views_object::set_default_options function Set default options. For backward compatibility, it sends the options array; this is a feature that will likely disappear at some point.
views_object::set_definition function Let the handler know what its full definition is.
views_object::unpack_options function Unpack options over our existing defaults, drilling down into arrays so that defaults don't get totally blown away.
views_object::_set_option_defaults function 1