|
Server : Apache/2.4.62 System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64 User : www ( 80) PHP Version : 8.3.8 Disable Function : NONE Directory : /domains/logicswapweb/aplicaciones/admon/catalogo/fnc/ |
Upload File : |
<?php
class Producto
{
var $catalogo;
function Producto($catalg)
{
$this->catalogo = $catalg;
$this->catalogo->Aplicacion();
}
function captureUpload($destDir,$nameCallback = false,$fieldName = '_upload',$maxFileSize = false){
//make sure something is there
if(!isset($_FILES[$fieldName]) || !isset($_FILES)|| !is_array($_FILES[$fieldName]) || !$_FILES[$fieldName]['name'])
return array(false,"El formulario no tiene la etiqueta enctype=\"multipart/form-data\"");
//normalize the file variable
$file = $_FILES[$fieldName];
if (!isset($file['type'])) $file['type'] = '';
if (!isset($file['size'])) $file['size'] = '';
if (!isset($file['tmp_name'])) $file['tmp_name'] = '';
$file['name'] = preg_replace('/[^a-zA-Z0-9\.\$\%\'\`\-\@\{\}\~\!\#\(\)\&\_\^]/','',str_replace(array(' ','%20'),array('_','_'),$file['name']));
//was it to big?
if($maxFileSize && ($file['size'] > $maxFileSize))
return array(false,"El tama�o del archivo es muy grande");
//normalize destDir
if(strlen($destDir)>0 && $destDir[strlen($destDir)-1] != "/")
$destDir = $destDir.'/';
//should we change the filename via a callback?
if($nameCallback)
$file['name'] = call_user_func_array($nameCallback, array($file,$destDir));
$i = 0;
//if the filename already exists, append _copy_x (with extension)
if(strpos($file['name'],'.') !== false){
$bits = explode('.',$file['name']);
$ext = array_pop($bits);
while(file_exists($destDir.implode('.', $bits).($i?'_copy_'.$i:'').'.'.$ext)){
++$i;
$file['name'] = implode('.',$bits).($i?'_copy_'.$i:'').'.'.$ext;
}
//if the filename already exists, append _copy_x (no extension)
} else {
while(file_exists($destDir.$file['name'].($i ?'_copy_'.$i:''))){
++$i;
$file['name'] = $file['name'].($i?'_copy_'.$i:'');
}
}
//and now the big moment
if(!@copy($file['tmp_name'], $destDir.$file['name']))
return array(false,"Permission denied to copy the file");
else
return array(true,$file['name']);
}
/* modificar imagen*/
function mod_imagen($titulo,$img_pri,$img_sec,$id_img,$id_pro,$name_producto,$nivel,$id,$name_categoria,$ids,$name_subcategoria,$idss,$name_subcategorias,$ancho,$alto){
$this->catalogo->setFiles(4);
$this->catalogo->reactivarDB();
$sql = "SELECT id FROM catalogo_imagen WHERE producto='$id_pro' AND titulo='$titulo' AND id!='$id_img' AND tipo!='principal'";
$this->catalogo->execute($sql);
$cant=$this->catalogo->numRows();
if($cant==0){
$sql="SELECT tipo,fichero FROM catalogo_imagen WHERE id='$id_img'";
if($this->catalogo->execute($sql)){
list($id_pri,$file)=$this->catalogo->fetchRow();
}else{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[016]","error"));
return true;
}
$response;
$rutafoto ="../archivos/".$file;
if (file_exists($rutafoto)){
if(!unlink($rutafoto)){
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[200]","error"));
}
list($success,$response) = $this->captureUpload('../archivos/',false,'img_sec');
if(!$success){
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[202]","error"));
}else{
$proporcion=$ancho/$alto;
$ancho_sec=314;
$alto_sec=$ancho_sec/$proporcion;
$sql="update catalogo_imagen set titulo='$titulo',fichero='$response',ancho='$ancho_sec',alto='$alto_sec' where id='$id_img'";
$this->catalogo->execute($sql);
}
}else{
list($success,$response) = $this->captureUpload('../archivos/',false,'img_sec');
if(!$success){
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[200]","error"));
}else{
$proporcion=$ancho/$alto;
$ancho_sec=314;
$alto_sec=$ancho_sec/$proporcion;
$sql="update catalogo_imagen set titulo='$titulo',fichero='$response',ancho='$ancho_sec',alto='$alto_sec' where id='$id_img'";
$this->catalogo->execute($sql);
}
}
//$this->catalogo->mostrarMensaje("elimino imagen 1");
////////////////////////////////////////////////////////////////////////////////////////
$sql="SELECT fichero FROM catalogo_imagen WHERE id='$id_pri'";
if($this->catalogo->execute($sql)){
list($file)=$this->catalogo->fetchRow();
}else{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[016]","error"));
return true;
}
$rutafoto ="../archivos/".$file;
if (file_exists($rutafoto)){
if(!unlink($rutafoto)){
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[200]","error")); }
list($success,$response) = $this->captureUpload('../archivos/',false,'img_pri');
if(!$success){
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[202]","error"));
}else{
$sql="update catalogo_imagen set titulo='$titulo',fichero='$response',ancho='$ancho',alto='$alto' where id='$id_pri'";
}
}else{
list($success,$response) = $this->captureUpload('../archivos/',false,'img_pri');
if(!$success){
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[202]","error"));
}else{
$sql="update catalogo_imagen set titulo='$titulo',fichero='$response',ancho='$ancho',alto='$alto' where id='$id_pri'";
}
}
if($this->catalogo->execute($sql)){
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[260]","confirmacion"));
}else{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[016]","error"));
}
}else{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[259]","confirmacion"));
return false;
}
return true;
}
function mod_imagenCategoria($titulo,$img_pri,$img_sec,$id_img,$id_pro,$name_producto,$nivel,$id,$name_categoria,$ids,$name_subcategoria,$idss,$name_subcategorias,$ancho,$alto){
$id_pro = 0;
if($nivel == 0)
{
$id_pro = $id;
}
if($nivel == 1)
{
$id_pro = $ids;
}
if($nivel == 2)
{
$id_pro = $idss;
}
$this->catalogo->setFiles(4);
$this->catalogo->reactivarDB();
$cant=0;
$sql = "SELECT id FROM catalogo_imagen WHERE producto='$id_pro' AND titulo='$titulo' AND id!='$id_img'";
if($this->catalogo->execute($sql))
{
$cant=$this->catalogo->numRows();
}
if($cant==1)
{
$sql="SELECT tipo,fichero FROM catalogo_imagen WHERE id='$id_img'";
if($this->catalogo->execute($sql))
{
list($id_pri,$file)=$this->catalogo->fetchRow();
}else
{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[016]","error"));
return true;
}
$response;
$rutafoto ="../archivos/".$file;
if (file_exists($rutafoto))
{
if(!unlink($rutafoto))
{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[200]","error"));
}
list($success,$response) = $this->captureUpload('../archivos/',false,'img_sec');
if(!$success)
{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[202]","error"));
}else
{
$proporcion=$ancho/$alto;
$ancho_sec=314;
$alto_sec=$ancho_sec/$proporcion;
$sql="update catalogo_imagen set titulo='$titulo',fichero='$response',ancho='$ancho_sec',alto='$alto_sec' where id='$id_img'";
$this->catalogo->execute($sql);
}
}else
{
list($success,$response) = $this->captureUpload('../archivos/',false,'img_sec');
if(!$success)
{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[200]","error"));
}else
{
$proporcion=$ancho/$alto;
$ancho_sec=314;
$alto_sec=$ancho_sec/$proporcion;
$sql="update catalogo_imagen set titulo='$titulo',fichero='$response',ancho='$ancho_sec',alto='$alto_sec' where id='$id_img'";
$this->catalogo->execute($sql);
}
}
////////////////////////////////////////////////////////////////////////////////////////
$sql="SELECT id, fichero FROM catalogo_imagen WHERE producto='$id_pro' AND titulo='$titulo' and tipo!='categoria-princ'";
if($this->catalogo->execute($sql))
{
list($id_img, $file)=$this->catalogo->fetchRow();
}else
{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[016]","error"));
return true;
}
$rutafoto ="../archivos/".$file;
if (file_exists($rutafoto))
{
if(!unlink($rutafoto))
{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[200]","error"));
}
list($success,$response) = $this->captureUpload('../archivos/',false,'img_pri');
if(!$success)
{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[202]","error"));
}else
{
$sql="update catalogo_imagen set titulo='$titulo',fichero='$response',ancho='$ancho',alto='$alto' where id='$id_img'";
}
}else
{
list($success,$response) = $this->captureUpload('../archivos/',false,'img_pri');
if(!$success)
{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[202]","error"));
}else
{
$sql="update catalogo_imagen set titulo='$titulo',fichero='$response',ancho='$ancho',alto='$alto' where id='$id_img'";
}
}
if($this->catalogo->execute($sql))
{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[260]","confirmacion"));
}else
{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[016]","error"));
}
}else
{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[259]","confirmacion"));
return false;
}
return true;
}
/* eliminar imagen*/
function eli_imagen($id_img,$id_pro,$nivel,$id,$name_categoria,$ids,$name_subcategoria,$idss,$name_subcategorias, $tipo_catalogo=2){
$this->catalogo->setFiles(4);
$this->catalogo->reactivarDB();
$sql="select id,fichero FROM catalogo_imagen where id='$id_img'";
if($this->catalogo->execute($sql)){
list($id_pri,$fichero)=$this->catalogo->fetchRow();
}else{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[016]","error"));
}
$rutafoto="../archivos/".$fichero;
if (file_exists($rutafoto)){
if(!unlink($rutafoto)){
$this->catalogo->mostrarMensaje(($this->catalogo->getMensaje("[200]","error"))." $rutafoto");
}else{
$sql="delete FROM catalogo_imagen where id = '$id_img'";
if($this->catalogo->execute($sql)){
$msg="Imagen principal eliminada con �xito!";
}else{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[016]","error"));
}
}
}else{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[207]","error"));
$sql="delete FROM catalogo_imagen where id = '$id_img'";
if($this->catalogo->execute($sql)){
$msg="Imagen principal eliminada con �xito!";
}else{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[016]","error"));
}
}
///////////////////////////////////////////////////////////////////////////////////////
$sql="select fichero FROM catalogo_imagen where tipo='$id_pri'";
if($this->catalogo->execute($sql)){
list($fichero)=$this->catalogo->fetchRow();
}else{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[016]","error"));
return false;
}
$rutafoto="../archivos/".$fichero;
if (file_exists($rutafoto)){
if(!unlink($rutafoto)){
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[200]","error"));
}else{
$sql="delete FROM catalogo_imagen where tipo = '$id_pri'";
if($this->catalogo->execute($sql)){
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[261]","confirmacion"));
}else{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[016]","error"));
}
}
}else{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[207]","error"));
}
}
/* agregar imagen*/
function add_imagen($titulo,$img_pri,$img_sec,$id_img,$id_pro,$nivel,$id,$name_categoria,$ids,$name_subcategoria,$idss,$name_subcategorias,$ancho,$alto){
$this->catalogo->setFiles(4);
$this->catalogo->reactivarDB();
$sql = "SELECT id FROM catalogo_imagen WHERE producto='$id_pro' AND titulo='$titulo' AND tipo='principal'";
$this->catalogo->execute($sql);
$cant=$this->catalogo->numRows();
if($cant==0){
$response;
list($success,$response) = $this->captureUpload('../archivos/',false,'img_pri');
if(!$success){
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[202]","error"));
}else{
$sql="insert into catalogo_imagen (producto, tipo, titulo, fichero,ancho,alto) values ('$id_pro','principal','$titulo','$response','$ancho','$alto')";
if($this->catalogo->execute($sql)){
$id_pri=mysql_insert_id();
}else{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[016]","error"));
}
}
list($success,$response) = $this->captureUpload('../archivos/',false,'img_sec');
if(!$success){
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[202]","error"));
}else{
$proporcion=$ancho/$alto;
$ancho_sec=314;
$alto_sec=$ancho_sec/$proporcion;
$sql="insert into catalogo_imagen (producto, tipo, titulo, fichero,ancho,alto) values ('$id_pro','$id_pri','$titulo','$response','$ancho_sec','$alto_sec')";
if($this->catalogo->execute($sql)){
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[258]","confirmacion"));
}else{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[016]","error"));
}
}
}else{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[259]","confirmacion"));
return false;
}
return true;
}
/* agregar imagen*/
function add_imagen_chiste($titulo,$img_pri,$img_sec,$id_img,$id_pro,$nivel,$id,$name_categoria,$ids,$name_subcategoria,$idss,$name_subcategorias,$ancho,$alto){
$this->catalogo->setFiles(4);
$this->catalogo->reactivarDB();
$cant=0;
if($cant==0){
$response;
list($success,$response) = $this->captureUpload('../archivos/',false,'img_pri');
if($success == false){
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[202]","error"));
}else{
$sql="insert into catalogo_imagen (producto, tipo, titulo, fichero,ancho,alto) values ('$id_pro','principal','$titulo','$response','$ancho','$alto')";
if($this->catalogo->execute($sql)){
$id_pri=mysql_insert_id();
}else{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[016]","error"));
}
}
}
return true;
/*echo "<script>window.open(\"../mod_producto.php?nivel=$nivel&id_pro=$id_pro&id=$id&name_categoria=$name_categoria&ids=$ids&name_subcategoria=$name_subcategoria&idss=$idss&name_subcategorias=$name_subcategorias\",\"contenido\");</script>";*/
}
/* agregar campo*/
function add_campo($titulo,$contenido,$id_pro,$nivel,$id,$name_categoria,$ids,$name_subcategoria,$idss,$name_subcategorias){
$this->catalogo->setFiles(4);
$this->catalogo->reactivarDB();
$sql = "SELECT id from catalogo_campo WHERE producto='$id_pro' AND titulo='$titulo'";
$this->catalogo->execute($sql);
$cant=$this->catalogo->numRows();
if($cant==0){
$contenido = $this->catalogo->utileria->parseInput2DB($contenido);
$sql="insert into catalogo_campo (producto,titulo,contenido) values ('$id_pro','$titulo','".$this->catalogo->utileria->parseInput2DB($contenido)."')";
if($this->catalogo->execute($sql)){
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[262]","confirmacion"));
}else{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[016]","error"));
}
}else{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[263]","confirmacion"));
return false;
}
return true;
}
/* modificar campo*/
function mod_campo($titulo,$contenido,$id_pro,$id_cam,$nivel,$id,$name_categoria,$ids,$name_subcategoria,$idss,$name_subcategorias){
$this->catalogo->setFiles(4);
$this->catalogo->reactivarDB();
$sql = "SELECT id from catalogo_campo WHERE producto='$id_pro' AND titulo='$titulo' AND id!='$id_cam'";
$this->catalogo->execute($sql);
$cant=$this->catalogo->numRows();
if($cant==0){
$contenido = $this->catalogo->utileria->parseInput2DB($contenido);
$sql="update catalogo_campo set titulo='$titulo', contenido='$contenido' where id='$id_cam'";
if($this->catalogo->execute($sql)){
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[264]","confirmacion"));
}else{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[016]","error"));
}
}else{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[263]","error"));
return false;
}
return true;
}
/* eliminar campo*/
function eli_campo($id_cam,$id_pro,$nivel,$id,$name_categoria,$ids,$name_subcategoria,$idss,$name_subcategorias){
$this->catalogo->setFiles(4);
$this->catalogo->reactivarDB();
$sql="delete from catalogo_campo where id = '$id_cam'";
if($this->catalogo->execute($sql)){
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[265]","confirmacion"));
}else{
$this->catalogo->mostrarMensaje($this->catalogo->getMensaje("[016]","error"));
}
}
}
?>