Changeset 110771 in spip-zone


Ignore:
Timestamp:
Jun 20, 2018, 1:04:32 PM (3 years ago)
Author:
cedric@…
Message:

On peut fournir a inc_extraire_document_dist une callback_function optionnelle a appliquer sur le contenu extrait (genre filtre de nettoyage complementaire)
Il faut gerer ca a ce niveau si on veut prendre en compte le cache car si on applique le filtre dans la fonction appelante et qu'on stocke le contenu nettoye, il sera rejoue a chaque fois (inutilement voire contreproductivement)

Location:
_plugins_/extraire_documents/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/extraire_documents/trunk/inc/extraire_document.php

    r110767 r110771  
    1010 *
    1111 * @param array $document le document à trairer avec au moins un id et un fichier
     12 * @param string $callback_function
    1213 * @return array Sdata un tableau de donnée, si non traité alors false
    1314 */
    14 function inc_extraire_document_dist($document = array()) {
     15function inc_extraire_document_dist($document = array(), $callback_function=null) {
    1516        // Pour garder en mémoire les extracteurs déjà trouvés
    1617        static $extracteurs_ok = array();
     
    135136
    136137        if ($fonction_extraire) {
    137                 $contenu_filehash = substr(md5(basename($fichier) . ':' . filemtime($fichier) . ':' . filesize($fichier) . ':' . $fonction_extraire),0,8);
     138                $contenu_filehash = substr(md5(basename($fichier) . ':' . filemtime($fichier) . ':' . filesize($fichier) . ':' . $fonction_extraire . ($callback_function? ':' . $callback_function : '')),0,8);
    138139                // si pas de contenu connu, ou si le hash du fichier a change (ou l'extracteur) ou var_mode
    139140                // on rejoue le parsing
     
    146147                                and $extraction = $fonction_extraire($fichier, $infos)
    147148                                and is_array($extraction)
     149                                and isset($extraction['contenu'])
    148150                        ) {
     151                                if ($callback_function) {
     152                                        $extraction['contenu'] = $callback_function($extraction['contenu']);
     153                                }
    149154                                $infos = array_merge($infos, $extraction);
    150155                                $infos['contenu_filehash'] = $contenu_filehash;
  • _plugins_/extraire_documents/trunk/paquet.xml

    r110759 r110771  
    22        prefix="extrairedoc"
    33        categorie="outil"
    4         version="1.3.2"
     4        version="1.4.0"
    55        etat="test"
    66        compatibilite="[3.0.0;3.2.*]"
Note: See TracChangeset for help on using the changeset viewer.