/** * Deletes a user by setting the status to 'deleted' */ public function actionDelete($id = null) { if(!$id) $id = Yii::app()->user->id; $user = YumUser::model()->findByPk($id); if(Yii::app()->user->isAdmin()) { //This is necesary for handling human stupidity. if($user && ($user->id == Yii::app()->user->id)) { Yum::setFlash('You can not delete your own admin account'); $this->redirect(array('//user/user/admin')); } if($user->delete()) { Yum::setFlash('The User has been deleted'); if(!Yii::app()->request->isAjaxRequest) $this->redirect('//user/user/admin'); } } else if(isset($_POST['confirmPassword'])) { if(YumUser::validate_password($_POST['confirmPassword'], $user->password, $user->salt)) { if($user->delete()) $this->actionLogout(); else Yum::setFlash('Error while deleting Account. Account was not deleted'); } else { Yum::setFlash('Wrong password confirmation! Account was not deleted'); } $this->redirect(array('//profile/profile/view')); } $this->render('confirmDeletion', array('model' => $user)); }