[ 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 include ("inc.php"); 20 21 /* Ajout Clever Age / Antoine Angénieux / Couche métier */ 22 require_once (dirname(__FILE__). "/include/bd/inc_article_factory.php"); 23 require_once (dirname(__FILE__). "/include/bd/inc_breve_factory.php"); 24 require_once (dirname(__FILE__). "/include/bd/inc_forum_factory.php"); 25 /* fin zone de modification Clever Age */ 26 27 debut_page(_T('titre_page_forum_suivi'), "messagerie", "forum-controle"); 28 29 $requete_base_controle = "statut!='perso' AND statut != 'redac'"; 30 31 if (!$page) 32 $page = "public"; 33 34 echo "<br><br><br>"; 35 gros_titre (_T('titre_forum_suivi')); 36 37 barre_onglets("suivi_forum", $page); 38 39 debut_gauche(); 40 41 debut_boite_info(); 42 43 echo "<FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=2>"; 44 echo _T('info_gauche_suivi_forum_2'); 45 46 echo aide("suiviforum"); 47 echo "</FONT>"; 48 49 fin_boite_info(); 50 51 debut_boite_info(); 52 53 echo "<font face='arial,helvetica,sans-serif'>"; 54 echo "<B>" . _T('recherche_forum'). "</B><BR>"; 55 56 echo "\n\n<form action='recherche_forum.php' method='POST' name='formulaire_recherche'>"; 57 echo "<input type='text' name='recherche_forum' value=\"" . htmlentities(urldecode( 58 $recherche_forum)). "\" id='recherche_forum' CLASS='fondo' >"; 59 60 echo "<INPUT TYPE='submit' NAME='Afficher_recherche' CLASS='fondo' VALUE='OK'>"; 61 echo '<br>'; 62 63 if ($typeRecherche == '') 64 $typeRecherche = 'sujet,message'; 65 else 66 $typeRecherche = implode(",", $typeRecherche); 67 68 if (ereg('sujet', $typeRecherche)) { 69 echo "<input type='checkbox' name='typeRecherche[]' value='sujet' id='sujet' CHECKED>"; 70 } 71 else { 72 echo "<input type='checkbox' name='typeRecherche[]' value='sujet' id='sujet'>"; 73 } 74 75 echo " <label for='sujet'>"; 76 echo " " . _T('sujet'); 77 echo "<br></label>"; 78 79 if (ereg('message', $typeRecherche)) { 80 echo "<input type='checkbox' name='typeRecherche[]' value='message' id='message' CHECKED>"; 81 } 82 else { 83 echo "<input type='checkbox' name='typeRecherche[]' value='message' id='message'>"; 84 } 85 86 echo " <label for='message'>"; 87 echo " " . _T('message'); 88 echo "<br></label>"; 89 90 if ($id_current_forum AND $type_forum) { 91 if (ereg('danstouslesforums', $typeRecherche)) { 92 echo "<input type='checkbox' name='typeRecherche[]' value='danstouslesforums' id='danstouslesforums' CHECKED>"; 93 } 94 else { 95 echo "<input type='checkbox' name='typeRecherche[]' value='danstouslesforums' id='danstouslesforums'>"; 96 } 97 98 echo " <label for='danstouslesforums'>"; 99 //echo " "; 100 //echo " "; 101 echo " " . _T('danstouslesforums'); 102 } 103 else { 104 echo "<input type='hidden' name='typeRecherche[]=danstouslesforums' value='danstouslesforums' id='danstouslesforums'>"; 105 } 106 107 //echo "Dans tous les forums"; 108 echo "<br></label>"; 109 //var_dump($danstouslesforums); 110 //var_dump($id_current_forum); 111 //var_dump($type_forum); 112 //var_dump($_POST['type_forum']); 113 //var_dump($id_forum); 114 echo "\n<input type='hidden' name='type_forum' value='$type_forum'>"; 115 echo "\n<input type='hidden' name='id_current_forum' value='$id_current_forum'>"; 116 echo "</FONT>"; 117 echo "</form>"; 118 119 fin_boite_info(); 120 121 // 122 // Raccourcis 123 // 124 $activer_stats = lire_meta("activer_statistiques"); 125 126 //----------------Zone de modifications Clever Age elebescond@clever-age.com---------- 127 $authorization = &recuperer_instance_authorization('afficherIconeStatistique', $GLOBALS['connect_id_auteur'], 128 array('connect_toutes_rubriques' => 0)); 129 130 if ($authorization->isAuthorizedAction()) { 131 debut_raccourcis(); 132 icone_horizontale(_T('icone_evolution_visites_2'), "statistiques_visites.php", "statistiques-24.gif", "rien.gif"); 133 fin_raccourcis(); 134 } 135 /* 136 if (($activer_stats != "non") AND ($connect_statut == 'minirezo')) { 137 debut_raccourcis(); 138 icone_horizontale(_T('icone_evolution_visites_2'), "statistiques_visites.php", "statistiques-24.gif", "rien.gif"); 139 fin_raccourcis(); 140 } 141 */ 142 //----------------Fin Zone de modifications Clever Age elebescond@clever-age.com---------- 143 144 debut_droite(); 145 $mots_cles_forums = lire_meta("mots_cles_forums"); 146 147 echo "<center><font face='Verdana,Arial,Helvetica,sans-serif' size=4>"; 148 149 if (!ereg('danstouslesforums', $typeRecherche)) { 150 switch ($type_forum) { 151 case 'article': 152 $articleMetier = &recuperer_instance_article(); 153 $loadOK = $articleMetier->load($id_current_forum); 154 if (PEAR::isError($loadOK)) { 155 die ($loadOK->getMessage()); 156 } 157 echo _T('forumattachearticle'). ' <a href="articles.php?id_article=' . $id_current_forum . '">' . $articleMetier->getTitre(). '</a>'; 158 break; 159 160 case 'breve': 161 $breveMetier = &recuperer_instance_breve(); 162 $loadOK = $breveMetier->load($id_current_forum); 163 if (PEAR::isError($loadOK)) { 164 die ($loadOK->getMessage()); 165 } 166 echo _T('forumattachebreve'). ' <a href="breves.php?id_breve=' . $id_current_forum . '">' . $breveMetier->getTitre(). '</a>'; 167 break; 168 169 case 'rubrique': 170 $rubriqueMetier = &recuperer_instance_rubrique(); 171 $loadOK = $rubriqueMetier->load($id_current_forum); 172 if (PEAR::isError($loadOK)) { 173 die ($loadOK->getMessage()); 174 } 175 echo _T('forumattacherubrique'). ' <a href="naviguer.php?coll=' . $id_current_forum . '">' . $rubriqueMetier->getTitre(). '</a>'; 176 break; 177 } 178 } 179 else { 180 echo _T('forumattachetous'); 181 } 182 183 echo '</font></center><br>'; 184 185 function forum_parent ($id_forum) { 186 //echo "xxxxxx>"; 187 //var_dump($id_forum); 188 //$forum->id_forums=$id_forum; 189 //echo "lllllll>"; 190 //var_dump($forum->id_forums); 191 $forumMetier = &recuperer_instance_forum(); 192 $loadOK = $forumMetier->load($id_forum); 193 194 if (!PEAR::isError($loadOK)) { 195 if ($forumMetier->getStatut() != "redac") { 196 $id_forum = $forumMetier->getForumId(); 197 $forum_id_parent = $forumMetier->getParentId(); 198 $forum_id_rubrique = $forumMetier->getRubriqueId(); 199 $forum_id_article = $forumMetier->getArticleId(); 200 $forum_id_breve = $forumMetier->getBreveId(); 201 $forum_id_syndic = $forumMetier->getSyndicId(); 202 $forum_date_heure = $forumMetier->getDateHeure(); 203 ; 204 $titre = $forumMetier->getTitre(); 205 $texte = $forumMetier->getTexte(); 206 $auteur = $forumMetier->getAuteur(); 207 $email_auteur = $forumMetier->getEmailAuteur(); 208 $nom_site_forum = $forumMetier->getNomSite(); 209 $url_site = $forumMetier->getUrlSite(); 210 $forum_stat = $forumMetier->getStatut(); 211 $forum_ip = $forumMetier->getIp(); 212 if ($forum_id_article > 0) { 213 $articleMetier = &recuperer_instance_article(); 214 $loadOK = $articleMetier->loadLightWeight($forum_id_article); 215 216 if (PEAR::isError($loadOK)) { 217 die ($loadOK->getMessage()); 218 } 219 else { 220 if (intval($articleMetier->getArticleId()) == $forum_id_article) { 221 $id_article = $articleMetier->getArticleId(); 222 $titre = $articleMetier->getTitre(); 223 $statut = $articleMetier->getStatut(); 224 } 225 } 226 if ($forum_stat == "prive" OR $forum_stat == "privoff") { 227 return $retour . "<B>" . _T( 228 'item_reponse_article'). " <A HREF='articles.php?id_article=$id_article'>$titre</A></B>"; 229 } 230 else { 231 $retour 232 .= "<a href='articles_forum.php?id_article=$id_article'><font color='red'>" . _T('lien_forum_public'). "</font></a><br>"; 233 return $retour . "<B>" . _T('lien_reponse_article'). " <A HREF='" . generer_url_article( 234 $id_article). "'>$titre</A></B>"; 235 } 236 } 237 else if ($forum_id_rubrique > 0) { 238 $rubriqueMetier = &recuperer_instance_rubrique(); 239 $loadOK = $rubriqueMetier->load($forum_id_rubrique); 240 241 if (PEAR::isError($loadOK)) { 242 die ($loadOK->getMessage()); 243 } 244 else { 245 if (intval($rubriqueMetier->getRubriqueId()) == $forum_id_rubrique) { 246 $id_rubrique = $rubriqueMetier->getRubriqueId(); 247 $titre = $rubriqueMetier->getTitre(); 248 } 249 } 250 return "<B>" . _T('lien_reponse_rubrique'). " <A HREF='" . generer_url_rubrique( 251 $id_rubrique). "'>$titre</A></B>"; 252 } 253 else if ($forum_id_syndic > 0) { 254 $syndicMetier = &recuperer_instance_syndic(); 255 $loadOK = $syndicMetier->load($forum_id_syndic); 256 257 if (PEAR::isError($loadOK)) { 258 die ($loadOK->getMessage()); 259 } 260 else { 261 $id_rubique_fond = $syndicMetier->getRubriqueId(); 262 $id_syndic = $syndicMetier->getSyndicId(); 263 $titre = $syndicMetier->getNomSite(); 264 $statut = $syndicMetier->getStatut(); 265 } 266 return "<B>" . _T( 267 'lien_reponse_site_reference'). " <A HREF='sites.php?id_syndic=$id_syndic'>$titre</A></B>"; 268 } 269 else if ($forum_id_breve > 0) { 270 $breveMetier = &recuperer_instance_breve(); 271 $loadOK = $breveMetier->load($forum_id_breve); 272 273 if (PEAR::isError($loadOK)) { 274 die ($loadOK->getMessage()); 275 } 276 else { 277 $id_breve = $breveMetier->getBreveId(); 278 $date_heure = $breveMetier->getDateHeure(); 279 $titre = $breveMetier->getTitre(); 280 } 281 if ($forum_stat == "prive") { 282 return "<B>" . _T( 283 'lien_reponse_breve'). " <A HREF='breves_voir.php?id_breve=$id_breve'>$titre</A></B>"; 284 } 285 else { 286 return "<B>" . _T('lien_reponse_breve_2'). " <A HREF='" . generer_url_breve( 287 $id_breve). "'>$titre</A></B>"; 288 } 289 } 290 else if ($forum_stat == "privadm") { 291 $retour = forum_parent($forum_id_parent); 292 if (strlen($retour) > 0) 293 return $retour; 294 else 295 return "<B>" . _T('info_message'). " <A HREF='forum_admin.php'>" . _T( 296 'info_forum_administrateur'). "</A></B>"; 297 } 298 else { 299 $retour = forum_parent($forum_id_parent); 300 if (strlen($retour) > 0) 301 return $retour; 302 else 303 return "<B>" . _T('info_message'). " <A HREF='forum.php'>" . _T('info_forum_interne'). "</A></B>"; 304 } 305 } 306 } 307 } 308 309 function controle_forum ($row) { 310 global $couleur_foncee; 311 global $mots_cles_forums; 312 global $controle_sans; 313 global $debut, $page; 314 global $typeRecherche; 315 global $recherche; 316 317 if (is_array($affMessage)) 318 $affMessage = implode(",", $affMessage); 319 320 $controle = "<BR><BR>"; 321 $id_forum = $row->getForumId(); 322 $forum_id_parent = $row->getParentId(); 323 $forum_id_rubrique = $row->getRubriqueId(); 324 $forum_id_article = $row->getArticleId(); 325 $forum_id_breve = $row->getBreveId(); 326 $forum_date_heure = $row->getDateHeure(); 327 $forum_titre = echapper_tags($row->getTitre()); 328 $forum_texte = echapper_tags($row->gettexte()); 329 $forum_auteur = echapper_tags($row->getAuteur()); 330 $forum_email_auteur = echapper_tags($row->getEmailAuteur()); 331 $forum_nom_site = echapper_tags($row->getNomSite()); 332 $forum_url_site = echapper_tags($row->getUrlSite); 333 $forum_stat = $row->getStatut(); 334 $forum_ip = $row->getIp(); 335 $forum_id_auteur = $row->getAuteurId(); 336 337 if ($forum_stat == "off" OR $forum_stat == "privoff") 338 $controle .= "<div style='border: 2px #ff0000 dashed; background-color: white;'>"; 339 else if ($forum_stat == "prop") 340 $controle .= "<div style='border: 2px yellow solid; background-color: white;'>"; 341 else { 342 $controle .= "<div style='border-right: 1px solid #cccccc; border-bottom: 1px solid #cccccc;'>"; 343 $controle .= "<div style='border: 1px #999999 dashed; background-color: white;'>"; 344 } 345 346 $controle .= "<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0><TR>"; 347 $controle .= "<TD WIDTH=100% VALIGN='top'>"; 348 349 $controle .= "<TABLE WIDTH=100% CELLPADDING=5 CELLSPACING=0><TR><TD BGCOLOR='$couleur_foncee'><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=2 COLOR='#FFFFFF'><B>" . typo($forum_titre). "</B></FONT></TD>"; 350 351 if ($forum_stat != 'poubelle') { 352 $controle .= "<TD BGCOLOR='$couleur_foncee'><a href='editer_message.php?affMessage[]=$affMessage&id_current_forum=$id_current_forum&id_forum=$id_forum&type_forum=$type_forum&affType=$affType&ageMessage=$ageMessage&debut=$debut$controle_sans&page=$page'><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=2 COLOR='#FFFFFF'>Editer</font></a></TD>"; 353 } 354 else { 355 $controle .= "<TD BGCOLOR='$couleur_foncee'> </TD>"; 356 } 357 358 if ($forum_stat == 'publie') { 359 $controle .= "<TD BGCOLOR='$couleur_foncee'><a href='editer_message.php?affMessage[]=$affMessage&id_current_forum=$id_current_forum&id_forum=$id_forum&type_forum=$type_forum&ageMessage=$ageMessage&affType=$affType&debut=$debut$controle_sans&page=$page&new=oui'><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=2 COLOR='#FFFFFF'>Répondre</font></a></TD>"; 360 } 361 else { 362 $controle .= "<TD BGCOLOR='$couleur_foncee'> </TD>"; 363 } 364 365 $controle .= "</TR><TR><TD>"; 366 $controle .= "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif'>"; 367 368 $controle .= "<FONT FACE='arial,helvetica'>" . affdate_heure($forum_date_heure). "</FONT>"; 369 370 if ($forum_auteur) { 371 if ($forum_email_auteur) 372 $forum_auteur = "<A HREF=\"mailto:$forum_email_auteur?SUBJECT=" . rawurlencode($forum_titre). "\">$forum_auteur</A>"; 373 $controle .= "<FONT FACE='arial,helvetica'> / <B>$forum_auteur</B></FONT>"; 374 } 375 376 switch ($forum_stat) { 377 case 'publie': 378 $controle .= icone(_T('icone_supprimer_message'), "recherche_forum.php?typeRecherche[]=$typeRecherche&recherche_forum=$recherche_forum&poub_forum=$id_forum&debut=$debut$controle_sans&page=$page", "forum-interne-24.gif", "supprimer.gif", "right", 'non'); 379 $controle .= icone(_T('icone_desactiver_message'), "recherche_forum.php?typeRecherche[]=$typeRecherche&recherche_forum=$recherche_forum&off_forum=$id_forum&debut=$debut$controle_sans&page=$page", "forum-interne-24.gif", "supprimer_agora.gif", "right", 'non'); 380 break; 381 382 case 'prop': 383 $controle .= icone(_T('icone_supprimer_message'), "recherche_forum.php?typeRecherche[]=$typeRecherche&recherche_forum=$recherche_forum&poub_forum=$id_forum&debut=$debut$controle_sans&page=$page", "forum-interne-24.gif", "supprimer.gif", "right", 'non'); 384 $controle .= icone(_T('icone_desactiver_message'), "recherche_forum.php?typeRecherche[]=$typeRecherche&recherche_forum=$recherche_forum&off_forum=$id_forum&debut=$debut$controle_sans&page=$page", "forum-interne-24.gif", "supprimer_agora.gif", "right", 'non'); 385 $controle .= icone(_T('icone_valider_message'), "recherche_forum.php?typeRecherche[]=$typeRecherche&recherche_forum=$recherche_forum&valid_forum=$id_forum&debut=$debut&page=$page", "forum-interne-24.gif", "creer.gif", "right", 'non'); 386 break; 387 388 case 'off': 389 $controle .= icone(_T('icone_supprimer_message'), "recherche_forum.php?typeRecherche[]=$typeRecherche&recherche_forum=$recherche_forum&poub_forum=$id_forum&debut=$debut$controle_sans&page=$page", "forum-interne-24.gif", "supprimer.gif", "right", 'non'); 390 $controle .= icone(_T('icone_valider_message'), "recherche_forum.php?typeRecherche[]=$typeRecherche&recherche_forum=$recherche_forum&valid_forum=$id_forum&debut=$debut&page=$page", "forum-interne-24.gif", "creer.gif", "right", 'non'); 391 break; 392 } 393 394 $controle .= "<BR>" . forum_parent($id_forum); 395 396 $controle .= "<P align='justify'>" . propre($forum_texte); 397 398 if (strlen($forum_url_site) > 10 AND strlen($forum_nom_site) > 3) 399 $controle .= "<P align='left'><FONT FACE='Verdana,Arial,Helvetica,sans-serif'><B><A HREF='$forum_url_site'>$forum_nom_site</A></B></FONT>"; 400 401 if ($mots_cles_forums == "oui") { 402 $motMetier = &recuperer_instance_mot(); 403 $allMots = $motMetier->getAllFromMotsAndAnotherTable("forum", "id_forum", $id_forum); 404 405 if (PEAR::isError($allMots)) { 406 die ($allMots->getMessage()); 407 } 408 409 if (sizeOf($allMots) > 0) 410 $ret .= "<p>" . _T('forum_avez_selectionne'); 411 while (list(, $motMetier) = each($allMots)) { 412 $id_mot = $motMetier->getMotId(); 413 $titre_mot = propre($motMetier->getTitre()); 414 $type_mot = propre($motMetier->getType()); 415 $les_mots[$id_mot] = true; 416 $presence_mots = true; 417 418 $ret .= "<li> $type_mot : <b>$titre_mot</b>"; 419 } 420 } 421 422 $controle .= "</FONT>"; 423 $controle .= "</TD></TR></TABLE>"; 424 425 $controle .= "</TD></TR></TABLE>\n"; 426 427 if (!($forum_stat == 'off' OR $forum_stat == 'privoff' OR $forum_stat == 'prop')) 428 $controle .= "</div>"; 429 430 $controle .= "</div>"; 431 432 return $controle; 433 } 434 435 // 436 // Debut de la page de controle 437 // 438 439 echo "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif'>"; 440 //-----------MODIFICATION CLEVER AGE elebescond@clever-age.com---------- 441 $authorization = &recuperer_instance_authorization('controlerForum2', $GLOBALS['connect_id_auteur']); 442 443 if (!$authorization->isAuthorizedAction()OR !$connect_toutes_rubriques) { 444 /* 445 if ($connect_statut != "minirezo" OR !$connect_toutes_rubriques) { 446 */ 447 //-----------FIN MODIFICATION CLEVER AGE elebescond@clever-age.com---------- 448 echo "<B>" . _T('avis_non_acces_page'). "</B>"; 449 exit; 450 } 451 452 // reglages 453 if (!$debut) 454 $debut = 0; 455 456 $pack = 20; // nb de forums affiches par page 457 $enplus = 200; // intervalle affiche autour du debut 458 $limitdeb = ($debut > $enplus) ? $debut - $enplus : 0; 459 $limitnb = $debut + $enplus - $limitdeb; 460 $wheretexte = $controle_sans ? "texte=''" : "texte!=''"; 461 462 $forumMetier = &recuperer_instance_forum(); 463 464 $allForums = $forumMetier->search($recherche_forum, $typeRecherche, $id_current_forum, $type_forum); 465 466 if (PEAR::isError($allForums)) { 467 die ($allForums->getMessage()); 468 } 469 470 $controle = ''; 471 472 $i = $limitdeb; 473 474 if ($i > 0) 475 echo "<A HREF='recherche_forum.php?id_current_forum=$id_current_forum&type_forum=$type_forum&typeRecherche[]=$typeRecherche&recherche_forum=$recherche_forum&page=$page'>0</A> ... | "; 476 477 while (list(, $monForum) = each($allForums)) { 478 // est-ce que ce message doit s'afficher dans la liste ? 479 $ok_controle = (($i >= $debut)AND ($i < $debut + $pack)); 480 481 // barre de navigation 482 if ($i == $pack * floor($i / $pack)) { 483 if ($i == $debut) 484 echo "<FONT SIZE=3><B>$i</B></FONT>"; 485 else 486 echo "<A HREF='recherche_forum.php?id_current_forum=$id_current_forum&type_forum=$type_forum&typeRecherche[]=$typeRecherche&recherche_forum=$recherche_forum&debut=$i&page=$page'>$i</A>"; 487 echo " | "; 488 } 489 490 // elements a controler 491 if ($ok_controle) 492 $controle .= controle_forum($monForum); 493 $i++; 494 } 495 496 echo "<A HREF='recherche_forum.php?id_current_forum=$id_current_forum&type_forum=$type_forum&typeRecherche[]=$typeRecherche&recherche_forum=$recherche_forum&debut=$i&page=$page'>...</A>"; 497 498 echo $controle; 499 500 echo "</FONT>"; 501 502 fin_page(); 503 ?>
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 |