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

class autor{
	private $iddoc;///
	private $nombres;
	private $apellidos;
	private $email;
	private $telefono;
	private $direccion;
	private $dni;
	private $foto;
	private $iddocente;
	
	private $start;
	/////////////////constructor/////////////////
	
		
		public function Correlativo()
	{
		$vCorre2 = 1;		
		$vCont = 1;
		$vCeros = "";
		$delta_ceros = 0;
		$AnoSiguiente = 0;
		$AnoActual = 0;
		$fecha = getdate();
		
		$db= new DBManager();	
		$rs=$db->execute("SELECT iddocente FROM docente ORDER BY iddocente;");
		
		//Entra a este bloque si existe algun valor en el campo INroOrd		
		if($rs->lastRow())
		{			
			
		
			$vCorre1 = substr($rs->fields['iddocente'],0,5);//variable que almacena los 4 primeros caracteres de INroOrd
			$vCorre2 = substr($rs->fields['iddocente'],6); //extraigo los ultimos 5 caracteres de INroOrd 			
			
			$vCorre1 = intval($vCorre1); //obtengo el valor entero
			$vCorre2 = intval($vCorre2); //obtengo el valor entero
							
			$vCorre2++;//se incrementa en 1, es decir el correlativo
			
			//verifico si el correlativo llega a ocupar los 5 digitos
		 	$delta_ceros = 6 - strlen($vCorre2);
			
			if( $delta_ceros == 0 )// Si en el codigo  correlativo ya no existen ceros que poner es decir vCorre2 = 10000
			{
				//Si es que he pasado al siguiente año
				$AnoActual = intval($fecha['year']);
				if($AnoActual>$vCorre1)
				{   
					$AnoSiguiente = $vCorre1+=1;
					return $AnoSiguiente."0000001";
				}
				else{

						return ($vCorre1.$vCorre2);
					}			
			}
			
			if( $delta_ceros < 0 /*-1*/)// Si en el codigo correlativo ya no existen ceros que poner y ya llego al limite, en este caso delta_ceros = -1
			{
				$AnoSiguiente = $vCorre1+=1;
				return $AnoSiguiente."0000001";
			}
			
			if( $delta_ceros > 0) // Si en el codigo correlativo existen ceros que poner
			{
			
				//Si es que he pasado al siguiente año
				$AnoActual = intval($fecha['year']);
				if($AnoActual>$vCorre1)
				{   
					$AnoSiguiente = $vCorre1+=1;
					return $AnoSiguiente."0000001";
				}
				else{
						for($i=1; $i<$delta_ceros; $i++)
						{
							$vCont++;//contador de ceros
						}			
						$vCeros=str_pad($vCeros,$vCont,'0',STR_PAD_RIGHT);//rellenar de ceros al lado derecho		
						return($vCorre1.$vCeros.$vCorre2);
					}			
			}			

		}else{ 
				//Caso contrario esta vacio el campo al inicio de las acciones				
				return ($fecha['year']."000000".$vCorre2);				
			 }

		$rs->close();
		$db->closeConnection();//opcional			
	}
	///////////////////////////////////////////
	public function Crear($vn,$va,$ve,$vt,$vi,$vd,$f,$doc)
	{
		$resp=false;		
		$db= new DBManager();		
		if($db->_execute("INSERT INTO docente(iddoc,nombres,apellidos,email,telefono,direccion,dni,foto,iddocente) VALUES(null,'".$vn."','".$va."','".$ve."','".$vt."','".$vi."','".$vd."','".$f."','".$doc."')"))   
		{
			$resp=true;
		}
		return $resp;		
	}
	
	
	public function ListarPorAutor($v)
	{
		$vector=null;		
		$db= new DBManager();		
		$rs=$db->execute("select * from docente where(nombres LIKE CONCAT('%','".$v."','%'))");
		$num_rows=$rs->getNumOfRows();
		if($num_rows>0)
		{	$row=0;
			$rs->firstRow(); // opcional, pero recomendado
			while (!$rs->EOF) 
			{
   				$vector[$row]=array("iddoc"	=> $rs->fields["iddoc"],
									"nombres" 	=> $rs->fields["nombres"],
									"apellidos" 	=> $rs->fields["apellidos"],
									"email" 	=> $rs->fields["email"],
									"telefono" 	=> $rs->fields["telefono"],
									"direccion" 	=> $rs->fields["direccion"],
									"dni" 	=> $rs->fields["dni"],
									"foto" 	=> $rs->fields["foto"],
									"iddocente" 	=> $rs->fields["iddocente"]);
                $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 BuscarPorCodigo($vcod)
	{
		
		$resp=false;
		$num_rows=0;//numero de filas afectada por la consulta
		$db= new DBManager();
		$rs=$db->execute("select * from docente where(iddoc = ".$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->iddoc=$rs->fields["iddoc"];
				$this->nombres=$rs->fields["nombres"];				
				$this->apellidos=$rs->fields["apellidos"];	
				$this->email=$rs->fields["email"];
				$this->telefono=$rs->fields["telefono"];
				$this->direccion=$rs->fields["direccion"];			 
				$this->dni=$rs->fields["dni"];
				$this->foto=$rs->fields["foto"];
				$this->iddocente=$rs->fields["iddocente"];
 				$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 BuscarPorDoc($vcod)
	{
		
		$resp=false;
		$num_rows=0;//numero de filas afectada por la consulta
		$db= new DBManager();
		$rs=$db->execute("select * from docente where(iddocente = '".$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->iddoc=$rs->fields["iddoc"];
				$this->nombres=$rs->fields["nombres"];				
				$this->apellidos=$rs->fields["apellidos"];	
				$this->email=$rs->fields["email"];
				$this->telefono=$rs->fields["telefono"];
				$this->direccion=$rs->fields["direccion"];			 
				$this->dni=$rs->fields["dni"];
				$this->foto=$rs->fields["foto"];
				$this->iddocente=$rs->fields["iddocente"];
 				$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 BuscarPorNombre($vcod)
	{
		
		$resp=false;
		$num_rows=0;//numero de filas afectada por la consulta
		$db= new DBManager();
		$rs=$db->execute("select * from docente where(email = '".$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->iddoc=$rs->fields["iddoc"];
				$this->nombres=$rs->fields["nombres"];				
				$this->apellidos=$rs->fields["apellidos"];	
				$this->email=$rs->fields["email"];
				$this->telefono=$rs->fields["telefono"];
				$this->direccion=$rs->fields["direccion"];			 
				$this->dni=$rs->fields["dni"];
				$this->foto=$rs->fields["foto"];
				$this->iddocente=$rs->fields["iddocente"];
 				$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 * from docente where(iddoc = ".$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->iddoc=$rs->fields["iddoc"];
				$this->nombres=$rs->fields["nombres"];				
				$this->apellidos=$rs->fields["apellidos"];	
				$this->email=$rs->fields["email"];
				$this->telefono=$rs->fields["telefono"];
				$this->direccion=$rs->fields["direccion"];			 
				$this->dni=$rs->fields["dni"];
				$this->foto=$rs->fields["foto"];
				$this->iddocente=$rs->fields["iddocente"];
 				$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 Logindoc($vNombreusu,$vContraseña)
        {
                $resp=false;
                $num_rows=0;//numero de filas afectada por la consulta
                $db= new DBManager();	
        		$rs=$db->execute("select * from docente 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->iddoc=$rs->fields["iddoc"];
							$this->nombres=$rs->fields["nombres"];				
							$this->apellidos=$rs->fields["apellidos"];	
							$this->email=$rs->fields["email"];
							$this->telefono=$rs->fields["telefono"];
							$this->direccion=$rs->fields["direccion"];			 
							$this->dni=$rs->fields["dni"];
							$this->foto=$rs->fields["foto"];
							$this->iddocente=$rs->fields["iddocente"];
                          $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,$ve,$vt,$vi)			
	{
		$resp=false;		
		$db= new DBManager();		
		if($db->_execute("update  docente set nombres = '".$vn."', apellidos = '".$va."',email='".$ve."',telefono = '".$vt."',direccion = '".$vi."' where (iddoc=".$vid.") "))//si es exitosa la consulta			   
		{
		  $resp=true; 
		}	
		return $resp;
	}
	
	public function Actualizarconfoto($vid,$vn,$va,$ve,$vt,$vi,$f)			
	{
		$resp=false;		
		$db= new DBManager();		
		if($db->_execute("update  docente set nombres = '".$vn."', apellidos = '".$va."',email='".$ve."',telefono = '".$vt."',direccion = '".$vi."', foto = '".$f."' where (iddoc=".$vid.") "))//si es exitosa la consulta			   
		{
		  $resp=true; 
		}	
		return $resp;
	}
	
	public function ActualizarClave($vcod,$vc)			
	{
		$resp=false;		
		$db= new DBManager();	
		if($db->_execute("update docente set dni='".$vc."' where (iddoc=".$vcod.") "))//si es exitosa la consulta			   
		{
		  $resp=true; 
		}	
		return $resp;
	}
	/////////////////////////////////
	public function ListaTotal()
	{
		$vector=null;
		$db= new DBManager();		
		$rs=$db->execute("select * from docente");
		$num_rows=$rs->getNumOfRows();
		if($num_rows>0)
		{	$row=0;
			$rs->firstRow(); // opcional, pero recomendado
			while (!$rs->EOF) {
                $vector[$row]=array("iddoc"	=> $rs->fields["iddoc"],
									"nombres" 	=> $rs->fields["nombres"],
									"apellidos" 	=> $rs->fields["apellidos"],
									"email" 	=> $rs->fields["email"],
									"telefono" 	=> $rs->fields["telefono"],
									"direccion" 	=> $rs->fields["direccion"],
									"dni" 	=> $rs->fields["dni"],
									"foto" 	=> $rs->fields["foto"],
									"iddocente" 	=> $rs->fields["iddocente"]);
                $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 docente WHERE (iddoc=".$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 getIddoc(){ return $this->iddoc;}
	public function getNombres(){ return $this->nombres;}
	public function getApellidos(){ return $this->apellidos;}
	public function getEmail(){ return $this->email;}
	public function getTelefono(){ return $this->telefono;}
	public function getDireccion(){ return $this->direccion;}
	public function getDni(){ return $this->dni;}
	public function getFoto(){ return $this->foto;}
	public function getIddocente(){ return $this->iddocente;}
	
public function getStart(){ return $this->start;}
}
?>