<?php
	function LoginCliente($Usuario, $Password){
		$QueryLogin = mssql_query("SELECT ClienteID, Nombre, RazonSocial, Domicilio, Colonia, CodigoPostal, Ciudad, 
		Telefono, RFC, NIP, Estado, Municipio, email, SeccionWebID, FormaCompraID, GrupoFacturarID, Grupo, LimiteCredito, 
		FormaCompraID, GrupoFacturarID, GasolineroID, DiaCorteSemana FROM Cliente WHERE ClienteID ='$Usuario' AND NIP = '$Password'");
		if(mssql_num_rows($QueryLogin) >= 1){
			$Evaluar = mssql_fetch_array($QueryLogin);
			$_SESSION['WEB2'] = 1;
			$_SESSION["Admin"] =  "1";		
			$_SESSION["Administrador"] = 1;
			$_SESSION["ClienteID"] = $Evaluar['ClienteID'];
			$_SESSION["UsuarioID"] = $Evaluar['ClienteID'];
			$_SESSION["Nombre"] = $Evaluar["Nombre"];
			$_SESSION["Password"] = $Evaluar["NIP"];
			$_SESSION['SeccionWebID'] = $Evaluar['SeccionWebID'];
			$_SESSION['Grupo'] = $Evaluar['Grupo']; //GrupoFacturarID
			$_SESSION['FormaCompraID'] = $Evaluar['FormaCompraID'];//DebitoCredito
			$_SESSION['DiaCorteSemana'] = $Evaluar['DiaCorteSemana'];//DiaFacturaID
			$_SESSION['LimiteCredito'] = $Evaluar['LimiteCredito'];
			$_SESSION['GasolineroID'] = $Evaluar['GasolineroID'];
			$_SESSION["RazonSocial"] = $Evaluar['RazonSocial'];							
			$_SESSION["Domicilio"] = $Evaluar['Domicilio'];
			$_SESSION["Colonia"] = $Evaluar['Colonia'];
			$_SESSION["CodigoPostal"] = $Evaluar['CodigoPostal'];
			$_SESSION["Ciudad"] = $Evaluar['Ciudad'];
			$_SESSION["Telefono"] = $Evaluar['Telefono'];
			$_SESSION["RFC"] = $Evaluar['RFC'];
			$_SESSION["Estado"] = $Evaluar['Estado'];
			$_SESSION["Municipio"] = $Evaluar['Municipio'];
			$_SESSION["email"] = $Evaluar['email'];
			$Tabla = "Acceso del Usuario:".$_SESSION['UsuarioID'];
			RegistroBitacora($_SESSION['ClienteID'], $_SESSION['VehiculoID'], $_SESSION['GasolineroID'], $_SESSION['UsuarioID'], $Tabla, '', '', '');
			CrearDefault($_SESSION['ClienteID']);
			$_SESSION["UltimoAcceso"]= date("Y-n-j H:i:s");
			AsignarDefaultGrupos($_SESSION['ClienteID']);
			return true;
		}else
			return false;
	}
	function LoginUsuario($Usuario, $Password){
		$QueryLogin = mssql_query("SELECT * FROM UsuarioWeb WHERE Usuario = '$Usuario' AND Clave = '$Password'");
		if(mssql_num_rows($QueryLogin) >= 1) {
			$EvaluarUsuario = mssql_fetch_array($QueryLogin);
			$QueryGasolinero = mssql_query("SELECT GasolineroID FROM Cliente WHERE ClienteID = ".$EvaluarUsuario['ClienteID']."");
			$EvaluarGasolinero = mssql_fetch_array($QueryGasolinero);
			$QueryLimiteCredito = mssql_query("SELECT LimiteCredito FROM Cliente WHERE ClienteID = ".$EvaluarUsuario['ClienteID']."");
			$EvaluarLimiteCredito = mssql_fetch_array($QueryLimiteCredito);
			$_SESSION['WEB2'] = 1;
			$_SESSION["Admin"] =  NULL;
			$_SESSION["ClienteID"] = $EvaluarUsuario['ClienteID'];
			$_SESSION["UsuarioID"] = $EvaluarUsuario['UsuarioWebID'];
			$_SESSION["Nombre"] = $EvaluarUsuario['Nombre'];
			$_SESSION["Usuario"] = $EvaluarUsuario['Usuario'];
			$_SESSION["Administrador"] = $EvaluarUsuario['Administrador'];
			$_SESSION["Password"] = $EvaluarUsuario['Clave'];
			$_SESSION["SeccionWebID"] = $EvaluarUsuario['SeccionWebID'];
			$_SESSION["email"] = $EvaluarUsuario['Email'];
			$_SESSION['LimiteCredito'] = $EvaluarLimiteCredito['LimiteCredito'];								
			$_SESSION['GasolineroID'] = $EvaluarGasolinero['GasolineroID'];
			$Tabla = "Acceso del Usuario:".$_SESSION['UsuarioID'];
			RegistroBitacora($_SESSION['ClienteID'], $_SESSION['VehiculoID'], $_SESSION['GasolineroID'], $_SESSION['UsuarioID'], $Tabla, '', '', '');
			CrearDefault($_SESSION['ClienteID']);
			AsignarDefaultGrupos($_SESSION['ClienteID']);
			$_SESSION["UltimoAcceso"]= date("Y-n-j H:i:s");
			return true;
		}else
			return false;
	}
	function RegistroBitacora($ClienteID, $VehiculoID, $GasolineroID, $UsuarioID, $Tabla, $Campo, $ValorAnterior, $ValorNuevo){
		$WebBitacoraID = Folio('WebBitacoraID');
		$QueryLog = mssql_query("INSERT INTO BitacoraWeb (WebBitacoraID, ClienteID, VehiculoID, GasolineroID, 
		UsuarioID, Tabla, Campo, ValorAnterior, ValorNuevo, Fecha, TipoLog) VALUES ('$WebBitacoraID', '$ClienteID', '$VehiculoID', '$GasolineroID',
		'$UsuarioID', '$Tabla', '$Campo','$ValorAnterior', '$ValorNuevo', getdate(), 1)");
	}
	function CrearDefault($ClienteID){
		$ChecarGrupo = mssql_query("SELECT * FROM SeccionWeb WHERE NombreSeccion = 'DEFAULT' AND ClienteID = '$ClienteID'");
		if(mssql_num_rows($ChecarGrupo) < 1) {
			$SeccionWebID = Folio('SeccionWebID');
			$CrearGrupo = mssql_query("INSERT INTO SeccionWeb(SeccionWebID, ClienteID, NombreSeccion) VALUES ('$SeccionWebID', '$ClienteID',
			'DEFAULT')");
			$SelectGrupo = mssql_query("Select * FROM SeccionWeb WHERE NombreSeccion = 'DEFAULT' AND ClienteID = '$ClienteID'");
			$EvaluarSelectGrupo = mssql_fetch_array($SelectGrupo);
			$AsignarGrupo = mssql_query("UPDATE Cliente SET SeccionWebID = ". $EvaluarSelectGrupo['SeccionWebID']. " WHERE ClienteID = '$ClienteID'");
		}
	}
	function AsignarDefaultGrupos($ClienteID){
		$Default = mssql_query("SELECT * FROM SeccionWeb WHERE NombreSeccion = 'DEFAULT' AND ClienteID = '$ClienteID'");
		$EvaluarDefault = mssql_fetch_array($Default);
		$i = 0;
		$QueryGrupos = mssql_query("SELECT * FROM SeccionWeb WHERE ClienteID = '$ClienteID' ORDER BY SeccionWebID");
		while($EvaluarGrupos = mssql_fetch_array($QueryGrupos)){
			$Secciones[$i] = $EvaluarGrupos['SeccionWebID'];
			$i++;	
		}
		$Usuarios = mssql_query("SELECT * FROM UsuarioWeb WHERE ClienteID = '$ClienteID' ORDER BY UsuarioWebID");	
		while($EvaluarUsuario = mssql_fetch_array($Usuarios)){
			for($i=0;$i<count($Secciones);$i++){
				if($Secciones[$i] == $EvaluarUsuario['SeccionWebID'])
					$Bandera = 1;
			}
			if($Bandera != 1)
				$UpdateUsuario = mssql_query("UPDATE UsuarioWeb SET SeccionWebID = ".$EvaluarDefault['SeccionWebID']." WHERE UsuarioWebID = ".$EvaluarUsuario['UsuarioWebID']."");
			$Bandera = '';
		}
		
		$Vehiculos = mssql_query("SELECT * FROM Vehiculo WHERE ClienteID = '$ClienteID' ORDER BY VehiculoID");
		while($EvaluarVehiculo = mssql_fetch_array($Vehiculos)){
			for($i=0;$i<count($Secciones);$i++){
				if($Secciones[$i] == $EvaluarVehiculo['SeccionWebID'])
					$Bandera = 1;
			}
			if($Bandera != 1)
				$UpdateVehiculo = mssql_query("UPDATE Vehiculo SET SeccionWebID = ".$EvaluarDefault['SeccionWebID']." WHERE VehiculoID = ".$EvaluarVehiculo['VehiculoID']."");
			$Bandera = '';
		}
	}
	function Folio($Campo) {
	  $query = mssql_query("SELECT Folio FROM Folio WHERE Campo = '$Campo'");
	  
	  if (mssql_num_rows($query) == 0){
		 mssql_query("INSERT INTO Folio VALUES('$Campo','', 1)");  
	  }
	  
	  $query = mssql_query("SELECT Folio FROM Folio WHERE Campo = '$Campo'");
	  $row = mssql_fetch_array($query);
	 	  
	  $query = mssql_query("UPDATE Folio SET Folio = Folio + 1 WHERE Campo = '$Campo'");
	  
	  return $row['Folio'];	
	}
	function Producto($Nombre){
		if ($Nombre == 1)
			echo "MAGNA";
		elseif ($Nombre== 2)
			echo "PREMIUM";	
		elseif ($Nombre == 123)
			echo "TODOS";
		elseif ($Nombre == 3)
			echo "DIESEL";
		elseif ($Nombre == 12)
			echo "MAGNA Y PREMIUM";
		elseif ($Nombre == 13)
			echo "MAGNA Y DIESEL";
		elseif ($Nombre == 23)
			echo "PREMIUM Y DIESEL";
		elseif ($Nombre == 1235)
			echo "TODOS Y ADITIVOS";
	}
	function Administrador($Tipo){
		if($Tipo == 1)
			return 'SI';
		else
			return 'NO';
	}
	function Status($Tipo) {
		if ($Tipo == 1)
			echo "Activo";
		elseif ($Tipo == 2)
			echo "Inactivo";	
	}
	function Correo($FromMail, $Pass, $ToMail, $FromName, $asunto, $mensaje){
		$mail = new PHPMailer();
		$mail->IsSMTP();
		$mail->Host = $_SESSION['CorreoHost'];
		$mail->Port = $_SESSION['CorreoPort'];
		$mail->SMTPAuth = true;
		$mail->Username = $FromMail; 
		$mail->Password = $Pass;
		$mail->From = $FromMail;
		$mail->FromName = $FromName;
		$mail->AddAddress($ToMail);
		$mail->Subject = $asunto;
		$mail->Body = $mensaje;
        $mail->AltBody = $mensaje;
		if (!$mail->Send()) 
			return False;					
		else
			return True;
	}
	//Formato Dia/Mes/Anio
	function restar_dates($data1, $data2){
		list($dia1, $mes1, $any1) = split('[/.-]', $data1);
		list($dia2, $mes2, $any2) = split('[/.-]', $data2);
	
		$date1 = mktime(null,null,null,$mes1, $dia1, $any1);
		$date2 = mktime(null,null,null,$mes2, $dia2, $any2);
		
		return round(($date2 - $date1) / (60 * 60 * 24));
	}
	//Formato Anio/Mes/Dia
	function restar_dates2($data1, $data2){
		list($any1, $mes1, $dia1 ) = split('[/.-]', $data1);
		list($any2, $mes2, $dia2 ) = split('[/.-]', $data2);
	
		$date1 = mktime(null,null,null, $mes1, $dia1, $any1);
		$date2 = mktime(null,null,null, $mes2, $dia2, $any2);
		
		return round(($date2 - $date1) / (60 * 60 * 24));
	}
	function check_email_address($email) 
	{
		// Primero, checamos que solo haya un símbolo @, y que los largos sean correctos
  		if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) 
		{
			// correo inválido por número incorrecto de caracteres en una parte, o número incorrecto de símbolos @
    		return false;
  		}
  		// se divide en partes para hacerlo más sencillo
  		$email_array = explode("@", $email);
  		$local_array = explode(".", $email_array[0]);
  		for ($i = 0; $i < sizeof($local_array); $i++) 
		{
    	if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) 
		{
      		return false;
    	}
  	} 
  	// se revisa si el dominio es una IP. Si no, debe ser un nombre de dominio válido
	if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { 
    	$domain_array = explode(".", $email_array[1]);
     	if (sizeof($domain_array) < 2) {
        	return false; // No son suficientes partes o secciones para se un dominio
     	}
     	for ($i = 0; $i < sizeof($domain_array); $i++) {
        	if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) 	{
           		return false;
        	}
     	}
  	}
  	return true;
	}
	function CortarPalabras($Texto, $Limite){
		if(strlen($Texto) > $Limite){
			$TextoResumen = substr($Texto, 0, strrpos(substr($Texto, 0, $Limite)," "));
			$TextoResumen = $TextoResumen.' ...';
			return $TextoResumen;
		}else{
			return $Texto;
		}
	}
	function Inactividad(){
		//sino, calculamos el tiempo transcurrido  
		$TiempoActual = date("Y-n-j H:i:s"); 
		$TiempoTranscurrido = (strtotime($TiempoActual)-strtotime($_SESSION['UltimoAcceso'])); 
		
		 if($TiempoTranscurrido >= 600) {//comparamos el tiempo transcurrido y si se pasa... 
		  session_destroy(); // ...destruyo la sesión 
		  echo "<script language='javascript'>window.parent.Shadowbox.close();</script>";
		  echo "<script language='JavaScript'>location.href = 'index.php'</script>";//envío al usuario a la pag. de autenticación sino, actualizo la fecha de la sesión 
		}else 
			$_SESSION["UltimoAcceso"] = $TiempoActual; 
	}
	function extension($Archivo){
		return substr(strrchr($Archivo, '.'), 1);
	}
	function Nombre($Archivo){
		return substr(strrchr($Archivo, '/'), 1);
	}
	function HoraIni($Dia){
		$HoraIni = strpos($Dia, '1');//devuelve la posicion del primer caracter
		return $HoraIni;
	}
	function HoraFin($Dia){
		$HoraIni = strpos($Dia, '1');//devuelve la posicion del primer caracter
		$HoraIni = $HoraIni;
		$Repetidos = substr_count($Dia, '1');
		$Horafinal = $HoraIni + $Repetidos - 1;
		return $Horafinal;
	}
	function Rangos($IndiceIni, $IndiceFin){
		$Horas = '000000000000000000000000';
		$P1 = substr($Horas, 0, $IndiceIni);
		$P2 = substr($Horas, $IndiceFin, 23);
		
		while($IndiceIni < $IndiceFin){
			$RangoHoras = $RangoHoras.'1';
			$IndiceIni++;
		}
		return $P1.$RangoHoras.$P2;
	}
	function CortarCorreo($Correo){
		$Retorno = substr($Correo, 0, 23);		
		return $Retorno.'...';
	}
?>