[ Index ] |
|
Code source de SPIP Agora 1.4 |
1 <?php 2 /***************************************************** 3 * This file is part of Agora, web based content management system. 4 * 5 * Agora is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; version 2 of the License. 8 * 9 * Agora is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details (file "COPYING"). 13 * 14 * Copyright © Arnaud Martin, Antoine Pitrou et Philippe Rivière. 15 * List of authors detailed in "copyright_fr.html" file. 16 * E-mail : agora@sig.premier-ministre.gouv.fr 17 * Web site : http://www.agora.gouv.fr 18 *****************************************************/ 19 // TODO : page vraiment serrée .... me refaire tous les algos de présentations :-( 20 21 include ("inc.php"); 22 require_once (dirname(__FILE__). "/include/bd/inc_forum_factory.php"); 23 require_once (dirname(__FILE__). "/include/bd/inc_syndic_articles_factory.php"); 24 require_once (dirname(__FILE__). "/include/bd/inc_message_factory.php"); 25 require_once (dirname(__FILE__). "/include/bd/inc_message_factory.php"); 26 require_once (dirname(__FILE__). "/include/bd/inc_article_factory.php"); 27 require_once (dirname(__FILE__). "/include/bd/inc_article_list_factory.php"); 28 require_once (dirname(__FILE__). "/include/bd/inc_breve_list_factory.php"); 29 require_once (dirname(__FILE__). "/include/bd/inc_message_list_factory.php"); 30 require_once (dirname(__FILE__). "/include/bd/inc_syndic_list_factory.php"); 31 32 if ($HTTP_REFERER && !strpos($HTTP_REFERER, '/ecrire/')) 33 $bonjour = 'oui'; 34 35 debut_page(_T('titre_page_index'), "asuivre", "asuivre"); 36 37 debut_gauche(); 38 39 function enfant ($collection) { 40 global $les_enfants, $couleur_foncee, $lang_dir; 41 42 $rubriqueMetier = &recuperer_instance_rubrique(); 43 $allRubriquesByParentId = $rubriqueMetier->getAllForParentId($collection, "titre"); 44 45 if (PEAR::isError($allRubriquesByParentId)) { 46 die ($allRubriquesByParentId->getMessage()); 47 } 48 49 while (list(, $rubriqueMetier) = each($allRubriquesByParentId)) { 50 $id_rubrique = $rubriqueMetier->getRubriqueId(); 51 52 $authorization = &recuperer_instance_authorization('isManagedRubriqueByAuteurId', $GLOBALS['connect_id_auteur'], array('rubriqueId' => $id_rubrique)); 53 if ($authorization->isAuthorizedAction()) { 54 $id_parent = $rubriqueMetier->getParentId(); 55 $titre = $rubriqueMetier->getTitre(); 56 $descriptif = propre($rubriqueMetier->getDescriptif()); 57 $bouton_layer = bouton_block_invisible("enfants$id_rubrique"); 58 //$les_sous_enfants = debut_block_invisible("enfants$id_rubrique")."\n\n<FONT SIZE=2>"; 59 60 if (lire_meta('activer_navigation_rapide') == 'oui') { 61 $les_sous_enfants = sous_enfant($id_rubrique); 62 } 63 64 changer_typo ($rubriqueMetier->getLang()); 65 66 $les_enfants .= "<P>"; 67 68 if ($id_parent == "0") 69 $les_enfants .= debut_cadre_relief("secteur-24.gif", true); 70 else 71 $les_enfants .= debut_cadre_relief("rubrique-24.gif", true); 72 73 if (strlen($les_sous_enfants) > 0) { 74 $les_enfants .= $bouton_layer; 75 } 76 77 $les_enfants .= "<FONT FACE=\"Verdana,Arial,Sans,sans-serif\">"; 78 79 if (acces_restreint_rubrique($id_rubrique)) 80 $les_enfants .= "<img src='img_pack/admin-12.gif' alt='' width='12' height='12' title='" . _T('info_administrer_rubriques'). "'> "; 81 82 $les_enfants .= "<span dir='$lang_dir'><B><A HREF='naviguer.php?coll=$id_rubrique'><font color='$couleur_foncee'>" . typo($titre). "</font></A></B></span>"; 83 84 if (strlen($descriptif) > 1) { 85 $les_enfants .= "<br><FONT SIZE=1><span dir='$lang_dir'>$descriptif</span></FONT>"; 86 } 87 $les_enfants .= "</FONT>"; 88 $les_enfants .= $les_sous_enfants; 89 $les_enfants .= fin_cadre_relief(true); 90 } 91 else { 92 $les_enfants .= enfant($id_rubrique); 93 } 94 } 95 } 96 97 // 98 // Infos personnelles : nom, utilisation de la messagerie 99 // 100 101 echo "<p>"; 102 debut_cadre_relief ("fiche-perso-24.gif"); 103 echo "<font face='Verdana,Arial,Sans,sans-serif' size='2'>"; 104 105 if ($bonjour == "oui" OR $spip_ecran == "large") 106 echo bouton_block_visible("info_perso"); 107 else 108 echo bouton_block_invisible("info_perso"); 109 110 echo "<font size='1' color='black'><b>" . majuscules($connect_nom). "</b></font>"; 111 112 if ($bonjour == "oui" OR $spip_ecran == "large") 113 echo debut_block_visible("info_perso"); 114 else 115 echo debut_block_invisible("info_perso"); 116 117 if (lire_meta('activer_messagerie') != 'non') { 118 if ($connect_activer_messagerie != "non") { 119 echo _T('info_utilisation_messagerie_interne'). " "; 120 if ($connect_activer_imessage != "non") 121 echo _T('info_nom_utilisateurs_connectes'); 122 else 123 echo _T('info_nom_non_utilisateurs_connectes'); 124 } 125 else 126 echo _T('info_non_utilisation_messagerie'); 127 } 128 129 // 130 // Supprimer le cookie, se deconnecter... 131 // 132 $authorization = &recuperer_instance_authorization('afficherIconeSupprimerCookie', $GLOBALS['connect_id_auteur'], array('cookie_admin' => $cookie_admin)); 133 134 if ($authorization->isAuthorizedAction()AND $cookie_admin) 135 icone_horizontale(_T('icone_supprimer_cookie').aide("cookie"), 136 "../spip_cookie.php?cookie_admin=non&url=".rawurlencode("ecrire/index.php"), 137 "cookie-24.gif", 138 ""); 139 140 echo fin_block(); 141 fin_cadre_relief(); 142 143 // 144 // Annonces 145 // 146 147 include_ecrire ("inc_agenda.php"); 148 afficher_taches(); 149 150 // 151 // Afficher le calendrier du mois s'il y a des rendez-vous 152 // 153 154 if (lire_meta('activer_messagerie') != 'non' AND $connect_activer_messagerie != "non" AND $options == "avancees") { 155 $today = getdate(time()); 156 $jour_today = $today["mday"]; 157 $mois_today = $today["mon"]; 158 $annee_today = $today["year"]; 159 $date = date("Y-m-d", mktime(0, 0, 0, $mois_today, 1, $annee_today)); 160 $mois = mois($date); 161 $annee = annee($date); 162 $jour = jour($date); 163 164 // rendez-vous personnels dans le mois 165 166 $messageMetier = &recuperer_instance_message(); 167 168 if ($messageMetier->auteurHasRDVThisMonth($connect_id_auteur, $annee, $mois)) { 169 echo "<p />"; 170 agenda($mois_today, $annee_today, $jour_today, $mois_today, $annee_today); 171 } 172 if ($messageMetier->auteurHasRDVThisDay($connect_id_auteur, $annee_today, $mois_today, $jour_today)) { 173 echo "<p />"; 174 calendrier_jour($jour_today, $mois_today, $annee_today, "col"); 175 } 176 } 177 178 // 179 // Afficher les raccourcis : boutons de creation d'article et de breve, etc. 180 // 181 182 debut_raccourcis(); 183 184 // 185 // Afficher les boutons de creation d'article et de breve 186 // 187 // 188 $rubriqueMetier = &recuperer_instance_rubrique(); 189 $hasRubriqueOK = $rubriqueMetier->hasRubriqueId(); 190 191 if (PEAR::isError($hasRubriqueOK)) { 192 die ($hasRubriqueOK->getMessage()); 193 } 194 195 if ($hasRubriqueOK) { 196 icone_horizontale(_T('icone_ecrire_article'), "articles_edit.php?new=oui", "article-24.gif", "creer.gif"); 197 198 $activer_breves = lire_meta("activer_breves"); 199 if ($activer_breves != "non") { 200 $authorization = &recuperer_instance_authorization('creerBreve', $GLOBALS['connect_id_auteur']); 201 if ($authorization->isAuthorizedAction()) { 202 icone_horizontale(_T('icone_nouvelle_breve'), "breves_edit.php?new=oui", "breve-24.gif", "creer.gif"); 203 } 204 } 205 } 206 else { 207 $authorization = &recuperer_instance_authorization('afficherAvertissementAucuneRubrique', $GLOBALS['connect_id_auteur']); 208 if ($authorization->isAuthorizedAction()) { 209 echo "<font size='2'>" . _T('info_ecrire_article'). "</font><p>"; 210 } 211 } 212 $authorization = &recuperer_instance_authorization('afficherIconeCreerSecteur', $GLOBALS['connect_id_auteur']); 213 214 if ($authorization->isAuthorizedAction()) { 215 icone_horizontale(_T('icone_creer_rubrique_2'), "rubriques_edit.php?new=oui", "rubrique-24.gif", "creer.gif"); 216 } 217 218 if ($options == "avancees") { 219 echo "<p>"; 220 221 icone_horizontale(_T('titre_forum'), "forum.php", "forum-interne-24.gif", "rien.gif"); 222 223 $authorization = &recuperer_instance_authorization('afficherForumPriveAdmin', $GLOBALS['connect_id_auteur']); 224 225 if (lire_meta('forum_prive_admin') == 'oui' AND $authorization->isAuthorizedAction()) { 226 icone_horizontale(_T('titre_page_forum'), "forum_admin.php", "forum-admin-24.gif"); 227 echo "<p>"; 228 } 229 230 $authorization = &recuperer_instance_authorization('afficherStatistiques', $GLOBALS['connect_id_auteur']); 231 232 if (lire_meta("activer_statistiques") == 'oui' AND $authorization->isAuthorizedAction()) 233 icone_horizontale(_T('icone_statistiques'), "statistiques_visites.php", "statistiques-24.gif"); 234 235 icone_horizontale(_T('titre_page_forum_suivi'), "controle_forum.php", "suivi-forum-24.gif"); 236 $authorization = &recuperer_instance_authorization('viderCache', $GLOBALS['connect_id_auteur']); 237 if ($authorization->isAuthorizedAction()) 238 icone_horizontale(_T('texte_vider_cache'), "admin_vider.php", "cache-24.gif"); 239 } 240 241 else { 242 $authorization = &recuperer_instance_authorization('configurerSite', $GLOBALS['connect_id_auteur']); 243 if ($authorization->isAuthorizedAction()) { 244 echo "<p>"; 245 icone_horizontale(_T('icone_configurer_site'), "configuration.php", "administration-24.gif"); 246 } 247 } 248 249 fin_raccourcis(); 250 251 debut_droite(); 252 253 // 254 // Restauration d'une archive 255 // 256 257 if ($meta["debut_restauration"]) { 258 @ignore_user_abort (1); 259 include ("inc_import.php"); 260 261 $archive = $meta["fichier_restauration"]; 262 $my_pos = $meta["status_restauration"]; 263 $ok = file_exists($archive); 264 265 if ($ok) { 266 if (ereg("\.gz$", $archive)) { 267 $affiche_progression_pourcent = false; 268 $taille = taille_en_octets($my_pos); 269 } 270 else { 271 $affiche_progression_pourcent = filesize($archive); 272 $taille = floor(100 * $my_pos / $affiche_progression_pourcent). " %"; 273 } 274 $texte_boite = _T('info_base_restauration'). "<p> 275 <form name='progression'><center><input type='text' size=10 style='text-align:center;' name='taille' value='$taille'><br> 276 <input type='text' class='forml' name='recharge' value='" . _T('info_recharger_page'). "'></center></form>"; 277 } 278 else { 279 $texte_boite = _T('info_erreur_restauration'); 280 } 281 282 debut_boite_alerte(); 283 echo "<font FACE='Verdana,Arial,Sans,sans-serif' SIZE=4 color='black'><B>$texte_boite</B></font>"; 284 fin_boite_alerte(); 285 fin_page ("jimmac"); 286 echo "</HTML><font color='white'>\n<!--"; 287 @flush(); 288 $gz = $flag_gz; 289 $_fopen = ($gz) ? gzopen : fopen; 290 291 if ($ok) { 292 $f = $_fopen($archive, "rb"); 293 $pos = 0; 294 $buf = ""; 295 if (!import_all($f, $gz)) 296 import_abandon(); 297 } 298 else { 299 import_fin(); 300 } 301 exit; 302 } 303 304 // 305 // Modification du cookie 306 // 307 308 $authorization = &recuperer_instance_authorization('activerCookie', $GLOBALS['connect_id_auteur']); 309 310 if ($authorization->isAuthorizedAction()) { 311 if (!$cookie_admin) { 312 echo "<table width=100%><tr width=100%>"; 313 echo "<td width=100%>"; 314 echo _T('info_activer_cookie'); 315 echo aide("cookie"); 316 echo "</td>"; 317 echo "<td width=10><img src='img_pack/rien.gif' width=10>"; 318 echo "</td>"; 319 echo "<td width='250'>"; 320 icone_horizontale(_T('icone_activer_cookie'), "../spip_cookie.php?cookie_admin=" . rawurlencode("@$connect_login"). "&url=" . rawurlencode("ecrire/index.php"), "cookie-24.gif", ""); 321 echo "</td></tr></table>"; 322 echo "<p><hr><p>"; 323 } 324 } 325 326 // 327 // Articles post-dates en attente de publication 328 // 329 330 $post_dates = lire_meta("post_dates"); 331 $authorization = &recuperer_instance_authorization('afficherArticleAParaitre', $GLOBALS['connect_id_auteur']); 332 333 if ($post_dates == "non" AND $authorization->isAuthorizedAction()AND $options == 'avancees') { 334 echo "<p>"; 335 $articleList = recuperer_instance_list_articles(); 336 $articleList->displayHTMLList(_T('info_article_a_paraitre'), ARTICLES_TOCOME); 337 } 338 339 // 340 // Vos articles en cours de redaction 341 // 342 343 echo "<p>"; 344 //------------Modification Clever Age------------------ 345 $articleList = recuperer_instance_list_articles(); 346 $queryParams = array(); 347 $queryParams[] = $connect_id_auteur; 348 $queryParams[] = 'prepa'; 349 350 $vos_articles = $articleList->displayHTMLList(_T('info_en_cours_validation'), ARTICLES_BY_STATE, $queryParams); 351 352 if ($vos_articles) { 353 $yourArticlesIds = join($vos_articles, ','); 354 } 355 else { 356 $yourArticlesIds = ""; 357 } 358 359 // 360 // Verifier les boucles a mettre en relief 361 // 362 363 $relief = false; 364 365 if (!$relief) { 366 if ($yourArticlesIds != "") { 367 $relief = true; 368 } 369 } 370 371 if (!$relief) { 372 $breveMetier = &recuperer_instance_breve(); 373 $relief = ($breveMetier->howManyBreveIdForStatut('prop') > 0); 374 if (PEAR::isError($relief)) { 375 die ($relief->getMessage()); 376 } 377 } 378 379 if (!$relief AND lire_meta('activer_syndic') != 'non') { 380 $syndicMetier = &recuperer_instance_syndic(); 381 $howManySyndicIdForStatutOK = $syndicMetier->howManySyndicIdForStatut('prop'); 382 383 if (PEAR::isError($howManySyndicIdForStatutOK)) { 384 die ($howManySyndicIdForStatutOK->getMessage()); 385 } 386 $relief = ($howManySyndicIdForStatutOK > 0); 387 } 388 389 $authorization = &recuperer_instance_authorization('afficherNombreSyndicationOff', $GLOBALS['connect_id_auteur']); 390 391 if (!$relief 392 AND lire_meta('activer_syndic') != 'non' 393 AND $authorization->isAuthorizedAction() 394 AND $connect_toutes_rubriques) 395 { 396 $syndicMetier = &recuperer_instance_syndic(); 397 $howManySyndicIdForSyndicationOK = $syndicMetier->howManySyndicIdForSyndication('off'); 398 399 if (PEAR::isError($howManySyndicIdForSyndicationOK)) { 400 die ($howManySyndicIdForSyndicationOK->getMessage()); 401 } 402 $relief = ($howManySyndicIdForSyndicationOK > 0); 403 } 404 405 // regarder si il existe des articles proposés 406 // si c'est le cas alors relief = 1 (pour la suite) 407 // Ensuite faudra les breves, les sites pour prop et valid a chaque fois ... TBC! 408 if (!$relief) { 409 $articleMetier = &recuperer_instance_article(); 410 $howManyArtOK = $articleMetier->howManyArticlesForStatut('prop'); 411 412 if (PEAR::isError($howManyArtOK)) { 413 die ($howManyArtOK->getMessage()); 414 } 415 $relief = ($howManyArtOK > 0); 416 } 417 418 if (!$relief) { 419 $articleMetier = &recuperer_instance_article(); 420 $howManyArtOK = $articleMetier->howManyArticlesForStatut('valid'); 421 422 if (PEAR::isError($howManyArtOK)) { 423 die ($howManyArtOK->getMessage()); 424 } 425 $relief = ($howManyArtOK > 0); 426 } 427 428 if ($relief) { 429 echo "<p>"; 430 debut_cadre_enfonce(); 431 echo "<font color='$couleur_foncee' face='arial,helvetica,sans-serif'><b>" . _T('texte_en_cours_validation'). "</b></font><p>"; 432 433 // 434 // Les articles a valider 435 // TODO : a verifier si on check aussi les breves 436 $queryParams = array(); 437 438 if ($yourArticlesIds == "") { 439 $queryType = ARTICLES_PROPOSED; 440 } 441 else { 442 $queryType = ARTICLES_PROPOSED_FILTERED; 443 $queryParams[] = $yourArticlesIds; 444 } 445 446 $articleList = recuperer_instance_list_articles(); 447 $articleList->displayHTMLList(_T('info_articles_proposes'), $queryType, $queryParams); 448 449 // 450 // Les articles valides 451 // 452 $queryParams = array(); 453 454 if ($yourArticlesIds == "") { 455 $queryType = ARTICLES_VALIDED; 456 } 457 else { 458 $queryType = ARTICLES_VALIDED_FILTERED; 459 $queryParams[] = $yourArticlesIds; 460 } 461 462 $articleList = recuperer_instance_list_articles(); 463 $articleList->displayHTMLList(_T('info_articles_valides'), $queryType, $queryParams); 464 465 // 466 // Les breves a valider 467 // 468 $breveList = recuperer_instance_list_breves(); 469 $queryParams = array(); 470 $queryParams[] = "'prepa', 'prop'"; 471 $breveList->displayHTMLList(_T('info_breves_valider'), BREVES_BY_STATE, $queryParams, true); 472 473 // 474 // Les sites references a valider 475 // 476 if (lire_meta('activer_syndic') != 'non') { 477 include_ecrire ("inc_sites.php"); 478 $syndicList = &recuperer_instance_list_syndics(); 479 $queryParams = array(); 480 $queryParams[] = 'prop'; 481 $syndicList->displayHTMLList(_T('info_site_valider'), SYNDICS_BY_STATE, $queryParams); 482 } 483 484 // 485 // Les sites a probleme 486 // 487 // 488 $authorization = &recuperer_instance_authorization('afficherSiteProblematique', $GLOBALS['connect_id_auteur']); 489 490 if (lire_meta('activer_syndic') != 'non' AND $authorization->isAuthorizedAction()) { 491 include_ecrire ("inc_sites.php"); 492 $syndicList = &recuperer_instance_list_syndics(); 493 $queryParams = array(); 494 $queryParams[] = 'off'; 495 $queryParams[] = 'publie'; 496 $syndicList->displayHTMLList(_T('avis_sites_syndiques_probleme'), SYNDICS_BY_SYNDICATION_AND_STATE, $queryParams); 497 } 498 499 // Les articles syndiques en attente de validation 500 if ($connect_statut == 'minirezo' AND $connect_toutes_rubriques) { 501 $syndicArticleMetier = &recuperer_instance_syndic_articles(); 502 $nbSyndicArticle = $syndicArticleMetier->howManySyndicArticleIdForStatut('dispo'); 503 504 if (PEAR::isError($nbSyndicArticle)) { 505 die ($nbSyndicArticle->getMessage()); 506 } 507 if ($nbSyndicArticle) 508 echo "<br /><small>" . 509 "<a href='sites_tous.php'>" . $nbSyndicArticle . " " . _T('info_liens_syndiques_1'). "</a> " . 510 _T('info_liens_syndiques_2'). "</small>"; 511 } 512 513 // Les forums en attente de moderation 514 $authorization = &recuperer_instance_authorization('afficherNombreMessageParStatut', 515 $GLOBALS['connect_id_auteur']); 516 517 if($authorization->isAuthorizedAction()) { 518 $forumMetier = &recuperer_instance_forum(); 519 $nbForum = $forumMetier->howManyForumForStatut2('prop'); 520 if(PEAR::isError($nbForum)) { 521 die($nbForum->getMessage()); 522 } 523 524 if($nbForum) { 525 echo "<br><small> <a href='controle_forum.php'>".$nbForum; 526 if ($nbForum>1) 527 echo " "._T('info_liens_syndiques_3')."</a> "._T('info_liens_syndiques_4'); 528 else 529 echo " "._T('info_liens_syndiques_5')."</a> "._T('info_liens_syndiques_6'); 530 echo " "._T('info_liens_syndiques_7')."</small>."; 531 } 532 } 533 fin_cadre_enfonce(); 534 } 535 536 if ($options == 'avancees') { 537 enfant(0); 538 $les_enfants2=substr($les_enfants,round(strlen($les_enfants)/2),strlen($les_enfants)); 539 if (strpos($les_enfants2,"<P>")){ 540 $les_enfants2=substr($les_enfants2,strpos($les_enfants2,"<P>"),strlen($les_enfants2)); 541 $les_enfants1=substr($les_enfants,0,strlen($les_enfants)-strlen($les_enfants2)); 542 }else{ 543 $les_enfants1=$les_enfants; 544 $les_enfants2=""; 545 } 546 547 // Afficher les sous-rubriques 548 echo "<p><table cellpadding=0 cellspacing=0 border=0 width='100%'>"; 549 echo "<tr><td valign='top' width=50%>$les_enfants1</td>"; 550 echo "<td width=20><img src='img_pack/rien.gif' width=20></td>"; 551 echo "<td valign='top' width=50%>$les_enfants2 "; 552 if (strlen($les_enfants2) > 0) echo "<p>"; 553 echo "</td></tr>"; 554 echo "</table>"; 555 556 // 557 // Vos articles publies 558 // 559 echo "<p>"; 560 $articleList = &recuperer_instance_list_articles(); 561 $queryParams = array(); 562 $queryParams[] = $connect_id_auteur; 563 $queryParams[] = 'publie'; 564 $articleList->displayHTMLList(_T('info_derniers_articles_publies'), ARTICLES_BY_STATE, $queryParams, true); 565 } 566 567 fin_page("jimmac"); 568 569 // 570 // Renouvellement de l'alea utilise pour valider certaines operations 571 // (ajouter une image, etc.) 572 // 573 $maj_alea = $meta_maj['alea_ephemere']; 574 $t_jour = substr($maj_alea, 6, 2); 575 if (abs($t_jour - date('d')) > 2) { 576 include_ecrire ("inc_session.php"); 577 $alea = md5(creer_uniqid()); 578 ecrire_meta('alea_ephemere_ancien', lire_meta('alea_ephemere')); 579 ecrire_meta('alea_ephemere', $alea); 580 ecrire_metas(); 581 } 582 583 // 584 // Optimisation periodique de la base de donnees 585 // 586 if (!$bonjour) { 587 if ($optimiser == 'oui' || (time() - lire_meta('date_optimisation')) > 24 * 3600) { 588 if (timeout('optimisation')) { 589 @flush(); 590 ecrire_meta("date_optimisation", time()); 591 ecrire_metas(); 592 include ("optimiser.php"); 593 } 594 } 595 } 596 597 // 598 // Verifier la presence du .htaccess dans le cache, sinon le generer 599 // 600 if (!file_exists("../CACHE/.htaccess")) { 601 $f = fopen("../CACHE/.htaccess", "w"); 602 fputs($f, "deny from all\n"); 603 fclose($f); 604 } 605 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sat Feb 24 14:40:03 2007 | par Balluche grâce à PHPXref 0.7 |