
03-09-2012, 08:02 PM
|
 |
|
|
Join Date: Nov 2010
Posts: 969
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
|
Quote:
Originally Posted by cen1
Cypher please check your bug reports mail and add all the reported bugs to redmine. We did a few tests on latest vb4 and there are just a couple of things that need to be fixed, one is the error upon installation that was already reported here and solution is already known too.
The other error is display in user profile which is a little messed up.
We have updated our forum from vb3 to vb4 5 months ago and we're still waiting for a working latest vb4 version so we can port the old database and include the system to our forum.
I hope it's done soon..if not we'll lose 1 year of awards :S
|
To fix the display problem on the user profiles you need to do the following:
Quote:
Originally Posted by sadiq6210
UPDATE FOR: 4.0.8 - 4.1.3
(TAKE BACKUP BEFORE ANY REPLACE)
1- Find the template (memberinfo_block_myawards) and replace it all
PHP Code:
<div id="view-myawards" class="<vb:if condition="$selected_tab == 'myawards'">selected_view_section<vb:else />view_section</vb:if>">
<div class="blocksubhead subsectionhead userprof_headers userprof_headers_border">
{vb:rawphrase award_showcase} - {vb:raw $block_data[num]} {vb:rawphrase awards} <vb:if condition="$vboptions[aw_points]"> - {vb:raw $block_data[total_points]} {vb:rawphrase points}</vb:if>
</div>
<div class="blockbody">
<table width="100%">
<tr align="center">
<vb:if condition="$vboptions[aw_showicon]"><th class="blocksubhead" nowrap="nowrap">{vb:rawphrase award_icon}</th></vb:if>
<vb:if condition="$vboptions[aw_showimage]"><th class="blocksubhead" nowrap="nowrap">{vb:rawphrase award_image}</th></vb:if>
<th class="blocksubhead" width="100%">{vb:rawphrase award_description}</th>
</tr>
{vb:raw $block_data[myawards]}
</table>
</div>
</div>
2- From(Plugin Manager)
Find (YAAS - Profile Tab) and disactive it.
3- From (plugin manager)
Find (YAAS in Member Profile - Profile) >> EDIT >> Replace it all
PHP Code:
$blocklist['myawards'] = array(
'class' => 'MyAwards',
'title' => $vbphrase['my_awards'],
'options' => array(
'pagenumber' => $vbulletin->GPC['pagenumber']
),
'hook_location' => 'profile_tabs_last',
'wrap' => false
);
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'].'
');
if (($vbulletin->options['aw_points']) AND ($this->profile->userinfo['userid']))
{
$userpoints = $this->registry->db->query_read('
SELECT a.*, au.*, SUM(award_pointvalue) AS TotalPoints
FROM ' . TABLE_PREFIX . 'award a, ' . TABLE_PREFIX . 'award_user au
WHERE (au.userid = '.$this->profile->userinfo['userid'].') AND (a.award_id=au.award_id) AND (a.award_active = "1")
GROUP BY au.userid
');
while ($array = $this->registry->db->fetch_array($userpoints))
{
$this->block_data['total_points'] = $array['TotalPoints'];
}
}
$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']);
//- VB3 -// eval('$this->block_data[\'myawards\'] .= "' . fetch_template('awards_userawards_bit') . '";');
//- BEGIN VB4 -//
$templater = vB_Template::create('awards_userawards_bit');
$templater->register('award', $award);
$templater->register('award_issue_date', $award_issue_date);
$templater->register('award_issue_time', $award_issue_time);
$this->block_data['myawards'] .= $templater->render();
//- END VB4 -//
}
}
}
}
Good luck 
|
After completing the above the awards plugin works fine, at least as long as you don't use recommend or request awards.
|