<?php
require_once("DBManager.class.php");

class alumno{
	private $idalu;///
	private $nombres;
	private $apellidos;
	private $dni;
	private $direccion;
	private $telefono;
	private $fechanaci;
	private $email;
	private $especialidad;
	private $foto;
	private $enlinea;
	
	private $start;
	/////////////////constructor/////////////////
	function __construct($idalu="",$nombres="",$apellidos="",$dni="",$direccion="",$telefono="",$fechanaci="",$email="",$especialidad="",$foto="",$enlinea=""){
             $this->setIdalu($idalu);//
	         $this->setNombres($nombres);//
		     $this->setApellidos($apellidos);///
		     $this->setDni($dni);//
			 $this->setDireccion($direccion);//
			 $this->setTelefono($telefono);//
			 $this->setFechanaci($fechanaci);//
			 $this->setEmail($email);//
			  $this->setEspecialidad($especialidad);//
			  $this->setEnlinea($enlinea);//
				//$this->setStatus($status);//
        }	
	///////////////////////////////////////////
	public function Crear($vn,$va,$vd,$vdi,$vte,$f,$ve,$ves,$fo)
	{
		$resp=false;		
		$db= new DBManager();	
		$f = implode("-", array_reverse(explode("-", $f)));	
		if($db->_execute("INSERT INTO alumno(idalu,nombres,apellidos,dni,direccion,telefono,fechanaci,email,especialidad,foto) VALUES(null,'".$vn."','".$va."','".$vd."','".$vdi."','".$vte."','".$f."','".$ve."',".$ves.",'".$fo."')"))   
		{
			$resp=true;
		}
		return $resp;		
	}
	
	
	public function ListarPorAlumno($v)
	{
		$vector=null;		
		$db= new DBManager();		
		$rs=$db->execute("select idalu,nombres,apellidos,dni,direccion,telefono,DATE_FORMAT(fechanaci,'%d-%m-%Y') AS fechanaci,email,especialidad,foto,enlinea from alumno where(nombres LIKE CONCAT('%','".$v."','%') or apellidos LIKE CONCAT('%','".$v."','%'))");
		$num_rows=$rs->getNumOfRows();
		if($num_rows>0)
		{	$row=0;
			$rs->firstRow(); // opcional, pero recomendado
			while (!$rs->EOF) 
			{
   				$vector[$row]=array("idalu"	    => $rs->fields["idalu"],
									"nombres" 	=> $rs->fields["nombres"],
									"apellidos" => $rs->fields["apellidos"],
									"dni" 	    => $rs->fields["dni"],
									"direccion" => $rs->fields["direccion"],
									"telefono" 	=> $rs->fields["telefono"],
									"fechanaci" => $rs->fields["fechanaci"],
									"email" 	=> $rs->fields["email"],
									"especialidad" 	=> $rs->fields["especialidad"],
									"foto" 	=> $rs->fields["foto"],
									"enlinea" 	=> $rs->fields["enlinea"]);
									
                $row++;
				$rs->nextRow(); // Nota: nextRow() Esta situado al final				
         	}			
        	return $vector;			
		}else return null;
		$rs->close(); 
		$db->closeConnection();//opcional cierra el enlace de la Base de Datos              						
	}
	
	public function BuscarPorNombre($vn)
	{
		
		$resp=false;
		$num_rows=0;//numero de filas afectada por la consulta
		$db= new DBManager();
		$rs=$db->execute("select idalu,nombres,apellidos,dni,direccion,telefono,DATE_FORMAT(fechanaci,'%d-%m-%Y') AS fechanaci,email,especialidad,foto,enlinea from alumno where(email = '".$vn."')");
		$num_rows=$rs->getNumOfRows();
		if($num_rows>0)
		{	$resp=true;
			$rs->firstRow(); // opcional, pero recomendado
			while (!$rs->EOF) {
                // Coleccion de campos accesible mediante arrays asociativos también
	                  $this->idalu=$rs->fields["idalu"];
				      $this->nombres=$rs->fields["nombres"];				
				      $this->apellidos=$rs->fields["apellidos"];				 
				      $this->dni=$rs->fields["dni"];
					  $this->direccion=$rs->fields["direccion"];
					  $this->telefono=$rs->fields["telefono"];
					  $this->fechanaci=$rs->fields["fechanaci"];
					  $this->email=$rs->fields["email"];
					  $this->especialidad=$rs->fields["especialidad"];
					  $this->foto=$rs->fields["foto"];
					  $this->enlinea=$rs->fields["enlinea"];
					 // $this->status=$rs->fields["status"];
 				$rs->nextRow(); // Nota: nextRow() Esta situado al final				
        	}			
		}
		$rs->close(); 
		$db->closeConnection();//opcional cierra el enlace de la Base de Datos              
		return $resp;							
	}	
	public function BuscarPorCodigo($vcod)
	{
		
		$resp=false;
		$num_rows=0;//numero de filas afectada por la consulta
		$db= new DBManager();
		$rs=$db->execute("select idalu,nombres,apellidos,dni,direccion,telefono,DATE_FORMAT(fechanaci,'%d-%m-%Y') AS fechanaci,email,especialidad,foto,enlinea from alumno where(idalu = ".$vcod.")");
		$num_rows=$rs->getNumOfRows();
		if($num_rows>0)
		{	$resp=true;
			$rs->firstRow(); // opcional, pero recomendado
			while (!$rs->EOF) {
                // Coleccion de campos accesible mediante arrays asociativos también
	                  $this->idalu=$rs->fields["idalu"];
				      $this->nombres=$rs->fields["nombres"];				
				      $this->apellidos=$rs->fields["apellidos"];				 
				      $this->dni=$rs->fields["dni"];
					  $this->direccion=$rs->fields["direccion"];
					  $this->telefono=$rs->fields["telefono"];
					  $this->fechanaci=$rs->fields["fechanaci"];
					  $this->email=$rs->fields["email"];
					  	  $this->especialidad=$rs->fields["especialidad"];
					  $this->foto=$rs->fields["foto"];
					  $this->enlinea=$rs->fields["enlinea"];
 				$rs->nextRow(); // Nota: nextRow() Esta situado al final				
        	}			
		}
		$rs->close(); 
		$db->closeConnection();//opcional cierra el enlace de la Base de Datos              
		return $resp;							
	}
	
	public function validaClave($vcod,$clave)
	{
		
		$resp=false;
		$num_rows=0;//numero de filas afectada por la consulta
		$db= new DBManager();
		$rs=$db->execute("select idalu,nombres,apellidos,dni,direccion,telefono,DATE_FORMAT(fechanaci,'%d-%m-%Y') AS fechanaci,email,especialidad,foto,enlinea from alumno where(idalu = ".$vcod." and dni='".$clave."')");
		$num_rows=$rs->getNumOfRows();
		if($num_rows>0)
		{	$resp=true;
			$rs->firstRow(); // opcional, pero recomendado
			while (!$rs->EOF) {
                // Coleccion de campos accesible mediante arrays asociativos también
	                  $this->idalu=$rs->fields["idalu"];
				      $this->nombres=$rs->fields["nombres"];				
				      $this->apellidos=$rs->fields["apellidos"];				 
				      $this->dni=$rs->fields["dni"];
					  $this->direccion=$rs->fields["direccion"];
					  $this->telefono=$rs->fields["telefono"];
					  $this->fechanaci=$rs->fields["fechanaci"];
					  $this->email=$rs->fields["email"];
					  $this->especialidad=$rs->fields["especialidad"];
					  $this->foto=$rs->fields["foto"];
					  $this->enlinea=$rs->fields["enlinea"];
 				$rs->nextRow(); // Nota: nextRow() Esta situado al final				
        	}			
		}
		$rs->close(); 
		$db->closeConnection();//opcional cierra el enlace de la Base de Datos              
		return $resp;							
	}
	
	///////////////////////////////////////////////
	public function Loginalu($vNombreusu,$vContraseña)
        {
                $resp=false;
                $num_rows=0;//numero de filas afectada por la consulta
                $db= new DBManager();	
        		$rs=$db->execute("select idalu,nombres,apellidos,dni,direccion,telefono,DATE_FORMAT(fechanaci,'%d-%m-%Y') AS fechanaci,email,especialidad,foto,enlinea from alumno WHERE (email='".$vNombreusu."' AND dni='".$vContraseña."');");
                $num_rows=$rs->getNumOfRows();
                if($num_rows>0)
                {        $resp=true;
                         $rs->firstRow(); // opcional, pero recomendado
                        while (!$rs->EOF) {
                // Coleccion de campos accesible mediante arrays asociativos también                               
                            $this->idalu=$rs->fields["idalu"];
				      		$this->nombres=$rs->fields["nombres"];				
				      		$this->apellidos=$rs->fields["apellidos"];				 
				      		$this->dni=$rs->fields["dni"];
					  		$this->direccion=$rs->fields["direccion"];
					  		$this->telefono=$rs->fields["telefono"];
					  		$this->fechanaci=$rs->fields["fechanaci"];
					  		$this->email=$rs->fields["email"];
					  	    $this->especialidad=$rs->fields["especialidad"];
					  		$this->foto=$rs->fields["foto"];
							 $this->enlinea=$rs->fields["enlinea"];
                          $rs->nextRow(); // Nota: nextRow() Esta situado al final
                         }
                }
                $rs->close();
                $db->closeConnection();//opcional cierra el enlace de la Base de Datos
                return $resp;
        }
	////////////////////////////////////////////
	public function BuscarPorEmail($vNombreusu)
        {
                $resp=false;
                $num_rows=0;//numero de filas afectada por la consulta
                $db= new DBManager();	
        		$rs=$db->execute("select idalu,nombres,apellidos,dni,direccion,telefono,DATE_FORMAT(fechanaci,'%d-%m-%Y') AS fechanaci,email,especialidad,foto,enlinea from alumno WHERE (email='".$vNombreusu."');");
                $num_rows=$rs->getNumOfRows();
                if($num_rows>0)
                {        $resp=true;
                         $rs->firstRow(); // opcional, pero recomendado
                        while (!$rs->EOF) {
                // Coleccion de campos accesible mediante arrays asociativos también                               
                            $this->idalu=$rs->fields["idalu"];
				      		$this->nombres=$rs->fields["nombres"];				
				      		$this->apellidos=$rs->fields["apellidos"];				 
				      		$this->dni=$rs->fields["dni"];
					  		$this->direccion=$rs->fields["direccion"];
					  		$this->telefono=$rs->fields["telefono"];
					  		$this->fechanaci=$rs->fields["fechanaci"];
					  		$this->email=$rs->fields["email"];
					  	    $this->especialidad=$rs->fields["especialidad"];
					  		$this->foto=$rs->fields["foto"];
							 $this->enlinea=$rs->fields["enlinea"];
                          $rs->nextRow(); // Nota: nextRow() Esta situado al final
                         }
                }
                $rs->close();
                $db->closeConnection();//opcional cierra el enlace de la Base de Datos
                return $resp;
        }
	////////////////////////////////////////////
	
	
	public function Actualizar($vid,$vn,$va,$vdi,$vte,$vf,$ves)			
	{
		$resp=false;		
		$db= new DBManager();	
		$vf = implode("-",array_reverse(explode("-",$vf)));	
		if($db->_execute("update  alumno set nombres = '".$vn."', apellidos = '".$va."', direccion = '".$vdi."',telefono = '".$vte."',fechanaci = '".$vf."',especialidad = ".$ves." where (idalu=".$vid.") "))//si es exitosa la consulta			   
		{
		  $resp=true; 
		}	
		return $resp;
	}
	
	public function Actualizarconfoto($vid,$vn,$va,$vdi,$vte,$vf,$ves,$fo)			
	{
		$resp=false;		
		$db= new DBManager();	
		$vf = implode("-",array_reverse(explode("-",$vf)));	
		if($db->_execute("update  alumno set nombres = '".$vn."', apellidos = '".$va."', direccion = '".$vdi."',telefono = '".$vte."',fechanaci = '".$vf."',especialidad = ".$ves.",foto= '".$fo."' where (idalu=".$vid.") "))//si es exitosa la consulta			   
		{
		  $resp=true; 
		}	
		return $resp;
	}
	
	public function Actualizarfoto($vid,$fo)			
	{
		$resp=false;		
		$db= new DBManager();	
		$vf = implode("-",array_reverse(explode("-",$vf)));	
		if($db->_execute("update  alumno set foto= '".$fo."' where (idalu=".$vid.") "))//si es exitosa la consulta			   
		{
		  $resp=true; 
		}	
		return $resp;
	}
	
	public function ActualizarStatus($vid,$s)			
	{
		$resp=false;		
		$db= new DBManager();	
		$vf = implode("-",array_reverse(explode("-",$vf)));	
		if($db->_execute("update  alumno set enlinea= '".$s."' where (idalu=".$vid.") "))//si es exitosa la consulta			   
		{
		  $resp=true; 
		}	
		return $resp;
	}
	
	public function ActualizarClave($vcod,$vc)			
	{
		$resp=false;		
		$db= new DBManager();	
		if($db->_execute("update alumno set dni='".$vc."' where (idalu=".$vcod.") "))//si es exitosa la consulta			   
		{
		  $resp=true; 
		}	
		return $resp;
	}
	/////////////////////////////////
	public function ListaTotal()
	{
		$vector=null;
		$db= new DBManager();		
		$rs=$db->execute("select a.idalu,a.nombres,a.apellidos,a.dni,a.direccion,a.telefono,date_format(a.fechanaci,'%d-%m-%Y') as fechanaci, a.email,a.especialidad,a.foto,c.nombre from alumno a, carrera c where a.especialidad=c.idcarrera");
		$num_rows=$rs->getNumOfRows();
		if($num_rows>0)
		{	$row=0;
			$rs->firstRow(); // opcional, pero recomendado
			while (!$rs->EOF) {
                $vector[$row]=array("idalu"	    => $rs->fields["idalu"],
									"nombres" 	=> $rs->fields["nombres"],
									"apellidos" => $rs->fields["apellidos"],
									"dni" 	    => $rs->fields["dni"],
									"direccion" => $rs->fields["direccion"],
									"telefono" 	=> $rs->fields["telefono"],
									"fechanaci" => $rs->fields["fechanaci"],
									"email" 	=> $rs->fields["email"],
									"especialidad" 	=> $rs->fields["especialidad"],
									"foto" 	=> $rs->fields["foto"],
									"nombre" 	=> $rs->fields["nombre"]);
									
                $row++;
				$rs->nextRow(); // Nota: nextRow() Esta situado al final				
        	}			
        	return $vector;			
		}else return null;
		
		$rs->close(); 
		$db->closeConnection();//opcional cierra el enlace de la Base de Datos              						
	}
	

	//////////////////////////////
	public function Eliminar($vcod)
	{
		$resp=false;		
		$db= new DBManager();		
		if($db->_execute("DELETE FROM alumno WHERE (idalu=".$vcod.");"))   
		{
			$resp=true;
		}
		return $resp;		
	}	
	/////////////////////////////////////////
	public function BuscarEnAgenda($vcod)
	{
		
		$resp=false;
		$num_rows=0;//numero de filas afectada por la consulta
		$db= new DBManager();
		$rs=$db->execute("select * from events where(idpersona = $vcod)");
		$num_rows=$rs->getNumOfRows();
		if($num_rows>0)
		{	$resp=true;
			$rs->firstRow(); // opcional, pero recomendado
			while (!$rs->EOF) {
                // Coleccion de campos accesible mediante arrays asociativos también
	            $this->id=$rs->fields["id"];
				$this->title=$rs->fields["title"];				
				$this->color=$rs->fields["color"];	
				$this->start=$rs->fields["start"];
				$this->end=$rs->fields["end"];
				$this->idpersona=$rs->fields["idpersona"];
 				$rs->nextRow(); // Nota: nextRow() Esta situado al final				
        	}			
		}
		$rs->close(); 
		$db->closeConnection();//opcional cierra el enlace de la Base de Datos              
		return $resp;							
	}
	////////////////////////////////////////							
	
	public function getIdalu(){ return $this->idalu;}
	public function getNombres(){ return $this->nombres;}
	public function getApellidos(){ return $this->apellidos;}
	public function getDni(){ return $this->dni;}
	public function getDireccion(){ return $this->direccion;}
	public function getTelefono(){ return $this->telefono;}
	public function getFechanaci(){ return $this->fechanaci;}
	public function getEmail(){ return $this->email;}
	public function getEspecialidad(){ return $this->especialidad;}
	public function getFoto(){ return $this->foto;}
	public function getEnlinea(){ return $this->enlinea;}
	
	public function getStart(){ return $this->start;}	
			
	public function setIdalu( $idalu ){ $this->idalu = $idalu;}
	public function setNombres( $nombres){ $this->nombres = $nombres;}
	public function setApellidos( $apellidos ){ $this->apellidos = $apellidos;}
	public function setDni( $dni ){ $this->dni = $dni;}
	public function setDireccion( $direccion ){ $this->direccion = $direccion;}
	public function setTelefono( $telefono ){ $this->telefono = $telefono;}
	public function setFechanaci( $fechanaci ){ $this->fechanaci = $fechanaci;}
	public function setEmail( $email ){ $this->email = $email;}
		public function setEspecialidad( $especialidad ){ $this->especialidad = $especialidad;}
		public function setFoto( $foto ){ $this->foto = $foto;}
	public function setEnlinea( $enlinea ){ $this->enlinea = $enlinea;}	
}
?>
