forked from qwerty/tupali
geolocalizacion de imagenes
This commit is contained in:
parent
df4bf761dd
commit
2c4cf5ddf7
@ -595,7 +595,7 @@ $uri = $_SERVER['REQUEST_URI'];
|
||||
<meta name='viewport' content='width=device-width' >
|
||||
<meta name='mobile-web-app-capable' content='yes'>
|
||||
<link rel='icon' sizes='192x192' href='<?php echo "milfs/images/secure/?file=150/$logo[0]"; ?>'>
|
||||
|
||||
<script type='text/javascript' src='librerias/exif/exif.js'></script>
|
||||
<link rel="apple-touch-icon-precomposed" href="<?php echo "milfs/images/secure/?file=150/$logo[0]"; ?>">
|
||||
<title><?php echo @$titulo[0]; ?> <?php echo strip_tags($slogan[0]); ?> Tupale.co </title>
|
||||
|
||||
|
1059
librerias/exif/exif.js
Executable file
1059
librerias/exif/exif.js
Executable file
File diff suppressed because it is too large
Load Diff
@ -21,6 +21,8 @@
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
body {
|
||||
background: #222;
|
||||
font-family: Georgia, serif;
|
||||
|
@ -12954,8 +12954,8 @@ $item .= "<!-- <div class='col-sm-$columnas' style=';'> -->
|
||||
<li class='list-group-item'><h4><small>Orden:</small>$orden <small>Grupo:</small> $grupo</h4></li>
|
||||
<li class='list-group-item'>
|
||||
|
||||
<div class='input-group' >
|
||||
<span class='input-group-addon'>Vista favorita <strong id='div_vista_favorita_$row[id]'> $vista_favorita[0]</strong></span>
|
||||
<div class='input-group ' >
|
||||
<span class='input-group-addon primary'>Vista favorita <strong id='div_vista_favorita_$row[id]'> $vista_favorita[0]</strong></span>
|
||||
<select class='form-control' id='vista_favorita_$row[id]' name='vista_favorita_$row[id]' onchange=\"xajax_parametrizacion_linea('form_id','$row[id]','vista_favorita',document.getElementById('vista_favorita_$row[id]').value,'div_vista_favorita_$row[id]'); \">
|
||||
<option value='$vista_favorita[0]' selected>$vista_favorita[0]</option>
|
||||
<option value='libro'>Libro [b]</option>
|
||||
@ -13119,13 +13119,16 @@ return $respuesta;
|
||||
}
|
||||
$xajax->registerFunction("campo_multiple");
|
||||
|
||||
function subidor_generico($campo,$item){
|
||||
function subidor_generico($campo,$item,$form){
|
||||
$campo_mapa = buscar_campo_tipo($form,"14");
|
||||
$campo_mapa = $campo_mapa[0];
|
||||
|
||||
$name= $campo."[".$item."]";
|
||||
$tipo_campo = remplacetas("form_campos","id","$campo","campo_tipo","");
|
||||
if($tipo_campo[0] =='15'){
|
||||
$onchange= "comprueba_imagen('$campo','$item', (this.value) ) ;";
|
||||
$onchange= "comprueba_imagen('$campo','$item', (this.value),'$campo_mapa' ) ;";
|
||||
}else {
|
||||
$onchange= "comprueba_archivos('$campo','$item', (this.value) ) ;";
|
||||
$onchange= "comprueba_archivos('$campo','$item', (this.value),'$campo_mapa' ) ;";
|
||||
}
|
||||
|
||||
$resultado = "
|
||||
@ -13299,11 +13302,11 @@ elseif($campo_tipo_accion == 'email'){$render = "
|
||||
// $style ="display:hidden";
|
||||
// $gps = leer_exif($file);
|
||||
//$render= "<input value='$value' type='hidden' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' class='form-control' placeholder='$campo_descripcion' > "; //subir_imagen('',$id_campo[$item]);
|
||||
$render=subidor_generico($id_campo,$item);
|
||||
$render=subidor_generico($id_campo,$item,$id_form);
|
||||
$cols='12'; }
|
||||
elseif($campo_tipo_accion == 'adjunto'){
|
||||
|
||||
$render=subidor_generico($id_campo,$item);
|
||||
$render=subidor_generico($id_campo,$item,$id_form);
|
||||
|
||||
$cols='12'; }
|
||||
|
||||
|
@ -15,14 +15,37 @@ else {
|
||||
|
||||
// $ext = "novalida";
|
||||
$imagen=0;}
|
||||
|
||||
|
||||
$nombrecillo= $_REQUEST['nombrecillo'];
|
||||
$name = "$nombrecillo";
|
||||
$dir_subida = '/home/images_secure/';
|
||||
$fichero_subido = $dir_subida ."full/".$name;
|
||||
//// extrar coordenadas del exif
|
||||
|
||||
$imagenX = $_FILES['fileUpload']['tmp_name'];
|
||||
$coordenadas = leer_exif($imagenX);
|
||||
//$link = "$_SESSION[url]mapero.php?lat=$coordenadas[lon]&lon=$coordenadas[lat]&zoom=16&id=$name";
|
||||
if($coordenadas !='') {
|
||||
$coordenadas = "$coordenadas"."&id=$_REQUEST[campo_mapa]"."[0]";
|
||||
$alerta = "alert(' Se han detectado coordenadas en los metadatos de la imagen y se ubicará el mapa en ese lugar.');";
|
||||
|
||||
|
||||
}
|
||||
|
||||
if (move_uploaded_file($_FILES["$campo"]['tmp_name'], $fichero_subido)) {
|
||||
if($imagen==1) {
|
||||
//// extrar coordenadas del exif
|
||||
|
||||
$imagenX = $_FILES["$campo"]['tmp_name'];
|
||||
$coordenadas = leer_exif("$fichero_subido");
|
||||
//$link = "$_SESSION[url]mapero.php?lat=$coordenadas[lon]&lon=$coordenadas[lat]&zoom=16&id=$name";
|
||||
if($coordenadas !='') {
|
||||
$coordenadas = "$coordenadas"."&id=$_REQUEST[campo_mapa]"."[0]";
|
||||
$alerta = "alert(' Se han detectado coordenadas en los metadatos de la imagen y se ubicará el mapa en ese lugar.');";
|
||||
}
|
||||
|
||||
|
||||
echo miniaturizar($name,"150",$dir_subida);
|
||||
echo miniaturizar($name,"300",$dir_subida);
|
||||
echo miniaturizar($name,"600",$dir_subida);
|
||||
@ -41,6 +64,44 @@ imagepng($thumb,$directorio.$width."/$file", 9);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Convertir un string "1/123" a su representación float
|
||||
function exif_float($value) {
|
||||
$pos = strpos($value, '/');
|
||||
if ($pos === false) return (float) $value;
|
||||
$a = (float) substr($value, 0, $pos);
|
||||
$b = (float) substr($value, $pos+1);
|
||||
return ($b == 0) ? ($a) : ($a / $b);
|
||||
}
|
||||
|
||||
function leer_exif($file){
|
||||
//$file = "/var/www/html/milfs/images/gps.jpg";
|
||||
$exif = exif_read_data( $file );
|
||||
if ( !empty($exif['GPSLongitude']) && !empty($exif['GPSLatitude']) ) {
|
||||
$d = (float) $exif['GPSLongitude'][0];
|
||||
$m = exif_float($exif['GPSLongitude'][1] );
|
||||
$s = exif_float( $exif['GPSLongitude'][2] );
|
||||
|
||||
$gps_longitude = (float) $d + $m/60 + $s/3600;
|
||||
if ( $exif['GPSLongitudeRef'] == 'W')
|
||||
$gps_longitude = -$gps_longitude;
|
||||
|
||||
$d = $exif['GPSLatitude'][0];
|
||||
$m = exif_float($exif['GPSLatitude'][1] );
|
||||
$s = exif_float( $exif['GPSLatitude'][2] );
|
||||
|
||||
$gps_latitude = (float) $d + $m/60 + $s/3600;
|
||||
if ( $exif['GPSLatitudeRef'] == 'S')
|
||||
$gps_latitude = -$gps_latitude;
|
||||
if($gps_latitude !='') {
|
||||
$resultado = "../mapa.php?lon=$gps_latitude&lat=$gps_longitude&zoom=18&exif=exif";
|
||||
}else{$resultado ="";}
|
||||
//$resultado = "$gps_longitude $gps_latitude";
|
||||
|
||||
return $resultado;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
|
||||
|
@ -1,6 +1,53 @@
|
||||
|
||||
function leer_exif(campo,campo_mapa) {
|
||||
// alert(campo)
|
||||
// var file = e.target.files[0]
|
||||
var file = document.getElementById(campo).files
|
||||
file= file[0]
|
||||
if (file && file.name) {
|
||||
EXIF.getData(file, function() {
|
||||
var long = EXIF.getTag(this, 'GPSLongitude');
|
||||
var reflat = EXIF.getTag(this, 'GPSLatitudeRef');
|
||||
var reflon = EXIF.getTag(this, 'GPSLongitudeRef');
|
||||
var lat = EXIF.getTag(this, 'GPSLatitude');
|
||||
var altura = EXIF.getTag(this, 'GPSAltitude');
|
||||
|
||||
/* if ( $exif['GPSLongitudeRef'] == 'W')
|
||||
$gps_longitude = -$gps_longitude; */
|
||||
var toDecimal = function (number) {
|
||||
return number[0].numerator + number[1].numerator / (60 * number[1].denominator) + number[2].numerator / (3600 * number[2].denominator);
|
||||
};
|
||||
var exifData = EXIF.pretty(this);
|
||||
if (exifData) {
|
||||
long = toDecimal(long);
|
||||
if (reflon == 'W') {
|
||||
long = -long;
|
||||
}
|
||||
lat = toDecimal(lat);
|
||||
if (reflat == 'S') {
|
||||
lat = -lat;
|
||||
}
|
||||
|
||||
|
||||
function comprueba_imagen(campo,item, archivo) {
|
||||
var coordenadas = "milfs/mapa.php?lon="+lat+"&lat="+long+"&zoom=18&id="+campo_mapa+"[0]";
|
||||
// alert(long+' '+lat+' '+altura );
|
||||
document.getElementById('mapita').contentWindow.document.location.href=coordenadas;
|
||||
var minimapa = campo+"//<img class='lazy img-round img img-responsive' src ='http://staticmap.openstreetmap.de/staticmap.php?center="+lat+","+long+"&zoom=12&size=250x100&maptype=mapnik&markers="+lat+","+long+",red-pushpin' >";
|
||||
document.getElementById("geo_"+campo).innerHTML = minimapa;
|
||||
|
||||
} else {
|
||||
// alert("No EXIF data found in image '" + file.name + "'.");
|
||||
}
|
||||
});
|
||||
}
|
||||
else{
|
||||
//alert(file.name)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function comprueba_imagen(campo,item, archivo,campo_mapa) {
|
||||
extensiones_permitidas = new Array('.gif', '.jpg', '.png');
|
||||
mierror = '';
|
||||
if (!archivo) {
|
||||
@ -23,7 +70,7 @@ function comprueba_imagen(campo,item, archivo) {
|
||||
}else{
|
||||
//submito!
|
||||
///alert ('Todo correcto. Voy a submitir el formulario.');
|
||||
selectedFile(campo,item);
|
||||
selectedFile(campo,item,campo_mapa);
|
||||
//uploadFile(campo,item);
|
||||
// formulario.submit();
|
||||
return 1;
|
||||
@ -34,7 +81,7 @@ function comprueba_imagen(campo,item, archivo) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
function comprueba_archivos(campo,item, archivo) {
|
||||
function comprueba_archivos(campo,item, archivo,campo_mapa) {
|
||||
extensiones_permitidas = new Array('.gif', '.jpg', '.png', '.pdf', '.txt', '.csv', '.mp3', '.mov', '.mp4', '.orf', '.gpx', '.json');
|
||||
mierror = '';
|
||||
if (!archivo) {
|
||||
@ -57,7 +104,7 @@ function comprueba_archivos(campo,item, archivo) {
|
||||
}else{
|
||||
//submito!
|
||||
//alert ('Todo correcto. Voy a submitir el formulario.');
|
||||
selectedFile(campo,item);
|
||||
selectedFile(campo,item,campo_mapa);
|
||||
// formulario.submit();
|
||||
return 1;
|
||||
}
|
||||
@ -68,7 +115,7 @@ function comprueba_archivos(campo,item, archivo) {
|
||||
}
|
||||
|
||||
//// funciones upload_generico
|
||||
function selectedFile(campo,item) {
|
||||
function selectedFile(campo,item,campo_mapa) {
|
||||
var campo;
|
||||
var item;
|
||||
var nombre = campo+"["+item+"]";
|
||||
@ -98,10 +145,13 @@ function comprueba_archivos(campo,item, archivo) {
|
||||
var divfileName = document.getElementById('fileName_'+nombre);
|
||||
divfileSize.innerHTML = 'Tamaño: <strong>' + fileSize+"</strong>";
|
||||
divfileType.innerHTML = 'Tipo: <strong>' + file.type+"</strong>";
|
||||
divfileName.innerHTML = 'Nombre original: <strong>' + file.name+"</strong>" ;
|
||||
divfileName.innerHTML = 'Nombre original: <strong>' + file.name+"</strong><div id='geo_"+campo+"-"+item+"'></div>" ;
|
||||
if ((file.type != "image/jpeg") && (file.type != "image/png") ) {
|
||||
|
||||
document.getElementById("div_preview_"+nombre).innerHTML = "<h2><i class='fa fa-file' aria-hidden='true'></i><br>"+file.type+"</h2>";
|
||||
}else{
|
||||
|
||||
leer_exif(campo+"-"+item,campo_mapa)
|
||||
document.getElementById("div_preview_"+nombre).innerHTML = "<h2>"+file.type+"</h2>";
|
||||
document.getElementById("image_preview_"+nombre).src = window.URL.createObjectURL(archivoSeleccionado.files[0]);
|
||||
// document.getElementById("image_preview_"+nombre).alt = file.type;
|
||||
|
@ -55,6 +55,7 @@ function onLocationError(e) {
|
||||
|
||||
|
||||
var marker = L.marker([<?php echo $lon ?>,<?php echo $lat ?>],{draggable: true}).addTo(map);
|
||||
//var mapa = window.parent.document.getElementById('<?php echo $_REQUEST[id]?>');
|
||||
var mapa = window.parent.document.getElementById('<?php echo $_REQUEST[id]?>');
|
||||
map.setView([<?php echo $lon ?>, <?php echo $lat ?>], <?php echo $zoom ?>);
|
||||
marker.on('dragend', ondragend);
|
||||
|
Loading…
Reference in New Issue
Block a user