آموزش حل کردن مشکلات هک مدال دهی ویبولتین 4 ( اختصاصی )
امتیاز:

درود.
با نصب هک فوق در ورژن های 4.0 مشکلی نخواهید داشت .
ولی از 4.0.8 به بعد ( تا 4.1.4 ) کلاً پروفایل ها به هم ریخته میشوند و تب اون توی نوبار از کار خواهد افتاد .
برای درست کردنش آموزش تخصصی ای رو برای شما پدید آوردم .
به ادمین سی پی انجمن خودتون برید .
تنظیمات استایل و قالب --> جستجوی قالب --> memberinfo_block_myawards
تمام داخلش رو جایگزین کنید با :
حالا به مدیریت محصولات و پلاگین --> مدیریت پلاگین بروید و به دنبال اسم YAAS - Profile Tab بگردید !کد:<div id="view-myawards" class="<vb:if condition="$selected_tab == 'myawards'">selected_view_section<vb:else />view_section</vb:if>"> <div><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></div>
می توانید از Ctrl+f استفاده کنید . حالا تیک آن را بردارید و از انتها ذخیره کنید .
حالا دنبال YAAS in Member Profile - Profile بگردید و ویرایش کنید و تمام اون رو جایگزین کنید با :
حالا دوباره به جستجوی قالب برید و awards_awardbit رو پیدا کنید و کد داخلش رو با این عوض کنید :کد:$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 -// } } }}
حالا هک مدالتون رو کاملاً پچ کردید .کد:<tr><if condition="$vboptions[aw_showicon]"> <td align="center" class="blockrow"> <img src="$award[award_icon_url]" border="0"> </td> </if> <if condition="$vboptions[aw_showimage]"> <td valign="top" align="center" class="blockrow"> <a name="award$award[award_id]"></a> <img src="$award[award_img_url]" alt="$award[award_name]" border="0"> </td> </if> <if condition="$vboptions[aw_showdesc]"> <td class="blockrow"><br /><b><a href="awards.php?do=viewaward&award_id=$award[award_id]">$award[award_name]</a></b> <div class="smallfont">$award[award_desc]</div> <if condition="$vboptions[aw_showmembers]"> <hr style="border: 1px solid;" align="left" /> <div style="font-size:11px"> <if condition="$awarduserslist"> $vbphrase[users_with_thisaward]: $aw_ui<br> $awarduserslist <else /> $vbphrase[no_award_users] </if> </td> </if> </div> </if> <if condition="$vboptions[aw_actioncolumn]"> <td align="center" nowrap class="blockrow"> <if condition="$vboptions[aw_requestaward]"> <if condition="$award[award_allowrequest]"> <a href="request_award.php?$session[sessionurl]award_id=$award[award_id]">$vbphrase[request_award]</a> </if> </if> <if condition="$vboptions[aw_recommendaward]"> <if condition="$award[award_allowrecommend]"> <br /><a href="recommend_award.php?$session[sessionurl]award_id=$award[award_id]">$vbphrase[award_recommend_award]</a> </if> </if> </td> </if> </tr>
موفق باشید .
منبع : وی بی ایران
علاقه مندی ها (Bookmarks)