/**
  * Detects list sort parameters: what field to order on, direction and 
  * number of items per page (npp).
  * @return array
  */
 public static function getListSortCriteria($model = 'Document', $default_npp = null, $max_npp = 100, $mi = 'mi')
 {
     $orderby_list = c2cTools::getRequestParameterArray(array('orderby', 'orderby2', 'orderby3'));
     $order_list = c2cTools::getRequestParameterArray(array('order', 'order2', 'order3'), sfConfig::get('app_list_default_order'));
     if (empty($default_npp)) {
         $default_npp = c2cTools::mobileVersion() ? sfConfig::get('app_list_mobile_maxline_number') : sfConfig::get('app_list_maxline_number');
     }
     $npp = c2cTools::getRequestParameter('npp', $default_npp);
     if (!empty($max_npp)) {
         $npp = min($npp, $max_npp);
     }
     return self::buildSortCriteria($model, $orderby_list, $order_list, $npp, $mi);
 }