vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.7 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=228)
-   -   Social Group and Album Enhancements - Hidden Invite Only Social Groups (https://vborg.vbsupport.ru/showthread.php?t=184715)

XiZa 07-07-2008 10:00 PM

Hidden Invite Only Social Groups
 
Hello,

I've made a code modification to hide invite only social groups from the group.php page (including search). If you are an admin, you will still see those groups listed even if you are not a member of them.

Anyway so this hack does the following:

- Removes all invite only social groups from the group list page.
- Shows an error when you try to access the group by URL if you're not a member or not invited.
Same for picture page, etc.

I just made this today and it seems like it works, but please for now test it locally first!


I didn't make a plugin since there don't seem to be hooks in the locations that I need.

Instructions:

Download the new group.php and replace your old one. Alternatively, find all the sections labeled //WESLEY mod and do the replacements manually.

UPDATE:

I also added two other replacement files, you can either just download them or follow along here to do the updates yourself..

To also remove the invitation only social groups from the list on the profile page, open includes/class_profileblock.php and go to line 1130 or so.

Remove this:

PHP Code:


/*
            $socialgroups = $this->registry->db->query_read_slave("
                SELECT socialgroup.*
                FROM " . TABLE_PREFIX . "socialgroupmember AS socialgroupmember
                INNER JOIN " . TABLE_PREFIX . "socialgroup AS socialgroup ON
                    (socialgroup.groupid = socialgroupmember.groupid)
                WHERE
                    socialgroupmember.userid = " . $this->profile->userinfo['userid'] . "
                    AND socialgroupmember.type = 'member'
                ORDER BY socialgroup.name
            ");

*/
//REMOVED BY WESLEY 

Replace by this

PHP Code:

//changed by wesley
            
$sql =     "SELECT socialgroup.*
                FROM " 
TABLE_PREFIX "socialgroupmember AS socialgroupmember
                INNER JOIN " 
TABLE_PREFIX "socialgroup AS socialgroup ON
                    (socialgroup.groupid = socialgroupmember.groupid)
                WHERE
                    socialgroupmember.userid = " 
$this->profile->userinfo['userid'] . "
                    AND socialgroupmember.type = 'member' " 

                (!
can_moderate(0'caneditsocialgroups') ? " AND socialgroup.type != 'inviteonly'" "") . "
                ORDER BY socialgroup.name"
;
            
            
$socialgroups $this->registry->db->query_read_slave($sql);

//changed by wesley 

Lastly, if you do not want to show a link to the social group from the last activity bit ("Viewing social group: link") open includes/functions_online.php

Go to line 2182

Change

PHP Code:

            WHERE groupid IN (0$socialgroupids

to

PHP Code:

            WHERE groupid IN (0$socialgroupids) AND type != 'inviteonly' 

If the group is invite only it will now just display "Viewing social group".

XiZa 07-08-2008 06:28 PM

Let me know if it works for you or if I missed something, thanks.

XiZa 07-09-2008 06:28 AM

Soo I'd really like some feedback, is no one interested in this hack? ..

Q-v-n-s-Q 07-09-2008 06:44 AM

i will try this out, thanks

IcheeWaWa 07-09-2008 01:25 PM

I'll be testing this out later today! Thanks for taking on the task.

XiZa 07-09-2008 01:33 PM

Thanks, looking forward to that :)

Note that the files supplied are for 3.7.2, if you want to use this in an earlier version of 3.7, simply look in the files for "wesley" and copy/paste those sections over appropriately.

Ideal Web Tech 07-11-2008 08:55 AM

It is against the vBulletin license agreement to redistribute full vBulletin files.

jilly 07-11-2008 03:30 PM

so are we supposed to download those files and re-upload them? I don't think I want to do that, because some of my files have other modifications in them that these may overwrite - do you have a list of what to change in those files, so I can just go into them and change them manually?

XiZa 07-11-2008 04:21 PM

Just look at the files and search for "wesley" and replace where necessary. I could make a list later.. Btw where does it say that this is not allowed ideal_web_tech?

RaTix 07-23-2008 08:28 PM

I thought vB had added this in a newer patch and was about to update again when I saw your mod. Since I didn't feel like having to sort through what mods and customizations would be broken again because of it, I decided to give this a whirl. Unfortunately I ran into Db error when doing so.

I am Running VB 3.7.1 PL1. There seems to be no difference in the files specified except for your edits (File compare in Notepadd++), so I do not think my version of VB is the issue.

Quote:

Invalid SQL:

SELECT COUNT(*) AS count
FROM vbsocialgroup AS socialgroup
LEFT JOIN vbsocialgroupmember AS socialgroupmember ON
(socialgroupmember.userid = XXXX AND socialgroupmember.groupid = socialgroup.groupid)
WHERE vbsocialgroup.type != 'inviteonly';

MySQL Error : Unknown column 'vbsocialgroup.type' in 'where
I think the problem lies within this section of your mod.

Quote:

//WESLEY MOD
case 'grouplist':
{
if (!can_moderate(0, 'caneditsocialgroups')) {
$socialgroupsearch->generator->where['type'] = TABLE_PREFIX . "socialgroup.type != 'inviteonly'";
}
}
break;
//WESLEY MOD
in the group.php.

Here's the thing, it works fine for admins, but any other user will get a DB error when trying to access the Social Groups page. To make sure there was nothing else I changed or another mod perhaps conflicting. I replaced the group.php with my original 3.7.1 pl1 group.php and it works as normal.

Was this ever officially added to any newer versions or patches of VB? If not, any help to get this much desired feature working will be appreciated.


All times are GMT. The time now is 08:44 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01096 seconds
  • Memory Usage 1,756KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (4)bbcode_php_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete