Subversion Repositories Applications.papyrus

Rev

Rev 970 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 970 Rev 1293
1
<?php
1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
3
// +------------------------------------------------------------------------------------------------------+
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
7
// +------------------------------------------------------------------------------------------------------+
8
// | This file is part of Papyrus.                                                                        |
8
// | This file is part of Papyrus.                                                                        |
9
// |                                                                                                      |
9
// |                                                                                                      |
10
// | Foobar is free software; you can redistribute it and/or modify                                       |
10
// | Foobar is free software; you can redistribute it and/or modify                                       |
11
// | it under the terms of the GNU General Public License as published by                                 |
11
// | it under the terms of the GNU General Public License as published by                                 |
12
// | the Free Software Foundation; either version 2 of the License, or                                    |
12
// | the Free Software Foundation; either version 2 of the License, or                                    |
13
// | (at your option) any later version.                                                                  |
13
// | (at your option) any later version.                                                                  |
14
// |                                                                                                      |
14
// |                                                                                                      |
15
// | Foobar is distributed in the hope that it will be useful,                                            |
15
// | Foobar is distributed in the hope that it will be useful,                                            |
16
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
16
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
17
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                        |
17
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                        |
18
// | GNU General Public License for more details.                                                         |
18
// | GNU General Public License for more details.                                                         |
19
// |                                                                                                      |
19
// |                                                                                                      |
20
// | You should have received a copy of the GNU General Public License                                    |
20
// | You should have received a copy of the GNU General Public License                                    |
21
// | along with Foobar; if not, write to the Free Software                                                |
21
// | along with Foobar; if not, write to the Free Software                                                |
22
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
22
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
23
// +------------------------------------------------------------------------------------------------------+
23
// +------------------------------------------------------------------------------------------------------+
24
// CVS : $Id: adwi_wikini.fonct.php,v 1.10 2006-10-05 08:56:12 florian Exp $
24
// CVS : $Id: adwi_wikini.fonct.php,v 1.11 2007-04-06 08:40:13 neiluj Exp $
25
/**
25
/**
26
* Contient les fonctions de l'application gestion des Wikini
26
* Contient les fonctions de l'application gestion des Wikini
27
*
27
*
28
* 
28
* 
29
* 
29
* 
30
*
30
*
31
*@package Admin_Wikini
31
*@package Admin_Wikini
32
*@subpackage Fonctions
32
*@subpackage Fonctions
33
//Auteur original :
33
//Auteur original :
34
*@author        David Delon <david.delon@tela-botanica.org>
34
*@author        David Delon <david.delon@tela-botanica.org>
35
//Autres auteurs :
35
//Autres auteurs :
36
*@author        Aucun
36
*@author        Aucun
37
*@copyright     Tela-Botanica 2000-2004
37
*@copyright     Tela-Botanica 2000-2004
38
*@version       $Revision: 1.10 $
38
*@version       $Revision: 1.11 $
39
// +------------------------------------------------------------------------------------------------------+
39
// +------------------------------------------------------------------------------------------------------+
40
*/
40
*/
41
 
41
 
42
// +------------------------------------------------------------------------------------------------------+
42
// +------------------------------------------------------------------------------------------------------+
43
// |                                           LISTE de FONCTIONS                                         |
43
// |                                           LISTE de FONCTIONS                                         |
44
// +------------------------------------------------------------------------------------------------------+
44
// +------------------------------------------------------------------------------------------------------+
45
 
45
 
46
/* CRUD */
46
/* CRUD */
47
 
47
 
48
/**
48
/**
49
 *
49
 *
50
 * D du CRUD
50
 * D du CRUD
51
 * @return
51
 * @return
52
 */
52
 */
53
 
53
 
54
function adwi_supprimer_wikini($id_wikini, &$db) {
54
function adwi_supprimer_wikini($id_wikini, &$db) {
55
	
55
	
56
// Suppression enregistrement 
56
// Suppression enregistrement 
57
 
57
 
58
	$valeur = adwi_valeurs_par_defaut($id_wikini,$db );
58
	$valeur = adwi_valeurs_par_defaut($id_wikini,$db );
59
	
59
	
60
    $requete = "delete from gen_wikini where gewi_id_wikini =$id_wikini" ;
60
    $requete = "delete from gen_wikini where gewi_id_wikini =$id_wikini" ;
61
    $resultat = $db->query ($requete) ;
61
    $resultat = $db->query ($requete) ;
62
 
62
 
63
// Suppression tables Wikini ...
63
// Suppression tables Wikini ...
64
    
64
    
65
    include_once ADWI_CHEMIN_BIBLIOTHEQUE.'gestion_wikini.class.php' ;
65
    include_once ADWI_CHEMIN_BIBLIOTHEQUE.'gestion_wikini.class.php' ;
66
    
66
    
67
    $g_wikini = new gestion_wikini($db);
67
    $g_wikini = new gestion_wikini($db);
68
    
68
    
69
	if ((!isset($valeur['table_prefix'])) || (empty($config_wikini['$valeur'])))  {
69
	if ((!isset($valeur['table_prefix'])) || (empty($config_wikini['$valeur'])))  {
70
		$valeur['table_prefix'] = $valeur['code_alpha_wikini'];
70
		$valeur['table_prefix'] = $valeur['code_alpha_wikini'];
71
	}
71
	}
72
 
72
 
73
 	$g_wikini->suppression_tables ($valeur['table_prefix']);
73
 	$g_wikini->suppression_tables ($valeur['table_prefix']);
74
    
74
    
75
	if (GEN_FTP_UTILISE) {
75
	if (GEN_FTP_UTILISE) {
76
	    /** Inclusion bibliothèque de PEAR gérant le FTP.*/
76
	    /** Inclusion bibliothèque de PEAR gérant le FTP.*/
77
	    require_once ADWI_CHEMIN_BIBLIOTHEQUE_PEAR.'Net/FTP.php';
77
	    require_once ADWI_CHEMIN_BIBLIOTHEQUE_PEAR.'Net/FTP.php';
78
	
78
	
79
	    // création de l'objet pear ftp
79
	    // création de l'objet pear ftp
80
	    $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
80
	    $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT) or die("Impossible de se connecter par FTP !");
-
 
81
	    	
81
	    // création de la connexion
82
	    // création de la connexion
82
	    $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
83
	    $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT) or die("Impossible de se connecter par FTP !");
83
	    // identification
84
	    // identification
84
	    $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
85
	    $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
85
	    
86
	    
86
	    // Gestion des erreurs ftp
87
	    // Gestion des erreurs ftp
87
	    if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
88
	    if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
88
	        $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
89
	        $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
89
	                    'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
90
	                    'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
90
	                    'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
91
	                    'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
91
	                    'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
92
	                    'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
92
	                    'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
93
	                    'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
93
	                    'Ligne n° : '. __LINE__ .'<br />'.
94
	                    'Ligne n° : '. __LINE__ .'<br />'.
94
	                    'Fichier n° : '. __FILE__ .'<br /><p>';
95
	                    'Fichier n° : '. __FILE__ .'<br /><p>';
95
	        print  $message;
96
	        print  $message;
96
	    }
97
	    }
97
	
98
	
98
	    $chemin_wikini = PAP_FTP_RACINE.ADWI_CHEMIN_WIKINI.$valeur['code_alpha_wikini'].GEN_SEP;
99
	    $chemin_wikini = PAP_FTP_RACINE.ADWI_CHEMIN_WIKINI.$valeur['code_alpha_wikini'].GEN_SEP;
99
	    
100
	    
100
	    if ($valeur['code_alpha_wikini']!='') {
101
	    if ($valeur['code_alpha_wikini']!='') {
101
	
102
	
102
		    $resultat = $objet_pear_ftp->rm($chemin_wikini, true);
103
		    $resultat = $objet_pear_ftp->rm($chemin_wikini, true);
103
		    
104
		    
104
		    if (PEAR::isError($resultat)) {
105
		    if (PEAR::isError($resultat)) {
105
		        $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier le wikini de reference par ftp.<br />'.
106
		        $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier le wikini de reference par ftp.<br />'.
106
		                    'Wikini : '. $chemin_wikini .'<br />'.
107
		                    'Wikini : '. $chemin_wikini .'<br />'.
107
		                    'Erreur origine : '. $resultat->getMessage() .'<br />'.
108
		                    'Erreur origine : '. $resultat->getMessage() .'<br />'.
108
		                    'Ligne n° : '. __LINE__ .'<br />'.
109
		                    'Ligne n° : '. __LINE__ .'<br />'.
109
		                    'Fichier n° : '. __FILE__ .'<br /></p>';
110
		                    'Fichier n° : '. __FILE__ .'<br /></p>';
110
		            print $message;
111
		            print $message;
111
		    }
112
		    }
112
	    }
113
	    }
113
	    
114
	    
114
	}
115
	}
115
 
116
 
116
// else {
117
// else {
117
 
118
 
118
// Gestion sans FTP à faire 
119
// Gestion sans FTP à faire 
119
 
120
 
120
	//}
121
	//}
121
	 
122
	 
122
 
123
 
123
    
124
    
124
}
125
}
125
 
126
 
126
/**
127
/**
127
 *
128
 *
128
 *
129
 *
129
 * @return
130
 * @return
130
 */
131
 */
131
 
132
 
132
function adwi_valeurs_par_code_alpha($code_alpha_wikini, &$db) {
133
function adwi_valeurs_par_code_alpha($code_alpha_wikini, &$db) {
133
	
134
	
134
	$requete = "select * from gen_wikini where gewi_code_alpha_wikini='". $code_alpha_wikini."'" ;
135
	$requete = "select * from gen_wikini where gewi_code_alpha_wikini='". $code_alpha_wikini."'" ;
135
    $resultat = $db->query ($requete) ;
136
    $resultat = $db->query ($requete) ;
136
 	if (DB::isError ($resultat)) {
137
 	if (DB::isError ($resultat)) {
137
        $GLOBALS['_GEN_commun']['debogage_erreur']->gererErreur(E_USER_WARNING, "Echec de la requete : $requete<br />".$resultat->getMessage(),
138
        $GLOBALS['_GEN_commun']['debogage_erreur']->gererErreur(E_USER_WARNING, "Echec de la requete : $requete<br />".$resultat->getMessage(),
138
                                                                        __FILE__, __LINE__, 'admin_wikini')   ;
139
                                                                        __FILE__, __LINE__, 'admin_wikini')   ;
139
        return ;
140
        return ;
140
    }
141
    }
141
 
-
 
142
 
142
 
143
	$ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT) ;
143
	$ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT) ;
144
	$resultat->free();
144
	$resultat->free();
145
	unset ($requete, $resultat);
145
	unset ($requete, $resultat);
146
	return adwi_valeurs_par_defaut($ligne->gewi_id_wikini,$db);
146
	return adwi_valeurs_par_defaut($ligne->gewi_id_wikini,$db);
147
	
147
	
148
}
148
}
149
	
149
	
150
	
150
	
151
function adwi_valeurs_par_defaut($id_wikini, &$db) {
151
function adwi_valeurs_par_defaut($id_wikini, &$db) {
152
 
152
 
153
	
153
	
154
    // requete sur gen_wikin
154
    // requete sur gen_wikin
155
    
155
    
156
    $requete = "select * from gen_wikini where gewi_id_wikini=$id_wikini" ;
156
    $requete = "select * from gen_wikini where gewi_id_wikini=$id_wikini" ;
157
    $resultat = $db->query ($requete) ;
157
    $resultat = $db->query ($requete) ;
158
    if (DB::isError ($resultat)) {
158
    if (DB::isError ($resultat)) {
159
        trigger_error("Echec de la requete : $requete<br />".$resultat->getMessage(), E_USER_WARNING) ;
159
        trigger_error("Echec de la requete : $requete<br />".$resultat->getMessage(), E_USER_WARNING) ;
160
        return ;
160
        return ;
161
    }
161
    }
162
    $tableau_retour = array () ;
162
    $tableau_retour = array () ;
163
    $ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT) ;
163
    $ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT) ;
164
    
164
    
165
    $tableau_retour['code_alpha_wikini'] = $ligne->gewi_code_alpha_wikini;
165
    $tableau_retour['code_alpha_wikini'] = $ligne->gewi_code_alpha_wikini;
166
    $tableau_retour['bdd_hote'] = $ligne->gewi_bdd_hote ;
166
    $tableau_retour['bdd_hote'] = $ligne->gewi_bdd_hote ;
167
    $tableau_retour['bdd_nom'] = $ligne->gewi_bdd_nom;
167
    $tableau_retour['bdd_nom'] = $ligne->gewi_bdd_nom;
168
    $tableau_retour['bdd_utilisateur'] = $ligne->gewi_bdd_utilisateur;
168
    $tableau_retour['bdd_utilisateur'] = $ligne->gewi_bdd_utilisateur;
169
    $tableau_retour['bdd_mdp'] = $ligne->gewi_bdd_mdp;
169
    $tableau_retour['bdd_mdp'] = $ligne->gewi_bdd_mdp;
170
    $tableau_retour['table_prefix'] = $ligne->gewi_table_prefix ;
170
    $tableau_retour['table_prefix'] = $ligne->gewi_table_prefix ;
171
    $tableau_retour['page'] = $ligne->gewi_page;
171
    $tableau_retour['page'] = $ligne->gewi_page;
172
    $tableau_retour['chemin'] = $ligne->gewi_chemin ;
172
    $tableau_retour['chemin'] = $ligne->gewi_chemin ;
173
    
173
    
174
    unset ($requete, $resultat);
174
    unset ($requete, $resultat);
175
    return $tableau_retour ;
175
    return $tableau_retour ;
176
}
176
}
-
 
177
 
-
 
178
// merci PHP 5 ...
-
 
179
function mb_str_split($str, $length = 1) {
-
 
180
  if ($length < 1) return FALSE;
-
 
181
 
-
 
182
  $result = array();
-
 
183
 
-
 
184
  for ($i = 0; $i < strlen($str); $i += $length) {
-
 
185
    $result[] = substr($str, $i, $length);
-
 
186
  }
-
 
187
 
-
 
188
  return $result;
-
 
189
}
-
 
190
// 
-
 
191
function remove_accents( $string )
-
 
192
{
-
 
193
    $string = htmlentities($string);
-
 
194
    return preg_replace("/&([a-z])[a-z]+;/i","$1",$string);
-
 
195
}
-
 
196
 
-
 
197
function genere_nom_wiki($nom, $spaces = FALSE)
-
 
198
{
-
 
199
	// traitement des accents
-
 
200
	$nom = remove_accents($nom);
-
 
201
    
-
 
202
	$temp = mb_str_split($nom);
-
 
203
	
-
 
204
	$count = 0;
-
 
205
	$final = NULL;
-
 
206
	foreach($temp as $letter)
-
 
207
	{
-
 
208
		if(preg_match('/([[:space:]]|[[:punct:]])/', $letter))
-
 
209
		{
-
 
210
			$final .= ($spaces ? '_' : '');
-
 
211
		} elseif(preg_match ('/[a-zA-Z0-9]/', $letter)) {
-
 
212
            $final .= (($count == 0 || $count == (strlen($nom) - 1)) ? strtoupper($letter) : strtolower($letter));
-
 
213
        }
-
 
214
        $count++;
-
 
215
	}
-
 
216
	
-
 
217
	// vérifions que le retour n'est pas uniquement un underscore
-
 
218
	if(preg_match('/^[[:punct:]]+$/', $final)) return FALSE;
-
 
219
 
-
 
220
 	// sinon retour du nom formaté
-
 
221
	return($final);
-
 
222
}
177
 
223
 
178
/**
224
/**
179
 *
225
 *
180
 * C du CRUD
226
 * C du CRUD
181
 * @return int id_wikini_bdd
227
 * @return int id_wikini_bdd
182
 */
228
 */
183
 
229
 
184
 
230
 
-
 
231
function insertion ($valeur, &$db) {
-
 
232
	
-
 
233
	// --julien pour noms wiki
-
 
234
	$valeur['code_alpha_wikini'] = genere_nom_wiki($valeur['code_alpha_wikini'], TRUE);
-
 
235
 
185
function insertion ($valeur, &$db) {	
236
	 	
186
	// Calcul dernier identifiant
237
	// Calcul dernier identifiant
187
    $id_wikini_bdd = SQL_obtenirNouveauId ($db, 'gen_wikini', 'gewi_id_wikini') ;
238
    $id_wikini_bdd = SQL_obtenirNouveauId ($db, 'gen_wikini', 'gewi_id_wikini') ;
188
    $requete = "insert into gen_wikini set gewi_id_wikini ="
239
    $requete = "insert into gen_wikini set gewi_id_wikini ="
189
                .$id_wikini_bdd.","
240
                .$id_wikini_bdd.","
190
                .requete_wikini($valeur) ;
241
                .requete_wikini($valeur) ;
191
    $resultat = $db->query ($requete) ;
242
    $resultat = $db->query ($requete) ;
192
    if (DB::isError ($resultat)) {
243
    if (DB::isError ($resultat)) {
193
        trigger_error("Echec de la requete : $requete<br />".$resultat->getMessage(),E_USER_WARNING) ;
244
        trigger_error("Echec de la requete : $requete<br />".$resultat->getMessage(),E_USER_WARNING) ;
194
    }
245
    }
195
 
246
 
196
	if (GEN_FTP_UTILISE) {
247
	if (GEN_FTP_UTILISE) {
197
	    /** Inclusion bibliothèque de PEAR gérant le FTP.*/
248
	    /** Inclusion bibliothèque de PEAR gérant le FTP.*/
198
	    require_once ADWI_CHEMIN_BIBLIOTHEQUE_PEAR.'Net/FTP.php';
249
	    require_once ADWI_CHEMIN_BIBLIOTHEQUE_PEAR.'Net/FTP.php';
199
 
250
 
200
	    // création de l'objet pear ftp
251
	    // création de l'objet pear ftp
201
	    $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
252
	    $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT) or die("Connexion FTP Impossible !");
202
	    // création de la connexion
253
	    // création de la connexion
203
	    $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
254
	    $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT) or die("Connexion FTP Impossible !");
204
	    // identification
255
	    // identification
205
	    $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
256
	    $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
206
	    
257
	    
207
	    // Gestion des erreurs ftp
258
	    // Gestion des erreurs ftp
208
	    if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
259
	    if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
209
	        $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
260
	        $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
210
	                    'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
261
	                    'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
211
	                    'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
262
	                    'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
212
	                    'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
263
	    //                'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
213
	                    'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
264
	                    'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
214
	                    'Ligne n° : '. __LINE__ .'<br />'.
265
	                    'Ligne n° : '. __LINE__ .'<br />'.
215
	                    'Fichier n° : '. __FILE__ .'<br /><p>';
266
	                    'Fichier n° : '. __FILE__ .'<br /><p>';
216
	        print  $message;
267
	        print  $message;
217
	    }
268
	    }
218
	    $objet_pear_ftp->mkdir(PAP_FTP_RACINE.ADWI_CHEMIN_WIKINI.$valeur['code_alpha_wikini']) ;
269
	    $objet_pear_ftp->mkdir(PAP_FTP_RACINE.ADWI_CHEMIN_WIKINI) ;
219
	
270
	
220
	    $chemin_wikini_bibliotheque = ADWI_CHEMIN_BIBLIOTHEQUE_WIKINI;
271
	    $chemin_wikini_bibliotheque = ADWI_CHEMIN_BIBLIOTHEQUE_WIKINI;
221
	    $chemin_wikini = PAP_FTP_RACINE.ADWI_CHEMIN_WIKINI.$valeur['code_alpha_wikini'].GEN_SEP;
272
	    $chemin_wikini = PAP_FTP_RACINE.ADWI_CHEMIN_WIKINI.genere_nom_wiki($valeur['code_alpha_wikini'], TRUE).GEN_SEP;
222
	    
273
	    
223
	    // Overwrite = fale (3eme parametre)
274
	    // Overwrite = fale (3eme parametre)
224
	    $resultat = $objet_pear_ftp->putRecursive($chemin_wikini_bibliotheque, $chemin_wikini, false, FTP_BINARY);
275
	    $resultat = $objet_pear_ftp->putRecursive($chemin_wikini_bibliotheque, $chemin_wikini, false, FTP_BINARY);
225
	    
276
	    
226
	    if (PEAR::isError($resultat)) {
277
	    if (PEAR::isError($resultat)) {
227
	        $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier le wikini de reference par ftp.<br />'.
278
	        $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier le wikini de reference par ftp.<br />'.
228
	                    'Fichier origine : '. $chemin_wikini_bibliotheque .'<br />'.
279
	                    'Fichier origine : '. $chemin_wikini_bibliotheque .'<br />'.
229
	                    'Fichier copié : '. $chemin_wikini .'<br />'.
280
	                    'Fichier copié : '. $chemin_wikini .'<br />'.
230
	                    'Erreur origine : '. $resultat->getMessage() .'<br />'.
281
	                    'Erreur origine : '. $resultat->getMessage() .'<br />'.
231
	                    'Ligne n° : '. __LINE__ .'<br />'.
282
	                    'Ligne n° : '. __LINE__ .'<br />'.
232
	                    'Fichier n° : '. __FILE__ .'<br /></p>';
283
	                    'Fichier n° : '. __FILE__ .'<br /></p>';
233
	            print $message;
284
	            print $message;
234
	    }
285
	    }
235
	}
286
	}
236
	
287
	
237
	// else {
288
	// else {
238
	
289
	
239
	// Gestion sans FTP à faire 
290
	// Gestion sans FTP à faire 
240
	
291
	
241
		//}
292
		//}
242
		 
293
		 
243
    // Creation tables wikini
294
    // Creation tables wikini
244
    
295
    
245
    include_once ADWI_CHEMIN_BIBLIOTHEQUE.'gestion_wikini.class.php' ;
296
    include_once ADWI_CHEMIN_BIBLIOTHEQUE.'gestion_wikini.class.php' ;
246
     
297
     
247
    $g_wikini = new gestion_wikini($db);
298
    $g_wikini = new gestion_wikini($db);
248
    
299
    
249
    
300
    
250
	if ((!isset($valeur['table_prefix'])) || (empty($config_wikini['$valeur'])))  {
301
	if ((!isset($valeur['table_prefix'])) || (empty($config_wikini['$valeur'])))  {
251
		$valeur['table_prefix'] = $valeur['code_alpha_wikini'];
302
		$valeur['table_prefix'] = $valeur['code_alpha_wikini'];
252
	}
303
	}
253
    $g_wikini->creation_tables($valeur['table_prefix']);
304
    $g_wikini->creation_tables($valeur['table_prefix'], $valeur['page']);
254
 	
305
 	
255
 	// Creation Wakka.config.php
306
 	// Creation Wakka.config.php
256
 	
307
 	
257
 	$config_wikini = adwi_config_wikini($valeur['code_alpha_wikini'] ,$db );
308
 	$config_wikini = adwi_config_wikini($valeur['code_alpha_wikini'] ,$db );
258
	
309
	
259
	
310
	
260
	$base_url=parse_url(PAP_URL);
311
	$base_url=parse_url(PAP_URL);
261
	$dirname_base_url=dirname($base_url['path']);
312
	$dirname_base_url=dirname($base_url['path']);
262
	$config_base_url=$dirname_base_url.GEN_SEP.ADWI_CHEMIN_WIKINI.GEN_SEP.$config_wikini['code_alpha_wikini'].GEN_SEP."wakka.php?wiki=";
313
	$config_base_url=$dirname_base_url.GEN_SEP.ADWI_CHEMIN_WIKINI.GEN_SEP.$config_wikini['code_alpha_wikini'].GEN_SEP."wakka.php?wiki=";
263
	$config_base_url = str_replace("//", "/", $config_base_url);
314
	$config_base_url = str_replace("//", "/", $config_base_url);
264
	
315
	
265
 
316
 
266
	$config = array(
317
	$config = array(
267
    "wakka_version" => "0.1.1",
318
    "wakka_version" => "0.1.1",
268
	"wikini_version" => "0.4.3",
319
	"wikini_version" => "0.4.3",
269
    'mysql_host'            => $config_wikini['bdd_hote'],
320
    'mysql_host'            => $config_wikini['bdd_hote'],
270
    'mysql_database'        => $config_wikini['bdd_nom'],
321
    'mysql_database'        => $config_wikini['bdd_nom'],
271
    'mysql_user'            => $config_wikini['bdd_utilisateur'],
322
    'mysql_user'            => $config_wikini['bdd_utilisateur'],
272
    'mysql_password'        => $config_wikini['bdd_mdp'],
323
    'mysql_password'        => $config_wikini['bdd_mdp'],
273
    'table_prefix'          => $config_wikini['table_prefix'],
324
    'table_prefix'          => $config_wikini['table_prefix'],
274
    'root_page'             => $config_wikini['page'],
325
    'root_page'             => $valeur['page'],
275
    'wakka_name'            => $config_wikini['code_alpha_wikini'],
326
    'wakka_name'            => str_replace("_", " ", $valeur['code_alpha_wikini']),
276
    'base_url'              => $config_base_url,
327
    'base_url'              => $config_base_url,
277
    'rewrite_mode'          => '0',
328
    'rewrite_mode'          => '0',
278
    'meta_keywords'         => '',
329
    'meta_keywords'         => '',
279
    'meta_description'      => '',
330
    'meta_description'      => '',
280
    'action_path'           => 'actions',
331
    'action_path'           => 'actions',
281
    'handler_path'          => 'handlers',
332
    'handler_path'          => 'handlers',
282
    'header_action'         => 'header',
333
    'header_action'         => 'header',
283
    'footer_action'         => 'footer',
334
    'footer_action'         => 'footer',
284
    'navigation_links'      => 'DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur',
335
    'navigation_links'      => 'DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur',
285
    'referrers_purge_time'  => 24,
336
    'referrers_purge_time'  => 24,
286
    'pages_purge_time'      => 90,
337
    'pages_purge_time'      => 90,
287
    'default_write_acl'     => '*',
338
    'default_write_acl'     => '*',
288
    'default_read_acl'      => '*',
339
    'default_read_acl'      => '*',
289
    'default_comment_acl'   => '*',
340
    'default_comment_acl'   => '*',
290
    'preview_before_save'   => '0');
341
    'preview_before_save'   => '0');
291
 
342
 
292
	
343
	
293
	
344
	
294
	// convert config array into PHP code
345
	// convert config array into PHP code
295
	$configCode = "<?php\n// wakka.config.php cr&eacute;&eacute;e ".strftime("%c")."\n// ne changez pas la wikini_version manuellement!\n\n\$wakkaConfig = array(\n";
346
	$configCode = "<?php\n// wakka.config.php cr&eacute;&eacute;e ".strftime("%c")."\n// ne changez pas la wikini_version manuellement!\n\n\$wakkaConfig = array(\n";
296
	foreach ($config as $k => $v)
347
	foreach ($config as $k => $v)
297
	{
348
	{
298
		$entries[] = "\t\"".$k."\" => \"".$v."\"";
349
		$entries[] = "\t\"".$k."\" => \"".$v."\"";
299
	}
350
	}
300
	$configCode .= implode(",\n", $entries).");\n?>";
351
	$configCode .= implode(",\n", $entries).");\n?>";
301
 
352
 
302
 
353
 
303
	$tempfn = tempnam("","");
354
	$tempfn = tempnam("","");
304
	$temp = fopen($tempfn, "w");
355
	$temp = fopen($tempfn, "w");
305
	
356
	
306
	fwrite($temp, $configCode);
357
	fwrite($temp, $configCode);
307
	fclose($temp);
358
	fclose($temp);
308
 
359
 
309
 
360
 
310
	$fichier_config_source = $tempfn;
361
	$fichier_config_source = $tempfn;
311
    $fichier_config_cible = PAP_FTP_RACINE.ADWI_CHEMIN_WIKINI.$valeur['code_alpha_wikini'].GEN_SEP."wakka.config.php";
362
    $fichier_config_cible = PAP_FTP_RACINE.ADWI_CHEMIN_WIKINI.genere_nom_wiki($valeur['code_alpha_wikini'], TRUE).GEN_SEP."wakka.config.php";
312
    
363
    
313
    $resultat = $objet_pear_ftp->put($fichier_config_source, $fichier_config_cible, false, FTP_BINARY);
364
    $resultat = $objet_pear_ftp->put($fichier_config_source, $fichier_config_cible, false, FTP_BINARY);
314
    
365
    
315
    if (PEAR::isError($resultat)) {
366
    if (PEAR::isError($resultat)) {
316
        $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier le wikini de reference par ftp.<br />'.
367
        $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier le wikini de reference par ftp.<br />'.
317
                    'Fichier origine : '. $chemin_wikini_bibliotheque .'<br />'.
368
                    'Fichier origine : '. $chemin_wikini_bibliotheque .'<br />'.
318
                    'Fichier copié : '. $chemin_wikini .'<br />'.
369
                    'Fichier copié : '. $chemin_wikini .'<br />'.
319
                    'Erreur origine : '. $resultat->getMessage() .'<br />'.
370
                    'Erreur origine : '. $resultat->getMessage() .'<br />'.
320
                    'Ligne n° : '. __LINE__ .'<br />'.
371
                    'Ligne n° : '. __LINE__ .'<br />'.
321
                    'Fichier n° : '. __FILE__ .'<br /></p>';
372
                    'Fichier n° : '. __FILE__ .'<br /></p>';
322
            print $message;
373
            print $message;
323
    }
374
    }
324
    
375
    
325
	$objet_pear_ftp->disconnect();
376
	$objet_pear_ftp->disconnect();
326
	 
377
	 
327
	unlink($tempfn);
378
	unlink($tempfn);
328
 	   
379
 	   
329
}
380
}
330
 
381
 
331
/**
382
/**
332
 *
383
 *
333
 * U du CRUD
384
 * U du CRUD
334
 * @return
385
 * @return
335
 */
386
 */
336
 
387
 
337
 
388
 
338
function mise_a_jour ($valeur, &$db) {
389
function mise_a_jour ($valeur, &$db) {
339
    $requete = "update gen_wikini set ".requete_wikini($valeur)
390
    $requete = "update gen_wikini set ".requete_wikini($valeur)
340
                .' where gewi_id_wikini ='.$GLOBALS['id_wikini'] ;
391
                .' where gewi_id_wikini ='.$GLOBALS['id_wikini'] ;
341
    $resultat = $db->query ($requete) ;
392
    $resultat = $db->query ($requete) ;
342
    if (DB::isError ($resultat)) {
393
    if (DB::isError ($resultat)) {
343
        trigger_error("Echec de la requete : $requete<br />".$resultat->getMessage(),E_USER_WARNING) ;
394
        trigger_error("Echec de la requete : $requete<br />".$resultat->getMessage(),E_USER_WARNING) ;
344
    }
395
    }
345
}
396
}
346
 
397
 
347
/**
398
/**
348
 *
399
 *
349
 * Formate code sql pour insertion à partir des valeurs entrees dans le formulaire 
400
 * Formate code sql pour insertion à partir des valeurs entrees dans le formulaire 
350
 * 
401
 * 
351
 * @return  string  un morceau de code SQL
402
 * @return  string  un morceau de code SQL
352
 */
403
 */
353
 
404
 
354
function requete_wikini (&$valeur) {
405
function requete_wikini (&$valeur) {
355
    return   'gewi_code_alpha_wikini ="'.$valeur['code_alpha_wikini'].'", '
406
    return   'gewi_code_alpha_wikini ="'.genere_nom_wiki($valeur['code_alpha_wikini'], TRUE).'", '
356
            .'gewi_bdd_hote ="'.$valeur['bdd_hote'].'", '
407
            .'gewi_bdd_hote ="'.$valeur['bdd_hote'].'", '
357
            .'gewi_bdd_nom="'.$valeur['bdd_nom'].'", '
408
            .'gewi_bdd_nom="'.$valeur['bdd_nom'].'", '
358
            .'gewi_bdd_utilisateur ="'.$valeur['bdd_utilisateur'].'", '
409
            .'gewi_bdd_utilisateur ="'.$valeur['bdd_utilisateur'].'", '
359
            .'gewi_bdd_mdp="'.$valeur['bdd_mdp'].'", '
410
            .'gewi_bdd_mdp="'.$valeur['bdd_mdp'].'", '
360
            .'gewi_table_prefix="'.$valeur['table_prefix'].'", '
411
            .'gewi_table_prefix="'.$valeur['table_prefix'].'", '
361
            .'gewi_chemin="'.$valeur['chemin'].'", '
412
            .'gewi_chemin="'.$valeur['chemin'].'", '
362
            .'gewi_page="'.$valeur['page'].'"';
413
            .'gewi_page="'.$valeur['page'].'"';
363
}
414
}
364
 
415
 
365
 
416
 
366
function adwi_config_wikini($code_alpha_wikini,&$db) {
417
function adwi_config_wikini($code_alpha_wikini,&$db) {
367
	
418
	
368
	$config_wikini = adwi_valeurs_par_code_alpha($code_alpha_wikini,$db );
419
	$config_wikini = adwi_valeurs_par_code_alpha($code_alpha_wikini,$db );
369
 
420
 
370
	// Parametres de base de donnée de Papyrus par défaut  
421
	// Parametres de base de donnée de Papyrus par défaut  
371
	
422
	
372
	if ((!isset($config_wikini['bdd_hote'])) || (empty($config_wikini['bdd_hote']))) {
423
	if ((!isset($config_wikini['bdd_hote'])) || (empty($config_wikini['bdd_hote']))) {
373
	   $config_wikini['bdd_hote'] = PAP_BDD_SERVEUR;
424
	   $config_wikini['bdd_hote'] = PAP_BDD_SERVEUR;
374
	}
425
	}
375
	
426
	
376
	if ((!isset($config_wikini['bdd_nom'])) || (empty($config_wikini['bdd_nom'])))  {
427
	if ((!isset($config_wikini['bdd_nom'])) || (empty($config_wikini['bdd_nom'])))  {
377
	   $config_wikini['bdd_nom'] = PAP_BDD_NOM;
428
	   $config_wikini['bdd_nom'] = PAP_BDD_NOM;
378
	}
429
	}
379
	
430
	
380
	if ((!isset($config_wikini['bdd_utilisateur'])) || (empty($config_wikini['bdd_utilisateur'])))  {
431
	if ((!isset($config_wikini['bdd_utilisateur'])) || (empty($config_wikini['bdd_utilisateur'])))  {
381
	   $config_wikini['bdd_utilisateur'] = PAP_BDD_UTILISATEUR;
432
	   $config_wikini['bdd_utilisateur'] = PAP_BDD_UTILISATEUR;
382
	}
433
	}
383
	
434
	
384
	if ((!isset($config_wikini['bdd_mdp'])) || (empty($config_wikini['bdd_mdp'])))  {
435
	if ((!isset($config_wikini['bdd_mdp'])) || (empty($config_wikini['bdd_mdp'])))  {
385
	   $config_wikini['bdd_mdp'] = PAP_BDD_MOT_DE_PASSE;
436
	   $config_wikini['bdd_mdp'] = PAP_BDD_MOT_DE_PASSE;
386
	}
437
	}
387
	
438
	
388
	if ((!isset($config_wikini['table_prefix'])) || (empty($config_wikini['table_prefix'])))  {
439
	if ((!isset($config_wikini['table_prefix'])) || (empty($config_wikini['table_prefix'])))  {
389
		$config_wikini['table_prefix'] = $code_alpha_wikini.'_';
440
		$config_wikini['table_prefix'] = $code_alpha_wikini.'_';
390
	}
441
	}
391
		
442
		
392
	
443
	
393
	// Ordre de selection de la page de demarrage :
444
	// Ordre de selection de la page de demarrage :
394
	
445
	
395
	// Page par defaut du Wiki enregistré
446
	// Page par defaut du Wiki enregistré
396
	// PagePrincipale
447
	// PagePrincipale
397
	
448
	
398
	if ((!isset($config_wikini['page']))  || (empty($config_wikini['page']))) {
449
	if ((!isset($config_wikini['page']))  || (empty($config_wikini['page']))) {
399
	   	$config_wikini['page'] = 'PagePrincipale';
450
	   	$config_wikini['page'] = 'PagePrincipale';
400
	}
451
	}
401
	
452
	
402
	
453
	
403
	/** Constante stockant le chemin du dossier contenant le site Wikini en cours */
454
	/** Constante stockant le chemin du dossier contenant le site Wikini en cours */
404
	
455
	
405
	if ((!isset($config_wikini['chemin'])) || (empty($config_wikini['chemin'])))  {
456
	if ((!isset($config_wikini['chemin'])) || (empty($config_wikini['chemin'])))  {
406
		$config_wikini['chemin'] = GEN_CHEMIN_WIKINI.$config_wikini['code_alpha_wikini'].GEN_SEP;
457
		$config_wikini['chemin'] = GEN_CHEMIN_WIKINI.$config_wikini['code_alpha_wikini'].GEN_SEP;
407
	}
458
	}
408
	
459
	
409
	
460
	
410
	return $config_wikini;
461
	return $config_wikini;
411
}
462
}
412
 
463
 
413
// +------------------------------------------------------------------------------------------------------+
464
// +------------------------------------------------------------------------------------------------------+
414
// |                                            PIED du PROGRAMME                                         |
465
// |                                            PIED du PROGRAMME                                         |
415
// +------------------------------------------------------------------------------------------------------+
466
// +------------------------------------------------------------------------------------------------------+
416
 
467
 
417
 
468
 
418
/* +--Fin du code ----------------------------------------------------------------------------------------+
469
/* +--Fin du code ----------------------------------------------------------------------------------------+
419
*
470
*
420
* $Log: not supported by cvs2svn $
471
* $Log: not supported by cvs2svn $
421
* Revision 1.9  2006/09/21 14:18:06  florian
472
* Revision 1.9  2006/09/21 14:18:06  florian
422
* changement du wiki de base (ajout du gestionnaire d'extension), amélioration de l'intégrateur wiki
473
* changement du wiki de base (ajout du gestionnaire d'extension), amélioration de l'intégrateur wiki
423
*
474
*
424
* Revision 1.8  2006/07/19 13:55:01  ddelon
475
* Revision 1.8  2006/07/19 13:55:01  ddelon
425
* Bug suppression de Wiki
476
* Bug suppression de Wiki
426
*
477
*
427
* Revision 1.7  2006/06/02 09:12:16  florian
478
* Revision 1.7  2006/06/02 09:12:16  florian
428
* ajout constante chemin
479
* ajout constante chemin
429
*
480
*
430
* Revision 1.6  2006/04/28 12:41:26  florian
481
* Revision 1.6  2006/04/28 12:41:26  florian
431
* corrections erreurs chemin
482
* corrections erreurs chemin
432
*
483
*
433
* Revision 1.5  2005/09/28 16:29:39  ddelon
484
* Revision 1.5  2005/09/28 16:29:39  ddelon
434
* Merge modification projet
485
* Merge modification projet
435
*
486
*
436
* Revision 1.4  2005/09/09 09:37:17  ddelon
487
* Revision 1.4  2005/09/09 09:37:17  ddelon
437
* Integrateur Wikini et administration des Wikini
488
* Integrateur Wikini et administration des Wikini
438
*
489
*
439
* Revision 1.3  2005/09/02 11:29:25  ddelon
490
* Revision 1.3  2005/09/02 11:29:25  ddelon
440
* Integrateur Wikini et administration des Wikini
491
* Integrateur Wikini et administration des Wikini
441
*
492
*
442
* Revision 1.2  2005/08/31 17:34:52  ddelon
493
* Revision 1.2  2005/08/31 17:34:52  ddelon
443
* Integrateur Wikini et administration des Wikini
494
* Integrateur Wikini et administration des Wikini
444
*
495
*
445
* Revision 1.1  2005/08/25 08:59:12  ddelon
496
* Revision 1.1  2005/08/25 08:59:12  ddelon
446
* Integrateur Wikini et administration des Wikini
497
* Integrateur Wikini et administration des Wikini
447
*
498
*
448
* Revision 1.1  2005/03/09 10:44:04  jpm
499
* Revision 1.1  2005/03/09 10:44:04  jpm
449
* Mise au norme du nom du fichier.
500
* Mise au norme du nom du fichier.
450
*
501
*
451
* Revision 1.2  2005/03/09 10:40:33  alex
502
* Revision 1.2  2005/03/09 10:40:33  alex
452
* version initiale
503
* version initiale
453
*
504
*
454
* Revision 1.1  2004/12/13 18:07:28  alex
505
* Revision 1.1  2004/12/13 18:07:28  alex
455
* version initiale
506
* version initiale
456
*
507
*
457
*
508
*
458
* +-- Fin du code ----------------------------------------------------------------------------------------+
509
* +-- Fin du code ----------------------------------------------------------------------------------------+
459
*/
510
*/
460
?>
511
?>