Arreglos login y recuperar contraseña

This commit is contained in:
imnavajas
2023-05-15 15:15:52 +02:00
parent efceab14d4
commit ea0c714550
7 changed files with 105 additions and 104 deletions

View File

@ -29,4 +29,4 @@ defined('SHOW_DEBUG_BACKTRACE') || define('SHOW_DEBUG_BACKTRACE', true);
| the system. This will control whether Kint is loaded, and a few other
| items. It can always be used within your own application too.
*/
defined('CI_DEBUG') || define('CI_DEBUG', true);
defined('CI_DEBUG') || define('CI_DEBUG', false); // IMN Changed for deleting DEBUG VIEW MSGs

View File

@ -32,62 +32,58 @@ $routes->setAutoRoute(true);
// We get a performance increase by specifying the default
// route since we don't have to scan directories.
$routes->group('', [], function($routes) {
$routes->group('paises', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) {
$routes->get('', 'Paises::index', ['as' => 'paisList']);
$routes->get('index', 'Paises::index', ['as' => 'paisIndex']);
$routes->get('add', 'Paises::add', ['as' => 'newPais']);
$routes->post('add', 'Paises::add', ['as' => 'createPais']);
$routes->get('edit/(:num)', 'Paises::edit/$1', ['as' => 'editPais']);
$routes->post('edit/(:num)', 'Paises::edit/$1', ['as' => 'updatePais']);
$routes->get('delete/(:num)', 'Paises::delete/$1', ['as' => 'deletePais']);
$routes->post('allmenuitems', 'Paises::allItemsSelect', ['as' => 'select2ItemsOfPaises']);
$routes->post('menuitems', 'Paises::menuItems', ['as' => 'menuItemsOfPaises']);
});
$routes->group('tarifaacabado', ['namespace' => 'App\Controllers\Tarifas'], function ($routes) {
$routes->get('', 'Tarifaacabado::index', ['as' => 'tarifaacabadoList']);
$routes->get('index', 'Tarifaacabado::index', ['as' => 'tarifaacabadoIndex']);
$routes->get('list', 'Tarifaacabado::index', ['as' => 'tarifaacabadoList2']);
$routes->get('add', 'Tarifaacabado::add', ['as' => 'newTarifaacabado']);
$routes->post('add', 'Tarifaacabado::add', ['as' => 'createTarifaacabado']);
$routes->get('edit/(:num)', 'Tarifaacabado::edit/$1', ['as' => 'editTarifaacabado']);
$routes->post('edit/(:num)', 'Tarifaacabado::edit/$1', ['as' => 'updateTarifaacabado']);
$routes->get('delete/(:num)', 'Tarifaacabado::delete/$1', ['as' => 'deleteTarifaacabado']);
$routes->post('allmenuitems', 'Tarifaacabado::allItemsSelect', ['as' => 'select2ItemsOfTarifasacabado']);
$routes->post('menuitems', 'Tarifaacabado::menuItems', ['as' => 'menuItemsOfTarifasacabado']);
});
$routes->group('', [], function ($routes) {
$routes->group('users', ['namespace' => 'App\Controllers\Usuarios'], function ($routes) {
$routes->get('', 'Users::index', ['as' => 'userList']);
$routes->get('index', 'Users::index', ['as' => 'userIndex']);
$routes->get('list', 'Users::index', ['as' => 'userList2']);
$routes->get('add', 'Users::add', ['as' => 'newUser']);
$routes->post('add', 'Users::add', ['as' => 'createUser']);
$routes->get('edit/(:num)', 'Users::edit/$1', ['as' => 'editUser']);
$routes->post('edit/(:num)', 'Users::edit/$1', ['as' => 'updateUser']);
$routes->get('delete/(:num)', 'Users::delete/$1', ['as' => 'deleteUser']);
$routes->post('allmenuitems', 'Users::allItemsSelect', ['as' => 'select2ItemsOfUsers']);
$routes->post('menuitems', 'Users::menuItems', ['as' => 'menuItemsOfUsers']);
});
$routes->group('group', ['namespace' => 'App\Controllers\Usuarios'], function ($routes) {
$routes->get('', 'Group::index', ['as' => 'userGroupList']);
$routes->get('index', 'Group::index', ['as' => 'groupIndex']);
$routes->post('edit/(:num)', 'Group::edit/$1', ['as' => 'updateGroup']);
$routes->get('edit/(:num)', 'Group::edit/$1', ['as' => 'editGroup']);
$routes->get('delete/(:num)', 'Group::delete/$1', ['as' => 'deleteGroup']);
$routes->get('add', 'Group::add', ['as' => 'newGroup']);
});
$routes->group('paises', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) {
$routes->get('', 'Paises::index', ['as' => 'paisList']);
$routes->get('index', 'Paises::index', ['as' => 'paisIndex']);
$routes->get('add', 'Paises::add', ['as' => 'newPais']);
$routes->post('add', 'Paises::add', ['as' => 'createPais']);
$routes->get('edit/(:num)', 'Paises::edit/$1', ['as' => 'editPais']);
$routes->post('edit/(:num)', 'Paises::edit/$1', ['as' => 'updatePais']);
$routes->get('delete/(:num)', 'Paises::delete/$1', ['as' => 'deletePais']);
$routes->post('allmenuitems', 'Paises::allItemsSelect', ['as' => 'select2ItemsOfPaises']);
$routes->post('menuitems', 'Paises::menuItems', ['as' => 'menuItemsOfPaises']);
});
$routes->group('tarifaacabado', ['namespace' => 'App\Controllers\Tarifas'], function ($routes) {
$routes->get('', 'Tarifaacabado::index', ['as' => 'tarifaacabadoList']);
$routes->get('index', 'Tarifaacabado::index', ['as' => 'tarifaacabadoIndex']);
$routes->get('list', 'Tarifaacabado::index', ['as' => 'tarifaacabadoList2']);
$routes->get('add', 'Tarifaacabado::add', ['as' => 'newTarifaacabado']);
$routes->post('add', 'Tarifaacabado::add', ['as' => 'createTarifaacabado']);
$routes->get('edit/(:num)', 'Tarifaacabado::edit/$1', ['as' => 'editTarifaacabado']);
$routes->post('edit/(:num)', 'Tarifaacabado::edit/$1', ['as' => 'updateTarifaacabado']);
$routes->get('delete/(:num)', 'Tarifaacabado::delete/$1', ['as' => 'deleteTarifaacabado']);
$routes->post('allmenuitems', 'Tarifaacabado::allItemsSelect', ['as' => 'select2ItemsOfTarifasacabado']);
$routes->post('menuitems', 'Tarifaacabado::menuItems', ['as' => 'menuItemsOfTarifasacabado']);
});
$routes->group('users', ['namespace' => 'App\Controllers\Usuarios'], function ($routes) {
$routes->get('', 'Users::index', ['as' => 'userList']);
$routes->get('index', 'Users::index', ['as' => 'userIndex']);
$routes->get('list', 'Users::index', ['as' => 'userList2']);
$routes->get('add', 'Users::add', ['as' => 'newUser']);
$routes->post('add', 'Users::add', ['as' => 'createUser']);
$routes->get('edit/(:num)', 'Users::edit/$1', ['as' => 'editUser']);
$routes->post('edit/(:num)', 'Users::edit/$1', ['as' => 'updateUser']);
$routes->get('delete/(:num)', 'Users::delete/$1', ['as' => 'deleteUser']);
$routes->post('allmenuitems', 'Users::allItemsSelect', ['as' => 'select2ItemsOfUsers']);
$routes->post('menuitems', 'Users::menuItems', ['as' => 'menuItemsOfUsers']);
});
$routes->group('group', ['namespace' => 'App\Controllers\Usuarios'], function ($routes) {
$routes->get('', 'Group::index', ['as' => 'userGroupList']);
$routes->get('index', 'Group::index', ['as' => 'groupIndex']);
$routes->post('edit/(:num)', 'Group::edit/$1', ['as' => 'updateGroup']);
$routes->get('edit/(:num)', 'Group::edit/$1', ['as' => 'editGroup']);
$routes->get('delete/(:num)', 'Group::delete/$1', ['as' => 'deleteGroup']);
$routes->get('add', 'Group::add', ['as' => 'newGroup']);
});
});
//WEB ROUTER ------------------------------------------------------
//------------------------------------------------------------------
@ -96,17 +92,17 @@ $routes->get('lang/{locale}', 'Language::index');
//API ROUTER ------------------------------------------------------
//------------------------------------------------------------------
$routes->get('api/','Api::index');
$routes->get('api/status','Api::status');
$routes->post('api/signIn','Api::signIn');
$routes->get('api/', 'Api::index');
$routes->get('api/status', 'Api::status');
$routes->post('api/signIn', 'Api::signIn');
//API ROUTER USER ------------------------------------------------------
//------------------------------------------------------------------
$routes->get('api/user/','Api::user/all');
$routes->get('api/user/(:segment)','Api::user/id/$1');
$routes->post('api/user/','Api::user/add');
$routes->put('api/user/(:segment)','Api::user/edit/$1');
$routes->delete('api/user/(:segment)','Api::user/delete/$1');
$routes->get('api/user/', 'Api::user/all');
$routes->get('api/user/(:segment)', 'Api::user/id/$1');
$routes->post('api/user/', 'Api::user/add');
$routes->put('api/user/(:segment)', 'Api::user/edit/$1');
$routes->delete('api/user/(:segment)', 'Api::user/delete/$1');
/*

View File

@ -131,23 +131,23 @@ class Integration extends BaseController
foreach (keywordEmail()??[] as $item){
$field = str_replace(['[','user_',']'],'',$item);
$template = str_replace('['.$item.']',$user[$field],$template);
$template = str_replace('['.$item.']',$user->$field ?? "",$template);
}
$token = random_string("alnum", 50);
$url = base_url().'/login/recovery/'.$token;
$url = base_url().'login/recovery/'.$token;
$this->pass_recovery_model->save([
'user' => $user['token'],
'user' => $user->token,
'token' => $token
]);
$title = $template['subject']??'';
$msg = $template['body']??'';
$msg = str_replace('[recovery_password]',$url,$msg);
$email = $user['email'];
$email = $user->email;
$this->setLog('recovery','recovery-password',$user['token']);
$this->setLog('recovery','recovery-password',$user->token);
$send = $this->sendMail($title,$msg,$email);
if($send){
$session->setFlashdata('toast', ['success',lang("App.login_alert_send"),lang("App.login_alert_send_pass")]);

View File

@ -509,6 +509,7 @@ class login extends BaseController
$session = session();
if(!empty($token) && $session->get('settings')['forgot_password']??false){
$pass_recovery = $this->pass_recovery_model->where('token',$token)->where('changed',false)->first();
if($pass_recovery != null){
$data['token'] = $token;
$data['user'] = $pass_recovery['user'];
@ -551,7 +552,7 @@ class login extends BaseController
if($user != null){
$phpass = new PasswordHash(8, true);
$this->user_model->save([
'id_user' => $user['id_user'],
'id_user' => $user->id_user,
'password' => $phpass->HashPassword($listPost['password'])
]);
$this->pass_recovery_model->save([

View File

@ -298,16 +298,28 @@ function getArrayItem(array $array, $key, $word, $isArray=false)
/// Notification Messages
////////////////////////////////////////////////////
// IMN Modified
function formAlert()
{
$session = session();
$alert = $session->getFlashdata('error');
$validation = \Config\Services::validation()->listErrors();
if (!empty($alert)){
return '<div class="alert alert-danger alert-dismissible alert-alt solid fade show">'.
' <button type="button" class="close h-100" data-dismiss="alert" aria-label="Close"><span><i class="mdi mdi-close"></i></span>'.
' </button>'. $validation .
'</div>';
$validations = \Config\Services::validation()->getErrors();
$alerts = "";
foreach ($validations as $key => $value){
$alerts .= '<div class="alert alert-danger alert-dismissible" role="alert">'.
' ' . $value .
' <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close">'.
' </button>'.
'</div>';
}
return $alerts;
}
}

View File

@ -38,8 +38,8 @@ return [
"login_password_ph" => "Escribe tu contraseña",
"login_remember_me" => "Recuérdame",
"login_forgot_password" => "Olvidé la contraseña",
"login_access" => "Registrarse",
"login_signup" => "Inscribirse",
"login_access" => "Acceder",
"login_signup" => "Registrar",
"login_signup_desc" => "¿Aún no tienes una cuenta?",
// LOGIN - forgot_password
@ -69,7 +69,7 @@ return [
"login_terms_use" => "Condiciones de uso",
"login_accept" => "Aceptada",
"login_closed" => "Cerrada",
"login_register" => "Registrarse",
"login_register" => "Acceder",
// LOGIN - notification
"login_alert" => "¡Atención!",