/** * Método principal */ public function index() { $usuario = new Usuario(); if (!$usuario->getInformacionUsuario(Session::get('id'))) { MkcMessage::get('id_no_found'); return MkcRedirect::to('dashboard'); } $perfil = $usuario->perfil; $app_ajax_old = $usuario->app_ajax; if (Input::hasPost('usuario')) { if (MkcSecurity::isValidKey(Input::post('usuario_id_key'), 'form_key')) { ActiveRecord::beginTrans(); //Guardo la persona $persona = Persona::setPersona('update', Input::post('persona'), array('id' => $usuario->persona_id)); if ($persona) { $usuario = Usuario::setUsuario('update', Input::post('usuario'), array('persona_id' => $persona->id, 'repassword' => Input::post('repassword'), 'oldpassword' => Input::post('oldpassword'), 'id' => $usuario->id, 'login' => $usuario->login, 'sucursal_id' => $usuario->sucursal_id, 'perfil_id' => $usuario->perfil_id)); if ($usuario) { ActiveRecord::commitTrans(); MkcMessage::valid('El usuario se ha actualizado correctamente.'); if ($app_ajax_old != $usuario->app_ajax) { Session::set('app_ajax', $usuario->app_ajax); if (APP_AJAX) { View::redirect(PUBLIC_PATH . 'sistema/mi_cuenta/'); } else { MkcRedirect::to('sistema/mi_cuenta'); } } $usuario->perfil = $perfil; $usuario->fotografia = $persona->fotografia; } } else { ActiveRecord::rollbackTrans(); } } } $this->temas = MkcUtils::getFolders(dirname(APP_PATH) . '/public/css/backend/themes/'); $this->usuario = $usuario; $this->page_title = 'Actualizar mis datos'; }
/** * Método principal */ public function index() { if (Input::hasPost('empresa')) { if (MkcSecurity::isValidKey(Input::post('empresa_id_key'), 'form_key')) { if (Empresa::setEmpresa('save', Input::post('empresa'))) { MkcMessage::valid('Los datos se han actualizado correctamente'); } else { MkcMessage::get('error_form'); } } } $empresa = new Empresa(); if (!$empresa->getInformacionEmpresa()) { MkcMessage::get('id_no_found'); return MkcRedirect::toRoute('module: dashboard', 'controller: index'); } if (!APP_OFFICE) { $sucursal = new Sucursal(); $this->sucursal = $sucursal->getInformacionSucursal(1); $this->ciudades = Load::model('params/ciudad')->getCiudadesToJson(); } $this->empresa = $empresa; $this->page_title = 'Información de la empresa'; }
/** * Método para restaurar el sistema * @param type $id */ public static function restoreBackup($id, $path = '') { $id = Filter::get($id, 'int'); if (empty($id)) { return FALSE; } $obj = new Backup(); if (!$obj->find_first($id)) { MkcMessage::get('id_no_found'); return FALSE; } if (empty($path)) { $path = APP_PATH . 'temp/backup/'; } $file = $path . $obj->archivo; if (!is_file($file)) { MkcMessage::error('Error: BKP-RES001. Se ha producido un error en la restauración del sistema. <br />No se pudo localizar el archivo de restaruación.'); return FALSE; } //Almaceno las copias de seguridad anteriores $old_backup = $obj->find('order: registrado_at ASC'); $system = $obj->_getSystem(TRUE); //Verifico el sistema operativo para la restauración $database = Config::get('config.application.database'); //tomo el entorno actual $config = $obj->_getConfig($database); //Tomo la configuración de conexión $exec = "gunzip < {$file} | {$system} -h " . $config['host'] . " -u " . $config['username'] . " --password="******" " . $config['name']; system($exec, $result); if (!$result) { //Inserto los backups anteriores foreach ($old_backup as $backup) { if ($backup->id >= $obj->id) { $obj->sql("REPLACE INTO `backup` (`id`,`usuario_id`,`denominacion`,`tamano`,`archivo`,`registrado_at`) VALUES ('{$backup->id}', '{$backup->usuario_id}', '{$backup->denominacion}', '{$backup->tamano}', '{$backup->archivo}', '{$backup->registrado_at}')"); } } if ($obj) { MkcAudit::debug("Se ha restaurado el sistema con la copia de seguridad: {$obj->denominacion}"); } return $obj ? $obj : FALSE; } return FALSE; }
/** * Método para ver */ public function ver($key) { if (!($id = MkcSecurity::isValidKey($key, 'shw_usuario', 'int'))) { return MkcRedirect::toAction('listar'); } $usuario = new Usuario(); if (!$usuario->getInformacionUsuario($id)) { MkcMessage::get('id_no_found'); return MkcRedirect::toAction('listar'); } $estado = new EstadoUsuario(); $this->estados = $estado->getListadoEstadoUsuario($usuario->id); $acceso = new Acceso(); $this->accesos = $acceso->getListadoAcceso($usuario->id, 'todos', 'order.fecha.desc'); $this->usuario = $usuario; $this->page_title = 'Información del usuario'; }
/** * Método para eliminar */ public function eliminar($key) { if (!($id = MkcSecurity::isValidKey($key, 'eliminar_recurso', 'int'))) { return MkcRedirect::toAction('listar'); } $recurso = new Recurso(); if (!$recurso->find_first($id)) { MkcMessage::get('id_no_found'); return MkcRedirect::toAction('listar'); } try { if ($recurso->delete()) { MkcMessage::valid('El recurso se ha eliminado correctamente!'); } else { MkcMessage::warning('Lo sentimos, pero este recurso no se puede eliminar.'); } } catch (KumbiaException $e) { MkcMessage::error('Este recurso no se puede eliminar porque se encuentra relacionado con otro registro.'); } return MkcRedirect::toAction('listar'); }
/** * Método para descargar */ public function descargar($key = '') { if (!($id = MkcSecurity::isValidKey($key, 'descargar_backup', 'int'))) { return View::ajax(); } $backup = new Backup(); if (!$backup->find_first($id)) { MkcMessage::get('id_no_found'); return MkcRedirect::toAction('listar'); } $file = APP_PATH . 'temp/backup/' . $backup->archivo; if (!is_file($file)) { MkcMessage::warning('No hemos podido localizar el archivo. Por favor contacta al administrador del sistema.'); MkcAudit::error("No se ha podido encontrar la copia de seguridad {$backup->archivo} en el sistema"); return MkcRedirect::toAction('listar'); } View::template(NULL); $this->backup = $backup; }
/** * Método para eliminar */ public function eliminar($key) { if (!($id = MkcSecurity::isValidKey($key, 'del_sucursal', 'int'))) { return MkcRedirect::toAction('listar'); } $sucursal = new Sucursal(); if (!$sucursal->getInformacionSucursal($id)) { MkcMessage::get('id_no_found'); return MkcRedirect::toAction('listar'); } try { if (Sucursal::setSucursal('delete', array('id' => $sucursal->id))) { MkcMessage::valid('La sucursal se ha eliminado correctamente!'); } } catch (KumbiaException $e) { MkcMessage::error('Esta sucursal no se puede eliminar porque se encuentra relacionada con otro registro.'); } return MkcRedirect::toAction('listar'); }
/** * Método para ver */ public function ver($key, $order = 'order.perfil.asc', $page = 'pag.1') { $page = Filter::get($page, 'page') > 0 ? Filter::get($page, 'page') : 1; if (!($id = MkcSecurity::isValidKey($key, 'show_perfil', 'int'))) { return MkcRedirect::toAction('listar'); } $perfil = new Perfil(); if (!$perfil->find_first($id)) { MkcMessage::get('id_no_found'); return MkcRedirect::toAction('listar'); } $usuario = new Usuario(); $this->usuarios = $usuario->getUsuarioPorPerfil($perfil->id, $order, $page); $this->perfil = $perfil; $this->order = $order; $this->page_title = 'Información del Perfil'; $this->key = $key; }