/** * 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); }