Fichiers specifiques X.org
[wikifarm.git] / install / cookbook / skinchange.php
diff --git a/install/cookbook/skinchange.php b/install/cookbook/skinchange.php
new file mode 100644 (file)
index 0000000..86a281d
--- /dev/null
@@ -0,0 +1,38 @@
+<?php
+/*  Copyright 2004 Patrick R. Michaud (pmichaud@pobox.com)
+
+    This script enables the ?skin= and ?setskin= parameters for
+    wiki pages.  The ?skin= parameter causes the current page to be 
+    displayed with some alternate skin (defined by the WikiAdministrator),
+    the ?setskin= parameter sets a cookie on the user's browser to
+    always display pages with the requested skin.  
+    
+    To use this script, define an array called $PageSkinList 
+    containing skin names and template files, then 
+    include('cookbook/skinchange.php'); in your config.php.
+    An example $PageSkinList to set up 'pmwiki', 'myskin',
+    and 'classic' skins might read:
+
+        $PageSkinList = array(
+           'pmwiki' => 'pmwiki',
+           'myskin' => 'myskin',
+           'classic' => 'myclassicskin');
+
+    If a URL requests a skin that isn't in this array, then PmWiki
+    defaults to the skin already defined by $Skin.
+
+    By default, the setskin cookie that is created will expire after
+    one year.  You can set it to expire at the end of the browser
+    session by setting $SkinCookieExpires=0;
+*/
+
+SDV($SkinCookie, $CookiePrefix.'setskin');
+SDV($SkinCookieExpires, $Now+60*60*24*365);
+
+if (isset($_COOKIE[$SkinCookie])) $sk = $_COOKIE[$SkinCookie];
+if (isset($_GET['setskin'])) {
+  $sk = $_GET['setskin'];
+  setcookie($SkinCookie, $sk, $SkinCookieExpires, '/');
+}
+if (isset($_GET['skin'])) $sk = $_GET['skin'];
+if (@$PageSkinList[$sk]) $Skin = $PageSkinList[$sk];