Notice: Undefined index: HTTP_REFERER in /home/_or/olivier/pub/www.samalyse.com/prepend.php on line 202
/**************************
* CONSTANTES
*/
/* L'url source des données XML, que le code peut compléter
* par des paramètres GET du type "?sid=0123456789" (id de session)
*/
XML_SOURCE = "acrobate.xml";
/* Sur true, le paramètre GET de l'id de session sera ajouté à l'url XML,
* ce qui en local déclenchera une erreur de chargement.
* Sur false, c'est donc utile pour tester à partir du flash player,
* ou si on décide à terme de ne pas utiliser l'id de session.
* Sur true, c'est le mode de fonctionnement avec sessions, en live,
* ou bien, en local, ça permet de voir ce qui se passe en cas d'erreur de
* chargement.
*/
UTILISER_SID = false;
/* Ca, c'est juste pour tester dans le flash player.
* Normalement, ces deux variables proviennent de la page HTML, depuis
* quelque chose du type :
* <PARAM NAME=movie VALUE="test_xml.swf?sid_name=sid&sid_value=0123456789">.
* Cependant, ces paramètres de la balise PARAM (et EMBED) ne sont nécessaires
* que si UTILISER_SID est positionnée sur true. Dans le cas contraire
* ces deux variables seront ignorées, et les deux lignes suivantes peuvent
* aussi être commentées.
* Si UTILISER_SID a pour valeur true, que les deux lignes suivantes sont
* absentes, et que ces variables ne sont pas fournies par la balise PARAM,
* l'animation bouclera indéfiniment sur la frame "load_param".
*/
//sid_name = "sid";
//sid_value = "0123456789";
/* Encore un truc pour tester dans le flash player. Cette variable doit
* aussi provenir de la balise HTML PARAM ou EMBED.
* C'est la langue que l'animation doit utiliser. Le code utilise cette
* variable pour déterminer quels éléments textuels sont à extraire des
* données XML, qui peuvent contenir plusieurs langues.
*/
//locale = "fr";
/**************************
* FONCTIONS
*/
/* Teste si un caractère est du type espace (espaces, retours à la ligne, etc...)
*/
function is_blank(c) {
return (c == " " or c == "\n" or c == "\t" or c == "\r");
}
/* Supprime les espaces au début et à la fin de str et retourne le résultat
*/
function str_trim(str) {
var r = "";
var s = new String(str);
// var a = s.split("");
var ii = s.length;
for (var i = 0; i<ii and is_blank(s.charAt(i)); i++) {
}
if (i<ii) {
for (var j = ii - 1; j >= 0 and is_blank(s.charAt(j)); j--) {
}
for (var k = i; k <= j; k++) {
r += s.charAt(k);
}
}
return r;
}
/* Remplace search par replace dans subject et retourne le résultat
*/
function str_replace(subject,search,replace) {
var r = new String(subject);
var s = new String(search);
var l = s.length;
while ((i = r.indexOf(search)) != -1) {
var p = r.substring(0,i);
var o = r.substr(i+l);
r = new String(p + replace + o);
}
return r;
}
/* Convertit les séquences d'échappement HTML en caractères accentués
*/
function convert_html_sequences(str) {
var r = str;
r = str_replace(r," "," ");
r = str_replace(r,"¡","¡");
r = str_replace(r,"¢","¢");
r = str_replace(r,"£","£");
r = str_replace(r,"¤","¤");
r = str_replace(r,"¥","¥");
r = str_replace(r,"¦","¦");
r = str_replace(r,"§","§");
r = str_replace(r,"¨","¨");
r = str_replace(r,"©","©");
r = str_replace(r,"ª","ª");
r = str_replace(r,"«","«");
r = str_replace(r,"¬","¬");
r = str_replace(r,"­","");
r = str_replace(r,"®","®");
r = str_replace(r,"¯","¯");
r = str_replace(r,"°","°");
r = str_replace(r,"±","±");
r = str_replace(r,"²","²");
r = str_replace(r,"³","³");
r = str_replace(r,"´","´");
r = str_replace(r,"µ","µ");
r = str_replace(r,"¶","¶");
r = str_replace(r,"·","·");
r = str_replace(r,"¸","¸");
r = str_replace(r,"¹","¹");
r = str_replace(r,"º","º");
r = str_replace(r,"»","»");
r = str_replace(r,"¼","¼");
r = str_replace(r,"½","½");
r = str_replace(r,"¾","¾");
r = str_replace(r,"¿","¿");
r = str_replace(r,"À","À");
r = str_replace(r,"Á","Á");
r = str_replace(r,"Â","Â");
r = str_replace(r,"Ã","Ã");
r = str_replace(r,"Ä","Ä");
r = str_replace(r,"Å","Å");
r = str_replace(r,"Æ","Æ");
r = str_replace(r,"Ç","Ç");
r = str_replace(r,"È","È");
r = str_replace(r,"É","É");
r = str_replace(r,"Ê","Ê");
r = str_replace(r,"Ë","Ë");
r = str_replace(r,"Ì","Ì");
r = str_replace(r,"Í","Í");
r = str_replace(r,"Î","Î");
r = str_replace(r,"Ï","Ï");
r = str_replace(r,"Ð","Ð");
r = str_replace(r,"Ñ","Ñ");
r = str_replace(r,"Ò","Ò");
r = str_replace(r,"Ó","Ó");
r = str_replace(r,"Ô","Ô");
r = str_replace(r,"Õ","Õ");
r = str_replace(r,"Ö","Ö");
r = str_replace(r,"×","×");
r = str_replace(r,"Ø","Ø");
r = str_replace(r,"Ù","Ù");
r = str_replace(r,"Ú","Ú");
r = str_replace(r,"Û","Û");
r = str_replace(r,"Ü","Ü");
r = str_replace(r,"Ý","Ý");
r = str_replace(r,"Þ","Þ");
r = str_replace(r,"ß","ß");
r = str_replace(r,"à","à");
r = str_replace(r,"á","á");
r = str_replace(r,"â","â");
r = str_replace(r,"ã","ã");
r = str_replace(r,"ä","ä");
r = str_replace(r,"å","å");
r = str_replace(r,"æ","æ");
r = str_replace(r,"ç","ç");
r = str_replace(r,"è","è");
r = str_replace(r,"é","é");
r = str_replace(r,"ê","ê");
r = str_replace(r,"ë","ë");
r = str_replace(r,"ì","ì");
r = str_replace(r,"í","í");
r = str_replace(r,"î","î");
r = str_replace(r,"ï","ï");
r = str_replace(r,"ð","ð");
r = str_replace(r,"ñ","ñ");
r = str_replace(r,"ò","ò");
r = str_replace(r,"ó","ó");
r = str_replace(r,"ô","ô");
r = str_replace(r,"õ","õ");
r = str_replace(r,"ö","ö");
r = str_replace(r,"÷","÷");
r = str_replace(r,"ø","ø");
r = str_replace(r,"ù","ù");
r = str_replace(r,"ú","ú");
r = str_replace(r,"û","û");
r = str_replace(r,"ü","ü");
r = str_replace(r,"ý","ý");
r = str_replace(r,"þ","þ");
r = str_replace(r,"ÿ","ÿ");
r = str_replace(r,"&rchar;","\r");
return r;
}
/* Analyse l'objet XML xml_arbre, et en extrait les variables de teintes
* et d'élements textuels dynamiques. Cette fonction est destiné à être
* appelée en tant qu'évènement (xml_arbre.onLoad), et non pas directement.
* Voir charger_xml().
*/
function analyser_xml(success) {
if (success) {
var a = xml_arbre.firstChild;
while (a.nodeName != "acrobate" and a != null) {
a = a.firstChild;
}
if ( a == null) {
gotoAndPlay(xml_frame_echec);
}
a = a.firstChild;
while (a != null) {
if (a.nodeName == "parametre") {
var n = "config_"+a.attributes.nom;
var v = a.attributes.valeur;
set(n,v);
debug += " " + n + " = \"" + v + "\";\n"
} else if (a.nodeName == "teinte") {
var n = "teinte_"+a.attributes.nom;
var v = a.attributes.rgb;
set(n,v);
debug += " " + n + " = \"" + v + "\";\n"
} else if (a.nodeName == "locale" and a.attributes.lang == locale) {
var c = a.firstChild;
while (c != null) {
if (c.nodeName == "texte") {
var n = "str_"+c.attributes.nom;
var v = str_trim(c.firstChild.nodeValue);
v = convert_html_sequences(v);
debug += " " + n + " = \"" + v + "\";\n"
set(n,v);
c = c.nextSibling;
}
}
}
a = a.nextSibling;
}
gotoAndStop(xml_frame_succes);
} else {
gotoAndPlay(xml_frame_echec);
}
}
/* Lance le chargement des données XML depuis la source url.
* En cas de succès l'animation sera positionée sur frame_succes,
* et dans le cas contraire sur frame_echec.
* L'utilisation de XML est transparente, les variables de teintes et
* et de textes dynamiques étant extraites automatiquement.
*/
function charger_config(url, frame_succes, frame_echec) {
debug += "> charger_config( " + url + " , " + frame_succes + " , " + frame_echec + " )\n";
xml_arbre = new XML();
xml_arbre.ignoreWhite = true;
xml_arbre.onLoad = analyser_xml;
xml_arbre.load(url);
xml_frame_succes = frame_succes;
xml_frame_echec = frame_echec;
}
debug = "> acrobate_xml.fla\n------------------------------\n";
debug += "Chargement des paramètres de balise...\n";
gotoAndPlay("load_param");
Notice: Undefined index: HTTP_REFERER in /home/_or/olivier/pub/www.samalyse.com/prepend.php on line 208


