Ignore:
Timestamp:
May 17, 2012, 5:12:52 PM (8 years ago)
Author:
joseph@…
Message:
  • correctif sur la recherche (pas de LIKE conditionnel)
  • personnalisation de l'ordre du tri par type
File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/zotspip/trunk/zotspip_fonctions.php

    r60688 r61372  
    250250        $annee = false;
    251251        if (is_numeric($depuis)) $annee = intval($depuis);
    252         elseif (substr($depuis,-2)=='an' && is_numeric(substr($depuis,0,-2))) $annee = 1 + intval(date('Y')) - intval(substr($depuis,0,-2)); // L'année en cours ocmpte pour un
     252        elseif (substr($depuis,-2)=='an' && is_numeric(substr($depuis,0,-2))) $annee = 1 + intval(date('Y')) - intval(substr($depuis,0,-2)); // L'année en cours compte pour un
    253253        elseif (substr($depuis,-3)=='ans' && is_numeric(substr($depuis,0,-3))) $annee = 1 + intval(date('Y')) - intval(substr($depuis,0,-3));
    254254        if ($annee) return array('>=',"$table.annee",$annee);
     
    304304}
    305305
     306// Fonction renvoyant le tableau adequat pour la configuration de l'ordre des types de documents
     307function zotspip_configurer_ordre_types($ordre) {
     308        if (!is_array($ordre)) $ordre=array();
     309        $ordre = array_flip($ordre);
     310        // Il faut completer par rapport au schema Zotero (au cas ou le schema change)
     311        $zotero = schema_zotero('itemTypes');
     312        $zotero[]='attachment'; // Ajouter les pieces jointes non presentes dans le schema
     313        $ordre = array_merge($ordre,array_flip($zotero));
     314        // Ajout des chaines de langue
     315        foreach ($ordre as $cle => $val)
     316                $ordre[$cle] = zotspip_traduire_type($cle);
     317        return $ordre;
     318}
     319
     320// Le critere qui permet le tri par type (selon l'ordre defini)
     321function critere_par_type_zotero($idb, &$boucles, $crit) {
     322        $boucle = &$boucles[$idb];
     323        $id_table = $boucle->id_table;
     324        include_spip('inc/config');
     325        $config = lire_config('zotspip/ordre_types');
     326        if (is_array($config) && count($config))
     327                $boucle->order[] = "\"FIELD($id_table.type,'".implode("','",$config)."')\"";
     328        else
     329                $boucle->order[] = "'$id_table.type'";
     330}
     331
    306332?>
Note: See TracChangeset for help on using the changeset viewer.