Changeset 92755 in spip-zone


Ignore:
Timestamp:
Nov 8, 2015, 8:43:14 PM (4 years ago)
Author:
bystrano@…
Message:

debug massicotage des logos

La fonction de massicotage des logos devinait l'id_objet d'une façon un
peu naïve, et qui pouvait se tromper, en prenant notamment l'id_rubrique
pour les articles dans certains cas.
On s'assure de passer le bon id_objet à la fonction de massicotage.

Un grand merci à bubu qui m'a proposé ce correctif par email !

Location:
_plugins_/massicot/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/massicot/trunk/base/massicot.php

    r92176 r92755  
    4343        if ($table !== 'spip_documents') {
    4444            $interfaces['table_des_traitements'][strtoupper('LOGO_'.objet_type($table))][] =
    45                 'massicoter_logo(%s, $connect, $Pile[1])';
     45                'massicoter_logo(%s, $connect, '.objet_type($table).', $Pile[1][\''.id_table_objet($table).'\'])';
    4646
    4747        }
  • _plugins_/massicot/trunk/massicot_fonctions.php

    r92723 r92755  
    321321 * @return string : Un logo massicoté
    322322 */
    323 function massicoter_logo ($logo, $connect = null, $objet = array()) {
     323function massicoter_logo ($logo, $connect = null, $objet_type, $id_objet) {
    324324
    325325    include_spip('inc/filtres');
     
    331331    $fichier = extraire_attribut($logo, 'src');
    332332
    333     /* S'il n'y a pas d'objet, on essaie de le deviner avec le nom du
     333    /* S'il n'y a pas d'id_objet, on essaie de le deviner avec le nom du
    334334       fichier, c'est toujours mieux que rien. Sinon on abandonne… */
    335     if (is_null($objet)) {
     335    if (is_null($id_objet)) {
    336336
    337337        $objet = massicot_trouver_objet_logo($fichier);
     
    339339        if (is_null($objet)) {
    340340            return $logo;
    341         } else {
    342             $objet_type = $objet['objet'];
    343             $id_objet   = $objet['id_objet'];
    344341        }
    345     } else {
    346 
    347         /* Pour deviner le type d'objet, on cherche une entrée du type
    348            id_objet dans le tableau de l'objet, et on s'en sert pour
    349            déduire son type et son id */
    350         foreach ($objet as $cle => $valeur) {
    351             if (strpos($cle, 'id_') === 0) {
    352                 /* id_trad ne correspond pas à un objet */
    353                 if ( $cle === 'id_trad' ) {
    354                     continue;
    355                 } else {
    356                     $objet_type = objet_type($cle);
    357                     $id_objet = $valeur;
    358                     break;
    359                 }
    360             }
    361         }
     342
     343        $objet_type = $objet['objet'];
     344        $id_objet   = $objet['id_objet'];
    362345    }
    363346
  • _plugins_/massicot/trunk/paquet.xml

    r92722 r92755  
    22        prefix="massicot"
    33        categorie="multimedia"
    4         version="0.1.8"
     4        version="0.1.9"
    55        etat="test"
    66        compatibilite="[3.0.17;3.0.*]"
Note: See TracChangeset for help on using the changeset viewer.