cambios da versión Beta0.6 á Beta0.7 (24-08-2006)
Continuan as labores de optimización do código copleto do plugin, procurando eliminar os fragmentos non utilizados do mesmo e substituindo aquelas operacións que se repiten moitas veces por funcións.
1. Na función read_write($condiciones, $limit, $xml)
en escoitarGZtags.php substitúese un bucle for ($i=0; $i<$rowcount; $i++)
por un bucle foreach ($comments as $thiscomment)
para leer os datos devoltos pola BD de xeito mais directo. Ademais ditos datos escribense directamente na variable $texto que recolle o contido dos documentos xml para poder eliminar as variables intermediarias $id
, $autor
, $web
, $webName
, $lat
, $long
, $mensaje
, $hora
, $data
, $swf
, $img
e $categoria
.
A función "MATCH(datos_busqueda)"
non devolve ningún resultado cando a clave de procura aparece en máis do 50% das entradas da BD. Para que isto non suceda, mellorase o motor de procura para que devolva resultados utilizando "LIKE 'claveBusqueda'"
, cando "MATCH(datos_busqueda)"
non devolve ningún resultado. Para isto foi necesario almacenar os resultados da procura nunha variable, así que actualizouse a función read_write($condiciones, $limit, $xml, $return)
engadindo un atributo chamado $return
, de xeito que cando este atributo ten valor "true"
a funcion devolve como resultado un array cos resultados da procura.
Tamén mellorase o funcionamento de
en escoitarGZtags.php
para que aproveite as melloras do motor de procura e estea sincronizado co mesmo, de xeito que o apartado de últimos sons devolva os enlaces directos aos resultados da procura cando se fai unha. Para isto foi necesario crear unha etiqueta
que devolva as etiquetas do formulario e mellorar
para que faga a procura e devolva os resultados antes de
. Isto é así porque ao situar a etiqueta
antes do mapa se esta devolvese as etiquetas html do formulario
Internet explorer sería incapaz de procesar o google map e devolvería un erro fatal.
Para evitar problamas coas etiquetas ID3 dos arquivos sonoros achegados mellorase o proceso de subida de arquivos de xeito que sobreescriba as etiquetas ID3 mediante unha copia da función defaultid3tags($filename, $title)
de functions_record.php chamada defaultid3tags2($filename, $title, $autor, $ano)
. Para que isto fora compatible coa estructura de idiomas en distintos directorios foi necesario trasladar as funcións deleteorphans()
, getid3data()
e defaultid3tags2()
ata os constructores inc/buildwebsite.php
, inc/buildwebsite_espanol.php
e inc/buildwebsite_english.php
e modificalas. Isto é debido a que ao estar a raiz da páxina en distintos lugares en funcion do idioma os "require_once('....php')"
, "opendir('...')"
e "include('....php')"
destas funcións devolvian un erro fatal ao buscar os arquivos a partires do directorio da páxina principal e non atopalos. En realidade na versión anterior o sistema de subida de arquivos sempre devolvia un erro fatal nos apartados en castelan e ingles porque a función deleteorphans()
é chamada sempre que se sube un comentario.
Engadese a posibilidade de incluir ligazóns na descripción dos sons achegados ao arquivo sonoro. Para isto modificouse o xeito en que $message_input e procesado para combertilo en $message_html
antes de isertar cada entrada na BD. Mediante o seguinte código o texto e separado en palabras para busar en cada unha de elas "http://"
cando este conxunto de caracteres se atopa no $message_html
se engaden as etiquetas correspondentes a un enlace ""
e como texto do enlace se introduce ou ben a url limpa ou un texto alternativo que debe ser escrito entre parenteses a continuacion da direccion.
$trozos = explode(" ", $message_html);
$message_html = "";
for ($i=0; $i $posicion = strpos($trozos[$i], "http://");
if ($posicion === false){
$message_html.= $trozos[$i]." ";
} else {
$posicion = strpos($trozos[$i], "(");
if ($posicion === false) {
$message_html .= "".substr(str_replace("http://", "", $trozos[$i]), 0, 20)."... ";
} else {
$message_html .= "".substr($trozos[$i], ($posicion + 1), (count($trozos[$i]) - 2))." ";
}
}
}
Para que este cambio sexa visible nos previews de subida de comentario e de validación tamén foi necesario actualizar o xeito en que
e backend_validar.php
procesan os datos da entrada e os amosan no mapa.
Creanse dúas novas etiquetas para resolver problemas a hora de facer enlaces na plantilla do index.html
que sexan sensibles ao idioma no que está vendo a páxina o internauta. Dado que non é posible poñer enlaces con urls relativas no index.html
, foi necesario crear etiquetas escoitarGZ
e
que devolveran un enlace html con unha url completa engadindo "/espanol"
ou "/english"
cando sexa necesario no primeiro caso e un enlace html con unha url completa máis un subfixo "&lang=es",
"&lang=gl"
ou "&lang=en"
para os enlaces a páxina spip no segundo caso.
Correxiuse un fallo á hora de ler as arrays de datos en functions.php na carpeta /templates que obviaban a última comarca de cada provincia na liña 71 cambiouse "for ($u=2; $u
"for ($u=2; $u<=count($arrayComarcas[$i]); $u++) {..."
.
Mellorase o formulario de organización en new_org.php
para que inclúa un campo no que introducir o listado de e-mails que recibiran avisos de chegada de novas entradas ao arqivo sonoro. Para isto se engade un novo campo 'mailEnvio'
na taboa lb_settings
e actualizase
en escoitarGZtags.php
.
Por último actualizáronse os googlemaps a versión 2.60 modificando os seus scripts para utilizar a función GMap2
en backend_validar.php
e escoitarGZtags.php. Isto permitiu a inclusión de "map.enableDoubleClickZoom()"
e obligou a modificar o xeito en que se recollen e introducen as coordenadas no mapa utilizando un "GLatLng('lonx', 'lat')"
no logar de un "GPoint('lat', 'lonx')"
o que implicou invertir á orde en que se introduce a lonxitude e a latitude, tamén foi necesario modificar o xeito en que se modifica o centro e zoom dos mapas utilizando a función "map.setCenter('lonx', 'lat', 'zoom', 'clase')"
.