[ Index ]
 

Code source de SPIP Agora 1.4

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/Agora1-4/ecrire/include/authorization/common/ -> modifierStatutArticle_common.php (source)

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


Généré le : Sat Feb 24 14:40:03 2007 par Balluche grâce à PHPXref 0.7