<?php if (!defined('PmWiki')) exit(); /* File stylepage.php for pmwiki 2. Copyright 2006 Hans Bracker This file is distributed under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This module enables loading of css style code from a wiki page. Usage: markup (:stylepage:) or (:stylepage Group.StylePage:) (:stylepage:) loads css code from a default style page. (:stylepage Group.StylePage:) loads css code from an alternative page for instance 'Group.StylePage'. By default restricted to $SiteGroup, so the style pages have the benefit of special protection. You can set a different group to hold Style pages than $SiteGroup, by setting $DefaultStyleGroup = 'GroupName'; GroupName being the name of this group, for example 'StyleGroup'. $EnableDefautGroupStylesOnly = 0; will allow style pages in any group. Setting $EnableStylePage = 1; will load the default style page for all pages, without (:stylepage:) markup necessary. If (:stylepage Group.StylePage:) is used it will override the default style page. Version: 2006-08-25 */ SDV($EnableStylePage, 0); SDV($DefaultStylePage, 'Site.StyleSheet'); SDV($DefaultStyleGroup, $SiteGroup); SDV($EnableDefautGroupStylesOnly, 1); Markup('stylepage', '<img', "/\\(:stylepage\\s?(.*?)\\s*?:\\)/e", "LoadStylePage('$1')"); function LoadStylePage($template) { global $HTMLStylesFmt, $DefaultStylePage, $DefaultStyleGroup, $EnableDefautGroupStylesOnly; if ($template) { $stpg = MakePageName($pagename, $template); $group = PageVar($stpg, '$Group'); if ($group==$DefaultStyleGroup||$EnableDefautGroupStylesOnly==0) $pg = $stpg; } else $pg = $DefaultStylePage; $page = ReadPage("$pg", READPAGE_CURRENT); $css = $page['text']; $HTMLStylesFmt['skincss'] = $css; return ; } if ($EnableStylePage==1) { LoadStylePage($DefaultStylePage); return ; }