PDA

View Full Version : exclude groups from no-cache http headers ?


X-or
07-26-2020, 03:23 PM
there is a vb option which causes me a lot of problems
Add No-Cache HTTP Headers (default No)

the above option saves a lot of queries but also cause problems to users who constantly have to refresh pages manually

can't we have something in between and excludes groups like unregistered from these No-Cache headers?

z3r0
07-27-2020, 04:46 PM
I've not got any time to do any testing, but couldn't you just turn the no-cache option on and off per usergroup in a plugin?

So to disable for guests:-
hook location - global start
if ($vbulletin->userinfo['userid'] == 0) {
$vbulletin->options['nocacheheaders'] = 0;
}

X-or
07-29-2020, 05:30 AM
I've not got any time to do any testing, but couldn't you just turn the no-cache option on and off per usergroup in a plugin?

So to disable for guests:-
hook location - global start
if ($vbulletin->userinfo['userid'] == 0) {
$vbulletin->options['nocacheheaders'] = 0;
}

Thanks for your help.

How can I test if it works though?

And is there a way to expand to multiple usergroups (to disable nocache for low activity groups as well), I know the syntax in templates, but plugins appear to use a different syntax.

z3r0
07-29-2020, 06:22 AM
Just examine the headers sent by the page.

I always need to lookup the plugin syntax, after a quick search it looks like this is what you need for multiple groups.

if (is_member_of($vbulletin->userinfo, x,y))

X-or
07-29-2020, 11:15 AM
Just examine the headers sent by the page.

Sorry if this sounds stupid but I don't know anything about that, what should I look for that would prove the page is cached or not cached.

I always need to lookup the plugin syntax, after a quick search it looks like this is what you need for multiple groups.

if (is_member_of($vbulletin->userinfo, x,y)) Thank, I will give it a try as soon as I know how to verify if it works.

z3r0
07-30-2020, 04:09 AM
Most browsers have developer tools in their menu's, open the developer tools and check the element headers on the network tab (there is loads of info on google on how to do it)

I've had a quick look this morning and the code from my first post does seem to work, the pragma header switches between no-cache and private the same as it does when changing the global no-cache setting.

X-or
07-31-2020, 08:21 AM
Thanks z3r0, so far it seems to work wonders.
I highly recommend this plugin to anyone who had to enable no-cache headers. This will keep cache enabled for inactive users without disturbing active members. A must have.