Forming a request for sorting

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
 24.
25.

26.
27.
28.
 // Define sort fields
        $sortings = array (
              'id' => "?:users.user_id",
              'username' => "?:users.user_login",
              'email' => "?:users.email",
              'name' => array("?:users.firstname", "?:users.lastname"),
              'date' => "?:users.timestamp",
              'type' => "?:users.user_type",
              'active' => "?:users.active",
         );

         $directions = array (
               'asc' => 'asc',
               'desc' => 'desc'
        );

        if (empty($params['sort_order']) || empty($directions[$params['sort_order']])) {
                $params['sort_order'] = 'asc';
        }

         if (empty($params['sort_by']) || empty($sortings[$params['sort_by']])) {
             $params['sort_by'] = 'name';
        }

         $sorting = (is_array($sortings[$params['sort_by']]) ? implode(' ' . $directions[$params['sort_order']]. ', ', $sortings[$params['sort_by']]) :          $sortings[$params['sort_by']]). " " .$directions[$params['sort_order']];

         // Reverse sorting (for usage in view)
         $params['sort_order'] = $params['sort_order'] == 'asc' ? 'desc' : 'asc';
Copyright © 2009 SP-CART.COM. All Rights Reserved.