Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.6 > vBulletin 3.6 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
GRPS: Groups Commune 2.0.x Details »»
GRPS: Groups Commune 2.0.x
Version: 2.0.13, by sabret00the sabret00the is offline
Developer Last Online: Apr 2010 Show Printable Version Email this Page

Category: Major Additions - Version: 3.6.4 Rating:
Released: 09-22-2006 Last Update: 09-28-2007 Installs: 233
DB Changes Uses Plugins Template Edits
Additional Files  
No support by the author.

Welcome ladies and gentleman, this is the release thread for GRPS, an interactive groups commune. I hope you enjoy this release and i sincerely hope it provides everything to your community in which you're looking for.

What is it?
It's a groups commune. The original idea is that forums with lots and lots of forums on the front-page suck, as a result i thought most of the conversation was rather obscure in regards to what the forums were trying to achieve, so it'd be nice to have that all going on elsewhere, not detracting away from the content and stopping your front-page from looking like a car crash.

Features?
  • Groups Home
    • Groups Activity List
      • Newest Groups
      • Most Popular Groups
      • Largest Groups
    • Category List
    • Group Search by Title
    • Group Sort by Alphabetical Title, Categories, Member Count

    • Users can create groups
    • Admin switch to moderate groups or not
      • Admin CP access to moderation panel
  • Groups Page
    • Posts since last visit notification
    • Group Info
      • Group Leader shown with avatar
      • Category
      • Type
        • Groups can be listed as public, private or hidden
      • Start Date
      • Member count
      • Post count
    • Group Desciption
      • Shows group title
      • Shows random image
      • Shows group information set by group leader
    • Groups Thread List (Forum)
      • Status Icon
      • Title
        • Threads use postbit as per the forums
      • Thread Author with avatar and time that the thread was started
      • Last reply with avatar, username and time that the last reply was posted
      • Post New Thread Button
        • Groups Members can create threads
    • Newest Members
      • Shows five newest members
      • Link to view all members
        • Shows all members of the group
    • Group Options
      • Users can join/leave groups
        • PM Notification for group leaders upon join requests (when moderation enabled).
        • PM Notification for of acceptance or refusal.
      • Users can send invites to other users via PM
  • Groups Thread
    • Groups Info Box (see above for more info)
    • Group Description box (see above for more info)
    • Newest Members List (see above for more info)
    • List of groups posts using forums postbit
    • Pagination using native vBulletin pagination
    • Group Leader/Moderation Options
      • Open/Close Thread
      • Stick Thread
      • Delete Thread
    • Users have the ability to report posts
    • Moderators have the ability to view IP and host.
  • Group Leader Options
    • Groups Management
      • WYSIWYG Editor
      • Reason for editing box
      • Group Options
        • Private Posts
        • Only group leader can make threads
        • Moderate Members
        • Show group text edit details
        • Hide group image on group pages
        • Hidden Group
          • This option is only available to admins
    • Group Members Moderation
      • Ability to accept or deny new members
  • Postbit Integration
    • View Users Groups
  • User Control Panel (Integration)
    • List of groups appears in usercp in order of the last post
  • Administrator Options
    • vBulletin Options
      • Turn groups on or off
      • Groups Limit Per User
      • Posts Per Page (threads)
      • Check Forum Activity Posts
      • Check Forum Activity Time
      • Number of Random Images
      • Turn email notification of new groups on/off
    • Usergroup Options
      • Can view groups
      • Can create groups
      • Can join groups
      • Can post messages in groups
      • Can edit messages in groups
      • Can delete messages posted in groups
      • Numbers of groups usergroup can join limited
      • Can moderate groups
        • See above for more info
      • Can view IP Addresses
    • Category Editor
      • Edit
        • Edit cat id (please not this can ef up your show)
        • Edit cat title
        • Edit cat description
      • Add
        • New Cat Title And Description
    • Groups Editor
      • Search for group by id
        • Edit
          • Title
          • Desciption
          • Categoryid
          • Group leader id
          • Private Posts
          • Moderate Members
          • Hidden group

Special Thanks to harry1951, without his help testing and his recommendations, this would've never ended up the way it did.

Honestly, i can't think of anything else, if you appreciate the work gone into this mod, please donate (in GBP) (right click open in new window)

Hopefully you all appreciate that i just relaunched my site and rather than soak up the atmosphere there or go out drinking i came to release this tonight.

Screens below, rest to your right

Please note this mod does work with 3.5.x

PLEASE DO NOT JOIN MY SITE IN A BID TO PLAY WITH IT OR HAVE A LOOK AT IT FURTHER, MY SITE IS SOMETHING I VALUE FOR BEING SOMEWHERE I CAN CHILL AT, IT'S NOT A TEST SUITE OR DEMO!

Bug Fixes
  • Groups v2.0.0 RC1b.zip: fix regarding incorrect table prefixes in index.php and editpost.php
  • Groups v2.0.0 RC2.zip: fix regarding incorrect table prefixes in functions_grps.php and class_grps.php. also fix regarding installation instructions.
  • Groups v2.0.0 RC3.zip: fix regarding inability to get to create groups page. updated simplified instructions, sadly still not cool html ones and also added ability to delete groups, delete categories and of course the menu options to get to these.
    • Groups v2.0.0 RC3b.zip: fix regarding joining and leaving group depreciated function error added uninstaller to the zip at http://www.yoursite.com/groups/tools...p?do=uninstall
    • Groups v2.0.0 RC3c.zip: fix regarding edit being stated as 70's on group stages, requires re-installtion of the plugin only.
  • Groups v2.0.0 RC4.zip: various bug fixes and new general setting, please reupload all files and then reinstall the product.
  • Groups v2.0.0 RC5.zip: bug fixes regarding fixing links to forums being broken and forcing redirects for create group outcomes.
  • Groups v2.0.0 RC6.zip: various bug fixes including table prefixes in admincp, invitations system now features in-line erroneous username fall-back and clean up regarding broken images in viewthread.php
  • Groups v2.0.0 RC7.zip: bug fixes including missing phrases and missing 'noavatar.gif for group leader on groups info.
  • Groups v2.0.0 RC8.zip: various bug fixes including missing phrases, smilies not working. new function to turn of new group moderation. form now working on print_no_permission page (thanks Adrian) and something else i forgot.
  • Groups v2.0.0 RC9.zip: fixes two spelling mistakes, moves viewthread.php string_replacements to admincp and simplifies the installer experience. (yeah i thought there'd be more to it too).
    • Groups v2.0.0 RC9b.zip: re-fixes two spelling mistakes, fixes a viewthread.php string_replacement via the admincp and turns the default random image count down to that of which is provided.
  • Groups v2.0.0 RC10.zip: optimises some of the code, cuts down on queries in exchange for additional joins and now forces compatibility in groups/viewthread.php with vBulletin options. also adds new option in admincp in order to make usercp listing work better out of the box.
  • Groups v2.0.0 RC11.zip: fixes a problem with avatars not displaying correctly in thread listing and also optimises the code in membership.php
  • Groups v2.0.0.zip: adds and array_merge to the code and smilie popup fixed. now features hooks for plug-in 'easability'. uCS integration moved to external plugin too.
  • Groups v2.0.1.zip: removes one hook, fixes problem with membership.php, fixes problem editgroup.php not remembering options and fixes avatar problem.
  • Groups v2.0.2.zip: various bug fixes (like missing pagenavs, more elegant removal of reputation button and infraction button and php notices), one or two new features (like intuitive page titles) and now fully phrased.
  • Groups v2.0.3.zip: bug fix regarding now being able to select categories. includes a new feature which is basically pagination for the thread listings.
  • Groups v2.0.4.zip: bug fix regarding not being able to moderate group memberships.
  • Groups v2.0.5.zip: bug fix regarding those introduced via 2.0.4, new features such as double post prevention disable, admins can override privacy settings, usergroup permission text more intuitive and end-user usability increased with modification to threadbit on groups.php. group leaders can now kick users from there groups.
  • Groups v2.0.6.zip: bug fix including report, missing edit button and other misc small bugs, new features such as disable hidden groups, allow mods to see private groups, and resign from group handing off to another user.
  • Groups v2.0.7.zip: bug fix including fixing post counts, thread goto's and fatal php errors.
  • Groups v2.0.8.zip: bug fix regarding inability to delete posts, problem with editing posts and other misc errors.
  • Groups v2.0.9.zip: various bug fixes including wywiwyg error, admin cp error and redirect/goto errors.
    • Groups v2.0.9b.zip: fixes problem with upgrade4.php
  • Groups v2.0.10.zip: various bug fixes including acknowledging renamed modcp and admincp dir's also adds option regarding removing of posts at group exit/kick.
  • Groups v2.0.11.zip: various bug fixes including security/privacy fixes.
  • Groups v2.0.12.zip: permission bug fixed.
  • Groups v2.0.13.zip: various bug fixes including ability to ignore members in groups and newreply bug.

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #242  
Old 09-27-2006, 06:03 PM
bada_bing's Avatar
bada_bing bada_bing is offline
 
Join Date: Feb 2004
Location: Michigan
Posts: 1,698
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by sabret00the
would you like me to take a look at your installation as i can't figure it out?
sabret00the

Basically what is happening is the some of the images while within groups point to /groups/imagelocation rather then /forums/imagelocation
Reply With Quote
  #243  
Old 09-27-2006, 07:53 PM
serg472 serg472 is offline
 
Join Date: Mar 2005
Posts: 14
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The mod fails during the installation with a DB error. Reason - you are trying to use a fulltext index without making sure that the default db engine is MyISAM, not InnoDB as it is on my PC.

It would be a good idea to change this:

PHP Code:
$db->query_write("
    CREATE TABLE `grps_post` (
        `postid` int(10) unsigned NOT NULL auto_increment,
        `threadid` int(10) NOT NULL default '0',
        `groupid` mediumint(9) unsigned NOT NULL default '0',
        `parentid` int(10) unsigned default NULL,
        `username` varchar(50)  NOT NULL default '',
        `userid` int(10) unsigned NOT NULL default '0',
        `title` varchar(250)  NOT NULL default '',
        `dateline` int(10) unsigned NOT NULL default '0',
        `pagetext` mediumtext  NOT NULL,
        `ipaddress` varchar(16)  NOT NULL default '',
        `iconid` smallint(5) unsigned NOT NULL default '0',
        `visible` smallint(6) NOT NULL default '0',
        `attach` smallint(5) unsigned NOT NULL default '0',
        `allowsmilie` enum('1','0')  default NULL,
        `showsignature` enum('0','1')  NOT NULL default '0',
        `edit_username` varchar(50)  default NULL,
        `edit_userid` int(10) default NULL,
        `edit_reason` varchar(200)  default NULL,
        `edit_dateline` int(10) unsigned default NULL,
        `delete_username` varchar(50)  default NULL,
        `delete_userid` int(10) default NULL,
        `delete_reason` varchar(200)  default NULL,
        PRIMARY KEY  (`postid`),
        KEY `threadid` (`threadid`),
        FULLTEXT KEY `title` (`title`,`pagetext`)
    )
"
); 
to this:

PHP Code:
$db->query_write("
    CREATE TABLE `grps_post` (
        `postid` int(10) unsigned NOT NULL auto_increment,
        `threadid` int(10) NOT NULL default '0',
        `groupid` mediumint(9) unsigned NOT NULL default '0',
        `parentid` int(10) unsigned default NULL,
        `username` varchar(50)  NOT NULL default '',
        `userid` int(10) unsigned NOT NULL default '0',
        `title` varchar(250)  NOT NULL default '',
        `dateline` int(10) unsigned NOT NULL default '0',
        `pagetext` mediumtext  NOT NULL,
        `ipaddress` varchar(16)  NOT NULL default '',
        `iconid` smallint(5) unsigned NOT NULL default '0',
        `visible` smallint(6) NOT NULL default '0',
        `attach` smallint(5) unsigned NOT NULL default '0',
        `allowsmilie` enum('1','0')  default NULL,
        `showsignature` enum('0','1')  NOT NULL default '0',
        `edit_username` varchar(50)  default NULL,
        `edit_userid` int(10) default NULL,
        `edit_reason` varchar(200)  default NULL,
        `edit_dateline` int(10) unsigned default NULL,
        `delete_username` varchar(50)  default NULL,
        `delete_userid` int(10) default NULL,
        `delete_reason` varchar(200)  default NULL,
        PRIMARY KEY  (`postid`),
        KEY `threadid` (`threadid`),
        FULLTEXT KEY `title` (`title`,`pagetext`)
    ) ENGINE=MyISAM  
"
); 
in grps_installer.php for future versions.
Reply With Quote
  #244  
Old 09-27-2006, 09:02 PM
serg472 serg472 is offline
 
Join Date: Mar 2005
Posts: 14
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Another bugs in grps_moderate.php

This piece of code:

PHP Code:
$groups $db->query("
            SELECT grps.groupid, grps.title, grps.description, grps.leaderid, user.username, grps_categories.catid, grps_categories.title AS catname
            FROM grps
            LEFT JOIN user ON (user.userid = grps.leaderid)
            LEFT JOIN grps_categories ON (grps_categories.catid = grps.catid)
            WHERE approved != '1'
        "
); 

should be replaced with:

PHP Code:
$groups $db->query("
            SELECT grps.groupid, grps.title, grps.description, grps.leaderid, " 
TABLE_PREFIX "user.username, grps_categories.catid, grps_categories.title AS catname
            FROM grps
            LEFT JOIN " 
TABLE_PREFIX "user ON (" TABLE_PREFIX "user.userid = grps.leaderid)
            LEFT JOIN grps_categories ON (grps_categories.catid = grps.catid)
            WHERE approved != '1'
        "
); 


And this one:

PHP Code:
$adddata $db->query_first("
                SELECT *
                FROM grps
                LEFT JOIN " 
TABLE_PREFIX "user ON (user.userid = grps.leaderid)
                WHERE groupid = 
$groupid
                LIMIT 1
            "
); 
Should be replaced with:

PHP Code:
$adddata $db->query_first("
                SELECT *
                FROM grps
                LEFT JOIN " 
TABLE_PREFIX "user ON (" TABLE_PREFIX "user.userid = grps.leaderid)
                WHERE groupid = 
$groupid
                LIMIT 1
            "
); 
Reply With Quote
  #245  
Old 09-27-2006, 10:32 PM
.Tim's Avatar
.Tim .Tim is offline
 
Join Date: Jan 2005
Location: Oklahoma City
Posts: 353
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The install seems to go fine and I get a "done" message but the groups page still shows up blank. Am I not doing something right?
Reply With Quote
  #246  
Old 09-28-2006, 12:14 AM
:Judge:'s Avatar
:Judge: :Judge: is offline
 
Join Date: Jan 2003
Location: USA ~ MD
Posts: 230
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Awesome Add On!!

I have a few minor issues that I cannot find to fix:

1. Group Leader Avatar - Not showing up, the image path is obviously wrong http://www.mysite.com/forums/http://...?u=1&dateline=

2. Invite PM - The link in the PM to accept an invite is going to mysite.com/groups (it should be) mysite.com/forums/groups

3. Should there be an option to upload a groups photos or random is all it gets?

4. How could I go in to edit my navbits? Would like Forums - Groups - Group Name.

5. No Group Info in Member Profile. I am using a bit of the MySpace profile re-write, is this why I am not getting any group info?

Thanks, other then the above it works great for me so far. Im sure these are simple fixes I just am not finding the correct places to make the edits.
Reply With Quote
  #247  
Old 09-28-2006, 12:32 AM
ronoxQ's Avatar
ronoxQ ronoxQ is offline
 
Join Date: Aug 2005
Posts: 273
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sorry I'm being a pain. X_x

Index:

PHP Code:
<?php

//XXXXXXXXXXXXXXXXXX;,XMMMMMS i7XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXSXXXXXXSSXXXSXXXXXXSXXXSXSXXSXXSXXSXXXX
//XXXXXXXXXXXXXXXX7:XMM0aaZWMMX.rXXXXXXX77;iiiii;7XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
//XXXXXXXXXXXXXXXXiXMZXXS22XX8M0 rXXXXX7r20@MMMW8;;7XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
//XXXXXXXXXXXXXXX7.M8XXXr :0MMMMZ:XXXX72W8S7rrXS8MB;;7XXXXXXXXXXSXXXSXXXXXXSXXXXXXXXXXXSXXXXXXXSXXXXXX
//77777X7777X77XXiSMSXrWMMMBi ,@M XX7rZ8;,,,,i;;;7aMSi777XX77XXX7XX77XXXXX77X7XXX7XX77XX7XXX7XX7XXXXXX
//XXX7777XX777777:BMMMZr     i;ZM 777SZi,:::ii;r;r7S@a:777777777777777X7XX777X7X7XXXXXXX7777XX7XX77X77
//XXXXXXXXXXXXXXX:ZM.     .,:;rZM 77:8,,::..     .:iXMr;XXXXXXXXXXXXX7X7XXXX7X7X77X7XX77XXXXXXXXXXXXXX
//777777777777777iiMX:,,,,::irXMa.7riM,     .;0MMMM8iXM.r777777777777777777777777777777777r777777777r7
//777777777777777r.@MX.,:iiiir2@  ;;7MMMMMMMM@ar:.iX8SMi;777777777777777777777777777777777777777777777
//7777777777777777i MM@r::iir8MMWX   Mi        .ii;;rS@Xi777777777777777777777777777777777777777777777
//rrrrrrrrrrrrrrrrri  iMMMMMMM070MM7 ;Z.,.....,:i;rraZ8X:rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
//r77777777rrrrrrrrr rMaW77i :::i;ZMM a;,,,,::i;r77rZ@0:irrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
//rr;rr;r;i.      ,. MX:7    BSX7r7aMM.2;iii;;;rX772MMM ;rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
//rrrrr;,   ;B@@8:  28;72@   MSXXrrXWMMaMXii;;r7X7SM,  ,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
//;rr;i  XMMMMMMMMMMM:iXX@   M2X2X;SB@M .M0X;;;7a@MM7. ,;rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr;r;rrrrr;
//;;ii  MMM@WWWWWWMMM8.XXZM  MS::arX@Mr 2ZMMMMMMMM7iSMM  :;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
//;;;  MM@WWWWWWWWWBM0 7XSM  MSa Z00B; MMBr2SZ8r :rSSSZM2 .i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;r;;;;;;;;
//ii. MM@WWWWMMMM@WMM22XS2BW M0MBa0.     7MM@8SrS2aZ8Z22MM  :iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
//;; ,MMMM@W@@.  MMM, Za2aZ0.Si;:           MMaWMMMMMMMMMMMZ i;;;;iiiii;;;;;;;iiiiiiiii;;;iiiiiiiiiiii
//i: MM8 8@WWWaMMMX  .rZ    ,r7   ;MMMMMMMW  MMX          .MMS27;;rrr;iiiiiiiiir777r;iiiiiiiiiiiiiiiii
//ii MM  WMWMMMM    ,:iM .i;S,  :MMMMMMMMMMM     :MMMMMZ        ZX;;rSaS7;ii;X2r.  ;SX;iiiiiiiiiiiiiii
//i: MMaZM@MM0    ,,::iM; ;X   MMMMMM    MMM  rMMMMMMMMMMMMMMM           XSXS         X;iiiiiiiiiiiiii
//:: MMM@@MMi  .:,::i;;M; 7   MMMM;       MM MMMMMMMMMMMMMMMMMMM.MMMMMS        MMMMM   7i:::i:::::::::
//::  MM@WMM  :i;ii;;rrM  .  MMMM   XMMM  MM MMMM  MMM      WMMMMMMMMMMMMW   MMMMMMMM  i;iiiiiiiiiiiii
//::  MM@MM  i;77rrrrr2MX8  MMMM              WM2  MMM      MMMMMBMMM:MMMMMMMMMM0  MMM  r,,,,,:,,,,,,:
//:::  MMMM ir;rXrrr78MMMM :MMM        ,7ZMM@a::S 8MM.   MMMMMMM  MM    :MMMMMM    MMM  7:::::::::::::
//,,,   MMM2rX77X7X0MMZ7M  MMM0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM   MMM  7   MMMM  :, MMM  r,,,,,,,,,,,,,
//,,,,   MMMMMMMMMMMW  aM  MMM2MMMMMMMMMMMMMMMMMMMMMMMMMMMMB     MMM .r  MMMMM  ;  MMM  Xrr;i:,,,,,,,,
//,,,,,.   SX.;aM7      M  MMM :88i      MMMr   MMMMMMMMM    :i  MMX    7MMMM                :i,,,,,.,
//,..,.,.  B7i:..2M   , ;i @MMM        @MMMM    MMMMM  MMMM      MMX @MMMMMMMMMMMMMMMMMMMMB   .:......
//..,...  MWSX7772WM2    M  MMMMMMMMMMMMMMMa  ,   MMM   MMMM  MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM  :,,,,,,
//......  M2 S7XSr ,BM    M  MMMMMMMMMMMMZ   ::i. 8MMM   MMMMMMMMMMMMMM2       ;20MMMMMMMMMMMZ .......
//...... MMZ7Z22aBS82@M,  @M   MMMMMMMM     :,.,.  MMM    .MMMMMWMMM         .            MMMB  ,.....
//.,,,,. MMMMMMMMMMMMMMMM: MMM           ::,,,,,,  MMM  ,   0MMMMMMM   :::. MMM  .::::   MMMM  ,,,,,,.
//                                                 :MM@       ;MMMMMMM      MMM         MMMMZ         
//                                                               MMMMM      0MMM      SMMMMM          
//       GRPS: Commune For Groups                                 ,MMMa      MMMMX  MMMMMM            
//             vBulletin Add-On Software                           MMMM       MMMMMMMMMMM             
//                             by sabret00the                       MMM         MMMMMMa               
//                                    Copyright 2005                 M                                


// ################ SET SCRIPT LOCATION ENVIRONMENT ######################
require_once('./includes/config_grps.php');

// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS'1);
define('THIS_SCRIPT''groupshome');

// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();

// get special data templates from the datastore
$specialtemplates = array();

// pre-cache templates used by all actions
$globaltemplates = array(
'GROUPS',
'groups_groupshome',
'groups_groupshome_newestbits',
'groups_groupshome_popularbits',
'groups_groupshome_largestbits',
'groups_groupshome_mygroups',
'groups_groupshome_mygroupsbits',
'groups_navbar',
);

// ######################### REQUIRE BACK-END ############################
require_once("./global.php");
require_once(
"./includes/functions_grps.php");

// pre-cache templates used by all actions
$globaltemplates = array();

// globalize variables
$vbulletin->input->clean_array_gpc('r', array(
    
'perpage' => TYPE_INT,
    
'pagenumber' => TYPE_INT,
    
'do' => TYPE_STR,
    
'goto' => TYPE_STR,

));

// globalize variables
$vbulletin->input->clean_array_gpc('p', array(
    
'action' => TYPE_STR,
    
'do' => TYPE_STR,
    
'grps_submit' => TYPE_STR,
    
'grps_title' => TYPE_STR,
    
'grps_description' => TYPE_STR,
    
'grps_leader' => TYPE_INT,
    
'grps_cat' => TYPE_INT,
));

// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################

// temp admin options
// url of the grps
$groupurl $vbulletin->options['homeurl'] . "/groups/?groupid=$groupid";

$grps_rin rand(1,$vbulletin->options['grpsnumrandimages']); //random image to provide some variation

// this switch handles the right column
switch ($_GET['do']) 

    case 
"creategroup"
        
// ###################### lets lock out non-members and make em log-in
        
if (!$vbulletin->userinfo['userid'])
        {
            
//print_no_permission();
        
}

        
// ###################### lets make sure they have permission to make groups
        
if (!($vbulletin->userinfo['permissions']['grpspermissions'] & $vbulletin->bf_ugp_grpspermissions['groupscreate']))
        {
            
print_no_permission();
        }

        
// ###################### lets make sure they can afford it
        
if ($vbulletin->options['grpsstoreintegration'])
        {
            if (
$vbulletin->userinfo[$vbulletin->options[uttpoints_pointsfield]] < $vbulletin->options['grpsmakegroupcost'])
            {
                eval(
print_standard_error("grps_notenoughpoints"));
            }
        }

        
// add's page title
         
$grps_pagetitle "Create A Group"

        
// creates category drop down box
        
$grps_cats $db->query("
            SELECT *
            FROM grps_categories
            ORDER BY catid ASC
        "
);

        if (
$db->num_rows($grps_cats))
        {
            while (
$grps_catsoptions $db->fetch_array($grps_cats))
            {
                
$dropoption .= "<option value=\"$grps_catsoptions[catid]\">$grps_catsoptions[title]</option>\n";
            }
        }

        
$cat_drop "<select name=\"grps_cat\">\n" $dropoption "</select>";

        
// calls the template for creating groups.
        
eval("\$grps_main .= \"".fetch_template("groups_creategroup")."\";");
 
    break; 
    default:
         
// page title for grouphome.
         //$grps_pagetitle = "Groups @ " . $vbulletin->options['hometitle']; 

        // selects the number of validated groups for group home
        
$total $db->query_read("
            SELECT groupid 
            FROM grps
            WHERE approved = '1'
        "
);

          
$num $db->num_rows($total);

        
$grps_limit 10;

        
$grps_getcats $db->query_read("
            SELECT catid, title
            FROM grps_categories
        "
);

        while (
$grps_makecats $db->fetch_array($grps_getcats))
        {
            
$grps_makecats['title'] = trim(stripslashes($grps_makecats['title']));

            
$grps_cats .= "<li id=\"catbullets\"><strong><a href=\"browse.php?c=" $grps_makecats['catid'] . "\">" $grps_makecats['title'] . "</a></strong></li>\n";
        }

        if (
$vbulletin->options['grps_moderation'] == "1")
        {
            
$grps_moderation="WHERE grps.visible = '1'";
        }

// ###################### extracts newest groups for main grps page
            
$grps_newest $db->query_read("
                SELECT grps.groupid, grps.title, grps.description, grps.approved, grps.leaderid, grps_setting.hidden_group, user.username
                FROM grps
                LEFT JOIN " 
TABLE_PREFIX "user AS user ON (user.userid = grps.leaderid)
                LEFT JOIN grps_setting ON (grps_setting.groupid = grps.groupid)
                WHERE grps.approved = '1' AND grps_setting.hidden_group != '1'
                GROUP BY grps.groupid
                ORDER BY grps.groupid DESC
                LIMIT 5
            "
);

            if (!
$db->num_rows($grps_newest))
            { 
// no groups, this becomes obselete after the first group gets created
                        
$grps_newestbits .= "<tr><td class=\"alt1\" align=\"center\">no groups found at this time</td></tr>";
            }
            else
            { 
// display the information
                
while ($grps_newestinfo $db->fetch_array($grps_newest))
                {
                    
$grps_newestinfo['title'] = stripslashes($grps_newestinfo['title']);
                    
$grps_newestinfo['description'] = nl2br(stripslashes($grps_newestinfo['description']));
                    
extract($grps_newestinfo);

                     eval(
'$grps_newestbits .= "' fetch_template("groups_groupshome_newestbits") . '";');
                    
                } 
//now echo the date into the template
            
}

// ###################### extracts largest (most members) groups for main grps page
            
$grps_largest $db->query_read("
                SELECT COUNT(*) AS totalmembers, grps.groupid, grps.title, grps.description, grps.approved, grps_setting.hidden_group, user.username, grps_user.join_date
                FROM grps_user
                LEFT JOIN " 
TABLE_PREFIX "user AS user ON (user.userid = grps_user.userid)
                LEFT JOIN grps ON (grps.groupid = grps_user.groupid)
                LEFT JOIN grps_setting ON (grps_setting.groupid = grps.groupid)
                WHERE grps.approved = '1' AND grps_setting.hidden_group != '1'
                GROUP BY grps.groupid
                ORDER BY totalmembers DESC, grps.groupid DESC, grps_user.join_date DESC
                LIMIT 5 
            "
);

            if (!
$db->num_rows($grps_largest))
            { 
// no groups, this becomes obselete after the first group gets created
                        
$grps_largestbits .= "<tr><td class=\"alt1\" align=\"center\">no groups found at this time</td></tr>";
            }
            else
            { 
// display the information
                
$totalmembers $grps_largestinfo['totalmembers'];
                while (
$grps_largestinfo $db->fetch_array($grps_largest))
                {
                    
$grps_largestinfo['title'] = nl2br(stripslashes($grps_largestinfo['title']));
                    
$grps_largestinfo['description'] = nl2br(stripslashes($grps_largestinfo['description']));
                    
$grps_largestinfo['membercount'] = number_format($grps_largestinfo['membercount']);
                    
extract($grps_largestinfo);
                    
                    eval(
'$grps_largestbits .= "' fetch_template("groups_groupshome_largestbits") . '";');
                }
            }


// ###################### extracts popular (most messages) groups for main grps page
            
$grps_popular $db->query_read("
                SELECT COUNT(*) AS totalposts, grps.groupid, grps.title, grps.description, grps.approved, grps_setting.hidden_group, user.username
                FROM grps_post
                LEFT JOIN " 
TABLE_PREFIX "user AS user ON (user.userid = grps_post.userid)
                LEFT JOIN grps ON (grps.groupid = grps_post.groupid)
                LEFT JOIN grps_setting ON (grps_setting.groupid = grps.groupid)
                WHERE grps.approved = '1' AND grps_setting.hidden_group != '1'
                GROUP BY grps.groupid
                ORDER BY totalposts DESC, grps.groupid DESC
                LIMIT 5 
            "
);

            if (!
$db->num_rows($grps_popular))
            { 
// no groups, this becomes obselete after the first group gets created
                        
$grps_popularbits .= "<tr><td class=\"alt1\" align=\"center\">no groups found at this time</td></tr>";
            }
            else
            { 
// display the information
                
$totalposts $grps_popularinfo['totalposts'];
                while (
$grps_popularinfo $db->fetch_array($grps_popular))
                {
                    
$grps_popularinfo['title'] = nl2br(stripslashes($grps_popularinfo['title']));
                    
$grps_popularinfo['description'] = nl2br(stripslashes($grps_popularinfo['description']));
                    
$grps_popularinfo['postcount'] = number_format($grps_popularinfo['postcount']);
                    
extract($grps_popularinfo);
                    
                    eval(
'$grps_popularbits .= "' fetch_template("groups_groupshome_popularbits") . '";');
                 }
            }
        eval(
"\$grps_main = \"".fetch_template("groups_groupshome")."\";");
    } 

// ###################### processing action actions
    
if ($_POST['action'] == "docreategroup")
    { 
// start process for creating a group
        
if ($vbulletin->GPC['grps_submit'] && trim($vbulletin->GPC['grps_title']) != "" && trim($vbulletin->GPC['grps_description']) != "" && !empty($vbulletin->userinfo['userid']))
        { 
//make sure theirs everything you need to submit a form 

            // lets enter it into the database
            
$db->query_read("
                INSERT INTO grps(title, description, catid, approved, leaderid, membercount)
                VALUES ('" 
addslashes($vbulletin->GPC['grps_title']) . "', '" addslashes($vbulletin->GPC['grps_description']) . "', " intval($vbulletin->GPC['grps_cat']) . ", '0', " $vbulletin->userinfo['userid'] . ", 1)
            "
);

            
// ###################### lets do the transaction
            
if ($vbulletin->options['grpsstoreintegration'])
            {
                if (
$vbulletin->userinfo[$vbulletin->options[uttpoints_pointsfield]] >= $vbulletin->options['grpsmakegroupcost'])
                {
                    
$chching intval($vbulletin->userinfo[$vbulletin->options[uttpoints_pointsfield]] - $vbulletin->options['grpsmakegroupcost']);
                    
$db->query_read("
                        UPDATE " 
TABLE_PREFIX "user
                        SET " 
$vbulletin->options[uttpoints_pointsfield] . " = $chching
                        WHERE userid = " 
$vbulletin->userinfo[userid] . "
                    "
);
                }
            }

            if (
$vbulletin->options['grps_notifyadminnewgroup'])
            {
                
vbmail($vbulletin->options['webmasteremail'], $vbulletin->userinfo['username'] . " has created a new group"$vbulletin->userinfo['username'] . " has created a new group on your site, please could you go and moderate this group from within the Admin Control Panel.""From: \"" $this->vbulletin->options['hometitle'] . " Mailer\" <" $vbulletin->options['webmasteremail'] . ">");
            }

            
// thanks for submitting the form send you to index
            
$vbulletin->url "/groups/index.php?" $vbulletin->session->vars['sessionurl'];
            eval(
print_standard_redirect("grps_thanks"));
        }
        else
        { 
//they ++++ed up
            // submission error make em retake
            
$vbulletin->url $vbulletin->options[groupsurl] . $vbulletin->session->vars['sessionurl'] . "?do=creategroup";
            eval(
print_standard_redirect("grps_formerror"));
        } 
//form submitted either way
    
// end the process for creating a group


    
$navbits = array();
    
$navbits[$parent] = 'Groups';
    
$navbits construct_navbits($navbits);

    
//handles the rest of the page and layout.
    
eval('$grps_navbar = "' fetch_template('groups_navbar') . '";');
    eval(
'$headinclude = "' fetch_template('headinclude') . '";');
    
$headinclude grps_rewrite_links($headinclude);
    eval(
'$navbar = "' fetch_template('navbar') . '";');
    
$navbar grps_rewrite_links($navbar);
    eval(
'$footer = "' fetch_template('footer') . '";');
    
$footer grps_rewrite_links($footer);
    eval(
"print_output(\"".fetch_template("GROUPS")."\");");

?>
Config:

PHP Code:
<?php

//XXXXXXXXXXXXXXXXXX;,XMMMMMS i7XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXSXXXXXXSSXXXSXXXXXXSXXXSXSXXSXXSXXSXXXX
//XXXXXXXXXXXXXXXX7:XMM0aaZWMMX.rXXXXXXX77;iiiii;7XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
//XXXXXXXXXXXXXXXXiXMZXXS22XX8M0 rXXXXX7r20@MMMW8;;7XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
//XXXXXXXXXXXXXXX7.M8XXXr :0MMMMZ:XXXX72W8S7rrXS8MB;;7XXXXXXXXXXSXXXSXXXXXXSXXXXXXXXXXXSXXXXXXXSXXXXXX
//77777X7777X77XXiSMSXrWMMMBi ,@M XX7rZ8;,,,,i;;;7aMSi777XX77XXX7XX77XXXXX77X7XXX7XX77XX7XXX7XX7XXXXXX
//XXX7777XX777777:BMMMZr     i;ZM 777SZi,:::ii;r;r7S@a:777777777777777X7XX777X7X7XXXXXXX7777XX7XX77X77
//XXXXXXXXXXXXXXX:ZM.     .,:;rZM 77:8,,::..     .:iXMr;XXXXXXXXXXXXX7X7XXXX7X7X77X7XX77XXXXXXXXXXXXXX
//777777777777777iiMX:,,,,::irXMa.7riM,     .;0MMMM8iXM.r777777777777777777777777777777777r777777777r7
//777777777777777r.@MX.,:iiiir2@  ;;7MMMMMMMM@ar:.iX8SMi;777777777777777777777777777777777777777777777
//7777777777777777i MM@r::iir8MMWX   Mi        .ii;;rS@Xi777777777777777777777777777777777777777777777
//rrrrrrrrrrrrrrrrri  iMMMMMMM070MM7 ;Z.,.....,:i;rraZ8X:rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
//r77777777rrrrrrrrr rMaW77i :::i;ZMM a;,,,,::i;r77rZ@0:irrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
//rr;rr;r;i.      ,. MX:7    BSX7r7aMM.2;iii;;;rX772MMM ;rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
//rrrrr;,   ;B@@8:  28;72@   MSXXrrXWMMaMXii;;r7X7SM,  ,rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
//;rr;i  XMMMMMMMMMMM:iXX@   M2X2X;SB@M .M0X;;;7a@MM7. ,;rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr;r;rrrrr;
//;;ii  MMM@WWWWWWMMM8.XXZM  MS::arX@Mr 2ZMMMMMMMM7iSMM  :;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
//;;;  MM@WWWWWWWWWBM0 7XSM  MSa Z00B; MMBr2SZ8r :rSSSZM2 .i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;r;;;;;;;;
//ii. MM@WWWWMMMM@WMM22XS2BW M0MBa0.     7MM@8SrS2aZ8Z22MM  :iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
//;; ,MMMM@W@@.  MMM, Za2aZ0.Si;:           MMaWMMMMMMMMMMMZ i;;;;iiiii;;;;;;;iiiiiiiii;;;iiiiiiiiiiii
//i: MM8 8@WWWaMMMX  .rZ    ,r7   ;MMMMMMMW  MMX          .MMS27;;rrr;iiiiiiiiir777r;iiiiiiiiiiiiiiiii
//ii MM  WMWMMMM    ,:iM .i;S,  :MMMMMMMMMMM     :MMMMMZ        ZX;;rSaS7;ii;X2r.  ;SX;iiiiiiiiiiiiiii
//i: MMaZM@MM0    ,,::iM; ;X   MMMMMM    MMM  rMMMMMMMMMMMMMMM           XSXS         X;iiiiiiiiiiiiii
//:: MMM@@MMi  .:,::i;;M; 7   MMMM;       MM MMMMMMMMMMMMMMMMMMM.MMMMMS        MMMMM   7i:::i:::::::::
//::  MM@WMM  :i;ii;;rrM  .  MMMM   XMMM  MM MMMM  MMM      WMMMMMMMMMMMMW   MMMMMMMM  i;iiiiiiiiiiiii
//::  MM@MM  i;77rrrrr2MX8  MMMM              WM2  MMM      MMMMMBMMM:MMMMMMMMMM0  MMM  r,,,,,:,,,,,,:
//:::  MMMM ir;rXrrr78MMMM :MMM        ,7ZMM@a::S 8MM.   MMMMMMM  MM    :MMMMMM    MMM  7:::::::::::::
//,,,   MMM2rX77X7X0MMZ7M  MMM0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM   MMM  7   MMMM  :, MMM  r,,,,,,,,,,,,,
//,,,,   MMMMMMMMMMMW  aM  MMM2MMMMMMMMMMMMMMMMMMMMMMMMMMMMB     MMM .r  MMMMM  ;  MMM  Xrr;i:,,,,,,,,
//,,,,,.   SX.;aM7      M  MMM :88i      MMMr   MMMMMMMMM    :i  MMX    7MMMM                :i,,,,,.,
//,..,.,.  B7i:..2M   , ;i @MMM        @MMMM    MMMMM  MMMM      MMX @MMMMMMMMMMMMMMMMMMMMB   .:......
//..,...  MWSX7772WM2    M  MMMMMMMMMMMMMMMa  ,   MMM   MMMM  MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM  :,,,,,,
//......  M2 S7XSr ,BM    M  MMMMMMMMMMMMZ   ::i. 8MMM   MMMMMMMMMMMMMM2       ;20MMMMMMMMMMMZ .......
//...... MMZ7Z22aBS82@M,  @M   MMMMMMMM     :,.,.  MMM    .MMMMMWMMM         .            MMMB  ,.....
//.,,,,. MMMMMMMMMMMMMMMM: MMM           ::,,,,,,  MMM  ,   0MMMMMMM   :::. MMM  .::::   MMMM  ,,,,,,.
//                                                 :MM@       ;MMMMMMM      MMM         MMMMZ         
//                                                               MMMMM      0MMM      SMMMMM          
//       GRPS: Commune For Groups                                 ,MMMa      MMMMX  MMMMMM            
//             vBulletin Add-On Software                           MMMM       MMMMMMMMMMM             
//                             by sabret00the                       MMM         MMMMMMa               
//                                    Copyright 2005                 M                                

// ## Changes Directory so it can accesss vBulletin IF we are outside the forums folder, if not this is not nessary ##
chdir("../");

// ## Set GRPS to rewrite links and images automatically
$rewrite_links TRUE;

?>
Reply With Quote
  #248  
Old 09-28-2006, 01:33 AM
bada_bing's Avatar
bada_bing bada_bing is offline
 
Join Date: Feb 2004
Location: Michigan
Posts: 1,698
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by :Judge:
Awesome Add On!!

I have a few minor issues that I cannot find to fix:

1. Group Leader Avatar - Not showing up, the image path is obviously wrong http://www.mysite.com/forums/http://...?u=1&dateline=

2. Invite PM - The link in the PM to accept an invite is going to mysite.com/groups (it should be) mysite.com/forums/groups

3. Should there be an option to upload a groups photos or random is all it gets?

4. How could I go in to edit my navbits? Would like Forums - Groups - Group Name.

5. No Group Info in Member Profile. I am using a bit of the MySpace profile re-write, is this why I am not getting any group info?

Thanks, other then the above it works great for me so far. Im sure these are simple fixes I just am not finding the correct places to make the edits.
YEs I am having simular issues also with the avator not showing up because it point to /groups instead of /forums/

I also have vbpager installed and the pager link point to /groups/bla/bla/bla

Need to fix this ...
Reply With Quote
  #249  
Old 09-28-2006, 03:20 AM
TheBlackPoet's Avatar
TheBlackPoet TheBlackPoet is offline
 
Join Date: May 2006
Location: Pasadena, Texas, USA
Posts: 577
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

i never could get hacks like this to work on my forum.. it must be something set up in my dbase that prevents it... try try try... no success...
not your fault though...
Reply With Quote
  #250  
Old 09-28-2006, 08:19 AM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by bada_bing
Can you please... You have my info still?
sure thing, i'll do it sometime today.
Reply With Quote
  #251  
Old 09-28-2006, 08:21 AM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by soletrader
I just need to overwrite the functions_grps.php only when upgrading from rc4?
nope, all files. just the functions_grps.php was for a problem with the first RC5 zip i threw up. there at atleast two changed instances in index.php in RC5 i can't recall whatelse.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:48 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.10789 seconds
  • Memory Usage 2,533KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (8)bbcode_php
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (4)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete