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

Reply
 
Thread Tools Display Modes
  #1  
Old 10-20-2005, 10:40 PM
aciurczak aciurczak is offline
 
Join Date: Jun 2005
Posts: 154
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Using value in a Custom Profile field in a javascript

I would like to use a setting in a custom profile field to affect the behavior of a javascript. I am now calling the javascript from a vbulletin template, passing a variable defined in the template to call the script.

All I need to figure out is how to equate that variable to "fieldX" for the logged in user (or a default if nobody is logged in). Are there any hints or FAQ's I've missed that could get me moving in the right direction?
Reply With Quote
  #2  
Old 10-20-2005, 11:07 PM
Reeve of shinra's Avatar
Reeve of shinra Reeve of shinra is offline
 
Join Date: Oct 2001
Location: NYC
Posts: 1,896
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You are opening yourself up to a security vulnerabiltiy this way. Its not suggested to use a custom profile field variable in a javascript.
Reply With Quote
  #3  
Old 10-20-2005, 11:11 PM
aciurczak aciurczak is offline
 
Join Date: Jun 2005
Posts: 154
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That's too bad; it would have been very useful. The script cycles images on the forum header, and I wanted to give users the option on how long a delay between cycles. Is there any safer or recommended way to accomplish something like this? Thanks for the quick reply...
Reply With Quote
  #4  
Old 10-20-2005, 11:22 PM
Reeve of shinra's Avatar
Reeve of shinra Reeve of shinra is offline
 
Join Date: Oct 2001
Location: NYC
Posts: 1,896
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well you might be able to use a drop down box type profile field since you can could use different preset intervals. I think that would be okay.

It may be a little trickier for you however since I think each drop down is given a numerical value starting at 0. So if your presets were

5 seconds = value in db 0
10 seconds = value in db 1

The variable you will want to use is (I think) $bbuserinfo[fieldx] where x is the custom field #
Reply With Quote
  #5  
Old 10-20-2005, 11:57 PM
aciurczak aciurczak is offline
 
Join Date: Jun 2005
Posts: 154
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I spoke too soon, unfortunately, it only works if that field exists. If a user is not logged in, it doesn't exist, and the browser returns a javascript error. I've tried a number of fixes including trying to parse it as a string, trying to use the isNaN function if it isn't a number, but no luck so far. If anyone has stronger skills than I and sees what I'm doing wrong, I'd be really appreciative. Here is the javascript code in my vbulletin header template:

Code:
if ($bbuserinfo[field33])
{
tempdelay = ($bbuserinfo[field33])
}
else
{
tempdelay = 15000
}
With a logged-in user, this works great, and here is the source returned on a browser:

Code:
if (5000)
{
tempdelay = (5000)
}
else
{
tempdelay = 15000
}
However, when I bring up the page with a non-logged in user, there is a javascript error and the source returned from the browser is:

Code:
if ()
{
tempdelay = ()
}
else
{
tempdelay = 15000
}
There is a javascript error, tempdelay is not set, and the rest of the script fails. I just can't seem to deal with a variable that doesn't exist. Is there something like an isexisting("x") function that will accurately retun something if it is fed isexisting() ?
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 11:50 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.13359 seconds
  • Memory Usage 2,197KB
  • 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
  • (3)bbcode_code
  • (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