Changeset 30285 in spip-zone


Ignore:
Timestamp:
Jul 28, 2009, 1:20:39 PM (10 years ago)
Author:
pgrison@…
Message:

nouvvelle version du plugin gallery2 qui fusionne avec le plugin g2embed:

  • nouvelle procédure sipmplifiée de synchronisation SPIP/Gallery
  • appel du module imageBlock via une fonction call_imageblock($params)
  • + quelques changements mineurs dans le code PHP (inclusion du fichier embed.php)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/gallery2/gallery_fonctions.php

    r29915 r30285  
    11<?php
     2// MODIF-220709 : ajout de la fonction call_imageblock()
     3// fonction pour récuperer le block HTML produit par gallery
     4        function call_imageblock($params) {
     5        // RQ:  getBlock n'existe qu'a partir de la version 1.1.9 du plugin "image block"
     6        // la version 1.1.9 du plugin "image block" n'existe que pour une version de gallery2 >= 2.3
     7                $class_methods = get_class_methods('GalleryEmbed');
     8                if (array_search('getBlock', $class_methods)) { // test sur l'existence de la fn getBlock
     9                        list($status,$html,$head1)=GalleryEmbed::getBlock('imageblock','ImageBlock',$params);                   
     10                        if ($status) { // affichage du message d'erreur si  getBlock a echoue
     11                return "<blink><span style='color: red;'>"._T('gallery:erreur_insertion')." ".$ret."</span></blink>";
     12                                exit;
     13                          }
     14                } else {
     15                                return "<blink><span style='color: red;'>"._T('gallery:erreur_getblock')."</span></blink>";
     16                                exit;
     17                }
     18                return $html;
     19        }
     20// Finde MODIF
     21
    222// fonction pour lister les ss-reps de /squelettes du plugin et retourner un array
    323    function liste_ssreps() {
     
    1333    }
    1434
     35// MODIF-220709 : suppression de la fonction trouveid()
     36/*
    1537// fonction pour tester si un user SPIP est user de Gallery2
    1638    function trouveid($userName) {
     
    2244        ';
    2345
    24         /* Check to see if we have a collision */
     46        // Check to see if we have a collision //
    2547        list($ret, $results) =
    2648            $gallery->search($query, array($userName), array('limit' => array('count' => 1))); 
     
    3456        return($userspip_exist_in_gallery);
    3557    }
    36    
     58*/ 
     59// fin de MODIF
     60 
    3761// fonction d'initialisation de gallery
    3862    function  gallery_init() {
     
    4569        $cfg['chemin_gallery'] = '/'.trim(rtrim($cfg['chemin_gallery'], '/'), '/').'/';
    4670
    47       // mauvaise bidouille pour gérer l'include du fichier embed.php de Gallery
    48       // selon qu'on est dans le public ou le privé...
     71//MODIF-220709 : voir autre proposition ci-dessous
     72/*      // mauvaise bidouille pour gérer l'include du fichier embed.php de Gallery
     73        // selon qu'on est dans le public ou le privé...
    4974        $chem_inclure = trim($cfg['chemin_gallery'],'/').'/';
    5075        $chem_inclure = _DIR_RACINE.$chem_inclure;
     
    5580        else
    5681            die(_T('gallery:fichier_embed_pas_trouve'));
    57            
     82*/
     83        $chem_inclure = '/../../../'.trim($cfg['chemin_gallery'],'/').'/';
     84                //echo dirname(__FILE__).'/../../../'.$chem_inclure.'embed.php';
     85                if (file_exists(dirname(__FILE__) .$chem_inclure.'embed.php'))
     86                include_once(dirname(__FILE__) .$chem_inclure.'embed.php');
     87                else die(_T('gallery:fichier_embed_pas_trouve'));
     88// fin de MODIF
     89                 
    5890        $lang = $GLOBALS['auteur_session']['lang'] ;
    5991        if( $lang =='' ) $lang = 'fr';
     
    73105                                         'loginRedirect' => $cfg['chemin_spip'], 
    74106                                         'activeUserId' => $GLOBALS['auteur_session']['id_auteur'] ));
    75          if ($ret) print 'GalleryEmbed::init failed, here is the error message: ' . $ret->getAsHtml();
    76          
    77          
     107               
     108//MODIF-220709
     109                //if ($ret) print 'GalleryEmbed::init failed, here is the error message: ' . $ret->getAsHtml(); 
     110// fin de MODIF
     111
     112        return $ret;
    78113    }
    79114   
     
    81116// le nécessaire pour faire tourner gallery en mode "embed" dans son squelette SPIP
    82117    function gallery2(){   
    83         gallery_init();
    84 
    85         $ret = GalleryEmbed::checkActiveUser( $GLOBALS['auteur_session']['id_auteur']);
    86    
     118        $ret=gallery_init();
     119
     120//MODIF-220709 : nouvelle méthode de synchronistation SPIP/GALLERY sans utilisation de trouveid()
     121                /*        $ret = GalleryEmbed::checkActiveUser( $GLOBALS['auteur_session']['id_auteur']);   
    87122        if($ret) {
    88123             $extUserId = $GLOBALS['auteur_session']['id_auteur'];
     
    97132                $ret = GalleryEmbed::createUser($extUserId, $args) ;
    98133             }
    99          }
     134         }*/
     135                 
    100136         /* Now you *could* do something with $g2moddata['themeData'] */
    101137        //$g2data = GalleryEmbed::handleRequest();
    102138       
     139        if ($ret) {
     140                 /* Error! */
     141                 /* Did we get an error because the user doesn't exist in g2 yet? */     
     142                $ret2 =GalleryEmbed::isExternalIdMapped($GLOBALS['auteur_session']['id_auteur'],'GalleryUser');   
     143                 if ($ret2 && $ret2->getErrorCode() & ERROR_MISSING_OBJECT) {
     144                         /* The user does not exist in G2 yet. Create in now on-the-fly */               
     145                                $extUserId = $GLOBALS['auteur_session']['id_auteur'];
     146                                $args = array('username' => $GLOBALS['auteur_session']['login']);
     147                                $ret = GalleryEmbed::createUser($extUserId, $args) ;                                                                                                                   
     148                         if ($ret) {
     149                         /* An error during user creation. Not good, print an error or do whatever is appropriate * in your emApp when an error occurs */
     150                                 print "An error occurred during the on-the-fly user creation <br>";
     151                                 print $ret->getAsHtml();
     152                                 exit;
     153                         }
     154                 } else {
     155                         /* The error we got wasn't due to a missing user, it was a real error */
     156                         if ($ret2) {
     157                                 print "An error occurred while checking if a user already exists<br>";
     158                                 print $ret2->getAsHtml();
     159                         }
     160                         print "An error occurred while trying to initialize G2<br>";
     161                         print $ret->getAsHtml();
     162                         exit;
     163                 }
     164         }
     165// fin de MODIF
     166         
    103167      // balancer le résultat de GalleryEmbed::handleRequest(); dans une GLOBALS pour pouvoir interroger par des filtres plus tard
    104168        $GLOBALS['g2data'] = GalleryEmbed::handleRequest();
     
    154218       // si il existe une référence d'item on l'utilise pour envoyer une image unique
    155219         if ($item_id != '' AND intval($item_id)!= 0){
    156 //             list($ret,$html,$head1) = GalleryEmbed::getImageBlock(array(
    157              list($ret,$html,$head1) = GalleryEmbed::getBlock('imageblock', 'ImageBlock', array(
     220
     221// MODIF-220709                                                                                                                                           
     222/*             list($ret,$html,$head1) = GalleryEmbed::getBlock('imageblock', 'ImageBlock', array(
    158223                  'blocks' => 'specificItem',
    159224                  'show' => $show,
     
    163228            if ($ret) {
    164229                return "<blink><span style='color: red;'>"._T('gallery:erreur_insertion')." ".$item_id." ".$ret."</span></blink>";
    165             }
    166         }
     230            }*/
     231                        $params= array(
     232                  'blocks' => 'specificItem',
     233                  'show' => $show,
     234                  'link' => $lien,
     235                  'itemId' => intval($item_id),
     236                  'maxSize' => $taille);                       
     237                        $html=call_imageblock($params);
     238        }
     239// fin de MODIF
     240
    167241      // si pas référence d'item mais un nbe de dernières photos, on envoie les X dernières
    168242        elseif ($nb_dernier != '' AND intval($nb_dernier)!= 0) {
     
    173247                $sep = '|';
    174248            }
    175              list($ret,$html,$head1) = GalleryEmbed::getBlock('imageblock', 'ImageBlock', array(
     249                       
     250//MODIF-220709 : appel de la fn call_imageblock()
     251/*             list($ret,$html,$head1) = GalleryEmbed::getBlock('imageblock', 'ImageBlock', array(
    176252                  'blocks' => $ch_last,
    177253                  'show' => $show,
     
    180256            if ($ret) {
    181257                return "<blink><span style='color: red;'>"._T('gallery:erreur_insertion')." ".$ret."</span></blink>";
    182             }
    183         }
     258            }*/
     259                        $params=  array(
     260                  'blocks' => $ch_last,
     261                  'show' => $show,
     262                  'link' => $lien,
     263                  'maxSize' => $taille);                       
     264                        $html=call_imageblock($params);
     265        }
     266// fin de MODIF
     267
    184268      // si aucun paramètre on envoie une photo au hazard
    185269        else {
    186270            $ch_type =  ($type == 'album' ? 'randomAlbum' :  'randomImage');
    187             list($ret,$html,$head1) = GalleryEmbed::getBlock('imageblock', 'ImageBlock', array(
     271                       
     272//MODIF-220709 : appel de la fn call_imageblock()
     273/*            list($ret,$html,$head1) = GalleryEmbed::getBlock('imageblock', 'ImageBlock', array(
    188274                  'blocks' => $ch_type,
    189275                  'show' => $show,
     
    192278            if ($ret) {
    193279                return "<blink><span style='color: red;'>"._T('gallery:erreur_insertion')." ".$ret."</span></blink>";
    194             }
    195         }
     280            }*/
     281                        $params= array(
     282                  'blocks' => $ch_type,
     283                  'show' => $show,
     284                  'link' => $lien,
     285                  'maxSize' => $taille);                       
     286                        $html=call_imageblock($params);
     287        }
     288// fin de MODIF
     289
    196290//echo '<br>brut= <br>'.$html.'<br>';   
    197291      // retourner des blocs formatés comme les <docXX> de SPIP 
     
    255349         else $taille = 640;
    256350         
    257 //         list($ret,$html,$head1) = GalleryEmbed::getImageBlock(array(
    258          list($ret,$html,$head1) = GalleryEmbed::getBlock('imageblock', 'ImageBlock', array(
     351//MODIF-220709 : appel de la fn call_imageblock()                                                                                                                                       
     352/*         list($ret,$html,$head1) = GalleryEmbed::getBlock('imageblock', 'ImageBlock', array(
    259353              'blocks' => 'specificItem',
    260354              'show' => 'none',
     
    264358              ));
    265359        if ($ret) {
    266             return "<blink><span style='color: red;'>"._T('gallery:erreur_insertion')." ".$item_id." ".$ret."</span></blink>";
    267         }
    268        
    269       // triturer le html de retour pour retourner la forme voulue
     360            return "<blink><span style='color: red;'>"._T('gallery:erreur_insertion')." ".$item_id." ".$ret."</span></blink>"  };*/
     361                $params=  array(
     362              'blocks' => 'specificItem',
     363              'show' => 'none',
     364              'link' => 'none',
     365              'maxSize' => $taille,
     366              'itemId' => intval($item_id));                   
     367                $html=call_imageblock($params);   
     368// fin de MODIF
     369       
     370        // triturer le html de retour pour retourner la forme voulue
    270371        // recup les atributs et construire la balise <img>
    271372        $Tattr = array('src', 'alt', 'height', 'width');
Note: See TracChangeset for help on using the changeset viewer.