Subversion Repositories Applications.papyrus

Rev

Rev 437 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 437 Rev 439
Line 19... Line 19...
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.3 2005-09-02 11:29:25 ddelon Exp $
24
// CVS : $Id: adwi_wikini.fonct.php,v 1.4 2005-09-09 09:37:17 ddelon 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
* 
Line 33... Line 33...
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.3 $
38
*@version       $Revision: 1.4 $
39
// +------------------------------------------------------------------------------------------------------+
39
// +------------------------------------------------------------------------------------------------------+
40
*/
40
*/
Line 41... Line 41...
41
 
41
 
42
// +------------------------------------------------------------------------------------------------------+
42
// +------------------------------------------------------------------------------------------------------+
Line 50... Line 50...
50
 * D du CRUD
50
 * D du CRUD
51
 * @return
51
 * @return
52
 */
52
 */
Line 53... Line 53...
53
 
53
 
-
 
54
function adwi_supprimer_wikini($id_wikini, &$db) {
-
 
55
	
-
 
56
// Suppression enregistrement 
-
 
57
 
-
 
58
	$valeur = adwi_valeurs_par_defaut($id_wikini,$db );
54
function adwi_supprimer_wikini($id_wikini, &$db) {
59
	
55
    $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) ;
-
 
62
 
-
 
63
// Suppression tables Wikini ...
-
 
64
    
-
 
65
    include_once ADWI_CHEMIN_BIBLIOTHEQUE.'gestion_wikini.class.php' ;
-
 
66
    
-
 
67
    $g_wikini = new gestion_wikini($db);
-
 
68
    
-
 
69
	if ((!isset($valeur['table_prefix'])) || (empty($config_wikini['$valeur'])))  {
-
 
70
		$valeur['table_prefix'] = $valeur['code_alpha_wikini'];
-
 
71
	}
-
 
72
 
-
 
73
 	$g_wikini->suppression_tables ($valeur['table_prefix']);
-
 
74
    
-
 
75
	if (GEN_FTP_UTILISE) {
-
 
76
	    /** Inclusion bibliothèque de PEAR gérant le FTP.*/
-
 
77
	    require_once ADWI_CHEMIN_BIBLIOTHEQUE_PEAR.'Net/FTP.php';
-
 
78
	
-
 
79
	    // création de l'objet pear ftp
-
 
80
	    $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
-
 
81
	    // création de la connexion
-
 
82
	    $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
-
 
83
	    // identification
-
 
84
	    $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
-
 
85
	    
-
 
86
	    // Gestion des erreurs ftp
-
 
87
	    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
	                    'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
-
 
90
	                    'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
-
 
91
	                    'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
-
 
92
	                    'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
-
 
93
	                    'Ligne n° : '. __LINE__ .'<br />'.
-
 
94
	                    'Fichier n° : '. __FILE__ .'<br /><p>';
-
 
95
	        print  $message;
-
 
96
	    }
-
 
97
	
-
 
98
	    $chemin_wikini = PAP_FTP_RACINE.ADWI_CHEMIN_WIKINI.$valeur['code_alpha_wikini'].GEN_SEP;
-
 
99
	
-
 
100
	    $resultat = $objet_pear_ftp->rm($chemin_wikini, $chemin_wikini, true);
-
 
101
	    
-
 
102
	    if (PEAR::isError($resultat)) {
-
 
103
	        $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier le wikini de reference par ftp.<br />'.
-
 
104
	                    'Wikini : '. $chemin_wikini .'<br />'.
-
 
105
	                    'Erreur origine : '. $resultat->getMessage() .'<br />'.
-
 
106
	                    'Ligne n° : '. __LINE__ .'<br />'.
-
 
107
	                    'Fichier n° : '. __FILE__ .'<br /></p>';
-
 
108
	            print $message;
-
 
109
	    }
-
 
110
	}
-
 
111
 
-
 
112
// else {
-
 
113
 
-
 
114
// Gestion sans FTP à faire 
-
 
115
 
-
 
116
	//}
-
 
117
	 
Line 56... Line 118...
56
    $resultat = $db->query ($requete) ;
118
 
Line 57... Line 119...
57
    
119
    
58
}
120
}
Line 76... Line 138...
76
 
138
 
77
	$ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT) ;
139
	$ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT) ;
78
	$resultat->free();
140
	$resultat->free();
79
	unset ($requete, $resultat);
141
	unset ($requete, $resultat);
-
 
142
	return adwi_valeurs_par_defaut($ligne->gewi_id_wikini,$db);
80
	return adwi_valeurs_par_defaut($ligne->gewi_id_wikini,$db);
143
	
Line 81... Line 144...
81
}
144
}
-
 
145
	
Line 82... Line 146...
82
	
146
	
Line 83... Line 147...
83
	
147
function adwi_valeurs_par_defaut($id_wikini, &$db) {
84
function adwi_valeurs_par_defaut($id_wikini, &$db) {
148
 
Line 124... Line 188...
124
                .requete_wikini($valeur) ;
188
                .requete_wikini($valeur) ;
125
    $resultat = $db->query ($requete) ;
189
    $resultat = $db->query ($requete) ;
126
    if (DB::isError ($resultat)) {
190
    if (DB::isError ($resultat)) {
127
        trigger_error("Echec de la requete : $requete<br />".$resultat->getMessage(),E_USER_WARNING) ;
191
        trigger_error("Echec de la requete : $requete<br />".$resultat->getMessage(),E_USER_WARNING) ;
128
    }
192
    }
-
 
193
 
-
 
194
	if (GEN_FTP_UTILISE) {
-
 
195
	    /** Inclusion bibliothèque de PEAR gérant le FTP.*/
-
 
196
	    require_once ADWI_CHEMIN_BIBLIOTHEQUE_PEAR.'Net/FTP.php';
-
 
197
 
-
 
198
	    // création de l'objet pear ftp
-
 
199
	    $objet_pear_ftp = new Net_FTP(PAP_FTP_SERVEUR, PAP_FTP_PORT);
-
 
200
	    // création de la connexion
-
 
201
	    $ftp_conn = $objet_pear_ftp->connect(PAP_FTP_SERVEUR, PAP_FTP_PORT);
-
 
202
	    // identification
-
 
203
	    $ftp_login_result = $objet_pear_ftp->login(PAP_FTP_UTILISATEUR, PAP_FTP_MOT_DE_PASSE);
-
 
204
	    
-
 
205
	    // Gestion des erreurs ftp
-
 
206
	    if ((PEAR::isError($ftp_conn) || PEAR::isError($ftp_login_result))) {
-
 
207
	        $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de se connecter par ftp.<br />'.
-
 
208
	                    'Serveur : '. PAP_FTP_SERVEUR .'<br />'.
-
 
209
	                    'Utilisateur : '. PAP_FTP_UTILISATEUR .'<br />'.
-
 
210
	                    'Erreur connexion : '.$ftp_conn->getMessage().'<br />'.
-
 
211
	                    'Erreur login : '.$ftp_login_result->getMessage().'<br />'.
-
 
212
	                    'Ligne n° : '. __LINE__ .'<br />'.
-
 
213
	                    'Fichier n° : '. __FILE__ .'<br /><p>';
-
 
214
	        print  $message;
-
 
215
	    }
-
 
216
	    $objet_pear_ftp->mkdir(PAP_FTP_RACINE.ADWI_CHEMIN_WIKINI.$valeur['code_alpha_wikini']) ;
-
 
217
	
-
 
218
	    $chemin_wikini_bibliotheque = ADWI_CHEMIN_BIBLIOTHEQUE_WIKINI;
-
 
219
	    $chemin_wikini = PAP_FTP_RACINE.ADWI_CHEMIN_WIKINI.$valeur['code_alpha_wikini'].GEN_SEP;
-
 
220
	    
-
 
221
	    $resultat = $objet_pear_ftp->putRecursive($chemin_wikini_bibliotheque, $chemin_wikini, false, FTP_BINARY);
-
 
222
	    
-
 
223
	    if (PEAR::isError($resultat)) {
-
 
224
	        $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier le wikini de reference par ftp.<br />'.
-
 
225
	                    'Fichier origine : '. $chemin_wikini_bibliotheque .'<br />'.
-
 
226
	                    'Fichier copié : '. $chemin_wikini .'<br />'.
-
 
227
	                    'Erreur origine : '. $resultat->getMessage() .'<br />'.
-
 
228
	                    'Ligne n° : '. __LINE__ .'<br />'.
-
 
229
	                    'Fichier n° : '. __FILE__ .'<br /></p>';
-
 
230
	            print $message;
-
 
231
	    }
-
 
232
	}
-
 
233
	
-
 
234
	// else {
-
 
235
	
-
 
236
	// Gestion sans FTP à faire 
-
 
237
	
-
 
238
		//}
-
 
239
		 
-
 
240
    // Creation tables wikini
-
 
241
    
-
 
242
    include_once ADWI_CHEMIN_BIBLIOTHEQUE.'gestion_wikini.class.php' ;
-
 
243
    
-
 
244
    
-
 
245
    $g_wikini = new gestion_wikini($db);
-
 
246
    
-
 
247
    
-
 
248
	if ((!isset($valeur['table_prefix'])) || (empty($config_wikini['$valeur'])))  {
-
 
249
		$valeur['table_prefix'] = $valeur['code_alpha_wikini'];
-
 
250
	}
-
 
251
 
-
 
252
 	$g_wikini->creation_tables ($valeur['table_prefix']);
-
 
253
 	
-
 
254
 	// Creation Wakka.config.php
-
 
255
 	
-
 
256
 	$config_wikini = adwi_config_wikini($valeur['code_alpha_wikini'] ,$db );
-
 
257
	
-
 
258
	
-
 
259
	$base_url=parse_url(PAP_URL);
-
 
260
	$dirname_base_url=dirname($base_url['path']);
-
 
261
	$config_base_url=$dirname_base_url.GEN_SEP.ADWI_CHEMIN_WIKINI.GEN_SEP.$config_wikini['code_alpha_wikini'].GEN_SEP."wakka.php?wiki=";
-
 
262
	$config_base_url = str_replace("//", "/", $config_base_url);
-
 
263
	
-
 
264
 
-
 
265
	$config = array(
-
 
266
    "wakka_version" => "0.1.1",
-
 
267
	"wikini_version" => "0.4.3",
-
 
268
    'mysql_host'            => $config_wikini['bdd_hote'],
-
 
269
    'mysql_database'        => $config_wikini['bdd_nom'],
-
 
270
    'mysql_user'            => $config_wikini['bdd_utilisateur'],
-
 
271
    'mysql_password'        => $config_wikini['bdd_mdp'],
-
 
272
    'table_prefix'          => $config_wikini['table_prefix'],
-
 
273
    'root_page'             => $config_wikini['page'],
-
 
274
    'wakka_name'            => $config_wikini['code_alpha_wikini'],
-
 
275
    'base_url'              => $config_base_url,
-
 
276
    'rewrite_mode'          => '0',
-
 
277
    'meta_keywords'         => '',
-
 
278
    'meta_description'      => '',
-
 
279
    'action_path'           => 'actions',
-
 
280
    'handler_path'          => 'handlers',
-
 
281
    'header_action'         => 'header',
-
 
282
    'footer_action'         => 'footer',
-
 
283
    'navigation_links'      => 'DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur',
-
 
284
    'referrers_purge_time'  => 24,
-
 
285
    'pages_purge_time'      => 90,
-
 
286
    'default_write_acl'     => '*',
-
 
287
    'default_read_acl'      => '*',
-
 
288
    'default_comment_acl'   => '*',
-
 
289
    'preview_before_save'   => '0');
-
 
290
 
-
 
291
	
-
 
292
	
-
 
293
	// convert config array into PHP code
-
 
294
	$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";
-
 
295
	foreach ($config as $k => $v)
-
 
296
	{
-
 
297
		$entries[] = "\t\"".$k."\" => \"".$v."\"";
-
 
298
	}
-
 
299
	$configCode .= implode(",\n", $entries).");\n?>";
-
 
300
 
-
 
301
 
-
 
302
	$tempfn = tempnam("","");
-
 
303
	$temp = fopen($tempfn, "w");
-
 
304
	
-
 
305
	fwrite($temp, $configCode);
-
 
306
	fclose($temp);
-
 
307
 
-
 
308
 
-
 
309
	$fichier_config_source = $tempfn;
-
 
310
    $fichier_config_cible = PAP_FTP_RACINE.ADWI_CHEMIN_WIKINI.$valeur['code_alpha_wikini'].GEN_SEP."wakka.config.php";
-
 
311
    
-
 
312
    $resultat = $objet_pear_ftp->put($fichier_config_source, $fichier_config_cible, false, FTP_BINARY);
-
 
313
    
-
 
314
    if (PEAR::isError($resultat)) {
-
 
315
        $message =  '<p class="pap_erreur"> ERREUR Papyrus admin : impossible de copier le wikini de reference par ftp.<br />'.
-
 
316
                    'Fichier origine : '. $chemin_wikini_config .'<br />'.
-
 
317
                    'Fichier copié : '. $chemin_wikini .'<br />'.
-
 
318
                    'Erreur origine : '. $resultat->getMessage() .'<br />'.
-
 
319
                    'Ligne n° : '. __LINE__ .'<br />'.
-
 
320
                    'Fichier n° : '. __FILE__ .'<br /></p>';
-
 
321
            print $message;
-
 
322
    }
-
 
323
    
-
 
324
	$objet_pear_ftp->disconnect();
-
 
325
	 
-
 
326
	unlink($tempfn);
-
 
327
 	   
129
}
328
}
Line 130... Line 329...
130
 
329
 
131
/**
330
/**
132
 *
331
 *
Line 161... Line 360...
161
            .'gewi_chemin="'.$valeur['chemin'].'", '
360
            .'gewi_chemin="'.$valeur['chemin'].'", '
162
            .'gewi_page="'.$valeur['page'].'"';
361
            .'gewi_page="'.$valeur['page'].'"';
163
}
362
}
Line -... Line 363...
-
 
363
 
-
 
364
 
-
 
365
function adwi_config_wikini($code_alpha_wikini,&$db) {
-
 
366
	
-
 
367
	$config_wikini = adwi_valeurs_par_code_alpha($code_alpha_wikini,$db );
-
 
368
 
-
 
369
	// Parametres de base de donnée de Papyrus par défaut  
-
 
370
	
-
 
371
	if ((!isset($config_wikini['bdd_hote'])) || (empty($config_wikini['bdd_hote']))) {
-
 
372
	   $config_wikini['bdd_hote'] = PAP_BDD_SERVEUR;
-
 
373
	}
-
 
374
	
-
 
375
	if ((!isset($config_wikini['bdd_nom'])) || (empty($config_wikini['bdd_nom'])))  {
-
 
376
	   $config_wikini['bdd_nom'] = PAP_BDD_NOM;
-
 
377
	}
-
 
378
	
-
 
379
	if ((!isset($config_wikini['bdd_utilisateur'])) || (empty($config_wikini['bdd_utilisateur'])))  {
-
 
380
	   $config_wikini['bdd_utilisateur'] = PAP_BDD_UTILISATEUR;
-
 
381
	}
-
 
382
	
-
 
383
	if ((!isset($config_wikini['bdd_mdp'])) || (empty($config_wikini['bdd_mdp'])))  {
-
 
384
	   $config_wikini['bdd_mdp'] = PAP_BDD_MOT_DE_PASSE;
-
 
385
	}
-
 
386
	
-
 
387
	if ((!isset($config_wikini['table_prefix'])) || (empty($config_wikini['table_prefix'])))  {
-
 
388
		$config_wikini['table_prefix'] = $code_alpha_wikini.'_';
-
 
389
	}
-
 
390
		
-
 
391
	
-
 
392
	// Ordre de selection de la page de demarrage :
-
 
393
	
-
 
394
	// Page par defaut du Wiki enregistré
-
 
395
	// PagePrincipale
-
 
396
	
-
 
397
	if ((!isset($config_wikini['page']))  || (empty($config_wikini['page']))) {
-
 
398
	   	$config_wikini['page'] = 'PagePrincipale';
-
 
399
	}
-
 
400
	
-
 
401
	
-
 
402
	/** Constante stockant le chemin du dossier contenant le site Wikini en cours */
-
 
403
	
-
 
404
	if ((!isset($config_wikini['chemin'])) || (empty($config_wikini['chemin'])))  {
-
 
405
		$config_wikini['chemin'] = GEN_CHEMIN_WIKINI.$config_wikini['code_alpha_wikini'].GEN_SEP;
-
 
406
	}
-
 
407
	
-
 
408
	
-
 
409
	return $config_wikini;
164
 
410
}
165
 
411
 
166
// +------------------------------------------------------------------------------------------------------+
412
// +------------------------------------------------------------------------------------------------------+
Line 167... Line 413...
167
// |                                            PIED du PROGRAMME                                         |
413
// |                                            PIED du PROGRAMME                                         |
168
// +------------------------------------------------------------------------------------------------------+
414
// +------------------------------------------------------------------------------------------------------+
169
 
415
 
-
 
416
 
-
 
417
/* +--Fin du code ----------------------------------------------------------------------------------------+
-
 
418
*
170
 
419
* $Log: not supported by cvs2svn $
171
/* +--Fin du code ----------------------------------------------------------------------------------------+
420
* Revision 1.3  2005/09/02 11:29:25  ddelon
172
*
421
* Integrateur Wikini et administration des Wikini
173
* $Log: not supported by cvs2svn $
422
*
174
* Revision 1.2  2005/08/31 17:34:52  ddelon
423
* Revision 1.2  2005/08/31 17:34:52  ddelon