The Arcive of vBulletin Modifications Site. |
|
|
#1
|
|||
|
|||
|
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? |
|
#2
|
||||
|
||||
|
You are opening yourself up to a security vulnerabiltiy this way. Its not suggested to use a custom profile field variable in a javascript.
|
|
#3
|
|||
|
|||
|
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...
|
|
#4
|
||||
|
||||
|
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 # |
|
#5
|
|||
|
|||
|
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
}
Code:
if (5000)
{
tempdelay = (5000)
}
else
{
tempdelay = 15000
}
Code:
if ()
{
tempdelay = ()
}
else
{
tempdelay = 15000
}
|
![]() |
|
|
| X vBulletin 3.8.12 by vBS Debug Information | |
|---|---|
|
|
More Information |
|
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|