Author: christian_lefebvre@laposte.net
Date: Tue Mar 28 17:28:42 2006
New Revision: 2540
Log:
choix squelettes selon de user-agent
Added:
_plugins_/_choix_squelettes_/multicanal/
_plugins_/_choix_squelettes_/multicanal/multicanal.php
_plugins_/_choix_squelettes_/multicanal/plugin.xml
Added: _plugins_/_choix_squelettes_/multicanal/multicanal.php
--- _plugins_/_choix_squelettes_/multicanal/multicanal.php (added)
+++ _plugins_/_choix_squelettes_/multicanal/multicanal.php Tue Mar 28 17:28:42 2006
@@ -0,0 +1,36 @@
+<?php
+
+global $dossier_squelettes, $look;
+
+// par défaut, les squelettes sont dans un sous repertoires /html
+$dossier_squelettes= 'squelettes/html';
+
+// En attendent un jeu de test plus definitif
+if(!empty($HTTP_GET_VARS["LOOK"])) {
+ // on fixe de force si la valeur est dans l'url
+ $look= $HTTP_GET_VARS["LOOK"];
+ setcookie("LOOK", $HTTP_GET_VARS["LOOK"]);
+} else {
+ if(!empty($HTTP_COOKIE_VARS["LOOK"])) {
+ // sinon, on la cherche dans un cookie
+ $look= $HTTP_COOKIE_VARS["LOOK"];
+ } else {
+ // sinon, selon le user-agent
+ // A REVOIR : gerer a part une liste de ug/look ?
+ if( stristr($HTTP_USER_AGENT, "nokia")
+ || stristr($HTTP_USER_AGENT, "OPWV-SDK")) {
+ $look= "wap";
+ } elseif( stristr($HTTP_USER_AGENT, "portalmmm")) {
+ $look= "imode";
+ } else {
+ $look= "html";
+ }
+ }
+ // on truande la request_uri pour que nom_fichier_cache
+ // genere une version par canal => pas de conflit dans le cache
+ $GLOBALS['REQUEST_URI'].="&LOOK=$look";
+}
+
+$dossier_squelettes= "squelettes/$look";
+
+?>
Added: _plugins_/_choix_squelettes_/multicanal/plugin.xml
--- _plugins_/_choix_squelettes_/multicanal/plugin.xml (added)
+++ _plugins_/_choix_squelettes_/multicanal/plugin.xml Tue Mar 28 17:28:42 2006
@@ -0,0 +1,20 @@
+<plugin>
+ <nom>MultiCanal</nom>
+ <auteur>(c)Christian Lefebvre, Atos Worldline, 2006</auteur>
+ <version>1.0</version>
+ <etat>dev</etat>
+ <description>choix des squelettes selon le user-agent afin de gerer
+l'acces par differents canaux (wap, imode ...) ou simplement selon
+le browser (texte only ou pas par exemple)
+
+- si on precise &LOOK=toto, on va chercher les squelettes dans
+squelettes/toto et on fixe un cookie "LOOK" pour garder ce look
+aux hits suivants
+- sinon, on regarde si le cookie existe
+- sinon, on teste le user-agent pour fixer un "toto"
+
+a faire : gerer une liste de user-agent/look
+ </description>
+ <options>multicanal.php</options>
+ <prefix>multicanal</prefix>
+</plugin>