/** * Activates the given user account. * * @param int $id User's ID * @return void Redirects to previous page */ public function activate($id) { $this->loadModel('User.Users'); $user = $this->Users->get($id, ['fields' => ['id', 'name', 'email']]); if ($this->Users->updateAll(['status' => 1], ['id' => $user->id])) { NotificationManager::activated($user)->send(); $this->Flash->success(__d('user', 'User {0} was successfully activated!', $user->name)); } else { $this->Flash->danger(__d('user', 'User could not be activated, please try again.')); } $this->title(__d('user', 'Unblock User Account')); $this->redirect($this->referer()); }
/** * test __callStatic() for activated(). * * @return void */ public function testCallStaticActivated() { $user = new User(); $activatedMessage = NotificationManager::activated($user); $this->assertInstanceOf('User\\Notification\\Message\\ActivatedMessage', $activatedMessage); }
/** * Activates a registered user. * * @param string $token A valid user token * @return void */ public function activate($token = null) { $activated = false; if ($token === null) { $this->redirect('/'); } $this->loadModel('User.Users'); $user = $this->Users->find()->select(['id', 'name', 'token'])->where(['status' => 0, 'token' => $token])->limit(1)->first(); if ($user) { if ($this->Users->updateAll(['status' => 1], ['id' => $user->id])) { NotificationManager::activated($user)->send(); $activated = true; $this->Flash->success(__d('user', 'Account successfully activated.'), ['key' => 'activate']); } else { $this->Flash->danger(__d('user', 'Account could not be activated, please try again later.'), ['key' => 'activate']); } } else { $this->Flash->warning(__d('user', 'Account not found or is already active.'), ['key' => 'activate']); } $this->title(__d('user', 'Account Activation')); $this->set(compact('activated', 'token')); }