/**
  * Fill the order
  *
  * @param int    $user_id    User id
  * @param string $class      Favori class name (CFavoriCCAM or CFavoriCIM10)
  * @param bool   $ref_favori boolean
  * @param int     $tag_id     Tag id
  *
  * @return array The list ordered
  */
 static function getOrdered($user_id = 0, $class = null, $ref_favori = false, $tag_id = null)
 {
     $listOrdered = array();
     if ($user_id) {
         $where["favoris_user"] = "******";
         if ($class) {
             $where["object_class"] = "= '{$class}'";
         }
         $ljoin = array();
         if ($tag_id) {
             $ljoin["tag_item"] = "tag_item.object_id = favoris_id AND tag_item.object_class = 'CFavoriCCAM'";
             $where["tag_item.tag_id"] = "= '{$tag_id}'";
         }
         $fav = new CFavoriCCAM();
         /** @var CFavoriCCAM[] $favoris */
         $favoris = $fav->loadList($where, "favoris_code", null, null, $ljoin);
         foreach ($favoris as $_favori) {
             /** @var CDatedCodeCCAM $code */
             $code = CDatedCodeCCAM::get($_favori->favoris_code);
             $code->getChaps();
             $code->class = $_favori->object_class;
             $code->favoris_id = $_favori->favoris_id;
             $code->occ = 0;
             if ($ref_favori) {
                 $_favori->loadRefsTagItems();
                 $code->_ref_favori = $_favori;
             }
             $chapitre =& $code->chapitres[0];
             $listOrdered[$chapitre["code"]]["nom"] = $chapitre["nom"];
             $listOrdered[$chapitre["code"]]["codes"][$_favori->favoris_code] = $code;
         }
     }
     return $listOrdered;
 }
         $codes_stats[$_code["code_acte"]] = $_code;
         unset($codes_stats[$key]);
     }
 }
 // Favoris
 $code = new CFavoriCCAM();
 $where = array();
 $where["ccamfavoris.favoris_user"] = "******";
 $where["ccamfavoris.object_class"] = " = '{$object_class}'";
 $ljoin = array();
 if ($tag_id) {
     $where["tag_item.tag_id"] = "= '{$tag_id}'";
     $ljoin["tag_item"] = "tag_item.object_id = ccamfavoris.favoris_id AND tag_item.object_class = 'CFavoriCCAM'";
 }
 /** @var CFavoriCCAM[] $codes_favoris */
 $codes_favoris = $code->loadList($where, null, 100, null, $ljoin);
 foreach ($codes_favoris as $key => $_code) {
     $codes_favoris[$_code->favoris_code] = $_code;
     unset($codes_favoris[$key]);
 }
 // Seek sur les codes, avec ou non l'inclusion de tous les codes
 $code = new CDatedCodeCCAM("");
 $where = null;
 if (!$_all_codes && (count($codes_stats) || count($codes_favoris))) {
     // Si on a la recherche par tag, on n'utilise pas les stats (les tags sont mis sur les favoris)
     if ($tag_id) {
         $codes_keys = array_keys($codes_favoris);
     } else {
         $codes_keys = array_keys(array_merge($codes_stats, $codes_favoris));
     }
     $where = "CODE " . $ds->prepareIn($codes_keys);