File "reference_code_explorateur.php"
Full Path: /home/analogde/www/download/CHESS_2022/reference_code_explorateur.php
File size: 38.81 KB
MIME-type: text/x-php
Charset: utf-8
<?php
session_start();
//$_SESSION['repertoire'] = "Users/pistache";
$basedir = $_SESSION['repertoire'];
//echo $basedir;
//echo "<br>";
//echo getcwd();
//echo "<br>";
//$s = getcwd();
//$decompose = explode('/',$s);
//$element = end($decompose);
//echo $element;
$updatecheck = "yes";
###
$enable_css = "no";
$enable_logout = "no";
### autorisation
$allow_move = "yes";
$allow_download = "yes";
$allow_copy = "yes";
$allow_touch = "no";
$allow_rename = "yes";
$allow_edit = "yes";
$allow_chmod = "yes";
$allow_delete = "yes";
$allow_upload = "yes";
$allow_create_dir = "yes";
$allow_create_file = "yes";
$allow_display_env = "no";
$not_allowed = "Cette fonction n'est pas disponible. Consulter l'administrateur.";
$html_copyright = "</td></tr><tr><td colspan=\"2\"><hr></td></tr><tr><th colspan=\"2\" bgcolor=\"#4C4C99\"><font size=\"-1\" color=\"white\" face=\"arial, helvetica\">Patrice Delpy 2013</font></th></tr></table></body></html>";
############### Size for textarea
if($enable_css == "yes")
{
$textrows = "27";
$textcols = "160";
}
else
{
$textrows = "20";
$textcols = "100";
}
############### If $wdir (working directory) isn't specified, set it as a slash (/)
if(!$wdir) $wdir="/";
//echo $wdir;
###############################################################################
function image_size()
{
$size = GetImageSize("$image");
}
###############################################################################
function html_header(){
global $basedir;
global $wdir;
global $lastaction;
global $version;
global $HTTP_REFERER;
global $action;
global $webname;
global $display;
global $file;
global $browse;
global $raw;
global $image;
global $fileurl;
global $enable_css;
global $allow_display_env;
global $enable_logout;
echo " <BR> ";
echo " <BR> ";
############ We want a BACK link when viewing pictures and raw text.
if($action == "show")
{
echo " <td width=\"50%\" nobreak><b><font size=\"3\" color=\"#4C4C99\" face=\"arial, helvetica\">$lastaction</font></b></td>";
echo "<div id=\"back_link\">";
echo " <td width=\"50%\" nobreak align=\"right\"><b><font size=\"3\" color=\"#4C4C99\" face=\"arial, helvetica\"><a href=\"$HTTP_REFERER\" title=\"Retour\"><img SRC=\"images/undo.png\" title=\"Retour\">Back</a></font></b></td>";
//<IMG SRC=\"images/word.png\" title=\"Fichier Word\" alt=\"Fichier Word\" border=\"0\" width=\"13\" height=\"16\">
echo "</div>";
}
############ We dont want a BACK link
else
{
echo " <td colspan=\"2\"><b><font size=\"3\" color=\"#4C4C99\" face=\"arial, helvetica\">$lastaction</font></b></td>";
}
echo "<BR>";
echo "<BR>";
echo "<tr>";
echo "<td colspan=\"2\"><hr><td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan=\"2\">";
}
###############################################################################
function display_size($file)
{
//preg_match("/([^A-Za-z0-9])/",$file,$result);
//On cherche tt les caractères autre que [A-Za-z] ou [0-9]
//if(empty($result))
if(is_file($file))
{
$file_size = filesize($file);
if($file_size >= 1073741824)
{
### en giga
$file_size = round($file_size / 1073741824 * 100) / 100 . " Go";
}
elseif($file_size >= 1048576)
{ ### en mega
$file_size = round($file_size / 1048576 * 100) / 100 . " Mo";
}
elseif($file_size >= 1024)
{ ### en kilo
$file_size = round($file_size / 1024 * 100) / 100 . " Ko";
}
else{ ### en octet (byte)
$file_size = $file_size . " Octets";
}
return $file_size;
}
}
###############################################################################
############ List the files function
function list_files()
{
global $basedir;
global $wdir;
global $single;
global $key;
global $allow_move;
global $allow_chmod;
global $allow_create_file;
global $allow_create_dir;
global $allow_upload;
global $allow_touch;
global $allow_delete;
################## Load directory into array
$handle=opendir(".");
while ($file = readdir($handle))
{
if(is_file($file)) $filelist[] = $file;
}
closedir($handle);
############### List files
if($filelist)
{
############### Sort the filelist alphabetically
asort($filelist);
while (list ($key, $file) = each ($filelist))
{
############### Registered filetypes. You can add more filetypes here at wish..
############### Check what fileformat it is and give it the correct icon and attributes
$ext = strrchr ( $file , "." );
$ext = strtolower($ext);
// modifier le 18 fev 2013
//$path = "/WORKAREA/WEBSITE/" .substr($basedir, 3) .substr($wdir,1) .$file;
//$s = getcwd();
//$decompose = explode('/',$s);
//$element = end($decompose);
$element = "site_27_09_2013_template";
//echo "+++" .$wdir ."+++";
$rep = dirname($_SERVER["PHP_SELF"]);
$chemin = $rep ."/" .$basedir .$wdir .$file;
//echo $chemin;
//echo "<br/>";
//echo "<br/>";
$path = "/WORKAREA/WEBSITE/" .$element ."/" .$basedir .$wdir .$file;
//echo $path;
//$path = "/WORKAREA/WEBSITE/" .$element ."/" .$basedir .substr($wdir,1) .$file;
############### Image
if((!strcasecmp ($ext, ".gif")) || (!strcasecmp ($ext, ".jpg")) || (!strcasecmp ($ext, ".png")) || (!strcasecmp ($ext, ".bmp")) || (!strcasecmp ($ext, ".jpeg")))
{ //echo $path ;
//$icon = "<IMG SRC=\"images/image.gif\" title=\"Fichier Image\" alt=\"Fichier Image\" border=\"0\" width=\"16\" height=\"16\">";
$icon = '<a href="charge_image.php?image='.$path.'"><img src = "images/image.gif" title= "Visualiser l\'image"></a>';
$browse = "1";
$raw = "0";
$image = "1";
}
############### Documents Office & autres
elseif((!strcasecmp ($ext, ".doc")) || (!strcasecmp ($ext, ".docx")) )
{ //echo $path;
$icon = "<a href=\"$path\"><IMG SRC=\"images/word.png\" title=\"Fichier Word\" alt=\"Fichier Word\" border=\"0\" width=\"13\" height=\"16\"></a>";
$browse = "1";
$raw = "0";
$image = "0";
}
elseif((!strcasecmp ($ext, ".xls")) || (!strcasecmp ($ext, ".xlsx")) )
{ //echo $path ;
$icon = "<a href=\"$path\"><IMG SRC=\"images/excel.png\" title=\"Fichier Excel\" alt=\"Fichier Excel\" border=\"0\" width=\"13\" height=\"16\"></a>";
$browse = "1";
$raw = "0";
$image = "0";
}
elseif((!strcasecmp ($ext, ".ppt")) || (!strcasecmp ($ext, ".pptx")) )
{ //echo $path;
$icon = "<a href=\"$path\"><IMG SRC=\"images/powerpoint.png\" title=\"Fichier Powerpoint\" alt=\"Fichier Powerpoint\" border=\"0\" width=\"13\" height=\"16\"></a>";
$browse = "1";
$raw = "0";
$image = "0";
}
elseif(!strcasecmp ($ext, ".pdf"))
{ //echo $path;
$icon = "<a href=\"$path\"><IMG SRC=\"images/pdf.png\" title=\"Fichier Acrobat\" alt=\"Fichier Acrobat\" border=\"0\" width=\"13\" height=\"16\"></a>";
$browse = "1";
$raw = "0";
$image = "0";
}
############### Fichier texte
elseif(!strcasecmp ($ext, ".txt"))
{
$icon = "<IMG SRC=\"images/text.gif\" title=\"Fichier Texte\" alt=\"Fichier Texte\" border=\"0\" width=\"13\" height=\"16\">";
$browse = "1";
$raw = "1";
$image = "0";
}
############### Audiofile
elseif((!strcasecmp ($ext, ".wav")) || (!strcasecmp ($ext, ".mp3")) || (!strcasecmp ($ext, ".midi")) || (!strcasecmp ($ext, ".mid")))
{
$icon = "<a href=\"$path\"><IMG SRC=\"images/music.png\" title=\"Fichier Audio\" alt=\"Fichier Audio\" border=\"0\" width=\"13\" height=\"16\"></a>";
$browse = "1";
$raw = "0";
$image = "0";
}
############### Videofile
elseif((!strcasecmp ($ext, ".mp4")) || (!strcasecmp ($ext, ".avi")) || (!strcasecmp ($ext, ".mpg")) || (!strcasecmp ($ext, ".wmv")) || (!strcasecmp ($ext, ".flv")) || (!strcasecmp ($ext, ".mov")))
{
$icon = "<a href=\"$path\"><IMG SRC=\"images/video.png\" title=\"Fichier Video\" alt=\"Fichier Video\" border=\"0\" width=\"13\" height=\"16\"></a>";
$browse = "1";
$raw = "0";
$image = "0";
}
############### Fichier Zip
elseif((!strcasecmp ($ext, ".zip")) || (!strcasecmp ($ext, ".tar")) || (!strcasecmp ($ext, ".rar")) || (!strcasecmp ($ext, ".gz")) || (!strcasecmp ($ext, ".tgz")))
{
$icon = "<IMG SRC=\"images/compressed.png\" title=\"Fichier compressé'\" alt=\"Fichier compressé'\" border=\"0\" width=\"15\" height=\"15\">";
$browse = "0";
$raw = "0";
$image = "0";
}
############### Script
elseif((!strcasecmp ($ext, ".phps")) || (!strcasecmp ($ext, ".php")) || (!strcasecmp ($ext, ".php2")) || (!strcasecmp ($ext, ".php3")) || (!strcasecmp ($ext, ".php4")) || (!strcasecmp ($ext, ".phtml")) || (!strcasecmp ($ext, ".asp")) || (!strcasecmp ($ext, ".asa")) || (!strcasecmp ($ext, ".cgi")) || (!strcasecmp ($ext, ".shtml")) || (!strcasecmp ($ext, ".pl")))
{
$icon = "<IMG SRC=\"images/webscript.gif\" title=\"Script exécuté par le serveur\" alt=\"Script exécuté par le serveur\" border=\"0\" width=\"15\" height=\"15\">";
$browse = "1";
$raw = "1";
$image = "0";
}
############### Apache Webserver security settings
elseif(!strcasecmp ($ext, ".htaccess"))
{
$icon = "<IMG SRC=\"images/security.gif\" title=\"Fichier de sécurité du serveur Apache (configuration)\" border=\"0\" width=\"15\" height=\"16\">" ;
$browse = "0";
$raw = "1";
$image = "0";
}
############### Web page
elseif ((!strcasecmp ($ext, ".html")) || (!strcasecmp ($ext, ".htm")))
{
$icon = "<IMG SRC=\"images/webpage.gif\" title=\"Page web HTML\" alt=\"Page web HTML\" border=\"0\" width=\"15\" height=\"15\">";
$browse = "1";
$raw = "1";
$image = "0";
}
############### Inconnu
else
{
$icon = "<IMG SRC=\"images/text.gif\" alt=\"Extension non répertorié par l'application\" border=\"0\" width=\"15\" height=\"15\">";
$browse = "1";
$raw = "1";
$image = "0";
}
############### List the file(s)
$filename=$basedir.$wdir.$file;
$fileurl=rawurlencode($wdir.$file);
if(is_file($file))
{
$nom = basename ($file);
//echo ">>>>> " .$nom;
$lastchanged = filectime($nom);
$changeddate = date("d-m-Y H:i:s", $lastchanged);
}
echo "<TR>";
echo "<TD align=\"center\" nobreak>";
############### Make the fileicon clickable for quickviewing
if($raw == "1")
{
echo "<A HREF=\"$PHP_SELF?action=show&wdir=$wdir&file=$fileurl&object=file&browse=$browse&raw=$raw\">";
}
if($image == "1")
{
echo "<A HREF=\"$PHP_SELF?action=show&wdir=$wdir&file=$fileurl&image=$image&object=file&browse=$browse&raw=$raw\">";
}
echo "$icon</TD>\n";
echo "<TD nobreak><font size =\"-1\" face=\"arial, helvetica\">" . htmlspecialchars($file) . "</font></TD>\n";
echo "<TD align=\"right\" nobreak><font size =\"-1\" face=\"arial, helvetica\">" . display_size($file) . "</font></TD>";
echo "<TD align=\"right\" nobreak><font size =\"-1\" face=\"arial, helvetica\">" . $changeddate . "</font></TD><TD align=\"right\">";
############### CHMOD file?
if($allow_chmod == "yes")
{
echo "<A HREF=\"$PHP_SELF?action=chmod&wdir=$wdir&file=$fileurl&browse=$browse&raw=$raw&image=$image&fileurl=$fileurl\" title=\"Change le niveau des permissions du fichier : $file\">";
}
echo "<font size =\"-1\" face=\"arial, helvetica\">";
if(is_file($file))
{printf("%o", (fileperms($file)) & 0777);
}
echo "</font>";
if($allow_chmod == "yes")
{
echo "</A>";
}
echo "</TD><TD nobreak>";
############### Move file?
if($allow_move == "yes")
{
echo " <A HREF=\"$PHP_SELF?action=move&wdir=$wdir&file=$fileurl&object=file&browse=$browse&raw=$raw&image=$image&fileurl=$fileurl\"><img src=\"images/move.gif\" title=\"Déplace, renomme ou copie le fichier : $file\" border=\"0\" width=\"15\" height=\"15\"></A> ";
}
############### Touch file?
if($allow_touch == "yes")
{
echo " <A HREF=\"$PHP_SELF?action=touch&wdir=$wdir&touchfile=$fileurl&browse=$browse&raw=$raw&image=$image&fileurl=$fileurl\"><img src=\"images/touch.gif\" alt=\"Touch $file\" border=\"0\" width=\"12\" height=\"16\"></A> ";
}
############### Delete file?
if($allow_delete == "yes")
{
echo "<A HREF=\"$PHP_SELF?action=del&wdir=$wdir&file=$fileurl&browse=$browse&raw=$raw&image=$image&fileurl=$fileurl\"><img src=\"images/delete.gif\" title=\"Effacer le fichier\" border=\"0\" width=\"20\" height=\"16\"></A> ";
}
############### If the file can be browsed, give it the browse icon
/*if($browse == "1")
{
echo " <A HREF=\"$wdir$file\"><img src=\"images/browse.gif\" alt=\"Affiche dans le navigateur : $file\" border=\"0\" width=\"16\" height=\"16\"></A> ";
}*/
############### If the file can be edited, give it the edit icon
if($raw =="1")
{
echo " <A HREF=\"$PHP_SELF?wdir=$wdir&action=edit&display=1&file=$fileurl&browse=$browse&raw=$raw&image=$image&fileurl=$fileurl\"><img src=\"images/edit.gif\" title=\"Edition du fichier : $file\" border=\"0\" width=\"16\" height=\"16\"></A> ";
}
}
}
}
### liste des objets (tableau contenant les repertoires ou les fichiers)
function displaydir()
{
global $file;
global $basedir;
global $wdir;
global $allow_create_file;
global $allow_create_dir;
global $allow_upload;
global $allow_touch;
global $allow_delete;
global $allow_move;
global $single;
//html_header();
### haut du listing
if(isset($single))
{
echo "<TABLE BORDER=\"0\" cellspacing=\"1\" cellpadding=\"1\" align=\"center\">";
}
else
{
echo "<TABLE BORDER=\"0\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">";
}
echo "<tr>";
echo "<th bgcolor=\"#4C4C99\"><font color=\"white\" face=\"arial, helvetica\">Type</font></th>";
echo "<th bgcolor=\"#4C4C99\"><font color=\"white\" face=\"arial, helvetica\">Nom</font></th>";
echo "<th bgcolor=\"#4C4C99\"><font color=\"white\" face=\"arial, helvetica\">Taille</font></th>";
echo "<th bgcolor=\"#4C4C99\"><font color=\"white\" face=\"arial, helvetica\">Modifications</font></th>";
echo "<th bgcolor=\"#4C4C99\"><font color=\"white\" face=\"arial, helvetica\">Droits</font></th>";
echo "<th bgcolor=\"#4C4C99\"><font color=\"white\" face=\"arial, helvetica\">Action</font></th>";
echo "</tr>";
################## Load directory into array
if(!isset($single))
{
//echo ">>>> " .$single;
chdir($basedir . $wdir);
//echo "++++++ " .$basedir . $wdir ." ++++ " .getcwd();
$handle=opendir(".");
while ($file = readdir($handle))
{
if(is_dir($file)) $dirlist[] = $file;
}
closedir($handle);
############### List directories first
if($dirlist)
{
############### Sort alphabetically
asort($dirlist);
############### Walk through array
while (list ($key, $file) = each ($dirlist))
{
################## Skip the tiresome "."
if (!($file == "."))
{
$filename=$basedir.$wdir.$file;
$fileurl=rawurlencode($wdir.$file);
//echo "+++++++ " .$basedir ." " .$wdir ." " .$file ."+++++++ ";
$rep = getcwd();
//$tmp = substr($basedir,2) .$wdir .$file;
//$tmp = "../WORKAREA/WEBSITE" .$tmp;
//echo " ---- " .$tmp ."----- ";
//$tmp = '/homez.65/analogde/www/WORKAREA/WEBSITE/Users/lucien/Docs';
$lastchanged = filectime($rep);
$changeddate = date("d-m-Y H:i:s", $lastchanged);
echo "<TR>";
############### Print PARENT arrow
if($file == "..")
{
$downdir = dirname("$wdir");
echo "<TD align=\"center\" nobreak><A HREF=\"$PHP_SELF?action=chdr&file=$downdir\"><img src=\"images/parent.gif\" alt=\"Répertoire parent\" border=\"0\" width=\"20\" height=\"16\"></a></TD>\n";
echo "<TD></TD>\n";
echo "<TD align=\"right\" nobreak><font size =\"-1\" face=\"arial, helvetica\">" . display_size($filename) . "</font></TD>";
echo "<TD align=\"right\" nobreak><font size =\"-1\" face=\"arial, helvetica\">" . $changeddate . "</font></TD><TD align=\"right\">";
printf("%o", (fileperms($file)) & 0777);
if(is_file($file))
{printf("%o", (fileperms($file)) & 0777);
}
echo "</TD><TD nobreak>";
echo "<A HREF=\"$PHP_SELF?action=chdr&file=$downdir\"><img src=\"images/parent.gif\" alt=\"Répertoire parent\" border=\"0\" width=\"20\" height=\"16\"></A> ";
}
############### List the directory
else
{
//echo "****** " .$tmp ."***** ";
$lastchanged = filectime($rep);
echo "<TD align=\"center\" nobreak><A HREF=\"$PHP_SELF?action=chdr&file=$fileurl\"><img src=\"images/folder.gif\" alt=\"Changement de destination : répertoire vers $file\" border=\"0\" width=\"15\" height=\"13\"></a></TD>\n";
echo "<TD nobreak><font size =\"-1\" face=\"arial, helvetica\">" . htmlspecialchars($file) . "</font></TD>\n";
echo "<TD align=\"right\" nobreak><font size =\"-1\" face=\"arial, helvetica\">" . display_size($filename) . "</font></TD>";
echo "<TD align=\"right\" nobreak><font size =\"-1\" face=\"arial, helvetica\">" . $changeddate . "</font></TD><TD align=\"right\">";
echo "<A HREF=\"$PHP_SELF?action=chmod&file=$filename\" title=\"Change le niveau des permissions du fichier : $file\"><font size =\"-1\" face=\"arial, helvetica\">";
printf("%o", (fileperms($file)) & 0777);
if(is_file($file))
{ echo ">> " .$file ;
printf("%o", (fileperms($file)) & 0777);
}
echo "</A>";
echo "</font></TD><TD nobreak>";
############### Move directory?
if($allow_move == "yes")
{
echo " <A HREF=\"$PHP_SELF?action=move&wdir=$wdir&file=$fileurl\"><img src=\"images/move.gif\" alt=\"Renomme le fichier : $file\" border=\"0\" width=\"15\" height=\"15\"></A> ";
}
############### Touch directory?
/*if($allow_touch == "yes")
{
echo " <A HREF=\"$PHP_SELF?action=touch&wdir=$wdir&touchfile=$fileurl\"><img src=\"images/touch.gif\" alt=\"Touch $file\" border=\"0\" width=\"12\" height=\"16\"></A> ";
}*/
############### Delete directory?
if($allow_delete == "yes")
{
echo "<A HREF=\"$PHP_SELF?action=del&wdir=$wdir&file=$fileurl\"><img src=\"images/delete.gif\" alt=\"Supprime le fichier : $file\" border=\"0\" width=\"20\" height=\"16\"></A> ";
}
}
}
}
}
list_files();
echo "</TD></TR>\n";
echo "</TABLE>";
############### Display forms for different actions
echo "<table border=\"0\" width=\"100%\">";
echo "<TR><TD colspan=\"2\"><hr></td>";
############### Upload file
if($allow_upload == "yes")
{
echo "<TR><TD><font size =\"-1\" face=\"arial, helvetica\">Upload file</font></td><td>";
echo "<FORM ENCTYPE=\"multipart/form-data\" METHOD=\"POST\" ACTION=\"$PHP_SELF\">";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"wdir\" VALUE=\"$wdir\">";
echo "<INPUT NAME=\"userfile\" TYPE=\"file\" size=\"40\">";
echo "<INPUT TYPE=\"SUBMIT\" NAME=\"upload\" VALUE=\"Go!\"></TD></TR>";
echo "</FORM>";
}
############### création d'un répertoire
if($allow_create_dir == "yes")
{
echo "<FORM METHOD=\"POST\" ACTION=\"$PHP_SELF\">";
echo "<TR><TD><font size =\"-1\" face=\"arial, helvetica\">Créer un répertoire</font></td><td>";
echo "<INPUT TYPE=\"TEXT\" NAME=\"mkdirfile\" size=\"40\">";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"action\" VALUE=\"mkdir\">";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"wdir\" VALUE=\"$wdir\">";
echo "<INPUT TYPE=\"SUBMIT\" NAME=\"mkdir\" VALUE=\"VALIDER\"></TD></TR>";
echo "</FORM>";
}
############### création d'un fichier
if($allow_create_file == "yes")
{
echo "<FORM METHOD=\"POST\" ACTION=\"$PHP_SELF\">";
echo "<TR><TD><font size =\"-1\" face=\"arial, helvetica\">Créer un fichier</font></td><td>";
echo "<INPUT TYPE=\"TEXT\" NAME=\"file\" size=\"40\">";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"action\" VALUE=\"createfile\">";
//echo "<input type=\"checkbox\" name=\"html\" value=\"yes\"><font size =\"-2\" face=\"arial, helvetica\">(html template)</font> ";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"wdir\" VALUE=\"$wdir\">";
echo "<INPUT TYPE=\"SUBMIT\" NAME=\"createfile\" VALUE=\"VALIDER\">";
echo "</TD></TR>";
echo "</FORM>";
}
echo "</TABLE>";
}
else
{
list_files();
}
}
#########################################################################################################
############### The user pressed CANCEL, set the $action to nothing
if($cancel) $action="";
############### User has entered .. as directory. Potential security breach. Deny access.
$regexp="\\.\\.";
if (ereg( $regexp, $file, $regs )| ereg( $regexp, $wdir,$regs ))
{
$lastaction = "ERROR: Directories may not contain the character \"..\"";
html_header();
exit;
}
############### Upload file
if($upload)
{
/*<script type="text/JavaScript">
function progressbar() {
document.write (".. traitement en cours, veuillez patienter ...");
}
</script> */
echo $userfile;
echo '<br/>';
echo '<br/>';
echo $basedir.$wdir.$userfile_name;
copy($userfile,$basedir.$wdir.$userfile_name);
$lastaction = "Upload du fichier $userfile_name to $wdir";
html_header();
displaydir();
exit;
}
#########################################################################################################
############### Begin actions code
switch ($action)
{
#########################################################################################################
############### aucune action - affichage initial
case "":
$lastaction = "Résultat de l'action ->>> Contenu du repertoire";
html_header();
displaydir();
break;
#########################################################################################################
############### aide en ligne
case "help":
$lastaction = "Aide contextuelle";
html_header();
echo("Voici la page d'aide, le reste viendra plus tard");
break;
#########################################################################################################
############### passage en mode root
/*case "root":
$wdir="/";
$lastaction = "Répertoire réserver exclcusivement à l'administrateur";
html_header();
displaydir();
break;*/
#########################################################################################################
############### affiche le tableau - PHP env
case "env":
if($allow_display_env == "no")
{
$lastaction = $not_allowed;
html_header();
displaydir();
}
else
{
$lastaction = "Affiche le fichier PHP.ini du serveur ";
html_header();
phpinfo();
}
break;
#########################################################################################################
############### change de repertoire
case "chdr":
//$basedir
//$wdir=$file."/";
//echo "dfggg " .$basedir ."/Docs";
/* echo '</br>';
echo '********************************';
echo '</br>';
echo "Variable " .$file;
echo '</br>';
echo '********************************';
echo '</br>';
if($file == ".")
{ $file = "";
}
echo '</br>';
echo '********************************';
echo '</br>';
$changement = $_SESSION['repertoire'] .$file;
echo "Changement " .$changement;
echo '</br>';
echo '********************************';
echo '</br>';
$wdir = chdir($changement);
$wdir = getcwd();
/*echo '</br>';
echo '********************************';
echo '</br>';
echo "Memoire " .$stocke_rep;
$wdir = $stocke_rep .'/Docs';*/
/* echo '</br>';
echo '********************************';
echo '</br>';
echo $wdir;
echo '</br>';
echo '********************************';
echo '</br>';
echo '</br>';
echo '</br>';
echo '</br>';
echo "Downdir " .dirname("$wdir");
$basedir = $_SESSION['repertoire'];
$lastaction = "Résultat de l'action ->>> Change de répertoire -> $wdir";
//html_header();
displaydir();
break;*/
$wdir=$file."/";
preg_replace('#/+#','/',$wdir);
$url = rtrim($wdir,"/");
//substr_count($cour['path'], '/',2)
//$string = rtrim($string, '/');
//$lastaction = "Changement de répertoire : $wdir";
$lastaction = "Changement de répertoire : $wdir";
html_header();
displaydir();
echo $html_copyright;
break;
#########################################################################################################
############### Touch object (create a new timestamp)
/* case "touch":
if($allow_touch == "no")
{
$lastaction = $not_allowed;
html_header();
displaydir();
}
else
{
touch($basedir.$touchfile);
$lastaction = "blabla Touched $touchfile";
html_header();
displaydir();
}
break;
*/
#########################################################################################################
############### supprime un fichier ou un repertoire
case "del":
############### a se stade, l'utilisateur a confirmer la suppression
if ($confirm)
{
############### l'objet est un repertoire
if(is_dir($basedir.$file))
{
rmdir($basedir.$file);
}
############### Object is a file
else
{
unlink($basedir.$file);
}
$lastaction = ">>> Suppression du fichier: $file";
html_header();
displaydir();
}
############### confirmation
else
{
if($raw == "1")
{
$lastaction = "Etes vous sur de vouloir supprimer le fichier :<br><A HREF=\"$PHP_SELF?action=show&wdir=$wdir&file=$fileurl\" title=\"Afficher le contenu du fichier\">$file</a>?";
}
elseif($image == "1")
{
$lastaction = "Etes vous sur de vouloir supprimer le fichier : <br><A HREF=\"$PHP_SELF?action=show&wdir=$wdir&file=$fileurl&image=$image\" title=\"Voir l'image\">$file</a>?";
}
else
{
$lastaction = "Etes vous sur de vouloir supprimer le fichier :<<br>$file?";
}
html_header();
echo "<center><b><font size =\"5\" face=\"arial, helvetica\"><A HREF=\"$PHP_SELF?action=del&wdir=$wdir&file=$file&confirm=1\">Ok!</A></font><br>";
echo "<p><font size =\"5\" face=\"arial, helvetica\"><A HREF=\"$PHP_SELF?wdir=$wdir\">Non!</A></font><br><b></center>";
}
break;
#########################################################################################################
############### droit des fichiers
case "chmod":
############### The user has confirmed
if ($confirm)
{
$level = "0";
$level .= $owner;
$level .= $group;
$level .= $public;
$showlevel = $level;
$level=octdec($level);
chmod($basedir.$file,$level);
$lastaction = "Fixer des droits liés au fichier: $file -> $showlevel";
html_header();
displaydir();
}
############### Prompt the user for confirmation
else
{
$lastaction = "Change le niveau des permissions du fichier : $file";
html_header();
echo "<font face=\"arial, helvetica\"><center><h4>Droits actuel::: ";
printf("%o", (fileperms($basedir.$file)) & 0777);
echo "</h4><FORM METHOD=\"POST\" ACTION=\"$PHP_SELF\">\n";
function selections($type) // type: 0 Owner, 1 Group, 2 Public
{
echo "<option value=\"0\""; if (substr($GLOBALS["perm"], $type, 1)=="0") echo "Choix:"; echo ">0 - Aucune permissions";
echo "<option value=\"1\""; if (substr($GLOBALS["perm"], $type, 1)=="1") echo "Choix:"; echo ">1 - Execute";
echo "<option value=\"2\""; if (substr($GLOBALS["perm"], $type, 1)=="2") echo "Choix:"; echo ">2 - Write ";
echo "<option value=\"3\""; if (substr($GLOBALS["perm"], $type, 1)=="3") echo "Choix:"; echo ">3 - Execute & Write";
echo "<option value=\"4\""; if (substr($GLOBALS["perm"], $type, 1)=="4") echo "Choix:"; echo ">4 - Read";
echo "<option value=\"5\""; if (substr($GLOBALS["perm"], $type, 1)=="5") echo "Choix:"; echo ">5 - Execute & Read";
echo "<option value=\"6\""; if (substr($GLOBALS["perm"], $type, 1)=="6") echo "Choix:"; echo ">6 - Write & Read";
echo "<option value=\"7\""; if (substr($GLOBALS["perm"], $type, 1)=="7") echo "Choix:"; echo ">7 - Write, Execute & Read";
echo "</select>";
}
$perm = sprintf ("%o", (fileperms($basedir.$file)) & 0777); // Definition of a variable containing the file permissions
echo "<p><h4>Propriétaire (Owner)<br>";
echo "<select name=\"owner\">";
selections(0);
echo "<p>Groupe<br>";
echo "<select name=\"group\">";
selections(1);
echo "<p>Public<br>";
echo "<select name=\"public\">";
selections(2);
echo "</h4>";
echo "<p>";
echo "<INPUT TYPE=\"SUBMIT\" NAME=\"confirm\" VALUE=\"Change\">\n";
echo "<INPUT TYPE=\"SUBMIT\" NAME=\"cancel\" VALUE=\"Annuler\">\n";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"action\" VALUE=\"chmod\">\n";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"file\" VALUE=\"$file\">";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"wdir\" VALUE=\"$wdir\">";
echo "</FORM>";
echo "</center>";
}
break;
#########################################################################################################
############### deplacer un fichier dans l'arborescence
case "move":
###############
if($confirm && $newfile)
{
############### The destination object exists
if(file_exists($basedir.$newfile))
{
$lastaction = "Résultat de l'action ->>> Le fichier existe déjà, choisir une autre destination ou alors renomer le fichier.";
}
else
{
if($do == copy)
{
copy($basedir.$file,$basedir.$newfile);
$lastaction = "Résultat de l'action ->>> Copie\n$file -> $newfile";
}
else
{
rename($basedir.$file,$basedir.$newfile);
$lastaction = "Résultat de l'action ->>> Déplace/renomme\n$file -> $newfile";
}
}
html_header();
displaydir();
}
############### Prompt the user for destination name and action
else
{
if($object == "file")
{
if($raw == "1")
{
$lastaction = "Résultat de l'action ->>> Déplacer/renomer ou copier <A HREF=\"$PHP_SELF?action=show&wdir=$wdir&file=$fileurl\" title=\"Voir le contenu du fichier\">$file</a>";
}
elseif($image == "1")
{
$lastaction = "Résultat de l'action ->>> Déplacer/renomer ou copier : <A HREF=\"$PHP_SELF?action=show&wdir=$wdir&file=$fileurl&image=$image\" title=\"Voir l'image\">$file</a>";
}
else
{
$lastaction = "Résultat de l'action ->>> Déplacer/renomer ou copier le fichier : $file";
}
html_header();
echo "<FORM METHOD=\"POST\" ACTION=\"$PHP_SELF\">\n";
echo "<select name=\"do\">";
echo "<option value=\"copy\">Copie";
echo "<option value=\"move\">Déplace/renomme";
echo "</select> ";
echo "Le fichier : ($file)";
echo "<h4>Vers</h4>";
echo "<INPUT TYPE=\"TEXT\" NAME=\"newfile\" value=\"$file\" size=\"40\">\n";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"wdir\" VALUE=\"$wdir\">\n";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"action\" VALUE=\"move\">\n";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"file\" VALUE=\"$file\">\n";
echo "<p>";
echo "<INPUT TYPE=\"SUBMIT\" NAME=\"confirm\" VALUE=\"Appliquer\">\n";
echo "<INPUT TYPE=\"SUBMIT\" NAME=\"cancel\" VALUE=\"Annuler\">\n";
echo "</FORM>";
}
else
{
$lastaction = ">>> Nouveau nom pour le fichier : $file";
html_header();
echo "<FORM METHOD=\"POST\" ACTION=\"$PHP_SELF\">\n";
echo "<h4>Renomme</h4>";
echo "$file";
echo "<h4>En</h4>";
echo "<INPUT TYPE=\"TEXT\" NAME=\"newfile\" value=\"$file\" size=\"40\">\n";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"wdir\" VALUE=\"$wdir\">\n";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"action\" VALUE=\"move\">\n";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"file\" VALUE=\"$file\">\n";
echo "<p>";
echo "<INPUT TYPE=\"SUBMIT\" NAME=\"confirm\" VALUE=\"Appliquer\">\n";
echo "<INPUT TYPE=\"SUBMIT\" NAME=\"cancel\" VALUE=\"Annuler\">\n";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"do\" VALUE=\"move\">\n";
echo "</FORM>";
}
}
break;
#########################################################################################################
############### Edit file
case "edit":
############### Function for saving the file.
function savefile()
{
global $basedir;
global $file;
global $code;
html_header();
$fp=fopen($basedir.$file,"w");
fputs($fp,stripslashes($code));
fclose($fp);
}
function buttons()
{
global $file;
global $wdir;
echo "<center>";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"file\" VALUE=\"$file\">";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"action\" VALUE=\"edit\">";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"wdir\" VALUE=\"$wdir\">";
echo "<INPUT TYPE=\"RESET\" VALUE=\"Restore l'original\"> ";
echo "<INPUT TYPE=\"SUBMIT\" NAME=\"save\" VALUE=\"Sauve\"> ";
echo "<INPUT TYPE=\"SUBMIT\" NAME=\"saveexit\" VALUE=\"Sauve & Retour\"> ";
echo "<INPUT TYPE=\"SUBMIT\" NAME=\"cancel\" VALUE=\"Annuler / Retour\"> ";
echo "</center><BR>\n";
}
############### The user is done editing. Return to main screen
if($saveexit)
{
$lastaction = "Résultat de l'action ->>> Edition du fichier : <a href=\"$file\" title=\"Voir le fichier\">$file</a>";
savefile();
displaydir();
}
############### Save the file, but continue editing.
if($save)
{
$lastaction = "Résultat de l'action ->>> Sauvegarde du fichier : <a href=\"$file\" title=\"Voir le fichier\">$file</a>, ( en cours d'édition).";
savefile();
echo "<FORM METHOD=\"POST\" ACTION=\"$PHP_SELF\">\n";
$fp=fopen($basedir.$file,"r");
$contents=fread($fp,filesize($basedir.$file));
echo "<TEXTAREA NAME=\"code\" rows=\"$textrows\" cols=\"$textcols\">\n";
echo htmlspecialchars($contents);
echo "</TEXTAREA><BR>\n";
echo "<center>";
buttons();
echo "</FORM>";
}
############### Display file in textarea
if($display)
{
if($raw == "1")
{
$lastaction = "Edition du fichier : <A HREF=\"$PHP_SELF?action=show&wdir=$wdir&file=$file&browse=$browse&raw=$raw&image=$image&fileurl=$fileurl\" title=\"Voir le contenu du fichier (impossible de modifier)\">$file</a>";
}
elseif($image == "1")
{
$lastaction = "Edition du fichier : <A HREF=\"$PHP_SELF?action=show&wdir=$wdir&file=$fileurl&image=$image\" title=\"View the image\">$file</a>";
}
else
{
$lastaction = "Edition du fichier : $file";
}
html_header();
echo "<FORM METHOD=\"POST\" ACTION=\"$PHP_SELF\">\n";
$fp=fopen($basedir.$file,"r");
$contents=fread($fp,filesize($basedir.$file));
echo "<TEXTAREA NAME=\"code\" rows=\"$textrows\" cols=\"$textcols\">\n";
echo htmlspecialchars($contents);
echo "</TEXTAREA><BR>\n";
buttons();
echo "</FORM>";
}
break;
#########################################################################################################
############### Display file
case "show":
############### Display file in textformat
$filelocation = $wdir.$file;
//$str = stripslashes($file);
//echo $str;
$str = basename($file);
$lastaction = ">>> Visualisation du fichier : $str";
html_header();
############### It is a picture, display it. The filename needs to be either relative to the current document, or an absolute filesystem path.
if($image == "1")
{
//echo $DOCUMENT_ROOT ." + " .$file;
//$size = GetImageSize($DOCUMENT_ROOT.$file);
$source = basename($file);
$source = getcwd();
//$source = $basedir ."/" .$source;
//echo "Source " . $wdir;
//echo "->" .$basedir .substr($wdir,1) .$str ." ";
$chemin = $basedir .$file;
//modifier le 18 fev 2013
//$chemin = $basedir .$wdir .$str; //substr($wdir,1)
//$chemin = substr($chemin,2);
//$chemin = "/WORKAREA/WEBSITE" .$chemin;
//echo "-> " .$chemin ." ";
//$source = "/WORKAREA/WEBSITE/Users/lucien/rep1/Desert.jpg"; // .$file;
$source = $chemin;
//$source = $file;
//echo $source;
$size = GetImageSize($source);
//echo "***** Size: " .$size ." *******";
echo "<center><img src=\"$source\" $size[3]></center>";
}
############### It is text, display it.
else
{
$single = "yes";
# displaydir();
echo"<hr><br>";
show_source($basedir.$file);
}
break;
#########################################################################################################
############### Créer répertoire
case "mkdir":
############### Permission ?
if($allow_create_dir == "no")
{
$lastaction = $not_allowed;
html_header();
}
else
{
############### Existe ?
if(file_exists($basedir.$wdir.$mkdirfile))
{
$lastaction = "Résultat de l'action ->>> Le répertoire $wdir$mkdirfile existe déjà.";
html_header();
}
############### Création
else
{
$new_rep =$basedir .substr($wdir,1) .$mkdirfile;
echo "</br>";
//echo $basedir ." ++ " .substr($wdir,1) ." ++ ".$mkdirfile;
$lastaction = "Résultat de l'action ->>> Création du répertoire $wdir$mkdirfile";
html_header();
//mkdir("../Users/lucien/aqw");
mkdir($new_rep);
//mkdir($basedir.$wdir.$mkdirfile,0750);
}
displaydir();
/*echo " ++ " .$new_rep ." ++ ";*/
}
break;
#########################################################################################################
############### Créer fichier
case "createfile":
$filelocation = $wdir.$file;
############### The user is done editing. Return to main screen
if($done == "1")
{
//echo "+++++ " .$filelocation;
//echo "+++++ " .strlen($file);
/* if($file == 0)
{ $lastaction = "Résultat de l'action ->>> Le champ fichier est vide. !!!";
html_header();
displaydir();
}
else {*/
$lastaction = "Résultat de l'action ->>> Le fichier : $file vient d'être créer.";
html_header();
$fp=fopen($basedir.$filelocation,"w");
//$fp=fopen($file,"w");
fputs($fp,stripslashes($code));
fclose($fp);
displaydir();
/*}*/
}
############### Display a textarea that will be the file
else
{
############### Existe ?
if(file_exists($basedir.$filelocation))
{
$lastaction = "Résultat de l'action ->>> Le fichier $file exite déjà. !!!";
html_header();
displaydir();
}
############### Give the user a textarea to write the contents of file
else
{
$lastaction = "Résultat de l'action ->>> Création du fichier : $file";
html_header();
echo "<FORM METHOD=\"POST\" ACTION=\"$PHP_SELF\">\n";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"file\" VALUE=\"$file\">\n";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"action\" VALUE=\"createfile\">\n";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"wdir\" VALUE=\"$wdir\">\n";
echo "<INPUT TYPE=\"HIDDEN\" NAME=\"done\" VALUE=\"1\">\n";
echo "<TEXTAREA NAME=\"code\" rows=\"$textrows\" cols=\"$textcols\">\n";
############### The user selected to use a html template. Put it inside the textarea
if(isset($html))
{
echo "<html>\n";
echo "<head>\n\n";
echo "<title>Sans nom</title>\n";
echo "</head>\n";
echo "<body>\n\n";
echo "</body>\n";
echo "</html>";
}
echo "</TEXTAREA><BR>\n";
echo "<center><INPUT TYPE=\"SUBMIT\" NAME=\"confirm\" VALUE=\"Créer\">\n";
echo "<INPUT TYPE=\"SUBMIT\" NAME=\"cancel\" VALUE=\"Annuler\"><br>";
$ext = strrchr ( $file , "." );
if(!strcasecmp ($ext, ".txt"))
{
echo "<input type=\"checkbox\" name=\"convert\" value=\"yes\"><font size =\"-2\" face=\"arial, helvetica\">(convert line returns to BR)</font> ";
}
echo "</center><BR>\n</FORM>";
}
}
break;
}
?>