Ejemplo n.º 1
0
 /**
  * change user email
  *
  * @param  string  $idUser
  * @return Response
  */
 public static function changeEmail($idUser)
 {
     $app = \Slim\Slim::getInstance();
     $data = $app->request->post();
     $validata = $app->validata;
     if (!isset($data['email']) || !$validata::email()->validate($data['email'])) {
         $app->halt('400', json_encode("Input invalid"));
     }
     $email = $data['email'];
     $user = User::find($idUser);
     if (!$user) {
         $app->halt('404', json_encode("User not found"));
     }
     if ($user->email == trim($data['email'])) {
         $app->halt('412', json_encode("Email not change"));
     }
     if (self::isExist($email)) {
         $app->halt('409', json_encode("Email already taken"));
     }
     $data = array('user_id' => $idUser, 'tmp_email' => $email);
     $tmp = Tmp_Email::firstOrCreate($data);
     $link = 'http://' . $_SERVER['HTTP_HOST'] . '/' . DOCUMENTPATH . '/' . self::$email_verify_api . openssl_encrypt($tmp->id, 'aes128', self::$pass, 0, self::$iv);
     $result = EmailController::changeEmail($idUser, $email, $link);
     echo json_encode($result);
 }