Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 07-17-2015, 05:43 AM
Skyrider Skyrider is offline
 
Join Date: Feb 2006
Location: Netherlands
Posts: 1,392
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default PHP / Variable replace numbers with letters

I have a variable named "{vb:raw $steam_info['communityvisibilitystate']}" which is setup as a tab in the members profile. (template, not php)

https://vborg.vbsupport.ru/showthread.php?t=265971

It works great, but it shows up the result '3', rather than a word. In another plugin, I'm using this:

PHP Code:
$visiblestate_words = array(=> "<span style='color: #137500;'>Public</span>"=> "<span style='color: #FF0000;'>Private</span>"=> "<span style='color: #FF0000;'>Friends Only</span>"=> "<span style='color: #137500;'>Public</span>");
$html '<br/>Profile Status: '.$visiblestate_words[$steam_info['communityvisibilitystate']];
    
$post['steamicon'] .= $html;


To replace the 3 with a word inside the legacy template with the variable "{vb:raw post.steamicon}". Which is actually working great but the above plugin and the variable in the last line only works in posts seeing it uses $post. Would be great if someone could pinpoint me to the right direction how to make it work inside eg, profiles, tabs, etc.
Reply With Quote
  #2  
Old 07-17-2015, 06:22 PM
squidsk's Avatar
squidsk squidsk is offline
 
Join Date: Nov 2010
Posts: 969
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You aren't accessing the word array. The variable you're referring to is $steam_info['communityvisibilitystate'], which is just the state. You actually want to get the corresponding "word" you've associated with the state, specifically $visiblestate_words[$steam_info['communityvisibilitystate']]
Reply With Quote
  #3  
Old 07-17-2015, 07:43 PM
Skyrider Skyrider is offline
 
Join Date: Feb 2006
Location: Netherlands
Posts: 1,392
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for the reply, appreciate it!

So, in the template I would be using: {vb:raw $visiblestate_words[$steam_info['communityvisibilitystate']]}

So I assume, in the php code:
PHP Code:
$visiblestate_words = array(=> "<span style='color: #137500;'>Public</span>"=> "<span style='color: #FF0000;'>Private</span>"=> "<span style='color: #FF0000;'>Friends Only</span>"=> "<span style='color: #137500;'>Public</span>");
$html '<br/>Profile Status: '.$visiblestate_words[$steam_info['communityvisibilitystate']]; 
Would be enough? As with this combination, doesn't appear to work. Unless I'm doing something wrong.

I didn't include:
PHP Code:
    $post['steamicon'] .= $html
After the array (like in my first post) as I doubt they are being used for this array. I can't believe that I missed:

PHP Code:
$visiblestate_words[$steam_info['communityvisibilitystate']] 
in the PHP code, which was the answer for the template code. But as mentioned above, doesn't appear to work (shows nothing on the page when I use it in the template)

if I print_r the $visiblestate_words[$steam_info['communityvisibilitystate']] code, it's working properly (shows green public at the top).. just need to find a way to add this into the template itself.

EDIT:

If you could give a full example in both template & PHP that work together, would be helpful. I've tried different methods and combinations, can't get it to work. Merely need something that finds template variable made in PHP that functions to search and replace.. that's about it.

--------------- Added [DATE]1437205236[/DATE] at [TIME]1437205236[/TIME] ---------------

To make it 'simple', as I really need some help..

I have an existing variable $steam_info['communityvisibilitystate'] that I use within templates. which gives either 1,2, or 3 as a result. I merely and simply need an array to replace 1, 2, or 3 with something else.. that's it.
Reply With Quote
  #4  
Old 07-21-2015, 12:57 PM
Skyrider Skyrider is offline
 
Join Date: Feb 2006
Location: Netherlands
Posts: 1,392
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Anyone?
Reply With Quote
  #5  
Old 08-11-2015, 04:10 PM
Skyrider Skyrider is offline
 
Join Date: Feb 2006
Location: Netherlands
Posts: 1,392
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I found the answer myself after a long time.. I'm replying here, so hopefully others might find it helpful.

I used "$steam_info['communityvisibilitystate']" to get the info I need, but it came in numbers as you guys are well aware of.

So, I've changed the code into:

Code:
<vb:if condition="$steam_info['communityvisibilitystate']==1"><font color="red"><b><i>Private</i></b></font></vb:if>
To replace the 1 number to a letter or word, in this case.. private, in bold with red font.. Easy as pie.
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:27 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.09494 seconds
  • Memory Usage 2,214KB
  • Queries Executed 13 (?)
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
  • (1)bbcode_code
  • (4)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)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_postinfo_query
  • fetch_postinfo
  • 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