Hex_legend
01-12-2009, 04:08 AM
Hi there, I have been asked to get the award system to put award info onto profiles. The code automatically adds it to the default profile, but as I am using my MySpace profile, its not putting the information there, I would like to know what code to use to pull the information.
Here is the plugin code which goes in member_build_blocks_start
$blocklist = array_merge($blocklist, array(
'myawards' => array(
'class' => 'MyAwards',
'title' => $vbphrase['my_awards'],
'hook_location' => ($vbulletin->options['cat_yaas_stats_profile_pos']=='left') ? 'profile_left_first' : 'profile_left_last'
)
));
require_once('./global.php');
global $vbulletin;
require_once(DIR . '/includes/class_bbcode.php');
$bbcode_parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());
class vB_ProfileBlock_MyAwards extends vB_ProfileBlock
{
var $template_name = 'memberinfo_block_myawards';
function confirm_empty_wrap()
{
return false;
}
function confirm_display()
{
return ($this->block_data['myawards'] != '');
}
function prepare_output($id = '', $options = array())
{
global $show, $vbphrase, $stylevar, $vbcollapse, $bgclass, $vbulletin;
require_once(DIR . '/includes/class_bbcode.php');
$bbcode_parser =& new vB_BbCodeParser($this->registry, fetch_tag_list());
$result = $this->registry->db->query_read('
SELECT
*
FROM
' . TABLE_PREFIX . 'award_user AS award_user
LEFT JOIN ' . TABLE_PREFIX . 'award AS award USING (award_id)
WHERE
award_user.userid = ' . $this->profile->userinfo['userid'] . '
AND award.award_active = "1"
ORDER BY
'.$vbulletin->options['aw_awardorder'].'
');
$num = $this->block_data['num'] = $this->registry->db->num_rows($result);
$this->block_data['myawards'] = '';
if ($num > 0)
{
// Display Awards
while ($award = $this->registry->db->fetch_array($result))
{
exec_switch_bg();
$award['award_desc'] = $bbcode_parser->parse($award['award_desc']);
$award['issue_reason'] = $bbcode_parser->parse($award['issue_reason']);
$award_issue_date = vbdate($this->registry->options['dateformat'], $award['issue_time'], true);
$award_issue_time = vbdate($this->registry->options['timeformat'], $award['issue_time']);
eval('$this->block_data[\'myawards\'] .= "' . fetch_template('awards_userawards_bit') . '";');
}
}
}
}
I've tried $block_data[myawards] and $vbulletin->options['myawards']
Neither of these seem to be working. Any idea what I can use there instead?
Here is the plugin code which goes in member_build_blocks_start
$blocklist = array_merge($blocklist, array(
'myawards' => array(
'class' => 'MyAwards',
'title' => $vbphrase['my_awards'],
'hook_location' => ($vbulletin->options['cat_yaas_stats_profile_pos']=='left') ? 'profile_left_first' : 'profile_left_last'
)
));
require_once('./global.php');
global $vbulletin;
require_once(DIR . '/includes/class_bbcode.php');
$bbcode_parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());
class vB_ProfileBlock_MyAwards extends vB_ProfileBlock
{
var $template_name = 'memberinfo_block_myawards';
function confirm_empty_wrap()
{
return false;
}
function confirm_display()
{
return ($this->block_data['myawards'] != '');
}
function prepare_output($id = '', $options = array())
{
global $show, $vbphrase, $stylevar, $vbcollapse, $bgclass, $vbulletin;
require_once(DIR . '/includes/class_bbcode.php');
$bbcode_parser =& new vB_BbCodeParser($this->registry, fetch_tag_list());
$result = $this->registry->db->query_read('
SELECT
*
FROM
' . TABLE_PREFIX . 'award_user AS award_user
LEFT JOIN ' . TABLE_PREFIX . 'award AS award USING (award_id)
WHERE
award_user.userid = ' . $this->profile->userinfo['userid'] . '
AND award.award_active = "1"
ORDER BY
'.$vbulletin->options['aw_awardorder'].'
');
$num = $this->block_data['num'] = $this->registry->db->num_rows($result);
$this->block_data['myawards'] = '';
if ($num > 0)
{
// Display Awards
while ($award = $this->registry->db->fetch_array($result))
{
exec_switch_bg();
$award['award_desc'] = $bbcode_parser->parse($award['award_desc']);
$award['issue_reason'] = $bbcode_parser->parse($award['issue_reason']);
$award_issue_date = vbdate($this->registry->options['dateformat'], $award['issue_time'], true);
$award_issue_time = vbdate($this->registry->options['timeformat'], $award['issue_time']);
eval('$this->block_data[\'myawards\'] .= "' . fetch_template('awards_userawards_bit') . '";');
}
}
}
}
I've tried $block_data[myawards] and $vbulletin->options['myawards']
Neither of these seem to be working. Any idea what I can use there instead?