Aller au contenu

[PHP] Clide


Absynthe

Messages recommandés

J'avais oublié de préciser :

// Génération du HTML
if ($file_bool)
{
for ($i = 0; $i != $file_count; $i++)
{
	$html_files .= "\n			<div>\n";
	$html_files	.= "				<div class=\"right\">\n";
	$html_files .= "					<div class=\"size\">".$file_array[$i]['size']."</div>\n";
	if ($set_modif_date == 1)
		$html_files .= "					<div class=\"date\">".$file_array[$i]['date']."</div>\n";
	$html_files .= "				</div>\n";
	$html_files .= "				<div class=\"".style($line)."\"><img src=\"".$file_array[$i]['icone']."\" alt=\"".strtoupper($file_array[$i]['ext'])."\" />\n";
	$html_files .= "					<a href=\"".$file_array[$i]['path']."\">".$file_array[$i]['name']."</a>\n";
	$html_files .= "				</div>\n";
	$html_files .= "			</div>\n";
	$line++;
}
}

à remplacer par

// Génération du HTML
if ($file_bool)
{
for ($i = 0; $i != $file_count; $i++)
{
	$html_files .= "\n\t\t\t<div>\n";
	$html_files	.= "\t\t\t\t<div class=\"right\">\n";
	$html_files .= "\t\t\t\t\t<div class=\"size\">".$file_array[$i]['size']."</div>\n";
	if ($set_modif_date == 1)
		$html_files .= "\t\t\t\t\t<div class=\"date\">".$file_array[$i]['date']."</div>\n";
	$html_files .= "\t\t\t\t</div>\n";
	$html_files .= "\t\t\t\t<div class=\"".style($line)."\"><img src=\"".$file_array[$i]['icone']."\" alt=\"".strtoupper($file_array[$i]['ext'])."\" />\n";
	$html_files .= "\t\t\t\t\t<a href=\"".$file_array[$i]['path']."\">".$file_array[$i]['name']."</a>\n";
	$html_files .= "\t\t\t\t</div>\n";
	$html_files .= "\t\t\t</div>\n";
	$line++;
}
}

Voilà c'est plus propre encore ! :transpi:

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 51
  • Créé
  • Dernière réponse

J'avais oublié de préciser :

// Génération du HTML
if ($file_bool)
{
for ($i = 0; $i != $file_count; $i++)
{
	$html_files .= "\n			<div>\n";
	$html_files	.= "				<div class=\"right\">\n";
	$html_files .= "					<div class=\"size\">".$file_array[$i]['size']."</div>\n";
	if ($set_modif_date == 1)
		$html_files .= "					<div class=\"date\">".$file_array[$i]['date']."</div>\n";
	$html_files .= "				</div>\n";
	$html_files .= "				<div class=\"".style($line)."\"><img src=\"".$file_array[$i]['icone']."\" alt=\"".strtoupper($file_array[$i]['ext'])."\" />\n";
	$html_files .= "					<a href=\"".$file_array[$i]['path']."\">".$file_array[$i]['name']."</a>\n";
	$html_files .= "				</div>\n";
	$html_files .= "			</div>\n";
	$line++;
}
}

à remplacer par

// Génération du HTML
if ($file_bool)
{
for ($i = 0; $i != $file_count; $i++)
{
	$html_files .= "\n\t\t\t<div>\n";
	$html_files	.= "\t\t\t\t<div class=\"right\">\n";
	$html_files .= "\t\t\t\t\t<div class=\"size\">".$file_array[$i]['size']."</div>\n";
	if ($set_modif_date == 1)
		$html_files .= "\t\t\t\t\t<div class=\"date\">".$file_array[$i]['date']."</div>\n";
	$html_files .= "\t\t\t\t</div>\n";
	$html_files .= "\t\t\t\t<div class=\"".style($line)."\"><img src=\"".$file_array[$i]['icone']."\" alt=\"".strtoupper($file_array[$i]['ext'])."\" />\n";
	$html_files .= "\t\t\t\t\t<a href=\"".$file_array[$i]['path']."\">".$file_array[$i]['name']."</a>\n";
	$html_files .= "\t\t\t\t</div>\n";
	$html_files .= "\t\t\t</div>\n";
	$line++;
}
}

Voilà c'est plus propre encore ! :transpi:

Je me permets une petite remarque sur ton code (ne m'en veux pas, mais tu sais que j'aime faire mon chieur :incline: ):

Tu utilises des doubles quotes, alors que des simple quotes suffiraient.

Je m'explique: pour tous les passages qui ne concernent que du (X)HTML (ce qui est le cas sur chaque ligne de la boucle), tu remplaces les doubles quotes délimitant le début et la fin des chaines de caractères par des simples quotes et ainsi tu n'auras pas à backslasher les doubles quotes concernant les valeurs des attributs des balises (faites-moi signe quand vous êtes largués :incline: ).

Je dis ca parce qu'en fait, ca a un impact (pardon, INpact :jesquate: ) sur la vitesse d'exécution du code: PHP interprète le contenu d'une chaine de caractères contenue entre double quotes, mais ne le fait pas pour des chaines entre simples quotes (c'est d'ailleurs pour ca qu'on peut placer des variables dans une chaine de caractère délimitée par des doubles quotes et la voir être interprétée). Ce qui entraine un temps d'analyse pour la chaine qui est inutile, vu qu'elle ne contient pas de variable.

Le script en deviendrait à la fois plus lisible (les backslashes ca rend vite le code illisible, on sait plus où faut les mettre et pas les mettre) et ca rend le code plus rapide...

Voilà, c'était ma minute chieur, merci d'avoir tenu jusqu'à la fini de mon commentaire :incline:

Lien vers le commentaire
Partager sur d’autres sites

Ben raté : c'est pas de moi ca ! :incline: J'ai juste procédé aux indentations.

En fait moi je préfère les avoir visibles et donc ne pas utiliser les "\t". Mais je me conforme à Absynthe à qui appartient l'appli. :jesquate:

Pour les quotes j'ai le même raisonnement que toi et je l'applique pour mes projets ! :incline:

Après pour tout ce genre de modifs, c'est un peu selon le goût de chacun donc à nous de procéder à des adaptations pour notre utilisation !

La licence GPL est la pour ca non ? Le "Mr Libre" de la promo aurait-il oublié ce que ca veut dire ? :incline:

Lien vers le commentaire
Partager sur d’autres sites

Il est possible de modifier l'apparence d'un repository (arborescence web) avec un .htaccess comme celui-ci non ?

IndexOptions +NameWidth=* SuppressLastModified FancyIndexing
IndexIgnore header.html icons
IndexIgnore footer.html icons
HeaderName header.html 
ReadmeName footer.html
AddIcon http://www.monsite.com/.icones/Folder5.png ^^DIRECTORY^^
AddIcon http://www.monsite.com/.icones/Back2.png ..
AddIcon http://www.monsite.com/.icones/Acrobat.png .pdf
AddIcon http://www.monsite.com/.icones/Firefox.png .htm .html
AddIcon http://www.monsite.com/.icones/exe.png .exe
AddIcon http://www.monsite.com/.icones/iPhoto.png .jpeg
AddIcon http://www.monsite.com/.icones/Preview.png .gif
AddIcon http://www.monsite.com/.icones/TextEdit.png .txt .rtf

Lien vers le commentaire
Partager sur d’autres sites

Suite de ma contribution : j'ai maintenant modifié la structure de la partie admin.

Au programme :

- Disparition de tableau au profit du css

- Amélioration du code source généré

+ détails ...

1°) J'ai ajouté un bouton reset sur le formulaire d'authentification : ca sert toujours un peu ! ...
:byebye:

2°) Pour ceux que ca INtéresse, j'ai mis un lien vers la "Zone publique" juste à la gauche de la "map". Ca permet de vérifier l'appli en tant que visiteur suite à une modif par exemple ! Même si Absynthe ne le garde pas, demandez moi les modif nécessaires si cela vous dit !
:roll:

Le template a été modifié (css) pour intégrer de nouveaux trucs pour l'admin.

Pour info, j'ai été contraint de laisser un avertissement sur la validation du css :roll: . Cela est du à l'affichage du formulaire d'authentification : je l'ai voulu identique sur FF et IE, d'où le hack qui provoque le warning ! ...

Les nouveaux fichiers : admin.php et template.php (zip ou tar).

Au fait c'est quoi l' "image dynamique du dossier" ???

J'ai pas compris à quoi ca sert ...

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ton boulot, ca sera inclut dans la 1.4.3

Pour ceux que ca INtéresse, j'ai mis un lien vers la "Zone publique" juste à la gauche de la "map". Ca permet de vérifier l'appli en tant que visiteur suite à une modif par exemple ! Même si Absynthe ne le garde pas, demandez moi les modif nécessaires si cela vous dit !

Ca je voit pas ou ca se trouve dans tes fichiers.

Au fait c'est quoi l' "image dynamique du dossier" ???

J'ai pas compris à quoi ca sert ...

Ca sert a avoir un avatar dynamique, l'image change a chaque refresh de la page et c'est images sont prises dans le dossier spécifié dans l'url.

Lien vers le commentaire
Partager sur d’autres sites

Ca je voit pas ou ca se trouve dans tes fichiers.

En fait je ne l'ai pas encore proposé ici. J'ai INtégré ca à la fonction map :

// Fonction de génération du plan du site
function map()
{
global $root_name;
$script_name	= $_SERVER['SCRIPT_NAME'];

// Génération de la map pour l'index
if (eregi('index.php', $script_name))

a remplacer par :

// Fonction de génération du plan du site
function map()
{
global $root;
global $root_name;
$script_name	= $_SERVER['SCRIPT_NAME'];
///index.php
$html_map = "<div class=\"map\">";

if ($script_name == "/admin.php") {
	$html_map .= "<a href='$root/index.php'>Zone publique</a> -- ";
}

// Génération de la map pour l'index
if (eregi('index.php', $script_name))

Ceci donne donc ($root_name a la valeur "Accueil") :

newmap1ie.jpg

Ca sert a avoir un avatar dynamique, l'image change a chaque refresh de la page et c'est images sont prises dans le dossier spécifié dans l'url.

Par "avatar", tu parles de favicon : l'image a gauche dans la barre d''url ? :byebye:

Lien vers le commentaire
Partager sur d’autres sites

Petit ajout : j'ai fait apparaître en bas de listing le nombre de dossiers et fichiers. Il m'a fallu utiliser une nouvelle variable de façon à récupérer le nombre de chaque type d'items.

Donc pour cela il faut l'intialiser (l.28 de scan.php) :

$line 			= 1;
$file_count 	= 0;
$rep_count		= 0; // <- LA NOUVELLE VARIABLE
$file_bool		= FALSE;
$file_array 	= array();
$html_body		= "";
$html_files		= "";

puis on l'utilise à la ligne 78 :

					$file_bool							= TRUE;
				$file_count++;
				$rep_count++;
			}

et on procède à l'affichage différent selon la présence ou non de fichiers et dossiers (à la ligne 136):

// Génération du HTML
if ($file_bool)
{
for ($i = 0; $i != $file_count; $i++)
{
	$html_files .= "\n\t\t\t<div>\n";
	$html_files	.= "\t\t\t\t<div class=\"right\">\n";
	$html_files .= "\t\t\t\t\t<div class=\"size\">".$file_array[$i]['size']."</div>\n";
	if ($set_modif_date == 1)
		$html_files .= "\t\t\t\t\t<div class=\"date\">".$file_array[$i]['date']."</div>\n";
	$html_files .= "\t\t\t\t</div>\n";
	$html_files .= "\t\t\t\t<div class=\"".style($line)."\"><img src=\"".$file_array[$i]['icone']."\" alt=\"".strtoupper($file_array[$i]['ext'])."\" />\n";
	$html_files .= "\t\t\t\t\t<a href=\"".$file_array[$i]['path']."\">".$file_array[$i]['name']."</a>\n";
	$html_files .= "\t\t\t\t</div>\n";
	$html_files .= "\t\t\t</div>\n";
	$line++;
}

// Nombre de fichiers et dossiers
$nb_files = $file_count - $rep_count;

if ($nb_files && $rep_count)
{
	$html_files .= "<div class=\"description\">$rep_count dossiers & $nb_files fichiers</div>";
}
elseif ($rep_count)
{
	$html_files .= "<div class=\"description\">$rep_count dossiers</div>";
}
elseif ($nb_files) {
	$html_files .= "<div class=\"description\">$nb_files fichiers</div>";
}
}

Voilà :pastaper:

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...
  • 7 mois après...

bonjour a tous

je viens d'installer clide sur un serveur web chez moi....et c'est vraiment bien foutu, bref beau travail.

ça fonctionne vraiment tres bien, seulement je voudrai faire une ptite modification et je ne connait pas grand chose au php.

voila : je voudrai que le player n'affiche plus les videos, musiques et qu'on puisse les télécharger directement en cliquant sur le fichier voulu dans l'arborescence.

je voudrai seulement que le player fonctionne pour les images, photos,...

aidez moi svp.....merci !

Lien vers le commentaire
Partager sur d’autres sites

Malheureusement Absynthe n'est pas repassé ici depuis bien longtemps et le développement n'a pas avancé d'après ce que je peux voir.

A l'époque de ma dernière modif', je crois que la chose n'avait pas été ajouté : il attendait la prochaine version il me semble.

Lien vers le commentaire
Partager sur d’autres sites

Le plus simple pour toi est de commenter les lignes permettant la lecture des vidéos via l player. De cette manière les vidéos seront proposées automatiquement au download (ce que tu souhaites) et tu conserves l'intégrité du code pour réactiver éventuellement cette fonction plus tard.

Pour cela, sui les instructions suivantes :

1- ouvres le fichier config.php (dans le répertoire "system") et commentes les lignes 39 et 42 :

$audio_played 		= "mp3|ogg|wma|wav";				// Extentions audio lues dans le player

$video_played 		= "mpg|mpe|mpa|mpeg|asf|wmv|mov";	// Extentions vidéos lues dans le player

deviennent

//$audio_played 		= "mp3|ogg|wma|wav";				// Extentions audio lues dans le player

//$video_played 		= "mpg|mpe|mpa|mpeg|asf|wmv|mov";	// Extentions vidéos lues dans le player

2- ouvres le fichier player.php et commentes les lignes 55 à 59 :

if (eregi('\.('.$audio_played.')$', $path))

{

	$html_body .= "<div class=\"media\"><embed src=\"".urleencode(filepath().$path)."\" /></div>";

	$html_body .= "<br /><div class=\"description\"><a href=\"".urleencode(filepath().$path)."\">$file_name</a></div>";

}

devient

/*if (eregi('\.('.$audio_played.')$', $path))

{

	$html_body .= "<div class=\"media\"><embed src=\"".urleencode(filepath().$path)."\" /></div>";

	$html_body .= "<br /><div class=\"description\"><a href=\"".urleencode(filepath().$path)."\">$file_name</a></div>";

}*/

Dans ce même fichier, il faut aussi commenter les lignes 182 à 207 :

else if ( eregi('\.('.$video_played.')$', $file) )

{

	if ( eregi('\.(mov|mpg|mpeg)$', $file) )

	{

		// Code HTML pour streamer un fichier quicktime

		$html_body .= "

		<div class=\"media\">

		<object classid=\"CLSID:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B\" codebase=\"http://www.apple.com/qtactivex/qtplugin.cab\">

		<param name=\"controller\" value=\"true\" />

		<param name=\"autoplay\" value=\"true\" />

		<param name=\"src\" value=\"".urleencode(filepath().$path)."\" />

		<embed width=\"$quicktime_width\" height=\"$quicktime_height\" src=\"".urleencode(filepath().$path)."\" type=\"video/quicktime\" controller=\"true\" autoplay=\"true\"></embed>

		</object>

		</div>";

		$html_body .= "<br /><div class=\"description\"><a href=\"".urleencode(filepath().$path)."\">$file_name</a></div>";

	}

	else

	{

		// Code HTML pour streamer un fichier vidéo

		$html_body .= "\n

		<div class=\"media\">

		<embed src=\"".urleencode(filepath().$path)."\" width=\"$video_width\" height=\"$video_height\" autostart=\"1\" />

		</div>"; 

		$html_body .= "<br /><div class=\"description\"><a href=\"".urleencode(filepath().$path)."\">$file_name</a></div>";

	}

}

devient

/*else if ( eregi('\.('.$video_played.')$', $file) )

{

	if ( eregi('\.(mov|mpg|mpeg)$', $file) )

	{

		// Code HTML pour streamer un fichier quicktime

		$html_body .= "

		<div class=\"media\">

		<object classid=\"CLSID:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B\" codebase=\"http://www.apple.com/qtactivex/qtplugin.cab\">

		<param name=\"controller\" value=\"true\" />

		<param name=\"autoplay\" value=\"true\" />

		<param name=\"src\" value=\"".urleencode(filepath().$path)."\" />

		<embed width=\"$quicktime_width\" height=\"$quicktime_height\" src=\"".urleencode(filepath().$path)."\" type=\"video/quicktime\" controller=\"true\" autoplay=\"true\"></embed>

		</object>

		</div>";

		$html_body .= "<br /><div class=\"description\"><a href=\"".urleencode(filepath().$path)."\">$file_name</a></div>";

	}

	else

	{

		// Code HTML pour streamer un fichier vidéo

		$html_body .= "\n

		<div class=\"media\">

		<embed src=\"".urleencode(filepath().$path)."\" width=\"$video_width\" height=\"$video_height\" autostart=\"1\" />

		</div>"; 

		$html_body .= "<br /><div class=\"description\"><a href=\"".urleencode(filepath().$path)."\">$file_name</a></div>";

	}

}*/

Voilà :-D

Lien vers le commentaire
Partager sur d’autres sites

merci de m'avoir repondu...en plus c'est bien expliqué

j'ai bien les modifications mais maintenant j'ai un message d'erreur qui s'affiche quand je rentre dans un dossier qui contient des photo, video...

-> Warning: eregi() [function.eregi]: REG_EMPTY in F:\Serveur\www\root\system\fonctions.php on line 84

Lien vers le commentaire
Partager sur d’autres sites

C'est bizarre : j'ai pas ce warning chez moi et j'arrive pas à le reproduire.

Bon essaies en modifiant la ligne 84 du fichier fonctions.php (répertoire system) :

if ($set_player == 1 && eregi('\.('.$audio_played.'|'.$video_played.'|'.$picture_played.'|'.$picture_played.'|'.$text_played.'|'.$php_played.'|'.$flash_played.') , $file))

devient

if ($set_player == 1 && eregi('\.('./*$audio_played.'|'.$video_played.'|'.*/$picture_played.'|'.$picture_played.'|'.$text_played.'|'.$php_played.'|'.$flash_played.') , $file))

Lien vers le commentaire
Partager sur d’autres sites

j'ai appliqué la modif et ça fonctionne, seulement maintenant j'ai un autre probleme, des que je clic sur une photo pour l'afficher il me met le message d'erreur suivant :

Parse error: parse error, unexpected T_ELSE in F:\Serveur\www\root\player.php on line 62

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.


×
×
  • Créer...