Changeset 331


Ignore:
Timestamp:
03/25/10 15:03:33 (10 years ago)
Author:
sander
Message:

Properly sort jobs on he Result View page

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/server/www/app/controllers/requests_controller.php

    r330 r331  
    7575                        'Mimetype.Doctype', 
    7676                        'Job', 
     77                        'Job.Format', 
    7778                        'Job.Platform', 
    7879                        'Job.Application', 
     
    9192                } 
    9293 
    93                 $request['Job'] = Set::sort($request['Job'], '{n}.Application.name', 'asc'); 
     94                usort($request['Job'], array($this, '_cmpJobs')); 
    9495                return $request; 
     96        } 
     97 
     98        /** 
     99         * usort() callback to properly sort Jobs 
     100         */ 
     101        private function _cmpJobs($a, $b) 
     102        { 
     103                if (0 !== ($cmp = strcmp($a['Application']['name'], $b['Application']['name']))) { 
     104                        return $cmp; 
     105                } 
     106 
     107                if (0 !== ($cmp = strcmp($a['version'], $b['version']))) { 
     108                        return $cmp; 
     109                } 
     110 
     111                $format_a = ($a['Result'] ? $a['Result']['Format']['name'] : ($a['Format'] ? $a['Format']['name'] : '')); 
     112                $format_b = ($b['Result'] ? $b['Result']['Format']['name'] : ($b['Format'] ? $b['Format']['name'] : '')); 
     113 
     114                if (0 !== ($cmp = strcmp($format_a, $format_b))) { 
     115                        return $cmp; 
     116                } 
     117 
     118                return strcmp($a['created'], $b['created']); 
    95119        } 
    96120 
Note: See TracChangeset for help on using the changeset viewer.