• No se han encontrado resultados

3. ANÁLISIS DEL SISTEMA

5.2 Implementación de la Visualización

Como vimos en el diseño el siguiente paso será la visualización de los resultados, esta seguirá un algoritmo mediante el cual se expondrán los títulos de los patrones, y su imagen representativas, con tamaños y posiciones según la relevancia de cada uno de los patrones. Esto se realizará utilizando codificación php y HTML dentro del archivo

querylist. Lo que se hará será exponer el título del patrón, en la fuente correspondiente,

junto a su imagen y además en la posición que le corresponda.

El código HTML permite indicar el tamaño de la fuente, su valor puede estar entre 1 y 7. Incrementándose de tamaño progresivamente desde 1, que es la fuente de menor tamaño, hasta 7 que la fuente de mayor tamaño. Como tenemos, como resultado del paso anterior, la lista de los patrones y sus contadores de palabras ordenados de mayor a menor, podemos crear una lista de pesos, del 7 al 1, donde el patrón con peso 7 sea el que tenga un contador mayor y el patrón con peso 1 el séptimo en el orden del contador. Se visualizarán por tanto siete patrones, cuyos tamaños de fuentes estarán relacionados con el peso que obtengan al realizar este paso. La exposición de los siete primeros patrones será suficiente para representar las expectativas del usuario. Pero esto ocurriría si cada contador fuera distinto, lo que no siempre ocurre. En el caso de que, por ejemplo, dos patrones obtengan el mismo contador el peso asignado a ambos patrones será el mismo, ya que ambos tienen la misma relevancia.

Para ello crearemos un nuevo array, en el cual guardaremos los pesos, siendo las claves de este array los patrones. A continuación se explican los pasos para la realización de este. A partir del array $contWord resultado se searchPattern, se obtendrá utilizando array_shift el primer término del array, eliminándose además de este, el que tiene contador mayor; se obtendrá el patrón al que corresponde, mediante la función

array_search, y se almacenará en el nuevo array con un peso igual a siete y como clave

patrón con el mismo contador, mediante la función in_array, si fuera así el caso se rescataría ese patrón y se guardaría de la misma forma que el anterior en el nuevo array con el mismo peso, siete, y así hasta que se compruebe que no existe otro contador igual en el array de contadores. Seguidamente se reducirá el peso a seis y se repetirá el mismo proceso hasta llegar al peso cero. Es decir, tendremos un array donde se guardarán los distintos patrones y sus pesos, del siete al uno, pudiendo haber pesos repetidos para distintos patrones. A la hora de imprimir el texto en la pantalla, mediante HTML el peso regirá su tamaño de fuente, size.

A continuación se llevará a cabo el posicionamiento de los textos e imágenes según lo diseñado en el apartado anterior. Si recordamos el posicionamiento se realizará en base a grupos de tres, distribuyendo los tres textos uno en el centro otro en la línea inferior a la izquierda y otro en la línea inferior a este a la derecha, debido a lo que discutimos a la hora del diseño. Esto se realizará con la ayuda de un contador y mediante un switch. El contador tendrá un valor de uno para cada grupo de tres que vaya a empezar a posicionar, aumentando en uno tras situar cada texto, hasta que llegue a tres que se volverá a la posición inicial del contar. Mediante el switch se posicionará en el centro para valores de contador uno, en el lado izquierdo para valores de contador 2 y en la derecha para valores de contador tres. El posicionamiento en la página se llevará a cambo mediante HTML y la opción aling para los textos.

El código HTML utilizado para la visualización de cada texto referente al nombre de cada patrón será el siguiente:

Las variables $peso y $aling son las proporcionadas por los algoritmos descritos anteriormente. El resultado obtenido será similar al expuesto en el ejemplo de la Figura 17. Por su parte la ausencia de resultados se expresará de la misma forma de la que aparece en la Figura 18.

El código completo de la función que realiza todo esto estará definido en el Anexo B. Por su parte, para acceder al documento de texto correspondiente a cada patrón solo bastará con cliquear sobre su nombre. Esta acción nos llevará una página donde se encontrará embebido el pdf correspondiente al patrón, mediante el código:

Como solo pueden ser visualizados por los usuarios registrados, no existe la opción de descarga del pdf. La forma de la página con el patrón embebido será igual a la del ejemplo del patrón “pyramid” de la Figura 25:

<embedsrc='//localhost/ldshake/mod/lds/vendors/pdf/<?php echo $vars['pattern'];

?>.pdf'width="1000" height="900"> </embed>

<div<pid id="pattern_result" align=<?php echo$aling ?> ><FONTSIZE=<?php echo $peso?> color="#800000"><a href="<?php echo$vars['url'];?>pg/lds/pdf?q=<?php echo $patterns ?>"><?php echo$patternsname?></FONT></p> </a></div>

Figura 25: Consulta del patrón “pyramid”

Documento similar