[ 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 // Base class for Action "modifierStatutArticle". 20 // $Id$ 21 22 if (defined("_AUTHORIZATION_MODIFIER_STATUT_ARTICLE_COMMON")) 23 return; 24 25 define("_AUTHORIZATION_MODIFIER_STATUT_ARTICLE_COMMON", "1"); 26 27 require_once dirname(__FILE__). "/../Action.php"; 28 require_once(dirname(__FILE__). "/../../bd/inc_article_factory.php"); 29 /** 30 * modifierStatutArticle is an implementation for Common of "modifierStatutArticle" Action. 31 * @package authorization/common 32 * @author François Xavier LACROIX <fxlacroix@clever-age.com> 33 * @access public 34 */ 35 36 class modifierStatutArticle_common extends Action { 37 38 // {{{ _isAuthorized() 39 40 /** 41 * Get if a user is authorized to access to a command 42 * @access private 43 * @return bool 44 */ 45 46 function _isAuthorized () { 47 48 //return true; 49 50 // on verifie d'abord que l'on a acces a l'article 51 $authorization = &recuperer_instance_authorization('modifierArticle', $this->_user->getAuteurId(), 52 array('id_article' => $this->_parameters['id_article'])); 53 54 if (!$authorization->isAuthorizedAction()) { 55 return false; 56 } 57 58 $articleMetier = &recuperer_instance_article(); 59 $loadOK = $articleMetier->load($this->_parameters['id_article']); 60 61 if (PEAR::isError($loadOK)) { 62 //echo $loadOK->getMessage(); 63 return false; 64 } 65 /* 66 $profilMetier = &recuperer_instance_profil(); 67 $monProfil = $profilMetier->getProfilForIntitule('item_redacteur'); 68 if(PEAR::isError($monProfil)) { 69 die($monProfil->getMessage()); 70 } 71 if($this->_user->getProfil() == $monProfil->getPoids()) { 72 if($this->_parameters['statut_nouv'] == 'archi' OR $this->_parameters['statut_nouv'] == 'publie' OR $this->_parameters['statut_nouv'] == 'refuse' OR $this->_parameters['statut_nouv'] == 'poubelle' OR $this->_parameters['statut_nouv'] == 'valid') return false; 73 if($articleMetier->getStatut() == 'archi' OR $articleMetier->getStatut() == 'publie' OR $articleMetier->getStatut() == 'refuse' OR $articleMetier->getStatut() == 'poubelle' OR $articleMetier->getStatut() == 'valid' OR $articleMetier->isAuthor($this->_user->getAuteurId()) == false) return false; 74 } 75 76 $monProfil = $profilMetier->getProfilForIntitule('item_redacteur_en_chef'); 77 if(PEAR::isError($monProfil)) { 78 die($monProfil->getMessage()); 79 } 80 if($this->_user->getProfil() == $monProfil->getPoids()) { 81 if($this->_parameters['statut_nouv'] == 'archi' OR $this->_parameters['statut_nouv'] == 'publie' OR $this->_parameters['statut_nouv'] == 'poubelle') return false; 82 if($articleMetier->getStatut() == 'archi' OR $articleMetier->getStatut() == 'publie' OR $articleMetier->getStatut() == 'poubelle') return false; 83 } 84 */ 85 86 //var_dump ($this->_parameters['statut_nouv']); 87 88 if ($this->_parameters['statut_nouv'] != null) { 89 switch ($this->_parameters['statut_nouv']) { 90 case 'prepa': 91 $authorization = &recuperer_instance_authorization( 92 'proposerArticle', $this->_user->getAuteurId(), 93 array('id_article' => $this->_parameters['id_article'])); 94 return $authorization->isAuthorizedAction(); 95 break; 96 97 case 'prop': 98 $authorization = &recuperer_instance_authorization( 99 'proposerArticle', $this->_user->getAuteurId(), 100 array('id_article' => $this->_parameters['id_article'])); 101 return $authorization->isAuthorizedAction(); 102 break; 103 104 case 'valid': 105 $authorization = &recuperer_instance_authorization( 106 'validerArticle', $this->_user->getAuteurId(), 107 array('id_article' => $this->_parameters['id_article'])); 108 return $authorization->isAuthorizedAction(); 109 break; 110 111 case 'publie': 112 $authorization = &recuperer_instance_authorization( 113 'publierArticle', $this->_user->getAuteurId(), 114 array('id_article' => $this->_parameters['id_article'])); 115 return $authorization->isAuthorizedAction(); 116 break; 117 118 case 'archi': 119 $authorization = &recuperer_instance_authorization( 120 'archiverArticle', $this->_user->getAuteurId(), 121 array('id_article' => $this->_parameters['id_article'])); 122 return $authorization->isAuthorizedAction(); 123 break; 124 125 case 'poubelle': 126 $authorization = &recuperer_instance_authorization( 127 'jeterArticle', $this->_user->getAuteurId(), 128 array('id_article' => $this->_parameters['id_article'])); 129 return $authorization->isAuthorizedAction(); 130 break; 131 132 case 'refuse': 133 $authorization = &recuperer_instance_authorization( 134 'refuserArticle', $this->_user->getAuteurId(), 135 array('id_article' => $this->_parameters['id_article'])); 136 return $authorization->isAuthorizedAction(); 137 break; 138 } 139 return false; 140 } 141 else { 142 switch ($articleMetier->getStatut()) { 143 case 'prepa': 144 $authorization = &recuperer_instance_authorization( 145 'proposerArticle', $this->_user->getAuteurId(), 146 array('id_article' => $this->_parameters['id_article'])); 147 return $authorization->isAuthorizedAction(); 148 break; 149 150 case 'prop': 151 $authorization = &recuperer_instance_authorization( 152 'proposerArticle', $this->_user->getAuteurId(), 153 array('id_article' => $this->_parameters['id_article'])); 154 return $authorization->isAuthorizedAction(); 155 break; 156 157 case 'valid': 158 $authorization = &recuperer_instance_authorization( 159 'validerArticle', $this->_user->getAuteurId(), 160 array('id_article' => $this->_parameters['id_article'])); 161 return $authorization->isAuthorizedAction(); 162 break; 163 164 case 'publie': 165 $authorization = &recuperer_instance_authorization( 166 'publierArticle', $this->_user->getAuteurId(), 167 array('id_article' => $this->_parameters['id_article'])); 168 return $authorization->isAuthorizedAction(); 169 break; 170 171 case 'archi': 172 $authorization = &recuperer_instance_authorization( 173 'archiverArticle', $this->_user->getAuteurId(), 174 array('id_article' => $this->_parameters['id_article'])); 175 return $authorization->isAuthorizedAction(); 176 break; 177 178 case 'poubelle': 179 $authorization = &recuperer_instance_authorization( 180 'jeterArticle', $this->_user->getAuteurId(), 181 array('id_article' => $this->_parameters['id_article'])); 182 return $authorization->isAuthorizedAction(); 183 break; 184 185 case 'refuse': 186 $authorization = &recuperer_instance_authorization( 187 'refuserArticle', $this->_user->getAuteurId(), 188 array('id_article' => $this->_parameters['id_article'])); 189 return $authorization->isAuthorizedAction(); 190 break; 191 } 192 return false; 193 } 194 195 return false; 196 } 197 // }}} 198 199 } 200 ?>
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 |