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; }
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; }