[ Index ] |
|
Code source de LifeType 1.2.4 |
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 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Mon Nov 26 21:04:15 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |