The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
Getting URL out of submission code
In another thread there has been some discussion of creating a style chooser dropdown that actually updates the member's profile details.
We have achieved that part of it ok. It works like the existing style chooser, from a drop down list that then refreshes the page. That works fine, but I would *also* like to get a URL equivalent to the dropdown that achieves the same thing. This will be for use in the postbit where I have an entry showing people's style as a clickable link. The submit code being used in the php file is this: Code:
if ($_POST['do'] == 'updateoptions') { if ($show['member']){ $vbulletin->input->clean_array_gpc('p', array('newstyleset' => TYPE_INT)); $userdata =& datamanager_init('User', $vbulletin, ERRTYPE_STANDARD); $userdata->set_existing($vbulletin->userinfo); // style set if ($vbulletin->options['allowchangestyles'] AND $vbulletin->userinfo['realstyleid'] != $vbulletin->GPC['newstyleset']) { $userdata->set('styleid', $vbulletin->GPC['newstyleset']); } ($hook = vBulletinHook::fetch_hook('profile_updateoptions')) ? eval($hook) : false; $userdata->save(); } else { exec_header_redirect("../index.php?"); } } Code:
<input type="hidden" name="s" value="" /> <input type="hidden" name="do" value="updateoptions" /> <input type="hidden" name="securitytoken" value="$bbuserinfo[securitytoken]" /> <select class="forumselector" name="newstyleset" id="sel_newstyleset" onchange="this.form.submit()";> <optgroup label="$vbphrase[quick_style_chooser]"> $quickchooserbits </optgroup> </select> |
#2
|
||||
|
||||
I don't believe you will be able to use the form in the postbit - or at least not for moderators or admins. You can't have a form within a form and for mods and admins, all the posts are located within a form for use in the Moderation dropdown at the bottom of the page. I suppose you could put a condition and if it's a mod/admin, you can have a link to go to another page which has the form.
|
#3
|
|||
|
|||
Ah, I never thought of that. Thanks Lynne.
Do you know the URL format anyway? As I could also use it on THIS page which lists all my styles in thumbnail form. A link or button below each one is what I'd like. No forms on this page, it's just generated with static html. |
#4
|
||||
|
||||
I'm not sure I completely understand what you want. You just want to get the current page url so you can add the styleid=x to the end of it to get the style to change? Google gives me this - PHP: How to Get the Current Page URL
|
#5
|
|||
|
|||
Well, I sort of want a URL (or a button) that people could click to submit the form.
For this one I was thinking along the lines of a URL like: Code:
myprofile.php?do=updateoptions&newstyleset=114 Failing that, I've been trying to convert the dropdown in the submission form into a button, but no joy there either! |
#6
|
||||
|
||||
Well, you realize that doing it via a link is a GET, not a POST, right?
|
#7
|
|||
|
|||
To be honest, no...I'm a bit out of what I'm comfortable with here.
I'm quite willing to accept it's not actually possible to this. Alternatively I could modify the "myprofile" file that's used here and call it myprofile2 or something. But a button would do just as well as a link...that would still be a POST presumably? But I'm struggling to make that work. It seems to load the page and redirect ok, but doesn't actually change the style. |
#8
|
||||
|
||||
If you have a form, and you set the do parameter in the form (<input type="hidden" name="do" value="updateoptions" /> ), then using "if ($_POST['do'] == 'updateoptions')" would be appropriate. However, if you are sending the do variable ONLY via the url - myprofile.php?do=updateoptions&newstyleset=114 - then $_POST['do'] is not valid, you must change that line to use $_GET['do']. If using a button, as per the template you posted, then the condition using $_POST['do'] is valid.
|
#9
|
|||
|
|||
Thanks Lynne, that's sorted it, I have managed to do it using buttons.
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|