12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682 |
- <?php
- /*ini_set('display_errors', 1);
- ini_set('display_startup_errors', 1);
- error_reporting(E_ALL);*/
- require_once("../include/constantes.php");
- require_once("../include/util.php");
- require_once("../include/bd_pdo.php");
- require_once("../classes/ValidaSesion.php");
- require_once("../classes/MainMenu.php");
- $menu = 2;
- $submenu = 25;
- //--- Objeto para validar usuario. El id de usuario lo lee desde sesión
- $objSesion = new ValidaSesion($pdo, $submenu, APSA);
- if(!$objSesion->tieneAcceso()){
- $objSesion->terminaSesion();
- }
- $objSesion->validaPeriodoUsuario();//si no tiene periodo manda a main
-
- //-------
- function buscaVacacion($fecha, $vacacionesArr){
- $i=0;
- foreach($vacacionesArr as $vacacion){
- if ($vacacion["fecha"] == $fecha){
- return $i;
- }
- $i++;
- }
- return false;
- }
- function getSesiones($arr, $num){
- foreach($arr as $ses){
- if($ses["sesion"] == $num ){
- return $ses["subsesiones"];
- }
- }
- return array();
- }
- function en_dias($dia, $arr){
- foreach($arr as $e){
- if($e["dia"] == $dia) return true;
- }
- return false;
- }
- //Obtiene materias de profesor
- if(empty($matArr[2])){
- $stmt = $pdo->prepare('Select * from fs_materiasprofesor(:per, :usr) ');
- }
- $stmt->bindParam(":per", $_SESSION["periodo_id"]);
- $stmt->bindParam(":usr", $_SESSION["usuario_id"]);
- if(!$stmt->execute()){
- print_r($stmt->errorInfo());
- $errorDesc = "Ocurrió un error al cargar los planes de estudios";
- exit();
- }else
- $mat_rs = $stmt->fetchAll();
- $stmt->closeCursor();
- $stmt = null;
- //Obtiene fechas de periodo
- $stmt = $pdo->prepare('Select * from fs_periodo(:periodo, NULL, NULL, true)');
- $stmt->bindParam(":periodo", $_SESSION["periodo_id"]);
- if(!$stmt->execute()){
- //print_r($stmt->errorInfo());
- $errorDesc = "Ocurrió un error al cargar los datos del periodo";
- }else{
- $periodo_rs = $stmt->fetch();
- }
- $stmt->closeCursor();
- $fecha_min = $periodo_rs["Periodo_fecha_inicial"];
- $fecha_max = $periodo_rs["Periodo_fecha_final"];
- $fecha_limite = date ("Y-m-d", strtotime("+18 day", strtotime($fecha_min))); //18 días / 3 semanas
- $fecha_limite = date ("Y-m-d", strtotime("+42 day", strtotime($fecha_min))); //18 días / 3 semanas
-
- //Obtiene fechas de periodo
- $stmt = $pdo->prepare('Select * from fs_syllabus_excepcion(:periodo, :prof)');
- $stmt->bindParam(":periodo", $_SESSION["periodo_id"]);
- $stmt->bindParam(":prof", $_SESSION["usuario_id"]);
- if(!$stmt->execute()){
- //print_r($stmt->errorInfo());
- $errorDesc = "Ocurrió un error al cargar los datos del syllabus";
- }else{
- $ex_rs = $stmt->fetch();
- }
- $stmt->closeCursor();
- if(!empty($ex_rs) && count($ex_rs)>0){
- $fecha_nueva =
- $t_fecha_limite = strtotime($fecha_limite);
- $fecha_nueva = strtotime($ex_rs["SyllabusExcepcion_fecha"]);
- if ($fecha_nueva > $t_fecha_limite) {
- $fecha_limite = date ("Y-m-d", $fecha_nueva); //18 días / 3 semanas
- }
- }
- //------------
- if(isset($_POST["materia"])){
- $filter_mat = $_POST["materia"];
- $filter_materia_nom = $_POST["materia_nom"];
- $filter_gpo_nom = $_POST["gpo_nom"];
- $matArr = explode("_",$filter_mat);
-
- //--
- if(empty($matArr[2])){
- $stmt = $pdo->prepare('Select * from fs_syllabus(:periodo, :prof, :mat, :gpo, NULL )');
- }else{
- $stmt = $pdo->prepare('Select * from fs_syllabus(:periodo, :prof, :mat, :gpo, :sub )');
- $stmt->bindParam(":sub", $matArr[2]);
- }
- $stmt->bindParam(":periodo", $_SESSION["periodo_id"]);
- $stmt->bindParam(":prof", $_SESSION["usuario_id"]);
- $stmt->bindParam(":mat", $matArr[0]);
- $stmt->bindParam(":gpo", $matArr[1]);
-
- if(!$stmt->execute()){
- //print_r($stmt->errorInfo());
- $errorDesc = "Ocurrió un error al cargar los datos del sýllabus";
- }else{
- $syllabus_rs = $stmt->fetch();
- }
- $stmt->closeCursor();
-
- //Obtiene grupos
- $query = "";
-
- //---Tipo de sesiones plan cátedra
- $stmt = $pdo->prepare('Select * from fs_sesioncatedra_tipo(NULL)');
- if(!$stmt->execute()){
- //print_r($stmt->errorInfo());
- $errorDesc = "Ocurrió un error al cargar los días de las materias";
- }else{
- $tipoSesionArr = $stmt->fetchAll();
- }
- $stmt->closeCursor();
- $stmt = null;
- //-------------------------
- //Periodos con nombramientos
- $stmt = $pdo->prepare('Select * from fs_periodosprofesor(:usr_id) WHERE "Periodo_hasHistorico" is true order by "Periodo_id" DESC');
- $stmt->bindParam(":usr_id", $_SESSION["usuario_id"]);
- if(!$stmt->execute()){
- $errorDesc = "Ocurrió un error al cargar los periodos del usuario";
- }else{
- $periodosN_rs = $stmt->fetchAll();
- }
- $stmt->closeCursor();
-
- //-------------------------
- //Obtiene materias de profesor y los dias que da clase
- if(empty($matArr[2])){
- $stmt = $pdo->prepare('Select * from fs_materiadias(:usr, :mat, :gpo, NULL)');
- }else{
- $stmt = $pdo->prepare('Select * from fs_materiadias(:usr, :mat, :gpo, :sub)');
- $stmt->bindParam(":sub", $matArr[2]);
- }
- $stmt->bindParam(":usr", $_SESSION["usuario_id"]);
- $stmt->bindParam(":mat", $matArr[0]);
- $stmt->bindParam(":gpo", $matArr[1]);
- if(!$stmt->execute()){
- //print_r($stmt->errorInfo());
- $errorDesc = "Ocurrió un error al cargar los días de las materias";
- }else{
- $rs = $stmt->fetchAll();
- $diasMatArr = array();
- foreach($rs as $dia){
- $diasMatArr[] = array( "dia"=> $dia["Dia_id"], "hora"=>substr($dia["Horario_hora"],0, 5));
- }
- }
- $stmt->closeCursor();
- $stmt = null;
-
-
- // ---- Obtiene fechas de vacaciones
- $stmt = $pdo->prepare('select * from fs_calendarioevento_categoria(:fini, :ffin, 2, :periodo)');
- $stmt->bindParam(":fini", $fecha_min);
- $stmt->bindParam(":ffin", $fecha_max);
- $stmt->bindParam(":periodo", $_SESSION["periodo_id"]);
- if(!$stmt->execute()){
- $errorDesc = "Ocurrió un error al cargar las fechas de vacaciones";
- }else{
- $vacaciones_rs = $stmt->fetchAll();
- }
- $stmt->closeCursor();
- $stmt = null;
- $vacacionesArr = array();//Guarda los días individuales de vacaciones
- foreach($vacaciones_rs as $evento){
- $fecha = fechaGuion($evento["CalendarioEvento_fecha"]);
- switch($evento["CalendarioRepeticion_id"]){
- case 1: //diario
- while (strtotime($fecha) <= strtotime($evento["CalendarioReglas_fecha_final"])) {
- $vacacionesArr[] = array("fecha"=> $fecha, "titulo"=>$evento["CalendarioEvento_titulo"]);
- $fecha = date ("Y-m-d", strtotime("+1 day", strtotime($fecha)));
- }
- break;
- case 2: //semanal
- $diasArr = explode(",", $evento["CalendarioReglas_dias_str"]);
- while (strtotime($fecha) <= strtotime($evento["CalendarioReglas_fecha_final"])) {
- if(in_array(date("w", strtotime($fecha)), $diasArr) ){//si es el día que quiero
- $vacacionesArr[] = array("fecha"=> $fecha, "titulo"=>$evento["CalendarioEvento_titulo"]);
- }
- $fecha = date ("Y-m-d", strtotime("+1 day", strtotime($fecha)));
- }
- break;
- case 3://mensual
- $diasArr = explode(",", $evento["CalendarioReglas_dias_str"]);
- //reglas
- $weekTxt = array(1=>"first", 2=>"second", 3=>"third", 4=>"fourth", -1=>"last");
- $dayname = array("sun", "mon", "tue", "wed", "thu", "fri", "sat");
- $fecha = date ("Y-m-01", strtotime($fecha));//empieza a revisar en el primer día del mes
- $semana = $evento["CalendarioReglas_semana"];
- while (strtotime($fecha) <= strtotime($evento["CalendarioReglas_fecha_final"])) {
- foreach($diasArr as $d){
- //echo "-->". intval(date("w", strtotime($fecha)))." == ". intval($d)."[".$fecha."]";
- if($semana == 1 && intval(date("w", strtotime($fecha))) == intval($d) ){//si el día actual es el que quiero lo guarda
- $vacacionesArr[] = array("fecha"=> $fecha, "titulo"=>$evento["CalendarioEvento_titulo"]);
- }else{//si no calcula siguiente día
- if(intval(date("w", strtotime($fecha))) == intval($d)){
- $fechaTmp = date ("Y-m-d", strtotime($weekTxt[$semana-1]." ".$dayname[$d], strtotime($fecha)));
- }else{
- $fechaTmp = date ("Y-m-d", strtotime($weekTxt[$semana]." ".$dayname[$d], strtotime($fecha)));
- }
- $vacacionesArr[] = array("fecha"=> $fecha, "titulo"=>$evento["CalendarioEvento_titulo"]);
- }
- }
- $fecha = date ("Y-m-01", strtotime("+1 month", strtotime($fecha)));//siguiente mes primer día
- }
- break;
- default: //no se repite
- $vacacionesArr[] = array("fecha"=> $fecha, "titulo"=>$evento["CalendarioEvento_titulo"]);
- }
- }
-
- //----- Calcula fechas de clases
- $MESES = array(1=>"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
- $DIAS = array("Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado");
- $calendario = array();
- $fechasArr = array();
-
- $fecha = $fecha_min;
- $semOld=1;
-
- $cont = 0;
-
- while (strtotime($fecha) <= strtotime($fecha_max)) {
- if(date("w", strtotime($fecha)) == $diasMatArr[$cont%count($diasMatArr)]["dia"]) {//si es el día que quiero
- if($semOld != floor($cont/count($diasMatArr))+1){
- $sem = floor($cont/count($diasMatArr))+1;
- $semOld = $sem;
- $calendario[] = array("semana"=>$sem-1, "fechas"=>$fechasArr);
- $fechasArr = array();
- }
- $vacPos = buscaVacacion($fecha, $vacacionesArr);
- //echo $cont.") Fecha: ".$fecha." [".($vacPos===false?"false":"true")."]<br>";
-
- if($vacPos === false){//no vacaciones
- $fechasArr[] = array("numSesion"=>$cont+1, "fecha"=>fechaSlash($fecha)." ".$diasMatArr[$cont%count($diasMatArr)]["hora"], "mes"=>date("n", strtotime($fecha)), "habil"=>true, "dia"=>$DIAS[date("w", strtotime($fecha))-1], "titulo"=>"");
- //Si el día de la fecha no es el día del siguiente evento O se reinicia el arreglo de días
- //echo "$cont)". fechaSlash($fecha)." ";
- //echo "[".date("w", strtotime($fecha))." != ".$diasMatArr[($cont+1)%count($diasMatArr)]["dia"]."] || [ 0 == ".($cont+1)%count($diasMatArr)."]<br>";
- if(date("w", strtotime($fecha)) != $diasMatArr[$cont%count($diasMatArr)]["dia"] || ($cont+1)%count($diasMatArr)==0){
- $fecha = date ("Y-m-d", strtotime("+1 day", strtotime($fecha)));
- //echo "Cambia día<br>";
- }
- }else{//vacaciones
- $fechasArr[] = array("numSesion"=> 0,"fecha"=>fechaSlash($fecha), "mes"=>date("n", strtotime($fecha)), "habil"=>false, "dia"=>$DIAS[date("w", strtotime($fecha))-1], "titulo"=>$vacacionesArr[$vacPos]["titulo"]);
- $aux = $cont/count($diasMatArr);//para que sean de la misma semana
-
- //mientras sea el mismodía de la misma semana
- //while(date("w", strtotime($fecha)) == $diasMatArr[($cont+1)%count($diasMatArr)]["dia"] && $aux == ($cont+1)/count($diasMatArr)){
- //echo "-- while ".date("w", strtotime($fecha)) ."==". $diasMatArr[$cont%count($diasMatArr)]["dia"]." || ".($cont+1)%count($diasMatArr)."==0<br>";
- if(date("w", strtotime($fecha)) != $diasMatArr[$cont%count($diasMatArr)]["dia"] || ($cont+1)%count($diasMatArr)==0){
- while(date("w", strtotime($fecha)) == $diasMatArr[$cont%count($diasMatArr)]["dia"] && ($cont+1)%count($diasMatArr)!=0){
- $cont++;
- }
- $fecha = date ("Y-m-d", strtotime("+1 day", strtotime($fecha)));
- }
- /*if(date("w", strtotime($fecha)) != $diasMatArr[$cont%count($diasMatArr)]["dia"] || ($cont+1)%count($diasMatArr)==0){
- $fecha = date ("Y-m-d", strtotime("+1 day", strtotime($fecha)));
- }*/
- }
- $cont++;
-
- }else{
- $fecha = date ("Y-m-d", strtotime("+1 day", strtotime($fecha)));
- //echo "Cambia día else<br>";
- }
- }
-
- if($semOld != floor($cont/count($diasMatArr))){
- $sem = floor($cont/count($diasMatArr))+1;
- }else{
- $sem = floor($cont/count($diasMatArr));
- }
- $calendario[] = array("semana"=>$sem, "fechas"=>$fechasArr);
- $mesMin = $calendario[0]["fechas"][0]["mes"];
- $mesMax = $calendario[count($calendario)-1]["fechas"][0]["mes"];
- $cont = 1;
- $i=0;
- $j=0;
- for($i=0; $i< count($calendario); $i++){
- for($j=0; $j< count($calendario[$i]["fechas"]); $j++){
- if($calendario[$i]["fechas"][$j]["habil"]){
- $calendario[$i]["fechas"][$j]["numSesion"] = $cont;
- $cont++;
- }
- }
-
- }
- //---Obtiebe contenido de sesiones plan cátedra
-
- if(empty($matArr[2])){
- $stmt = $pdo->prepare('Select * from fs_sesioncatedra(:mat, :usr, :gpo, NULL, NULL)');
- }else{
- $stmt = $pdo->prepare('Select * from fs_sesioncatedra(:mat, :usr, :gpo, :sub, NULL)');
- $stmt->bindParam(":sub", $matArr[2]);
- }
- $stmt->bindParam(":usr", $_SESSION["usuario_id"]);
- $stmt->bindParam(":mat", $matArr[0]);
- $stmt->bindParam(":gpo", $matArr[1]);
- if(!$stmt->execute()){
- //print_r($stmt->errorInfo());
- $errorDesc = "Ocurrió un error al cargar las sesiones del plan de cátedra";
- }else{
- $rs = $stmt->fetchAll();
-
- $sesionesArr = array();
- $ses_old = -1;
- $subsesionArr = array();
- $i = -1;
- foreach($rs as $ses){
-
- if($ses_old != $ses["SesionCatedra_numero"]){
- $i++;
- $sesionesArr[$i]=array("sesion"=>$ses["SesionCatedra_numero"], "subsesiones"=>array());
- $ses_old = $ses["SesionCatedra_numero"];
- }
- $sesionesArr[$i]["subsesiones"][] = array("desc"=>$ses["SesionCatedra_desc"], "tipo_id"=>$ses["SesionCatedraTipo_id"], "tipo"=>$ses["SesionCatedraTipo_desc"], "color"=>$ses["SesionCatedraTipo_color"]);
- //$diasMatArr[] = array( "dia"=> $dia["Dia_id"], "hora"=>substr($dia["Horario_hora"],0, 5));
- }
- }
-
- //print_r($sesionesArr); exit();
- $stmt->closeCursor();
- $stmt = null;
- //Obtiene mapa
- $stmt = $pdo->prepare('select * from fs_atributoegreso_materia(:mat)');
- $stmt->bindParam(":mat", $matArr[0]);
- if(!$stmt->execute()){
- $errorDesc = "Ocurrió un error al cargar los datos de los atributos de egreso.";
- }else{
- $atributos_rs = $stmt->fetchAll();
- }
-
- }
- ?>
- <!DOCTYPE html>
- <html lang="es" prefix="og: http://ogp.me/ns#">
- <head>
- <title>APSA - Facultad de Ingeniería</title>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <link rel="icon" type="image/png" href="../img/favicon.png" />
- <link rel="stylesheet" href="../css/bootstrap-ulsa.min.css" type="text/css">
- <link rel="stylesheet" href="../css/indivisa.css" type="text/css">
- <link rel="stylesheet" href="../css/sgi.css?rand=<?php echo rand();?>" type="text/css">
- <link rel="stylesheet" href="../css/fa_all.css" type="text/css">
- <link rel="stylesheet" href="../css/jquery-ui.css" type="text/css">
- <link rel="stylesheet" href="../css/calendar.css" type="text/css">
- <link rel="stylesheet" href="./css/richtext.css" type="text/css">
- <script src="../js/util.js"></script>
- <style>
- #copy-box {
- position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: #fea; border-radius: 5px; padding: 10px 20px;
- display: none; z-index:1000;
- box-shadow: -1px 5px 5px 1px rgba(0,0,0,0.61);
- -webkit-box-shadow: -1px 5px 5px 1px rgba(0,0,0,0.61);
- -moz-box-shadow: -1px 5px 5px 1px rgba(0,0,0,0.61);
- }
- </style>
- </head>
- <body>
- <div>
- <?php
- //--- Objeto que pinta menu
- $menuObj = new MainMenu($_SESSION["usuario_id"], $menu, $pdo, APSA, "Syllabus de materias");//usr, menu, pdo, sist
- $menuObj->printMenu();
-
-
- //--Manejo de errores y mensajes de exito
- if(isset($_GET["error"]) && is_numeric($_GET["error"])){
- switch ($_GET["error"]){
- case 0: $errorDesc = "No se reciberon los datos."; break;
- case 1: $errorDesc = "Ocurrió un error al insertar los datos del syllabus."; break;
- case 2: $errorDesc = "No tienes permisos para realizar esa acción."; break;
- case 3: $errorDesc = "Ocurrió un error al cargar los datos del syllabus."; break;
- case 4: $errorDesc = "Ocurrió un error al cargar los datos del plan de cátedra."; break;
- case 5: $errorDesc = "Ocurrió un error al cargar los datos de los atributos de egreso."; break;
- }
- }
- if(isset($_GET["ok"]) && is_numeric($_GET["ok"])){
- switch ($_GET["ok"]){
- case 0: $successDesc = "El syllabus se actualizó correctamente."; break;
- case 1: $successDesc = "El plan de cátedra se actualizó correctamente."; break;
- }
- }
- ?>
- <main class="container-fluid content marco">
-
- <?php include_once("../include/errorMessage.php");?>
-
- <?php include("../include/periodoCambio.php");?>
-
- <!-- Filtro -->
- <div class="row">
- <div class="col-12">
- <form action="syllabus.php" method="post" onsubmit="return validaForm()">
- <input type="hidden" id="filter_gpo_nom" name="gpo_nom" value="<?php if(isset($filter_gpo_nom)) echo $filter_gpo_nom;?>">
- <input type="hidden" id="filter_materia_nom" name="materia_nom" value="<?php if(isset($filter_materia_nom)) echo $filter_materia_nom;?>">
- <div class="form-box form-box-info">
- <div class="form-group row">
- <label for="filter_materia" class="col-4 col-form-label">Materia y grupo</label>
- <div class="col-6">
- <div class="datalist datalist-select mb-1 w-100" id="dlMateria">
- <div class="datalist-input">Mostrar todas</div>
- <span class="ing-buscar icono"></span>
- <ul style="display:none">
- <?php foreach($mat_rs as $mat) { ?>
- <li data-gpo_nom="<?php echo $mat["Grupo_desc"].$mat["Carrera_prefijo"];?>" data-id="<?php echo $mat["Materia_id"]."_".$mat["Grupo_id"]."_".$mat["Submateria_id"];?>" <?php if(isset($filter_mat) && $filter_mat == ($mat["Materia_id"]."_".$mat["Grupo_id"]."_".$mat["Submateria_id"])){
- echo "class='selected'";}?> ><?php echo $mat["Materia_desc"]." - ".$mat["Grupo_desc"].$mat["Carrera_prefijo"];?></li>
- <?php }?>
- </ul>
- <input type="hidden" id="filter_materia" name="materia" value="">
- </div>
- </div>
- </div>
- </div>
- <div class="form-group row">
- <div class="col-12 text-center">
- <button type="submit" class="btn btn-outline-primary"><?php echo $ICO["buscar"]; ?> Ver Syllabus y plan de cátedra</button>
- <!--<button type="button" class="btn btn-outline-danger btn-reset"><?php echo $ICO["borrar"]?> Limpiar</button>-->
- </div>
- </div>
- </form>
- </div>
- </div>
- <?php if(isset($_POST["materia"])){ ?>
- <div class="d-flex mt-5 mb-4 resp-block">
- <div class="flex-grow-1"><h2 class="font-weight-bold subtitle pr-2"><?php echo $filter_materia_nom;?></h2> </div>
- <div class="text-nowrap">
- <a href="#" data-toggle="modal" data-target="#modal" class="btn btn-outline-secondary"><span class="ing-copiar"></span> Copiar datos desde...</a>
- </div>
- </div>
- <ul class="nav nav-tabs d-print-none mb-4 resp-block" id="myTab" role="tablist">
- <li class="nav-item">
- <a class="nav-link active" id="tab1-tab" data-toggle="tab" href="#tab1" role="tab" aria-controls="syllabus" aria-selected="true">Syllabus</a>
- </li>
- <li class="nav-item">
- <a class="nav-link" id="tab2-tab" data-toggle="tab" href="#tab2" role="tab" aria-controls="plan" aria-selected="false">Plan de cátedra</a>
- </li>
- </ul>
- <div class="tab-content resp-block" id="TabContent">
- <div class="tab-pane fade show active" id="tab1" role="tabpanel" aria-labelledby="tab1-tab">
- <?php if (isset($syllabus_rs)){ ?>
- <div class="text-right mb-2">
- <form action="./export/pdf_syllabus.php" target="_blank" method="post">
- <input type="hidden" name="mat" value="<?php echo $matArr[0];?>">
- <input type="hidden" name="gpo" value="<?php echo $matArr[1];?>">
- <input type="hidden" name="gpo_nom" value="<?php echo $filter_gpo_nom;?>">
- <input type="hidden" name="sub" value="<?php if (isset($matArr[2])){ echo $matArr[2];}?>">
- <?php if(strtotime(date("Y-m-d")) <= strtotime($fecha_limite)){ ?>
- <button type="button" class="btn btn-outline-primary submitBtn" data-tipo="1"><?php echo $ICO["aceptar"];?> Guardar Syllabus</button>
- <?php } ?>
- <button type="submit" class="btn btn-outline-secondary"><?php echo $ICO["descargar"];?>Mostrar pdf</button>
- </form>
- </div>
- <?php if(strtotime(date("Y-m-d")) <= strtotime($fecha_limite)){ ?>
- <p><button class="btn btn-outline-danger border-0 btn-sm" data-tipo="1" data-toggle="modal" data-target="#modal_confirm"><?php echo $ICO["borrar"];?> Borrar todo</button></p>
- <?php } ?>
- <div class="row">
- <div class="col-12" id="accordion">
- <?php if(strtotime(date("Y-m-d")) > strtotime($fecha_limite)){ ?>
- <div class="alert alert-warning" role="alert">
- <h5 class="text-center my-0"><span class="ing-retardo"></span> El periodo para editar el Syllabus se ha terminado.</h5>
- </div>
- <?php }?>
- <form action="./action/syllabus_insert.php" method="post" id="formaSyllabus">
- <input type="hidden" value="<?php echo $filter_mat; ?>" name="materia" id="materiaSyllabus">
- <div class="form-box py-0 px-3 mb-0">
- <div class="form-group row bg-light mb-0 py-4 rounded-top">
- <label for="texto" class="col-3 col-form-label">Información general *</label>
- <div class="col-9">
- <textarea name="info" id="info" class="richtext" rows="4"><?php if(!empty($syllabus_rs["Syllabus_informacion"])){echo $syllabus_rs["Syllabus_informacion"];}?></textarea>
- </div>
- </div>
- <?php if(isset($atributos_rs) && count($atributos_rs) > 0){ ?>
- <div class="form-group row bg-light mb-0 pb-4 rounded-top">
- <label for="texto" class="col-3 col-form-label">Atributos de egreso</label>
- <div class="col-9">
- <?php
- $html = "<ul>";
- foreach($atributos_rs as $atr){
- $html.="<li><b>Atributo {$atr["AtributoEgreso_id"]} nivel {$atr["AtributoNivel_desc"]}:</b> {$atr["AtributoEgreso_desc"]}</li>";
- }
- $html.="</ul>";
- echo $html;
- ?>
- </div>
- </div>
- <?php } ?>
- </div>
- <h4 class="text-primary mb-0 alert-heading bg-light py-3 pl-5 pr-3 rounded ">
- <!--<a data-toggle="collapse" href="#collapseInfo" role="button" aria-expanded="true" aria-controls="collapseExample" class="d-block">
- <i class="ing-caret ing-fw float-right"></i>!-->INFORMACIÓN DE LA ASIGNATURA
- <!--</a>-->
- </h4>
- <div class="form-box py-4 px-3 mb-0 border-light border" id="collapseInfo" data-parent="#accordion"> <!-- class collapse show -->
- <div class="form-group row">
- <label for="texto" class="col-3 col-form-label">Descripción *</label>
- <div class="col-9">
- <textarea name="desc" id="desc" class="richtext" rows="5"><?php if(!empty($syllabus_rs["Syllabus_desc"])){ echo $syllabus_rs["Syllabus_desc"];}?></textarea>
- </div>
- </div>
- <div class="form-group row">
- <label for="texto" class="col-3 col-form-label">Objetivos *</label>
- <div class="col-9">
- <textarea name="obj" id="obj" class="richtext" rows="5"><?php if(!empty($syllabus_rs["Syllabus_obj"])){echo $syllabus_rs["Syllabus_obj"];}?></textarea>
- </div>
- </div>
- <div class="form-group row">
- <label for="texto" class="col-3 col-form-label">Capacidades y habilidades que desarrollar *</label>
- <div class="col-9">
- <textarea name="capacidades" id="capacidades" class="richtext" rows="5"><?php if(!empty($syllabus_rs["Syllabus_capacidades"])){echo $syllabus_rs["Syllabus_capacidades"];}?></textarea>
- </div>
- </div>
- <div class="form-group row">
- <label for="texto" class="col-3 col-form-label">Prerrequisitos *</label>
- <div class="col-9">
- <textarea name="prerrequisitos" id="prerrequisitos" class="richtext" rows="5"><?php if(!empty($syllabus_rs["Syllabus_prerrequisitos"])){echo $syllabus_rs["Syllabus_prerrequisitos"];}?></textarea>
- </div>
- </div>
- <div class="form-group row">
- <label for="texto" class="col-3 col-form-label">Temario *</label>
- <div class="col-9">
- <textarea name="temario" id="temario" class="richtext-table" rows="15"><?php if(!empty($syllabus_rs["Syllabus_temario"])){echo $syllabus_rs["Syllabus_temario"];}?></textarea>
- </div>
- </div>
- <div class="form-group row">
- <label for="texto" class="col-3 col-form-label">Construcción de la calificación final *</label>
- <div class="col-9">
- <textarea name="calificacion" id="calificacion" class="richtext-table" rows="10"><?php if(!empty($syllabus_rs["Syllabus_calificacion"])){echo $syllabus_rs["Syllabus_calificacion"];}?></textarea>
- </div>
- </div>
-
- <div class="form-group row">
- <label for="texto" class="col-3 col-form-label">Fechas importantes *</label>
- <div class="col-9">
- <textarea name="fechas" id="fechas" class="richtext-table" rows="10"><?php if(!empty($syllabus_rs["Syllabus_fechas"])){echo $syllabus_rs["Syllabus_fechas"];}?></textarea>
- </div>
- </div>
- </div>
- <h4 class="text-primary mb-0 alert-heading bg-light py-3 pl-5 pr-3 rounded "ah >
- <!--<a class="collapsed d-block" data-toggle="collapse" href="#collapseLin" role="button" aria-expanded="false" aria-controls="collapseExample">
- <i class="ing-caret ing-fw float-right"></i>-->LINEAMIENTOS GENERALES<!--</a> -->
- </h4>
- <div class="form-box py-4 px-3 mb-0 border-light border" id="collapseLin" data-parent="#accordion"> <!-- class collapse -->
- <div class="form-group row">
- <label for="texto" class="col-3 col-form-label">De la asistencia y puntualidad *</label>
- <div class="col-9">
- <textarea name="asistencia" id="asistencia" class="richtext" rows="15"><?php if(!empty($syllabus_rs["Syllabus_asistencia"])){echo $syllabus_rs["Syllabus_asistencia"];}?></textarea>
- </div>
- </div>
- <div class="form-group row">
- <label for="texto" class="col-3 col-form-label">Del comportamiento en clase *</label>
- <div class="col-9">
- <textarea name="comportamiento" id="comportamiento" class="richtext" rows="15"><?php if(!empty($syllabus_rs["Syllabus_comportamiento"])){echo $syllabus_rs["Syllabus_comportamiento"];}?></textarea>
- </div>
- </div>
- <div class="form-group row">
- <label for="texto" class="col-3 col-form-label">De los exámenes *</label>
- <div class="col-9">
- <textarea name="examenes" id="examenes" class="richtext" rows="15"><?php if(!empty($syllabus_rs["Syllabus_examenes"])){echo $syllabus_rs["Syllabus_examenes"];}?></textarea>
- </div>
- </div>
- <div class="form-group row">
- <label for="texto" class="col-3 col-form-label">De las tareas, prácticas y exposiciones *</label>
- <div class="col-9">
- <textarea name="tareas" id="tareas" class="richtext" rows="15"><?php if(!empty($syllabus_rs["Syllabus_tareas"])){echo $syllabus_rs["Syllabus_tareas"];}?></textarea>
- </div>
- </div>
- <div class="form-group row">
- <label for="texto" class="col-3 col-form-label">Trabajos de investigación *</label>
- <div class="col-9">
- <textarea name="investigacion" id="investigacion" class="richtext" rows="15"><?php if(!empty($syllabus_rs["Syllabus_investigacion"])){echo $syllabus_rs["Syllabus_investigacion"];}?></textarea>
- </div>
- </div>
- </div>
- <h4 class="text-primary mb-0 alert-heading bg-light py-3 pl-5 pr-3 rounded "ah >
- <!--<a class="collapsed d-block" data-toggle="collapse" href="#collapseBib" role="button" aria-expanded="false" aria-controls="collapseExample">
- <i class="ing-caret ing-fw float-right"></i>-->BIBLIOGRAFÍA<!--</a> -->
- </h4>
- <div class="form-box py-4 px-3 mb-0 border-light border" id="collapseBib" data-parent="#accordion">
- <div class="form-group row">
- <label for="texto" class="col-3 col-form-label">Bibliografía recomendada *</label>
- <div class="col-9">
- <textarea name="bibliografia" id="bibliografia" class="richtext" rows="15"><?php if(!empty($syllabus_rs["Syllabus_bibliografia"])){echo $syllabus_rs["Syllabus_bibliografia"];}?></textarea>
- </div>
- </div>
- </div>
- <?php if(strtotime(date("Y-m-d")) <= strtotime($fecha_limite)){ ?>
- <div class="form-group row mt-4">
- <div class="col-12 text-center">
- <button type="button" class="btn btn-outline-primary submitBtn" data-tipo="1"><?php echo $ICO["aceptar"];?> Guardar Syllabus</button>
- </div>
- </div>
- <?php } ?>
- </form>
- </div>
- </div>
- <?php } ?>
- </div>
- <!-- Plan de cátedra -->
- <div class="tab-pane fade" id="tab2" role="tabpanel" aria-labelledby="tab2-tab">
- <div id="plan_catedra">
- <div class="text-right mb-2">
- <form action="./export/pdf_plancatedra.php" target="_blank" method="post">
- <input type="hidden" name="mat" value="<?php echo $matArr[0];?>">
- <input type="hidden" name="gpo" value="<?php echo $matArr[1];?>">
- <input type="hidden" name="gpo_nom" value="<?php echo $filter_gpo_nom;?>">
- <input type="hidden" name="sub" value="<?php if (isset($matArr[2])){ echo $matArr[2];}?>">
- <button type="button" class="btn btn-outline-primary submitBtn2"><?php echo $ICO["aceptar"];?> Guardar Plan de cátedra</button>
- <button type="submit" class="btn btn-outline-secondary"><?php echo $ICO["descargar"];?>Mostrar pdf</button>
- </form>
- </div>
- <div class="form-box my-3">
- <div class="form-group row">
- <label for="semana" class="col-4 col-form-label text-right ">Ir a semana</label>
- <div class="col-8 col-md-3">
- <select id="semana" class="custom-select">
- <?php for($i = 1; $i<=$sem; $i++){?>
- <option value="s<?php echo $i;?>">Semana <?php echo $i;?></option>
- <?php } ?>
- </select>
- <!--<div class="datalist datalist-select mb-1 w-100" id="dlSemana">
- <div class="datalist-input">Selecciona una semana</div>
- <span class="ing-buscar icono"></span>
- <ul style="display:none">
- <?php for($i = 1; $i<=$sem; $i++){?>
- <li data-id="<?php echo $i;?>"><a href="#s<?php echo $i;?>">Semana <?php echo $i;?></a></li>
- <?php } ?>
- </ul>
- <input type="hidden" id="semana" name="semana" value="">
- </div>-->
- </div>
-
- </div>
- <div class="form-group row">
- <label for="meses" class="col-4 col-form-label text-right ">Ir a mes</label>
- <div class="col-8 col-md-3">
- <select id="meses" class="custom-select">
- <?php
- $i = $mesMin-1;
- if($i<=0)
- $i=1;
-
- while($i!=$mesMax){?>
- <option value="mes<?php echo $i;?>"><?php echo $MESES[$i];?></option>
- <?php
- $i= ($i)%12+1;
- }
- ?>
- </select>
- <!--<div class="datalist datalist-select mb-1 w-100" id="dlSemana">
- <div class="datalist-input">Selecciona una semana</div>
- <span class="ing-buscar icono"></span>
- <ul style="display:none">
- <?php for($i = 1; $i<=$sem; $i++){?>
- <li data-id="<?php echo $i;?>"><a href="#s<?php echo $i;?>">Semana <?php echo $i;?></a></li>
- <?php } ?>
- </ul>
- <input type="hidden" id="meses" name="semana" value="">
- </div>-->
- </div>
-
- </div>
- </div>
-
- <p><button class="btn btn-outline-danger border-0 btn-sm" data-tipo="2" data-toggle="modal" data-target="#modal_confirm"><?php echo $ICO["borrar"];?> Borrar todo</button></p>
- <?php
- $first = true;
-
- foreach($calendario as $semana){ ?>
- <h4 class="text-primary mb-0 alert-heading bg-light py-3 pl-5 pr-3 rounded " id="s<?php echo $semana["semana"];?>">
- <?php echo "Semana ".$semana["semana"];?>
- </h4>
-
- <?php foreach($semana["fechas"] as $dia){ ?>
- <div class="row border-bottom py-3 sesion-row <?php if(!$dia["habil"]){ echo 'alert-success';}?>" <?php if($dia["habil"]){ ?>data-sesion_num="<?php echo $dia["numSesion"];?>" <?php } ?>>
-
- <?php if($dia["habil"]){ ?>
- <div class="col-2 text-center ">
- <p class="font-weight-bold mb-1">Sesión <?php echo $dia["numSesion"];?></p>
- <p><button class="btn btn-outline-info" title="Mover sesión completa" data-toggle="modal" data-target="#modal_mover_todo"><span class="ing-cambiar ing-rotate-90"></span></button></p>
- </div>
- <div class="col-10 px-0 mes<?php echo $dia["mes"]; ?>" >
- <p class="mb-1"><?php echo $dia["dia"]." ".fechaTexto($dia["fecha"]);?></p>
- <div class="sesion-box" data-sesion="<?php echo $dia["numSesion"];?>" id="ses_<?php echo $dia["numSesion"];?>">
- <?php $sesArr = getSesiones($sesionesArr, $dia["numSesion"]);
- if( count($sesArr)==0){//no hay en BD
- ?>
- <div class="row sesion-evento mb-1" data-pos="1">
- <div class="col-9">
- <div class="input-group">
- <div class="input-group-prepend">
- <button type="button" class="btn btn-outline-danger btn-sm btn-borrar" title="Borrar contenido"><span class="ing-borrar"></span></button>
- <button type="button" class="btn btn-outline-info btn-sm btn-copiar" title="Copiar contenido"><span class="ing-copiar"></span></button>
- </div>
- <input type="text" class="form-control sesion-desc" name="desc[]" placeholder="Temas de la sesión">
- <div class="input-group-append">
- <div class="input-group-text rounded-0 sesion-color" style="width:40px; background-color:<?php echo $tipoSesionArr[0]["SesionCatedraTipo_color"];?>" title="<?php echo $tipoSesionArr[0]["SesionCatedraTipo_desc"];?>" data-tipo="<?php echo $tipoSesionArr[0]["SesionCatedraTipo_id"];?>">
- </div>
- <button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
- <span class="sr-only">Toggle Dropdown</span>
- </button>
- <div class="dropdown-menu">
- <?php foreach($tipoSesionArr as $tses){?>
- <a class="dropdown-item" href="#" data-color="<?php echo $tses["SesionCatedraTipo_color"];?>" data-tipo="<?php echo $tses["SesionCatedraTipo_id"];?>"><span class="ing-bullet ing-lg mr-2" style="color:<?php echo $tses["SesionCatedraTipo_color"];?>"></span> <?php echo $tses["SesionCatedraTipo_desc"];?></a>
- <?php } ?>
- </div>
- </div>
- </div>
- </div>
- <div class="col-3 botones pt-1">
- <div style="width:3em; display:none">
- <button class="btn btn-sm btn-block btn-outline-secondary" style="height:40%; font-size:50%; float:left; padding:2px 0;"><?php echo $ICO["arriba"];?></button>
- <button class="btn btn-sm btn-block btn-outline-secondary" style="height:40%; font-size:50%; float:left; padding:2px 0;margin-top:2px"><?php echo $ICO["abajo"];?></button>
- </div>
- <button class="btn btn-outline-success btn-sm btn-agregar ml-1" title="Agregar sesión"><span class="ing-mas"></span></button>
- <button class="btn btn-outline-danger btn-sm btn-quitar d-none" title="Quitar sesión"><span class="ing-menos"></span></button>
- <!-- no sirve
- <button class="btn btn-outline-info btn-sm " title="Mover tema" data-toggle="modal" data-target="#modal_mover"><span class="ing-cambiar ing-rotate-90"></span></button>
- -->
- </div>
- </div>
- <?php }else{// Si hay en BD
- $p=1;
- foreach($sesArr as $ses){?>
- <div class="row sesion-evento mb-1" data-pos="<?php echo $p;?>">
- <div class="col-9">
- <div class="input-group">
- <div class="input-group-prepend">
- <button type="button" class="btn btn-outline-danger btn-sm btn-borrar" title="Borrar contenido"><span class="ing-borrar"></span></button>
- <button type="button" class="btn btn-outline-info btn-sm btn-copiar" title="Copiar contenido"><span class="ing-copiar"></span></button>
- </div>
- <input type="text" class="form-control sesion-desc" name="desc[]" placeholder="Temas de la sesión" value="<?php echo $ses["desc"]; ?>">
- <div class="input-group-append">
- <div class="input-group-text rounded-0 sesion-color" style="width:40px; background-color:<?php echo $ses["color"];?>" title="<?php echo $ses["tipo"];?>" data-tipo="<?php echo $ses["tipo_id"];?>">
- </div>
- <button type="button" class="btn btn-primary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
- <span class="sr-only">Toggle Dropdown</span>
- </button>
- <div class="dropdown-menu">
- <?php foreach($tipoSesionArr as $tses){?>
- <a class="dropdown-item" href="#" data-color="<?php echo $tses["SesionCatedraTipo_color"];?>" data-tipo="<?php echo $tses["SesionCatedraTipo_id"];?>"><span class="ing-bullet ing-lg mr-2" style="color:<?php echo $tses["SesionCatedraTipo_color"];?>"></span> <?php echo $tses["SesionCatedraTipo_desc"];?></a>
- <?php } ?>
- </div>
- </div>
- </div>
- </div>
- <div class="col-3 botones pt-1">
- <div style="width:3em; display:none">
- <button class="btn btn-sm btn-block btn-outline-secondary" style="height:40%; font-size:50%; float:left; padding:2px 0;"><?php echo $ICO["arriba"];?></button>
- <button class="btn btn-sm btn-block btn-outline-secondary" style="height:40%; font-size:50%; float:left; padding:2px 0;margin-top:2px"><?php echo $ICO["abajo"];?></button>
- </div>
- <button class="btn btn-outline-success btn-sm btn-agregar ml-1" title="Agregar sesión"><span class="ing-mas"></span></button>
- <button class="btn btn-outline-danger btn-sm btn-quitar d-none" title="Quitar sesión"><span class="ing-menos"></span></button>
- <!-- no sirve
- <button class="btn btn-outline-info btn-sm" title="Mover tema" data-toggle="modal" data-target="#modal_mover"><span class="ing-cambiar ing-rotate-90"></span></button>
- -->
- </div>
- </div>
- <?php
- $p++;
- }
- ?>
- <?php }//else ?>
- </div>
- </div>
-
- <?php } else{//Vacaciones ?>
- <div class="col-10 offset-2">
- <p><?php echo $dia["dia"]." ".fechaTexto($dia["fecha"]);?></p>
- <h4 class=""><?php echo $dia["titulo"];?></h4>
- </div>
- <?php } ?>
- </div>
- <?php }//for días ?>
- <?php }//for semanas ?>
- <div class="row mt-4">
- <div class="col-12 text-center">
- <button type="button" class="btn btn-outline-primary submitBtn2"><?php echo $ICO["aceptar"];?> Guardar Plan de cátedra</button>
- </div>
- </div>
- </div>
-
- </div>
- </div>
- <?php } ?>
- </main>
- <div id="bottom"></div>
- <a href="#top" id="scroll-up" class="btn btn-primary btn-sm" role="button" aria-pressed="true" style="display: none; position: fixed; bottom: 3rem; right: 1rem;">
- <?php echo $ICO['arriba']; ?>
- </a>
- <!-- Scroll down -->
- <a href="#bottom" id="scroll-down" class="btn btn-primary btn-sm" role="button" aria-pressed="true" style="display: none; position: fixed; bottom: 1rem; right: 1rem;">
- <?php echo $ICO['abajo']; ?>
- </a>
- <div id="copy-box"></div>
- <!--- FOOTER--->
- <?php require_once("../include/footer.php");?>
-
- <?php if($objSesion->puedeEditar() && isset($_POST["materia"])){ ?>
-
- <!-- Modal -->
- <div class="modal fade" id="modal" tabindex="-1" role="dialog" aria-labelledby="modal" aria-hidden="true">
- <div class="modal-dialog modal-dialog-centered modal-lg" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h4 class="col-12 modal-title text-center"><span id="modalLabel">Copiar datos desde…</span>
- <button type="button" class="close text-white" data-dismiss="modal" aria-label="Close">
- <span aria-hidden="true">×</span>
- </button></h4>
- </div>
- <div class="modal-body">
-
- <input type="hidden" name="id" id="id">
- <input type="hidden" name="estado" value="1">
- <div class="form-box">
- <p>Selecciona la materia de la que deseas obtener los datos para copiarlos a la materia actual. Los datos actuales serán sobreescritos.</p>
- <div class="form-group row" id="periodoBlock">
- <label for="prof" class="col-4 col-form-label">Periodo *</label>
- <div class="col-8">
- <div class="datalist datalist-select mb-1 w-100" id="dlPeriodoCopy">
- <div class="datalist-input">Otros periodos</div>
- <span class="ing-buscar icono"></span>
- <ul style="display:none">
- <?php foreach($periodosN_rs as $per){?>
- <li data-id="<?php echo $per["Periodo_id"];?>"><?php echo $per["Periodo_desc"];?></li>
- <?php } ?>
- </ul>
- <input type="hidden" id="periodo_copy" name="periodo" value="">
- </div>
- </div>
- </div>
-
- <div class="form-group row" id="materiaBlock">
- <label for="horario" class="col-4 col-form-label">Materia original*</label>
- <div class="col-8">
-
- <div class="datalist datalist-select mb-1 w-100" id="dlMateriaCopy">
- <div class="datalist-input">Selecciona una materia</div>
- <span class="ing-buscar icono"></span>
- <ul style="display:none">
- <?php
- if(isset($mat_rs)){
- foreach($mat_rs as $materia) {
- if( !(intval($matArr[0]) == intval($materia["Materia_id"]) && intval($matArr[1]) == intval($materia["Grupo_id"]))){
- $nombre = $materia["Materia_desc"]." - ".$materia["Grupo_desc"]." ".$materia["Carrera_prefijo"];
- ?>
- <li data-id="<?php echo $materia["Materia_id"]."_".$materia["Grupo_id"]."_".$materia["Submateria_id"];?>" >
- <?php echo $nombre;?></li>
- <?php }//if
- }//foreach
- }//if ?>
- </ul>
- <input type="hidden" id="materia_copy" name="materia" value="">
- </div>
- </div>
- </div>
- <div class="form-group row copiar-block" >
- <label for="prof" class="col-4 col-form-label">Copiar *</label>
- <div class="col-8">
- <div class="datalist datalist-select mb-1 w-100">
- <div class="datalist-input">Syllabus y Plan de Cátedra</div>
- <span class="ing-buscar icono"></span>
- <ul style="display:none">
- <li data-id="1">Syllabus y Plan de Cátedra</li>
- <li data-id="2">Syllabus</li>
- <li data-id="3">Plan de Cátedra</li>
- </ul>
- <input type="hidden" id="tipo_copy" name="tipo" value="1">
- </div>
- </div>
- </div>
- </div>
-
- <div class="form-group row mt-3">
- <div class="col-12 text-center">
- <button type="button" class="btn btn-outline-primary" id="copiarBtn" data-tipo="1" style="display:none"><?php echo $ICO["aceptar"];?> Copiar estos datos</button>
- <button type="reset" class="btn btn-outline-danger" data-dismiss="modal"><?php echo $ICO["cancelar"];?> Cancelar</button>
- </div>
- </div>
-
- </div>
- </div>
- </div>
- </div>
-
- <div class="modal fade" id="modal_confirm" tabindex="-1" role="dialog" aria-labelledby="modal" aria-hidden="true">
- <div class="modal-dialog modal-dialog-centered" role="document">
- <div class="modal-content">
- <div class="modal-body">
- <div class="row">
- <div class="col">
- <p class="font-weight-bold">¿Estás seguro de que quieres borrar todo el contenido del <span id="borrar_tipo"></span>?</p>
- <p>Esta acción no se puede deshacer.</p>
- </div>
- </div>
- </div>
- <div class="modal-footer">
- <input type="hidden" id="tipo_borrar" value="">
- <button type="button" class="btn btn-outline-primary btn-borrar-todo"><?php echo $ICO["aceptar"];?> Borrar</button>
- <button type="button" class="btn btn-outline-danger" data-dismiss="modal" aria-label="Close"><?php echo $ICO["cancelar"];?> Cancelar</button>
- </div>
- </div>
- </div>
- </div>
- <div class="modal fade" id="modal_mover_todo" tabindex="-1" role="dialog" aria-labelledby="modal" aria-hidden="true">
- <div class="modal-dialog modal-dialog-centered" role="document">
- <div class="modal-content">
- <div class="modal-body">
- <div class="row">
- <div class="col">
- <p class="font-weight-bold">¿A qué sesión te gustaría mover la sesión actual?</p>
- <p>Todos las sesiones se recorrerán.</p>
- </div>
- </div>
- <div class="form-box">
- <div class="form-group row">
- <label for="sesion_destino_todo" class="col-4 col-form-label">Sesión destino</label>
- <div class="col-6">
- <select class="custom-select" id="sesion_destino_todo">
- <option valida="0">Selecciona una sesión</option>
- <?php
- $max = 0;
- foreach($calendario as $semana){
- foreach($semana["fechas"] as $dia){
- if($dia["numSesion"]>0){
- $max = $dia["numSesion"];
- ?>
- <option value="<?php echo $dia["numSesion"];?>"><?php echo "#".$dia["numSesion"]." - ".fechaTexto($dia["fecha"]);?></option>
- <?php }
- }
- } ?>
- </select>
- </div>
- </div>
- </div>
- </div>
- <div class="modal-footer">
- <input type="hidden" id="sesion_mover_todo" value="">
- <button type="button" class="btn btn-outline-primary btn-mover-todo"><?php echo $ICO["aceptar"];?> Mover</button>
- <button type="button" class="btn btn-outline-danger" data-dismiss="modal" aria-label="Close"><?php echo $ICO["cancelar"];?> Cancelar</button>
- </div>
- </div>
- </div>
- </div>
- <div class="modal fade" id="modal_mover" tabindex="-1" role="dialog" aria-labelledby="modal" aria-hidden="true">
- <div class="modal-dialog modal-dialog-centered" role="document">
- <div class="modal-content">
- <div class="modal-body">
- <div class="row">
- <div class="col">
- <p class="font-weight-bold">¿A qué sesión te gustaría mover el tema actual?</p>
- <p>Las sesiones no se alteran.</p>
- </div>
- </div>
- <div class="form-box">
- <div class="form-group row">
- <label for="sesion_destino" class="col-4 col-form-label">Sesión destino</label>
- <div class="col-6">
- <select class="custom-select" id="sesion_destino">
- <option value="0">Selecciona una sesión</option>
- <?php
- $max = 0;
- foreach($calendario as $semana){
- foreach($semana["fechas"] as $dia){
- if($dia["numSesion"]>0){
- $max = $dia["numSesion"];
- ?>
- <option value="<?php echo $dia["numSesion"];?>"><?php echo "#".$dia["numSesion"]." - ".fechaTexto($dia["fecha"]);?></option>
- <?php }
- }
- } ?>
- </select>
- </div>
- </div>
- </div>
- </div>
- <div class="modal-footer">
- <input type="hidden" id="sesion_mover" value="">
- <input type="hidden" id="sesion_pos" value="">
- <button type="button" class="btn btn-outline-primary btn-mover"><?php echo $ICO["aceptar"];?> Mover</button>
- <button type="button" class="btn btn-outline-danger" data-dismiss="modal" aria-label="Close"><?php echo $ICO["cancelar"];?> Cancelar</button>
- </div>
- </div>
- </div>
- </div>
- <?php } ?>
- </div>
-
- <script src="../js/jquery.min.js"></script>
-
- <script src="../js/bootstrap/popper.min.js"></script>
- <script src="../js/bootstrap/bootstrap.min.js"></script>
- <script src="../js/fechas.js"></script>
-
- <script src="../js/tinymce/tinymce.min.js"></script>
- <script src="../js/sidebarmenu.js"></script>
- <script src="../js/datalist.js"></script>
- <script>
- setDatalist("#periodo", <?php echo $_SESSION["periodo_id"]; ?>);
- $(document).on('click', '#dlPeriodo ul li' ,function(){
- $("#formaPeriodo").submit();
- });
- </script>
-
- <script>
- $(document).on( "click", ".btn-reset", function(event){
- var forma = $(this).parents("form");
- forma.find("input[type=text]").val("");
- forma.find("select").prop("selectedIndex",0);
- forma.submit();
- });
- var _periodo_fecha_inicial = "<?php echo fechaSlash($periodo_rs["Periodo_fecha_inicial"]); ?>";
- var _periodo_fecha_final = "<?php echo fechaSlash($periodo_rs["Periodo_fecha_final"]); ?>";
- var _modificado = false;
- tinymce.init({
- selector: '.richtext',
- statusbar: false,
- plugins:["lists link"],
- toolbar: ['undo redo | bold italic underline forecolor backcolor | bullist numlist indent outdent | alignleft aligncenter alignright alignjustify','h3 link | removeformat'],
- branding: false,
- menubar: false,
- <?php if(strtotime(date("Y-m-d")) > strtotime($fecha_limite)){
- echo "readonly : 1,";
- } ?>
- //valid_elements: "a[href|target=_blank],h3,strong/b,em/i,u,ul,ol,li,blockquote,p[align],br,hr,span[style],-strong/-b,-em/-i,-u,-ul,-ol,-li,-h3,-a,-blockquote,-p,-br,-hr,-span",
- //paste_as_text: true,
- formats: {
- // Changes the default format for the underline button to produce a span with a class and not merge that underline into parent spans
- underline: { inline: 'span', styles: { 'text-decoration': 'underline' }, exact: true },
- strikethrough: { inline: 'span', styles: { 'text-decoration': 'line-through' }, exact: true }
- },
- init_instance_callback: function (editor) {
- editor.on('Blur', function (e) {
- if( editor.getContent()!= "")
- _modificado = true;
- });
- }
-
- });
- tinymce.init({
- selector: '.richtext-table',
- statusbar: false,
- plugins:["lists link table"],
- toolbar: ['undo redo | bold italic underline forecolor backcolor | bullist numlist indent outdent | alignleft aligncenter alignright alignjustify','h3 link | table removeformat'],
- branding: false,
- menubar: false,
- table_toolbar:'',//Quita popup
- <?php if(strtotime(date("Y-m-d")) > strtotime($fecha_limite)){
- echo "readonly : 1,";
- } ?>
- //valid_elements: "a[href|target=_blank],h3,strong/b,em/i,u,ul,ol,li,blockquote,p[align],br,hr,span[style],table,thead,tbody,tr,td,th,-strong/-b,-em/-i,-u,-ul,-ol,-li,-h3,-a,-blockquote,-p,-br,-hr,-span",
- //paste_as_text: true,
- formats: {
- // Changes the default format for the underline button to produce a span with a class and not merge that underline into parent spans
- underline: { inline: 'span', styles: { 'text-decoration': 'underline' }, exact: true },
- strikethrough: { inline: 'span', styles: { 'text-decoration': 'line-through' }, exact: true }
- },
- init_instance_callback: function (editor) {
- editor.on('Blur', function (e) {
- if( editor.getContent()!= "")
- _modificado = true;
- });
- }
- });
- function validaForm(){
- if($("#filter_materia").val()==""){
- invalidDatalist("#filter_materia", true);
- return false;
- }
- return true;
- }
- $(document).ready(function(){
- $("#dlMateria ul li").click(function(){//cambia datalist de materia principal
- if($(".resp-block").length > 0)
- $(".resp-block").hide().removeClass("d-flex");
- var texto = $(this).text();
- $("#filter_materia_nom").val(texto);//Actualiza nombre para enviar forma
- $("#filter_gpo_nom").val( $(this).data("gpo_nom") );//Actualiza nombre para enviar forma
- invalidDatalist("#filter_materia", false);
- });
- });
- </script>
- <?php if($objSesion->puedeEditar() && isset($_POST["materia"])){
-
- ?>
- <script>
- function valida(){
- var ids=["info", "desc", "obj", "capacidades", "prerrequisitos", "temario", "calificacion", "fechas", "asistencia", "comportamiento", "examenes", "tareas", "investigacion", "bibliografia"];
- var i;
- var incompletos = 0
- for(i=0; i<ids.length; i++){
- if(tinyMCE.get(ids[i]).getContent() == ""){
- /*$("#errorBox").collapse('show');
- $("#errorBox_text").html("Debes completar todos los campos");
- $('#messageBox')[0].scrollIntoView({ block: "end" });
- return false;*/
- incompletos++;
- }
- }
- return incompletos;
- //return true;
- }
- function preguntarAntesDeSalir(){
- if (_modificado)
- return "¿Deseas abandonar la página? Los últimos cambios que realizaste no se guardarán";
- }
- window.onbeforeunload = preguntarAntesDeSalir;
-
- $(document).ready(function(){
- //$('.richtext').richText();
- setDatalist("#periodo_copy", <?php echo $_SESSION["periodo_id"]; ?>);
- setDatalistFirst("#materia_copy");
- $.each($('.sesion-box'), function(){
- var contenedor = $(this);
- if(contenedor.find(".sesion-evento").length>1){
- contenedor.find(".btn-quitar").removeClass("d-none");
- if(contenedor.find(".sesion-evento").length==5){
- contenedor.find(".sesion-evento .btn-agregar").attr("disabled", true);
- }
- }else{
- contenedor.find(".btn-quitar").addClass("d-none");
- }
- });
-
- $('#modal').on('show.bs.modal', function (e) {
- $("#dlPeriodoCopy ul li:first").click();
- if(("#dlMateriaCopy ul li").length == 0){
- $("#copiarBtn").hide();
- $(".copiar-block").hide();
- }else{
- $("#copiarBtn").show();
- $(".copiar-block").show();
- }
- })
-
- $("#dlPeriodoCopy ul li").click(function(){//cambia datalist de modal
- var per = $(this).data("id");
- $.ajax({
- url: './action/materiasrelacionadasprofesor_select.php',
- type: 'POST',
- dataType: 'json',
- data: { "id": <?php echo $_SESSION["usuario_id"];?>, "per":per, "mat": $(filter_materia).val()},
- success: function(result) {
- if(result["error"]!= "" && result["error"] !== undefined){
- $("#errorBox").collapse('show');
- $("#errorBox_text").html(result["error"]);
- $('#messageBox')[0].scrollIntoView({ block: "end" });
- }else{
- html = "";
- var total = 0;
- for(i=0; i<result["materias"].length; i++){
- var sub_id = ""
- if(result["materias"][i]["Submateria_id"] !== null){
- sub_id = result["materias"][i]["Submateria_id"];
- }
- if(result["materias"][i]["Materia_id"]+'_'+result["materias"][i]["Grupo_id"]+'_'+sub_id != $("#filter_materia").val() ){
- nombre = result["materias"][i]["Grupo_desc"]+" "+result["materias"][i]["Carrera_prefijo"]+" - "+result["materias"][i]["Materia_desc"]
- html += '<li data-id="'+result["materias"][i]["Materia_id"]+'_'+result["materias"][i]["Grupo_id"]+'_'+sub_id+'">'+nombre+'</li>';
- total++;
- }
- }
- $("#dlMateriaCopy ul").html(html);
- setDatalistFirst("#materia_copy");
- if(total==0){
- $("#dlMateriaCopy .datalist-input").html("Sin materias relacionadas");
- $("#copiarBtn").hide();
- $(".copiar-block").hide();
- }else{
- $("#copiarBtn").show();
- $(".copiar-block").show();
- }
- }
- },
- error: function(jqXHR, textStatus, errorThrown ){
- modal.modal('hide');
- $("#errorBox").collapse('show');
- $("#errorBox_text").html(errorThrown);
- $('#messageBox')[0].scrollIntoView({ block: "end" });
- }
- });//ajax
- });
- /*
- $("#dlMateriaCopy ul li").click(function(){//cambia datalist de materia principal
-
- });*/
-
- $(".submitBtn").click(function(){//Enviar Syllabus
- var incompletos = valida();
- var res = true;
- if(incompletos > 0){
- res = confirm("Se van a guardar los datos actuales del Syllabus.\nAún tienes "+incompletos+ " campo(s) faltante(s), recuerda completarlos.");
- }
- if(res){
- var formData={}
- var ids=["info", "desc", "obj", "capacidades", "prerrequisitos", "temario", "calificacion", "fechas", "asistencia", "comportamiento", "examenes", "tareas", "investigacion", "bibliografia"];
- ids.forEach(function(id) {
- var content = tinymce.get(id).getContent(); // Obtener el contenido del TinyMCE
- formData[id] = content; // Asignar el contenido al objeto JSON utilizando el id como llave
- });
- formData["materia"]=$("#materiaSyllabus").val();
- //if(valida()){
- //$("#formaSyllabus").submit();
- $.ajax({
- url: './action/syllabus_insert.php',
- type: 'POST',
- dataType: 'json',
- data: formData,
- success: function(result) {
- if(result["error"]!= "" && result["error"] !== undefined){
- $("#errorBox").collapse('show');
- $("#errorBox_text").html(result["error"]);
- }else{
- $("#successBox").collapse('show');
- $("#successBox_text").html(result["ok"]);
- _modificado = false;
- }
- $('#messageBox')[0].scrollIntoView({ block: "end" });
- },
- error: function(jqXHR, textStatus, errorThrown ){
- $("#errorBox").collapse('show');
- $("#errorBox_text").html(errorThrown);
- $('#messageBox')[0].scrollIntoView({ block: "end" });
- }
- });//ajax
- //}
- }else{
- $('#scroll-down').click();
- }
- });
- $(".submitBtn2").click(function(){//Enviar Plan de cátedra
- var plan = [];
- var sesion=[];
- var pos=1;
- $.each($('.sesion-box'), function(){
- sesion=[];
- pos=1;
- $(this).find('.sesion-evento').each(function(){
- if($(this).find(".sesion-desc").val().trim()!=""){
- sesion.push({"pos":pos, "desc": $(this).find(".sesion-desc").val().trim(), "tipo":$(this).find(".sesion-color").data("tipo") });
- }
- pos++;
- });
- if(sesion.length>0)
- plan.push({"sesion": $(this).data("sesion"), "contenido":sesion});
- });
-
- //$("#datos").val(JSON.stringify(plan));
- _modificado = false;
- //$("#formPCatedra").submit();
- $.ajax({
- url: './action/plancatedra_insert.php',
- type: 'POST',
- dataType: 'json',
- data: {"materia":"<?php echo $filter_mat;?>", "materia_nombre":"<?php echo $filter_materia_nom;?>", "json":JSON.stringify(plan)},
- success: function(result) {
- if(result["error"]!= "" && result["error"] !== undefined){
- $("#errorBox").collapse('show');
- $("#errorBox_text").html(result["error"]);
- }else{
- $("#successBox").collapse('show');
- $("#successBox_text").html(result["ok"]);
- _modificado = false;
- }
- $('#messageBox')[0].scrollIntoView({ block: "end" });
- },
- error: function(jqXHR, textStatus, errorThrown ){
- $("#errorBox").collapse('show');
- $("#errorBox_text").html(errorThrown);
- $('#messageBox')[0].scrollIntoView({ block: "end" });
- }
- });//ajax
-
- });
- $("#copiarBtn").click(function(){
- var per = $("#periodo_copy").val();
- var mat = $("#materia_copy").val();
- var tipo = $("#tipo_copy").val();
-
- if(tipo == 1 || tipo ==2){
- $.ajax({
- url: './action/syllabus_select.php',
- type: 'POST',
- dataType: 'json',
- data: { "periodo": per, "materia": mat},
- success: function(result) {
- if(result["error"]!= "" && result["error"] !== undefined){
- $("#errorBox").collapse('show');
- $("#errorBox_text").html(result["error"]);
- }else{
- var ids=["info", "desc", "obj", "capacidades", "prerrequisitos", "temario", "calificacion", "fechas", "asistencia", "comportamiento", "examenes", "tareas", "investigacion", "bibliografia"];
- var i;
- for(i=0; i<ids.length; i++){
- //console.log(result["syllabus"][ids[i]])
- tinyMCE.get(ids[i]).setContent(result["syllabus"][ids[i]])
- }
- }
- $('#messageBox')[0].scrollIntoView({ block: "end" });
- },
- error: function(jqXHR, textStatus, errorThrown ){
- $("#errorBox").collapse('show');
- $("#errorBox_text").html(errorThrown);
- $('#messageBox')[0].scrollIntoView({ block: "end" });
- }
- });//ajax
- }
- if(tipo == 1 || tipo ==3){
- $.ajax({
- url: './action/plancatedra_select.php',
- type: 'POST',
- dataType: 'json',
- data: { "periodo": per, "materia": mat},
- success: function(result) {
- if(result["error"]!= "" && result["error"] !== undefined){
- $("#errorBox").collapse('show');
- $("#errorBox_text").html(result["error"]);
- }else{
- //Reinicia todas las sesiones a 1 input
- $.each($('.sesion-box'), function(){
- while($(this).find(".sesion-evento").length > 1){//hay más de 1 sesión
- $(this).find(".sesion-evento:last").remove();
- }
- $(this).find(".sesion-evento .sesion-desc").text("");
- $(this).find(".btn-quitar").addClass("d-none");
- });
-
- for(var i=0; i<result["sesiones"].length; i++){
- var id = result["sesiones"][i]["sesion"];
- datosSesion($("#ses_"+id).find(".sesion-evento"), result["sesiones"][i]["subsesiones"][0]);
- if(result["sesiones"][i]["subsesiones"].length > 1){//faltan
- for(var j=1; j<result["sesiones"][i]["subsesiones"].length; j++){
- var contenedor = $("#ses_"+id);
- var renglon = contenedor.find(".sesion-evento:first");
- new_reng = renglon.clone().appendTo(contenedor);
- datosSesion(new_reng, result["sesiones"][i]["subsesiones"][j]);
-
- contenedor.find(".btn-quitar").removeClass("d-none");
- if(contenedor.find(".sesion-evento").length==5){
- contenedor.find(".sesion-evento .btn-agregar").attr("disabled", true);
- }
- }
- }
- }
- }
- $('#messageBox')[0].scrollIntoView({ block: "end" });
- },
- error: function(jqXHR, textStatus, errorThrown ){
- $("#errorBox").collapse('show');
- $("#errorBox_text").html(errorThrown);
- $('#messageBox')[0].scrollIntoView({ block: "end" });
- }
- });//ajax
- }
- $('#modal').modal("hide");
- });
-
- function datosSesion(contenedor, datos){
- contenedor.find(".sesion-desc").val(datos["desc"]);
- contenedor.find(".sesion-color").css('background-color', datos["color"]).attr("title", datos["tipo"]).data("tipo", datos["tipo_id"]);
- }
- // Manejador del cambio de semana
- $("#semana").change(function() {
- var seccion = $(this).val();
- // Movemos la vista a la sección correspondiente
- $('html, body').animate({
- scrollTop: $("#" + seccion).offset().top - 120
- }, 800);
- });
- $("#meses").change(function() {
- var seccion = $(this).val();
- console.log(seccion);
- // Movemos la vista a la sección correspondiente
- $('html, body').animate({
- scrollTop: $("." + seccion+":first").offset().top - 120
- }, 800);
- });
- $("#scroll-up").click(function() {
- $('html, body').animate({
- scrollTop: $("#myTab").offset().top - 120
- }, 800);
- });
- $('#scroll-down').click(function() {
- $("html, body").animate({
- scrollTop: $("#bottom").offset().top -250
- }, 800);
- return false;
- });
- $(window).scroll(function() {
- if ($(this).scrollTop() > $("#myTab").offset().top -120) {
- $('#scroll-up').fadeIn();
- } else {
- $('#scroll-up').fadeOut();
- }
- if ($(this).scrollTop() < $("#bottom").offset().top-500 ) {
- $('#scroll-down').fadeIn();
- } else {
- $('#scroll-down').fadeOut();
- }
- });
- // Manejar el evento click para cada enlace de navegación
- $(".nav-link").on("click", function(event) {
- if (_modificado === true) {
- // Mostrar un alert
- var resp = confirm("¡Atención! Recuerda que no has guardado los últimos cambios. ¿Deseas continuar?");
- if(resp === false){
- event.preventDefault();
- $('#scroll-down').click();
- return false;
- }else{
- _modificado = false;
- }
- }
- });
- $(".sesion-desc").on("change", function(event){
- _modificado = true;
- });
- $('#modal_confirm').on('show.bs.modal', function (event) {
- var button = $(event.relatedTarget); // Button that triggered the modal
- var tipo = button.data("tipo");
- $("#tipo_borrar").val(tipo);
- if(tipo == 1){
- $("#borrar_tipo").text("Syllabus");
- }else{
- $("#borrar_tipo").text("Plan de cátedra");
- }
- });
- $('.btn-borrar-todo').on('click', function (event) {
- var tipo = parseInt($("#tipo_borrar").val());
- if(tipo==1){//syllabus
- $('.richtext').each(function() {
- tinymce.get($(this).attr('id')).setContent('');
- });
- $('.richtext-table').each(function() {
- tinymce.get($(this).attr('id')).setContent('');
- });
- }else{//plan de cátedra
- $(".sesion-desc").val("");
- }
- $('#modal_confirm').modal('hide');
- });
-
-
- $('#modal_mover_todo').on('show.bs.modal', function (event) {
- var button = $(event.relatedTarget); // Button that triggered the modal
- var num_sesion = button.parents(".sesion-row").data("sesion_num");
- $("#sesion_mover_todo").val(num_sesion);
- $("#sesion_destino_todo")[0].selectedIndex = 0;
- $("#sesion_destino_todo option").attr('disabled', false);
- $("#sesion_destino_todo option[value='"+ num_sesion + "']").attr('disabled', true);
- });
-
- $('.btn-mover-todo').on('click', function (event) {
- var sesion_origen = parseInt($("#sesion_mover_todo").val());
- var sesion_destino = parseInt($("#sesion_destino_todo").val());
- var sesion_max = parseInt($("#sesion_max").val());
-
- var tmp_data;
- var s_id;
- s_id = parseInt(sesion_origen);
- //tmp_data = $("#ses_"+sesion_origen).html();
- tmp_data = $("#ses_"+sesion_origen).contents().clone();
-
- if(sesion_origen < sesion_destino){
- do{
- $("#ses_"+s_id).html("");
- //$("#ses_"+s_id).html( $("#ses_"+(s_id+1)).html() );
- $("#ses_"+(s_id+1)).contents().clone().appendTo("#ses_"+s_id);
- s_id++;
- }while(s_id < sesion_destino);
- }else{
- do{
- $("#ses_"+s_id).html("");
- //$("#ses_"+s_id).html( $("#ses_"+(s_id-1)).html() );
- $("#ses_"+(s_id-1)).contents().clone().appendTo("#ses_"+s_id);
- s_id--;
- }while(s_id > sesion_destino);
- }
- $("#ses_"+s_id).html( tmp_data );
- tmp_data.appendTo("#ses_"+s_id);
- _modificado = true;
-
- $('#modal_mover_todo').modal('hide');
- });
- /*
- $('#modal_mover').on('show.bs.modal', function (event) {
- var button = $(event.relatedTarget); // Button that triggered the modal
- var num_sesion = button.parents(".sesion-row").data("sesion_num");
- var pos_sesion = button.parents(".sesion-evento").data("pos");
- $("#sesion_mover").val(num_sesion);
- $("#sesion_pos").val(pos_sesion);
- $("#sesion_destino")[0].selectedIndex = 0;
- $("#sesion_destino option").attr('disabled', false);
- $("#sesion_destino option[value='"+ num_sesion + "']").attr('disabled', true);
- $.each($('#sesion_destino option'), function(){
- var id = parseInt($(this).val());
- if(id!= 0){
- var total = $("#ses_"+id+" .sesion-evento").length;
- if(total>=5){
- $(this).prop("disabled", true);
- }else{
- $(this).prop("disabled", false);
- }
- }
- });
-
- });
-
- //No sirve
- $('.btn-mover').on('click', function (event) {
- var sesion_origen = parseInt($("#sesion_mover").val());
- var sesion_pos = parseInt($("#sesion_pos").val());
- var sesion_destino = parseInt($("#sesion_destino").val());
- var sesion_max = parseInt($("#sesion_max").val());
-
- var tmp_data;
- var s_id;
- s_id = parseInt(sesion_origen);
- var objOrig = $("#ses_"+sesion_origen).find(".sesion-evento[data-pos='"+sesion_pos+"']");
- $("#ses_"+sesion_destino).append('<div class="row sesion-evento mb-1">'+objOrig.html()+'</div>');
- var contenedor = $("#ses_"+sesion_destino).find(".sesion-evento:last");
- contenedor.data("pos", $("#ses_"+sesion_destino).find(".sesion-evento").length);
- if($("#ses_"+sesion_origen).find(".sesion-evento").length > 1){
- objOrig.remove();
- contenedor.find(".btn-agregar").attr("disabled", false);
- }else{
- objOrig.find(".sesion-desc").val("");
- contenedor.find(".btn-quitar").addClass("d-none");
-
- }
- if($("#ses_"+sesion_destino).find(".sesion-evento").length > 1){
- contenedor.find(".btn-quitar").removeClass("d-none");
- if($("#ses_"+sesion_destino).find(".sesion-evento").length == 5){
- contenedor.parents(".sesion-box").find(".btn-agregar").attr("disabled", true);
- }
- }
- _modificado = true;
-
- $('#modal_mover').modal('hide');
- });
- */
- });
- $(document).on( "click", ".btn-agregar", function(e){
- var contenedor = $(this).parents(".sesion-box");
- if(contenedor.find(".sesion-evento").length<5){
- var renglon = $(this).parents(".sesion-evento");
- var new_reng = renglon.clone()
- new_reng.find(".sesion-desc").val("");
- new_reng.appendTo(contenedor);
- new_reng.data("pos", contenedor.find(".sesion-evento").length)
- if(contenedor.find(".sesion-evento").length>1){
- contenedor.find(".btn-quitar").removeClass("d-none");
- if(contenedor.find(".sesion-evento").length==5){
- contenedor.find(".sesion-evento .btn-agregar").attr("disabled", true);
- }
- }else{
- contenedor.find(".btn-quitar").addClass("d-none");
- }
- _modificado = true;
- }
- });
- $(document).on( "click", ".btn-quitar", function(e){
- var contenedor = $(this).parents(".sesion-box");
- if(contenedor.find(".sesion-evento").length>1){
- if(contenedor.find(".sesion-evento").length>1){
- var renglon = $(this).parents(".sesion-evento");
- renglon.remove();
- contenedor.find(".sesion-evento .btn-agregar").attr("disabled", false);
- }
- if(contenedor.find(".sesion-evento").length==1){
- contenedor.find(".btn-quitar").addClass("d-none");
- }
- _modificado = true;
- }
- });
- $(document).on( "click", ".dropdown-item", function(e){
- e.preventDefault(); // Evita que se siga el enlace
- var selectedColor = $(this).data('color'); // Obtiene el color seleccionado
- var selectedText = $(this).text();
- var selectedTipo = $(this).data("tipo");
- $(this).parents(".input-group-append").find('.sesion-color').css('background-color', selectedColor).attr("title", selectedText).data("tipo", selectedTipo); // Cambia el color de fuente
- // Cierra el menú desplegable después de seleccionar un ítem
- $(this).closest('.dropdown-menu').prev('.dropdown-toggle').dropdown('toggle');
- _modificado = true;
- });
- $(document).on( "click", ".btn-copiar", function(e){
- var textoCopiar = $(this).parents(".input-group").find('.sesion-desc');
- textoCopiar.select();
- document.execCommand("copy");
- window.getSelection().removeAllRanges();
- //textoCopiar.blur();
- $('#copy-box').text("Tema copiado");
- $('#copy-box').fadeIn();
- setTimeout(function() {
- $('#copy-box').fadeOut();
- }, 1500);
- });
- $(document).on( "click", ".btn-borrar", function(e){
- var textoBorrar = $(this).parents(".input-group").find('.sesion-desc');
- textoBorrar.val("");
- });
- </script>
- <?php } ?>
- </body>
- </html>
|