vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   confusing myself with these if statments (https://vborg.vbsupport.ru/showthread.php?t=93037)

AN-net 07-28-2005 12:50 AM

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?

Guest190829 07-28-2005 02:42 AM

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.

Paul M 07-28-2005 03:16 AM

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. :)

AN-net 07-28-2005 01:27 PM

ok ty guys, ill talk this to myself today and straighten out so it flows correctly:D


All times are GMT. The time now is 07:54 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.02871 seconds
  • Memory Usage 1,759KB
  • 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
  • (4)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (4)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
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete