there's a little bug in function XH_pluginStylesheet() that causes a regeneration of plugins.css on every request.
Depending on the server filesystem, everything might work on a fresh installation. But after the installation of a new plugin (on a linux host) $expired will always become true.
The code compares an array generated from a comment in plugins.css with the returned array from function XH_plugins():
Example:
$oldPlugins generated from plugins.css:
Code: Select all
array(9) {
[0]=>
string(11) "filebrowser"
[1]=>
string(6) "hi_CnC"
[2]=>
string(14) "hi_updatecheck"
[3]=>
string(6) "jquery"
[4]=>
string(9) "meta_tags"
[5]=>
string(11) "pagemanager"
[6]=>
string(11) "page_params"
[7]=>
string(7) "tinymce"
[8]=>
string(4) "utf8"
}
Code: Select all
array(9) {
[0]=>
string(11) "filebrowser"
[8]=>
string(6) "hi_CnC" // <-- new installed plugin gets key #8
[1]=>
string(14) "hi_updatecheck"
[2]=>
string(6) "jquery"
[3]=>
string(9) "meta_tags"
[4]=>
string(11) "pagemanager"
[5]=>
string(11) "page_params"
[6]=>
string(7) "tinymce"
[7]=>
string(4) "utf8"
}
Code: Select all
$expired = $plugins != $oldPlugins;
Sorting of $plugins is done at the end of XH_Plugins by
Code: Select all
natcasesort($plugins);
I think a fix is simple possible by using
Code: Select all
$plugins = array_values($plugins);