evenmonkeys
12-06-2006, 07:39 PM
It worked on vBulletin 3.5.4, but it's not working in 3.6.x anymore. :surprised:
Basically, I'm trying to port my modification of having your profile in your UserCP home to the newer version of vBulletin. However, the custom profile fields aren't playing very well.
The weird part, to me at least, is that it's displaying the user information corrently. However, it's not displaying the actual titles of the fields. In the last series of vBulletin, it used titles. Now it uses phrases. That's where I jump off.
Here's what I'm using. Doesn't show titles. Does show the user's info.// ****************************************
// CUSTOM PROFILE FIELDS
$profilefields = $db->query_read_slave("
SELECT profilefieldid, required, type, data, def, height
FROM " . TABLE_PREFIX . "profilefield
WHERE form = 0 " . iif(!($permissions['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canseehiddencustomfields']), "
AND hidden = 0") . "
ORDER BY displayorder
");
$search = array(
'#(\r\n|\n|\r)#',
'#(<br />){3,}#',
);
$replace = array(
'<br />',
'<br /><br />',
);
$customfields = '';
while ($profilefield = $db->fetch_array($profilefields))
{
exec_switch_bg();
$profilefieldname = "field$profilefield[profilefieldid]";
$profilefield['title'] = $vbphrase[$profilefieldname . '_title'];
if ($profilefield['type'] == 'checkbox' OR $profilefield['type'] == 'select_multiple')
{
$data = unserialize($profilefield['data']);
foreach ($data AS $key => $val)
{
if ($vbulletin->userinfo["$profilefieldname"] & pow(2, $key))
{
$profilefield['value'] .= iif($profilefield['value'], ', ') . $val;
}
}
}
else if ($profilefield['type'] == 'textarea')
{
$profilefield['value'] = preg_replace($search, $replace, trim($vbulletin->userinfo["$profilefieldname"]));
}
else
{
$profilefield['value'] = $vbulletin->userinfo["$profilefieldname"];
}
($hook = vBulletinHook::fetch_hook('member_customfields')) ? eval($hook) : false;
if ($profilefield['value'] != '')
{
$show['extrainfo'] = true;
eval('$customfields .= "' . fetch_template('memberinfo_customfields') . '";');
}
}
If someone could help me, I'd really appreciate it.
Edit: I attached an image as well. This is of the 3.5.4 version when everything was working. I just took out my information. This is what I'm referring to though to give an idea as to what I'm actually doing.
I also made a test account on my website if you want to get a feel for the non-working version.
User: test
Pass: test
http://forums.xinnyburt.com
http://forums.xinnyburt.com/usercp.php
Basically, I'm trying to port my modification of having your profile in your UserCP home to the newer version of vBulletin. However, the custom profile fields aren't playing very well.
The weird part, to me at least, is that it's displaying the user information corrently. However, it's not displaying the actual titles of the fields. In the last series of vBulletin, it used titles. Now it uses phrases. That's where I jump off.
Here's what I'm using. Doesn't show titles. Does show the user's info.// ****************************************
// CUSTOM PROFILE FIELDS
$profilefields = $db->query_read_slave("
SELECT profilefieldid, required, type, data, def, height
FROM " . TABLE_PREFIX . "profilefield
WHERE form = 0 " . iif(!($permissions['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canseehiddencustomfields']), "
AND hidden = 0") . "
ORDER BY displayorder
");
$search = array(
'#(\r\n|\n|\r)#',
'#(<br />){3,}#',
);
$replace = array(
'<br />',
'<br /><br />',
);
$customfields = '';
while ($profilefield = $db->fetch_array($profilefields))
{
exec_switch_bg();
$profilefieldname = "field$profilefield[profilefieldid]";
$profilefield['title'] = $vbphrase[$profilefieldname . '_title'];
if ($profilefield['type'] == 'checkbox' OR $profilefield['type'] == 'select_multiple')
{
$data = unserialize($profilefield['data']);
foreach ($data AS $key => $val)
{
if ($vbulletin->userinfo["$profilefieldname"] & pow(2, $key))
{
$profilefield['value'] .= iif($profilefield['value'], ', ') . $val;
}
}
}
else if ($profilefield['type'] == 'textarea')
{
$profilefield['value'] = preg_replace($search, $replace, trim($vbulletin->userinfo["$profilefieldname"]));
}
else
{
$profilefield['value'] = $vbulletin->userinfo["$profilefieldname"];
}
($hook = vBulletinHook::fetch_hook('member_customfields')) ? eval($hook) : false;
if ($profilefield['value'] != '')
{
$show['extrainfo'] = true;
eval('$customfields .= "' . fetch_template('memberinfo_customfields') . '";');
}
}
If someone could help me, I'd really appreciate it.
Edit: I attached an image as well. This is of the 3.5.4 version when everything was working. I just took out my information. This is what I'm referring to though to give an idea as to what I'm actually doing.
I also made a test account on my website if you want to get a feel for the non-working version.
User: test
Pass: test
http://forums.xinnyburt.com
http://forums.xinnyburt.com/usercp.php