예제 #1
0
파일: flash.php 프로젝트: ocidfigueroa/sice
 /**
  * Setea un mensaje
  *
  * @param string $name Tipo de mensaje y para CSS class='$name'.
  * @param string $msg Mensaje a mostrar
  * @param boolean $audit Indica si el mensaje se almacena como auditoría
  */
 public static function set($name, $msg, $audit = FALSE)
 {
     //Verifico si hay mensajes almacenados en sesión por otro request.
     if (self::hasMessage()) {
         self::$_contentMsj = Session::get('flash_message');
     }
     //Guardo el mensaje en el array
     if (isset($_SERVER['SERVER_SOFTWARE'])) {
         $tmp_id = round(1, 5000);
         self::$_contentMsj[] = '<div id="alert-id-' . $tmp_id . '" class="alert alert-block alert-' . $name . '"><button type="button" class="close" data-dismiss="alert">×</button>' . $msg . '</div>' . PHP_EOL . '<script type="text/javascript">$("#alert-id-' . $tmp_id . '").hide().fadeIn(500).delay(4000).fadeOut(500);</script>';
     } else {
         self::$_contentMsj[] = $name . ': ' . Filter::get($msg, 'striptags') . PHP_EOL;
     }
     //Almaceno los mensajes guardados en una variable de sesión, para mostrar los mensajes provenientes de otro request.
     Session::set('flash_message', self::$_contentMsj);
     //Verifico si el mensaje se almacena como looger
     if ($audit) {
         if ($name == 'success') {
             DwAudit::debug($msg);
         } else {
             if ($name == 'danger') {
                 DwAudit::error($msg);
             } else {
                 DwAudit::$name($msg);
             }
         }
     }
 }
예제 #2
0
 /**
  * Setea un mensaje dw-flash
  *
  * @param string $name Tipo de mensaje y para CSS class='$name'.
  * @param string $msg Mensaje a mostrar
  * @param boolean $audit Indica si el mensaje se almacena como auditoría
  */
 public static function set($name, $msg, $audit = FALSE)
 {
     //Verifico si hay mensajes almacenados en sesión por otro request.
     if (self::has('dw-messages')) {
         self::$_contentMsj = Session::get('dw-messages');
     }
     //Guardo el mensaje en el array
     if (isset($_SERVER['SERVER_SOFTWARE'])) {
         self::$_contentMsj[] = '<div class="alert alert-block alert-' . $name . '"><button type="button" class="close" data-dismiss="alert">×</button>' . $msg . '</div>' . PHP_EOL;
     } else {
         self::$_contentMsj[] = $name . ': ' . Filter::get($msg, 'striptags') . PHP_EOL;
     }
     //Almaceno los mensajes guardados en una variable de sesión, para mostrar los mensajes provenientes de otro request.
     Session::set('dw-messages', self::$_contentMsj);
     //Verifico si el mensaje se almacena como looger
     if ($audit) {
         $name == 'success' ? DwAudit::debug($msg) : DwAudit::$name($msg);
     }
 }
예제 #3
0
 /**
  * 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)) {
         DwMessage::get('id_no_found');
         return FALSE;
     }
     if (empty($path)) {
         $path = APP_PATH . 'temp/backup/';
     }
     $file = $path . $obj->archivo;
     if (!is_file($file)) {
         DwMessage::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) {
             DwAudit::debug("Se ha restaurado el sistema con la copia de seguridad: {$obj->denominacion}");
         }
         return $obj ? $obj : FALSE;
     }
     return FALSE;
 }
예제 #4
0
 /**
  * Callback que se ejecuta desupés de crear un registro
  */
 public function after_create()
 {
     //Obtengo el usuario por la relación definida en el initialize
     $usuario = $this->getUsuario();
     if ($this->estado_usuario == self::COD_ACTIVO) {
         DwAudit::debug("Se activa el acceso al usuario {$usuario->login}. Motivo: {$this->descripcion}");
     } else {
         if ($this->estado_usuario == self::COD_BLOQUEADO) {
             DwAudit::debug("Se bloquea el acceso al sistema al usuario {$usuario->login}. Motivo: {$this->descripcion}");
         }
     }
 }
예제 #5
0
파일: usuario.php 프로젝트: arleincho/bee
 /**
  * Método para crear/modificar un objeto de base de datos
  * 
  * @param string $medthod: create, update
  * @param array $data: Data para autocargar el modelo
  * @param array $otherData: Data adicional para autocargar
  * 
  * @return object ActiveRecord
  */
 public static function setUsuario($method, $data, $optData = null)
 {
     $obj = new Usuario($data);
     if ($optData) {
         $obj->dump_result_self($optData);
     }
     if (!empty($obj->id)) {
         //Si va a actualizar
         $old = new Usuario();
         $old->find_first($obj->id);
         if (!empty($obj->oldpassword)) {
             //Si cambia de claves
             if (empty($obj->password) or empty($obj->repassword)) {
                 Flash::error("Indica la nueva contraseña");
                 return false;
             }
             $obj->oldpassword = sha1($obj->oldpassword);
             if ($obj->oldpassword !== $old->password) {
                 Flash::error("La contraseña anterior no coincide con la registrada. Verifica los datos e intente nuevamente");
                 return false;
             }
         }
     }
     //Verifico si las contraseñas coinciden (password y repassword)
     if (!empty($obj->password) && !empty($obj->repassword) or $method == 'create') {
         if ($method == 'create' && empty($obj->password)) {
             Flash::error("Indica la contraseña para el inicio de sesión");
             return false;
         }
         $obj->password = sha1($obj->password);
         $obj->repassword = sha1($obj->repassword);
         if ($obj->password !== $obj->repassword) {
             Flash::error('Las contraseñas no coinciden. Verifica los datos e intenta nuevamente.');
             return 'cancel';
         }
     } else {
         if (isset($obj->id)) {
             //Mantengo la contraseña anterior
             $obj->password = $old->password;
         }
     }
     $rs = $obj->{$method}();
     if ($rs) {
         $method == 'create' ? DwAudit::debug("Se ha registrado el usuario {$obj->login} en el sistema") : DwAudit::debug("Se ha modificado la información del usuario {$obj->login}");
     }
     return $rs ? $obj : FALSE;
 }
예제 #6
0
 /**
  * Método para crear/modificar un objeto de base de datos
  * 
  * @param string $medthod: create, update
  * @param array $data: Data para autocargar el modelo
  * @param array $otherData: Data adicional para autocargar
  * 
  * @return object ActiveRecord
  */
 public static function setUsuario($method, $data, $optData = null)
 {
     $obj = new Usuario($data);
     if ($optData) {
         $obj->dump_result_self($optData);
     }
     if (!empty($obj->id)) {
         //Si va a actualizar
         $old = new Usuario();
         $old->find_first($obj->id);
     }
     $rs = $obj->{$method}();
     if ($rs) {
         $method == 'create' ? DwAudit::debug("Se ha registrado el usuario {$obj->login} en el sistema") : DwAudit::debug("Se ha modificado la información del usuario {$obj->login}");
     }
     return $rs ? $obj : FALSE;
 }
예제 #7
0
 /**
  * Método para crear/modificar un objeto de base de datos
  * 
  * @param string $medthod: create, update
  * @param array $data: Data para autocargar el modelo
  * @param array $otherData: Data adicional para autocargar
  * 
  * @return object ActiveRecord
  */
 public static function setClave($method, $data, $optData = null)
 {
     $obj = new UsuarioClave($data);
     if ($optData) {
         $obj->dump_result_self($optData);
     }
     if (!empty($obj->id)) {
         //Si va a actualizar
         $old = new UsuarioClave();
         $old->find_first($obj->id);
         if (!empty($obj->oldpassword)) {
             //Si cambia de claves
             if (empty($obj->password) or empty($obj->repassword)) {
                 DwMessage::error("Indica la nueva contraseña");
                 return false;
             }
             $obj->oldpassword = md5(sha1(strtoupper($obj->oldpassword)));
             if ($obj->oldpassword !== $old->password) {
                 DwMessage::error("La contraseña anterior no coincide con la registrada. Verifica los datos e intente nuevamente");
                 return false;
             }
         }
     }
     //Verifico si las contraseñas coinciden (password y repassword)
     if (!empty($obj->password) && !empty($obj->repassword) or $method == 'create') {
         if ($method == 'create' && empty($obj->password)) {
             DwMessage::error("Indica la contraseña para el inicio de sesión");
             return false;
         }
         $obj->password = md5(sha1(strtoupper($obj->password)));
         //$obj->repassword = md5(sha1($obj->repassword)); mientras luego borrar lo de abajo
         $obj->repassword = $obj->password;
         if ($obj->password !== $obj->repassword) {
             DwMessage::error('Las contraseñas no coinciden. Verifica los datos e intenta nuevamente.');
             return 'cancel';
         }
     } else {
         if (isset($obj->id)) {
             //Mantengo la contraseña anterior
             $obj->password = $old->password;
         }
     }
     $obj->fecha_inicio = date('Y-m-d');
     $configseg = new Configuracion();
     $configseg1 = $configseg->getInformacionConfiguracion();
     $nuevafecha = strtotime('+' . $configseg1->dias_caducidad_clave . ' day', strtotime($obj->fecha_inicio));
     $nuevafecha = date('Y-m-j', $nuevafecha);
     $obj->fecha_fin = $nuevafecha;
     //return DwMessage::error('La configuracion es: '.$configseg1->dias_caducidad_clave.' la fecha inicio es: '.$obj->fecha_inicio.' la fecha final es: '.$nuevafecha.'.');
     //$fecha = date('Y-m-j');
     //$nuevafecha = strtotime ( '+2 day' , strtotime ( $fecha ) ) ;
     //$nuevafecha = date ( 'Y-m-j' , $nuevafecha );
     //echo $nuevafecha;
     $rs = $obj->{$method}();
     if ($rs) {
         $method == 'create' ? DwAudit::debug("Se ha registrado el usuario {$obj->usuario_id} en el sistema") : DwAudit::debug("Se ha modificado la información del usuario {$obj->usuario_id}");
     }
     return $rs ? $obj : FALSE;
 }