Ejemplo n.º 1
0
 public function __construct($a = FALSE)
 {
     parent::__construct('articulos', 'plugins/facturacion_base/');
     if (!isset(self::$impuestos)) {
         self::$impuestos = array();
     }
     if (!isset(self::$column_list)) {
         self::$column_list = 'referencia,codfamilia,codfabricante,descripcion,pvp,factualizado,costemedio,' . 'preciocoste,codimpuesto,stockfis,stockmin,stockmax,controlstock,nostock,bloqueado,' . 'secompra,sevende,equivalencia,codbarras,observaciones,imagen,publico,tipo,' . 'codsubcuentacom,codsubcuentairpfcom';
     }
     if ($a) {
         $this->referencia = $a['referencia'];
         $this->tipo = $a['tipo'];
         $this->codfamilia = $a['codfamilia'];
         $this->codfabricante = $a['codfabricante'];
         $this->descripcion = $this->no_html($a['descripcion']);
         $this->pvp = floatval($a['pvp']);
         $this->factualizado = Date('d-m-Y', strtotime($a['factualizado']));
         $this->costemedio = floatval($a['costemedio']);
         $this->preciocoste = floatval($a['preciocoste']);
         $this->codimpuesto = $a['codimpuesto'];
         $this->stockfis = floatval($a['stockfis']);
         $this->stockmin = floatval($a['stockmin']);
         $this->stockmax = floatval($a['stockmax']);
         $this->controlstock = $this->str2bool($a['controlstock']);
         $this->nostock = $this->str2bool($a['nostock']);
         if ($this->nostock) {
             $this->controlstock = TRUE;
         }
         $this->bloqueado = $this->str2bool($a['bloqueado']);
         $this->secompra = $this->str2bool($a['secompra']);
         $this->sevende = $this->str2bool($a['sevende']);
         $this->publico = $this->str2bool($a['publico']);
         $this->equivalencia = $a['equivalencia'];
         $this->codbarras = $a['codbarras'];
         $this->observaciones = $this->no_html($a['observaciones']);
         $this->codsubcuentacom = $a['codsubcuentacom'];
         $this->codsubcuentairpfcom = $a['codsubcuentairpfcom'];
         /// no cargamos la imagen directamente por cuestión de rendimiento
         $this->imagen = NULL;
         $this->has_imagen = isset($a['imagen']);
         $this->exists = TRUE;
     } else {
         $this->referencia = NULL;
         $this->tipo = NULL;
         $this->codfamilia = NULL;
         $this->codfabricante = NULL;
         $this->descripcion = '';
         $this->pvp = 0;
         $this->factualizado = Date('d-m-Y');
         $this->costemedio = 0;
         $this->preciocoste = 0;
         $this->codimpuesto = NULL;
         $this->stockfis = 0;
         $this->stockmin = 0;
         $this->stockmax = 0;
         $this->controlstock = (bool) FS_VENTAS_SIN_STOCK;
         $this->nostock = FALSE;
         $this->bloqueado = FALSE;
         $this->secompra = TRUE;
         $this->sevende = TRUE;
         $this->publico = FALSE;
         $this->equivalencia = NULL;
         $this->codbarras = '';
         $this->observaciones = '';
         $this->codsubcuentacom = NULL;
         $this->codsubcuentairpfcom = NULL;
         $this->imagen = NULL;
         $this->has_imagen = FALSE;
         $this->exists = FALSE;
     }
     $this->pvp_ant = 0;
     $this->iva = NULL;
 }
Ejemplo n.º 2
0
 public function __construct($a = FALSE)
 {
     parent::__construct('articulos', 'plugins/facturacion_base/');
     if (!isset(self::$impuestos)) {
         self::$impuestos = array();
     }
     if (!isset(self::$column_list)) {
         self::$column_list = 'referencia,codfamilia,codfabricante,descripcion,pvp,factualizado,costemedio,' . 'preciocoste,codimpuesto,stockfis,stockmin,stockmax,controlstock,nostock,bloqueado,' . 'secompra,sevende,equivalencia,codbarras,observaciones,imagen,publico,tipo,' . 'codsubcuentacom,codsubcuentairpfcom';
     }
     if ($a) {
         $this->referencia = $a['referencia'];
         $this->tipo = $a['tipo'];
         $this->codfamilia = $a['codfamilia'];
         $this->codfabricante = $a['codfabricante'];
         $this->descripcion = $this->no_html($a['descripcion']);
         $this->pvp = floatval($a['pvp']);
         $this->factualizado = Date('d-m-Y', strtotime($a['factualizado']));
         $this->costemedio = floatval($a['costemedio']);
         $this->preciocoste = floatval($a['preciocoste']);
         $this->codimpuesto = $a['codimpuesto'];
         $this->stockfis = floatval($a['stockfis']);
         $this->stockmin = floatval($a['stockmin']);
         $this->stockmax = floatval($a['stockmax']);
         $this->controlstock = $this->str2bool($a['controlstock']);
         $this->nostock = $this->str2bool($a['nostock']);
         if ($this->nostock) {
             $this->controlstock = TRUE;
         }
         $this->bloqueado = $this->str2bool($a['bloqueado']);
         $this->secompra = $this->str2bool($a['secompra']);
         $this->sevende = $this->str2bool($a['sevende']);
         $this->publico = $this->str2bool($a['publico']);
         $this->equivalencia = $a['equivalencia'];
         $this->codbarras = $a['codbarras'];
         $this->observaciones = $this->no_html($a['observaciones']);
         $this->codsubcuentacom = $a['codsubcuentacom'];
         $this->codsubcuentairpfcom = $a['codsubcuentairpfcom'];
         $this->imagen = NULL;
         if (isset($a['imagen'])) {
             /**
              * En versiones anteriores se guardaba la imagen en la tabla y en
              * tmp/articulos, ahora se guarda en images/articulos, así que hay
              * que moverlas.
              * 
              * Pero eneboo las guarda de otra forma, así que hay que discriminar.
              * RK@ => Eneboo
              */
             if (!file_exists('images/articulos')) {
                 if (!mkdir('images/articulos', 0777, TRUE)) {
                     $this->new_error_msg('Error al crear la carpeta images/articulos.');
                 }
             }
             if (substr($a['imagen'], 0, 3) == 'RK@' or $a['imagen'] == '') {
                 /// eneboo, no hacemos nada
                 $this->imagen = $a['imagen'];
             } else {
                 if (file_exists('tmp/articulos/' . $this->referencia . '.png')) {
                     /// si está el archivo, lo movemos
                     if (!rename('tmp/articulos/' . $this->referencia . '.png', 'images/articulos/' . $this->referencia . '-1.png')) {
                         $this->new_error_msg('Error al mover la imagen del artículo.');
                     }
                 } else {
                     /// sino está el archivo, intentamos extraer los datos de la base de datos
                     $f = @fopen('images/articulos/' . $this->referencia . '-1.png', 'a');
                     if ($f) {
                         fwrite($f, $this->str2bin($a['imagen']));
                         fclose($f);
                     } else {
                         $this->new_error_msg('Error al extraer la imagen del artículo.');
                     }
                 }
             }
         }
         $this->exists = TRUE;
     } else {
         $this->referencia = NULL;
         $this->tipo = NULL;
         $this->codfamilia = NULL;
         $this->codfabricante = NULL;
         $this->descripcion = '';
         $this->pvp = 0;
         $this->factualizado = Date('d-m-Y');
         $this->costemedio = 0;
         $this->preciocoste = 0;
         $this->codimpuesto = NULL;
         $this->stockfis = 0;
         $this->stockmin = 0;
         $this->stockmax = 0;
         $this->controlstock = (bool) FS_VENTAS_SIN_STOCK;
         $this->nostock = FALSE;
         $this->bloqueado = FALSE;
         $this->secompra = TRUE;
         $this->sevende = TRUE;
         $this->publico = FALSE;
         $this->equivalencia = NULL;
         $this->codbarras = '';
         $this->observaciones = '';
         $this->codsubcuentacom = NULL;
         $this->codsubcuentairpfcom = NULL;
         $this->imagen = NULL;
         $this->exists = FALSE;
     }
     $this->pvp_ant = 0;
     $this->iva = NULL;
 }