Define interactively (via a wiki page) main parameters of a skin (background colors and image, font sizes, some layout modifications).
Two Possible Solutions
Extract the files from pmwiki root directory , all files go in their own directory, and that's all. No modification of the config file is required.
Beware that the css directory is writable by pmwiki.
Go to the Site.SkinConfig page, which is only accessible to administrators. Explanations are in the page itself, read it carefully!
Open the page 'Site.SkinConfig', define your parameters and click 'Ok'. Wrong parameters will be reset to default values.
If you haven't defined an applicability area, this config apply to the Site.SkinConfig page itself only. This is good for tests. When you are happy with the results, define an area of applicability and click 'Ok'.
An easy way to reset a parameter to its default value is to set its field to blank.
Selecting one predefined style will overwrite your data for fields defined in that style. A predefined style may modify only some fields (e.g. colors) or all of them. You can also save the current values as a predefined style.
If you have activated uploads, you can upload page background images.
Site example :
On PmWiki2 only. The script was only tested with the default skin. It may or may not work with others. The parameters are set in the pub/css/local.css file, so they have priority over other css parameters.
To set background images PmWiki uploads need to be enabled. The password is the upload password, and the images are stored in the standard upload location.
The strings to be translated are (not yet...) defined in the PmWiki.XLPageCookbookTemplate page, which is used to create any local XLPageCookbook page.
As already stated, there is a problem of reloading, because parameters may not be taken into account immediately. This works much better in Firefox than in IE(...).
Modifications not configurable.
Some modifications to the standard pmwiki skin have been made (or will be soon), which are not accessible interactively.
As this module only apply to the Main.SkinConfig page, i simply set the file inclusion in the file local/Main.SkinConfig.php. This file was already there to deactivate the browser caching so it simplifies the installation and do not load at all the others wiki page. Nothing to write anywhere, juste transfer files...
Link: http://www.rouzeau.net/w3/pmwiki.php?pagename=Site.SkinConfig is producing an Internal Server Error. — tamouse September 15, 2012, at 01:36 PM
If someone can inform about any fault in the visual results or CSS alarms (especially IE5). Known bug is the disparition of the vertical separator on versions of IE6, seemingly related to padding-left modification. ...
I am using your interactive skin customization script for PmWiki, nice script, thanks. I am able to change background color for the top, left and text parts. However there is a kind of difficulty in applying the background images.
Here is my set up.
I have this WikiGroup, Magazine, with file upload enabled, and I have renamed Main.SkinConfig and Main.SkinConfig.php to Magazine.SkinConfig and Magazine.SkinConfig.php respectively.
Image upload was fine, and I was able to view the uploaded bgimage.jpg on the Magazine.SkinConfig page. However, when I apply the background image to a WikiGroup called MyMagazine, the background image fails to show up. The reason turns out to be that background-image:url in the MyMagazine.css (so is in the Magazine.SkinCofing.css) is generated incorrectly. It is ...Magazinebgimage.jpg, which misses a ‘/’ between Magazine and bgimage.jpg.
Corrected in V0.5 This is related to an evolution of the pmwiki variable
Another thought about the script. Is there a way to perform the authentication on a group base? That is, when I hit the OK button to apply the customization on a group, I will be challenged for a password, while such password is stored somewhere in the corresponding group’s local configuration file. Thanks,
Good idea, but I need some simple function to check group rights. Page rights are given by the function RetrieveAuthPage but there is no such function for groups. I don't want to write such function which should be in the core.
Fatal error: Maximum execution time of 60 seconds exceeded in D:\xampp\htdocs\!Test\pmwiki.php on line 347
My PmWiki: pmwiki-2.2.0-beta63
In the old version with skinnice was no problem.
What is wrong?
What's wrong is the cascading authorization, corrected in V0.7 (in file /local/SkinConfig.php). Recent version of pmWiki have heavily modified the password management system.