Commit 72c329d3 authored by Zéfling's avatar Zéfling 🎨
Browse files

ajout de dossier (v0.4.1)

Voilà, j'ai mis un bouton pour créer un nouveau dossier.

19/03/2008
parent c570a876
......@@ -10,6 +10,7 @@ ARBRE :
i : image de signalisation d'ouverture ou fermeture d'un dossier
d : nœud d'un dossier
l : nom du dossier d'un nœud
u : liste enfant
*/
......@@ -87,13 +88,13 @@ class Dossier {
$onclickImg = '';
}
$liste .= '<li'.$id.'><img src="icones/folder_'.$typeF.'.png" alt="fermé" id="i-'.$md5.'" '.$onclickImg.'/><span'.$onclick.' id="l-'.$md5.'" title="'.addslashes($rep.$f).'" >'.$f.'</span></li>';
$liste .= '<li'.$id.'><img src="icones/folder_'.$typeF.'.png" alt="fermé" id="i-'.$md5.'" '.$onclickImg.'/><span'.$onclick.' id="l-'.$md5.'" title="'.addslashes($rep.$f).'" >'.$f.'</span><ul id="u-'.$md5.'"></ul></li>';
}
}
closedir($dir);
$md5 = md5(substr($rep.$f, 0, -1));
return (($ret == 1) ? '<img alt="ouvert" id="i-'.$md5.'" src="icones/folder_open.png" title="'.addslashes(substr($rep, 0, -1)).'" onclick="arbreDossierFermer(this.title);" /><span id="l-'.$md5.'" title="'.addslashes(substr($rep, 0, -1)).'" onclick="xajax_afficherDossier(this.title);">'.$repCourant.'</span>' : '').'<ul>'.$liste.'</ul>';
return (($ret == 1) ? '<img alt="ouvert" id="i-'.$md5.'" src="icones/folder_open.png" title="'.addslashes(substr($rep, 0, -1)).'" onclick="arbreDossierFermer(this.title);" /><span id="l-'.$md5.'" title="'.addslashes(substr($rep, 0, -1)).'" onclick="xajax_afficherDossier(this.title);">'.$repCourant.'</span>' : '').'<ul id="u-'.$md5.'">'.$liste.'</ul>';
/*Droppables.add('panier',
{accept:'products',
......
......@@ -52,10 +52,11 @@ body {
height : 24px;
position:relative;
margin-top:-12px;
background-repeat : no-repeat;
}
#barreIcones #precedent,#barreIcones #suivant, #barreIcones #parent {
width : 24px;
}
#precedent, #suivant, #parent, #nvdossier {
width : 24px;
}
#barreIcones .boutonSuivantActif,
#barreIcones .boutonSuivantNonactif{
......@@ -84,6 +85,12 @@ body {
#barreIcones .boutonParentNonactif {
background-image:url(interface/ParentD.png);
}
#barreIcones .boutonNvdossier {
width : 24px;
background-image:url(interface/NouveauDossier.png);
background-position: 50% 50%;
}
#chemin {
white-space: nowrap;
......@@ -216,12 +223,15 @@ body {
#etat div {
display: table-cell;
}
#ifichiers, #idossiers, #itaille {
#ifichiers, #idossiers {
width : 120px;
}
#itaille {
width : 175px;
}
#nbfichiers, #nbdossiers, #fichiertaille {
width : 45px;
width : 25px;
text-align: right;
border-top : 1px solid #959595;
border-left : 1px solid #959595;
......@@ -229,6 +239,9 @@ body {
border-right : 1px solid white;
background-color : #dbdbdb;
}
#fichiertaille {
width : 65px;
}
#renommer {
position: relative;
......
......@@ -74,6 +74,7 @@ function boutonPrecedent(mode) {
function boutonsStart() {
boutonSuivant(false);
boutonPrecedent(false);
document.getElementById('nvdossier').innerHTML = '<span class="boutonNvdossier" onclick="nouveauDossier()" />';
}
var nombreDossiers = 0;
......@@ -239,6 +240,16 @@ function blurError(cible) {
document.getElementById(cible).focus();
}
function nouveauDossier() {
nombreDossiers++;
xajax_nouveauDossier(courant, nombreDossiers);
}
function renommerCible(id) {
fichiers = new Array('f-'+id);
renommer();
}
/*function trace () {
var nbrFichiers = fichiers.length;
var slt = '';
......@@ -339,6 +350,11 @@ function selectionFichier(nom, div, etat) {
}
}
function deselection() {
if (fichiers.length > 0) {
testSelectionFichier(document.getElementById(fichiers[fichiers.length-1]));
}
}
function supprimerFichier () {
if (fichiers.length > 0 && confirm("Êtes-vous certains de vouloir supprimer :\n"+lister())) {
......
......@@ -38,6 +38,7 @@ $dossier = new Dossier('', array('racine'));
<div id="precedent" title="Précédent">&nbsp;</div>
<div id="suivant" title="Suivant">&nbsp;</div>
<div id="parent" title="Dossier Parent">&nbsp;</div>
<div id="nvdossier" title="Nouveau Dossier">&nbsp;</div>
<div>&nbsp;</div>
</div>
<div id="chemin">&nbsp;</div>
......
No preview for this file type
......@@ -21,21 +21,16 @@ function afficherDossier ($rep) {
$dossier = new Dossier($rep);
$objResponse = new xajaxResponse();
$objResponse->addClear("fichiers", "innerHTML");
$objResponse->addAppend("fichiers", "innerHTML", $dossier->listerDossier ());
$objResponse->addAssign("fichiers", "innerHTML", $dossier->listerDossier ());
//$objResponse->addScript($dossier->scriptDraggable);
//$objResponse->addAlert($dossier->scriptDraggable);
$objResponse->addClear("chemin", "innerHTML");
$objResponse->addAppend("chemin", "innerHTML", 'Chemin : '.substr($rep, 8));
$objResponse->addClear("nbfichiers", "innerHTML");
$objResponse->addAppend("nbfichiers", "innerHTML", $dossier->nbFichiers);
$objResponse->addClear("nbdossiers", "innerHTML");
$objResponse->addAppend("nbdossiers", "innerHTML", $dossier->nbDossiers);
$objResponse->addClear("fichiertaille", "innerHTML");
$objResponse->addAppend("fichiertaille", "innerHTML", FileInfo::tailleFormat($dossier->taille, 4));
$objResponse->addAssign("chemin", "innerHTML", 'Chemin : '.substr($rep, 8));
$objResponse->addAssign("nbfichiers", "innerHTML", $dossier->nbFichiers);
$objResponse->addAssign("nbdossiers", "innerHTML", $dossier->nbDossiers);
$objResponse->addAssign("fichiertaille", "innerHTML", FileInfo::tailleFormat($dossier->taille, 4));
$objResponse->addScriptCall("cliqueDossier", $rep);
$objResponse->addScriptCall("actuNombre", $dossier->nbFichiers, $dossier->nbDossiers);
......@@ -55,11 +50,10 @@ function suppression ($liste, $adresses, $nombreFichiers, $nombreDossiers) {
$nombreDossiers--;
}
$objResponse->addRemove($liste[$i], "innerHTML");
$objResponse->addRemove('d-'.substr($liste[$i], 2), "innerHTML");
}
$objResponse->addClear("nbfichiers", "innerHTML");
$objResponse->addAppend("nbfichiers", "innerHTML", $nombreFichiers);
$objResponse->addClear("nbdossiers", "innerHTML");
$objResponse->addAppend("nbdossiers", "innerHTML", $nombreDossiers);
$objResponse->addAssign("nbfichiers", "innerHTML", $nombreFichiers);
$objResponse->addAssign("nbdossiers", "innerHTML", $nombreDossiers);
$objResponse->addScriptCall("actuNombre", $nombreFichiers, $nombreDossiers);
$objResponse->addScriptCall(listeEfface);
return $objResponse->getXML();
......@@ -100,12 +94,58 @@ function renommer($source, $cible, $nouveauNom) {
return $objResponse->getXML();
}
function nouveauDossier($courant, $nombreDossiers) {
$objResponse = new xajaxResponse();
$i = 0;
$cmp = '';
while (is_dir($courant.'/Nouveau Dossier'.$cmp)) {
$i++;
$cmp = ' ('.$i.')';
}
$nvDossier = $courant.'/Nouveau Dossier'.$cmp;
mkdir($nvDossier);
$md5 = md5($nvDossier);
// ajout du dossier en fin de liste
$fileinfo = new FileInfo($courant, '/Nouveau Dossier'.$cmp);
$liste = '<div class="ligne_fichier" id="f-'.$md5.'" title="'.addslashes($nvDossier).'" onclick="testSelectionFichier(this)" ondblclick="demandeDossierOuvrir(this.title);">';
$taille += $fileinfo->getTaille();
$liste .= '<div class="nom"><span class="nomtab"><span class="icone"><img src="icones/'.$fileinfo->infoIcone().'" alt="" /></span><span id="n-'.$md5.'">Nouveau Dossier'.$cmp.'</span><span></div>';
$liste .= '<div class="taille"><span>'.$fileinfo->taille(4).'</span></div>';
$liste .= '<div class="type"><span id="t-'.$md5.'" title="">'.$fileinfo->infoType().'</span></div>';
$liste .= '<div class="date"><span>'.$fileinfo->dateFormat().'</span></div>';
$liste .= '</div>';
$objResponse->addAssign("nbdossiers", "innerHTML", $nombreDossiers);
$objResponse->addAppend("tab", "innerHTML", $liste);
// ajout du nœud dans l'arbre
$md5cur = md5($courant);
if ($nombreDossiers == 1) {
$listCur = explode('/', $courant);
$arbreParent = '<img id="i-'.$md5cur .'" onclick="arbreDossierFermer(this.title);" title="'.$courant.'" src="icones/folder_open.png" alt="ouvert"/><span id="l-'.$md5cur .'" onclick="xajax_afficherDossier(this.title);" title="'.$courant.'">'.$listCur[count($listCur)-1].'</span>
<ul id="u-'.$md5cur .'"></u>';
$objResponse->addAssign("d-".$md5cur, "innerHTML", $arbreParent);
}
$arbre = '<li id="d-'.$md5.'"><img id="i-'.$md5 .'" onclick="arbreDossierFermer(this.title);" title="'.$nvDossier.'" src="icones/folder_none.png" alt="ouvert"/><span id="l-'.$md5 .'" onclick="xajax_afficherDossier(this.title);" title="'.$nvDossier.'">Nouveau Dossier'.$cmp.'</span><ul id="u-'.$md5.'"></u></li>';
$objResponse->addAppend("u-".$md5cur, "innerHTML", $arbre);
// demande à l'éditer immédiatement pour en changer son nom
$objResponse->addScriptCall('renommerCible', md5($courant.'/Nouveau Dossier'.$cmp));
return $objResponse->getXML();
}
$xajax->setCharEncoding("utf-8");
$xajax->registerFunction("arbreDossierOuvrir");
$xajax->registerFunction("afficherDossier");
$xajax->registerFunction("suppression");
$xajax->registerFunction("coller");
$xajax->registerFunction("renommer");
$xajax->registerFunction("afficherDossier");
$xajax->registerFunction("nouveauDossier");
$xajax->processRequests();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment