[ Index ]
 

Code source de LifeType 1.2.4

Accédez au Source d'autres logiciels libres

Classes | Fonctions | Variables | Constantes | Tables

title

Body

[fermer]

/class/action/admin/ -> admindeleteusersaction.class.php (source)

   1  <?php
   2  
   3      lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );
   4      lt_include( PLOG_CLASS_PATH."class/dao/users.class.php" );
   5      lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
   6      lt_include( PLOG_CLASS_PATH."class/data/validator/arrayvalidator.class.php" );
   7      lt_include( PLOG_CLASS_PATH."class/view/admin/adminsiteuserslistview.class.php" );
   8  
   9      /**
  10       * \ingroup Action
  11       * @private
  12       *
  13       * disables users from the site (it doesn not actually remove them!!)
  14       */
  15      class AdminDeleteUsersAction extends AdminAction
  16      {
  17  
  18          var $_userIds;
  19          var $_op;
  20  
  21      	function AdminDeleteUsersAction( $actionInfo, $request )
  22          {
  23              $this->AdminAction( $actionInfo, $request );
  24  
  25              // set up the data validation stuff
  26              $this->_op = $actionInfo->getActionParamValue();
  27              if( $this->_op == "deleteUsers" )
  28                  $this->registerFieldvalidator( "userIds", new ArrayValidator());
  29              else
  30                  $this->registerFieldValidator( "userId", new IntegerValidator());
  31              $view = new AdminSiteUsersListView( $this->_blogInfo );
  32              $view->setErrorMessage( $this->_locale->tr("error_no_users_selected"));
  33              $this->setValidationErrorView( $view );
  34  
  35              $this->requirePermission( "update_user" );
  36          }
  37  
  38          function perform()
  39          {
  40              if( $this->_op == "deleteUser" ) {
  41                  $userId = $this->_request->getValue( "userId" );
  42                  $this->_userIds = Array();
  43                  $this->_userIds[] = $userId;
  44              }
  45              else {
  46                  $this->_userIds = $this->_request->getValue( "userIds" );
  47              }
  48  
  49              $this->_disableUsers();
  50          }
  51  
  52          /**
  53           * @private
  54           */
  55          function _disableUsers()
  56          {
  57              $errorMessage = "";
  58              $successMessage = "";
  59              $totalOk = 0;
  60  
  61              $users = new Users();
  62              // go user by user to remove them
  63              foreach( $this->_userIds as $userId ) {
  64                  // get some info about the user
  65                  $userInfo = $users->getUserInfoFromId( $userId );
  66                  if( !$userInfo ) {
  67                      $errorMessage .= $this->_locale->pr("error_invalid_user2", $userId )."<br/>";
  68                  }
  69                  else {
  70                      $this->notifyEvent( EVENT_PRE_USER_DELETE, Array( "user" => &$userInfo ));
  71                      $userInfo->setStatus( USER_STATUS_DISABLED );
  72                      if( !$users->updateUser( $userInfo ))
  73                          $errorMessage .= $this->_locale->pr("error_deleting_user", $userInfo->getUsername())."<br/>";
  74                      else {
  75                          $totalOk++;                    
  76                          if( $totalOk < 2 )
  77                              $successMessage = $this->_locale->pr( "user_deleted_ok", $userInfo->getUsername());
  78                          else
  79                              $successMessage = $this->_locale->pr( "users_deleted_ok", $totalOk );
  80  
  81                          // notify of the post delete event
  82                          $this->notifyEvent( EVENT_POST_USER_DELETE, Array( "user" => &$userInfo ));
  83                      }
  84                  }
  85              }
  86  
  87              // prepare the view
  88              $this->_view = new AdminSiteUsersListView( $this->_blogInfo );
  89              if( $errorMessage != "" ) $this->_view->setErrorMessage( $errorMessage );
  90              if( $successMessage != "" ) $this->_view->setSuccessMessage( $successMessage );
  91              $this->setCommonData();
  92  
  93              return false;
  94          }
  95  
  96      }
  97  ?>


Généré le : Mon Nov 26 21:04:15 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics