<?php 

	$user=$_GET['usuario'];
	//if (is_null($user)) echo 'es null';
	$file_xml = getcwd().'/'.$user.'_loc.XML';
	if (file_exists($file_xml)) unlink ($file_xml);

	$permiso=$_GET['permiso'];// 0=ver solo lineas / 1=ver todo
	//echo $usuario.'-'.$permiso.'<br>';
	$link = mysql_connect('213.0.68.60:3366', 'root', '')
	    or die('No se pudo conectar: ' . mysql_error());
	mysql_select_db('busmatick') or die('No se pudo seleccionar la base de datos');
	$linea_actual = 0;
	if ($permiso==0){
			$query = 'select conductor, linea from vehiculos where conductor='.$user.' and linea>0 and fecha_hora>="'.gmdate('Y-m-d H:i:s').'"';
			$result = mysql_query($query) or die('Consulta fallida: ' . mysql_error());
	    if (mysql_num_rows($result) > 0) {
	      $linea_actual= 0;
	      while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
	        $linea_actual= $line['linea'];
	      }
	     //echo '<p>Usuario es numérico'.$user.'</p>';
	    }
	}
	$lat = 0; 
	$lon = 0;
	//echo 'linea: '.$linea_actual.'<br>';
	//echo '$permiso: '.$permiso.'<br>';
	if ($linea_actual>0 || ($permiso==1)){
		if ($permiso==0) {
		   $query = 'select fh_utc,conductor, vehiculo, latitud, ';
		   $query .= 'longitud,  rumbo, velocidad, regulacion, linea, trayecto,  fh_servicio, num_viajeros ';
		   $query .= 'from vehiculos ';
       $query .= 'where fh_utc in ';
       $query .= '(select max(fh_utc) as fh_utc from vehiculos WHERE linea='.$linea_actual;
       $query .= ' and fecha_hora>="'.gmdate('Y-m-d H:i:s').'" GROUP BY vehiculo ) and linea = '.$linea_actual;
		}
		if ($permiso==1) {
		   $query = 'select fh_utc,conductor, vehiculo, latitud, ';
		   $query .= 'longitud,  rumbo, velocidad, regulacion, linea, trayecto,  fh_servicio, num_viajeros ';
		   $query .= 'from vehiculos ';
       $query .= 'where fh_utc in ';
       $query .= '(select max(fh_utc) as fh_utc from vehiculos WHERE';
       $query .= ' fecha_hora>="'.gmdate('Y-m-d H:i:s').'" GROUP BY vehiculo )';
		}
		$result = mysql_query($query) or die('Consulta fallida: ' . mysql_error());
		
		//echo $file_xml;
		if (mysql_num_rows($result) > 0) {

		   		$h_file = fopen($file_xml,'w');
		   		fwrite($h_file, '<?xml version="1.0" encoding="iso-8859-1"?>'.PHP_EOL);
		   		fwrite($h_file, '<list>'.PHP_EOL);
		        $max_lat=0;
		        $max_lon=0;
		        $min_lon=0;
		        $min_lat=0;
		        $primero = TRUE;
					while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
		            if ($primero) {
		                  $max_lat = $line['latitud'];
		                  $max_lon = $line['longitud'];
		                  $min_lat = $line['latitud'];
		                  $min_lon = $line['longitud'];
		                  $primero = FALSE;
		            }else{
		                 if ($max_lat < $line['latitud']) $max_lat = $line['latitud'];
		                 if ($max_lon < $line['longitud']) $max_lon = $line['longitud'];
		                 if ($min_lat > $line['latitud']) $min_lat = $line['latitud'];
		                 if ($min_lon > $line['longitud']) $min_lon = $line['longitud'];
		            }
		            $fh = new DateTime(date($line['fh_utc']),new DateTimeZone('utc'));
		            $fh->setTimezone(new DateTimeZone('Europe/Madrid'));
		            $rumbo = round($line['rumbo']/45);
		            $vel = 'p';
		            if ($line['velocidad']>4) $vel ='n';
		            if ($line['velocidad']>50) $vel ='d';
		            if ($line['velocidad']>70) $vel ='n';
		            if ($line['velocidad']>90) $vel ='r';
		            if ($line['velocidad']>100) $vel ='k';
								if ($vel == 'p' || $rumbo == 8) $rumbo = 0;
		            if ($line['regulacion']>-3 && $line['regulacion']<6) {
		                 $reg ='o';
		            }
		            if ($line['regulacion']>5) {
		                 $reg ='r';
		            }
		            if ($line['regulacion']<-2) {
		                 $reg ='a';
		            }
		            if ($line['regulacion']==0) {
		            	$regula = 'En Hora';
		            }
		            if ($line['regulacion']<0) {
		                 $regula = 'Adelantado '.abs($line['regulacion']).' min.';
		            }
		            if ($line['regulacion']>0) {
		                 $regula = 'Retrasado '.abs($line['regulacion']).' min.';
		            }
		            $ico = $vel.$rumbo.$reg;
		                $q='select nombre from trayectos where codlinea='.$line['linea'].' and codtrayect='.$line['trayecto'];
		                $r_q = mysql_query($q) or die('Consulta fallida: ' . mysql_error());
		                $nombre_lin='';
		                while ($n_linea = mysql_fetch_array($r_q, MYSQL_ASSOC)) {
		                     $nombre_lin=$n_linea['nombre'];
		                }
		
		            if ($line['linea'] == '0') {
		                $ser = 'Sin Servicio';
		            }else{
		                $q='select nombre from empleados where codigo='.$line['conductor'];
		                $r_q = mysql_query($q) or die('Consulta fallida: ' . mysql_error());
		                $nombre_cond='';
		                while ($n_cond = mysql_fetch_array($r_q, MYSQL_ASSOC)) {
		                     $nombre_cond=str_replace(',',' ',$n_cond['nombre']);
		                }
		            	$fh_ser = new DateTime(date($line['fh_servicio']));
		                $ser = '{Conductor:} '.$nombre_cond.',';
		                $ser =$ser.'{Serv.:} '.$line['linea'].'/'.$line['trayecto'].' ('.$fh_ser->format("H:i").') '.$nombre_lin.', {Viajeros:} '.$line['num_viajeros'].','.$regula;
		                unset($fh_ser);
		            }
		            $lin = '<marker>';
		            $lin = $lin.'<lat>'.$line['latitud'].'</lat><lon>'.$line['longitud'].'</lon><tit>'.$line['vehiculo'].'</tit>';
		            $lin = $lin.'<est>n</est><cap>{Bus:  '.$line['vehiculo'].'}, {Fecha/Hora:} '.$fh->format("d/m/Y H:i:s").',';
		            $lin = $lin.$ser.', {Velocidad:} '.$line['velocidad'].' Km/h</cap><ico>'.$ico.'</ico>';
		            $lin = $lin.'</marker>'.PHP_EOL;
		
		            fwrite($h_file,$lin);
		            unset($fh);
		      }
		
		}
	// Liberar resultados
	mysql_free_result($result);
	
	// Cerrar la conexión
	mysql_close($link);
	fwrite($h_file, '</list>'.PHP_EOL);
	
	fclose($h_file);
	
	}


?>