Subversion Repositories Applications.projet

Rev

Rev 398 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 398 Rev 431
1
<?php
1
<?php
2
 
2
 
3
/*  +-----------------------------------------------------------------------+
3
/*  +-----------------------------------------------------------------------+
4
*   |projet_derniers_telechargement.php			    	        			|
4
*   |projet_derniers_telechargement.php			    	        			|
5
*   +-----------------------------------------------------------------------+
5
*   +-----------------------------------------------------------------------+
6
*   | Copyright (c) 2001 - 2005 Tela Botanica						        |
6
*   | Copyright (c) 2001 - 2005 Tela Botanica						        |
7
*   +-----------------------------------------------------------------------+
7
*   +-----------------------------------------------------------------------+
8
*   | Affiche les derniers fichiers uploader dans le module projet          |
8
*   | Affiche les derniers fichiers uploader dans le module projet          |
9
*   +-----------------------------------------------------------------------+
9
*   +-----------------------------------------------------------------------+
10
*   | Auteur : Alexandre Granier <alexandre@tela-botanica.org> 		        |
10
*   | Auteur : Alexandre Granier <alexandre@tela-botanica.org> 		        |
11
*   +-----------------------------------------------------------------------+
11
*   +-----------------------------------------------------------------------+
12
 
12
 
13
*   $Id: projet_derniers_telechargements.php,v 1.5 2007-06-25 12:15:06 alexandre_tb Exp $
13
*   $Id: projet_derniers_telechargements.php,v 1.4.2.1 2007-05-11 13:59:27 alexandre_tb Exp $
14
*/
14
*/
15
 
15
 
16
// Cette application affiche les derniers  documents uploades dans le module projet
16
// Cette application affiche les derniers  documents uploades dans le module projet
17
// ainsi que tous les documents du module
17
// ainsi que tous les documents du module
18
 
18
 
19
// ===========================================================
19
// ===========================================================
20
//                  Configuration
20
//                  Configuration
21
// ===========================================================
21
// ===========================================================
22
 
22
 
23
 
23
 
24
// Le nombre a afficher 
24
// Le nombre a afficher 
25
define ("PROJET_TELECHARGEMENT_NOMBRE", 8) ;
25
define ("PROJET_TELECHARGEMENT_NOMBRE", 8) ;
26
 
26
 
27
//====================      Les labels      =======================================
27
//====================      Les labels      =======================================
28
define ("PROJET_TELECHARGEMENT_TITRE", "Page de t&eacute;l&eacute;chargements rapides") ;
28
define ("PROJET_TELECHARGEMENT_TITRE", "Page de t&eacute;l&eacute;chargements rapides") ;
29
define ("PROJET_TELECHARGEMENT_DERNIERS", "Derniers documents mis en ligne") ;
29
define ("PROJET_TELECHARGEMENT_DERNIERS", "Derniers documents mis en ligne") ;
30
define ("PROJET_TELECHARGEMENT_TOUS", "Tous les documents, par projet") ;
30
define ("PROJET_TELECHARGEMENT_TOUS", "Tous les documents, par projet") ;
31
 
31
 
32
//=============bibliotheques PEAR  ===================================
32
//=============bibliotheques PEAR  ===================================
33
include_once 'HTML/Table.php' ;
33
include_once 'HTML/Table.php' ;
34
 
34
 
35
// ========== Bibliotheque Projet ====================================
35
// ========== Bibliotheque Projet ====================================
36
include_once 'configuration/projet.config.inc.php' ;
36
include_once 'configuration/projet.config.inc.php' ;
37
include_once PROJET_CHEMIN_CLASSES.'projetControleur.class.php' ;
37
include_once PROJET_CHEMIN_CLASSES.'projetControleur.class.php' ;
38
include_once PROJET_CHEMIN_CLASSES.'document.class.php' ;
38
include_once PROJET_CHEMIN_CLASSES.'document.class.php' ;
39
include_once PROJET_CHEMIN_APPLI.'langues/pro_langue_fr.inc.php' ;
39
include_once PROJET_CHEMIN_APPLI.'langues/pro_langue_fr.inc.php' ;
40
 
40
 
41
 
41
 
42
function afficherContenuCorps() {
42
function afficherContenuCorps() {
43
    global $id_projet, $repcourant, $baseURL, $projet ;
43
    global $id_projet, $repcourant, $baseURL, $projet ;
44
    
44
    
45
    if (isset($_GET['service'])) {
45
    if (isset($_GET['service'])) {
46
    	if ($_GET['service'] == 'ecouteArbreFichier') {
46
    	if ($_GET['service'] == 'ecouteArbreFichier') {
47
    	include_once PROJET_CHEMIN_APPLI.'/services/ecouteArbreFichier.php';
47
    	include_once PROJET_CHEMIN_APPLI.'/services/ecouteArbreFichier.php';
48
    	}
48
    	}
49
    	if ($_GET['service'] == 'telechargement') {
49
    	if ($_GET['service'] == 'telechargement') {
50
    		include_once PROJET_CHEMIN_APPLI.'/services/telechargement.php';
50
    		include_once PROJET_CHEMIN_APPLI.'/services/telechargement.php';
51
    	}
51
    	}
52
    }
52
    }
53
    // a remplacer par un div pour genesia
53
    // a remplacer par un div pour genesia
54
    $res = "<h1>".PROJET_TELECHARGEMENT_TITRE."</h1>\n" ;
54
    $res = "<h1>".PROJET_TELECHARGEMENT_TITRE."</h1>\n" ;
55
    
55
    
56
    $res .= "<h2>".PROJET_TELECHARGEMENT_DERNIERS."</h2>\n" ;
56
    $res .= "<h2>".PROJET_TELECHARGEMENT_DERNIERS."</h2>\n" ;
57
    
57
    
58
    $liste_documents = document::getDocumentsRecents( $nombre = 10, $GLOBALS['projet_db'], PROJET_CHEMIN_FICHIER,PROJET_CHEMIN_ICONES) ;
58
    $liste_documents = document::getDocumentsRecents( $nombre = 10, $GLOBALS['projet_db'], PROJET_CHEMIN_FICHIER,PROJET_CHEMIN_ICONES) ;
59
    
59
    
60
    include_once PROJET_CHEMIN_CLASSES.'HTML_Liste.class.php' ;
60
    include_once PROJET_CHEMIN_CLASSES.'HTML_Liste.class.php' ;
61
    include_once PROJET_CHEMIN_CLASSES.'HTML_listeDocuments.class.php' ;
61
    include_once PROJET_CHEMIN_CLASSES.'HTML_listeDocuments.class.php' ;
62
    $vue_liste_document = new HTML_listeDocuments($GLOBALS['url'], false, '', $GLOBALS['projet_auth']) ;
62
    $vue_liste_document = new HTML_listeDocuments($GLOBALS['url'], false, '', $GLOBALS['projet_auth']) ;
63
    $vue_liste_document->setCheminIcones(PROJET_CHEMIN_ICONES) ;
63
    $vue_liste_document->setCheminIcones(PROJET_CHEMIN_ICONES) ;
64
    $entete_liste = array (PROJET_FICHIERS_NOM, PROJET_FICHIERS_TAILLE, PROJET_FICHIERS_PAR, PROJET_FICHIERS_CREE_LE) ;
64
    $entete_liste = array (PROJET_FICHIERS_NOM, PROJET_FICHIERS_TAILLE, PROJET_FICHIERS_PAR, PROJET_FICHIERS_CREE_LE) ;
65
    if (!isset($droits)) $droits = PROJET_DROIT_AUCUN ;
65
    if (!isset($droits)) $droits = PROJET_DROIT_AUCUN ;
66
        
66
        
67
    $vue_liste_document->construitEntete($entete_liste) ;
67
    $vue_liste_document->construitEntete($entete_liste) ;
68
    $vue_liste_document->construitListe ($liste_documents, $droits, 'ignore_repertoire', $GLOBALS['projet_db']) ;
68
    $vue_liste_document->construitListe ($liste_documents, $droits, 'ignore_repertoire', $GLOBALS['projet_db']) ;
69
    $res .= $vue_liste_document->toHTML('', PROJET_DROIT_AUCUN) ;
69
    $res .= $vue_liste_document->toHTML('', PROJET_DROIT_AUCUN) ;
70
    
70
    
71
    $res .= "<h2>".PROJET_TELECHARGEMENT_TOUS."</h2>\n" ;
71
    $res .= "<h2>".PROJET_TELECHARGEMENT_TOUS."</h2>\n" ;
72
    
72
    
73
 
73
 
74
    // Les noms des fichiers graphiques
74
    // Les noms des fichiers graphiques
75
    $icon         = 'folder.gif';
75
    $icon         = 'folder.gif';
76
    $expandedIcon = 'folder-expanded.gif';
76
    $expandedIcon = 'folder-expanded.gif';
77
    
77
    
78
    $i = 0 ;
78
    $i = 0 ;
79
    // Requete sur les projets
79
    // Requete sur les projets
80
    $requete = "SELECT p_titre, p_id FROM projet ORDER BY p_titre" ;
80
    $requete = "SELECT p_titre, p_id FROM projet ORDER BY p_titre" ;
81
    $resultat = $GLOBALS['projet_db']->query ($requete) or die ("Echec <br />".mysql_error()."<br />$requete") ;
81
    $resultat = $GLOBALS['projet_db']->query ($requete) or die ("Echec <br />".mysql_error()."<br />$requete") ;
82
    
82
    
83
    $noeudProjet = '' ;
83
    $noeudProjet = '' ;
84
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
84
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
85
        $titre = $ligne->p_titre ;
85
        $titre = $ligne->p_titre ;
86
        $i++ ;
86
        $i++ ;
87
        $noeudProjet .= '<div dojoType="TreeNode" title="'.$ligne->p_titre.'" widgetId="projet_'.
87
        $noeudProjet .= '<div dojoType="TreeNode" title="'.$ligne->p_titre.'" widgetId="projet_'.
88
        				$ligne->p_id.'" objectId="projet_'.$ligne->p_id.'" isFolder="true"></div>'."\n";
88
        				$ligne->p_id.'" objectId="projet_'.$ligne->p_id.'" isFolder="true"></div>'."\n";
89
    }
89
    }
90
  
90
  
91
    GEN_stockerFichierScript('dojo', 'api/js/dojo/dojo.js', 'text/javascript');
91
    GEN_stockerFichierScript('dojo', 'api/js/dojo/dojo.js', 'text/javascript');
92
    GEN_stockerFichierScript('dojoScriptProjet', PROJET_CHEMIN_APPLI.'js/telechargement.js');
92
    GEN_stockerFichierScript('dojoScriptProjet', PROJET_CHEMIN_APPLI.'js/telechargement.js');
93
    //$res .= '<p>' ;
93
    //$res .= '<p>' ;
94
    
94
    
95
    $RCPUrl = PROJET_CHEMIN_APPLI.'services/ecouteArbreFichier.php?id_projet='.$id_projet;
95
    $RCPUrl = PROJET_CHEMIN_APPLI.'services/ecouteArbreFichier.php?id_projet='.$id_projet;
96
	$GLOBALS['url']->addQueryString(PROJET_VARIABLE_SERVICE, 'ecouteArbreFichier');
96
	$GLOBALS['url']->addQueryString(PROJET_VARIABLE_SERVICE, 'ecouteArbreFichier');
97
			
97
			
98
	$RCPUrl = $GLOBALS['url']->getURL();
98
	$RCPUrl = $GLOBALS['url']->getURL();
99
    $res .= '<div dojoType="TreeLoadingController" RPCUrl="'.$RCPUrl.'" widgetId="treeController" DNDController="create"></div>
99
    $res .= '<div dojoType="TreeLoadingController" RPCUrl="'.$RCPUrl.'" widgetId="treeController" DNDController="create"></div>
100
				<div dojoType="TreeSelector" widgetId="treeSelector"></div>
100
				<div dojoType="TreeSelector" widgetId="treeSelector"></div>
101
				<div dojoType="Tree" DNDMode="between" selector="treeSelector" widgetId="bandTree" controller="treeController">
101
				<div dojoType="Tree" DNDMode="between" selector="treeSelector" widgetId="bandTree" controller="treeController">
102
				<div dojoType="TreeNode" title="Racine" widgetId="rootNode" objectId="root" isFolder="true">'."\n".
102
				<div dojoType="TreeNode" title="Racine" widgetId="rootNode" objectId="root" isFolder="true">'."\n".
103
			$noeudProjet.'</div></div>';	
103
			$noeudProjet.'</div></div>';	
104
	
104
	
105
    //$res .= '</p>';
105
    //$res .= '</p>';
106
    
106
    
107
    return $res ;
107
    return $res ;
108
}
108
}
109
 
109
 
110
/** fonction projet_fichiers() - Remplie un noeud avec les fichiers et repertoires
110
/** fonction projet_fichiers() - Remplie un noeud avec les fichiers et repertoires
111
*
111
*
112
* Le noeud est passe en reference. Ainsi, cette fonction ne retourne rien mais modifie le tableau des 
112
* Le noeud est passe en reference. Ainsi, cette fonction ne retourne rien mais modifie le tableau des 
113
* noeuds passe en reference.
113
* noeuds passe en reference.
114
*
114
*
115
* return  void
115
* return  void
116
*/
116
*/
117
 
117
 
118
function projet_fichiers ($noeud, $id_rep, $pere = 0)
118
function projet_fichiers ($noeud, $id_rep, $pere = 0)
119
{
119
{
120
    //Recuperation de l'identifiant du repertoire courant
120
    //Recuperation de l'identifiant du repertoire courant
121
    
121
    
122
    //La fonction est appele recursivement quand $pere ne vaut pas null
122
    //La fonction est appele recursivement quand $pere ne vaut pas null
123
    //$id_rep prend donc la valeur de $pere transmise par l'appel precedent de la fonction.
123
    //$id_rep prend donc la valeur de $pere transmise par l'appel precedent de la fonction.
124
    
124
    
125
    // Les noms des fichiers graphiques
125
    // Les noms des fichiers graphiques
126
    $icon = 'folder.gif';
126
    $icon = 'folder.gif';
127
    $expandedIcon = 'folder-expanded.gif';
127
    $expandedIcon = 'folder-expanded.gif';
128
    
128
    
129
    //Requête pour récupérer les noms des répertoires contenus dans le répertoire courant ($id_rep)
129
    //Requ�te pour r�cup�rer les noms des r�pertoires contenus dans le r�pertoire courant ($id_rep)
130
    $queryRep =    ' SELECT projet_documents.*'.
130
    $queryRep =    ' SELECT projet_documents.*'.
131
                            ' FROM projet_documents'.
131
                            ' FROM projet_documents'.
132
                            ' WHERE projet_documents.pd_pere = '.$GLOBALS['projet_db']->escapeSimple($pere).
132
                            ' WHERE projet_documents.pd_pere = '.$GLOBALS['projet_db']->escapeSimple($pere).
133
                            ' AND projet_documents.pd_visibilite = "public" and pd_ce_projet='.$GLOBALS['projet_db']->escapeSimple($id_rep).' and pd_ce_type=0'.
133
                            ' AND projet_documents.pd_visibilite = "public" and pd_ce_projet='.$GLOBALS['projet_db']->escapeSimple($id_rep).' and pd_ce_type=0'.
134
                            ' ORDER BY projet_documents.pd_nom ASC' ;
134
                            ' ORDER BY projet_documents.pd_nom ASC' ;
135
 
135
 
136
    $resultRep = $GLOBALS['projet_db']->query($queryRep) ;
136
    $resultRep = $GLOBALS['projet_db']->query($queryRep) ;
137
    if (DB::isError ($resultRep)) {
137
    if (DB::isError ($resultRep)) {
138
        die ('Echec de la requete : '.$queryRep.'<br />'.$resultRep->getMessage()) ;
138
        die ('Echec de la requete : '.$queryRep.'<br />'.$resultRep->getMessage()) ;
139
    }
139
    }
140
    
140
    
141
    //Stockage des informations sur les répertoires contenu dans le répertoire courant pour affichage dans un arbre.
141
    //Stockage des informations sur les r�pertoires contenu dans le r�pertoire courant pour affichage dans un arbre.
142
    //Et appel récursif de la fonction pour examiner le contenu de chaque répertoire du répertoire courant.
142
    //Et appel r�cursif de la fonction pour examiner le contenu de chaque r�pertoire du r�pertoire courant.
143
    if ( $resultRep->numRows() != 0 ) {
143
    if ( $resultRep->numRows() != 0 ) {
144
        while ( $ligneRep = $resultRep->fetchRow(DB_FETCHMODE_OBJECT) ) {
144
        while ( $ligneRep = $resultRep->fetchRow(DB_FETCHMODE_OBJECT) ) {
145
            //Stockage des informations sur le répertoire courant
145
            //Stockage des informations sur le r�pertoire courant
146
            $noeud1_1 = &$noeud->addItem(new HTML_TreeNode(
146
            $noeud1_1 = &$noeud->addItem(new HTML_TreeNode(
147
                                                        array(
147
                                                        array(
148
                                                            'text' => trim ($ligneRep->pd_nom),
148
                                                            'text' => trim ($ligneRep->pd_nom),
149
                                                            'link' => "", 'icon' => $icon,
149
                                                            'link' => "", 'icon' => $icon,
150
                                                            'expandedIcon' => $expandedIcon ) ) );
150
                                                            'expandedIcon' => $expandedIcon ) ) );
151
            //Appel récursif de fonction courante
151
            //Appel r�cursif de fonction courante
152
            projet_fichiers (&$noeud1_1, $id_rep, $ligneRep->pd_id) ;
152
            projet_fichiers (&$noeud1_1, $id_rep, $ligneRep->pd_id) ;
153
        }
153
        }
154
    }
154
    }
155
    
155
    
156
    // Requête pour récupérer les fichiers du répertoire courant ($id_rep) et leurs informations
156
    // Requ�te pour r�cup�rer les fichiers du r�pertoire courant ($id_rep) et leurs informations
157
    $requete_fichiers = 'SELECT projet_documents.*, gen_type_de_fichier.gtf_type_icone'.
157
    $requete_fichiers = 'SELECT projet_documents.*, gen_type_de_fichier.gtf_type_icone'.
158
                                    ' FROM projet_documents, gen_type_de_fichier'.
158
                                    ' FROM projet_documents, gen_type_de_fichier'.
159
                                    ' WHERE projet_documents.pd_ce_type= gen_type_de_fichier.gtf_id_type'.
159
                                    ' WHERE projet_documents.pd_ce_type= gen_type_de_fichier.gtf_id_type'.
160
                                    ' AND projet_documents.pd_visibilite= "public" ' ;
160
                                    ' AND projet_documents.pd_visibilite= "public" ' ;
161
    if ($pere == 0) {
161
    if ($pere == 0) {
162
        $requete_fichiers .= ' AND projet_documents.pd_ce_projet= '.$GLOBALS['projet_db']->escapeSimple($id_rep).' and pd_pere=0 and pd_ce_type <> 0' ;
162
        $requete_fichiers .= ' AND projet_documents.pd_ce_projet= '.$GLOBALS['projet_db']->escapeSimple($id_rep).' and pd_pere=0 and pd_ce_type <> 0' ;
163
    } else {
163
    } else {
164
        $requete_fichiers .= ' AND projet_documents.pd_pere= '.$GLOBALS['projet_db']->escapeSimple($pere).' and pd_ce_type<>0' ;
164
        $requete_fichiers .= ' AND projet_documents.pd_pere= '.$GLOBALS['projet_db']->escapeSimple($pere).' and pd_ce_type<>0' ;
165
    }
165
    }
166
    $requete_fichiers .= ' ORDER BY projet_documents.pd_nom ASC' ;
166
    $requete_fichiers .= ' ORDER BY projet_documents.pd_nom ASC' ;
167
 
167
 
168
    $resultat_fichiers = $GLOBALS['projet_db']->query($requete_fichiers) ;
168
    $resultat_fichiers = $GLOBALS['projet_db']->query($requete_fichiers) ;
169
    if (DB::isError ($resultat_fichiers)) {
169
    if (DB::isError ($resultat_fichiers)) {
170
        die ('Echec de la requete : '.$requete_fichiers.'<br />'.$resultat_fichiers->getMessage()) ;
170
        die ('Echec de la requete : '.$requete_fichiers.'<br />'.$resultat_fichiers->getMessage()) ;
171
    }
171
    }
172
    
172
    
173
    //Stockage des informations sur les fichiers du répertoires courant pour affichage dans un arbre
173
    //Stockage des informations sur les fichiers du r�pertoires courant pour affichage dans un arbre
174
    if ( $resultat_fichiers->numRows() != 0 ) {
174
    if ( $resultat_fichiers->numRows() != 0 ) {
175
        while ( $ligne_fichiers = $resultat_fichiers->fetchRow(DB_FETCHMODE_OBJECT) ) {
175
        while ( $ligne_fichiers = $resultat_fichiers->fetchRow(DB_FETCHMODE_OBJECT) ) {
176
            //Ajout de slash devant les caractères spéciaux et suppression des caractères invisibles en début et fin des noms de fichier.
176
            //Ajout de slash devant les caract�res sp�ciaux et suppression des caract�res invisibles en d�but et fin des noms de fichier.
177
            $lien = trim( $ligne_fichiers->pd_nom  );
177
            $lien = trim( $ligne_fichiers->pd_nom  );
178
            $noeud_1_2 = &$noeud->addItem (new HTML_TreeNode (
178
            $noeud_1_2 = &$noeud->addItem (new HTML_TreeNode (
179
                                                            array (
179
                                                            array (
180
                                                                "text" => $lien,
180
                                                                "text" => $lien,
181
                                                                "link" => PROJET_CHEMIN_FICHIER.$ligne_fichiers->pd_lien,
181
                                                                "link" => PROJET_CHEMIN_FICHIER.$ligne_fichiers->pd_lien,
182
                                                                'icon' => $ligne_fichiers->gtf_type_icone,
182
                                                                'icon' => $ligne_fichiers->gtf_type_icone,
183
                                                                "linkTarget" => "_blank" ))) ;
183
                                                                "linkTarget" => "_blank" ))) ;
184
        }
184
        }
185
    }
185
    }
186
}
186
}
187
 
187
 
188
/* +--Fin du code ----------------------------------------------------------------------------------------+
188
/* +--Fin du code ----------------------------------------------------------------------------------------+
189
*
189
*
190
* $Log: not supported by cvs2svn $
190
* $Log: projet_derniers_telechargements.php,v $
-
 
191
* Revision 1.4.2.1  2007-05-11 13:59:27  alexandre_tb
-
 
192
* adaptation a ecouteArbreFichier qui est maintenant appele par papyrus.php
-
 
193
*
191
* Revision 1.4  2007/04/19 09:17:35  alexandre_tb
194
* Revision 1.4  2007/04/19 09:17:35  alexandre_tb
192
* utilisation de dojo pour afficher l arbre des derniers documents
195
* utilisation de dojo pour afficher l arbre des derniers documents
193
*
196
*
194
* Revision 1.3  2005/10/06 08:23:48  alexandre_tb
197
* Revision 1.3  2005/10/06 08:23:48  alexandre_tb
195
* Ajout de commentaires
198
* Ajout de commentaires
196
*
199
*
197
*
200
*
198
*
201
*
199
* +-- Fin du code ----------------------------------------------------------------------------------------+
202
* +-- Fin du code ----------------------------------------------------------------------------------------+
200
*/
203
*/
201
 
204
 
202
?>
205
?>