<?php require_once('Connections/conn.php'); ?>
<?php
//****************************************************************************************************
// Nombre del Script: inscripcion_regulares.php
// Descripción: Permite la validación de las pre-condiciones para inscribir a un estudiante.     
// Llamado desde: inscribirse.php (perfil de alumno) e inscribir_regular.php (perfil control de
// estudios)
// Precondiciones:  1. El estudiante tiene asignado un turno.
//                  2. El estudiante tiene asignada una sede.
//                  3. El estudiante se inscribió en el lapso anterior.
//**************************************************************************************************** 
 session_start();
 if (!isset($_SESSION['MM_Username'])) {
      header ("Location: modulos/inicio/index.php");
	  }
 header("Content-Type:text/html; charset=utf-8");
 // Captura la cédula del usuario inició sesión.	  
 $cedula_usuario=$_SESSION['CEDULA_USUARIO'];
 $sede_usuario=$_SESSION['SEDE_USUARIO'];
 $tipo_usuario=$_SESSION['PRIVILEGIO']; 

	 
 // Captura los datos que vienen de inscribirse.php o inscribir_regular.php
 $cedula = $_GET["cedula"];        // Cédula del estudiante.

 $carrera = $_GET["id_carrera"];   // Carrera del estudiante
 $pensum=$_GET["pensum"];          // Pensum que cursa el estudiante.
 $mencion=$_GET["mencion"];        // Mención del estudiante.
 $turno=$_GET["turno"];            // Turno del estudiante.
 $sede = $_GET["sede"];            // Sede del estudiante.
 $periodo=$_GET["id_periodo"];     // Lapso donde se inscribirá el estudiante.
/* echo 'CEDULA: '.$cedula.'<br>';
 echo 'APELLIDOS: '.$apellidos.'<br>';
 echo 'NOMBRES: '.$nombres.'<br>'; */
 
 mysql_select_db($database_conn, $conn);
 mysql_query ("SET NAMES 'utf8'");
 // Para tomar los datos del lapso académico donde se inscribirá el estudiante.
 $sql = "SELECT * FROM periodos WHERE id_periodo='$periodo'";
 $rs = mysql_query($sql, $conn) or die(mysql_error());
 $row_periodo = mysql_fetch_assoc($rs);
 
 // Fechas de inscripcion del Componenete General
 $fecha_ini_cg=$row_periodo['fecha_ini_cg']; 
 $fecha_ini_cg1=join ("-",(array_reverse(explode("-",$fecha_ini_cg))));
 $fecha_ini_cg=join ("-",(array_reverse(explode("-",$fecha_ini_cg))));
 
 $fecha_ini_cg=strtotime($row_periodo['fecha_ini_cg']); 
 
 $fecha_fin_cg=$row_periodo['fecha_fin_cg']; 
 $fecha_fin_cg1=join ("-",(array_reverse(explode("-",$fecha_fin_cg))));
 $fecha_fin_cg=join ("-",(array_reverse(explode("-",$fecha_fin_cg))));
 
 $fecha_fin_cg=strtotime($row_periodo['fecha_fin_cg']);
 
 // Fechas de inscripcion de la menciòn Aduanas y Comercio Exterior
 $fecha_ini_ace=$row_periodo['fecha_ini_ace']; 
 $fecha_ini_ace1=join ("-",(array_reverse(explode("-",$fecha_ini_ace))));
 $fecha_ini_ace=join ("-",(array_reverse(explode("-",$fecha_ini_ace))));
 
 $fecha_ini_ace=strtotime($row_periodo['fecha_ini_ace']); 
 
 $fecha_fin_ace=$row_periodo['fecha_fin_ace']; 
 $fecha_fin_ace1=join ("-",(array_reverse(explode("-",$fecha_fin_ace))));
 $fecha_fin_ace=join ("-",(array_reverse(explode("-",$fecha_fin_ace))));
 
 $fecha_fin_ace=strtotime($row_periodo['fecha_fin_ace']);
 
 
 // Fechas de inscripcion de la menciòn Finanzas Públicas
 $fecha_ini_fp=$row_periodo['fecha_ini_fp']; 
 $fecha_ini_fp1=join ("-",(array_reverse(explode("-",$fecha_ini_fp))));
 $fecha_ini_fp=join ("-",(array_reverse(explode("-",$fecha_ini_fp))));
 
 $fecha_ini_fp=strtotime($row_periodo['fecha_ini_fp']); 
 
 $fecha_fin_fp=$row_periodo['fecha_fin_fp']; 
 $fecha_fin_fp1=join ("-",(array_reverse(explode("-",$fecha_fin_fp))));
 $fecha_fin_fp=join ("-",(array_reverse(explode("-",$fecha_fin_fp))));
 
 $fecha_fin_fp=strtotime($row_periodo['fecha_fin_fp']);
 
 // Fechas de inscripcion de la menciòn Finanzas Rentas
 $fecha_ini_rt=$row_periodo['fecha_ini_rt']; 
 $fecha_ini_rt1=join ("-",(array_reverse(explode("-",$fecha_ini_rt))));
 $fecha_ini_rt=join ("-",(array_reverse(explode("-",$fecha_ini_rt))));
 
 $fecha_ini_rt=strtotime($row_periodo['fecha_ini_rt']); 
 
 $fecha_fin_rt=$row_periodo['fecha_fin_rt']; 
 $fecha_fin_rt1=join ("-",(array_reverse(explode("-",$fecha_fin_rt))));
 $fecha_fin_rt=join ("-",(array_reverse(explode("-",$fecha_fin_rt))));
 
 $fecha_fin_rt=strtotime($row_periodo['fecha_fin_rt']);
 
 
 $fecha1 = explode("-",date("Y-m-d")); 
 $fecha2 = $fecha1[0].$fecha1[1].$fecha1[2]; 
 // $fecha_hoy = cambioFecha($fecha2);   
 $fecha_inscripcion=join ("-",(array_reverse(explode("-",$fecha2))));
// echo $fecha_inscripcion;
 $fecha_hoy=date("d-m-Y");
 
 $fecha1 = explode("-",date("Y-m-d")); 
$fecha2 = $fecha1[0].$fecha1[1].$fecha1[2]; 
$fecha_hoy = cambioFecha($fecha2);
$fecha_hoy=strtotime(join ("-",(array_reverse(explode("-",$fecha_hoy)))));
 
 /* echo 'FECHA INICIO: '.$fecha_ini_cg.'<br>';
 echo 'FECHA FIN   : '.$fecha_fin_cg.'<br>'; 
 echo 'FECHA DE HOY: '.$fecha_hoy.'<br>'; */
 
 $annio=$fecha1[0];
 
// if($tipo_usuario==2){ 

   if($mencion=='COMUN'){
      if($fecha_hoy<$fecha_ini_cg or $fecha_hoy>$fecha_fin_cg){
	   ?>
       <script type="text/javascript">
         alert("!Lo sentimos!.\nLas Inscripciones del Componente General se programaron\nDel <?php echo $fecha_ini_cg1 ?> al <?php echo $fecha_fin_cg1 ?>.");
   </script>
      <?php
       return;
      }
   }
   
   if($mencion=='ACE'){
      if($fecha_hoy<$fecha_ini_ace or $fecha_hoy>$fecha_fin_ace){
	   ?>
       <script type="text/javascript">
         alert("!Lo sentimos!.\nLas Inscripciones de la mención Aduanas y Comercio Exterior se programaron\nDel <?php echo $fecha_ini_ace1 ?> al <?php echo $fecha_fin_ace1 ?>.");
   </script>
   <?php
   return;
    }
   }
   
   if($mencion=='FIN'){
      if($fecha_hoy<$fecha_ini_fp or $fecha_hoy>$fecha_fin_fp){
	   ?>
       <script type="text/javascript">
         alert("!Lo sentimos!.\nLas Inscripciones de la mención Finanzas Públicas se programaron\nDel <?php echo $fecha_ini_fp1 ?> al <?php echo $fecha_fin_fp1 ?>.");
   </script>
   <?php
   return;
    }
   }
   
   if($mencion=='RT'){
      if($fecha_hoy<$fecha_ini_rt or $fecha_hoy>$fecha_fin_rt){
	   ?>
       <script type="text/javascript">
         alert("!Lo sentimos!.\nLas Inscripciones de la mención Rentas se programaron\nDel <?php echo $fecha_ini_rt1 ?> al <?php echo $fecha_fin_rt1 ?>.");
   </script>
   <?php
   return;
    }
   }
 
   
 // }
 // Concatena del Nombre del Estudiante.
 $nombres=strtoupper($nombres); 
 $apellidos=strtoupper($apellidos);
 $participante=$apellidos.', '.$nombres; 
 
 // Determina el Nivel que Cursa el Estudiante.
 $nivel='CP';
 if($mencion=="COMUN") $nivel="CG";
 
 // Determina la fecha de inscripción del estudiante.
 $fecha1 = explode("-",date("Y-m-d")); 
 $fecha2 = $fecha1[0].$fecha1[1].$fecha1[2]; 
 $fecha_hoy = cambioFecha($fecha2);
 $fecha_ingreso=join ("-",(array_reverse(explode("-",$fecha_hoy))));
 $annio=substr($fecha_ingreso,0,4);
 
// Abro la Base de datos 
 mysql_select_db($database_conn, $conn);
 mysql_query ("SET NAMES 'utf8'"); 
 
// Para tomar el ID del estudiante.
$sql = "SELECT id_alumno,status,apellidos,nombres,condicion_inscripcion  FROM alumnos WHERE cedula='$cedula'";
$rs = mysql_query($sql, $conn) or die(mysql_error());
$row = mysql_fetch_assoc($rs);
$id_alumno= $row["id_alumno"];
$status=$row["status"];
$apellidos =$row["apellidos"];  // Apellidos del estudiante.
$nombres = $row["nombres"];      // Nombres del estudiante. 
$condicion_inscripcion = $row["condicion_inscripcion"];      
// Condiciòn de Inscripcion.  Si esta en N impide inscribirse debido a que el estudiante no cumplio
// actividades extracurriculares del CIU. 

// Limpia el record tenporal del estudiante
$sql = "delete from historico_notas_aux where id_alumno='$id_alumno'";
mysql_query($sql, $conn) or die(mysql_error());

// Crea el record académico temporal del estudiante que se inscribirá. 
$sql = "insert into historico_notas_aux select * from historico_notas where  id_alumno='$id_alumno'";
mysql_query($sql, $conn) or die(mysql_error());
	 
 
// Para tomar los datos del lapso académico donde se inscribirá el estudiante.
$sql = "SELECT codigo,tipo FROM periodos WHERE id_periodo='$periodo'";
$rs = mysql_query($sql, $conn) or die(mysql_error());
$row = mysql_fetch_assoc($rs);
$codigo= $row["codigo"].' ('.$row["tipo"].')';
 
// Establece el valor de la nota mínima aprobatoria.
$diez="10";

// Valida si el estudiante cumplio con las actividades extracurriculares del último CIU.
if ($condicion_inscripcion=="N") {
    // Estudiante no está Activo.  No se puede inscribir vía WEB.
    header ("location:  mensaje_inscripcion6.php?id_alumno=$id_alumno&id_periodo=$id_periodo");
	return;
}  

// Valida si el estudiante está Activo:  Un estudiante activo es aquel que cursó el último lapso Regular o CIU. 
if ($status=="N") {
    // Estudiante no está Activo.  No se puede inscribir vía WEB.
    header ("location:  mensaje_inscripcion2.php?id_alumno=$id_alumno&id_periodo=$id_periodo");
	return;
}  

// Valida si el alumno esta inscrito en el lapso en el cual se desea inscribir.
$sql5 = "SELECT * FROM historial_alumnos WHERE id_carrera='$id_carrera' AND id_alumno='$id_alumno' AND id_periodo='$periodo'";
$rs5 = mysql_query($sql5, $conn) or die(mysql_error());
$row5 = mysql_fetch_assoc($rs5);
$inscrito=mysql_num_rows($rs5);
if ($inscrito!=0) {
    // Alumno ya está inscrito en el lapso en el cual se desea inscribir.
    header ("location:  mensaje_inscripcion1.php?id_alumno=$id_alumno&id_periodo=$id_periodo");
	return;
}

// Valida si el alumno ya esta inscrito en otro lapso distinto al que desea inscribirse.
$sql5 = "SELECT id_alumno,id_periodo FROM inscripciones WHERE id_alumno='$id_alumno'";
$rs5 = mysql_query($sql5, $conn) or die(mysql_error());
$row5 = mysql_fetch_assoc($rs5);
$id_periodo= $row5["id_periodo"];
$inscrito=mysql_num_rows($rs5);
if ($inscrito!=0) {
    // Estudiante está inscrito en el un lapso diferente al que desea inscribirse.
    header ("location:  mensaje_inscripcion3.php?id_alumno=$id_alumno&id_periodo=$id_periodo");
	return;
}

// Determina si el estudiante es Nuevo Ingreso.  Un estudiante de nuevo ingreso no tiene registros en la tabla
// historial_alumnos con nivel CG (Componente General) o CP (Componenete Profesional).
// Son todos aquellos estudiantes que cursaron el CIU.
$nuevo_ingreso="N";
$sql5 = "SELECT nuevo_ingreso FROM alumnos WHERE id_alumno='$id_alumno'";
$rs5 = mysql_query($sql5, $conn) or die(mysql_error());
$row5 = mysql_fetch_assoc($rs5);

$nuevo_ingreso= $row5["nuevo_ingreso"];
// Valida si el estudiante de nuevo ingreso aprobó el CIU completo.
if($nuevo_ingreso=="S"){
   $ciu=ciu_aprobado($id_alumno);
   if($ciu=="REPROBADO"){
      // Estudiante está inscrito en el un lapso diferente al que desea inscribirse.
    header ("location:  mensaje_inscripcion4.php?id_alumno=$id_alumno&id_periodo=$id_periodo");
	return;
   
   }
}
// Calcula el IDA (Indice de Rendimiento Académico del Estudiante)
$ida_alumno=calcular_ida($id_alumno,$carrera);

// Establece el Máximo de créditos que puede inscribir el estudiante en el semestre regular.
if($ida_alumno<10) $maximo=6;
if($ida_alumno>=10 and $ida_alumno<17) $maximo=19;
if($ida_alumno>=17) $maximo=21;
if($nuevo_ingreso=="S") $maximo=17;
     // Determina la Condición del Estudiante.
     // $condicion=determinar_condicion($id_alumno,$id_carrera,$id_periodo);
	 $tipo_semestre="REGULAR";
     header ("location: inscripcion_reg_oferta.php?id_sede=$sede&id_carrera=$carrera&pensum=$pensum&id_periodo=$periodo&id_alumno=$id_alumno&nivel=$nivel&mencion=$mencion&turno=$turno&maximo=$maximo&condicion=$condicion&ida_alumno=$ida_alumno&tipo_semestre=$tipo_semestre&nuevo_ingreso=$nuevo_ingreso");
     return;

?>
<?php

function cambioFecha($fecha){ //$fecha es de este formato --> ej: 20081229 
	$tieneCeroDiaMes = substr($fecha,6,1); 
	if ($tieneCeroDiaMes == 0) { 
		$diaMes = substr($fecha,7,1); 
	} else { 
		$diaMes = substr($fecha,6,2); 
	} 
	
	$Mes = substr($fecha,4,2); 
	
	
	$Anio = substr($fecha,0,4); 
	return $diaMes."-".$Mes."-".$Anio.""; 
	}     	  	  

function calcular_ida($id_alumno,$id_carrera)
{
global $conn;

    mysql_select_db($database_conn, $conn);
    mysql_query ("SET NAMES 'utf8'");
	$sql = "Select
	SUM(historico_notas_aux.nota*materias.uc) AS notas_x_creditos,SUM(materias.uc) as creditos_cursados
	From
	historico_notas_aux
	Inner Join materias ON historico_notas_aux.id_materia = materias.id_materia
	Where
	historico_notas_aux.id_alumno = '$id_alumno' and
	historico_notas_aux.id_carrera = '$id_carrera' and
	historico_notas_aux.pensum='6'
	";
	// echo $sql;
	
	$result = mysql_query ($sql,$conn) or die (mysql_error()); 
	$rst_ida = mysql_fetch_assoc($result);
	$creditos_cursados=$rst_ida['creditos_cursados'];
	$sumatoria_notas_por_creditos=$rst_ida['notas_x_creditos']; 
	if($creditos_cursados!=0)
	{
	   $ida=$sumatoria_notas_por_creditos/$creditos_cursados;
	}
	else{
	   $ida=0;
	}
	return $ida;
}

function determinar_condicion($id_alumno,$id_carrera,$id_periodo)
{
    global $conn;

    mysql_select_db($database_conn, $conn);
    mysql_query ("SET NAMES 'utf8'");
	$sql_periodos = "Select id_periodo
	From
	periodos
	Where
	id_periodo<'$id_periodo' and tipo='REGULAR'
	order by id_periodo desc LIMIT 0,2
	";
	$rst_periodos = mysql_query ($sql_periodos,$conn) or die (mysql_error()); 
	$total_rows_periodos = mysql_num_rows($rst_periodos);  
	// echo "PERIODOS: ".$total_rows_periodos."<br>";
	if($total_rows_periodos >0)
    {
	  $creditos_cursados=0;
	  $creditos_aprobados=0;
	  while($row_periodos = mysql_fetch_assoc($rst_periodos))
		{
		    $cursados_lapso=0;
			$aprobados_lapso=0;
			$lapso=$row_periodos['id_periodo'];
			// echo "LAPSO: ".$lapso."<br>";
			// Calcula los creditos cursados en el lapso
		    $sql = "Select
	               SUM(materias.uc) as creditos_cursados
	               From
	               historico_notas
	               Inner Join materias ON historico_notas.id_materia = materias.id_materia
	               Where
	               historico_notas.id_alumno = '$id_alumno' AND
	               historico_notas.id_carrera = '$id_carrera' and
			       historico_notas.id_periodo='$lapso'
	               ";	
		    $rst_cursados = mysql_query ($sql,$conn) or die (mysql_error()); 
			$row_cursados = mysql_fetch_assoc($rst_cursados);
			$cursados_lapso=$row_cursados['creditos_cursados'];
			
			if($cursados_lapso!=0) $creditos_cursados = $creditos_cursados+$cursados_lapso;
			
			// Calcula los creditos aprobados en el lapso	
			$sql = "Select
	               SUM(materias.uc) as creditos_aprobados
	               From
	               historico_notas
	               Inner Join materias ON historico_notas.id_materia = materias.id_materia
	               Where
	               historico_notas.id_alumno = '$id_alumno' AND
	               historico_notas.id_carrera = '$id_carrera' and
			       historico_notas.id_periodo='$lapso' and
				   historico_notas.nota>=10
	               ";
		    $rst_aprobados = mysql_query ($sql,$conn) or die (mysql_error()); 
			$row_aprobados = mysql_fetch_assoc($rst_aprobados);
			$aprobados_lapso=$row_aprobados['creditos_aprobados'];
	
			if($aprobados_lapso!=0) $creditos_aprobados = $creditos_aprobados+$aprobados_lapso;
		}
       // echo "CURSADOS: ".$creditos_cursados."<br>";
	   // echo "APROBADOS: ".$creditos_aprobados."<br>";
		
}	
	$porcentaje_aprobados=0;
	if($creditos_aprobados!=0){
	   $porcentaje_aprobados=($creditos_aprobados*100)/$creditos_cursados;
	}
	if($porcentaje_aprobados>=25)
	{
	   $condicion_alumno="REGULAR";
	}
	else{
	   $condicion_alumno="REPITIENTE";
	}
	return $condicion_alumno;
}

function ciu_aprobado($id_alumno)
{
    global $conn;

    mysql_select_db($database_conn, $conn);
    mysql_query ("SET NAMES 'utf8'");
	
	$sql = "SELECT COUNT(*) FROM `historico_notas_aux` where semestre='0' and id_alumno='$id_alumno' and id_periodo=78";;
	$rst_cursadas_ciu = mysql_query ($sql,$conn) or die (mysql_error());
	$row = mysql_fetch_assoc($rst_cursadas_ciu);
    reset($row);
	$total_cursadas_ciu = current($row);
	$sql = "SELECT COUNT(*) FROM `historico_notas_aux` where semestre='0' and id_alumno='$id_alumno' and nota>=10 and id_periodo=78";;
	$rst_aprobadas_ciu = mysql_query ($sql,$conn) or die (mysql_error());
	$row = mysql_fetch_assoc($rst_aprobadas_ciu);
    reset($row);
	$total_aprobadas_ciu = current($row);
	$aprobo_ciu="REPROBADO";
	if($total_cursadas_ciu==$total_aprobadas_ciu) $aprobo_ciu="APROBADO";   
	return $aprobo_ciu;
}

?>


