| @@ 1530-1538 (lines=9) @@ | ||
| 1527 | * an optional sorting direction. this defaults to ascending. if this |
|
| 1528 | * is declared either 'random' or 'rand' then a random sort is applied. |
|
| 1529 | */ |
|
| 1530 | public function buildSortingSQL(&$joins, &$where, &$sort, $order = 'ASC') |
|
| 1531 | { |
|
| 1532 | if (in_array(strtolower($order), array('random', 'rand'))) { |
|
| 1533 | $sort = 'ORDER BY RAND()'; |
|
| 1534 | } else { |
|
| 1535 | $joins .= "LEFT OUTER JOIN `tbl_entries_data_" . $this->get('id') . "` AS `ed` ON (`e`.`id` = `ed`.`entry_id`) "; |
|
| 1536 | $sort = sprintf('ORDER BY `ed`.`value` %s', $order); |
|
| 1537 | } |
|
| 1538 | } |
|
| 1539 | ||
| 1540 | /** |
|
| 1541 | * Default implementation of record grouping. This default implementation |
|
| @@ 554-565 (lines=12) @@ | ||
| 551 | Sorting: |
|
| 552 | -------------------------------------------------------------------------*/ |
|
| 553 | ||
| 554 | public function buildSortingSQL(&$joins, &$where, &$sort, $order = 'ASC') |
|
| 555 | { |
|
| 556 | if (in_array(strtolower($order), array('random', 'rand'))) { |
|
| 557 | $sort = 'ORDER BY RAND()'; |
|
| 558 | } else { |
|
| 559 | $joins .= " |
|
| 560 | LEFT OUTER JOIN `tbl_entries_data_" . $this->get('id') . "` AS `ed` ON (`e`.`id` = `ed`.`entry_id`) |
|
| 561 | LEFT OUTER JOIN `tbl_authors` AS `a` ON (ed.author_id = a.id) |
|
| 562 | "; |
|
| 563 | $sort = sprintf('ORDER BY `a`.`first_name` %1$s, `a`.`last_name` %1$s', $order); |
|
| 564 | } |
|
| 565 | } |
|
| 566 | ||
| 567 | /*------------------------------------------------------------------------- |
|
| 568 | Events: |
|