示例#1
0
 /**
  * Método para cerrar sesión
  */
 public function salir($js = '')
 {
     if (Usuario::setSession('close')) {
         MkcMessage::valid("La sesión ha sido cerrada correctamente.");
     }
     if ($js == 'no-script') {
         MkcMessage::info('Activa el uso de JavaScript en su navegador para poder continuar.');
     }
     return MkcRedirect::toAction('entrar/');
 }
 /**
  * Método para listar
  */
 public function listar($order = 'order.modulo.asc', $page = 'pag.1')
 {
     if (Input::hasPost('privilegios') or Input::hasPost('old_privilegios')) {
         if (RecursoPerfil::setRecursoPerfil(Input::post('privilegios'), Input::post('old_privilegios'))) {
             MkcMessage::valid('Los privilegios se han registrado correctamente!');
             Input::delete('privilegios');
             //Para que no queden persistentes
             Input::delete('old_privilegios');
         }
     }
     $page = Filter::get($page, 'page') > 0 ? Filter::get($page, 'page') : 1;
     $recurso = new Recurso();
     $this->recursos = $recurso->getListadoRecurso(Recurso::ACTIVO, $order, $page);
     $perfil = new Perfil();
     $this->perfiles = $perfil->getListadoPerfil(Perfil::ACTIVO);
     $privilegio = new RecursoPerfil();
     $this->privilegios = $privilegio->getPrivilegiosToArray();
     $this->order = $order;
     $this->page_title = 'Permisos y privilegios de usuarios';
 }
 /**
  * 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';
 }
示例#5
0
 /**
  * Método que verifica la conexión con la base de datos
  * @param type $data
  * @param type $source
  * @return boolean 
  */
 public static function testConnection($data, $source, $db = false)
 {
     //Filtro el array con los parámetros
     $data = Filter::data($data, array('host', 'username', 'password', 'name', 'type'), 'trim');
     //Se utiliza por defecto el driver mysqli por ser orientado a objetos
     $data['type'] = 'mysqli';
     $data['charset'] = 'UTF-8';
     try {
         //Seteo las variables del core
         Config::set("databases.{$source}", $data);
         //Reviso la conexión, sino, genera la excepción
         @Db::factory($source, true);
         MkcMessage::valid("Conexión establecida en modo <b>{$source}!</b>");
     } catch (KumbiaException $e) {
         MkcMessage::error("Error en modo '{$source}': <br /> " . $e->getMessage());
         return false;
     }
 }
 /**
  * Método para inactivar/reactivar
  */
 public function estado($tipo, $key)
 {
     if (!($id = MkcSecurity::isValidKey($key, $tipo . '_usuario', 'int'))) {
         return MkcRedirect::toAction('listar');
     }
     $usuario = new Usuario();
     if (!$usuario->getInformacionUsuario($id)) {
         MkcMessage::get('id_no_found');
         return MkcRedirect::toAction('listar');
     }
     if ($tipo == 'reactivar' && $usuario->estado_usuario == EstadoUsuario::ACTIVO) {
         MkcMessage::info('El usuario ya se encuentra activo.');
         return MkcRedirect::toAction('listar');
     } else {
         if ($tipo == 'bloquear' && $usuario->estado_usuario == EstadoUsuario::BLOQUEADO) {
             MkcMessage::info('El usuario ya se encuentra bloqueado.');
             return MkcRedirect::toAction('listar');
         }
     }
     if (Input::hasPost('estado_usuario')) {
         if (EstadoUsuario::setEstadoUsuario($tipo, Input::post('estado_usuario'), array('usuario_id' => $usuario->id))) {
             $tipo == 'reactivar' ? MkcMessage::valid('El usuario se ha reactivado correctamente!') : MkcMessage::valid('El usuario se ha bloqueado correctamente!');
             return MkcRedirect::toAction('listar');
         }
     }
     $this->page_title = $tipo == 'reactivar' ? 'Reactivación de usuario' : 'Bloqueo de usuario';
     $this->usuario = $usuario;
 }
 /**
  * Método para resetear las configuraciones del sistema
  * @return type
  */
 public function reset()
 {
     try {
         if (Sistema::reset()) {
             MkcMessage::valid('El sistema se ha reseteado correctamente!');
         }
     } catch (KumbiaException $e) {
         MkcMessage::error('Se ha producido un error al resetear la configuración del sistema.');
     }
     return MkcRedirect::toAction('index');
 }
 /**
  * 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 optimizar tablas
  */
 public function optimizar($key)
 {
     if (!($tabla = MkcSecurity::isValidKey($key, 'optimizar'))) {
         return MkcRedirect::toAction('index');
     }
     try {
         $sistema = new Sistema();
         if ($sistema->getOptimizacion($tabla)) {
             MkcMessage::valid("Se ha optimizado la tabla '{$tabla}' correctamente!");
         } else {
             MkcMessage::error('Se ha presentado un error interno al optimizar la tabla. <br />Por favor intenta más tarde.');
         }
     } catch (KumbiaException $e) {
         MkcMessage::error('Oops! hemos realizado algo mal. <br />Por favor intenta más tarde.');
     }
     return MkcRedirect::toAction('index');
 }
示例#10
0
 /**
  * Método para restaurar
  */
 public function restaurar($key = '')
 {
     if (!Input::isAjax()) {
         MkcMessage::error('Método incorrecto para restaurar el sistema.');
         return MkcRedirect::toAction('listar');
     }
     if (!($id = MkcSecurity::isValidKey($key, 'restaurar_backup', 'int'))) {
         return View::ajax();
     }
     $pass = Input::post('password');
     $usuario = Usuario::getUsuarioLogueado();
     if ($usuario->password != md5(sha1($pass))) {
         MkcMessage::error('Acceso incorrecto al sistema. Tu no tienes los permisos necesarios para realizar esta acción.');
         return View::ajax();
     }
     if ($backup = Backup::restoreBackup($id)) {
         MkcMessage::valid('El sistema se ha restaurado satisfactoriamente con la copia de seguridad <b>' . $backup->archivo . '</b>');
     } else {
         MkcMessage::error('Se ha producido un error interno al restaurar el sistema. Por favor contacta al administrador.');
     }
     return View::ajax();
 }
示例#11
0
 /**
  * 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');
 }
示例#12
0
 /**
  * Método para inactivar/reactivar
  */
 public function estado($tipo, $key)
 {
     if (!($id = MkcSecurity::isValidKey($key, $tipo . '_perfil', 'int'))) {
         return MkcRedirect::toAction('listar');
     }
     $perfil = new Perfil();
     if (!$perfil->find_first($id)) {
         MkcMessage::get('id_no_found');
     } else {
         if ($tipo == 'inactivar' && $perfil->estado == Perfil::INACTIVO) {
             MkcMessage::info('El perfil ya se encuentra inactivo');
         } else {
             if ($tipo == 'reactivar' && $perfil->estado == Perfil::ACTIVO) {
                 MkcMessage::info('El perfil ya se encuentra activo');
             } else {
                 $estado = $tipo == 'inactivar' ? Perfil::INACTIVO : Perfil::ACTIVO;
                 if (Perfil::setPerfil('update', $perfil->to_array(), array('id' => $id, 'estado' => $estado))) {
                     $estado == Perfil::ACTIVO ? MkcMessage::valid('El perfil se ha reactivado correctamente!') : MkcMessage::valid('El perfil se ha inactivado correctamente!');
                 }
             }
         }
     }
     return MkcRedirect::toAction('listar');
 }