/**
  * Récupérer une liste d'articles en fonction de critères
  * @param   array   $params         tableau associatif contenant les critères de sélection. clé : nom du paramètre, valeur : valeur du paramètre
  * @param   array   $infosPages     tableau associatif contenant des indications sur le nombre de pages, la liste des numéros de pages disponibles, etc.
  * @return  array   liste des articles
  * @see Manager::getIndexPages
  * @see Manager::_getListPage
  * @see Manager::_getCount
  */
 function getListPage($params, &$infosPages)
 {
     // Construction de la requête en fonction des paramètres
     $sql = 'SELECT a.doc_id as id, doc_auteurs,
           doc_titre as titre, doc_etat as etat, doc_date_publication,
           doc_date_enregistrement, doc_date_modification,
           u.uti_nom as nom, u.uti_prenom as prenom ';
     $from = ' FROM uti_utilisateur u, doc_document a';
     $where = ' WHERE u.uti_id = a.uti_id_soumis ';
     if (isset($params['uti']) && intval($params['uti']) > 0) {
         $where .= ' AND uti_id_soumis = ' . intval($params['uti']);
     }
     if (isset($params['status']) && is_numeric($params['status'])) {
         $where .= ' AND doc_etat = ' . trim($params['status']);
     }
     if (isset($params['type']) && strlen($params['type']) == 1) {
         $where .= ' AND typ_id = \'' . trim($params['type']) . '\'';
     }
     $ref = new ReferenceManager($this->db);
     $i = 0;
     foreach ($params as $clef => $val) {
         if (strpos($clef, 'cri_') === 0 && $val != 'none') {
             $crit = $ref->getCriterionInfos(substr($clef, 4));
             $crit = $crit['id'];
             $tmpsql = 'SELECT doc_id FROM doc_document WHERE doc_repertoire = ' . $this->db->quote($val);
             $res = $this->_getRow($tmpsql);
             $intro = $res['doc_id'];
             $from .= ", document_criteres c{$i}";
             $where .= " AND a.doc_id = c{$i}.doc_id AND c{$i}.cri_id = " . intval($crit) . " AND c{$i}.intro_id = " . intval($intro);
             $i++;
         }
     }
     if (isset($params['pg'])) {
         $page = intval($params['pg']);
     } else {
         $page = 0;
     }
     $nombreLigneTotal = $this->_getCount($from . $where);
     $infosPages = $this->getIndexPages($page, $this->nbParPage, $nombreLigneTotal, $this->nbLiensMax);
     $sql = $sql . $from . $where . " ORDER BY doc_date_enregistrement DESC";
     return $this->_getListPage($sql, $page, $this->nbParPage);
 }