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='viewport' content='width=device-width' >
|
||||||
<meta name='mobile-web-app-capable' content='yes'>
|
<meta name='mobile-web-app-capable' content='yes'>
|
||||||
<link rel='icon' sizes='192x192' href='<?php echo "milfs/images/secure/?file=150/$logo[0]"; ?>'>
|
<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]"; ?>">
|
<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>
|
<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;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background: #222;
|
background: #222;
|
||||||
font-family: Georgia, serif;
|
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'><h4><small>Orden:</small>$orden <small>Grupo:</small> $grupo</h4></li>
|
||||||
<li class='list-group-item'>
|
<li class='list-group-item'>
|
||||||
|
|
||||||
<div class='input-group' >
|
<div class='input-group ' >
|
||||||
<span class='input-group-addon'>Vista favorita <strong id='div_vista_favorita_$row[id]'> $vista_favorita[0]</strong></span>
|
<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]'); \">
|
<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='$vista_favorita[0]' selected>$vista_favorita[0]</option>
|
||||||
<option value='libro'>Libro [b]</option>
|
<option value='libro'>Libro [b]</option>
|
||||||
@ -13119,13 +13119,16 @@ return $respuesta;
|
|||||||
}
|
}
|
||||||
$xajax->registerFunction("campo_multiple");
|
$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."]";
|
$name= $campo."[".$item."]";
|
||||||
$tipo_campo = remplacetas("form_campos","id","$campo","campo_tipo","");
|
$tipo_campo = remplacetas("form_campos","id","$campo","campo_tipo","");
|
||||||
if($tipo_campo[0] =='15'){
|
if($tipo_campo[0] =='15'){
|
||||||
$onchange= "comprueba_imagen('$campo','$item', (this.value) ) ;";
|
$onchange= "comprueba_imagen('$campo','$item', (this.value),'$campo_mapa' ) ;";
|
||||||
}else {
|
}else {
|
||||||
$onchange= "comprueba_archivos('$campo','$item', (this.value) ) ;";
|
$onchange= "comprueba_archivos('$campo','$item', (this.value),'$campo_mapa' ) ;";
|
||||||
}
|
}
|
||||||
|
|
||||||
$resultado = "
|
$resultado = "
|
||||||
@ -13299,11 +13302,11 @@ elseif($campo_tipo_accion == 'email'){$render = "
|
|||||||
// $style ="display:hidden";
|
// $style ="display:hidden";
|
||||||
// $gps = leer_exif($file);
|
// $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= "<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'; }
|
$cols='12'; }
|
||||||
elseif($campo_tipo_accion == 'adjunto'){
|
elseif($campo_tipo_accion == 'adjunto'){
|
||||||
|
|
||||||
$render=subidor_generico($id_campo,$item);
|
$render=subidor_generico($id_campo,$item,$id_form);
|
||||||
|
|
||||||
$cols='12'; }
|
$cols='12'; }
|
||||||
|
|
||||||
|
@ -15,14 +15,37 @@ else {
|
|||||||
|
|
||||||
// $ext = "novalida";
|
// $ext = "novalida";
|
||||||
$imagen=0;}
|
$imagen=0;}
|
||||||
|
|
||||||
|
|
||||||
$nombrecillo= $_REQUEST['nombrecillo'];
|
$nombrecillo= $_REQUEST['nombrecillo'];
|
||||||
$name = "$nombrecillo";
|
$name = "$nombrecillo";
|
||||||
$dir_subida = '/home/images_secure/';
|
$dir_subida = '/home/images_secure/';
|
||||||
$fichero_subido = $dir_subida ."full/".$name;
|
$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 (move_uploaded_file($_FILES["$campo"]['tmp_name'], $fichero_subido)) {
|
||||||
if($imagen==1) {
|
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,"150",$dir_subida);
|
||||||
echo miniaturizar($name,"300",$dir_subida);
|
echo miniaturizar($name,"300",$dir_subida);
|
||||||
echo miniaturizar($name,"600",$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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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) {
|
|
||||||
|
function comprueba_imagen(campo,item, archivo,campo_mapa) {
|
||||||
extensiones_permitidas = new Array('.gif', '.jpg', '.png');
|
extensiones_permitidas = new Array('.gif', '.jpg', '.png');
|
||||||
mierror = '';
|
mierror = '';
|
||||||
if (!archivo) {
|
if (!archivo) {
|
||||||
@ -23,7 +70,7 @@ function comprueba_imagen(campo,item, archivo) {
|
|||||||
}else{
|
}else{
|
||||||
//submito!
|
//submito!
|
||||||
///alert ('Todo correcto. Voy a submitir el formulario.');
|
///alert ('Todo correcto. Voy a submitir el formulario.');
|
||||||
selectedFile(campo,item);
|
selectedFile(campo,item,campo_mapa);
|
||||||
//uploadFile(campo,item);
|
//uploadFile(campo,item);
|
||||||
// formulario.submit();
|
// formulario.submit();
|
||||||
return 1;
|
return 1;
|
||||||
@ -34,7 +81,7 @@ function comprueba_imagen(campo,item, archivo) {
|
|||||||
return 0;
|
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');
|
extensiones_permitidas = new Array('.gif', '.jpg', '.png', '.pdf', '.txt', '.csv', '.mp3', '.mov', '.mp4', '.orf', '.gpx', '.json');
|
||||||
mierror = '';
|
mierror = '';
|
||||||
if (!archivo) {
|
if (!archivo) {
|
||||||
@ -57,7 +104,7 @@ function comprueba_archivos(campo,item, archivo) {
|
|||||||
}else{
|
}else{
|
||||||
//submito!
|
//submito!
|
||||||
//alert ('Todo correcto. Voy a submitir el formulario.');
|
//alert ('Todo correcto. Voy a submitir el formulario.');
|
||||||
selectedFile(campo,item);
|
selectedFile(campo,item,campo_mapa);
|
||||||
// formulario.submit();
|
// formulario.submit();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -68,7 +115,7 @@ function comprueba_archivos(campo,item, archivo) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//// funciones upload_generico
|
//// funciones upload_generico
|
||||||
function selectedFile(campo,item) {
|
function selectedFile(campo,item,campo_mapa) {
|
||||||
var campo;
|
var campo;
|
||||||
var item;
|
var item;
|
||||||
var nombre = campo+"["+item+"]";
|
var nombre = campo+"["+item+"]";
|
||||||
@ -98,10 +145,13 @@ function comprueba_archivos(campo,item, archivo) {
|
|||||||
var divfileName = document.getElementById('fileName_'+nombre);
|
var divfileName = document.getElementById('fileName_'+nombre);
|
||||||
divfileSize.innerHTML = 'Tamaño: <strong>' + fileSize+"</strong>";
|
divfileSize.innerHTML = 'Tamaño: <strong>' + fileSize+"</strong>";
|
||||||
divfileType.innerHTML = 'Tipo: <strong>' + file.type+"</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") ) {
|
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>";
|
document.getElementById("div_preview_"+nombre).innerHTML = "<h2><i class='fa fa-file' aria-hidden='true'></i><br>"+file.type+"</h2>";
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
|
leer_exif(campo+"-"+item,campo_mapa)
|
||||||
document.getElementById("div_preview_"+nombre).innerHTML = "<h2>"+file.type+"</h2>";
|
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).src = window.URL.createObjectURL(archivoSeleccionado.files[0]);
|
||||||
// document.getElementById("image_preview_"+nombre).alt = file.type;
|
// 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 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]?>');
|
var mapa = window.parent.document.getElementById('<?php echo $_REQUEST[id]?>');
|
||||||
map.setView([<?php echo $lon ?>, <?php echo $lat ?>], <?php echo $zoom ?>);
|
map.setView([<?php echo $lon ?>, <?php echo $lat ?>], <?php echo $zoom ?>);
|
||||||
marker.on('dragend', ondragend);
|
marker.on('dragend', ondragend);
|
||||||
|
Loading…
Reference in New Issue
Block a user