|
From: <cra...@us...> - 2007-05-20 22:42:26
|
Revision: 154
http://svn.sourceforge.net/easybox-mod/?rev=154&view=rev
Author: craftsnux
Date: 2007-05-20 15:42:20 -0700 (Sun, 20 May 2007)
Log Message:
-----------
utilisation du fichier etc/mtab plutot que fstab pour avoir les disques r?\195?\169ellement pr?\195?\169sentset am?\195?\169lioration de l'affichage
Modified Paths:
--------------
trunk/_framework/demarrage.php
trunk/_framework/fonctions_partagees.inc.php
Modified: trunk/_framework/demarrage.php
===================================================================
--- trunk/_framework/demarrage.php 2007-05-20 10:21:51 UTC (rev 153)
+++ trunk/_framework/demarrage.php 2007-05-20 22:42:20 UTC (rev 154)
@@ -82,7 +82,7 @@
clean_vars();
// R\xE9cup\xE9ration des disques
- if (PHP_OS == "WIN32" || PHP_OS == "WINNT" || is_readable('/etc/fstab')) {
+ if (PHP_OS == "WIN32" || PHP_OS == "WINNT" || is_readable('/etc/mtab')) {
save_variable('disques', serialize(DISQUES()));
}
Modified: trunk/_framework/fonctions_partagees.inc.php
===================================================================
--- trunk/_framework/fonctions_partagees.inc.php 2007-05-20 10:21:51 UTC (rev 153)
+++ trunk/_framework/fonctions_partagees.inc.php 2007-05-20 22:42:20 UTC (rev 154)
@@ -234,6 +234,16 @@
}
RETURN $nomcourant;
}
+function extract_lastname($name){
+ $nomcourant = str_replace("\\", "/", $name);
+ if($pos = strrpos($nomcourant,"/")){
+ $pos++;
+ $nomcourant = substr($nomcourant,$pos);
+ }else{
+ $nomcourant=$name;
+ }
+RETURN $nomcourant;
+}
//Sauvegarder un signet
function save_signet(){
@@ -305,24 +315,40 @@
$obj = null;
}
- } elseif (is_readable('/etc/fstab')) {
+ } elseif (is_readable('/etc/mtab')) {
// si ce fichier est lisible on assume qu'on est sur un OS qui le supporte
// Noter que c'est une facon pour un autre OS que Linux ou Windows de faire
// en sorte que easybox puisse acc\xE9der aux disques!
- $fstab =& new File_Fstab();
+ $fstab =& new File_Fstab(array('file' => '/etc/mtab'));
foreach($fstab->entries as $io) {
// On n'a pas la description hardware du type de disque,
// mais on sait qu'un CD-ROM ou un DVD sont pratiquement
// toujours de type cd9660 pour mac, udf ou iso9660
- // A priori on pourrait ajouter 'auto' dans les types accept\xE9s,
- // mais en pratique ca revient a rajouter une entr\xE9e pour
- // le... lecteur de disquettes.
- if (strstr($io->getFsType(),'udf') || strstr($io->getFsType(),'iso9660') || strstr($io->getFsType(),'cd9660')) {
- $lect[] = array('lettre'=>$io->getDevice(), 'path'=>$io->getMountPoint(), 'type'=>'Disque optique', 'nom'=>$io->getMountPoint(), 'gif'=>'diskoptical');
- } elseif (! strstr($io->getFsType(),'proc')) {
- // Bon, on se souviens quand-meme des autres, sauf /proc car faut pas pousser
- $lect[] = array('lettre'=>$io->getDevice(), 'path'=>$io->getMountPoint(), 'type'=>'Inconnu', 'nom'=>$io->getMountPoint(), 'gif'=>'diskunknown');
+ //
+ if ( strstr($io->getFsType(),'proc')||
+ strstr($io->getFsType(),'swap')||
+ strstr($io->getDevice(),'none')||
+ strstr($io->getDevice(),'fd')||
+ strstr($io->getMountPoint(),'floppy')||
+ strstr($io->getMountPoint(),'proc')||
+ strstr($io->getMountPoint(),'var')
+ ) {
+ //on ne se souvient pas du lecteur de disquette, de swap, de /proc, et des non-identifi\xE9s
+ } elseif ( strstr($io->getFsType(),'udf') ||
+ strstr($io->getFsType(),'iso9660') ||
+ strstr($io->getFsType(),'cd9660') ||
+ strstr($io->getFsType(),'auto')||
+ strstr($io->getFsType(),'supermount')
+ ) {
+ // on racourcit les noms, on prend le repertoire de montage qui est plus significatif
+ $lect[] = array('lettre'=>extract_lastname($io->getMountPoint()), 'path'=>$io->getMountPoint(), 'type'=>'Disque optique', 'nom'=>$io->getMountPoint(), 'gif'=>'diskoptical');
+ } elseif ( strstr($io->getFsType(),'fat')||
+ strstr($io->getFsType(),'ext')
+ ) {
+ $lect[] = array('lettre'=>extract_lastname($io->getMountPoint()), 'path'=>$io->getMountPoint(), 'type'=>'Disque dur', 'nom'=>$io->getMountPoint(), 'gif'=>'diskhdd');
+ } else {
+ $lect[] = array('lettre'=>extract_lastname($io->getMountPoint()), 'path'=>$io->getMountPoint(), 'type'=>'Inconnu', 'nom'=>$io->getMountPoint(), 'gif'=>'diskunknown');
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|