Nov 29 2007

panoramio + json-php (PEAR)

Category: diariovivir, programaciónJosé @ 12:31 pm

panoramio nos ofrece la posibilidad de obtener las fotos geoposicionadas que los mismos usuarios posicionan en el mapa.
en la API de panoramio podemos encontrar la documentación para poder obtener estos datos.
como los datos que nos entregan están formateados usando JSON, podemos crear un pequeño script para poder desplegar esta información, para lo cual necesitamos JSON-PHP, una implementación de JSON en PHP.
para lograr esto podemos utilizar el siguiente script en php:

include("JSON.php"); //incluimos JSON
$json = new Services_JSON(); //creamos nueva instancia

$url = 'http://www.panoramio.com/map/get_panoramas.php?order=upload_date&set=full&size=small&from=0&to=3&minx=0&miny=-90&maxx=360&maxy=90';

$input = file_get_contents($url, 1000000); //obtenemos el resultado que nos devuelve $url
$value = $json->decode($input); //decodificamos usando JSON

$cnt = count($value->photos); // cuenta nro registros devueltos

for($x=0;$x<$cnt;$x++) {
$photo_id = $value->photos[$x]->photo_id;
$photo_title = $value->photos[$x]->photo_title;
$photo_url = $value->photos[$x]->photo_url;
$photo_file_url = $value->photos[$x]->photo_file_url;
$longitude = $value->photos[$x]->longitude;
$latitude = $value->photos[$x]->latitude;
$width = $value->photos[$x]->width;
$height = $value->photos[$x]->height;
$upload_date = $value->photos[$x]->upload_date;
$owner_id = $value->photos[$x]->owner_id;
$owner_name = $value->photos[$x]->owner_name;
$owner_url = $value->photos[$x]->owner_url;

echo $photo_url; //devuelve la url de la imagen
}

con esto ya tenemos los datos en nuestro script, ahora solo nos queda formatearlo para que se muestre de una manera presentable


Jun 07 2007

santiago sucks

Category: diariomorir, diariovivir, programaciónJosé @ 10:25 pm

oe, esta semana estuve en stgo i fue brígido, me costó acostumbrarme a esto del metro, micro, correqueteatropeyo, nomemiresquestoyestresado, i tanta publicidad gratuita en la cara de los santiaguinos, pero bueno, no todo fue tan malo, me tocó estar en la oficina, lo cual tambien fue complicado, igual habemos dos, pero es rarro no estar en tu casa con tu ruido i tus cosas cercas, pero fue entrete, conocí al Z, un personaje mui interesante que deberían conocer.
ahi configurando servidores, instalando moodle, con el cual tenía un problema en la conversión de funciones matematicas y latex, asi qué lo que hice fue lo siguiente, en el archivo que se encuentra dentro de /tu_moodle/course/modedit.php o mod.php, para la version 1.7,


// $Id: modedit.php,v 1.15.2.1 2007/02/14 14:15:30 moodler Exp $

// adds or updates modules in a course using new formslib

require_once("../config.php");
require_once("lib.php");

require_login();

$add = optional_param('add', '', PARAM_ALPHA);
$update = optional_param('update', 0, PARAM_INT);
//return to course/view.php if false or mod/modname/view.php if true
$return = optional_param('return', 0, PARAM_BOOL);
$type = optional_param('type', '', PARAM_ALPHANUM);

/*parche mula para solucionar el despliegue incorrecto de <, >, & y similares*/
if($_POST[description]) {
$_POST[description] = str_replace(’>’,'>’,$_POST[description]);
$_POST[description] = str_replace(’<’,’<',$_POST[description]);
$_POST[description] = str_replace('&','&',$_POST[description]);
}
/*eop*/

/*acá continúa el código*/

i bueno, esto básicamente sirve para arreglar un problema que se venía presentado al desplegar ciertas funciones donde se necesitaba comparar si un número era mayor a otro, el código para latex sería algo así como:

$$\{x\in A \mid x>y \mbox{ para todo } y\in B\}$$

ah i lo otro es que estaba tratando de hacer algunas cosillas con la poca información que entrega dineromail.com para poder tener un “carro de compras” que tiene la particularidad de “soportar” servipag, lamentablemente no logré mi acometido final, pero solo porque no hai suficiente información en la pobre documentación que te entregan. en fin.