View Single Post
  #7  
Old 01-31-2004, 06:42 AM
g-force2k2 g-force2k2 is offline
 
Join Date: Mar 2002
Location: Everywhere you wanna be..
Posts: 1,608
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by ap0c
I had to add an else to the final check because the registered template wouldnt show up when it was placed under the registered users check

other than that it works perfectly.

Thanks again.

Now to add the post check, which will be harder since it cant be checked by the usergroupid
Actually I updated my code had a spelling error for the variable usergroupid so the error should eval where I had intended it too. If you want to try matching it against the post ipaddress to then you can do.

PHP Code:
if ( $chk $DB_site->query_first "
        SELECT userid, usergroupid
        FROM user 
        LEFT JOIN post USING (userid)
        WHERE user.ipaddress='
$ipaddress' AND post.ipaddress='$ipaddress'" ) ) : 
    if ( 
$chk['usergroupid'] == ) : 
        
// banned error here 
    
elseif ( $chk['usergroupid'] == ) : 
        
// already registered error 
    
elseif ( $chk['usergroupid'] == ) :     
        
$DB_site->query "UPDATE user SET usergroupid=2 WHERE userid=$chk[userid]) ; 
            
// redirect here 
        
endif ; 
elseif ( 
$chk['userid'] ) :
    
// user exists just hasn't posted or current ipaddress doesn't match the posted one?
    
if ( $chk['usergroupid'] == ) :
        
// banned error 
    
elseif ( $chk['usergroupid'] == ) :
        
// already registered, but haven't posted? error
    
elseif ( $chk['usergroupid'] == ) :
        
$DB_site->query "UPDATE user SET usergroupid=2 WHERE userid=$chk[userid]) ; 
            
// redirect here 
        
endif ; 
else :
    
// failed check perhaps current ipaddres isn't the one they registered with?
    // don't know if vb3 updates ipaddress field with each visit so... check to see if user actually exists!
    
if( !$chk2 $DB_site->query_first "SELECT usergroupid FROM user WHERE userid=$bbuserinfo[userid]) ) :
        
// user isn't registered
        // register redirect or need to register error?
    
else :
        
// user exists ipaddress field is invalid perhaps update now?
        
if ( $chk2['usergroupid'] == ) :
            
// already registered error 
        
elseif ( $chk2['usergroupid'] == ) :
            
// banned error
        
elseif ( $chk2['usergroupid'] == ) :
            
// update from viewed usergroup to one that can post.
            
$DB_site->query "UPDATE user SET usergroupid=2 WHERE userid=$chk[userid]) ; 
                
// redirect here 
        
endif ;
    endif ;
endif ; 
There's alot to think about when using such code, then again I would probably do it an entirely different way. Hope this gives you some ideas.

Cheers,
g-force2k2
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01236 seconds
  • Memory Usage 1,794KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • showpost_complete