/** * function to post * reset new password and * remove code in table user */ function post_reset_password() { $input = request()->input(); if (!$input) { return app()->abort(404); } /////////////////// // validate data // ////////////////// $rules['password_baru'] = ['required', 'min:8', 'confirmed']; $validator = Validator::make(request()->input(), $rules); if ($validator->fails()) { return redirect()->back()->withErrors($validator); } else { ///////////////// // check code // //////////////// $query_data['reset_password'] = request()->input('code'); $query_data['take'] = 1; $check_code = json_decode($this->api->get($this->api_url . '/users?' . http_build_query($query_data))->getBody()); ///////////////// // assign data // //////////////// $id = $check_code->data->data[0]->_id; $data['password'] = request()->input('password_baru'); $data['reset_password'] = ''; $api_response = json_decode($this->api->post($this->api_url . '/users/update/' . $id, ['form_params' => $data])->getBody()); ////////////// // redirect // ////////////// if (str_is('success', $api_response->status)) { $data = $api_response->data->data; //send mail $view = 'default.components.email.done_reset_password'; $to = $data->email; $email = ['title' => 'Capcus', 'subject' => 'Reset New Password', 'data' => $data]; MailEngine::send($view, $to, $email); return redirect()->route('reset.password', ['set' => 'done']); } else { $alert = $api_response->data; foreach ($alert as $x) { $alert_str[] = implode(', ', $x); } Session::flash('_alert_danger', implode("\n", $alert_str)); return redirect()->back()->withInput(); } } }
function subscribe() { /////////////// // GET EMAIL // /////////////// $email = request()->input('email'); /////////////// // SUBSCRIBE // /////////////// $query['email'] = $email; $api_response = $this->api->get($this->api_url . '/subscription/add?' . http_build_query(array_merge($query, ['access_token' => Session::get('access_token')])))->getBody(); $tmp = json_decode($api_response); if (str_is('success', $tmp->status)) { session()->put('subscribe', $email); $url = route('api.unsubscribe', ['email' => $tmp->data->data->email, 'token' => $tmp->data->data->unsubscription_token]); //send email $view = 'default.components.email.subscribe'; $to = $email; $email = ['title' => 'Subscribe to Capcus', 'subject' => 'Capcus Subscription', 'data' => ['url' => $url]]; MailEngine::send($view, $to, $email); return Redirect::route('subscribe'); } }