Download & Extend

channel restrictions do not apply for anonymous users when Drupal block caching is enabled

Project:Advertisement
Version:6.x-2.1
Component:ad module
Category:bug report
Priority:normal
Assigned:Unassigned
Status:closed (fixed)

Issue Summary

Display type is set to JavaScript. Using admodule-supplied blocks.

For logged-in users, ads are properly shown with channel restrictions applied.

For anonymous users, channel restrictions do not apply: instead, all the ads from the group are shown, not only those assigned to a channel.

Disabling Drupal block caching fixes the problem.
Re-enabling block caching, then visiting a specific page (with channel restrictions) for the first time shows proper ads; further visits of pages configured for other channels keep showing the initial ads (from a different channel).

The question is: is this a bug in Drupal's block caching mechanism, or somewhere in admodule?

Block's code looks like this:

<div class="advertisement group-tids-2339" id="group-id-tids-2339">
<script type='text/javascript' src='http://example.com/sites/all/modules/ad/serve.php?q=1&amp;c=file&amp;f=3&amp;p=files&amp;t=2339&amp;u=taxonomy%2Fterm%2F15'></script></div>

I'm using FireFox 3.0.14, no specific caching modules installed.

Comments

#1

Switching to jQuery display method didn't help (however, first page load after display type change did have a properly channel-filtered ad).

Both iframe and raw still have the same problem. This issue appears to be displayMethod-independent.

#2

Category:support request» bug report
Status:active» fixed

Thanks for reporting this. You tracked down enough details that I was able to fix it:
http://drupal.org/cvs?commit=277522

If you don't want to upgrade your ad module at this time, you can simply run the following SQL query directly in your database to fix this:
UPDATE blocks SET cache = 4 WHERE module = 'ad';

The fix is to cache ad blocks on a per-page basis.

#3

Thank you, this worked.

#4

Status:fixed» closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

nobody click here