| 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éé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
|