594 // We add the sorting criteria |
594 // We add the sorting criteria |
595 if($sort==NULL){ |
595 if($sort==NULL){ |
596 $sort = "popd"; // sort by descendent popularity by default. |
596 $sort = "popd"; // sort by descendent popularity by default. |
597 $reverse_sort = "popa"; |
597 $reverse_sort = "popa"; |
598 } |
598 } |
599 $sort_query = "t.popularity DESC t.normalizedLabel ASC t.label ASC"; |
599 //$sort_query = "nb_docs DESC t.popularity DESC t.normalizedLabel ASC t.label ASC"; |
600 switch($sort){ |
600 switch($sort){ |
601 case "popd": |
601 case "popd": |
602 $qb->addOrderBy('t.popularity','DESC'); |
602 $qb->addOrderBy('t.popularity','DESC'); |
|
603 $qb->addOrderBy('nb_docs','DESC'); |
603 $qb->addOrderBy('t.normalizedLabel','ASC'); |
604 $qb->addOrderBy('t.normalizedLabel','ASC'); |
604 $qb->addOrderBy('t.label','ASC'); |
605 $qb->addOrderBy('t.label','ASC'); |
605 $reverse_sort = "popa"; |
606 $reverse_sort = "popa"; |
606 break; |
607 break; |
607 case "popa": |
608 case "popa": |
608 $qb->addOrderBy('t.popularity','ASC'); |
609 $qb->addOrderBy('t.popularity','ASC'); |
|
610 $qb->addOrderBy('nb_docs','DESC'); |
609 $qb->addOrderBy('t.normalizedLabel','ASC'); |
611 $qb->addOrderBy('t.normalizedLabel','ASC'); |
610 $qb->addOrderBy('t.label','ASC'); |
612 $qb->addOrderBy('t.label','ASC'); |
611 $reverse_sort = "popd"; |
613 $reverse_sort = "popd"; |
612 break; |
614 break; |
613 case "labd": |
615 case "labd": |
617 break; |
619 break; |
618 case "laba": |
620 case "laba": |
619 $qb->addOrderBy('t.normalizedLabel','ASC'); |
621 $qb->addOrderBy('t.normalizedLabel','ASC'); |
620 $qb->addOrderBy('t.label','ASC'); |
622 $qb->addOrderBy('t.label','ASC'); |
621 $reverse_sort = "labd"; |
623 $reverse_sort = "labd"; |
|
624 case "nbd": |
|
625 $qb->addOrderBy('nb_docs','DESC'); |
|
626 $qb->addOrderBy('t.popularity','DESC'); |
|
627 $qb->addOrderBy('t.normalizedLabel','ASC'); |
|
628 $qb->addOrderBy('t.label','ASC'); |
|
629 $reverse_sort = "nba"; |
|
630 break; |
|
631 case "nba": |
|
632 $qb->addOrderBy('nb_docs','ASC'); |
|
633 $qb->addOrderBy('t.popularity','DESC'); |
|
634 $qb->addOrderBy('t.normalizedLabel','ASC'); |
|
635 $qb->addOrderBy('t.label','ASC'); |
|
636 $reverse_sort = "nbd"; |
622 break; |
637 break; |
623 } |
638 } |
624 |
639 |
625 // We paginate |
640 // We paginate |
626 $adapter = new DoctrineORMAdapter($qb); |
641 $adapter = new DoctrineORMAdapter($qb); |