This topic is about the FRONT office and about FRONT office skin switching.
Currently, when you use the skin switcher, the desired skin is stored in a cookie named xxx_evostate.
Note: This selection is saved in a cookie because it has to be persistent accross Sessions, even for non registered users. Thus, this is neither a Session variable nor a UserSetting. And this should stay that way!
The selected skin is applied to all blogs.
Some users want to be able to select a different skin for each blog.
We could enable this with a config switch.
In that case the xxxx_evostate cookie would store a little more than just the latest chosen skin name.
It would store the latest chosen skin name, followed by the last skins chosens for each blog.
Example: I am on blog #3 and just selected the guadeloupe skin.
The xxx_evosatet cookie sent would then contain:
skins=#2:custom;#3:guadeloupe;#5:originalB2
- when I switch to blog#2 it will display the custom skin.
- when I switch to blog#3 it will display the guadeloupe skin.
- when I switch to blog#4 it will not find a saved skin, so it will use default one for that blog.
please keep in mind, we may add other variables (not skin related) in the evostate cookie in the future.
Because other variables can get stored there later, I’d say to rather use a more strict format to allow parsing of it,
like at least:
skins=(#2:custom;#3:guadeloupe;#5:originalB2)
We should also consider (un)serialize().
Of course, this must be safe against injections in either case!