1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| function check_XML_client(FILE, URL)
{
POST = 'URL=' + escape(URL);
METHOD = 'POST';
/* Requete XHR de Mootools */
new XHR({
method: METHOD,
onSuccess: function(txt, xml)
{
/* Si le resutat "txt" de la requete n'est pas false */
if(txt != 'false')
{
items = xml.getElementsByTagName("item");/* cible les tags "item" dans l'objet XML retourné par la requete XHR */
size_items = items.length; /* calcule le nombre de tag correspondant à "item" */
alert(size_items); /* Debug : check le nombre de resultat retourné par "size_items" */
if(size_items > 0) /* si "size_items" est plus grand que 0 (résultats) */
{
/* Appel de la function "LayoutExample", celle-ci affiche un layout "Window" généré par le Frameworks EXTjs */
Ext.EventManager.onDocumentReady(LayoutExample.init, LayoutExample, true);
/* cible sur les variable sur le tags */
var title = xml.getElementsByTagName("title");
var description = xml.getElementsByTagName("description");
var description_small = xml.getElementsByTagName("description_small");
var link = xml.getElementsByTagName("link");
/*
** Ci-dessous: l'appel du premier item, afin de l'afficher dans la div "view-center"
** START
*/
var first_title = title[0].childNodes[0].nodeValue;
var first_description = description[0].childNodes[0].nodeValue;
var first_url = link[0].childNodes[0].nodeValue;
first = '';
first += '<div class="row">';
first += '<div class="title">' + first_title + '</div>';
first += '<div class="description">' + first_description + '</div>';
first += '<div class="link"><a href="' + first_url + '" target="_blank">' + tronque_string(first_url, 30) + '</a></div>';
first += '</div>';
document.getElementById('view-center').innerHTML = first;
center.setTitle(tronque_string(first_title, 100));
/* END */
/* la function "addItem sera appelé par la boucle, afin d'injecter le item à la suite */
addItem = function(item_id, item_title, item_description, item_description_small, item_link)
{
var addItem_row = new Element('div', {'class': 'row'});
var addItem_title = new Element('div', {'class': 'title'}).setHTML(item_title).injectInside(addItem_row);
var addItem_desc = new Element('div', {'class': 'description'}).setHTML(item_description_small).injectAfter(addItem_title);
var addItem_lien = new Element('div', {'class': 'link'}).setHTML('<a href="' + item_link + '" target="_blank">' + tronque_string(item_link, 30) + '</a>').injectAfter(addItem_desc);
addItem_row.inject($('view-items'));
}
/* un boucle en foinction du nombre d'items contenu dans l'objet XML */
for(i=0; i < size_items; i++)
{
var item_title = title[i].childNodes[0].nodeValue;
var item_description = description[i].childNodes[0].nodeValue;
var item_description_small = description_small[i].childNodes[0].nodeValue;
var item_url = link[i].childNodes[0].nodeValue;
addItem(i, item_title, item_description, item_description_small, item_url); /* appel de la fonction addItem */
}
}
} else {
Ext.Msg.alert('Error', 'Feed is not valid !'); /* Affiche une alert si aucun resultat ou si l'url du flux n'est pas correct */
}
},
headers: {'Content-type': 'application/x-www-form-urlencoded; charset=utf-8'}
}).send(FILE, POST);
} |
Partager