[ 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 //if (!file_exists("inc_connect.php")) { 20 if (!file_exists(dirname(__FILE__). "/include/bd/inc_config_metier.php")) { 21 @header("Location: install.php"); 22 exit; 23 } 24 25 include(dirname(__FILE__). "/inc_version.php"); 26 // Démarrage d'une session (le cache de rubriques en a besoin) 27 session_start(); 28 29 // Ajout Olivier Mansour 30 require_once(dirname(__FILE__). "/inc_connect.php"); 31 32 if (!$GLOBALS['db_ok']) { 33 // Message d'erreur base de donnees 34 include_ecrire ('inc_presentation.php'); 35 install_debut_html(_T('info_travaux_titre')); 36 echo "<p>" . _T('titre_probleme_technique'). "</p>\n"; 37 install_fin_html(); 38 die(); 39 } 40 41 require_once(dirname(__FILE__). "/include/bd/inc_auteur_factory.php"); 42 require_once(dirname(__FILE__). "/include/bd/inc_breve_factory.php"); 43 require_once(dirname(__FILE__). "/include/bd/inc_rubrique_factory.php"); 44 require_once(dirname(__FILE__). "/include/bd/inc_syndic_factory.php"); 45 require_once(dirname(__FILE__). "/include/bd/inc_article_factory.php"); 46 require_once(dirname(__FILE__). "/include/authorization/inc_authorization_factory.php"); 47 include_ecrire ("inc_auth.php"); 48 include_ecrire ("inc_presentation.php"); 49 include_ecrire ("inc_texte.php"); 50 include_ecrire ("inc_filtres.php"); 51 include_ecrire ("inc_urls.php"); 52 include_ecrire ("inc_layer.php"); 53 include_ecrire ("inc_rubriques.php"); 54 55 // verif de l'acces au back 56 $authorization = &recuperer_instance_authorization('autoriseBackOffice', $GLOBALS['connect_id_auteur']); 57 58 if (!$authorization->isAuthorizedAction()) { 59 // TODO : chaine de langue 60 echo(_T('avis_acces_interdit')); 61 echo ' '; 62 die(_T('info_permissions')); 63 } 64 65 if (!file_exists(dirname(__FILE__). "/data/inc_meta_cache.php")) 66 ecrire_metas(); 67 68 // 69 // Preferences de presentation 70 // 71 72 if ($set_couleur) { 73 $prefs['couleur'] = floor($set_couleur); 74 $prefs_mod = true; 75 } 76 77 if ($set_disp) { 78 $prefs['display'] = floor($set_disp); 79 $prefs_mod = true; 80 } 81 82 if ($set_options == 'avancees' OR $set_options == 'basiques') { 83 $prefs['options'] = $set_options; 84 $prefs_mod = true; 85 } 86 87 if ($prefs_mod) { 88 $auteurMetier = &recuperer_instance_auteur(); 89 $loadOK = $auteurMetier->load($connect_id_auteur); 90 if (PEAR::isError($loadOK)) { 91 die($loadOK->getMessage()); 92 } 93 else { 94 $auteurMetier->setPrefs(serialize($prefs)); 95 $updateOK = $auteurMetier->update(); 96 if (PEAR::isError($updateOK)) { 97 die($updateOK->getMessage()); 98 } 99 } 100 } 101 102 if ($var_lang) { 103 if (changer_langue($var_lang)) { 104 //----------Modification Clever Age elebescond---------- 105 $auteurMetier = &recuperer_instance_auteur(); 106 $loadOK = $auteurMetier->load($connect_id_auteur); 107 108 if (PEAR::isError($loadOK)) { 109 die($loadOK->getMessage()); 110 } 111 112 $auteurMetier->setLang($var_lang); 113 $updateOK = $auteurMetier->update(); 114 115 if (PEAR::isError($updateOK)) { 116 die($updateOK->getMessage()); 117 } 118 $auteur_session['lang'] = $var_lang; 119 ajouter_session($auteur_session, $spip_session); 120 121 // Poser un cookie, pour les pages n'ayant pas acces aux meta 122 spip_setcookie('spip_lang', $var_lang, time() + 365 * 24 * 3600); 123 } 124 } 125 126 if ($set_ecran) { 127 // Poser un cookie, car ce reglage depend plus du navigateur que de l'utilisateur 128 spip_setcookie('spip_ecran', $set_ecran, time() + 365 * 24 * 3600); 129 $spip_ecran = $set_ecran; 130 } 131 132 if (!$spip_ecran) 133 $spip_ecran = "etroit"; 134 135 // Debloquer articles 136 if ($debloquer_article <> 'tous') { 137 $articleMetier = recuperer_instance_article(); 138 $articleMetier->unlock($debloquer_article, $connect_id_auteur); 139 } 140 141 if ($debloquer_article == 'tous') { 142 $articleMetier = recuperer_instance_article(); 143 $openedArticles = $articleMetier->getOpened($connect_id_auteur); 144 while (list(, $openedArticle) = each($openedArticles)) { 145 $articleMetier->unlock($openedArticle->getArticleId(), $connect_id_auteur); 146 } 147 } 148 149 // deux globales (compatibilite ascendante) 150 $options = $prefs['options']; 151 $spip_display = $prefs['display']; 152 153 switch ($prefs['couleur']) { 154 case 1: 155 /// Vert 156 $couleur_foncee = "#02531B"; 157 $couleur_claire = "#CFFEDE"; 158 $couleur_lien_off = "#304C38"; 159 $couleur_lien = "#854270"; 160 break; 161 162 case 2: 163 /// Rouge 164 $couleur_foncee = "#640707"; 165 $couleur_claire = "#FFE0E0"; 166 $couleur_lien = "#346868"; 167 $couleur_lien_off = "#684747"; 168 break; 169 170 case 3: 171 /// Jaune 172 $couleur_foncee = "#666500"; 173 $couleur_claire = "#FFFFE0"; 174 $couleur_lien = "#65659C"; 175 $couleur_lien_off = "#6A6A43"; 176 break; 177 178 case 4: 179 /// Violet 180 $couleur_foncee = "#340049"; 181 $couleur_claire = "#F9EBFF"; 182 $couleur_lien = "#396B25"; 183 $couleur_lien_off = "#472854"; 184 break; 185 186 case 5: 187 /// Gris 188 $couleur_foncee = "#3F3F3F"; 189 $couleur_claire = "#F2F2F2"; 190 $couleur_lien = "#854270"; 191 $couleur_lien_off = "#666666"; 192 break; 193 194 case 6: 195 /// Bleu 196 $couleur_foncee = "#3874B0"; 197 $couleur_claire = "#EDF3FE"; 198 $couleur_lien = "#814E1B"; 199 $couleur_lien_off = "#435E79"; 200 break; 201 202 case 7: 203 /// Bleu pastelle 204 $couleur_foncee = "#766CF6"; 205 $couleur_claire = "#EBE9FF"; 206 $couleur_lien = "#869100"; 207 $couleur_lien_off = "#5B55A0"; 208 break; 209 210 case 8: 211 /// Vert pastelles 212 $couleur_foncee = "#009F3C"; 213 $couleur_claire = "#E2FDEC"; 214 $couleur_lien = "#EE0094"; 215 $couleur_lien_off = "#02722C"; 216 break; 217 218 case 9: 219 /// Rouge vif 220 $couleur_foncee = "#FF0000"; 221 $couleur_claire = "#FFEDED"; 222 $couleur_lien = "#D302CE"; 223 $couleur_lien_off = "#D40202"; 224 break; 225 226 case 10: 227 /// Orange 228 $couleur_foncee = "#E95503"; 229 $couleur_claire = "#FFF2EB"; 230 $couleur_lien = "#81A0C1"; 231 $couleur_lien_off = "#FF5B00"; 232 break; 233 234 case 11: 235 /// Violet clair 236 $couleur_foncee = "#CD006F"; 237 $couleur_claire = "#FDE5F2"; 238 $couleur_lien = "#E95503"; 239 $couleur_lien_off = "#8F004D"; 240 break; 241 242 case 12: 243 /// Marron 244 $couleur_foncee = "#8C6635"; 245 $couleur_claire = "#F5EEE5"; 246 $couleur_lien = "#1A64DF"; 247 $couleur_lien_off = "#955708"; 248 break; 249 250 default: 251 /// Bleu 252 $couleur_foncee = "#3874B0"; 253 $couleur_claire = "#EDF3FE"; 254 $couleur_lien = "#814E1B"; 255 $couleur_lien_off = "#435E79"; 256 } 257 258 // 259 // Gestion de version 260 // 261 262 $version_installee = (double)lire_meta("version_installee"); 263 264 if ($version_installee <> $agora_version) { 265 debut_page(); 266 267 if (!$version_installee) 268 $version_installee = _T('info_anterieur'); 269 270 echo "<blockquote><blockquote><h4><font color='red'>" . _T('info_message_technique'). "</font><br> " . _T( 271 'info_procedure_maj_version'). "</h4> 272 " . _T('info_administrateur_site_01'). " <a href='upgrade.php'>" . _T('info_administrateur_site_02'). "</a></blockquote></blockquote><p>"; 273 fin_page(); 274 exit; 275 } 276 277 // 278 // Gestion de la configuration globale du site 279 // 280 if (!$adresse_site) { 281 $nom_site_spip = lire_meta("nom_site"); 282 $adresse_site = lire_meta("adresse_site"); 283 } 284 285 if (!$activer_breves) { 286 $activer_breves = lire_meta("activer_breves"); 287 $articles_mots = lire_meta("articles_mots"); 288 } 289 290 if (!$activer_statistiques) { 291 $activer_statistiques = lire_meta("activer_statistiques"); 292 } 293 294 if (!$nom_site_spip) { 295 $nom_site_spip = _T('info_mon_site_spip'); 296 ecrire_meta("nom_site", $nom_site_spip); 297 ecrire_metas(); 298 } 299 300 if (!$adresse_site) { 301 $adresse_site = "http://$HTTP_HOST" . substr($REQUEST_URI, 0, strpos($REQUEST_URI, "/ecrire")); 302 ecrire_meta("adresse_site", $adresse_site); 303 ecrire_metas(); 304 } 305 306 function tester_rubrique_vide ($id_rubrique) { 307 //----------Modification Clever Age elebescond---------- 308 $rubriqueMetier = &recuperer_instance_rubrique(); 309 $allForParentIdOK = $rubriqueMetier->getAllForParentId($id_rubrique); 310 311 if (PEAR::isError($allForParentIdOK)) { 312 die($allForParentIdOK->getMessage()); 313 } 314 315 if (sizeOf($allForParentIdOK) > 0) 316 return false; 317 318 //----------Modification Clever Age elebescond---------- 319 $rubriqueMetier = &recuperer_instance_rubrique(); 320 /******* Modification MAPPING guillaume.grason@diplomatie.gouv.fr *******/ 321 $articleIdsForRubriqueIdAndStatutOK = $rubriqueMetier->getArticleIdsForRubriqueIdAndStatut($id_rubrique, 'publie', 'mappe', 'map_off', 'prepa', 'prop', 'archi'); 322 //$articleIdsForRubriqueIdAndStatutOK = $rubriqueMetier->getArticleIdsForRubriqueIdAndStatut($id_rubrique, 'publie', 'prepa', 'prop', 'archi'); 323 /******* Fin Modification MAPPING guillaume.grason@diplomatie.gouv.fr *******/ 324 325 if (PEAR::isError($articleIdsForRubriqueIdAndStatutOK)) { 326 die($articleIdsForRubriqueIdAndStatutOK->getMessage()); 327 } 328 329 if (sizeOf($articleIdsForRubriqueIdAndStatutOK) > 0) 330 return false; 331 332 $rubriqueMetier = &recuperer_instance_rubrique(); 333 $breveIdsForRubriqueIdAndStatutOK = $rubriqueMetier->getBreveIdsForRubriqueIdAndStatut( 334 $id_rubrique, 'publie', 'prop'); 335 336 if (PEAR::isError($breveIdsForRubriqueIdAndStatutOK)) { 337 die($breveIdsForRubriqueIdAndStatutOK->getMessage()); 338 } 339 340 if (sizeOf($breveIdsForRubriqueIdAndStatutOK) > 0) 341 return false; 342 343 //----------Modification Clever Age elebescond---------- 344 $rubriqueMetier = &recuperer_instance_rubrique(); 345 $syndicIdsForRubriqueIdAndStatutOK = $rubriqueMetier->getSyndicIdsForRubriqueIdAndStatut( 346 $id_rubrique, 'publie', 'prop'); 347 348 if (PEAR::isError($syndicIdsForRubriqueIdAndStatutOK)) { 349 die($syndicIdsForRubriqueIdAndStatutOK->getMessage()); 350 } 351 352 if (sizeOf($syndicIdsForRubriqueIdAndStatutOK) > 0) 353 return false; 354 355 /* Modification Clever Age, elebescond, utilisation couche métier */ 356 $documentMetier = &recuperer_instance_document(); 357 $allDocumentIdForLinkId = $documentMetier->getAllDocumentIdForLinkId("rubrique", $id_rubrique); 358 359 if (sizeOf($allDocumentIdForLinkId) > 0) 360 return false; 361 return true; 362 } 363 364 // 365 // Recuperation du cookie 366 // 367 368 $cookie_admin = $HTTP_COOKIE_VARS['spip_admin']; 369 370 // 371 // Supprimer / valider forum 372 // 373 374 function changer_statut_forum ($id_forum, $statut) { 375 global $connect_statut, $connect_toutes_rubriques; 376 377 //----------------Zone de modifications Clever Age elebescond@clever-age.com---------- 378 $authorization = &recuperer_instance_authorization('changerStatutMessage', $GLOBALS['connect_id_auteur'], 379 array('id_forum' => $id_forum, 'statut' => $statut)); 380 381 if (!$authorization->isAuthorizedAction()) { 382 return; 383 } 384 385 $forumMetier = &recuperer_instance_forum(); 386 $loadOK = $forumMetier->load($id_forum); 387 388 if (PEAR::isError($loadOK)) { 389 die($loadOK->getMessage()); 390 } 391 else { 392 $id_parent = $forumMetier->getParentId(); 393 $id_rubrique = $forumMetier->getRubriqueId(); 394 $id_article = $forumMetier->getArticleId(); 395 $id_breve = $forumMetier->getBreveId(); 396 $id_syndic = $forumMetier->getSyndicId(); 397 } 398 399 $deleteFichierOK = $forumMetier->deleteFichier($forum_id_article, $forum_id_rubrique, $forum_id_breve, 400 $forum_id_parent, "../CACHE"); 401 402 if (PEAR::isError($deleteFichierOK)) { 403 die($deleteFichierOK->getMessage()); 404 } 405 406 $forumMetier = &recuperer_instance_forum(); 407 $loadOK = $forumMetier->load($id_forum); 408 409 if (PEAR::isError($loadOK)) { 410 die($loadOK->getMessage()); 411 } 412 else { 413 if ($forumMetier->changeStatutOK($forumMetier->getForumId(), $statut)) { 414 $forumMetier->setStatut($statut); 415 416 if ($forumMetier->getParentId() != 0) { 417 $forumPere = &recuperer_instance_forum(); 418 $loadOK = $forumPere->load($forumMetier->getParentId()); 419 420 if (PEAR::isError($loadOK)) { 421 die($loadOK->getMessage()); 422 } 423 424 if (isset($GLOBALS['redirection_forum'])) { 425 //$redirect = $GLOBALS['redirection_forum']?.id_forum$GLOBALS['HTTP_GET_VARS']; 426 } 427 else { 428 global $type_forum; 429 switch ($type_forum) { 430 case 'article': 431 $redirect = '/article.php?id_article=' . $GLOBALS['HTTP_GET_VARS']['id_current_forum']; 432 break; 433 434 case 'rubrique': 435 $redirect = '/rubrique.php?id_rubrique=' . $GLOBALS['HTTP_GET_VARS']['id_current_forum']; 436 break; 437 438 case 'breve': 439 $redirect = '/breve.php?id_breve=' . $GLOBALS['HTTP_GET_VARS']['id_current_forum']; 440 break; 441 } 442 } 443 444 if ($forumMetier->getStatut() == 'publie') { 445 $forumPere->sendMail($forumMetier, lire_meta('adresse_site'). $redirect); 446 $forumMetier->advertiseAuthorPublished(lire_meta('adresse_site'). $redirect); 447 } 448 if ($forumMetier->getStatut() == 'refuse') { 449 $forumMetier->advertiseAuthorRefused(); 450 } 451 } 452 453 $updateOK = $forumMetier->update(); 454 if (PEAR::isError($updateOK)) { 455 die($updateOK->getMessage()); 456 } 457 } 458 } 459 } 460 461 if ($poub_forum) 462 changer_statut_forum($poub_forum, 'poubelle'); 463 464 if ($off_forum) 465 changer_statut_forum($off_forum, 'off'); 466 467 if ($supp_forum_priv) 468 changer_statut_forum($supp_forum_priv, 'privoff'); 469 470 if ($valid_forum) 471 changer_statut_forum($valid_forum, 'publie'); 472 473 // Supprimer rubrique 474 $authorization = &recuperer_instance_authorization('supprimerRubrique', $GLOBALS['connect_id_auteur'], array('supp_rubrique' => $supp_rubrique)); 475 476 if ($supp_rubrique = intval($supp_rubrique)AND tester_rubrique_vide($supp_rubrique)AND $authorization->isAuthorizedAction()) { 477 //if ($supp_rubrique = intval($supp_rubrique) AND $connect_statut == 'minirezo' AND acces_rubrique($supp_rubrique)) { 478 $rubriqueMetier = &recuperer_instance_rubrique(); 479 $deleteOK = $rubriqueMetier->delete($supp_rubrique); 480 if (PEAR::isError($deleteOK)) { 481 die($deleteOK->getMessage()); 482 } 483 } 484 ?>
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 |