Mister Spy Say ="Hello Kids ... :D"
___ ____ _ _____
| \/ (_) | | / ___|
| . . |_ ___| |_ ___ _ __ \ `--. _ __ _ _
| |\/| | / __| __/ _ \ '__| `--. \ '_ \| | | |
| | | | \__ \ || __/ | /\__/ / |_) | |_| |
\_| |_/_|___/\__\___|_| \____/| .__/ \__, |
| | __/ |
|_| |___/
Bot Mister Spy V3
Mister Spy
Mister Spy
<?php
require_once("../inc_library_front.php");
/* verificamos si posee permisos */
if (!Session::CheckPerm(Modulo::Eventos))
Session::NoPerm();
$IdCategoriaPrincipal = intval($_REQUEST['IdCategoria']);
$oCategorias = new Categorias();
$oGaleriaImagenes = new GaleriaImagenes();
$oProvincias = new Provincias();
$oRegiones = new Regiones();
$oCategoriasSubrubro = new CategoriasSubrubro();
$oCategoriaT = $oCategorias->GetById($IdCategoriaPrincipal);
$arrCategorias = $oCategorias->GetAll(array('IdTipo' => 1), null, false);
$arrProvincias = $oProvincias->GetAll();
$arrRegiones = $oRegiones->GetAll();
foreach ($arrProvincias as $oProvincia) {
$oProvincia->Nombre = utf8_encode($oProvincia->Nombre);
}
$arrTipos = array();
foreach ($arrCategorias as $oCategoria) {
$tipo = array();
$tipo['IdCategoria'] = $oCategoria->IdCategoria;
$tipo['tipos'] = array();
$arrCategoriasSubrubro = $oCategoriasSubrubro->GetAll(array('IdCategoria' => $oCategoria->IdCategoria));
foreach ($arrCategoriasSubrubro as $oCategoriaSubrubro) {
$tipo['tipos'][] = $oCategoriaSubrubro;
}
$arrTipos[] = $tipo;
}
// $arrImagenes = $oGaleriaImagenes->GetAll(array('IdCategoria' => 228));
?>
<!DOCTYPE html>
<html>
<head>
<?php include("ssi_head_inc.php"); ?>
<link href="css/cropper.css" rel="stylesheet">
<script type="text/javascript">
var IdCategoria = <?= $IdCategoriaPrincipal ?>;
var Categorias = <?= json_encode($arrCategorias) ?>;
var Provincias = <?= json_encode($arrProvincias) ?>;
var Tipos = <?= json_encode($arrTipos) ?>;
</script>
</head>
<body class="fixed-left">
<!-- Begin page -->
<div id="wrapper">
<?php include("ssi_header.php"); ?>
<?php include("ssi_menu.php"); ?>
<!-- ============================================================== -->
<!-- Start right Content here -->
<!-- ============================================================== -->
<div class="content-page">
<!-- Start content -->
<div class="content">
<div class="container">
<div class="row">
<div class="col-sm-12">
<h4 class="page-title">Eventos</h4>
<ol class="breadcrumb">
<li>
<a href="index.php">Home</a>
</li>
<li class="active">
Eventos
</li>
</ol>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="card-box">
<div class="col-sm-8">
</div>
<div class="col-sm-4 text-right">
<a href="#custom-modal" class="btn btn-default btn-md waves-effect waves-light m-b-30" data-animation="fadein" data-plugin="custommodal"
data-overlaySpeed="200" data-overlayColor="#36404a"><i class="md md-add"></i> Agregar Evento</a>
</div>
<div id="jsGrid"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Modal -->
<div id="custom-modal" class="modal-demo">
<button type="button" class="close" onclick="ClosePopup();">
<span>×</span><span class="sr-only">Cerrar</span>
</button>
<h4 class="custom-modal-title">Agregar Evento</h4>
<div class="custom-modal-text text-left">
<form id="form-add-evento" role="form" method="post" action="json-eventos-add.php" class="form-horizontal resize-image" enctype="multipart/form-data">
<input type="hidden" id="Submitted" name="Submitted" value="1" />
<div class="form-group">
<div class="col-lg-12">
<div class="form-group col-sm-12" style="margin-bottom: 1px;">
<label for="CategoriaSec">Competencias</label>
<input type="text" class="form-control" name="CategoriaSec" id="CategoriaSec" placeholder="Nombre competencia" parsley-trigger="change" data-parsley-selection-autocomplete="#seleccionCategoriasSec" data-parsley-validate-if-empty="true" />
</div>
<div class="col-sm-12" id="suggCategoriasSec"></div>
</div>
<div class="col-lg-12">
<div class="form-group col-sm-12">
<label for="seleccionCategoriasSec">Competencias seleccionadas</label>
<div class="col-sm-12" id="seleccionCategoriasSec"></div>
<div class="col-sm-12 text-danger" id="errCategoriasSec"></div>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-12" for="Nombre">Nombre</label>
<div class="col-sm-12">
<input type="text" class="form-control" required name="Titulo" id="Titulo" placeholder="Nombre" required parsley-trigger="change" data-parsley-required-message="Por favor ingrese el nombre" />
</div>
</div>
<div class="form-group">
<label class="col-sm-12" for="Fecha">Fecha desde</label>
<div class="col-sm-12">
<input type="text" class="form-control datepicker" id="Fecha" name="Fecha" placeholder="Fecha desde" required parsley-trigger="change" data-parsley-required-message="Por favor ingrese la fecha desde">
</div>
</div>
<div class="form-group">
<label class="col-sm-12" for="FechaHasta">Fecha hasta</label>
<div class="col-sm-12">
<input type="text" class="form-control datepicker" id="FechaHasta" name="FechaHasta" placeholder="Fecha hasta">
</div>
</div>
<div class="form-group">
<label class="col-sm-12" for="FechaInscripcionDesde">Inscripción desde</label>
<div class="col-sm-12">
<input type="text" class="form-control datepicker" id="FechaInscripcionDesde" name="FechaInscripcionDesde" placeholder="Inscripción desde" parsley-trigger="change" data-parsley-required-message="Por favor ingrese la inscripción desde">
</div>
</div>
<div class="form-group">
<label class="col-sm-12" for="FechaInscripcionHasta">Inscripción hasta</label>
<div class="col-sm-12">
<input type="text" class="form-control datepicker" id="FechaInscripcionHasta" name="FechaInscripcionHasta" placeholder="Inscripción hasta">
</div>
</div>
<div class="form-group">
<label class="col-sm-12" for="IdRegion">Región</label>
<div class="col-sm-12">
<select class="form-control" required name="IdRegion" id="IdRegion" required parsley-trigger="change" data-parsley-required-message="Por favor seleccione la región">
<option value="">Seleccione la región</option>
<?php
foreach ($arrRegiones as $oRegion)
{
?>
<option value="<?= $oRegion->IdRegion ?>"><?= ($oRegion->Nombre) ?></option>
<?php
}
?>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-12" for="IdProvincia">Provincia</label>
<div class="col-sm-12">
<select class="form-control" required name="IdProvincia" id="IdProvincia" required parsley-trigger="change" data-parsley-required-message="Por favor seleccione la provincia">
<option value="">Seleccione la provincia</option>
<?php
foreach ($arrProvincias as $oProvincia)
{
?>
<option value="<?= $oProvincia->IdProvincia ?>"><?= ($oProvincia->Nombre) ?></option>
<?php
}
?>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-12" for="Localidad">Localidad</label>
<div class="col-sm-12">
<input type="text" class="form-control" id="Localidad" name="Localidad" placeholder="Localidad" value="">
</div>
</div>
<div class="form-group">
<label class="col-sm-12" for="Direccion">Dirección</label>
<div class="col-sm-12">
<input type="text" class="form-control" id="Direccion" name="Direccion" placeholder="Dirección" value="">
</div>
</div>
<div class="form-group">
<label class="col-sm-12" for="Descripcion">Observaciones</label>
<div class="col-sm-12">
<textarea class="form-control" id="Observaciones" name="Observaciones" placeholder="Observaciones"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-12" for="DescripcionTarifas">Descripción de las Tarifas</label>
<div class="col-sm-12">
<textarea class="form-control" id="DescripcionTarifas" name="DescripcionTarifas" placeholder="Descripción de las Tarifas"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-12" for="InformacionAdicional">Información adicional</label>
<div class="col-sm-12">
<textarea class="form-control" id="InformacionAdicional" name="InformacionAdicional" placeholder="Información adicional"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-12" for="Suspendido">
<input type="checkbox" id="Suspendido" name="Suspendido" value="1" > Suspendido
</label>
</div>
<div class="form-group">
<label class="col-sm-12" for="Video">Imágen</label>
<div class="col-sm-6 col-sm-12">
<div class="img-container panel-body">
<div class="file-selector">
<img class="img-upl" id="image-1" src="images/upload-icon.png" data-id="1" alt="Picture">
<input type="file" class="img-upload" data-id="1" name="Image" id="img-1" accept="image/*" />
</div>
<div class="m-t-10">
<button id="btn-rm-1" type="button" class="btn btn-danger waves-effect waves-light" disabled="disabled" onclick="RemoveImage('1');"><span class="btn-label"><i class="fa fa-times"></i></span> Eliminar imágen</button>
</div>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-12" for="Video">Archivos</label>
<div class="col-sm-12" id="files-container">
</div>
</div>
<div class="text-right">
<button type="submit" class="btn btn-default waves-effect waves-light">Guardar</button>
<button type="button" class="btn btn-danger waves-effect waves-light m-l-10" onclick="ClosePopup();">Cancelar</button>
</div>
</form>
</div>
</div>
<!-- Modal -->
<!-- Modal Update -->
<?php include('ssi_evento_modal_mod.php'); ?>
<div class="modal fade" id="imagemodal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="z-index: 99999">
<input type="hidden" id="imgId" name="imgId" value="">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-body">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Cerrar</span></button>
<img src="" class="imagepreview" style="width: 100%;" >
<div class="m-t-20 text-right">
<button class="btn btn-default" onclick="RotateRight();"><i class="fa fa-rotate-right"></i></button>
<button class="btn btn-default" onclick="RotateLeft();"><i class="fa fa-rotate-left"></i></button>
<a class="btn btn-primary" id="btn-img-save">Recortar imágen</a>
</div>
</div>
</div>
</div>
</div>
</div>
<?php include("ssi_scripts.php"); ?>
<!-- jsgris table js -->
<script src="<?= Config::UrlFiles ?>assets/plugins/jsgrid/js/jsgrid.min.js"></script>
<script src="js/jquery.jsgrid.eventos.init.js"></script>
<script src="js/jquery.jsgrid.init.js"></script>
<script type="text/javascript" src="<?= Config::UrlFiles ?>assets/plugins/autocomplete/jquery.mockjax.js"></script>
<script type="text/javascript" src="<?= Config::UrlFiles ?>assets/plugins/autocomplete/jquery.autocomplete.min.js"></script>
<script type="text/javascript" src="<?= Config::UrlFiles ?>assets/js/controles/autocompletar.js"></script>
<script type="text/javascript" src="js/resize_img.js"></script>
<script src="js/cropper.js"></script><!-- Cropper.js is required -->
<script src="js/jquery-cropper.min.js"></script>
<script src="js/modal_crop.js"></script>
<script src="<?= Config::UrlFiles ?>assets/plugins/tinymce/tinymce.min.js"></script>
<script type="text/javascript">
var ratio = 12.91;
function ClosePopup() {
$('#Titulo').val('');
$('#Fecha').val('');
$('#FechaHasta').val('');
$('#FechaInscripcionDesde').val('');
$('#FechaInscripcionHasta').val('');
$('#IdRegion').val('');
$('#Direccion').val('');
$('#IdProvincia').val('');
$('#Localidad').val('');
$('#Email').val('');
$('#Observaciones').val('');
$('#DescripcionTarifas').val('');
$('#InformacionAdicional').val('');
$('#Video').val('');
$('#image-1').attr('src', 'images/upload-icon.png');
$('#hd-1').remove();
$('#btn-rm-1').attr('disabled', 'disabled');
$('#Suspendido').prop('checked', false);
$('#files-container').empty();
$('#seleccionCategoriasSec').empty();
$('#seleccionKeyword').empty();
InsertFile(0);
SetupFile(1);
$('#TituloU').val('');
$('#FechaU').val('');
$('#FechaHastaU').val('');
$('#FechaInscripcionDesdeU').val('');
$('#FechaInscripcionHastaU').val('');
$('#IdRegionU').val('');
$('#DireccionU').val('');
$('#IdProvinciaU').val('');
$('#LocalidadU').val('');
$('#EmailU').val('');
$('#ObservacionesU').val('');
$('#DescripcionTarifasU').val('');
$('#InformacionAdicionalU').val('');
$('#VideoU').val('');
$('#image-2').attr('src', 'images/upload-icon.png');
$('#hd-2').remove();
$('#modal-update #EliminarImagen').val(0);
$('#btn-rm-2').attr('disabled', 'disabled');
$('#SuspendidoU').prop('checked', false);
$('#files-containerU').empty();
$('#seleccionCategoriasSecU').empty();
$('#seleccionKeywordU').empty();
InsertFile(100);
SetupFile(101);
Custombox.close();
}
function RemoveFile(id) {
$('#file-container-' + id).remove();
}
function RemoveFileGuardado(id) {
$('#file-container-' + id).remove();
var ids = $('#EliminarArchivos').val();
if (ids != '')
ids += ',';
ids+= id;
$('#EliminarArchivos').val(ids);
}
function InsertFile(id) {
var nextid = parseInt(id) + 1;
if ($('#file-container-' + nextid).length > 0)
return ;
var template = '<div class="row" id="file-container-' + nextid + '" style="border: 1px solid #E3E3E3; padding: 10px;">';
template+= ' <div class="col-sm-12" style="margin-bottom: 5px">';
template+= ' <input type="file" class="file-upload" data-id="' + nextid + '" name="Archivo[]" id="file-' + nextid + '" accept="" />';
template+= ' </div>';
template+= ' <div class="col-sm-8">';
template+= ' <input type="text" class="form-control" id="NombreArchivo' + nextid + '" name="NombreArchivo[]" placeholder="Nombre del archivo">';
template+= ' </div>';
template+= ' <div class="col-sm-4">';
template+= ' <button id="btn-rm-file-' + nextid + '" type="button" class="btn btn-danger waves-effect waves-light" disabled="disabled" onclick="RemoveFile(\'' + nextid + '\');" style="height: 38px"><span class="btn-label"><i class="fa fa-times"></i></span> Eliminar</button>';
template+= ' </div>';
template+= '</div>';
if (nextid >= 100)
$('#files-containerU').append(template);
else
$('#files-container').append(template);
SetupFile(nextid);
}
function SetupFile(id) {
$('#file-' + id).change(function() {
if (this.files.length == 0) {
$('#btn-rm-file-' + id).attr('disabled', 'disabled');
return;
}
var id = $(this).attr('data-id');
$('#btn-rm-file-' + id).removeAttr('disabled');
InsertFile(id);
});
}
function getItemTemplateCategorias(Nombre, Id, selectedItemTracker, selectedItemsContainer, idEntidad, IdInstancia, IdCategoriaSubrubro) {
var tipos = null;
for (var i = 0; i < Tipos.length; i++) {
if (Tipos[i].IdCategoria == Id) {
tipos = Tipos[i]['tipos'];
}
}
let template = '<div class="row">';
template += ' <div class="col-sm-12">';
template += ' <div class="col-sm-4">';
template += ' <label style="margin-top: 10px">' + Nombre + '</label>';
template += ' </div>';
template += ' <div class="col-sm-4">';
template += ' <select class="form-control" required name="IdInstancia[]" required parsley-trigger="change" data-parsley-required-message="Por favor seleccione instancia">';
template += ' <option value="">Seleccione la instancia</option>';
<?php
foreach (Instancias::GetAll() as $oInstancia) {
?>
if (IdInstancia == '<?= $oInstancia['IdInstancia'] ?>') {
template += ' <option value="<?= $oInstancia['IdInstancia'] ?>" selected="selected"><?= $oInstancia['Descripcion'] ?></option>';
} else {
template += ' <option value="<?= $oInstancia['IdInstancia'] ?>"><?= $oInstancia['Descripcion'] ?></option>';
}
<?php
}
?>
template += ' </select>';
template += ' </div>';
template += ' <div class="col-sm-3">';
template += ' <select class="form-control" required name="IdCategoriaSubrubro[]" required parsley-trigger="change" data-parsley-required-message="Por favor seleccione el tipo">';
template += ' <option value="">Seleccione el tipo</option>';
for (var i = 0; i < tipos.length; i++) {
var tipo = tipos[i];
if (IdCategoriaSubrubro == tipo.IdCategoriaSubrubro) {
template += ' <option value="' + tipo.IdCategoriaSubrubro + '" selected="selected">' + tipo.Nombre + '</option>';
} else {
template += ' <option value="' + tipo.IdCategoriaSubrubro + '">' + tipo.Nombre + '</option>';
}
}
template += ' </select>';
template += ' </div>';
template += ' <div class="col-sm-1 text-right" style="padding-top: 10px">';
template += ' <a title="Quitar" href="#' + selectedItemsContainer + '" onclick="$(this).closest(\'.row\').remove();"><i class="ti-trash text-danger h4"></i></a>';
template += ' <input type="hidden" name="' + idEntidad + '[]" class="' + selectedItemTracker + '" value="' + Id + '"/>';
template += ' </div>';
template += ' </div>';
template += ' <div class="col-sm-12">';
template += ' <hr class="linea-separadora">';
template += ' </div>';
template += '</div>';
return template;
}
$(document).ready(function () {
$('#Keyword, #KeywordU').on("keypress", function(e) {
var target = $(this).attr('data-parsley-selection-autocomplete');
/* ENTER PRESSED*/
if (e.keyCode == 13) {
/* FOCUS ELEMENT */
var keyword = $(this).val();
$(this).val('');
var element = getItemTemplateDefault(keyword, keyword, 'keyword-seleccionado', 'suggKeyword', 'keyword');
$(target).append(element);
return false;
}
});
autocompleteControl({
inputBox: '#CategoriaSec',
suggestBox: "#suggCategoriasSec",
jsonUrl: 'json-categorias-autocomplete.php',
selectedItemTracker: "categoria-seleccionada",
selectedItemsContainer: '#seleccionCategoriasSec',
idEntidad: "IdCategoria",
getItemTemplate: getItemTemplateCategorias,
acceptRepeat: true
});
autocompleteControl({
inputBox: '#CategoriaSecU',
suggestBox: "#suggCategoriasSecU",
jsonUrl: 'json-categorias-autocomplete.php',
selectedItemTracker: "categoria-seleccionadaU",
selectedItemsContainer: '#seleccionCategoriasSecU',
idEntidad: "IdCategoria",
getItemTemplate: getItemTemplateCategorias,
acceptRepeat: true
});
document.addEventListener('custombox.close', function() {
try {
tinymce.execCommand('mceRemoveControl', true, 'Observaciones');
}
catch(err) {}
try {
tinymce.execCommand('mceRemoveControl', true, 'ObservacionesU');
}
catch(err) {}
$('.mce-tinymce').remove();
$('#Observaciones').show();
$('#ObservacionesU').show();
try {
tinymce.execCommand('mceRemoveControl', true, 'InformacionAdicional');
}
catch(err) {}
try {
tinymce.execCommand('mceRemoveControl', true, 'InformacionAdicionalU');
}
catch(err) {}
$('#InformacionAdicional').show();
$('#InformacionAdicionalU').show();
try {
tinymce.execCommand('mceRemoveControl', true, 'DescripcionTarifas');
}
catch(err) {}
try {
tinymce.execCommand('mceRemoveControl', true, 'DescripcionTarifas');
}
catch(err) {}
$('#DescripcionTarifas').show();
$('#DescripcionTarifasU').show();
$('#seleccionCategoriasSec').empty();
});
document.addEventListener('custombox.complete', function() {
tinymce.init({
selector: "textarea",
theme: "modern",
height:200,
language: 'es_MX',
plugins: [
"advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker",
"searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking",
"save table contextmenu directionality emoticons template paste textcolor"
],
toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image customImageUpload | preview media fullpage | forecolor backcolor",
setup: function(editor) {
// Agrega un botón que abre un cuadro de diálogo para seleccionar archivos
editor.addButton('customImageUpload', {
icon: 'image',
tooltip: "Subir imagen",
onclick: function() {
// Crea un input de tipo archivo
var input = document.createElement('input');
input.setAttribute('type', 'file');
input.setAttribute('accept', 'image/*');
input.onchange = function() {
var file = this.files[0];
var reader = new FileReader();
reader.onload = function(e) {
editor.insertContent('<img src="' + e.target.result + '"/>');
};
reader.readAsDataURL(file);
};
input.click();
}
});
},
style_formats: [
{title: 'Bold text', inline: 'b'},
{title: 'Red text', inline: 'span', styles: {color: '#ff0000'}},
{title: 'Red header', block: 'h1', styles: {color: '#ff0000'}},
{title: 'Example 1', inline: 'span', classes: 'example1'},
{title: 'Example 2', inline: 'span', classes: 'example2'},
{title: 'Table styles'},
{title: 'Table row 1', selector: 'tr', classes: 'tablerow1'}
]
});
});
$('form').parsley({
excluded: "input[type=button], input[type=submit], input[type=reset], input[type=hidden], [disabled], :hidden"
});
$('#btn-rm-2').click(function() {
$('#EliminarImagen').val(1);
});
InsertFile(0);
SetupFile(1);
InsertFile(100);
SetupFile(101);
$('#form-add-evento, #form-mod-evento').submit(function(e) {
tinyMCE.triggerSave()
var data = new FormData(this);
var count = 1;
$('.hi-url').each(function() {
var id = $(this).attr('data-id');
var blob = dataURLToBlob($(this).val());
data.append('Imagen-' + count, blob);
count++;
});
data.append('Cantidad', count);
$.ajax({
url: $(this).attr('action'),
data: data,
cache: false,
contentType: false,
processData: false,
type: 'POST',
success: function(data){
if (data.Success)
{
$("#jsGrid").jsGrid("loadData");
ClosePopup();
}
else
swal({
title: "Error!",
text: data.Error,
type: "error",
timer: 2000,
showConfirmButton: false
});
}
});
e.preventDefault();
return false;
});
});
</script>
</body>
</html>
Mr. DellatioNx196 GaLers xh3LL Backd00r 1.0, Coded By Mr. DellatioNx196 - Bogor BlackHat