vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=111)
-   -   Need help modifiying funtions_online.php and adding entries (https://vborg.vbsupport.ru/showthread.php?t=117103)

BamaStangGuy 05-30-2006 04:44 AM

Need help modifiying funtions_online.php and adding entries
 
Hello,

I am using vBadvanced and wish to modify the online area to show where users are on all of my pages.

My situation is I have the mainpage in root as index.php and the forum above it in /forum/

I have got this to work for two pages but when I had another 3rd if condition it breaks it.

Here is how I have it setup:


PHP Code:

        case 'index':
            if (
$userinfo[location] == '/') {
                
$userinfo['action'] = 'Viewing Home Page';
                
$userinfo['where'] = '<a href="' $userinfo[location] . '">Home Page</a>';
            }
            else {
                
$userinfo['action'] = 'Viewing Forum Home Page';
                
$userinfo['where'] = '<a href="' $vbulletin->options['forumhome'] . '.php' $vbulletin->session->vars['sessionurl_q'] . '">' $vbulletin->options['bbtitle'] . '</a>';
            }
            break;
        case 
'fordtrademark':
            
$userinfo['action'] = 'Firm Faces Suit by Ford for Trademark Violation';
            
$userinfo['where'] = '<a href="http://www.mustangevolution.com/stockton-firm-faces-suit-ford-trademark-violation/">Stockton Firm Faces Suit by Ford for Trademark Violation</a>';
            break;
        case 
'history':
            
$userinfo['action'] = 'Viewing Mustang Specifications Home';
            
$userinfo['where'] = '<a href="http://www.mustangevolution.com/ford-mustang-history-information/">Mustang Specifications Page</a>';
            break;
        case 
'2005intro':
            
$userinfo['action'] = 'Viewing 2005 Mustang Introduction Page';
            
$userinfo['where'] = '<a href="http://www.mustangevolution.com/2005-ford-mustang-history-information/">2005 Mustang Specifications Introduction Page</a>';
            break; 

PHP Code:

    case '/':
    case 
'':
    case 
'cron.php'// this shouldn't occur but just to be sane
    
case $vbulletin->options['forumhome'] . '.php':
        if (
$values['page'] == 'fordtrademark')
        {
            
$userinfo['activity'] = 'fordtrademark';
        }
        if (
$values['page'] == 'history')
        {
            
$userinfo['activity'] = 'history';
        }
        if (
$values['page'] == '2005history')
        {
            
$userinfo['activity'] = '2005intro';
        }
        else
        {
            
$userinfo['activity'] = 'index';
        }
        break; 

With the 2005intro added to the bottom if it makes all the pages not show, but if I remove the 2005intro if conditional and leave the history and fordtrademark those two pages will work.

Hope I was clear enough for you, if not please ask and I will explain further :)

No one has any suggestions on why it is not working?????

If I remove this:
PHP Code:

        if ($values['page'] == '2005history')
        {
            
$userinfo['activity'] = '2005intro';
        } 

The two above it work. If I add that back none of them show up properly

Zachery 05-30-2006 09:58 PM

Hmm, I believe that there is a addon for 3.5 already that allows you to define wol pages.

Paul M 05-30-2006 10:52 PM

Quote:

Originally Posted by BamaStangGuy
Code:

        case '/':
        case '':
        case 'cron.php': // this shouldn't occur but just to be sane
        case $vbulletin->options['forumhome'] . '.php':
                if ($values['page'] == 'fordtrademark')
                {
                        $userinfo['activity'] = 'fordtrademark';
                }
                if ($values['page'] == 'history')
                {
                        $userinfo['activity'] = 'history';
                }
                if ($values['page'] == '2005history')
                {
                        $userinfo['activity'] = '2005intro';
                }
                else
                {
                        $userinfo['activity'] = 'index';
                }

                break;

No one has any suggestions on why it is not working?????

It doesn't work because the logic is screwed, the final bit in bold basically says if the page is '2005history' then set the activity to '2005intro' otherwise, set it to 'index' - irrespective of anything else before it.

BamaStangGuy 05-31-2006 12:36 AM

Quote:

Originally Posted by Paul M
It doesn't work because the logic is screwed, the final bit in bold basically says if the page is '2005history' then set the activity to '2005intro' otherwise, set it to 'index' - irrespective of anything else before it.


Thank you! Is there a way to do what I am trying to do though? If so what is the correct way to do it?

Quote:

Originally Posted by Zachery
Hmm, I believe that there is a addon for 3.5 already that allows you to define wol pages.

I will look around for it

Paul M 05-31-2006 01:39 AM

Quote:

Originally Posted by BamaStangGuy
Thank you! Is there a way to do what I am trying to do though? If so what is the correct way to do it

There is more than one way to do it, I prefer the method below for a small number of variations (some would say it should be done using a few IFELSE's, I hate them and always find them confusing to follow).

If there were more variations I would probably use another switch/case.

PHP Code:

case $vbulletin->options['forumhome'] . '.php':
    
$userinfo['activity'] = 'index';
    if (
$values['page'] == 'history'$userinfo['activity'] = 'history';
    if (
$values['page'] == '2005history'$userinfo['activity'] = '2005intro';
    if (
$values['page'] == 'fordtrademark'$userinfo['activity'] = 'fordtrademark';
    break; 

Btw, the layout is a personal preference for IF's that only perform one action, definitely against vb standards ;)

BamaStangGuy 05-31-2006 03:15 AM

Quote:

Originally Posted by Paul M
There is more than one way to do it, I prefer the method below for a small number of variations (some would say it should be done using a few IFELSE's, I hate them and always find them confusing to follow).

If there were more variations I would probably use another switch/case.

PHP Code:

case $vbulletin->options['forumhome'] . '.php':
    
$userinfo['activity'] = 'index';
    if (
$values['page'] == 'history'$userinfo['activity'] = 'history';
    if (
$values['page'] == '2005history'$userinfo['activity'] = '2005intro';
    if (
$values['page'] == 'fordtrademark'$userinfo['activity'] = 'fordtrademark';
    break; 

Btw, the layout is a personal preference for IF's that only perform one action, definitely against vb standards ;)

Thank you that worked :D


All times are GMT. The time now is 02:18 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.02218 seconds
  • Memory Usage 1,773KB
  • 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
  • (1)bbcode_code_printable
  • (5)bbcode_php_printable
  • (5)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (6)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