I figured out how to do it.
I took the template code from the plugin and created a new template called
extraprofilepage
I then added the this code.
HTML Code:
<form action="profile.php" method="post">
<input type="hidden" name="s" value="{vb:raw session.sessionhash}" />
<input type="hidden" name="do" value="{vb:raw updateextra}" />
<input type="hidden" name="securitytoken" value="{vb:raw bbuserinfo.securitytoken}" />
<h2 class="blockhead">{vb:rawphrase edit_extra_options}</h2>
<div class="blockbody formcontrols">
<h3 class="blocksubhead">{vb:rawphrase extra_options}</h3>
{vb:raw customfields.extra}
</div>
<div class="blockfoot actionbuttons">
<div class="group">
<input type="submit" class="button" value="{vb:rawphrase save_changes}" accesskey="s" />
<input type="reset" class="button" value="{vb:rawphrase reset_fields}" accesskey="r" />
<input type="hidden" name="s" value="{vb:raw session.sessionhash}" />
<input type="hidden" name="securitytoken" value="{vb:raw bbuserinfo.securitytoken}" />
<input type="hidden" name="do" value="updateprofile" />
</div>
</div>
</form>
After that I went to the plugin manager and changed two of the plugins.
Caches Extra Profile Field Page Templates is replaced with this code using the new template name above.
HTML Code:
if (THIS_SCRIPT == 'profile')
{
$cache = array_merge((array)$cache,array(
'extraprofilepage',
'userfield_checkbox_option',
'userfield_radio',
'userfield_radio_option',
'userfield_select',
'userfield_select_multiple',
'userfield_select_option',
'userfield_textarea',
'userfield_textbox',
'userfield_wrapper'
));
}
And this plugin, Creates Extra Profile Field Page is changed to....
HTML Code:
// This is if a user requests ?do=extra it will do start the actions
if ($_REQUEST['do'] == 'extra')
{
// Gets our Extra Page Fields
$customfields = array();
fetch_profilefields(1);
// makes the user cp nav look correct
construct_usercp_nav('extra');
// sets the area discription, feel free to change
$navbits[''] = $vbphrase[edit_extra_options];
// sets template name to be called when the action is performed
//$templatename = 'extraprofilepage';
$templater = vB_Template::create('extraprofilepage');
$page_templater = vB_Template::create('extraprofilepage');
$page_templater->register('customfields', $customfields);
// sets shell template
//$shelltemplatename = 'USERCP_SHELL';
}
// this is so that when a user saves their info it does get saved
if ($_POST['do'] == 'updateextra')
{
$vbulletin->input->clean_array_gpc('p', array(
// custom profile fields
'userfield' => TYPE_ARRAY,
));
// init user data manager
$userdata =& datamanager_init('User', $vbulletin, ERRTYPE_STANDARD);
$userdata->set_existing($vbulletin->userinfo);
// custom profile fields
$userdata->set_userfields($vbulletin->GPC['userfield']);
// save the data
$userdata->save();
}
Works fine now. :up: