chore: version inicial del codigo fuente del LMS Estafeta
This commit is contained in:
+468
@@ -0,0 +1,468 @@
|
||||
<?php
|
||||
require_once("sessionManager.php");
|
||||
$numerodeempleado = $_SESSION["numerodeempleado"];
|
||||
if( isset($_GET["encuestaid"]) ){
|
||||
$pollid = $_GET["encuestaid"];
|
||||
}else{
|
||||
header("Location: ".$CFG->wwwroot."dashboard.php");
|
||||
}
|
||||
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<?php include "header.php"; ?>
|
||||
<link rel="stylesheet" type="text/css" href="css/recursos.css">
|
||||
<link rel="stylesheet" type="text/css" href="encuestas/encuestas.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="layer-load">
|
||||
<div class="lds-ring">
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
</div>
|
||||
</div>
|
||||
<nav class="navbar navbar-expand-md bg-dark background-nav sticky-top text-white navbar-dark py-0">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="<?php echo $CFG->wwwroot ?>dashboard.php">
|
||||
<img src="img/logo_wh.svg" alt="Logo Universidad Estafeta" height="50" width="150" class="img-fluid">
|
||||
</a>
|
||||
<button class="navbar-toggler mr-2 p-0" type="button" data-toggle="collapse" data-target="#collapsibleNavbar">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse text-white" id="collapsibleNavbar">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<span class="navbar-text">
|
||||
<i class="fas fa-user"></i>
|
||||
<?php echo $numerodeempleado ?>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="nav ml-auto navbar-nav navbar-right">
|
||||
<li class="nav-item p-0">
|
||||
<a href="<?php echo $CFG->wwwroot ?>runtime/logout.php" class="navbar-brand text-white">
|
||||
<span class="small"><i class="far fa-sign-out"></i> Salir</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<section class="cidheader d-none">
|
||||
<div id="cidheader" class="carousel slide">
|
||||
<div class="carousel-inner">
|
||||
<div class="carousel-item active">
|
||||
<img src="img/carusel-header/cursos.jpg" class="card-img">
|
||||
</div>
|
||||
</div>
|
||||
<ol class="carousel-indicators ">
|
||||
<li data-target="#cidheader" data-slide-to="0" class="active"></li>
|
||||
</ol>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="title-poll">
|
||||
<div class="container-fluid py-4">
|
||||
<div class="row">
|
||||
<div class="col-lg-4 col-md-3 col-3">
|
||||
<hr class="line-blue">
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6 col-6 text-center">
|
||||
<h4 class="col-lg-12" id="pollname"></h4>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-3 col-3">
|
||||
<hr class="line-blue">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="description-poll mb-4">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12 col-md-12 col-12">
|
||||
<div id="descpoll"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="progress-poll mb-5">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12 col-md-12 col-12">
|
||||
<!-- Nav tabs -->
|
||||
<ul class="nav nav-tabs">
|
||||
</ul>
|
||||
|
||||
<!-- Tab panes -->
|
||||
<form class="formcontroller">
|
||||
<input type="hidden" name="idencuesta" id="idencuesta" value="<?=$pollid?>">
|
||||
<input type="hidden" name="numerodeempleado" id="numerodeempleado" value="<?=$numerodeempleado?>">
|
||||
<div class="tab-content gray-bg p-2">
|
||||
|
||||
</div>
|
||||
</form>
|
||||
<!--- END TABS PANES -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="result-poll mb-5" style="display: none;">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12 col-md-12 col-12">
|
||||
<h4>Resultados</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div class="container-result row"></div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
<section class="footer-poll">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-4 col-md-3 col-3">
|
||||
<hr class="line-blue">
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6 col-6 text-center">
|
||||
<a class="btn d-inline-flex btn-return" href="#">
|
||||
<span class="icon-left mr-2"></span>
|
||||
<span> Regresa al menú anterior</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-3 col-3">
|
||||
<hr class="line-blue">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<footer class="mt-5">
|
||||
<img src="img/login/footer.png" class="background-footer img-fluid" alt="footer">
|
||||
</footer>
|
||||
<?php include "footer.php"; ?>
|
||||
</body>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(document).ready(function ($) {
|
||||
|
||||
//---------------------------------------------------------------
|
||||
//-------------------- BOTON REGRESAR ---------------------------
|
||||
//---------------------------------------------------------------
|
||||
$(".btn-return").click(function(){
|
||||
let prevUrl = document.referrer;
|
||||
window.location=prevUrl;
|
||||
});
|
||||
|
||||
|
||||
//---------------------------------------------------------------
|
||||
//-------------------- DATA ENCUESTA ---------------------------
|
||||
//---------------------------------------------------------------
|
||||
function getPoll(encuesta,numeroempl){
|
||||
$.ajax({
|
||||
url: 'encuestas/getSourcePoll.php',
|
||||
type:'POST',
|
||||
data:{idencuesta:encuesta,numempl:numeroempl},
|
||||
success: function(response) {
|
||||
var _data = JSON.parse(response);
|
||||
|
||||
if (_data.code == '200') {
|
||||
|
||||
$('#pollname').html(_data.datos.titulo);
|
||||
$('#descpoll').html(_data.datos.descripcion);
|
||||
|
||||
$('.nav-tabs').html('');
|
||||
$('.tab-content').html('');
|
||||
var navs = '';
|
||||
var tabs = '';
|
||||
var btn = '';
|
||||
var completado;
|
||||
|
||||
if(_data.datos.estilo == 'libre') {
|
||||
completado = 'no completado';
|
||||
}else{
|
||||
completado = _data.estado;
|
||||
}
|
||||
|
||||
if (completado != 'completed') {
|
||||
|
||||
//inicio contruccion
|
||||
var totaltabs = _data.questions.length;
|
||||
$.each(_data.questions, function (index, val) {
|
||||
navs = '';
|
||||
tabs = '';
|
||||
if (index == 0) {
|
||||
navs = '<li class="nav-item">'+
|
||||
'<a class="nav-link active disabled" data-toggle="tab" href="#poll'+index+'" data-nav="'+index+'" id="nav'+index+'">'+(index+1)+'</a>'+
|
||||
'</li>';
|
||||
|
||||
tabs = '<div class="tab-pane container active" id="poll'+index+'">'+
|
||||
'<div class="row">'+
|
||||
'<input type="hidden" name="idpregunta[]" id="idpregunta'+index+'" value="'+val.idpregunta+'">'+
|
||||
'<div class="col-lg-12 col-md-12 col-12 mt-3">'+
|
||||
'<p id="poll'+index+'">'+val.titulo+'</p>'+
|
||||
'<p class="polldesc'+index+'">'+val.descripcion_p+'</p>'+
|
||||
'<div id="answerspoll'+index+'" class="answers">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="col-lg-6 col-md-6 col-6" id="btns_'+index+'">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'</div>';
|
||||
|
||||
}else{
|
||||
navs = '<li class="nav-item">'+
|
||||
'<a class="nav-link disabled" data-toggle="tab" href="#poll'+index+'" data-nav="'+index+'" id="nav'+index+'">'+(index+1)+'</a>'+
|
||||
'</li>';
|
||||
|
||||
tabs = '<div class="tab-pane container fade" id="poll'+index+'">'+
|
||||
'<div class="row">'+
|
||||
'<input type="hidden" name="idpregunta[]" id="idpregunta'+index+'" value="'+val.idpregunta+'">'+
|
||||
'<div class="col-lg-12 col-md-12 col-12 mt-3">'+
|
||||
'<p id="poll'+index+'">'+val.titulo+'</p>'+
|
||||
'<p class="polldesc'+index+'">'+val.descripcion_p+'</p>'+
|
||||
'<div id="answerspoll'+index+'" class="answers">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'<div class="col-lg-6 col-md-6 col-6" id="btns_'+index+'">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'</div>';
|
||||
|
||||
}
|
||||
|
||||
$('.nav-tabs').append(navs);
|
||||
$('.tab-content').append(tabs);
|
||||
|
||||
$.each(val.respuestas, function (indexanswers, answers) {
|
||||
|
||||
answers = '<label class="container-check">'+answers.titulo+
|
||||
'<input type="radio" data-sec="'+index+'" name="answers'+answers.idpregunta+'" id="answers'+answers.idpregunta+'" value="'+answers.idrespuesta+'">'+
|
||||
'<span class="checkmark"></span>'+
|
||||
'</label>';
|
||||
$('#answerspoll'+index).append(answers);
|
||||
});
|
||||
|
||||
|
||||
if (totaltabs == (index+1)) {
|
||||
btn = '<button type="submit" name="btnSave" value="terminar" id="btn-'+index+'" data-tab="'+index+'" class="btn-next btn btn-primary btn-sm" style="display:none;">Enviar</button>';
|
||||
/*
|
||||
$('#btn-'+index).text('Terminar');
|
||||
$('#btn-'+index).val('terminar');
|
||||
*/
|
||||
}else{
|
||||
btn = '<button type="button" name="btnSave" value="siguiente" id="btn-'+index+'" data-tab="'+index+'" class="btn-next btn btn-primary btn-sm" style="display:none;">Siguiente</button>';
|
||||
}
|
||||
$('#btns_'+index).append(btn);
|
||||
|
||||
$('.answers input').click(function () {
|
||||
seccion = $(this).attr('data-sec');
|
||||
$('#btn-'+seccion).show();
|
||||
});
|
||||
});
|
||||
|
||||
$(".btn-next").click(function(){
|
||||
tabant = $(this).attr('data-tab');
|
||||
tabsig = parseInt(tabant);
|
||||
tabsig = (tabsig+1);
|
||||
$('#poll'+tabant).removeClass('active');
|
||||
$('#nav'+tabant).removeClass('active');
|
||||
//$('#idpregunta'+tabant).attr('disabled',true);
|
||||
|
||||
$('#poll'+tabsig).tab('show');
|
||||
$('#nav'+tabsig).addClass('active');
|
||||
|
||||
});
|
||||
//fin construcción
|
||||
|
||||
}else{
|
||||
result($('#idencuesta').val());
|
||||
|
||||
}
|
||||
$('.layer-load').hide();
|
||||
}else{
|
||||
|
||||
Swal.fire({
|
||||
html: _data.msg,
|
||||
icon: _data.icon,
|
||||
onBeforeOpen: function () {},
|
||||
onOpen: function () {
|
||||
$('.layer-load').hide();
|
||||
},
|
||||
onRender: function () {},
|
||||
onClose: function () {
|
||||
$('.btn-return').click();
|
||||
},
|
||||
onAfterClose: function () {}
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
error: function() {
|
||||
Swal.fire({
|
||||
html: 'Hubo un error al procesar los datos',
|
||||
icon: 'error',
|
||||
onBeforeOpen: function () {},
|
||||
onOpen: function () {
|
||||
$('.layer-load').hide();
|
||||
},
|
||||
onRender: function () {},
|
||||
onClose: function () {
|
||||
$('.btn-return').click();
|
||||
},
|
||||
onAfterClose: function () {}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//---------------------------------------------------------------
|
||||
//------------------- RESULT ENCUESTA ---------------------------
|
||||
//---------------------------------------------------------------
|
||||
function result(encuesta){
|
||||
$('.layer-load').show();
|
||||
$('.progress-poll').hide(300);
|
||||
$('.result-poll').show(300);
|
||||
|
||||
$.ajax({
|
||||
url: 'encuestas/getResult.php',
|
||||
type:'POST',
|
||||
data:{idencuesta:encuesta},
|
||||
success: function(response) {
|
||||
var _dataresult = JSON.parse(response);
|
||||
|
||||
$('.container-result').html('');
|
||||
var option = '';
|
||||
var grafica = '';
|
||||
$.each(_dataresult.questions, function (index, val) {
|
||||
option = '';
|
||||
|
||||
option = '<div class="col-lg-4 col-md-4 col-12 py-2">'+
|
||||
'<div class="card cont'+index+' p-3 h-100">'+
|
||||
'<p>'+val.titulo+'</p>'+
|
||||
'<div class="options'+index+'">'+
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'</div>';
|
||||
$('.container-result').append(option);
|
||||
|
||||
res = index%2;
|
||||
if(res == 0){
|
||||
$('.cont'+index).addClass('light-bg');
|
||||
}else{
|
||||
$('.cont'+index).addClass('dark-bg');
|
||||
}
|
||||
|
||||
$.each(val.respuestas, function (indexanswers, answers) {
|
||||
grafica = '';
|
||||
|
||||
grafica = '<div class="mt-2 mb-2">'+
|
||||
'<label>'+answers.titulo+'</label>'+
|
||||
'<div class="progress" id="options">'+
|
||||
'<div class="progress-bar bg-danger" style="width:'+answers.promedio+'%">'+answers.promedio+'%</div>'+
|
||||
'</div>'+
|
||||
'</div>';
|
||||
|
||||
$('.options'+index).append(grafica);
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
$('.layer-load').hide();
|
||||
},
|
||||
error: function() {
|
||||
$('.layer-load').hide();
|
||||
$('.progress-poll .row').html('<div class="col-lg-12 col-md-12 col-12 text-center" style="margin-top: 15%; margin-bottom: 15%;"><h4>No se pudieron obtener los datos de la encuesta intenta más tarde.</h4></div>');
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
//---------------------------------------------------------------
|
||||
//-------------------- SEND ENCUESTA ---------------------------
|
||||
//---------------------------------------------------------------
|
||||
$(".formcontroller").validate({
|
||||
submitHandler: function (form) {
|
||||
$('.layer-load').show();
|
||||
|
||||
var controller = 'encuestas/savePoll.php';
|
||||
$.ajax({
|
||||
url: controller,
|
||||
type: 'POST',
|
||||
data: $(".formcontroller").serializeArray(),
|
||||
})
|
||||
.done(function (response) {
|
||||
var _data = JSON.parse(response);
|
||||
|
||||
if (_data.code == '200') {
|
||||
/*
|
||||
var tabsig;
|
||||
var tabant;
|
||||
$(".nav-link").each(function() {
|
||||
if($(this).hasClass('active')){
|
||||
tabsig = $(this).attr('data-nav');
|
||||
}
|
||||
});
|
||||
tabant = parseInt(tabsig)-1;
|
||||
$('#idpregunta'+tabant).attr('disabled',true);
|
||||
$('#answerspoll'+tabant+' input').attr('disabled',true);
|
||||
$('#idpregunta'+tabsig).attr('disabled',false);
|
||||
*/
|
||||
if (_data.section == 'terminar') {
|
||||
result(_data.encuesta);
|
||||
}
|
||||
}else{
|
||||
Swal.fire({
|
||||
html: _data.msg,
|
||||
icon: _data.icon,
|
||||
onBeforeOpen: function () {},
|
||||
onOpen: function () {},
|
||||
onRender: function () {},
|
||||
onClose: function () {},
|
||||
onAfterClose: function () {}
|
||||
});
|
||||
}
|
||||
})
|
||||
.fail(function () {
|
||||
//console.log("error");
|
||||
})
|
||||
.always(function () {
|
||||
//console.log("complete");
|
||||
});
|
||||
},
|
||||
rules: {
|
||||
idencuesta: {
|
||||
required: true
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
getPoll($('#idencuesta').val(),$('#numerodeempleado').val());
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user