That's theoretically possible, yeah. Sadly there's no way around that without replacing vBulletin's notification system with one of our own - a task we may just attempt in the future if we can find enough reason to do so in other mods (Cosmic feel free to chime in if you can see this having a place - I literally thought of it just now though xD).
Back on topic: I believe I have fixed it; the problem was really in the display only - exclusivity WAS actually changed, just not reflected in the display due to the way PHP handles bitfields.
You'd check a bitfield like so:
In plain English: If the button's exclusivity bit value contains the bit value of the other button, it's exclusive.
But problems arise if either $button['exclusivity'] or $otherbutton['bitfield'] is a string.
The following will return true
As will this
But the following will not
However, this will
Due to a technique called "type casting". It will take the string "2" and convert that into its integer value.
I've applied that type casting to every single instance of bitfield usage in the entire Thanks mod, so I believe that should take care of it.
Sorry for the rather long-winded explanation, but due to the runaround I've been giving you I felt I owed you the full explanation as to why I couldn't reproduce it before and how I fixed it
Back on topic: I believe I have fixed it; the problem was really in the display only - exclusivity WAS actually changed, just not reflected in the display due to the way PHP handles bitfields.
You'd check a bitfield like so:
PHP:
if ($button['exclusivity'] & $otherbutton['bitfield'])
But problems arise if either $button['exclusivity'] or $otherbutton['bitfield'] is a string.
The following will return true
PHP:
if ("2" == 2)
As will this
PHP:
if (2 & 2)
But the following will not
PHP:
if ("2" & 2)
However, this will
PHP:
if ((int)"2" & 2)
Due to a technique called "type casting". It will take the string "2" and convert that into its integer value.
I've applied that type casting to every single instance of bitfield usage in the entire Thanks mod, so I believe that should take care of it.
Sorry for the rather long-winded explanation, but due to the runaround I've been giving you I felt I owed you the full explanation as to why I couldn't reproduce it before and how I fixed it
