views_handler_sort.inc
File
handlers/views_handler_sort.incView source
- <?php
- /**
- * @defgroup views_sort_handlers Views' sort handlers
- * @{
- * Handlers to tell Views how to sort queries
- */
-
- /**
- * Base sort handler that has no options and performs a simple sort
- */
- class views_handler_sort extends views_handler {
- /**
- * Called to add the sort to a query.
- */
- function query() {
- $this->ensure_my_table();
- // Add the field.
- $this->query->add_orderby($this->table_alias, $this->real_field, $this->options['order']);
- }
-
- function option_definition() {
- $options = parent::option_definition();
-
- $options['order'] = array('default' => 'ASC');
-
- return $options;
- }
-
- /**
- * Display whether or not the sort order is ascending or descending
- */
- function admin_summary() {
- switch ($this->options['order']) {
- case 'ASC':
- case 'asc':
- default:
- $type = t('asc');
- break;
- case 'DESC';
- case 'desc';
- $type = t('desc');
- break;
- }
- return '<span class="views-ascending"><span>' . $type . '</span></span>';
- }
-
- /**
- * Basic options for all sort criteria
- */
- function options_form(&$form, &$form_state) {
- $form['order'] = array(
- '#type' => 'radios',
- '#title' => t('Sort order'),
- '#options' => array('ASC' => t('Ascending'), 'DESC' => t('Descending')),
- '#default_value' => $this->options['order'],
- );
- }
- }
-
- /**
- * A special handler to take the place of missing or broken handlers.
- */
- class views_handler_sort_broken extends views_handler_sort {
- function ui_name($short = FALSE) {
- return t('Broken/missing handler');
- }
-
- function ensure_my_table() { /* No table to ensure! */ }
- function query() { /* No query to run */ }
- function options_form(&$form, &$form_state) {
- $form['markup'] = array(
- '#prefix' => '<div class="form-item description">',
- '#value' => t('The handler for this item is broken or missing and cannot be used. If a module provided the handler and was disabled, re-enabling the module may restore it. Otherwise, you should probably delete this item.'),
- );
- }
-
- /**
- * Determine if the handler is considered 'broken'
- */
- function broken() { return TRUE; }
- }
-
-
- /**
- * @}
- */