Viewing file: administrar-fotos-fotogaleria-noticia.php (19.71 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<? $pagina_actual="administrar-noticias"; $categoria_actual="noticias"; require_once("includes/config.php"); require_once("includes/funciones.php");
$id=cadena_segura($_GET["id"],11);
$_SESSION["ultima_noticia"]=url_completa(); $_SESSION["id_ultima_noticia"]=$id;
$result=$mysqli->query(" SELECT titulo, ultimo_momento FROM noticia WHERE id='$id' "); $producto = mysqli_fetch_assoc($result);
$fotos=$mysqli->query(" SELECT nombre, id FROM foto_fotogaleria_noticia WHERE id_noticia='$id' ORDER BY orden ");
?><!DOCTYPE html> <html lang="en">
<head>
<meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content="">
<title>Panel administrador</title> <? include('includes/tipografias.php');?>
<!-- Bootstrap Core CSS --> <link href="bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- MetisMenu CSS --> <link href="bower_components/metisMenu/dist/metisMenu.min.css" rel="stylesheet">
<!-- Custom CSS --> <link href="dist/css/sb-admin-2.css" rel="stylesheet"> <link href="css/croppic.css" rel="stylesheet" type="text/css"> <link href="css/cds.css" rel="stylesheet" type="text/css">
<!-- Custom Fonts --> <link href="bower_components/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]-->
<!-- Generic page styles --> <? /*<link rel="stylesheet" href="subir_multiple/css/style.css">*/?> <!-- blueimp Gallery styles --> <link rel="stylesheet" href="//blueimp.github.io/Gallery/css/blueimp-gallery.min.css"> <!-- CSS to style the file input field as button and adjust the Bootstrap progress bars --> <link rel="stylesheet" href="subir_multiple/css/jquery.fileupload.css"> <link rel="stylesheet" href="subir_multiple/css/jquery.fileupload-ui.css"> <!-- CSS adjustments for browsers with JavaScript disabled --> <noscript><link rel="stylesheet" href="subir_multiple/css/jquery.fileupload-noscript.css"></noscript> <noscript><link rel="stylesheet" href="subir_multiple/css/jquery.fileupload-ui-noscript.css"></noscript> <style> #cropContainerMinimal{ width:<?=$ancho_noticias_galeria_thumb?>px; height:<?=$alto_noticias_galeria_thumb?>px; } .lista_productos li{ width:<?=$ancho_noticias_galeria_thumb+20?>px; height:<?=$alto_noticias_galeria_thumb+20?>px; } </style>
</head>
<body>
<div id="wrapper">
<!-- Navigation --> <? require('includes/nav.php');?>
<div id="page-wrapper"> <div class="row"> <div class="col-lg-12"> <h1 class="page-header"><?=capitalizar($categoria_actual)?></h1> </div> <!-- /.col-lg-12 --> </div> <div class="row"> <div class="col-lg-12">
<div class="panel panel-default"> <div class="panel-heading"> Fotos de <?=utf8_encode($producto["titulo"])?> </div> <!-- /.panel-heading --> <? $order=array(); if ($fotos->num_rows>0){?> <div class="panel-body"> <div class="alert alert-success alert-dismissable"> <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> Arrastre las fotos para ordenarlas. </div> <ul class="lista_productos" id="sortable-list"> <? while ($item = mysqli_fetch_assoc($fotos)){ $order[] = $item['id']; ?> <li title="<?=$item["id"]?>"> <a href="#popup-eliminar-<?=$item['id']?>" data-toggle="modal" class="eliminar" title="eliminar">x</a> <img src='<?=$carpeta_noticias_galeria_thumb.$item["nombre"]?>' alt=''/> </li> <? }?> </ul> <div class="clearfix"></div> <br> <a href="administrar-noticias.php" class="btn btn-danger col-md-4 col-md-offset-4">Finalizar carga de fotos</a> <? //modales eliminar $fotos->data_seek(0); while ($item = mysqli_fetch_assoc($fotos)){ ?> <div class="modal fade" id="popup-eliminar-<?=$item['id']?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <form method="post" action="eliminar-foto-galeria-noticia.php" class="form-horizontal bootstrap-validator-form" data-async data-target="#popup-eliminar-<?=$item['id']?>"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title">Eliminar</h4> </div> <div class="modal-body"> <div class="the-box"> <fieldset> <legend>¿Está seguro ?</legend> <input type="hidden" name="id" value="<?=$item["id"]?>" /> <input type="hidden" name="id_producto" value="<?=$id?>" /> </fieldset> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button> <button class="btn btn-primary" type="submit">Eliminar</button> </div> </form> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div> <? } //fin modales eliminar?> </div> <? }?> <!-- /.panel-body --> </div> <!-- /.panel --> <form id="dd-form" action="" method="post"> <input type="hidden" name="sort_order" id="sort_order" value="<?php echo implode(',',$order); ?>" /> </form> <? //if ($fotos->num_rows==0){?> <div class="panel panel-default hidden"> <div class="panel-heading"> Agregar nueva foto </div> <div class="panel-body" > <div id="cropContainerMinimal"></div> </div> </div> <? //}?> <? #/*?> <div class="panel panel-default"> <div class="panel-heading"> Carga múltiple </div> <div class="panel-body" >
<form id="fileupload" action="subir_multiple/server/php/index_galeria_noticia.php" method="POST" enctype="multipart/form-data"> <!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload --> <div class="row fileupload-buttonbar"> <div class="col-lg-7"> <!-- The fileinput-button span is used to style the file input field as button --> <span class="btn btn-success fileinput-button"> <i class="glyphicon glyphicon-plus"></i> <span>Agregar fotos...</span> <input type="file" name="files[]" multiple> </span> <button type="submit" class="btn btn-primary start"> <i class="glyphicon glyphicon-upload"></i> <span>Comenzar a subir</span> </button> <button type="reset" class="btn btn-warning cancel"> <i class="glyphicon glyphicon-ban-circle"></i> <span>Cancelar</span> </button>
<!-- The global file processing state --> <span class="fileupload-process"></span> </div> <!-- The global progress state --> <div class="col-lg-5 fileupload-progress fade"> <!-- The global progress bar --> <div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100"> <div class="progress-bar progress-bar-success" style="width:0%;"></div> </div> <!-- The extended global progress state --> <div class="progress-extended"> </div> </div> </div> <!-- The table listing the files available for upload/download --> <table role="presentation" class="table table-striped"><tbody class="files"></tbody></table> </form> </div> <br> <a href="<?=url_completa()?>" class="btn btn-danger col-md-4 col-md-offset-4">Actualizar vista</a> </div> <? #*/ ?>
</div> <!-- /.col-lg-12 --> </div> <!-- /.row --> </div> <!-- /#page-wrapper -->
</div> <!-- /#wrapper -->
<!-- jQuery --> <script src="bower_components/jquery/dist/jquery.min.js"></script> <script src="js/jquery-ui-1.9.2.custom.min.js"></script>
<!-- Bootstrap Core JavaScript --> <script src="bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Metis Menu Plugin JavaScript --> <script src="bower_components/metisMenu/dist/metisMenu.min.js"></script>
<!-- Custom Theme JavaScript --> <script src="dist/js/sb-admin-2.js"></script> <script> // Fill modal with content from link href $("#modal-acciones").on("show.bs.modal", function(e) { var link = $(e.relatedTarget); $(this).find(".modal-content").load(link.attr("href")); }); </script> <script type="text/javascript"> /* when the DOM is ready */ jQuery(document).ready(function() { /* grab important elements */ var sortInput = jQuery('#sort_order'); var submit = jQuery('#autoSubmit'); var messageBox = jQuery('#message-box'); var list = jQuery('#sortable-list'); /* create requesting function to avoid duplicate code */ var request = function() { jQuery.ajax({ beforeSend: function() { messageBox.text('Actualizando cambios...'); }, complete: function() { messageBox.html('Cambios guardados con exito.'); }, data: 'sort_order=' + sortInput.val() + '&ajax=' + 1 + '&do_submit=1&byajax=1'+'&tabla=foto_fotogaleria_noticia', //need [0]? type: 'post', url: 'guardar_orden.php' }); }; /* worker function */ var fnSubmit = function(save) { var sortOrder = []; list.children('li').each(function(){ sortOrder.push(jQuery(this).data('id')); }); sortInput.val(sortOrder.join(',')); console.log(sortInput.val()); if(save) { request(); } }; /* store values */ list.children('li').each(function() { var li = jQuery(this); li.data('id',li.attr('title')).attr('title',''); }); /* sortables */ list.sortable({ opacity: 0.7, update: function() { fnSubmit(1);//(submit[0].checked); } }); list.disableSelection(); /* ajax form submission */ jQuery('#dd-form').bind('submit',function(e) { if(e) e.preventDefault(); fnSubmit(true); }); }); </script> <script src="js/croppic.min.js"></script> <script> var croppicContaineroutputMinimal = { uploadUrl:'img_save_to_file.php', cropUrl:'img_crop_to_file_galeria_noticia.php?id=<?=$id?>', modal:false, doubleZoomControls:false, rotateControls: false, onAfterImgCrop:function(){ location.reload(); }, loaderHtml:'<div class="loader bubblingG"><span id="bubblingG_1"></span><span id="bubblingG_2"></span><span id="bubblingG_3"></span></div> ' } var cropContaineroutput = new Croppic('cropContainerMinimal', croppicContaineroutputMinimal); </script>
<script id="template-upload" type="text/x-tmpl"> {% for (var i=0, file; file=o.files[i]; i++) { %} <tr class="template-upload fade"> <td> <span class="preview"></span> </td> <td> <p class="name">{%=file.name%}</p> <strong class="error text-danger"></strong> </td> <td> <p class="size">Procesando...</p> <div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="progress-bar progress-bar-success" style="width:0%;"></div></div> </td> <td> {% if (!i && !o.options.autoUpload) { %} <button class="btn btn-primary start" disabled> <i class="glyphicon glyphicon-upload"></i> <span>Subir</span> </button> {% } %} {% if (!i) { %} <button class="btn btn-warning cancel"> <i class="glyphicon glyphicon-ban-circle"></i> <span>Cancelar</span> </button> {% } %} </td> </tr> {% } %} </script> <!-- The template to display files available for download --> <script id="template-download" type="text/x-tmpl"> {% for (var i=0, file; file=o.files[i]; i++) { %} <tr class="template-download fade"> <td> <span class="preview"> {% if (file.thumbnailUrl) { %} <a href="#" title="{%=file.name%}" download="{%=file.name%}" data-gallery><img src="{%=file.thumbnailUrl%}"></a> {% } %} </span> </td> <td> <p class="name"> {% if (file.url) { %} <a href="#" title="{%=file.name%}" download="{%=file.name%}" {%=file.thumbnailUrl?'data-gallery':''%}>{%=file.name%}</a> {% } else { %} <span>{%=file.name%}</span> {% } %} </p> {% if (file.error) { %} <div><span class="label label-danger">Error</span> {%=file.error%}</div> {% } %} </td> <td> <span class="size">{%=o.formatFileSize(file.size)%}</span> </td> <td> {% if (file.deleteUrl) { %}
{% } else { %} <button class="btn btn-warning cancel"> <i class="glyphicon glyphicon-ban-circle"></i> <span>Cancelar</span> </button> {% } %} </td> </tr> {% } %} </script> <!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included --> <script src="subir_multiple/js/vendor/jquery.ui.widget.js"></script> <!-- The Templates plugin is included to render the upload/download listings --> <script src="//blueimp.github.io/JavaScript-Templates/js/tmpl.min.js"></script> <!-- The Load Image plugin is included for the preview images and image resizing functionality --> <script src="//blueimp.github.io/JavaScript-Load-Image/js/load-image.all.min.js"></script> <!-- The Canvas to Blob plugin is included for image resizing functionality --> <script src="//blueimp.github.io/JavaScript-Canvas-to-Blob/js/canvas-to-blob.min.js"></script> <!-- blueimp Gallery script --> <script src="//blueimp.github.io/Gallery/js/jquery.blueimp-gallery.min.js"></script> <!-- The Iframe Transport is required for browsers without support for XHR file uploads --> <script src="subir_multiple/js/jquery.iframe-transport.js"></script> <!-- The basic File Upload plugin --> <script src="subir_multiple/js/jquery.fileupload.js"></script> <!-- The File Upload processing plugin --> <script src="subir_multiple/js/jquery.fileupload-process.js"></script> <!-- The File Upload image preview & resize plugin --> <script src="subir_multiple/js/jquery.fileupload-image.js"></script> <!-- The File Upload audio preview plugin --> <script src="subir_multiple/js/jquery.fileupload-audio.js"></script> <!-- The File Upload video preview plugin --> <script src="subir_multiple/js/jquery.fileupload-video.js"></script> <!-- The File Upload validation plugin --> <script src="subir_multiple/js/jquery.fileupload-validate.js"></script> <!-- The File Upload user interface plugin --> <script src="subir_multiple/js/jquery.fileupload-ui.js"></script> <!-- The main application script --> <script> $(function () { 'use strict';
// Initialize the jQuery File Upload widget: $('#fileupload').fileupload({ // Uncomment the following to send cross-domain cookies: //xhrFields: {withCredentials: true}, url: 'subir_multiple/server/php/index_galeria_noticia.php' }); $('#fileupload').fileupload('option', { url: 'subir_multiple/server/php/index_galeria_noticia.php', //url: '//jquery-file-upload.appspot.com/', // Enable image resizing, except for Android and Opera, // which actually support image resizing, but fail to // send Blob objects via XHR requests: disableImageResize: /Android(?!.*Chrome)|Opera/ .test(window.navigator.userAgent), maxFileSize: 999000, acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i, imageMaxWidth:<?=$ancho_noticias_galeria_original?>, imageMaxHeight:<?=$alto_noticias_galeria_original?>, //imageCrop: true, imageCrop: false, disableImageResize: false, previewCrop: true, previewMaxWidth: <?=$ancho_noticias_galeria_thumb?>, previewMaxHeight: <?=$alto_noticias_galeria_thumb?> });
}); </script>
</body>
</html>
|