Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
  #1  
Old 05-17-2006, 05:22 PM
Tralala's Avatar
Tralala Tralala is offline
 
Join Date: Jan 2006
Posts: 1,207
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Conditionals in BB code?

I have a spoiler tag BB code that I really like, it presents a toggle-able button that the reader can click to "show" or "hide."

However, it doesn't work when folks are on mobile browsers.

What I'm wondering is, would it be possible to add some lines to this code so that older or mobile browsers (or, perhaps, just visitors using the mobile skin) would get a more "basic" spoiler code (ie: the kind that simple highlighting reveals text) and everyone else gets the "deluxe" hide/show button?

This is the deluxe code for normal use:
Code:
<div style="margin:5px 20px 20px 20px">
  <div class="smallfont" style="margin-bottom:2px">
   <input type="button" value="Show" style="width:50px;font-size:10px;margin:0px;padding:0px;" onclick="if (this.value=='Show') {this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = '';this.value='Hide';} else {this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display='none'; this.value='Show';}">
  </div>
  <div class="alt2" style="margin: 0px; padding: 6px; border: 1px inset;">
    <div style="display: none;">{param}</div>
  </div>
</div>

...and this is the basic spoiler code I'd want to be used when the user is in the mobile skin, or in some browser other than MSIE, Firefox, Safari, etc.

Code:
<div style="margin:20px; margin-top:5px">
<div class="smallfont">Spoiler: (<i>Highlight this box to reveal the text.</i>)</i></div></font>
	<pre class="alt2" style="margin:0px; padding:$stylevar[cellpadding]px; border:1px inset; width:$stylevar[codeblockwidth]; height:{$blockheight}px; overflow:auto"><div dir="ltr" style="text-align:left;"><table bgcolor=#E1E4F2><tr><td><font color=#E1E4F2>{param}</font></td></tr></table></div></pre>
</div>

So, are conditionals allowed in BB code? How would I do this?
Reply With Quote
  #2  
Old 05-19-2006, 03:07 AM
TruthElixirX's Avatar
TruthElixirX TruthElixirX is offline
 
Join Date: Sep 2004
Location: Oklahoma
Posts: 517
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Honestly, I'm going to need something like this in the near future I believe. I'm wanting to pick up some more actual coding experience. When (IF) I get a chance I might try looking into this. Not promising anything though.
Reply With Quote
  #3  
Old 05-20-2006, 07:19 AM
Logikos Logikos is offline
 
Join Date: Jan 2003
Posts: 2,924
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You could Use PHP to test for the User Agent String...

This link has a good listing of mobile browser id strings.
Reply With Quote
  #4  
Old 05-20-2006, 09:13 AM
Tralala's Avatar
Tralala Tralala is offline
 
Join Date: Jan 2006
Posts: 1,207
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Wow, great link, LiveWire.

Now I just need to learn how to "use PHP to test for the User Agent String."
Reply With Quote
  #5  
Old 05-20-2006, 10:34 AM
Logikos Logikos is offline
 
Join Date: Jan 2003
Posts: 2,924
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

PHP Code:
<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>
Reply With Quote
  #6  
Old 05-26-2006, 01:38 PM
Tralala's Avatar
Tralala Tralala is offline
 
Join Date: Jan 2006
Posts: 1,207
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Still stuck on this, wondering if I could get another assist. Here's the code I tried (and in this case, I've just entered one User Agent String to look for, that of the Sidekick/Hiptop mobile device from Danger.)

PHP Code:
<?php if (strpos($_SERVER[&#8216;HTTP_USER_AGENT’],’hiptop’) === false) { ?>
<div style="margin:5px 20px 20px 20px">
  <div class="smallfont" style="margin-bottom:2px">
   <input type="button" value="Show" style="width:50px;font-size:10px;margin:0px;padding:0px;" onclick="if (this.value=='Show') {this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = '';this.value='Hide';} else {this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display='none'; this.value='Show';}">
  </div>
  <div class="alt2" style="margin: 0px; padding: 6px; border: 1px inset;">
    <div style="display: none;">{param}</div>
  </div>
</div> <?php
}else{?>
<div style="margin:20px; margin-top:5px">
<div class="smallfont">Spoiler: (<i>Highlight this box to reveal the text.</i>)</i></div></font>
    <pre class="alt2" style="margin:0px; padding:$stylevar[cellpadding]px; border:1px inset; width:$stylevar[codeblockwidth]; height:{$blockheight}px; overflow:auto"><div dir="ltr" style="text-align:left;"><table bgcolor=#E1E4F2><tr><td><font color=#E1E4F2>{param}</font></td></tr></table></div></pre>
<?php}?>
When I test this though it ends up showing both styles of spoiler code.
Reply With Quote
Reply

Thread Tools
Display Modes

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 01:30 AM.


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.06757 seconds
  • Memory Usage 2,213KB
  • 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
  • (2)bbcode_code
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (6)post_thanks_box
  • (6)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (6)post_thanks_postbit_info
  • (6)postbit
  • (6)postbit_onlinestatus
  • (6)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