PluXml.org

Blog ou CMS à l'Xml

Vous n'êtes pas identifié(e).

#1 06/04/2009 23:00:36

gcyrillus-nomade
Membre
Lieu : France
Inscription : 30/11/2008
Messages : 308
Site Web

[V4-Statiques] albums photos

Bonjour,

je suis en train de développé un petit album photo (en reprenant en partie un truc que j'avais fait pour la V3) .

Toujours en manque de temps , je dépose ici une premiere version , administrable après que vous soyez logué dans l'administration .
Caractéristiques :
Création ou suppressions d'un ou plusieurs albums.
upload et suppresions d'images
descriptif/legende de l'image , html possible.
test existence du repertoire Album , si non le crée avec un premier album vide .

En regardant d'un peu plus prés le code , vous verrez qu'il vous est possible assez facilement de modifier le template d'affichage de l'image , ou des liens vers les Albums (template gerer par un switch ...)

<?php
/**
 * page statique de gestion d'albums photos
 *
 * @package PLX => page statique : fonctions : création , suppession d'album d'images
 * @author	Gcyrillus , gestion d'uploads et des noms de repertoires/fichiers sur  la base de Pluxml de florent monthel
 **/

// Creation des repertoires de travail si absent 
 			$old= umask();
			umask(0); 			
			if (@mkdir('data/images/Album/',0755)) {
					mkdir('data/images/Album/Album-1',0755);
					}
			umask($old);
// fin test existence repertoire Album 
	include_once(PLX_CORE.'lib/class.plx.admin.php');
	
// reconstruction de l'url d'entrée (pour retour liste cat et formulaire
$geturl = explode("?", $_SERVER['REQUEST_URI']);
$redourl='';
for($i=1;$i < count($geturl);$i++) {
$redourl .=$geturl[$i];
        }
$topurl = explode("&", $redourl);	
$finalurl = $topurl[0];	

// reconstruction url pour album
$albLink=explode("&", $_SERVER['REQUEST_URI']);
$albums=$alblink[0];

// admin inactif par defaut 

										


if (!empty($_POST)) {
	plxUtils::unSlash($_POST);
}
if (!empty($_GET)) {
	plxUtils::unSlash($_GET);
}	

// test si logger en administrateur 
# On démarre la session
session_start();

# Creation de l'objet principal et premier traitement
$plxAdmin = & new plxAdmin(PLX_CONF);
$pwd = $plxAdmin->getPasswd(PLX_ROOT.$plxAdmin->aConf['passwords']);

# Test sur l'identification
if (@!$auth_page AND (empty($_SESSION['admin']) OR empty($pwd[ $_SESSION['author'] ]) OR $pwd[ $_SESSION['author'] ] !== $_SESSION['pass'])) {$mode_admin='InActif';}
else {
$mode_admin='Actif';
// form du choix d'edition 
echo '<div id="admin">
	<h1>MODE ADMINISTRATEUR</h1>
	<p><i>(supression d\'album vide uniquement possible.)</i></p>

';
////////////////////////////////////


# Variables pour le redimensionnement
$width = 200;
$height = 100;
$quality = 80;
if (isset($_GET['galerie'])) {
$album= preg_replace('/[\.\%\&\"\s\'\:\/\[\],_|#*$£=`\+]+/',' ',$_GET['galerie']);
}
# Récupération des images du dossier
$dirImg = 'data/images/Album/'.$album.'/';

$plxImg = & new plxGlob($dirImg);

$aImg = $plxImg->query('/(.+).(gif|jpg|jpeg|png|swf|swc|psd|tiff|bmp|iff|jp2|jpx|jb2|jpc|xbm|wbmp)$/i');
# Suppression d'une image
if(isset($_GET['del']) AND !empty($_GET['hash']) AND $_GET['hash'] == $_SESSION['hash'] AND isset($aImg[ $_GET['del'] ]) AND file_exists($dirImg.$aImg[ $_GET['del'] ])) {
	# On supprime l'image et sa miniature
	if(!@unlink($dirImg.$aImg[ $_GET['del'] ])) # Erreur de suppression
		$msg = 'Impossible de supprimer l\'image (problème d\'écriture dans le dossier '.$dirImg.')';
	else # Ok
		$msg = 'Image supprimée à '.date('H:m:s');
	@unlink($dirImg.$aImg[ $_GET['del'] ].'.tb');
		@unlink($dirImg.$aImg[ $_GET['del'] ].'.txt');
		if(!isset($_GET['oki'])) {
	header('Location:'.$_SERVER['REQUEST_URI'].'&msg='.urlencode($msg).'&oki=duck');
	exit;
}
}

#MISE AJOUR D'UNE DESCRIPTION


if(isset($_GET['txt']))
			{
			$id=$_GET['txt'];
			$fichier_legend=$dirImg.$id.'.txt';
			$poster=explode('.',$id);
			$postlegend ='desc'.$poster[0];
			$f_legende=stripslashes($_POST[$postlegend]);
				$flegende=fopen("$fichier_legend","w+");
				fputs($flegende,$f_legende); 
				fclose($flegende);
				$msg .= '<br />Descriptif mis a jour';
		if(!isset($_GET['oki'])) {
	header('Location:'.$_SERVER['REQUEST_URI'].'&msg='.urlencode($msg).'&oki=duck');
	exit;
				}
				}

				
# Envoi d'une image
if(!empty($_FILES) AND !empty($_FILES['img']['name'])) {
	# On teste l'existence de l'image et on formate le nom du fichier
	$i = 0;
	$upFile = $dirImg.plxUtils::title2filename(plxUtils::unSlash(basename($_FILES['img']['name'])));
	while(file_exists($upFile)) {
		$upFile = $dirImg.$i.plxUtils::title2filename(plxUtils::unSlash(basename($_FILES['img']['name'])));
		$i++;
	}
	if(getimagesize($_FILES['img']['tmp_name'])) { # C'est une image
		if(!@move_uploaded_file($_FILES['img']['tmp_name'],$upFile)) { # Erreur de copie
			$msg = 'Impossible d\'envoyer l\'image (problème d\'écriture dans le dossier '.$dirImg.')';
		} else { # Ok
			@plxUtils::makeThumb($upFile, $upFile.'.tb',$width,$height,$quality);
			$msg = 'Image envoyée à '.date('H:m:s');
						if(!empty($_POST['descriptif'])){
							$fichier_legend =$upFile.".txt";
							$f_legende=fopen("$fichier_legend","w+");
							fputs($f_legende,stripslashes($_POST['descriptif'])); 
							fclose($f_legende);
							$msg .= ' et descriptif enregistré';
						}
		}
	} else { # Ce n'est pas une image
		$msg = 'Le fichier n\'est pas une image';
	}
		header('Location:'.$_SERVER['REQUEST_URI'].'&msg='.urlencode($msg));
	exit;

}

/////////////////////////////////
?>
<?php
if (!$album =='') { ?>
<h2>Uploader et gérer les images pour : <?php echo $album ; ?></h2>
	<p><?php (!empty($_GET['msg']))?plxUtils::showMsg(plxUtils::unSlash(urldecode(trim($_GET['msg'])))):''; ?></p>
	<?php if(!empty($_GET['img']) AND file_exists($dirImg.plxUtils::unSlash(rawurldecode($_GET['img'])))) { # Image particulière ?>

		<img src="<?php echo $dirImg.plxUtils::unSlash(rawurldecode($_GET['img'])); ?>" alt="" />
	<?php } else { # Galerie ?>
		<form enctype="multipart/form-data" action="" method="post">
			<fieldset class="withlabel">
				<legend>Upload d'images</legend>
				<p><input name="img" type="file" /></p>
				<p><label for="descriptif">Légende de l'image</label>
				<textarea name="descriptif" id="descriptif" />Descrition de l'image ...</textarea></p>
				<input type="submit" value="envoyer" /></p>
			</fieldset>
		</form>
		<h2>Album editable : <big><?php echo $album; ?></big></h2>
		<?php
			if (!$aImg) { # Aucune image
				echo 'Aucune image';
			} else { # On affiche les images
				$nb = count($aImg);
				for($i=0; $i < $nb; $i++) {
					echo '<div class="album"><div class="tampon"><p class="thumb">';
					$name = str_replace($dirImg, '',$aImg[$i]);
					if(file_exists($dirImg.$aImg[$i].'.tb')) # On a une miniature
						echo '<img src="'.$dirImg.$aImg[$i].'.tb'.'" alt="'.$name.'"/><br />';
					else # Pas de miniatures
						echo '<span>'.$name.'</span><br />';
					# On affiche les différents liens
					echo '</p>';
					echo '<p class="thumb_link">';
					echo '<a href="'.$_SERVER['REQUEST_URI'].'&img='.rawurlencode($name).'"><img src="core/admin/img/eye.png" alt="Voir" title="Voir l\'image" /></a> ';
					
					
					echo '<a href="'.$_SERVER['REQUEST_URI'].'&del='.$i.'&hash='.$_SESSION['hash'].'" title="Supprimer l\'image" onclick="Check=confirm(\'Supprimer cette image ?\');if(Check==false) return false;"><img src="core/admin/img/delete.png" alt="Supprimer" /></a></p>
					<form method="post" action="'.$_SERVER['REQUEST_URI'].'&txt='.$name.'"><p>descriptif</p>';
					$lequel=explode('.',$name);
					$leg=$lequel[0];
					echo '<p><textarea id="desc'.$leg.'" name="desc'.$leg.'">';
					@include($dirImg.$aImg[$i].'.txt');
					echo '</textarea></p>
					<p><input type="submit" value="MAJ"/></p>
					</form>
					'
					;
					echo '</div></div>'."\n";
				}
			}
		?>
	<?php } # Fin else galerie 
	
} # FIN si !$album 
else {

///////////////////////////////////////////
# Suppression d'un repertoire
$dirImg='data/images/Album/';
if(isset($_GET['delrep']) AND !empty($_GET['hash']) AND $_GET['hash'] == $_SESSION['hash'] ) {
	# On supprime le repertoire
	if(!@rmdir($dirImg.trim($_GET['delrep']) )) # Erreur de suppression
		$msg = 'Impossible de supprimer cet Album (problème d\'écriture dans le dossier '.$dirImg.$_GET['delrep'].' , ou cet album n\'est pas vide)';
	else # Ok
		$msg = 'Album supprimée à '.date('H:m:s');
		if(!isset($_GET['oki'])) {
	header('Location:'.$_SERVER['REQUEST_URI'].'&msg='.urlencode($msg).'&oki=duck');
	exit;
}
}
///////////////////////////////////////////
echo '<h2> Crée un  Album </h2>
	<p>';
	(!empty($_GET['msg']))?plxUtils::showMsg(plxUtils::unSlash(urldecode(trim($_GET['msg'])))):''; echo '</p>';
echo '<form method="post" action="" >
<p><label for="new_album">Nom de l\'album a créer</label>
<input type="text" id="new_album" name="new_album" /></p>
<p><input type="submit" value="créer" /></p>
</form>
';
if (isset($_POST['new_album'])) {
			$dirDest=trim(plxUtils::title2filename(plxUtils::unSlash($_POST['new_album'])));
 			$old= umask();
			umask(0); 			
			mkdir('data/images/Album/'.$dirDest,0755);
			umask($old);
			$msg = 'Album  : '.$dirDest.' créer .';
		header('Location:'.$_SERVER['REQUEST_URI'].'&msg='.urlencode($msg));
	exit;
			}
}
/////////////////////////////////
echo '</div>
';
}

// fin test log admin

						// class  dir recursive .
class dirRecursif{
var $dir;
var $browsed;


function 	dirRecursif($dir) {

										$this->listee($dir);
									}
									
function 	listee($dir ) 	{
										if (is_dir($dir))
										{
										
										$hdir = opendir($dir);
										
										$album=0;
										  while ( $item = readdir($hdir) ) 
										  {
										  
										  	if($item=="." | $item=="..") continue;
											
											if ( !is_dir( $dir.'/'.$item ) ) 
													{
													#tri sur extension 
													$ext = array_reverse(explode(".", $item));
													$extfile= $ext[0];
														if (($extfile =='jpg' || $extfile =='JPG' || $extfile=='gif' || $extfile=='GIF' || $extfile=='png' || $extfile=='PNG'  ))
														{	
														$album++;
														$this->album_num=$album;
														
															// Répertoire => récursion
														  $this->browsed['file'][][$dir] = $item ;
														  $this->browsed['file'][][$dir]['num']=$album;
															// echo   '<p>'.$dir.'/'.$item.'</p>';
														   $this->listee( $dir.'/'.$item );
														  
														}
													}
											else 	{
											$this->browsed['dir'][][$dir] = $dir.$item ;
											//echo   '<p>'.$dir.'/'.$item.'</p>';
											$this->listee( $dir.$item );
													} 
											}
												closedir( $hdir );
										}
										return $this->browsed;
										}
										
function 	triliste($dir,$tri='file') {

					$this->browsed=$this->browsed[$tri];
					return $this->browsed;
			} //fin triliste()	
									
function  	liste_Tpl($dir,$tri='file',$tpl='link',$item) {
	#variable raccourcies pour relecture aisée
	$target=$this->browsed[$item][key($this->browsed[$item])];
//echo '<pre>';
//var_dump($this->browsed[$item+1][key($this->browsed[$item])]['num']);
//echo '</pre>';
		if ($tri=='file') {
					$way=key($this->browsed[$item]).'/'; 
					$alb_num=$this->browsed[$item+1][key($this->browsed[$item])]['num'];
					$em='<em style="display:block;font-size:.5em;">'.$way.'</em>';
				#filtre sur extension de fichier
					$filext = array_reverse(explode(".", $target));
					$extfile= $filext[0];
						if ($extfile =='jpg' || $extfile =='gif' ||  $extfile =='png')
							{
							$tpl=$tpl;	
							}
						else 
							{
							$tpl='skip';
							}
					
				}
		else 	{
					$way='';
					$em='';
				}

	#switch , choix du template d'affichage des résultats
	switch($tpl)
	            {
					case 'skip':
					break;
					
					case 'album':
					$legende=$way.$target.'.txt';
					echo '
					<div class="album"><div class="tampon">
						<h2>
							<a href="'.$way.$target.'" title="acceder à :'.$way.$target.'"  >
							<img src="'.$way.$target.'.tb" alt="illustration N° '.$alb_num.'" longdesc="'.$_SERVER['REQUEST_URI'].'#ill'.$alb_num.'" style="background:url('.$way.$target.');"  rel="'.$way.$target.'" /></a></h2>
						<div id="ill'.$alb_num.'" >';
						
						if(@!include($legende)) {echo 'images sans legende';}
						echo '</div>
					</div></div>';
					break;
	                case 'link' :
	                echo '<p><a href="'.$way.$target.'" title="acceder à :'.$way.$target.'"  >'.$target.'</a></p>';
	                break;
	                case 'linkdir' :
					$albLink=explode("&", $_SERVER['REQUEST_URI']);
					$al=$albLink[0];
					
					$gal = array_reverse(explode("/", $target));
	                echo '<p class="link_album"><span class="tampon"><a href="'.$al.'&galerie='.$gal[0].'" title="acceder à l\'Album  :'.$gal[0].'"  >'.$gal[0].'</a>';
					if ($this->mode_admin =='Actif') {echo' <a class="deleterep" href="'.$al.'&delrep='.$gal[0].'&hash='.$_SESSION['hash'].'" title="Supprimer l\'Album : '.$gal[0].'" onclick="Check=confirm(\'Supprimer cet Album ?\');if(Check==false) return false;"><img src="core/admin/img/delete.png" alt="Supprimer" /></a>';}
					echo '</span></p>';
	                break;

	                default :
	                echo '<p>'.$way.$target.'</p>';
	                break;
	            }// fin switch

}	// fin liste_Tpl()

function 	showliste($dir,$tri='file',$tpl='link',$mode_admin) 	{
	$this->mode_admin=$mode_admin;
	$this->triliste($dir,$tri);

	$ct=count($this->browsed);
	if ( ($ct>0) || (is_array($this->browsed))) {
		for ($i=0;$i<$ct;$i++)
			{
					$this->liste_Tpl($dir,$tri,$tpl,$i);
			}
		}
	else {
		echo '<p>Désolé, Aucun fichiers ou répertoire trouvé .</p>';
		}
		
}	// fin showliste();								
										
#########										
}// fin class 


if (isset($_GET['galerie'])) {

$album= preg_replace('/[\.\%\&\"\s\'\:\/\[\],_|#*$£=`\+]+/',' ',$_GET['galerie']);
$browse= new dirRecursif('data/images/Album/'.$album);
if ($mode_admin !='Actif') {
echo '<h3>Album :'.$album.' </h3>
<p>'.$browse->album_num .' Image(s) dans cet Album .</p>
<div class="post">';


$browse->showliste('data/images/Album/'.$album,'file','album',$mode_admin);
echo '</div>';
}
}
?>
<h3>Les Albums photos disponibles .</h3>
<div class="post"><?php
$browse2= new dirRecursif('data/images/Album/');
$browse2->showliste('data/images/Album/','dir','linkdir',$mode_admin);

?>
</div>

Cette page statique est devellobicolé  sous une des première version de pluxml V4 que j'utilise en multiblog (http://gcyrillux.gcyrillus.com/?static3/album-photos) .

Peut-être que certaines fonctions de la dernière version de pluxml ont changé de nom (capital en minuscule ou vice versa dans la class plxutils )


Si vous voulez tester ou participer a l'amélioration de cette page statique , ne vous gênez pas smile

Bon Web smile

GC


2012 , une année X,M ou L ?
il y a des trucs qui changent ou pas .

Hors ligne

#2 08/04/2009 18:47:47

faboullouss
Membre
Inscription : 02/07/2008
Messages : 36

Re : [V4-Statiques] albums photos

Salut, sympathique initiative, je suis en train de le tester, cependant un défaut (je ferais une review plus complète si tu veux) c'est le fait de ne pouvoir nommer chaque album photo à notre guise (c'est à dire qu'à la place des espaces il y a un tiret et les majuscules ne sont pas possibles) je pense que c'est par soucis de compatibilité, mais est-ce possible de mettre n'importe quel nom d'album ?

Merci wink.

Hors ligne

#3 09/04/2009 16:17:56

gcyrillus-nomade
Membre
Lieu : France
Inscription : 30/11/2008
Messages : 308
Site Web

Re : [V4-Statiques] albums photos

Bonjour,

oui , les albums peuvent recevoir n'importe quel noms , cependant ,ceux-ci sont reformatés avec le gestionnaire de nom de fichier de pluxml (title2url() ) . Le nom de l'album est le nom du répertoire dans lequel se trouve les images .

Pour ne pas soulever d'erreur (plxglob) , il est nescessaire de creer les repertoires Album et au moins un sous répertoire (nom arbitraire) . Il suffit d'en creer un autre puis d'effacer : album-1 smile

Il n'est pas possible de les renommer , (sauf en renommant les dossiers par le FTP .)

Seul un album vide de fichier peut-être effacer .

Il n'y a qu'en passant ce gestionnaire directement dans pluxml , qu'il serait aisée , de renommer , de donner les noms que l'on veut aux albums en le lien a un fichier xml descriptif.

Tant que Pluxml ne gerera pas les plug-ins , je ne chercherait pas a modifier les fichiers d'origines (comme j'ai pu le faire sur la V3 ) , les pages statiques sont suffisantes et marques justement une évolution intéressante , permettant de tester des ébauches de plugins et de découvrir des bug ou incompatibilités de script/fonctions.

Encore une fois , je laisse a dispo un script créer pour mes besoins personnel et qui me sembler intéressant a partager .

Ce script peut aussi servir a d'autre contenu , moyennant une modification des templates (ajout d'une option dans le switch a cet effet ) et des fichiers que l'on peut télécharger  (sans se substituer non plus au gestionnaire de document .)

D'ailleurs si le gestionnaire d'images pouvait gérer les dossiers et les légendes/descriptions des images , cette page statiques n'aurait pas lieu d'être , une partie de ce script pourrait-être intégrer au gestionnaire d'images.

Ce script est un script de base donc , qui ne gère simplement les album en scannant les répertoires .

nom d'album = nom de répertoire .(accent et caractéres spéciaux interdits )

pour les images :
miniatures = image.jpg.tb
grandes images = image.jpg
description = image.jpg.txt

Chacun est libres d'y apportere ces modifications et de les partager smile

GC


2012 , une année X,M ou L ?
il y a des trucs qui changent ou pas .

Hors ligne

#4 08/06/2009 23:02:27

Deevad
Membre
Lieu : TOULOUSE
Inscription : 27/05/2009
Messages : 130
Site Web

Re : [V4-Statiques] albums photos

Ce script m'intéresse vivement et fonctionne facilement avec une V4 fraiche , j'envisage de le détourner pour en faire une page dans l'admin en fixe, tout en gardant un code d'inclusion dans une page statique qui permettrait "d'appeler un album" ( bref insérer automatiquement un lot de thumbnails )
Si j'arrive à y mettre du temps ; je ferais remonter mes trouvailles ici. En tout cas merci pour cette base et pour la liberté que tu offres et avec laquelle tu présente son partage.


mon webcomic open-source motorisé par Pluxml: www.peppercarrot.com

Hors ligne

#5 11/06/2009 03:02:46

gcyrillus-nomade
Membre
Lieu : France
Inscription : 30/11/2008
Messages : 308
Site Web

Re : [V4-Statiques] albums photos

smile je t'en prie , je ne fait que suivre la licence de pluxml smile

C'est en effet une base simple et le choix de l'administration de la page statique coté interface publique est volontaire , cela ne chamboule pas le code a l'occasion d'une mise a jour de pluxml .
Ce n'est même pas de la fainéantise de ma part smile , c'est juste que je me suis attardé a ne faire qu'un truc de base qui ne touche pas a pluxml , qui n'a rien de web2 ou orienté réseau de tout genre smile ,
en fait c'etait pour ma petite soeur a la base smile .

Pour generer des thumbnails , la fonctions existe deja dans pluxml , en la couplant a un test recursif du repertoire genre : si images , et si image sans  thumbnails alors faire le thumbnail  (donc utile pour un upload massif par ftp smile ) on s'en sort sans avoir beaucoup de code et test a faire . 
ensuite et avec une variable en plus dans l'appe de la fonction , tu peut terminer effectivement en automatisant l'inclusion de tes thumbnails dans une page classique de pluxml ... au lieu d'avoir un bouton qui insere une image , il insere toutes les miniatures du repertoire  smile .  Je suis curieux de voir ta modification smile



GC


2012 , une année X,M ou L ?
il y a des trucs qui changent ou pas .

Hors ligne

#6 11/06/2009 15:46:06

marama
A la retraite !
Lieu : Versailles
Inscription : 11/12/2006
Messages : 788
Site Web

Re : [V4-Statiques] albums photos

gcyrillus est heureux aujourd'hui vu le nb de smile ....

Hors ligne

#7 03/07/2009 08:38:30

Deevad
Membre
Lieu : TOULOUSE
Inscription : 27/05/2009
Messages : 130
Site Web

Re : [V4-Statiques] albums photos

Un petit up, juste pour donner des news ; Alors j'ai fait beaucoup beaucoup de modif, et fait un gros mix entre ton script gcyrillus-nomade et celui de gok6tm ( http://forum.pluxml.org/viewtopic.php?id=1128 ) qui reprends images.php.
En fait ;
- j'ai conserver l'arborescence de gotk6tm et le confort d'utilisation dans l'admin par images.php
- J'ai ajouter le champs de description de gcyrillus-nomade , qui enregistre sous le nomdefichierimage.jpg.txt la description.
- J'ai reviser le thumnailing
- J'ai modifier l'insert en javascript pour faire un code exploitable par une "lightbox" js ; ou je récupère aussi la description dans l'argument "title".

Voilà, c'est assez gros bazard à mettre en place mais si il y a des intéressé je balance les sources.


mon webcomic open-source motorisé par Pluxml: www.peppercarrot.com

Hors ligne

#8 17/07/2009 16:03:53

gcyrillus-nomade
Membre
Lieu : France
Inscription : 30/11/2008
Messages : 308
Site Web

Re : [V4-Statiques] albums photos

Bonjour,

bah ecoute oui , je suis interesser par ton adaptation , de mon coté , pour une version anterieur de pluxml , j'ai aussi readapter ma gallerie de façon a trier les images au drag & drop , avec la possibilté de les avoir publié ou non . basé sur un jquery et ajax , c'est assez sympa . Manque quand même la gestion de tri possible si pas de js (donc encore dans les cartons )
Le jquery mis en place pourrait aussi servir au lighbox (ou alike) .

Je reste encore dans l'idée d'une version en page statiques , independantes de pluxml pour ne pas y touché.

GC


2012 , une année X,M ou L ?
il y a des trucs qui changent ou pas .

Hors ligne

#9 18/07/2009 09:50:40

Gzyg
Membre
Lieu : Paris
Inscription : 25/09/2006
Messages : 812
Site Web

Re : [V4-Statiques] albums photos

Je suis intéressé par une gestion "lightbox-like" en page statique. smile


à plus,

Gzyg

Hors ligne

#10 27/07/2009 15:01:08

Deevad
Membre
Lieu : TOULOUSE
Inscription : 27/05/2009
Messages : 130
Site Web

Re : [V4-Statiques] albums photos

pluxml-image-patch.jpg
PLop ! Désolé du délais ; pas mal de travail par ici :

Alors pour ma gallerie : sous forme de Patch :
http://david.revoy.free.fr/forums/pluxm … -image.zip

voici le contenu du "readme" avec :
----------------
Images gallery :
----------------
Optimisé pour Pluxml 4.1 ; petit patch fait par Deevad
d'après le mix d'un script de Gok6tm et de G.Cyrillus
( sans copyright toutefois ).

## Fichiers patché :
core/admin/images.php
core/lib/function.js
+ ajoute des images pour les thumbnails dans core/admin/

## Instalation :
Copier le dossier core à la base de votre pluxml ; acceptez l'écrasement des fichiers.
C'est patché !

## Utilisation :
Permet de classer les images dans les dossiers et ajouter une description en texte simple.
Permet d'ajouter des effets de lightbox pour les images.
Optimisé pour Prettyphoto ; http://www.no-margin-for-errors.com/pro … box-clone/
   

( pour ceux qui ont dans leur dossier theme un autre script ;  editer le fichier core/lib/function.js , remplacer la balise de déclanchement de votre script d'affichage de photo
           ex : rel="prettyPhoto['+dir+']"  par rel="lightbox['+dir+']"   )

Voilà, bon Patch ! Et sauvegarde avant tout, je ne suis pas responsable de gros bug sur vos données, même si ici j'ai testé mon joujou sur plusieurs "fresh install".

David
_____________________________________
PS: pour l'antialias des thumbnails :
editez class.plx.utils.php  dans /core/lib/ et remplacer :
imagecopyresized
par
imagecopyresampled

Dernière modification par Deevad (27/07/2009 15:11:18)


mon webcomic open-source motorisé par Pluxml: www.peppercarrot.com

Hors ligne

#11 27/07/2009 22:24:55

Gzyg
Membre
Lieu : Paris
Inscription : 25/09/2006
Messages : 812
Site Web

Re : [V4-Statiques] albums photos

Je vais installer ça... merci. smile


à plus,

Gzyg

Hors ligne

#12 28/07/2009 10:34:12

Deevad
Membre
Lieu : TOULOUSE
Inscription : 27/05/2009
Messages : 130
Site Web

Re : [V4-Statiques] albums photos

Gzyg a écrit :

Je vais installer ça... merci. smile

à plus,

Gzyg

Pour que l'effet de gallerie fonctionne n'oublie pas d'installer PrettyPhoto (copier les dossier css / img / js dans ton theme ) ;
http://www.no-margin-for-errors.com/pro … box-clone/

Télécharger Jquery , ici je l'ai enregistrer dans le dossier "js" de mon theme et renommé "jquery.js"

et dans ton dossier de theme ; dans header.php d'ajouter avant la balise "</head>
 

	<script src="<?php $plxShow->template(); ?>/js/jquery.js" type="text/javascript" charset="utf-8"></script>
	<link rel="stylesheet" href="<?php $plxShow->template(); ?>/css/prettyPhoto.css" type="text/css" media="screen" charset="utf-8" />
	<script src="<?php $plxShow->template(); ?>/js/jquery.prettyPhoto.js" type="text/javascript" charset="utf-8"></script>

Voilà, et même en statique, tu devrais avoir l'effet souhaité.


mon webcomic open-source motorisé par Pluxml: www.peppercarrot.com

Hors ligne

#13 28/07/2009 11:57:43

FredFred
Membre
Lieu : East Brighton
Inscription : 22/03/2009
Messages : 64
Site Web

Re : [V4-Statiques] albums photos

Wow, c'est super de proposer tout ça! Ca ouvre pas mal de perspective wink
Je vais de ce pas sauvegarder/modifier mon site tout implémenter.
Merci encore pour cette contribution, que cela marche ou pas pour moi tongue

Hors ligne

#14 28/07/2009 20:25:02

Gzyg
Membre
Lieu : Paris
Inscription : 25/09/2006
Messages : 812
Site Web

Re : [V4-Statiques] albums photos

Oui j'ai déjà utilisé PrettyPhoto (et autres FancyZoom ou ThickBox que j'adore !), mais merci de la précision. wink

Un retour d'ici quelques jours...


à plus,
Gzyg

Hors ligne

#15 31/07/2009 19:51:59

gcyrillus-nomade
Membre
Lieu : France
Inscription : 30/11/2008
Messages : 308
Site Web

Re : [V4-Statiques] albums photos

idem , retour aprés mon retour de vacances + quelques jours.

Merci smile


2012 , une année X,M ou L ?
il y a des trucs qui changent ou pas .

Hors ligne

#16 07/08/2009 19:08:18

Kikounet
Membre
Inscription : 07/08/2009
Messages : 2

Re : [V4-Statiques] albums photos

Bonjour à tous. Ceci est mon premier post. Je suis encore un peu perdu avec ce blog qui me convient déjà très bien tel qu'il est.
La possibilité de publier une galerie de photos de façon simple et sans avoir à utiliser le FTP(*) me séduirait énormément, mais vos explications m'effraient un petit peu. Il y a une chance que cela soit un jour intégré au blog d'origine ?
P.S. Sur mon lieu de vacances, le spot Wi-Fi n'autorisait que le HTTP

Hors ligne

#17 10/08/2009 14:09:08

gcyrillus-nomade
Membre
Lieu : France
Inscription : 30/11/2008
Messages : 308
Site Web

Re : [V4-Statiques] albums photos

Bonjour,

en regle général , lorsqu'un script php se charge de redimensionné une photo , il faut au préalable "allégée" l'image a uploader.

Une image en 1600X1200 avec 1 million de couleurs n'a d'interet que pour l'impression ou un travail en local , Pour le net ... le navigateur va d'abord diminuer la qualité de l'image avant de l'affiché , la reduire a la taille de la fenêtre .... bref telecharger 7 ou 8 mega ne sert a rien.

Penser donc a reduire vos image a une taille d'ecran moyenne (largeur 1024 ou 800 de hauteur par exemple) et dimineur  le nombre de couleur.

Vos images seont ensuite un peu plus adapté a un usage web , plus rapide à telecharger et uploader ,  demandant des ressources moindres pour les scripts qui vont les redimensionner (generation de thumbnail) . les navigateurs, de toutes façon , sont limiter par la palette de couleur qu'il utiliserons (nombre de couleur) .

Autant servir des le départ des images pas trop lourdes et garder vos originaux haute résolution au chaud a la maison.

Le format jpg et bien adapté pour la photo , puis de nombreux logiciel permettent de traiter des dossiers complets d'un coup .

une petite recherche sur les termes : rééchantillonnage images devrait vous aider.

GC


2012 , une année X,M ou L ?
il y a des trucs qui changent ou pas .

Hors ligne

#18 26/08/2009 16:46:26

vidub2001
Membre
Inscription : 20/03/2009
Messages : 19

Re : [V4-Statiques] albums photos

Bonjour,

Je viens d'essayer le script de galerie standard comme donné au début du post et j'ai les erreurs suivantes sur la page statique d'affichage des albums quand je rentre dans un album :

Notice: Array to string conversion in C:\wamp\www\data\statiques\003.album.php on line 317

Notice: Undefined offset: 4 in C:\wamp\www\data\statiques\003.album.php on line 314

Notice: Array to string conversion in C:\wamp\www\data\statiques\003.album.php on line 317

Je fonctionne avec une 4.1.1

Je vous remercie pour votre aide

Cordialement
Fabrice

Dernière modification par vidub2001 (26/08/2009 17:08:46)

Hors ligne

#19 26/08/2009 22:17:36

gcyrillus-nomade
Membre
Lieu : France
Inscription : 30/11/2008
Messages : 308
Site Web

Re : [V4-Statiques] albums photos

bonsoir,



Je n'ai pas cette erreur sur un 4.1.1 fraichement telecharger et un copier/coller du script ci-dessus .

Ta page statique est-elle le copier/coller du premier post ?
Si non , qu'as tu modifier ?

pour info : ligne 314 a 317 du script ci dessus :

                    $filext = array_reverse(explode(".", $target));
                    $extfile= $filext[0];
                        if ($extfile =='jpg' || $extfile =='gif' ||  $extfile =='png')
                            {

Quel est la version de php utilisée ?
L'erreur apparait-elle sitot que tu souhaite te servir de l'album ? Ou bien apparait-elle aprés que tu ais commencé a créer et modifier tes albums ?

L'erreur apparait-elle aussi chez ton hebergeur (si tu en as un) ?

GC

P.S.
@Deevad : je n'ai pas encore pris le temps de tester ta version

Dernière modification par gcyrillus-nomade (26/08/2009 22:21:31)


2012 , une année X,M ou L ?
il y a des trucs qui changent ou pas .

Hors ligne

#20 26/08/2009 23:05:59

Deevad
Membre
Lieu : TOULOUSE
Inscription : 27/05/2009
Messages : 130
Site Web

Re : [V4-Statiques] albums photos

gcyrillus-nomade a écrit :

@Deevad : je n'ai pas encore pris le temps de tester ta version

Plop ! no soucis ; je dois d'ailleurs me lancer à mettre à jour un 4.1 à 4.1.1 ; je dirais bientôt si la galerie tient le coup en 4.1.1


mon webcomic open-source motorisé par Pluxml: www.peppercarrot.com

Hors ligne

#21 26/08/2009 23:41:05

vidub2001
Membre
Inscription : 20/03/2009
Messages : 19

Re : [V4-Statiques] albums photos

Bonsoir,

En fait gcyrillus-nomade, tu m'as mis sur la voie avec ta réponse

En effet, cela vient de mon Wamp, en fait j'ai fait tous mes tests sur une ancienne version et là, je viens de passer à Wamp 2, version de PHP 5.2.6
ET tout fonctionne sans erreur, avec le copier/coller du post
ET sur mon hébergeur (OVH Plan 90) aussi tout est OK, je n'avais pas encore fait la mise à jour, car je migre de MyPluxml à Pluxml 4 ! :-)

TOUTES mes excuses pour vous avoir fait cogité sur un faux problème !

Merci pour votre aide et pour ce beau programme ! :-)

Cordialement
Fabrice

Dernière modification par vidub2001 (26/08/2009 23:41:48)

Hors ligne

#22 27/08/2009 00:02:43

gcyrillus-nomade
Membre
Lieu : France
Inscription : 30/11/2008
Messages : 308
Site Web

Re : [V4-Statiques] albums photos

Okay smile , pas de soucis , tu me rassures .

Je dois dire que le : " Notice: Array to string conversion" me mettait mal a l'aise .
j'initialise rarement mes variables par defaut (=>warnings) et ne pense jamais a verifier ou tester le type d'une variable ...  d'ou le doute qui m'a envahit jusqu'a ce que je teste dans le dernier pluxml  .

Bonne continuation.

GC


2012 , une année X,M ou L ?
il y a des trucs qui changent ou pas .

Hors ligne

Pied de page des forums

A propos Nous soutenir Contact Twitter Google+
Copyright © 2006-2016 PluXml.org, tous droits réservés