rev 2088 -- and here we are... The Big Fix for CSS keywords.
(11 files, 22kb) (88, 11, 22... A pattern?!)
* And another huge overhaul of Wess and the system class... Basically, we::$browser['is_*'] is now we::$browser['*'], and all of the we::$user['is_*'] variables are moved to we::$is['*'], to make them clearer to differentiate from non-boolean $user variables, basically. Finally, we::$browser OS variables are moved to we::$os, including the we::$os['mobile'] boolean, which is an alias to we::$is['mobile'] anyway. Got it..? (Class-CSS.php, Class-System.php, Display.php, Load.php, Notifications.php, Post.php, Post2.php, Profile-View.php, RemoveTopic.php, Subs-Cache.php, Subs-Template.php)
* CSS suffix overhaul. I'm no longer initializing a css_suffixes array, and instead using the system class's properties directly. This saves nearly 2KB in Load.php, really... Also added support for all kind of tests within filename suffixes, so basically index.!(opera && windows).css is now a possibility... If you're crazy enough, of course. (Load.php, Subs-Cache.php)
* CSS file caching should now be working properly for board and category IDs tested against within the CSS file itself. I spent an awful lot of time on it, and I'm pretty sure not many people are going to find this of use anyway, but I wanted to harmonize the list of keywords available between filename suffixes and @if tests. Also saves about 700 bytes of code. (Class-System.php, Subs-Cache.php)
+ Added support for the | (logical OR) delimiter in CSS tests (not in filename suffixes though, as | is not a valid filename char). You can use a comma, or |, or ||, whatever you prefer, I'm not going to judge. (Class-System.php)
! The system class could never hold board information, because loadBoard is called after it... And not only that, but I was globaling $board instead of $board_info. Anyway, fixed and moved to loadBoard instead... (Class-System.php, Load.php)
@ Note... Support for the replace keyword was rewritten, and is untested. Might go away at some point. Same for fallback folders -- it wasn't rewritten though, just left to rot. Also, the local keyword still won't work inside CSS files. And finally, plugin CSS wasn't rewritten either, and instead I chose to remove support for filename suffixes for them; I have yet to see them used by someone else than me, and I'm fine with it.