user_model = new UserModel(); $this->countries_model = new CountriesModel(); $this->id_user = session()->get('id_user'); $this->token_user = session()->get('token'); } public function index() { helper('file'); helper('form'); helper('text'); $data['title'] = [ 'module' => lang("App.profile_title"), 'page' => lang("App.profile_subtitle"), 'icon' => 'fas fa-user' ]; $data['breadcrumb'] = [ ['title' => lang("App.menu_dashboard"), 'route' => "/home", 'active' => false], ['title' => lang("App.profile_title"), 'route' => "", 'active' => true] ]; $data['btn_return'] = [ 'title' => lang("App.global_come_back"), 'route' => '/', 'class' => 'btn btn-dark mr-1', 'icon' => 'fas fa-angle-left' ]; $data['btn_submit'] = [ 'title' => lang("App.global_save"), 'route' => '', 'class' => 'btn btn-primary mr-1', 'icon' => 'fas fa-save' ]; $session = session(); $data['obj'] = $this->user_model->where('id_user', $this->id_user)->first(); if (!empty($data['obj']->date_birth)) { $data['obj']->date_birth = dateFormatWeb($data['obj']->date_birth); } $data['country'] = $this->countries_model->select('code,name')->where('data_lang', session()->get('lang') ?? 'en')->findAll(); $file = $this->request->getFile('file'); if (!empty($file)) { $integration = new Integration(); $allow = ['jpeg', 'jpg', 'gif', 'bmp', 'png']; $path = 'assets/img/'; $pathRet = '/' . $integration->saveStorage($file, $path, $allow); if (!empty($pathRet)) { $this->user_model->save([ 'id_user' => $this->id_user, 'picture' => $pathRet ]); $data['obj']['picture'] = $pathRet; $session->set('picture', $pathRet); } } else { if (!empty($this->request->getPost())) { $post = $this->request->getPost(); $image = ''; foreach ($post as $key => $value) { if (strpos($key, 'image') !== false) { $image = $value; } } if (!empty($image)) { $this->user_model->save([ 'id_user' => $this->id_user, 'picture' => $image ]); $data['obj']['picture'] = $image; $session->set('picture', $image); } } } echo view(getenv('theme.path') . 'form/profile/index', $data); } public function store() { $session = session(); helper('form'); $rules = [ 'first_name' => 'required', 'last_name' => 'required', ]; $rules_error = [ 'first_name' => ['required' => lang("App.profile_rules_first_name_r")], 'last_name' => ['required' => lang("App.profile_rules_last_name_r")], ]; if ($this->validate($rules ?? [], $rules_error ?? [])) { if (!empty($this->id_user)) { $this->user_model->save([ 'id_user' => $this->id_user, 'first_name' => $this->request->getPost('first_name'), 'last_name' => $this->request->getPost('last_name'), 'address' => $this->request->getPost('address'), 'city' => $this->request->getPost('city'), 'state' => $this->request->getPost('state'), 'country' => $this->request->getPost('country'), 'mobile' => $this->request->getPost('mobile'), 'language' => $this->request->getPost('language') ]); $session->set('lang', $this->request->getPost('language') ?? 'en'); $session->setFlashdata('sweet', ['success', lang("App.global_alert_save_success")]); } else { $session->setFlashdata('sweet', ['error', lang("App.global_alert_save_error")]); } } else { $session->setFlashdata('error', 'error'); return $this->index(); } return redirect()->to('/profile'); } }