vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   how is this simply done ? (https://vborg.vbsupport.ru/showthread.php?t=42697)

Vinney 08-24-2002 04:19 PM

how is this simply done ?
 
hi,

how do i restrict a php to only a certain user group can use it, and others get a custom error message ( using a template ) ?

there group i want to only access this is:

usergroupid=2

could anyone help me please ?

thanks for your time

g-force2k2 08-24-2002 05:19 PM

this is how you do it Vinney ;)

PHP Code:

if($bbuserinfo[usergroupid] != 2) {
  eval(
"standarderror(\"".gettemplate(" [ template name here ] ")."\");");


then create a new template:

and place the error message in the template call the template whatever you want (ie. error_restricted)

if you call it error_restricted then you must change eval the error template accordingly...

ie:

PHP Code:

if($bbuserinfo[usergroupid] != 2) {
  eval(
"standarderror(\"".gettemplate("error_restricted ")."\");");


hope that helps again man :) regards...

g-force2k2

g-force2k2 08-24-2002 05:20 PM

btw Vinney just place the first coding under the:

PHP Code:

require('./global.php'); 

regards...

g-force2k2

Vinney 08-24-2002 05:25 PM

this is what i've got so far ... it works.

<?php
error_reporting(7);
include ("../../mainfile.php");
$index = 1;
global $Pmenu,$breadcrumb;
$Pmenu="";
$breadcrumb="Account Activation";
$defaultmessage = "Your message here... \n\n - $bbuserinfo[username]";
$defaultemail = "$bbuserinfo[email]";
getvbpvars();
include("header.php");
//OpenTable();
if (!$bbuserinfo[userid] || $bbuserinfo[usergroupid]==1 || $bbuserinfo[usergroupid]==3 || $bbuserinfo[usergroupid]==11) {
eval("dooutput(\"".gettemplate('contact_error')."\ ");");
} else {
eval("dooutput(\"".gettemplate('contact')."\");");
}
//CloseTable();
include("footer.php");
?>

whats the difference between what i have done and what your saying ?

does yours mean :

if userid equals 2, get error template ... or does yours mean, if userid equals 2, continue ?

g-force2k2 08-24-2002 05:35 PM

Vinny find this code:

PHP Code:

error_reporting 

put under it:

PHP Code:

require('./global.php'); 

because $bbuserinfo won't work with out that code and alot of oter things as well...

then under that add my code...

all my code states is that if the user trying to access the script isn't in the usergroupid 2 then they will recieve the error ;) regards hope that helps...

g-force2k2

Vinney 08-24-2002 05:37 PM

and .... sorry ( am a newbie - am just trying to get my head around this )

1.

using your example, how would allow multiple usergroups ?

--------------------------------

2.

in my example there is a line :

if (!$bbuserinfo[userid] || $bbuserinfo[usergroupid]==1 || $bbuserinfo[usergroupid]==3 || $bbuserinfo[usergroupid]==11) {

what is the significance of - if (!$bbuserinfo[userid] being there ? is that needed ?

thanks again.

Vinney 08-24-2002 05:40 PM

Quote:

Originally posted by g-force2k2


because $bbuserinfo won't work with out that code and alot of oter things as well...



g-force2k2


my example does work.

my require('./global.php'); is in the mainfile.php, that isn't an issue.

g-force2k2 08-24-2002 05:42 PM

hey np Vinney thats why im here to help :p

what do you mean allow multiple usergroups?

if you want the script restricted to just usergroupid 2 then replace:

PHP Code:

if (!$bbuserinfo[userid] || $bbuserinfo[usergroupid]==|| $bbuserinfo[usergroupid]==|| $bbuserinfo[usergroupid]==11) { 

with:

PHP Code:

if($bbuserinfo[usergroupid] != 2) { 

that do the same exact effect as yours above except you don't have to keep defining it (that is is you're restricting access solely to usergroupid 2)

as for the

PHP Code:

!$bbuserinfo[userid

that just states if the viewer has no user id ;) regards...

g-force2k2

g-force2k2 08-24-2002 05:43 PM

Quote:

Originally posted by Vinney



my example does work.

my require('./global.php'); is in the mainfile.php, that isn't an issue.

okay Vinney my bad :p didn't kow that it was included in that file ;) just going by what i see :)

g-force2k

Vinney 08-24-2002 05:46 PM

ok

this works too :

<?php
error_reporting(7);
include ("../../mainfile.php");
$index = 1;
global $Pmenu,$breadcrumb;
$Pmenu="";
$breadcrumb="Account Activation";
$defaultmessage = "Your message here... \n\n - $bbuserinfo[username]";
$defaultemail = "$bbuserinfo[email]";
getvbpvars();
include("header.php");
//OpenTable();
if (!$bbuserinfo[usergroupid]==1 || $bbuserinfo[usergroupid]==3 || $bbuserinfo[usergroupid]==11) {
eval("dooutput(\"".gettemplate('contact_error')."\ ");");
} else {
eval("dooutput(\"".gettemplate('contact')."\");");
}
//CloseTable();
include("footer.php");
?>


All times are GMT. The time now is 01:41 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.01061 seconds
  • Memory Usage 1,751KB
  • 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
  • (8)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