Précédent   Forum des professionnels en informatique > PHP > Scripts > Blog
Blog Forum d'entraide sur les scripts de Blogs pour PHP (WordPress, DotClear, b2evolution etc.). Avant de poster -> Blogs en PHP, Cours WordPress
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/06/2007, 06h03   #1
Membre éprouvé
 
Avatar de gtraxx
 
Homme Aurélien Gérits
Développeur Web
Inscription : mai 2006
Messages : 1 045
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gérits
Âge : 30
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2006
Messages : 1 045
Points : 498
Points : 498
Par défaut Ameliorer la fonction de mon plugin

Bonjour a tous , j'ai construit un script qui me sert de plugin sous dotclear 2.
Celui-ci fonctionne bien ,mais il manque quelque chose pour ajuster ce travail.
Ceci me tiens fort a coeur étant donné que j'y passe de long moment , mais l'esprit a ses limites et de l'aide est toujours la bienvenue
Pour commencer ,j'initialise quelque variable et d'autre petite chose anodine
Ensuite , je m'attarde sur le chargement du dossier nommé minialbum qui bien entendu s'il n'existe pas renvoi un message pour que celui-ci soit mis en place
jusque la rien de sorcier , par contre j'aimerai améliorer les conditions et performance de celui-ci en vérifiant si ce dossier contient bien des images, renvoyant ainsi un message si aucune image n'est disponible.
Mais ce n'est pas tout je cherche la possibilité d'ajouter des sous dossiers ou encore de choisir le nom du dossier a la place de "minialbum".
PS: j'ai aussi un bug avec le dernier foreach qui me fais apparaitre la description en url en dessous des images ajoutant ainsi une incrementation qui n'as rien a y faire.
Voici le script que j'essaie d'améliorer :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
public static function minialbumWidget(&$w)
	{
		global $core;
		if ($w->homeonly && $core->url->type != 'default') {return;}
		$url1 = str_replace("\r",'',$w->url1);
		$url1 = explode("\n",$url1);
		/* Echap les caractères Xhtml */
		$titre= $w->Titre ? html::escapeHTML($w->Titre) : __('minialbum');
		/* Description optionnel de l'album*/
		$description= $w->description ? html::escapeHTML($w->description) : '';
		$mesimg_ft = array();
			$cpt_ft = 0;
			# Si dossier créer 
			if ($handle_ft = @opendir($core->blog->public_path."/minialbum")) {
				// traverser un dossier correctement
	 		  while (false !== ($file_ft = readdir($handle_ft))) {
			       if ($file_ft != "." && $file_ft != "..") {
				   	  if (substr($file_ft,0,1)!="."){
					  	$verifimg.=','.$file_ft;
			           	$mesimg_ft[$cpt_ft] = $file_ft;
			           	//incremente 
					   	$cpt_ft++;
					  }
			       }
			 }
		   	 closedir($handle_ft);
		}#sinon j'affiche
		$chemin = http::concatURL($core->blog->url,$core->blog->settings->public_url.'/minialbum/');		
		$return = '<div class="aff_div" id="minialbum">';		
		$return .= '<h2>'.$titre.'</h2>';
		$return .= '<div style="text-align: center;">'.$description.'</div><br />';
		if (is_dir($core->blog->public_path."/minialbum")){
		foreach ($mesimg_ft as &$value) {
			$value ='<a href="'.$chemin.''.$value.'" rel="lightbox[groupe]">
			<img src="'.$chemin.''.$value.'" width="47" height="45" alt="'.$description.'"/></a>';
			$return .= $value;
			}
		}else {
			$return .= '<div style="color:red;">'. __('The administrator do not have to create yet the repertory minialbum with the root of the manager of media').'</div><br />';
		}	
		/*foreach ($url1 as &$value2) {
			$value2 ='<a href="'.$value2.'" rel="lightbox[groupe]">
			<img src="'.$value2.'" width="47" height="45" alt="'.$description.'"/></a>';
			$return .= $value2;
		}*/
		$return .='</div>';
		return $return;
	}
Vous remarquerez que j'ai mis le 2em foreach en commentaire le temps que je trouve ce qui se passe ....
__________________
Au petit déjeuner, je prend du PHP et au souper du jQuery.
AFUP 2009 : Bien optimiser son code pour le référencement
Mon projet open source de librairie PHP 5: magix cjquery
gtraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2007, 17h33   #2
Membre éprouvé
 
Avatar de gtraxx
 
Homme Aurélien Gérits
Développeur Web
Inscription : mai 2006
Messages : 1 045
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gérits
Âge : 30
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2006
Messages : 1 045
Points : 498
Points : 498
J'aurai peut être du poster dans un autre emplacement, dans gestion des fichiers ???
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Si dossier créer 
			if ($handle_ft = @opendir($core->blog->public_path."/minialbum")) {
				// traverser un dossier correctement
	 		  while (false !== ($file_ft = readdir($handle_ft))) {
			       if ($file_ft != "." && $file_ft != "..") {
				   	  if (substr($file_ft,0,1)!="."){
					  	$verifimg.=','.$file_ft;
			           	$mesimg_ft[$cpt_ft] = $file_ft;
			           	//incremente 
					   	$cpt_ft++;
					  }
			       }
			 }
		   	 closedir($handle_ft);
		}#sinon j'affiche
Cette façon de procéder viens de la doc officiel http://be.php.net/opendir mais j'aimerai ajouter une condition pour tester si le dossier minialbum contient bien des images en excluant les autres média afin de ne pas les afficher dans le plugin .
__________________
Au petit déjeuner, je prend du PHP et au souper du jQuery.
AFUP 2009 : Bien optimiser son code pour le référencement
Mon projet open source de librairie PHP 5: magix cjquery
gtraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h51.


 
 
 
 
Partenaires

Hébergement Web