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

Reply
 
Thread Tools Display Modes
  #1  
Old 07-28-2005, 12:50 AM
AN-net's Avatar
AN-net AN-net is offline
 
Join Date: Dec 2003
Location: AnimationTalk.com
Posts: 2,367
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default confusing myself with these if statments

ok if the user has set buddies and the user can not view the journal as of yet it will continue into this if statement but my question is:
what if the user has set buddies to view but $view is false will continue to the whocanview check or will it stop at buddies check because we have fulfilled the requirement?

PHP Code:
if($entry['journal_private'])
                {
                    if(
$bbuserinfo['userid'] != 0)
                    {
                        if((
$bbuserinfo['userid'] == $entry['journalist_id']) OR ($bbuserinfo['usergroupid']==6))
                        {
                            
$view_journaltrue;
                        }
                        elseif(
$entry['journal_allowbuddies'] == AND !$view)
                        {
                            if(isset(
$entry['jbuddylist']))
                            {
                                
$buddiesexplode(' '$entry['jbuddylist']);
                                if(
in_array($bbuserinfo['userid'], $buddies))
                                {
                                    
$view_journaltrue;
                                }
                                else
                                {
                                    
$view_journalfalse;
                                }
                            }
                        }
                        elseif(isset(
$entry['journal_whocanview']) AND !$view)
                        {
                            
$wcvexplode(','$entry['journal_whocanview']);
                            if(
in_array($bbuserinfo['userid'], $wcv))
                            {
                                
$view_journaltrue;
                                
$isbuddytrue;
                            }
                        }
                        else
                        {
                            
$view_journalfalse;
                        }
                    }
                    else
                    {
                        
$view_journalfalse;
                    }
                } 
also is there maybe another way i can check all of this stuff without these killer if statements?
Reply With Quote
  #2  
Old 07-28-2005, 02:42 AM
Guest190829
Guest
 
Posts: n/a
Default

Well if you want it to continue, despite the previous elseif being true, then you'd replace the elseif with an if statement. If you don't leave it as elseif.
Reply With Quote
  #3  
Old 07-28-2005, 03:16 AM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Try ;

PHP Code:
if($entry['journal_private']) 

    
$view_journalfalse
    if(
$bbuserinfo['userid']) 
    { 
        if((
$bbuserinfo['userid'] == $entry['journalist_id']) OR ($bbuserinfo['usergroupid']==6)) 
        { 
            
$view_journaltrue
        } 
        elseif(!
$view
        {
            if(
$entry['journal_allowbuddies'] == AND isset($entry['jbuddylist'])) 
            { 
                
$buddiesexplode(' '$entry['jbuddylist']); 
                if(
in_array($bbuserinfo['userid'], $buddies)) 
                { 
                    
$view_journaltrue
                } 
            } 
            elseif(isset(
$entry['journal_whocanview'])) 
            { 
                
$wcvexplode(','$entry['journal_whocanview']); 
                if(
in_array($bbuserinfo['userid'], $wcv)) 
                { 
                    
$view_journaltrue
                    
$isbuddytrue
                } 
            } 
        }
    } 

It should do the same. Ignore the space at the start of line 1 - the forum seems to be adding that.

AFAIK;

PHP Code:
if 
{
    
//code here//
}
elseif 
{
    
//other code here//

is just a short version of

PHP Code:
if 
{
    
//code here//
}
else
{
    if
    {
        
//other code here//
    
}

It's usually easier to follow them if you remember this.
Reply With Quote
  #4  
Old 07-28-2005, 01:27 PM
AN-net's Avatar
AN-net AN-net is offline
 
Join Date: Dec 2003
Location: AnimationTalk.com
Posts: 2,367
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ok ty guys, ill talk this to myself today and straighten out so it flows correctly
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 12:44 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.24111 seconds
  • Memory Usage 2,220KB
  • 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
  • (4)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (4)postbit
  • (3)postbit_onlinestatus
  • (4)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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete