Tuto pour : Image Scroller (flashthumb) - Filmstrip et intégration au CMS e107 Tuto pour : Image Scroller (flashthumb) - Filmstrip et intégration au CMS e107
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

Tuto pour : Image Scroller (flashthumb) - Filmstrip et intégration au CMS e107

Started by Daddy Cool, May 21, 2007, 06:05:17 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Daddy Cool

Bonjour, tel que recommandé par PYAP, je vous ramène ici une petite méthode de derrière les fagots qui vous permettra d'utiliser les exceptionnelles performances qu'offre Coppermine (son filmstrip), particulièrement lorsque vous l'insérez dans un autre CMS (Content Management System) et que vous ne savez pas trop où et comment faire pour avoir les mêmes performances...

Bref, voici un petit résumé de la méthode à employer pour faire fonctionner le filmstrip (aka flashthumb ou bande d'images déroulantes aléatoires.. nommez le comme vous voulez  ;D ) à l'intérieur d'un autre CMS, ici e107.

Tout d'abord, commencez par télécharger le fichier attaché à ce message (filmstrip_for_e107.zip). Vous trouverez les originaux dans ce message : Forum Coppermine

Dézippez ce fichier dans votre répertoire Coppermine, à la racine des fichiers coppermine..

Pour comprendre comment fonctionne ce filmstrip, tout d'abord, il faut comprendre que les fichiers Flash (main.swf et flashthumb.swf) vont chercher l'adresse des images à afficher dans un "fichier" XML. Ce fichier XML est créé dynamiquement par le fichier flashthumb.php , c'est celui ci que vous devez éditer pour qu'il réfère correctement l'adresse des images de votre gallerie de photos. Attention lors de 'édition de ce fichier, lorsqu'il est lancé seul (directement, en l'entrant dans la barre d'adresse), le contenu doit être uniquement du contenu XML (<?xml ...... ).

Ce fichier (flashthumb.php) est lancé directement par le flash (main ou flashthumb). D'où l'importance de l'ecrire correctement pour qu'il soit 'autonome' (qu'il est l'accès à la base de données tout seul).

Dans le post précédent, vous voyez donc le code original pour que ça fonctionne avec une gallerie Coppermine "pure" (qui n'est pas intégré/hacké).

Maintenant, si vous voulez l'utiliser avec une gallerie photos montée dans un autre système de site web, vous devez transformer ce fichier afin qu'il aille farfouiller dans votre base de données les photos existantes et qu'il renvoit l'adresse correcte.

Voici ce que ça donne avec le CMS e107 :
<?php
require_once("../../class2.php");
$xml '<?xml version="1.0" encoding="UTF-8" ?>
<slideshow><settings><image_folder></image_folder><time>5</time><fade>3</fade><repeat>true</repeat><captions>false</captions></settings><images>';
$sql->db_Select("CPG_pictures","filepath,filename"," filename LIKE '%.jpg' ORDER BY RAND() LIMIT 16");
while ($row = $sql->db_Fetch())
{

$type = 'thumb';
$xml .= "<image><file><![CDATA[albums/". $row['filepath']."thumb_".$row['filename'] ."]]></file><caption></caption></image>";
}
$xml .= '</images></slideshow>';
echo $xml;
?>

Quelle est la différence ?
De 1, vous voyez qu'il n'y a plus de référence (require(...)) à des fichiers de coppermine, ce code n'utilise que les fonctions propres au CMS e107.
Pourquoi ? Parce que lors du lancement de la référence require('include/init.inc.php');, le pont qui est constitué entre la gallerie photo Coppermine et le CMS e107 lançait le thème du CMS e107. C'est à dire que le site web était en partie activé, donc le contenu renvoyé lors de l'activation de flashthumb.php n'était pas simplement un contenu XML.

Bref, de cette façon, vous créez un fichier contenant purement que du XML.

Donc, pour vous assurer que votre fichier est correctement construit, lancez le fichier flashthumb.php directement à partir de la barre d'adresse et ensuite vérifiez le code source de la page obtenue (Affichage/Code source). Vérifiez si le code est bien formé (surtout l'adressage des images), voici un exemple de ce qui doit être obtenu :
<?xml version="1.0" encoding="UTF-8" ?> <slideshow>
<settings>
<image_folder></image_folder>
<time>5</time>
<fade>3</fade>
<repeat>true</repeat>
<captions>false</captions>
</settings>
<images>
<image>
<file><![CDATA[albums/mechoui/thumb_IMG14.jpg]]></file>
<caption></caption></image>
<image>
<file><![CDATA[albums/mechoui/thumb_IMG17.JPG]]></file>
</images>
</slideshow>


Si vous obtenez quelque chose du genre, vous devriez avoir réussi ^_^

Voilà, j'espère que ces explications pourront en aider certain ;)

ps. pour les bricoleurs, ce filmstrip peut en fait être utilisé avec n'importe quel base de données, tant que vous renseignez correctement l'adresse des images, vous pouvez mettre ce flash où bon vous semble ;)