[pmwiki-users] wikiforms and related pages link

Patrick R. Michaud pmichaud at pobox.com
Wed Apr 5 08:00:41 CDT 2006


On Wed, Apr 05, 2006 at 02:52:44PM +0200, noskule wrote:
> noskule schrieb:
> but something is strange: if I do this:
> 
> local/config.php
> 
>    $skin = 'skin'
>    $GroupHeaderFmt = '';
>    $GroupFooterFmt = '';
>    include wikiforms.php

The two assignments remove PmWiki's defaults for $GroupHeaderFmt
and $GroupFooterFmt, and then wikiforms.php just adds its code
to that.

> skins.php
> 
> $GLOBALS['GroupHeaderFmt'] = '';
> $GLOBALS['GroupFooterFmt'] = '';
> 
> local/config.php
> 
>   $skin = 'skin'
>   include wikiforms.php
> 
> it dont works. Does someone have an idea why is that? 

Here, the skin gets loaded *after* the wikiforms.php code.
So, the wikiforms.php code adds its stuff to the default
$GroupHeaderFmt and $GroupFooterFmt, and then the skin.php
file erases it all.

> I would like to have 
> the header config in skins.php cause I dont wont to touch config php for 
> installing the skin . .

1.  Wikiforms.php needs to be loaded after the skin, or as part of
    the skin (after setting $GroupHeaderFmt, $GroupFooterFmt).

or

2.  Instead of clearing $GroupHeaderFmt and $GroupFooterFmt entirely,
    just get rid of the parts that you don't want:

    global $GroupHeaderFmt, $GroupFooterFmt;
    $GroupHeaderFmt = 
      preg_replace('/(:include \\{\\$Group\\}\\.GroupHeader.*?:\\)/', '',
                   $GroupHeaderFmt);
    $GroupFooterFmt = 
      preg_replace('/(:include \\{\\$Group\\}\\.GroupFooter.*?:\\)/', '',
                   $GroupFooterFmt);

Of course, this won't get rid of the GroupHeader/GroupFooter if the
admin or a recipe has changed it to something else, but arguably the
skin shouldn't be overriding an admin's preference anyway.  :-)

Pm





More information about the pmwiki-users mailing list