Manejo de datos GPS en exif de las imagenes, si se sube una imagen georeferenciada a un formulario que tenga un campo de mapa, este automagicamente se ubicará sobre las coordenadas de la imagen, tambien se cambio el layer por defecto de openstreetmap al del hot
This commit is contained in:
parent
7643753adf
commit
485e74ac33
87
milfs/funciones/funciones.php
Normal file → Executable file
87
milfs/funciones/funciones.php
Normal file → Executable file
@ -1,5 +1,57 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
function combo_select($id_campo,$form_id,$valor,$name,$control,$control_combo){
|
||||||
|
$link=Conectarse();
|
||||||
|
mysql_query("SET NAMES 'utf8'");
|
||||||
|
if($control_combo !="") {
|
||||||
|
$div ="combo_$name";
|
||||||
|
$and ="AND campo_valor LIKE '$control_combo:%%'";
|
||||||
|
}else{
|
||||||
|
$onchange ="xajax_combo_select('$id_campo','$valor','$valor','$name','$control',(this.value)) ";
|
||||||
|
$div ="combo_$name";
|
||||||
|
$name ="primario_$name";
|
||||||
|
}
|
||||||
|
$consulta = "SELECT * FROM form_campos_valores WHERE id_form_campo ='$id_campo' $and ";
|
||||||
|
$sql=mysql_query($consulta,$link);
|
||||||
|
// $value = remplacetas("form_datos","control","$control","contenido","id_campo ='$id_campo' ");
|
||||||
|
if (mysql_num_rows($sql)!='0'){
|
||||||
|
|
||||||
|
$resultado=" $valor<SELECT class='form-control' NAME='$name' id='$name' onchange=\"$onchange\" >
|
||||||
|
<option value=''>Seleccione </option>
|
||||||
|
" ;
|
||||||
|
// $resultado = array_unique($entrada);
|
||||||
|
while( $row = mysql_fetch_array( $sql ) ) {
|
||||||
|
$campos = explode(':',$row[campo_valor]);
|
||||||
|
|
||||||
|
IF($control_combo ==""){
|
||||||
|
$campo_primario[]=$campos[0];
|
||||||
|
$campo_primario = array_unique($campo_primario);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$campo_primario[] = "$campos[0] $campos[1]";
|
||||||
|
}
|
||||||
|
//$identificador = $identificador[0];
|
||||||
|
//if($row[campo_valor] ==="$valor"){$selected="selected";}else{$selected ="";}
|
||||||
|
//$resultado .= "<option value='$row[campo_valor]' $selected > $campos[0]</option>";
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach($campo_primario as $C=>$V){
|
||||||
|
$resultado .= "<option value='$V' $selected >$V </option>";
|
||||||
|
}
|
||||||
|
$resultado .= "</select>
|
||||||
|
<div id='$div'></div>";
|
||||||
|
}else{$resultado = "<div class='alert alert-warning'><i class='fa fa-exclamation-triangle'></i> No hay resultados</div>";}
|
||||||
|
if($control_combo =='') {
|
||||||
|
return $resultado;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$respuesta = new xajaxResponse('utf-8');
|
||||||
|
$respuesta->addAssign("$div","innerHTML","$resultado");
|
||||||
|
return $respuesta;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$xajax->registerFunction("combo_select");
|
||||||
|
|
||||||
|
|
||||||
function aplicacion_carrusel($nombre,$id,$plantilla){
|
function aplicacion_carrusel($nombre,$id,$plantilla){
|
||||||
if($id =='') {
|
if($id =='') {
|
||||||
@ -1320,6 +1372,8 @@ if (mysql_num_rows($sql)!='0'){
|
|||||||
$nombre[$row[id_campo]] = $campo_nombre[0] ;
|
$nombre[$row[id_campo]] = $campo_nombre[0] ;
|
||||||
$campo[$row[id_campo]]=$contenido;
|
$campo[$row[id_campo]]=$contenido;
|
||||||
$campo_400[$row[id_campo]] = substr($contenido,0, $length = 400)."... ";//$contenido;
|
$campo_400[$row[id_campo]] = substr($contenido,0, $length = 400)."... ";//$contenido;
|
||||||
|
$campo_80[$row[id_campo]] = substr($contenido,0, $length = 80);//$contenido;
|
||||||
|
$campo_55[$row[id_campo]] = substr($contenido,0, $length = 55);//$contenido;
|
||||||
$campo["md5_".$row[id_campo]]=$md5_contenido;
|
$campo["md5_".$row[id_campo]]=$md5_contenido;
|
||||||
|
|
||||||
if($row[id_campo] == $categoria_campo){
|
if($row[id_campo] == $categoria_campo){
|
||||||
@ -2232,7 +2286,8 @@ $opciones = explode(",",$opciones);
|
|||||||
|
|
||||||
foreach($opciones as $c=>$v){
|
foreach($opciones as $c=>$v){
|
||||||
|
|
||||||
if($v !='') {$v = ucfirst(strtolower($v));
|
//if($v !='') {$v = ucfirst(strtolower($v));
|
||||||
|
if($v !='') {$v = $v;
|
||||||
|
|
||||||
$grabar_campos_valores .= "($id_form_campo,'$v'),";
|
$grabar_campos_valores .= "($id_form_campo,'$v'),";
|
||||||
}
|
}
|
||||||
@ -2283,13 +2338,18 @@ while( $row = mysql_fetch_array( $sql ) ) {
|
|||||||
if($tipo =='8'){
|
if($tipo =='8'){
|
||||||
$resultado = " <textarea class='form-control' id='opciones' name='opciones' title='Escriba las opciones separadas por coma y en orden' placeholder='Escriba las opciones separadas por coma y en orden ej: Casa,Carro,Beca,Mascota,Computador'>$valores</textarea>";
|
$resultado = " <textarea class='form-control' id='opciones' name='opciones' title='Escriba las opciones separadas por coma y en orden' placeholder='Escriba las opciones separadas por coma y en orden ej: Casa,Carro,Beca,Mascota,Computador'>$valores</textarea>";
|
||||||
}
|
}
|
||||||
if($tipo =='16'){
|
elseif($tipo =='9'){
|
||||||
|
$resultado = " <textarea class='form-control' id='opciones' name='opciones' title='Escriba las opciones separadas por coma y en orden y los campos separados por dos puntos ej. Amazonas:Puerto santander,Amazonas:La chorrera,Amazonas:La pedrera' placeholder='Escriba las opciones separadas por coma y en orden y los campos separados por dos puntos ej. Amazonas:Puerto santander,Amazonas:La chorrera,Amazonas:La pedrera'>$valores</textarea>";
|
||||||
|
}
|
||||||
|
elseif($tipo =='16'){
|
||||||
if($valores =='') {$valores = "1,10";}
|
if($valores =='') {$valores = "1,10";}
|
||||||
$resultado = " <textarea class='form-control' id='opciones' name='opciones' title='Valor mínimo y máximo' placeholder='Escriba Valor mínimo y máximo separadas por coma 1,10'>$valores</textarea>";
|
$resultado = " <textarea class='form-control' id='opciones' name='opciones' title='Valor mínimo y máximo' placeholder='Escriba Valor mínimo y máximo separadas por coma 1,10'>$valores</textarea>";
|
||||||
}
|
}
|
||||||
if($tipo =='17'){
|
elseif($tipo =='17'){
|
||||||
$resultado ="<input class='form-control' type='number' id='opciones' name='opciones' value='$valores' placeholder='Limite' title='Escriba un limite de caracteres para este campo' > ";
|
$resultado ="<input class='form-control' type='number' id='opciones' name='opciones' value='$valores' placeholder='Limite' title='Escriba un limite de caracteres para este campo' > ";
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$resultado = " <textarea class='form-control' id='opciones' name='opciones' title='Predefinido' placeholder='Valores predefinido'>$valores</textarea>";
|
||||||
}
|
}
|
||||||
$respuesta->addAssign("$div","innerHTML",$resultado);
|
$respuesta->addAssign("$div","innerHTML",$resultado);
|
||||||
return $respuesta;
|
return $respuesta;
|
||||||
@ -3033,9 +3093,18 @@ $consulta ="
|
|||||||
$lat = $campos[0];
|
$lat = $campos[0];
|
||||||
$lon = $campos[1];
|
$lon = $campos[1];
|
||||||
$zoom = $campos[2];
|
$zoom = $campos[2];
|
||||||
$render = "
|
if($lat =="") {
|
||||||
|
$localizacion = remplacetas('form_campos_valores','id_form_campo',$id_campo,'campo_valor',"") ;
|
||||||
|
//$render= $localizacion[0];
|
||||||
|
$campos = explode(" ",$localizacion[0]);
|
||||||
|
$lat = $campos[0];
|
||||||
|
$lon = $campos[1];
|
||||||
|
$zoom = $campos[2];
|
||||||
|
|
||||||
<iframe src='$_SESSION[url]/mapa.php?lat=$lat&lon=$lon&zoom=$zoom&id=".$id_campo."[".$item."]' width='100%' height='300px'></iframe>
|
}
|
||||||
|
$render .= "
|
||||||
|
|
||||||
|
<iframe id='mapita' src='$_SESSION[url]/mapa.php?lat=$lat&lon=$lon&zoom=$zoom&id=".$id_campo."[".$item."]' width='100%' height='300px'></iframe>
|
||||||
<input value='$value' type='text' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' class='form-control' placeholder='coordenadas' readonly >
|
<input value='$value' type='text' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' class='form-control' placeholder='coordenadas' readonly >
|
||||||
|
|
||||||
";}
|
";}
|
||||||
@ -3048,6 +3117,7 @@ $consulta ="
|
|||||||
}
|
}
|
||||||
//$subir_imagen = subir_imagen('');
|
//$subir_imagen = subir_imagen('');
|
||||||
elseif($campo_tipo_accion == 'imagen'){
|
elseif($campo_tipo_accion == 'imagen'){
|
||||||
|
// $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]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3071,6 +3141,11 @@ $consulta ="
|
|||||||
//$select = select('form_campos_valores','campo_valor','campo_valor','',"id_form_campo = $id_campo",$id_campo."[".$item."]");
|
//$select = select('form_campos_valores','campo_valor','campo_valor','',"id_form_campo = $id_campo",$id_campo."[".$item."]");
|
||||||
$select = select_edit($id_campo,$id_form,$value,$id_campo."[".$item."]",$control);
|
$select = select_edit($id_campo,$id_form,$value,$id_campo."[".$item."]",$control);
|
||||||
$render = "$select ";}
|
$render = "$select ";}
|
||||||
|
elseif($campo_tipo_accion == 'combo'){
|
||||||
|
|
||||||
|
//$select = select('form_campos_valores','campo_valor','campo_valor','',"id_form_campo = $id_campo",$id_campo."[".$item."]");
|
||||||
|
$select = combo_select($id_campo,$id_form,$value,$id_campo."[".$item."]",$control,"");
|
||||||
|
$render = "$select ";}
|
||||||
elseif($campo_tipo_accion == 'number'){$render = "<code>(Este campo solo acepta números)</code>
|
elseif($campo_tipo_accion == 'number'){$render = "<code>(Este campo solo acepta números)</code>
|
||||||
<input value='$value' type='number' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' class=' has-warning form-control' placeholder='$campo_descripcion' > ";}
|
<input value='$value' type='number' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' class=' has-warning form-control' placeholder='$campo_descripcion' > ";}
|
||||||
else{$render = "<input value='$value' type='text' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' class='form-control' placeholder='$campo_descripcion' > ";}
|
else{$render = "<input value='$value' type='text' id='".$id_campo."[".$item."]' name='".$id_campo."[".$item."]' class='form-control' placeholder='$campo_descripcion' > ";}
|
||||||
|
@ -6,6 +6,7 @@ if ( !isset ( $_SESSION['id'] ) ) {
|
|||||||
//header("Location: ../../../includes/error.php");
|
//header("Location: ../../../includes/error.php");
|
||||||
// echo "hola mundo2";
|
// echo "hola mundo2";
|
||||||
}
|
}
|
||||||
|
|
||||||
$imagen= $_REQUEST[id_imagen];
|
$imagen= $_REQUEST[id_imagen];
|
||||||
if($_REQUEST[u] == "escritorio") {$respuesta = "escritorio/";}
|
if($_REQUEST[u] == "escritorio") {$respuesta = "escritorio/";}
|
||||||
// Script Que copia el archivo temporal subido al servidor en un directorio.
|
// Script Que copia el archivo temporal subido al servidor en un directorio.
|
||||||
@ -28,7 +29,9 @@ if (($tipo == 'image/jpeg' or $tipo =='image/png') AND $size <= $upload_size )
|
|||||||
// (3) Por ultimo se intenta copiar el archivo al servidor.
|
// (3) Por ultimo se intenta copiar el archivo al servidor.
|
||||||
$name = MD5(time())."$ext";
|
$name = MD5(time())."$ext";
|
||||||
$nombre= "$_SESSION[path_images_secure]/full/".$name;
|
$nombre= "$_SESSION[path_images_secure]/full/".$name;
|
||||||
|
$imagenX = $_FILES[fileUpload][tmp_name];
|
||||||
|
$coordenadas = leer_exif($imagenX);
|
||||||
|
if($coordenadas !='') { $alerta = "alert('Se han detectado coordenadas en los metadatos de la imagen y se ubicará el mapa en ese lugar.');";}
|
||||||
//if (!copy($_FILES['fileUpload']['tmp_name'],"$nombre"))
|
//if (!copy($_FILES['fileUpload']['tmp_name'],"$nombre"))
|
||||||
if (!move_uploaded_file($_FILES['fileUpload']['tmp_name'],$nombre))
|
if (!move_uploaded_file($_FILES['fileUpload']['tmp_name'],$nombre))
|
||||||
//move_uploaded_file($tmp_name, "$uploads_dir/$name");
|
//move_uploaded_file($tmp_name, "$uploads_dir/$name");
|
||||||
@ -43,7 +46,8 @@ else{
|
|||||||
echo generar_miniatura($name,"150");
|
echo generar_miniatura($name,"150");
|
||||||
echo generar_miniatura($name,"300");
|
echo generar_miniatura($name,"300");
|
||||||
echo generar_miniatura($name,"600");
|
echo generar_miniatura($name,"600");
|
||||||
echo "<script>parent.resultadoUpload(0, '$name','$_SESSION[url]/','$imagen');</script> ";
|
///$name= "$name?$coordenadas"
|
||||||
|
echo " <script>parent.resultadoUpload(0, '$name','$_SESSION[url]/','$imagen','$coordenadas'); $alerta </script> ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else echo "<script>parent.resultadoUpload(2,'','$_SESSION[url]/','$imagen');</script> ";
|
else echo "<script>parent.resultadoUpload(2,'','$_SESSION[url]/','$imagen');</script> ";
|
||||||
@ -62,5 +66,43 @@ $archivo = "$_SESSION[path_images_secure]/full/".$file;
// Ponemos el . antes de
|
|||||||
$newheight = $alto;
$newwidth = round($newheight / $ratio);
// Sacamos la extensión del archivo
$ext = explode(".", $file);
$ext = strtolower($ext[count($ext) - 1]);
if ($ext == "jpeg") $ext = "jpg";
// Dependiendo de la extensión llamamos a distintas funciones
switch ($ext) {
case "jpg":
$img = imagecreatefromjpeg($archivo);
break;
case "png":
$img = imagecreatefrompng($archivo);
break;
case "gif":
$img = imagecreatefromgif($archivo);
break;
}
// Creamos la miniatura
$thumb = imagecreatetruecolor($newwidth, $newheight);
// La redimensionamos
imagecopyresampled($thumb, $img, 0, 0, 0, 0, $newwidth, $newheight, $file_info[0], $file_info[1]);
// La mostramos como jpg
//header("Content-type: image/jpeg");
imagejpeg($thumb,"$_SESSION[path_images_secure]/".$alto."/$file", 80);
|
$newheight = $alto;
$newwidth = round($newheight / $ratio);
// Sacamos la extensión del archivo
$ext = explode(".", $file);
$ext = strtolower($ext[count($ext) - 1]);
if ($ext == "jpeg") $ext = "jpg";
// Dependiendo de la extensión llamamos a distintas funciones
switch ($ext) {
case "jpg":
$img = imagecreatefromjpeg($archivo);
break;
case "png":
$img = imagecreatefrompng($archivo);
break;
case "gif":
$img = imagecreatefromgif($archivo);
break;
}
// Creamos la miniatura
$thumb = imagecreatetruecolor($newwidth, $newheight);
// La redimensionamos
imagecopyresampled($thumb, $img, 0, 0, 0, 0, $newwidth, $newheight, $file_info[0], $file_info[1]);
// La mostramos como jpg
//header("Content-type: image/jpeg");
imagejpeg($thumb,"$_SESSION[path_images_secure]/".$alto."/$file", 80);
|
||||||
//imagejpeg($thumb,null, 80);
|
//imagejpeg($thumb,null, 80);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 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 = "$_SESSION[url]/mapa.php?lon=$gps_latitude&lat=$gps_longitude&zoom=18";
|
||||||
|
}else{$resultado ="";}
|
||||||
|
//$resultado = "$gps_longitude $gps_latitude";
|
||||||
|
|
||||||
|
return $resultado;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ function finMovimiento(event)
|
|||||||
//// fin drag div
|
//// fin drag div
|
||||||
|
|
||||||
|
|
||||||
function resultadoUpload(estado, file,respuesta,id) {
|
function resultadoUpload(estado, file,respuesta,id,coordenadas) {
|
||||||
var link = '<br />';
|
var link = '<br />';
|
||||||
if (estado == 0)
|
if (estado == 0)
|
||||||
var mensaje = '<img class=" img-thumbnail responsive" src="'+respuesta+'images/secure/?file=600/' + file + '" >' + link;
|
var mensaje = '<img class=" img-thumbnail responsive" src="'+respuesta+'images/secure/?file=600/' + file + '" >' + link;
|
||||||
@ -111,6 +111,10 @@ if (estado == 3)
|
|||||||
var mensaje = 'Error ! - No se pudo copiar Archivo. Posible problema de permisos en server' + link;
|
var mensaje = 'Error ! - No se pudo copiar Archivo. Posible problema de permisos en server' + link;
|
||||||
document.getElementById('formUpload').innerHTML=mensaje;
|
document.getElementById('formUpload').innerHTML=mensaje;
|
||||||
document.getElementById(id).value=file;
|
document.getElementById(id).value=file;
|
||||||
|
if (coordenadas != '') {
|
||||||
|
document.getElementById('mapita').contentWindow.document.location.href=coordenadas;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function resultadoUploadArchivo(estado,file,div) {
|
function resultadoUploadArchivo(estado,file,div) {
|
||||||
|
Loading…
Reference in New Issue
Block a user