Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #11  
Old 03-12-2007, 05:47 AM
TECK's Avatar
TECK TECK is offline
 
Join Date: Nov 2001
Location: Canada
Posts: 4,182
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi JorgeX,

The function defines a boolean condition (true/false), based on the string you input.
Then, you simply use that condition into your templates.
You can use arbitrary IP values, as described in the above script comments.

The script has a failsafe feature. If for some reason you use something like:
$allowediplist = '';
check_allowed_ip($allowediplist);

the script will not execute any code. I made this thinking that someone might add a vbulletin option and leave it emply by default. In this way the function will not burden the server with un-needed executed code.
Reply With Quote
  #12  
Old 03-12-2007, 05:23 PM
bigdog829 bigdog829 is offline
 
Join Date: Apr 2005
Location: Michigan
Posts: 113
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Gray Matter View Post
Try:

Code:
<if condition="$bbuserinfo[ipaddress] == 'xxx.xxx.xxx.xxx'">

</if>
No that didnt work thanks for the effort any other ideas ?
Reply With Quote
  #13  
Old 03-14-2007, 12:35 AM
TECK's Avatar
TECK TECK is offline
 
Join Date: Nov 2001
Location: Canada
Posts: 4,182
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You cannot do it with a simple conditional, you need to go the hacker way, that's why you are here at vb.org site.
Here, simple like Bonjour.

Code:
/** 
* Checks to see if the IP address of the visiting user is allowed and performs a redirect 
* 
* @param	string	String of allowed IP's 
*/ 
function check_allowed_ip($iplist = '')
{
	global $vbulletin;

	if (empty($iplist))
	{
		return;
	}

	$user_ipaddress = IPADDRESS . '.';
	$addresses = preg_split('#\s+#', $iplist, -1, PREG_SPLIT_NO_EMPTY);
	foreach ($addresses AS $allowed_ip)
	{
		if (strpos($allowed_ip, '*') === false AND $allowed_ip{strlen($allowed_ip) - 1} != '.')
		{
			$allowed_ip .= '.';
		}

		$allowed_ip_regex = str_replace('\*', '(.*)', preg_quote($allowed_ip, '#'));
		// choose where you want to redirect the non-allowed member
		$vbulletin->url = 'forumdisplay.php?' . $vbulletin->session->vars['sessionurl'];
		if (preg_match('#^' . $allowed_ip_regex . '#U', $user_ipaddress))
		{
			// choose where you want to redirect the allowed member
			$vbulletin->url = $vbulletin->options['forumhome'] . '.php?' . $vbulletin->session->vars['sessionurl'];
		}
		eval(print_standard_redirect('redirect_updatethanks'));
	}
}

// separate allowed IP's by a space, you could define a vB option for that 
$allowediplist = '127.0.0.* 127.1.1.53'; 
check_allowed_ip($allowediplist);
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 02:25 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.03912 seconds
  • Memory Usage 2,184KB
  • Queries Executed 11 (?)
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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_code
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)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