djjeffa - I've been trying to figure out the same thing for a few weeks now....only to effectively be stone walled...I still can't log into the Dev area of Zoints to download any blocks....
This is the block that the developer wrote to pull the normal profile information. I'm trying to pull fields 18-32 instead of fields 1-5 like this block seems to pull. No dice on my end, but it might help you seeing as how it pulls location, etc on our board.
Code:
# vBulletin Custom Profile Fields
# 1.0
# Soup (soup@zoints.com)
# http://dev.zoints.com/
#
# This block lets you display your custom profile fields
# from the old vBulletin profile
class user_vbulletin_custom_profile_fields extends z_module
{
function contents()
{
$vbulletin = $this->_zoints->external->vbulletin;
$languageid = intval($vbulletin->userinfo['languageid']);
# get custom phrases used in this block
$vbphrase = array();
$phrases = $vbulletin->db->query_read("
SELECT * FROM " . TABLE_PREFIX . "phrase
WHERE fieldname = 'cprofilefield'
AND (languageid = $languageid OR languageid = -1)
ORDER BY languageid DESC
");
while ($phrase = $vbulletin->db->fetch_array($phrases))
{
$vbphrase[$phrase['varname']] = $phrase['text'];
}
unset($phrase);
$vbulletin->db->free_result($phrases);
# get data from usertextfield for this user
$extended_info = $vbulletin->db->query_first("
SELECT * FROM " . TABLE_PREFIX . "userfield
WHERE userid = " . $this->zuser . "
");
$profilefields = $vbulletin->db->query_read("
SELECT profilefieldid, required, type, data, def, height
FROM " . TABLE_PREFIX . "profilefield
WHERE form = 18
AND hidden = 0
ORDER BY displayorder
");
$search = array(
'#(\r\n|\n|\r)#',
'#(<br />){3,}#', // Replace 3 or more <br /> with two <br />
);
$replace = array(
'<br />',
'<br /><br />',
);
$customfields = '';
while ($profilefield = $vbulletin->db->fetch_array($profilefields))
{
$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 ($extended_info["$profilefieldname"] & pow(2, $key))
{
$profilefield['value'] .= iif($profilefield['value'], ', ') . $val;
}
}
}
else if ($profilefield['type'] == 'textarea')
{
$profilefield['value'] = preg_replace($search, $replace, trim($extended_info["$profilefieldname"]));
}
else
{
$profilefield['value'] = $extended_info["$profilefieldname"];
}
if ($profilefield['value'] != '')
{
$customfields .= '<div class="' . $this->style['phead'] . '">' . $profilefield['title'] . '</div>';
$customfields .= '<div class="' . $this->style['pmain1'] . '">' . $profilefield['value'] . '</div>';
}
}
$vbulletin->db->free_result($profilefields);
return $customfields;
}
}