I've pretty much achieved what I wanted. Possibly not the prettiest way to do this but here's what I did..
I created a new user group and gave it view permission for all the advert blocks. I then removed view permission for those blocks from the registered users group.
Now I need to copy all registered users into the new group so they continue to see ads.
---------
The following SQL
SELECT uid FROM your_db_prefix_groups_users_link WHERE groupid = 2
gives you a table of all registered users
exporting to SQL gives rows like this..
INSERT INTO `your_db_prefix_groups_users_link` VALUES(1);
INSERT INTO `your_db_prefix_groups_users_link` VALUES(5);
INSERT INTO `your_db_prefix_groups_users_link` VALUES(8);
etc.
I copied this into Dreamweaver and did the following find and replace...
find VALUES( replace with (groupid,uid) VALUES (4,
to give
INSERT INTO `your_db_prefix_groups_users_link` (groupid,uid) VALUES (4,1);
INSERT INTO `your_db_prefix_groups_users_link` (groupid,uid) VALUES (4,5);
INSERT INTO `your_db_prefix_groups_users_link` (groupid,uid) VALUES (4,8);
etc.
Importing this to my database adds all registered users to the usergroup id 4 (the basic usergroup that sees ads)
so now all those members are seeing ads again.
-----
Now I need to get all new signups to see the ads as well so in modules/smartprofile/register.php I added the following line..
return _PROFILE_MA_REGISTERNG;
}
//line below is my hack to add new user to basic member group
$member_handler->addUserToGroup(4, $newid);
if ($xoopsModuleConfig['activation_type'] == 1) {
around line 188
---------
to remove subscribers from group id 4 (so they don't see adverts) I added the following line to the end of the addUserSubscription in include/functions in the subscription module from Third Eye.
$deletesql = "DELETE FROM " . XOOPS_DB_PREFIX . "_groups_users_link WHERE groupid = 4 AND uid = $uid"; // my hack to remove subscriber from basic member group
I've not tested the last part but the rest seems to work ok.