Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Full Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Details »»

Version: , by merk merk is offline
Developer Last Online: Mar 2012 Show Printable Version Email this Page

Version: Unknown Rating:
Released: 09-18-2001 Last Update: Never Installs: 9
 
No support by the author.

Purpose: I run many many forums(120+ including subcatagories) so i needed a more efficient way of controlling access masks(there is an infinite combination of usergroups if i was to use that method.)

So set about creating a better system.

For an example, view the attachment. (default setting=green, yes=red, no=blue).

Installation:

First, you need to open up adminfunctions.php in the /admin/ directory and add (just before the ?>)

PHP Code:
// ###################### Start makeoptioncode #######################
function makeoptioncode ($value="",$description$selected=""$color="green") {
// similar to makeinputcode, only for a text area

  
echo "\n<OPTION value=\"$value\" $selected style=\"color:$color\">$description</option>";

Then go into user.php in the /admin/ directory
Go to ~~ 358 and find
PHP Code:
// ###################### Start Edit Access #######################

/*if ($action=="editaccess") { 
Delete everything from that point to
PHP Code:
  doformfooter("Save Changes");

(Thats just the edit access bit, nothing else!)

Then, put where that was
PHP Code:
// ###################### Start accessmasks function #######################
function accessmasks($parentid=-1) {
  global 
$DB_site$userid$forumid;
  
$forums=$DB_site->query("SELECT forumid,title,displayorder FROM forum WHERE parentid=$parentid ORDER BY displayorder");
  while (
$forum=$DB_site->fetch_array($forums)) {
  
$accesslist=$DB_site->query_first("SELECT * FROM access WHERE userid='$userid' AND forumid='$forum[forumid]'");
    if ( 
is_array($accesslist) )
    {if (
$accesslist['accessmask']==0)
      {
$sel 0$tempcolour="blue";}
      elseif (
$accesslist['accessmask']==1)
      {
$sel 1$tempcolour="red";}
      else {
$sel = -1$tempcolour="green";}}
    else
    {
$sel = -1$tempcolour="green";}
    echo 
"<li><div style=\"color:$tempcolour\"><b>$forum[title]</b>";
    echo 
" > > > <SELECT name=\"accessupdate[".$forum['forumid']."]\" style=\"font-size: 7pt; background-color: #dfdfdf; font-family: Arial, Tahoma;\" maxlength=\"20\">";
    
makeoptioncode(1,"Yes",iif($sel==1,"selected",""),"red");
    
makeoptioncode(0,"No",iif($sel==0,"selected",""),"blue");
    
makeoptioncode(-1,"Default",iif($sel==-1,"selected",""),"green");
    echo 
"</select></div>\n\n";
    echo 
"<input type=\"hidden\" name=\"oldcache[".$forum['forumid']."]\" value=\"$sel\">";
    echo 
"<ul>";
    
accessmasks($forum[forumid]);
    echo 
"</ul>\n";
    echo 
"</li>\n";
  }}

// ###################### Start modify #######################
if ($action=="editaccess") {
  
$user=$DB_site->query_first("SELECT username FROM user WHERE userid='$userid'");
  
doformheader("user","updateaccess",0,0);
  
makehiddencode("userid","$userid");
  echo 
"<div align=center><h3>User Forum Access for <i>$user[username]</i></h3></div>";
  echo 
"<tr class='firstalt'><td colspan=2><p>Here you may edit forum access on a user-by-user basis.
  <BR>Selecting \"yes\" will allow this user access to the forum. Selecting \"no\" will deny this user access to the forum. Any changes made to this user's account will override the default permission settings in their usergroup.
  <br><br>Selecting \"default\" will revert this user to the default permissions settings for their usergroup.
  <BR><br>(Please note that the permission inheritance system still works here)
  <br><br>(Ensure that you have access masks enabled before attempting to use these!)</p></td></tr>\n"
;
  echo 
"<br>";
  echo 
"<ul>\n";
  
accessmasks(-1);
  echo 
"</ul>\n";
  
doformfooter("Save Changes");

Thats it!

PS. Devlopers / Moderators - i wasnt sure if i copied and
pasted too much code in the above, well actually i rewrote most
of it, but based on your principles in the modify forums section. If
its too much, please feel free to delete it, but because i didnt
know...!


Demo Screenshot attached

Show Your Support

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

Comments
  #12  
Old 09-20-2001, 06:10 PM
DarkReaper DarkReaper is offline
 
Join Date: Oct 2001
Posts: 429
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'd be happy to help you with it. Check your PMs for my email(I get enough SirCam email already, don't want to post it publically ).
Reply With Quote
  #13  
Old 09-20-2001, 09:59 PM
Martz's Avatar
Martz Martz is offline
 
Join Date: Oct 2001
Location: UK
Posts: 156
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Another excellent hack, I like it - thanks for sharing I wonder if a Usergroup version of this one could be made? Another vB admin nightmare out of the way
Reply With Quote
  #14  
Old 09-20-2001, 10:13 PM
merk merk is offline
 
Join Date: Nov 2001
Location: Canberra, Australia
Posts: 601
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by Martz
Another excellent hack, I like it - thanks for sharing I wonder if a Usergroup version of this one could be made? Another vB admin nightmare out of the way
Im not sure what use this would be for 'usergroups'.

If by chance you mean 'Modify Forums' with that massive list of usergroups for each forum, im already working on that one, well i actually started it before

All ive basically done, is make all of the sublists foldable trees. You might have seen this somewhere, for example, press F1.

IE Required, but i was thinking of making it alot more simple, as in have the first five letters of each usergroup, and have them all on one line.

Having 120+ forums with 12 usergroups....

I hope thats what you mean?
Reply With Quote
  #15  
Old 09-20-2001, 11:30 PM
DarkReaper DarkReaper is offline
 
Join Date: Oct 2001
Posts: 429
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This is a great hack, but I think I use stuff like this for usergroups in general more than I do for specific users

So, I'd love that one to be made
Reply With Quote
  #16  
Old 09-22-2001, 03:08 PM
Martz's Avatar
Martz Martz is offline
 
Join Date: Oct 2001
Location: UK
Posts: 156
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by merk


Im not sure what use this would be for 'usergroups'.

If by chance you mean 'Modify Forums' with that massive list of usergroups for each forum, im already working on that one, well i actually started it before

Having 120+ forums with 12 usergroups....
Yep, Modify Forums is the one I was thinking of - its a nightmare at the moment when I add a new usergroup it has default permissions on existing private forums, so I gotta go through them all and set them Time consuming processes, and takes a lot longer each time a new forum or group is added :/

Anyway, if I could change the usergroups either in the same way as above, or many at once (current takes about 10 or more clicks for usergroup, per forum) I would be a lot happier!
Reply With Quote
  #17  
Old 09-22-2001, 10:16 PM
the_sisko's Avatar
the_sisko the_sisko is offline
 
Join Date: Oct 2001
Location: Hamburg,Germany
Posts: 132
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Good job!

5 minutes and it was in my admin cp! Its much more easy now to config the accessmarks..! THANKS
Reply With Quote
  #18  
Old 09-23-2001, 12:07 AM
merk merk is offline
 
Join Date: Nov 2001
Location: Canberra, Australia
Posts: 601
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by Martz


Yep, Modify Forums is the one I was thinking of - its a nightmare at the moment when I add a new usergroup it has default permissions on existing private forums, so I gotta go through them all and set them Time consuming processes, and takes a lot longer each time a new forum or group is added :/

Anyway, if I could change the usergroups either in the same way as above, or many at once (current takes about 10 or more clicks for usergroup, per forum) I would be a lot happier!
Yep, once ive finished the style hack, ill work on this one.

At the moment, i have a smart folding tree for it, which can be found at www.dynamicdrive.com , took a bit to get it to work, but im going to change the system.

Going thru every forum it a nightmare! (im still thinking about a new method i can make)
Reply With Quote
  #19  
Old 09-23-2001, 12:09 AM
merk merk is offline
 
Join Date: Nov 2001
Location: Canberra, Australia
Posts: 601
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by The_Sisko
Good job!

5 minutes and it was in my admin cp! Its much more easy now to config the accessmarks..! THANKS
No Problems!

Good to see another satasified customer!
Reply With Quote
  #20  
Old 09-23-2001, 12:12 AM
DarkReaper DarkReaper is offline
 
Join Date: Oct 2001
Posts: 429
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Customer, lol. Check your email
Reply With Quote
  #21  
Old 09-23-2001, 12:22 AM
merk merk is offline
 
Join Date: Nov 2001
Location: Canberra, Australia
Posts: 601
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I checked my email about 3 seconds before you emailed me, and closed it again :O

Lucky i was still browsing around here
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 10:25 PM.


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.09801 seconds
  • Memory Usage 2,340KB
  • 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
  • (4)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
  • (2)pagenav_pagelink
  • (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