#1 2003-08-08 18:23:47

antoine
Invité

Intégration Dans Spip

Bonjour,

tout d'abord, merci pour la mise à disposition de cette application.

Je cherche à l'intégrer en partie dans un site SPIP (http://spip.org).
En fait,  dans un premier temps, j'y vais doucement. Les parties administrations et ajouts d'images demeurent inchangées.
Par contre, je cherche à créer des pages "diapospip.php" et "photospip.php" avec le seul affichage du tableau des vignettes pour diapospip.php et comme un visiteur "lambda" sans login.
Cela fonctionne très bien si j'appelle directement ces pages php (url du navigateur), par contre, cela se passe moins bien si je tente un "require" depuis une autre page.
J'ai passé la difficulté de la valorisation de "cat", en faisant une affectation explicite sur $GLOBALS['cat'].
Mais je coince sur les inclusions des modules de phpWebGallery, même en touchant à l'include_path. Les require de "./lemodule.php" sont en échec. :

Warning: main(./include/init.inc.php): failed to open stream: No such file or directory in /home/loupic/www/webgallery/diapospip.php on line 24

Warning: main(): Failed opening './include/init.inc.php' for inclusion (include_path='.:..:/home/loupic/www/webgallery/:/home/loupic/www/webgallery/..') in /home/loupic/www/webgallery/diapospip.php on line 24


Quelqu'un a-t-il une idée de la parade ?

#2 2003-08-11 15:42:40

antoine
Membre
2003-08-11
2

Re: Intégration Dans Spip

Après inscription, je me réponds à moi-même. Cela peut servir à qqn d'autre ou bien faire réagir avec une solution meilleure.

Rappel : problème d'inclusions de modules car j'appelle l'application phpWebGallery par un require dans un fichier PHP localisé ailleurs que dans le répertoire de WebGallery.

Le problème venant des chemins en relatifs, j'ai changé le contenu des include de phpWebGalley avec $GLOBALS['DOCUMENT_ROOT'] et une variable créée pour la circonstance $GLOBALS['WEBGALLERYREP'] qui contient le sous-répertoire d'installation de phpWebGallery à partir de la racine.

L'existence de la constante PREFIXE_INCLUDE a permis de limiter le nombre de modules impactés à 2 : init.inc.php et functions.php :

----- le nouveau init.inc.php --------------------------

Code:

//modif  define( PREFIXE_INCLUDE, '');
  $GLOBALS['WEBGALLERYREP']='/webgallery';   // ajout
  define( PREFIXE_INCLUDE, $GLOBALS['DOCUMENT_ROOT'].$GLOBALS['WEBGALLERYREP']."/" );             // modif
  
  include_once( PREFIXE_INCLUDE."./include/config.inc.php" );  // modif
  include_once( PREFIXE_INCLUDE."./include/user.inc.php" );     // modif
  
  include( PREFIXE_INCLUDE."./template/".$user['theme']."/conf.php" );    // luc
  $user['lien_expanded']      = "./template/".$user['theme']."/expanded.gif";
  $user['lien_collapsed']     = "./template/".$user['theme']."/collapsed.gif";
  $user['lien_prev']          = "./template/".$user['theme']."/prev.gif";
  // on calcule le nombre d'images à afficher dans une page
  $user['nb_image_page'] = $user['nb_image_ligne'] * $user['nb_ligne_page'];
  // retrieving the restrictions for this user
  $user['restrictions'] = get_restrictions( $user['id'], $user['status'], true );
  
  $isadmin = false;
  include_once( PREFIXE_INCLUDE."./language/".$user['language'].".php" ); // modif
  include_once( PREFIXE_INCLUDE."./include/style.php" );                  // modif

-----  dans functions.php --------------------------
2 lignes modifiées dans la fonction  affiche_icone_recent :

Code:

  function affiche_icone_recent( $date_comparaison )
  {
  global $user, $conf;
  $difference = time() - $date_comparaison;
  $jours = 24*60*60;
  $output = "";
  if( $difference < $conf['periode_longue'] * $jours )
  {
    if( $difference < $conf['periode_courte'] * $jours )
    {
    $image = PREFIXE_INCLUDE."./template/".$user['theme']."/new_long.gif";      // modif
    $size = getimagesize( $image );
    $output = "<img src=\"$image\" style=\"border:0;height:".$size[1]."px;width:".$size[0]."px\" alt=\"\" />";
    }
    else
    {
    $image = PREFIXE_INCLUDE."./template/".$user['theme']."/new_short.gif";   // modif
    $size = getimagesize( $image );
    $output = "<img src=\"$image\" style=\"border:0;height:".$size[1]."px;width:".$size[0]."px\" alt=\"\" />";
    }
  }
  return $output;
  }

Hors ligne

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact