class 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

1 string reference to 'views_handler_sort_formula'
views_views_handlers in includes/handlers.inc
Implementation of hook_views_handlers() to register all of the basic handlers views uses.

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

Contains filters are case sensitive
Namesort descending Modifiers Type Description
views_handler::accept_exposed_input function Take input from exposed filters and assign to this handler, if necessary.
views_handler::access function Check whether current user has access to this handler.
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.
views_handler::can_expose function Determine if a handler can be exposed.
views_handler::ensure_my_table function Ensure the main table for this handler is in the query. This is used a lot.
views_handler::exposed_form function Render our chunk of the exposed filter form when selecting
views_handler::exposed_info function Get information about the exposed form for the form renderer.
views_handler::exposed_submit function Submit the exposed filter form
views_handler::exposed_validate function Validate the exposed filter form
views_handler::expose_options function Set new exposed option defaults when exposed setting is flipped on.
views_handler::extra_options function Provide defaults for the handler.
views_handler::extra_options_form function Provide a form for setting options.
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.
views_handler::init function init the handler with necessary data.
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.
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.
views_handler::options_validate function Validate the options form.
views_handler::pre_query function Run before the view is built.
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.
views_handler::ui_name function Return a string representing this handler's name in the UI.
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
views_handler_sort::option_definition function Information about options for all kinds of purposes will be held here. Overrides views_object::option_definition
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::destroy function
views_object::options function Set default options on this object. Called by the constructor in a complex chain to deal with backward compatibility.
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