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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ....