chore: version inicial del codigo fuente del LMS Estafeta

This commit is contained in:
2026-10-02 20:33:12 -06:00
commit c8bb6b97b9
1572 changed files with 457520 additions and 0 deletions
+468
View File
@@ -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>