<?php require_once('Connections/conn.php'); ?>
<?php session_start();

// Captura la datos del usuario que se logueó (Cédula, Tipo de Usuario y Username).
  $cedula_usuario=$_SESSION['CEDULA_USUARIO'];
  $username=$_SESSION['MM_Username'];
  $tipo_usuario=$_SESSION['PRIVILEGIO']; 
 
  mysql_select_db("siga_pregrado");
  mysql_query ("SET NAMES 'utf8'"); 
  $sql = "select apellidos,nombres from usuarios where cedula='$cedula_usuario'";
  $rs=mysql_query($sql,$conn);
  $row=mysql_fetch_array($rs);
  $intruso=$row['apellidos'].', '.$row['nombres'];

  if (!isset($_SESSION['MM_Username']) || $_SESSION['MM_Username']=="") {
      // Registra el acceso indebido.
		$consulta=addslashes($sql);
  		$fecha=date("Y-m-d G:i:A");
  		$accion="Intento de acceso sin iniciar sesión.";
  		$script="inscribir_bloque.php";
  		$ip=obtener_ip();
  		$sql1 = "insert into `intrusos` (`username`, `tipo_usuario`,`cedula`, `ip`, `fecha`, `accion`, `script`) values ('$username', '$tipo_usuario', '$cedula_usuario', '$ip', '$fecha', '$accion', '$script')";
  		mysql_query($sql1, $conn) or die(mysql_error());
	    // Destruye la sessión.
	    session_destroy();
	    header ("Location: modulos/inicio/index.php");
	  }  

  if ($tipo_usuario!="1" && $tipo_usuario!="5" && $tipo_usuario!="10") {
        // Registra el acceso indebido.
		$consulta=addslashes($sql);
  		$fecha=date("Y-m-d G:i:A");
  		$accion="Intento de Acceso indebido";
  		$script="inscribir_bloque.php";
  		$ip=obtener_ip();
  		$sql1 = "insert into `intrusos` (`username`, `tipo_usuario`,`cedula`, `ip`, `fecha`, `accion`, `script`) values ('$username', '$tipo_usuario', '$cedula_usuario', '$ip', '$fecha', '$accion', '$script')";
  		mysql_query($sql1, $conn) or die(mysql_error());
        // Destruye la sesión.
		session_destroy();
        $inicial = "salida_intruso.php?intruso=$intruso";
        header(sprintf("Location: %s", $inicial));
  }  
 
    $cedula=$_GET['cedula'];
    $id_carrera=$_GET['id_carrera'];
	$mencion=$_GET['mencion'];
	$semestre=$_GET['semestre'];
	$seccion=$_GET['seccion'];
	$sede=$_GET['sede'];
	$turno=$_GET['turno'];
    $pensum='6'; 
	$periodo='70';
	$nivel="CP";
	if($mencion=="COMUN") $nivel="CG";
	
	 // Actualiza los cupos disponibles.
	 $query_materias = "Select id_materia from oferta_academica WHERE id_carrera='$id_carrera' and sede='$sede' and id_periodo='$id_periodo' and id_seccion='$seccion' and semestre='$semestre' and turno='$turno' and nivel='$nivel' and pensum='$pensum' and mencion='$mencion' ";
$rst_materias = mysql_query($query_materias, $conn) or die(mysql_error());
//$row_materias = mysql_fetch_assoc($rst_materias);
$totalRows_materias = mysql_num_rows($rst_materias);  

if($totalRows_materias >0)
{
	while($row = mysql_fetch_assoc($rst_materias))
		{
		  $materia=$row["id_materia"];
    $sql="UPDATE oferta_academica SET inscritos = ( SELECT COUNT( * )
FROM `inscripciones`
WHERE id_seccion = '$seccion'
AND semestre = '$semestre'
AND id_materia = '$materia' 
AND sede = '$sede')
WHERE id_seccion = '$seccion'
AND semestre = '$semestre'
AND id_materia = '$materia'
AND sede = '$sede'";
     mysql_query($sql, $conn) or die(mysql_error());
				}
}		
	
	// Obtiene el ID del alumno (id_alumno)
    $sql = "select id_alumno from alumnos where cedula='$cedula'";
    $rs=mysql_query($sql, $conn);
    $row = mysql_fetch_assoc($rs);	
	$id_alumno=$row["id_alumno"];
	
	
	 // Limpia el record tenporal del estudiante
	 $sql = "delete from historico_notas_aux where historico_notas_aux.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());
	  

	$sql = "SELECT seccion,cupos FROM secciones WHERE sede='$sede' AND carrera='$id_carrera' and pensum='$pensum' and nivel='$nivel' and mencion='$mencion' and periodo='$periodo' and semestre='$semestre' and turno='$turno' and seccion='$seccion'";

	$rs_secciones=mysql_query($sql, $conn) or die(mysql_error());
    $total_secciones=mysql_num_rows($rs_secciones);
	
    if($total_secciones>0){
	      // Toma la Oferta Académica de las materias que efectivamente tengan cupo.
	   	  $sql_oferta = "SELECT * FROM  oferta_academica WHERE id_periodo='$periodo' and id_carrera='$id_carrera' and sede='$sede'  and mencion='$mencion' and nivel='$nivel' and turno='$turno' and semestre='$semestre' and id_seccion='$seccion' and (cupos-inscritos)>0";
		 		
		   $rst_oferta = mysql_query($sql_oferta, $conn) or die(mysql_error());
		   $num_oferta = mysql_num_rows($rst_oferta);
		   if($num_oferta>0) {
		      while($row_oferta = mysql_fetch_assoc($rst_oferta)){
		       // Toma los datos de la sección y el profesor de la materia ofertada.
		       $seccion=$row_oferta["id_seccion"];
			   $id_materia=$row_oferta["id_materia"];
			   $id_docente=$row_oferta["id_profesor"];
			   $turno=$row_oferta["turno"];
			   $cupos=$row_oferta["cupos"]-$row_oferta["inscritos"];
			   
			   // Verifica si la materia está aprobada. 
			   $sql_aprobada = "SELECT nota FROM  historico_notas_aux WHERE id_carrera='$id_carrera' and id_materia='$id_materia' and id_alumno='$id_alumno' and nota>=10";
			   $rst_aprobada = mysql_query($sql_aprobada, $conn) or die(mysql_error());
		       $num_aprobada = mysql_num_rows($rst_aprobada);
		       if($num_aprobada==0) {
			       // Verifica si la materia tiene las prelaciones aprobadas.
				  // $prelaciones_aprobadas=prelaciones($id_materia);
				  // if(prelaciones($id_materia,$id_alumno)==0) {
				      // Verifica si ya el alumno tiene la materia inscrita temporalmente.
				      $sql_tmp_alum = "SELECT * FROM  inscripciones WHERE id_alumno='$id_alumno' and id_materia='$id_materia'";
				      $rst_tmp_alum = mysql_query($sql_tmp_alum, $conn) or die(mysql_error());
				      $rows_tmp_alum = mysql_num_rows($rst_tmp_alum);
				      if($rows_tmp_alum==0){
				         // Agrega la materia a la Tabla de Inscripción Temporal.
						 $sql = "insert into `inscripciones` (`id_alumno`, `id_periodo`, `turno`, `fecha`, `pensum`, `nivel`, `mencion`, `id_carrera`, `id_materia`, `semestre`, `id_seccion`, `sede`,  `id_docente`) SELECT '$id_alumno' as id_alumno, '$periodo' as id_periodo, '$turno' as turno, '$fecha_ingreso' as fecha_inscripcion, '$pensum' as pensum, '$nivel' as nivel, '$mencion' as mencion, id_carrera, id_materia, semestre, id_seccion, sede, id_profesor FROM  oferta_academica WHERE id_periodo='$periodo' and id_carrera='$id_carrera' and pensum='$pensum' and  nivel='$nivel' and mencion='$mencion' and sede='$sede' and id_seccion='$seccion' and turno='$turno' and  semestre='$semestre' and id_materia='$id_materia'";	 
						mysql_query($sql, $conn) or die(mysql_error());
					  } // 	$rows_tmp_alum==0
					  $ofertada++;
					//}  //prelaciones($id_materia,$id_alumno)
				} 	
	          } // While 
			} // Num_oferta	
			
			 // Limpia el record tenporal del estudiante
	 $sql = "delete from historico_notas_aux where historico_notas_aux.id_alumno='$id_alumno'";
     mysql_query($sql, $conn) or die(mysql_error());
       /* Existen cupos en la sección del estudiante.
	   // Inscribimos al alumno en Base a la Oferta Académica del 1er. semestre de su sección.
       $sql = "insert into `inscripciones` (`id_alumno`, `id_periodo`, `turno`, `fecha`, `pensum`, `nivel`, `mencion`, `id_carrera`, `id_materia`, `semestre`, `id_seccion`, `sede`,  `id_docente`) SELECT '$id_alumno' as id_alumno, '$periodo' as id_periodo, '$turno' as turno, '$fecha_ingreso' as fecha_inscripcion, '$pensum' as pensum, '$nivel' as nivel, '$mencion' as mencion, id_carrera, id_materia, semestre, id_seccion, sede, id_profesor FROM  oferta_academica WHERE id_periodo='$periodo' and id_carrera='$id_carrera' and pensum='$pensum' and  nivel='$nivel' and mencion='$mencion' and sede='$sede' and id_seccion='$seccion' and turno='$turno' and  semestre='$semestre'";
	  
       mysql_query($sql, $conn) or die(mysql_error()); */
	   
	    // Actualiza seccion y mencion del alumno.
    $sql = "update `carreras_alumno` set  `nivel`='$nivel',`mencion`='$mencion' where id_alumno='$id_alumno' and id_carrera='$id_carrera' and pensum='$pensum'";
    mysql_query($sql, $conn) or die(mysql_error()); 
	   
	   // Actualiza los Cupos respecto a la sección.
       $sql = "update `secciones` set  `inscritos`=inscritos+1 WHERE seccion='$seccion' and               sede='$sede' AND carrera='$id_carrera' and pensum='$pensum' and nivel='$nivel' and mencion='$mencion' and periodo='$periodo' and semestre='$semestre' and turno='$turno'";
       mysql_query($sql, $conn) or die(mysql_error()); 
	  
	   
	   // Actualizo cupos respecto a las materias inscritas por el estudiante.
       $sql_inscrita = "SELECT id_materia, id_seccion FROM inscripciones WHERE id_alumno='$id_alumno'";
       $rst_inscrita = mysql_query($sql_inscrita, $conn) or die(mysql_error());
       $rows_inscrita =  mysql_num_rows($rst_inscrita);
       if($rows_inscrita >0){
          while($row_inscrita = mysql_fetch_assoc($rst_inscrita)){
                $materia=$row_inscrita["id_materia"];
		        $seccion=$row_inscrita["id_seccion"];
                $sql = "update oferta_academica set inscritos=inscritos+1 WHERE sede='$sede' and id_seccion='$seccion' and id_carrera='$id_carrera' and pensum='$pensum' and id_periodo='$periodo' and  id_materia='$materia' and nivel='$nivel' and mencion='$mencion' ";
                mysql_query($sql, $conn) or die(mysql_error());
           }
		}
	
	   // Creamos el registro histórico de inscripciones del estudiante para el lapso 
	   // correspondiente si aun no lo tiene.
	   $sql_historial = "SELECT id_alumno FROM historial_alumnos WHERE id_alumno='$id_alumno' AND  id_periodo='70'";
	   $rs_historial=mysql_query($sql_historial, $conn) or die(mysql_error());
       $total_historial=mysql_num_rows($rs_historial);
	   if($total_historial==0){
	      $sql = "insert into `historial_alumnos` (`id_alumno`, `id_carrera`, `pensum`, `mencion`, `nivel`, `id_periodo`, `sede`, `cedula`, `seccion`, `turno`, `participante`, `nom_carrera`,`fecha`, `annio`,`semestre`) values('$id_alumno',  '$id_carrera', '$pensum', '$mencion', '$nivel', '$periodo', '$sede', '$cedula', '$seccion' ,'$turno' ,'$participante','$nombre_carrera','$fecha_ingreso','$annio','$semestre')";
          mysql_query($sql, $conn) or die(mysql_error());
	   } 
	   // Actualiza el semestre del alumno
       $sem=semestre($id_alumno);
       $sql = "update `historial_alumnos` set `semestre`='$sem' where id_alumno='$id_alumno' and id_periodo='$id_periodo'";
       mysql_query($sql, $conn) or die(mysql_error());    
       // Imprime el Comprobante de Inscripción.
       ?>
       <script type="text/javascript">
	     alert("Inscripción procesada con éxito.");
	     url="modificar_inscripcion.php?cedula="+'<?php echo $cedula ?>'+"&id_carrera="+'<?php echo $id_carrera ?>';
	//	 alert(url);
	//window.open(url);
	     window.location=url;
   </script>
       <?php
	   return;
   } // Fin del If Secciones
   else{
   ?>
   <script type="text/javascript">
	  alert("Inscripción no procesada.\nSección no está ofertada en el lapso 2013-I.");
   </script>
   <?php
   }	  
?>

<?php

function obtener_ip()
  {
 if ($_SERVER) {  
    if ( $_SERVER[HTTP_X_FORWARDED_FOR] ) {  
    $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];  
   } elseif ( $_SERVER["HTTP_CLIENT_IP"] ) {  
$realip = $_SERVER["HTTP_CLIENT_IP"];  
} else  {  
$realip = $_SERVER["REMOTE_ADDR"];  
}  
} else {  
if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) {  
$realip = getenv( 'HTTP_X_FORWARDED_FOR' );  
} elseif ( getenv( 'HTTP_CLIENT_IP' ) ) {  
$realip = getenv( 'HTTP_CLIENT_IP' );  
} else {  
$realip = getenv( 'REMOTE_ADDR' );  
}  
}  
return $realip;  
  }
 
 
function semestre($id_alumno)
{
  global $conn;
   
   $sql = "SELECT COUNT(*) FROM `inscripciones` where semestre='1' and id_alumno='$id_alumno'";
   $res = mysql_query($sql, $conn) or die(mysql_error());
   $row = mysql_fetch_assoc($res);
   reset($row);
   $semestre1= current($row);
  
   $sql = "SELECT COUNT(*) FROM `inscripciones` where semestre='2' and id_alumno='$id_alumno'";
   $res = mysql_query($sql, $conn) or die(mysql_error());
   $row = mysql_fetch_assoc($res);
   reset($row);
   $semestre2= current($row);
   
   $sql = "SELECT COUNT(*) FROM `inscripciones` where semestre='3' and id_alumno='$id_alumno'";
   $res = mysql_query($sql, $conn) or die(mysql_error());
   $row = mysql_fetch_assoc($res);
   reset($row);
   $semestre3= current($row);
   
   $sql = "SELECT COUNT(*) FROM `inscripciones` where semestre='4' and id_alumno='$id_alumno'";
   $res = mysql_query($sql, $conn) or die(mysql_error());
   $row = mysql_fetch_assoc($res);
   reset($row);
   $semestre4= current($row);
   
   $sql = "SELECT COUNT(*) FROM `inscripciones` where semestre='5' and id_alumno='$id_alumno'";
   $res = mysql_query($sql, $conn) or die(mysql_error());
   $row = mysql_fetch_assoc($res);
   reset($row);
   $semestre5= current($row);
   
   $sql = "SELECT COUNT(*) FROM `inscripciones` where semestre='6' and id_alumno='$id_alumno'";
   $res = mysql_query($sql, $conn) or die(mysql_error());
   $row = mysql_fetch_assoc($res);
   reset($row);
   $semestre6= current($row);
   
   $sql = "SELECT COUNT(*) FROM `inscripciones` where semestre='7' and id_alumno='$id_alumno'";
   $res = mysql_query($sql, $conn) or die(mysql_error());
   $row = mysql_fetch_assoc($res);
   reset($row);
   $semestre7= current($row);
   
   $sql = "SELECT COUNT(*) FROM `inscripciones` where semestre='8' and id_alumno='$id_alumno'";
   $res = mysql_query($sql, $conn) or die(mysql_error());
   $row = mysql_fetch_assoc($res);
   reset($row);
   $semestre8= current($row);
   
   $sql = "SELECT COUNT(*) FROM `inscripciones` where semestre='9' and id_alumno='$id_alumno'";
   $res = mysql_query($sql, $conn) or die(mysql_error());
   $row = mysql_fetch_assoc($res);
   reset($row);
   $semestre9= current($row);
   
   $sql = "SELECT COUNT(*) FROM `inscripciones` where semestre='10' and id_alumno='$id_alumno'";
   $res = mysql_query($sql, $conn) or die(mysql_error());
   $row = mysql_fetch_assoc($res);
   reset($row);
   $semestre10= current($row);
  
   $matriz = array(0,$semestre1,$semestre2,$semestre3,$semestre4,$semestre5,$semestre6,$semestre7,$semestre8,$semestre9,$semestre10); 
   
   $max=0;
   
   for ($i=1; $i<count($matriz); $i++){
        if($matriz[$i]>$max){
		   $max=$matriz[$i];
		   $sem=$i;
		}
	}
	return $sem;   
}
?>