Exposez-nous votre projet !
English version  | Version française

Notice: Undefined index: HTTP_REFERER in /home/_or/olivier/pub/www.samalyse.com/prepend.php on line 202

<< Retour

/************************** 
 * 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,"&nbsp;"," ");
    r = str_replace(r,"&iexcl;","¡");
    r = str_replace(r,"&cent;","¢");
    r = str_replace(r,"&pound;","£");
    r = str_replace(r,"&curren;","¤");
    r = str_replace(r,"&yen;","¥");
    r = str_replace(r,"&brvbar;","¦");
    r = str_replace(r,"&sect;","§");
    r = str_replace(r,"&uml;","¨");
    r = str_replace(r,"&copy;","©");
    r = str_replace(r,"&ordf;","ª");
    r = str_replace(r,"&laquo;","«");
    r = str_replace(r,"&not;","¬");
    r = str_replace(r,"&shy;","­");
    r = str_replace(r,"&reg;","®");
    r = str_replace(r,"&macr;","¯");
    r = str_replace(r,"&deg;","°");
    r = str_replace(r,"&plusmn;","±");
    r = str_replace(r,"&sup2;","²");
    r = str_replace(r,"&sup3;","³");
    r = str_replace(r,"&acute;","´");
    r = str_replace(r,"&micro;","µ");
    r = str_replace(r,"&para;","¶");
    r = str_replace(r,"&middot;","·");
    r = str_replace(r,"&cedil;","¸");
    r = str_replace(r,"&sup1;","¹");
    r = str_replace(r,"&ordm;","º");
    r = str_replace(r,"&raquo;","»");
    r = str_replace(r,"&frac14;","¼");
    r = str_replace(r,"&frac12;","½");
    r = str_replace(r,"&frac34;","¾");
    r = str_replace(r,"&iquest;","¿");
    r = str_replace(r,"&Agrave;","À");
    r = str_replace(r,"&Aacute;","Á");
    r = str_replace(r,"&Acirc;","Â");
    r = str_replace(r,"&Atilde;","Ã");
    r = str_replace(r,"&Auml;","Ä");
    r = str_replace(r,"&Aring;","Å");
    r = str_replace(r,"&AElig;","Æ");
    r = str_replace(r,"&Ccedil;","Ç");
    r = str_replace(r,"&Egrave;","È");
    r = str_replace(r,"&Eacute;","É");
    r = str_replace(r,"&Ecirc;","Ê");
    r = str_replace(r,"&Euml;","Ë");
    r = str_replace(r,"&Igrave;","Ì");
    r = str_replace(r,"&Iacute;","Í");
    r = str_replace(r,"&Icirc;","Î");
    r = str_replace(r,"&Iuml;","Ï");
    r = str_replace(r,"&ETH;","Ð");
    r = str_replace(r,"&Ntilde;","Ñ");
    r = str_replace(r,"&Ograve;","Ò");
    r = str_replace(r,"&Oacute;","Ó");
    r = str_replace(r,"&Ocirc;","Ô");
    r = str_replace(r,"&Otilde;","Õ");
    r = str_replace(r,"&Ouml;","Ö");
    r = str_replace(r,"&times;","×");
    r = str_replace(r,"&Oslash;","Ø");
    r = str_replace(r,"&Ugrave;","Ù");
    r = str_replace(r,"&Uacute;","Ú");
    r = str_replace(r,"&Ucirc;","Û");
    r = str_replace(r,"&Uuml;","Ü");
    r = str_replace(r,"&Yacute;","Ý");
    r = str_replace(r,"&THORN;","Þ");
    r = str_replace(r,"&szlig;","ß");
    r = str_replace(r,"&agrave;","à");
    r = str_replace(r,"&aacute;","á");
    r = str_replace(r,"&acirc;","â");
    r = str_replace(r,"&atilde;","ã");
    r = str_replace(r,"&auml;","ä");
    r = str_replace(r,"&aring;","å");
    r = str_replace(r,"&aelig;","æ");
    r = str_replace(r,"&ccedil;","ç");
    r = str_replace(r,"&egrave;","è");
    r = str_replace(r,"&eacute;","é");
    r = str_replace(r,"&ecirc;","ê");
    r = str_replace(r,"&euml;","ë");
    r = str_replace(r,"&igrave;","ì");
    r = str_replace(r,"&iacute;","í");
    r = str_replace(r,"&icirc;","î");
    r = str_replace(r,"&iuml;","ï");
    r = str_replace(r,"&eth;","ð");
    r = str_replace(r,"&ntilde;","ñ");
    r = str_replace(r,"&ograve;","ò");
    r = str_replace(r,"&oacute;","ó");
    r = str_replace(r,"&ocirc;","ô");
    r = str_replace(r,"&otilde;","õ");
    r = str_replace(r,"&ouml;","ö");
    r = str_replace(r,"&divide;","÷");
    r = str_replace(r,"&oslash;","ø");
    r = str_replace(r,"&ugrave;","ù");
    r = str_replace(r,"&uacute;","ú");
    r = str_replace(r,"&ucirc;","û");
    r = str_replace(r,"&uuml;","ü");
    r = str_replace(r,"&yacute;","ý");
    r = str_replace(r,"&thorn;","þ");
    r = str_replace(r,"&yuml;","ÿ");

    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

<< Retour

Icon
Faites-nous part de votre projet
Progress bar