file($f['tmp_name']); $allowed=['image/png'=>'png','image/jpeg'=>'jpg','image/webp'=>'webp']; if(!isset($allowed[$mime])) throw new RuntimeException("Formato no permitido."); if($f['size']>5*1024*1024) throw new RuntimeException("Máximo 5MB."); $ext=$allowed[$mime]; $base=sanitize_filename(pathinfo($f['name'],PATHINFO_FILENAME)); $name=$base.'-'.uniqid().'.'.$ext; $dest=rtrim($UPLOAD_DIR,'/\\').DIRECTORY_SEPARATOR.$name; if(!move_uploaded_file($f['tmp_name'],$dest)) throw new RuntimeException("No se pudo guardar $field."); return rtrim($PUBLIC_DIR,'/') . '/' . $name; } function upload_or_keep($name,$old,$UPLOAD_DIR,$PUBLIC_DIR){ try{ $v=upload_image($name,$UPLOAD_DIR,$PUBLIC_DIR); return $v?:($old?:null); } catch(Throwable $e){ return $old?:null; } } $msg=$err=''; $action=$_GET['action']??''; $rasca_id=(int)($_GET['rasca_id']??0); if($_SERVER['REQUEST_METHOD']==='POST'){ $rid=(int)($_POST['rasca_id']??0); $nombre=trim($_POST['nombre']??''); $olds=[ 'banner_1'=>$_POST['old_banner_1']??'','banner_2'=>$_POST['old_banner_2']??'', 'banner_3'=>$_POST['old_banner_3']??'','banner_4'=>$_POST['old_banner_4']??'', 'background_image'=>$_POST['old_background_image']??'','fullscreen_icon'=>$_POST['old_fullscreen_icon']??'', 'fg_image'=>$_POST['old_fg_image']??'','bg_image'=>$_POST['old_bg_image']??'', ]; if($rid<=0 || $nombre===''){ $err='Indica rasca_id y nombre.'; } else{ try{ $new=[ 'banner_1'=>upload_or_keep('banner_1',$olds['banner_1'],$UPLOAD_DIR,$PUBLIC_DIR), 'banner_2'=>upload_or_keep('banner_2',$olds['banner_2'],$UPLOAD_DIR,$PUBLIC_DIR), 'banner_3'=>upload_or_keep('banner_3',$olds['banner_3'],$UPLOAD_DIR,$PUBLIC_DIR), 'banner_4'=>upload_or_keep('banner_4',$olds['banner_4'],$UPLOAD_DIR,$PUBLIC_DIR), 'background_image'=>upload_or_keep('background_image',$olds['background_image'],$UPLOAD_DIR,$PUBLIC_DIR), 'fullscreen_icon'=>upload_or_keep('fullscreen_icon',$olds['fullscreen_icon'],$UPLOAD_DIR,$PUBLIC_DIR), 'fg_image'=>upload_or_keep('fg_image',$olds['fg_image'],$UPLOAD_DIR,$PUBLIC_DIR), 'bg_image'=>upload_or_keep('bg_image',$olds['bg_image'],$UPLOAD_DIR,$PUBLIC_DIR), ]; $sql="INSERT INTO rasca_config (rasca_id,nombre,banner_1,banner_2,banner_3,banner_4,background_image,fullscreen_icon,fg_image,bg_image) VALUES (?,?,?,?,?,?,?,?,?,?) ON DUPLICATE KEY UPDATE nombre=VALUES(nombre), banner_1=VALUES(banner_1), banner_2=VALUES(banner_2), banner_3=VALUES(banner_3), banner_4=VALUES(banner_4), background_image=VALUES(background_image), fullscreen_icon=VALUES(fullscreen_icon), fg_image=VALUES(fg_image), bg_image=VALUES(bg_image)"; $st=$conn->prepare($sql); $st->bind_param("isssssssss",$rid,$nombre,$new['banner_1'],$new['banner_2'],$new['banner_3'],$new['banner_4'],$new['background_image'],$new['fullscreen_icon'],$new['fg_image'],$new['bg_image']); $st->execute(); $msg='Configuración guardada.'; $rasca_id=$rid; }catch(Throwable $e){ $err=$e->getMessage(); } } } if($action==='delete' && $rasca_id>0){ $st=$conn->prepare("DELETE FROM rasca_config WHERE rasca_id=?"); $st->bind_param("i",$rasca_id); $st->execute(); $msg='Configuración eliminada.'; $rasca_id=0; } $edit=null; if($action==='edit' && $rasca_id>0){ $st=$conn->prepare("SELECT * FROM rasca_config WHERE rasca_id=?"); $st->bind_param("i",$rasca_id); $st->execute(); $edit=$st->get_result()->fetch_assoc(); } $list=$conn->query("SELECT * FROM rasca_config ORDER BY rasca_id ASC"); ?>
| Rasca ID | Nombre | B1 | B2 | B3 | B4 | BG | FS | FG | Base | Acciones |
|---|---|---|---|---|---|---|---|---|---|---|
| = (int)$r['rasca_id'] ?> | = htmlspecialchars($r['nombre']) ?> | = $r['banner_1']?' |
= $r['banner_2']?' |
= $r['banner_3']?' |
= $r['banner_4']?' |
= $r['background_image']?' |
= $r['fullscreen_icon']?' |
= $r['fg_image']?' |
= $r['bg_image']?' |
Editar Eliminar Ver |