/** * Método para crear una copia de seguridad * * @param type $data Input del post * @param string $path Ruta donde se almacenará la copia de seguridad * @param type $database Pull de conexión * @return boolean|\Backup */ public static function createBackup($data, $path = '', $database = '') { $obj = new Backup($data); $obj->archivo = "backup-" . ($obj->count() + 1) . ".sql.gz"; $obj->usuario_id = Session::get('id'); //Inicio transacción ActiveRecord::beginTrans(); if (!$obj->create()) { ActiveRecord::rollbackTrans(); return FALSE; } if (empty($path)) { $path = APP_PATH . 'temp/backup/'; } if (!is_writable($path)) { ActiveRecord::rollbackTrans(); DwMessage::error('Error: BKP-CRE001. El directorio de las copias de seguridad no tiene permisos de escritura.'); return false; } $file = $path . $obj->archivo; $system = $obj->_getSystem(); $database = empty($databases) ? Config::get('config.application.database') : $database; $config = $obj->_getConfig($database); $exec = "{$system} -h " . $config['host'] . " -u " . $config['username'] . " --password="******" --opt --default-character-set=latin1 " . $config['name'] . " | gzip > {$file}"; system($exec, $resultado); if ($resultado) { ActiveRecord::rollbackTrans(); DwMessage::error('Error: BKP-CRE002. Se ha producido un error al intentar crear una nueva copia de seguridad.'); return false; } $tamano = filesize($file); $clase = array(" Bytes", " KB", " MB", " GB", " TB"); $obj->tamano = round($tamano / pow(1024, $i = floor(log($tamano, 1024))), 2) . $clase[$i]; $obj->update(); @chmod($file, 0744); ActiveRecord::commitTrans(); if ($obj) { DwAudit::debug("Se crea una copia de seguridad bajo la denominación: {$obj->denominacion}"); } return $obj; }
/** * 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 para editar */ public function editar($key) { if (!($id = DwSecurity::isValidKey($key, 'upd_usuario', 'int'))) { return DwRedirect::toAction('listar'); } $usuario = new Usuario(); if (!$usuario->getInformacionUsuario($id)) { DwMessage::get('id_no_found'); return DwRedirect::toAction('listar'); } if (Input::hasPost('usuario')) { // if(DwSecurity::isValidKey(Input::post('usuario_id_key'), 'form_key')) { ActiveRecord::beginTrans(); if (Usuario::setUsuario('update', Input::post('usuario'), array('repassword' => Input::post('repassword'), 'id' => $usuario->id, 'login' => $usuario->login))) { ActiveRecord::commitTrans(); DwMessage::valid('El usuario se ha actualizado correctamente.'); return DwRedirect::toAction('listar'); } else { ActiveRecord::rollbackTrans(); } //} } $this->temas = DwUtils::getFolders(dirname(APP_PATH) . '/public/css/backend/themes/'); $this->usuario = $usuario; $this->page_title = 'Actualizar usuario'; }
/** * Método para cargar las facturas */ public function facturar($key) { if (!($id = DwSecurity::isValidKey($key, 'upd_incidencias', 'int'))) { return DwRedirect::toAction('registro'); } $incidencias = new Incidencias(); $obj = new IncidenciasPatologia(); //$factura = new Factura(); $factura_dt = new FacturaDt(); $this->sol = $obj->getInformacionIncidenciasPatologia($id); if (!$incidencias->getInformacionIncidencias($id)) { DwMessage::get('id_no_found'); return DwRedirect::toAction('registro'); } if (Input::hasPost('factura')) { ActiveRecord::beginTrans(); $factu = Factura::setFactura('create', Input::post('factura')); if ($factu) { if (FacturaDt::setFacturaDt(Input::post('descripcion'), Input::post('cantidad'), Input::post('monto'), Input::post('exento'), $factu->id)) { $solfactura = IncidenciasFactura::setIncidenciasFactura($factu->id, $id); if ($solfactura) { if (Input::post('multifactura')) { //para saber si va a cargar multiples facturas sobre esa solicitud $solser = $incidencias->getInformacionIncidencias($id); $solser->estado_solicitud = "G"; //estado G parcialmente facturada $solser->save(); ActiveRecord::commitTrans(); DwMessage::valid('Se ha cargado la factura exitosamente!'); $key_upd = DwSecurity::getKey($id, 'upd_incidencias'); return DwRedirect::toAction('facturar/' . $key_upd); //retorna a la misma visata de facturacion } else { $solser = $incidencias->getInformacionIncidencias($id); $solser->estado_solicitud = "F"; $solser->save(); ActiveRecord::commitTrans(); DwMessage::valid('Se ha cargado la factura exitosamente!'); return DwRedirect::toAction('facturacion'); } } else { ActiveRecord::rollbackTrans(); DwMessage::error('No se pudo enviar a cargar multiples facturas!'); } } else { ActiveRecord::rollbackTrans(); DwMessage::error('Los detalles de la Factura no se han cargado correctamente Intente de nuevo!'); } } else { ActiveRecord::rollbackTrans(); DwMessage::error('La Factura no se ha cargado con exito!'); } } $this->incidencias = $incidencias; $this->page_title = 'Cargar Facturas a la solicitud'; }
/** * Método para editar */ public function editar($key) { if (!($id = Security::getKey($key, 'edit_menu', 'int'))) { return Redirect::toAction('listar'); } $usuario = new Usuario(); if (!$usuario->getInformacionUsuario($id)) { Flash::error('Lo sentimos, no se ha podido establecer la información del usuario'); return Redirect::toAction('listar'); } if (Input::hasPost('usuario')) { ActiveRecord::beginTrans(); if (Usuario::setUsuario('update', Input::post('usuario'), array('repassword' => Input::post('repassword'), 'id' => $id, 'login' => $usuario->login))) { ActiveRecord::commitTrans(); Flash::valid('El usuario se ha actualizado correctamente.'); return Redirect::toAction("editar/{$key}/"); } else { ActiveRecord::rollbackTrans(); } } $this->temas = DwUtils::getFolders(dirname(APP_PATH) . '/public/css/backend/themes/'); $this->usuario = $usuario; $this->page_title = 'Actualizar usuario'; }