插件名称: Molyx 荣誉勋章插件 1.0 for 2.1.4
插件说明:修改:liverxing
开发作者:Develop by [Molyx Team]KissVenus
完成时间:未知
程序版本:未知
修改难度:中等
所属插件分类:扩展类
演示地址:
http://kunmingren.com
============================================
============================================
执行SQL语句:
运行SQL语句 默认为mxb_ 前缀自定义前缀的朋友自己改咯
ALTER TABLE `mxb_user` ADD `award_data` varchar(255) default '0';
ALTER TABLE `mxb_user` ADD `award` tinyint(4) NOT NULL default '0';
CREATE TABLE `mxb_award` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) NOT NULL default '',
`explanation` varchar(255) NOT NULL default '',
`img` varchar(255) NOT NULL default '',
`sortid` smallint(6) NOT NULL default '1',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=14 ;
INSERT INTO `mxb_award` VALUES (1, '论坛建设奖', '你对社区建设作出了不可磨灭的贡献,特发此奖。', './images/award/7.gif', 1),
(2, '最佳情侣奖', '不多说了,祝你们在以后的日子里更加幸福!', './images/award/12.gif', 1),
(3, '优秀斑竹奖', '在您的管理的版面里会员热情高涨,特发此奖,请继续努力。', './images/award/5.gif', 1),
(4, '最佳创作奖', '你的创作有独到的新意,让大家受益非浅,特发此奖,请继续努力喔。', './images/award/14.gif', 1),
(5, '灌水天才奖', '你灌水真是厉害呀,值得大家学习,特发此奖。', './images/award/10.gif', 1),
(6, '贴图大师奖', '您的贴图真不错,特发此奖,请继续努力。', './images/award/4.gif', 1),
(7, '论坛鼓励奖', '由于你的努力,带动了大家的热情,特发此奖,希望你继续成为大家学习的目标。', './images/award/11.gif', 1),
(8, '论坛卫士奖', '由于你的关心,让我们的论坛能在一片清静的天空中发展,特发此奖。', './images/award/2.gif', 1),
(9, '聊天天才奖', '聊吧聊吧', './images/award/9.gif', 1),
(10, '美眉专用章', '各位帅哥请注意哈!', './images/award/6.gif', 1),
(11, '帅哥专用章', '各位美眉清注意喔!', './images/award/8.gif', 1),
(12, '最佳宣传奖', '由于你的带动,使我们的论坛人气更旺,特发此奖,加油喔。', './images/award/1.gif', 1),
(13, '幽默大师奖', '你总能给人们带来欢乐,特发此奖。', './images/award/13.gif', 1);
============================================
============================================
文件修改:
代码:
// 新加的文件: 1个文件&一个目录 (/admin/award.php, images/award)
// 修改的模版: 2个 (profile-->userinfo,showthread-->showthread_post)
// 增加的数据表: 1个 (MXB_award)
// 增加的数据字段: 2个 (MXB_user award,award_data)
// 需要更改的文件: 8个 (includes/adminfunctions_nav_forum.php ,
/lang/admin_nav.php,/showthread.php,/profile.php,/lang/admin.php
lang/profile.php,admin/user.php,includes/adminfunctions_cache.php)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
将images/ 的award目录COPY进 molyx images/ 目录
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
修改模板 风格管理-->默认风格-->编辑默认风格模板-->profile-->userinfo, showthread-->showthread_post
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
profile-->userinfo
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<tr>
<td class="row2" valign='top'><strong>{$lang['currentstatus']}</strong></td>
<td align='left' class='row1'>{$info['status']} {$info['extra']}</td>
</tr>
后添加
<tr>
<td class="row2" valign='top'><strong>{$lang['userawardsetting']}</strong></td>
<td align='left' class='row1'>{$info['hasaward']}</td>
</tr>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
showthread-->showthread_post
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{$lang['_joindate']}: {$post['poster']['joindate']}
后添加
{$post['poster']['hasaward']}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/lang/admin_nav.php
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
);
?>
前面添加
//award add Develop by [Molyx Team]KissVenus
'awardsmanage' => '荣誉勋章管理',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/lang/admin.php
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
);
?>
前面添加
//award add Develop by [Molyx Team]KissVenus
'manageaward' => '荣誉勋章管理',
'testaward' => '测试荣誉勋章代码',
'awardadded' => '新的荣誉勋章已添加',
'awardedited' => '荣誉勋章已编辑',
'editaward' => '编辑荣誉勋章',
'addaward' => '添加荣誉勋章',
'awardtags' => '勋章描述',
'awardbutton' => '勋章图片',
'awardname' => '勋章名称',
'userawardsetting' => "荣誉勋章",
'awardtags' => '勋章描述',
'awardbutton' => '勋章图片',
'awardname' => '勋章名称',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lang/profile.php
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'editprofile' => '编辑个人资料',
后添加
//award add Develop by [Molyx Team]KissVenus
'userawardsetting' => "荣誉勋章",
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
includes/adminfunctions_cache.php
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$this->attachmenttypes_recache();
$this->announce_recache();
$this->league_recache();
$this->banksettings_recache();
后加
//Develop by [Molyx Team]KissVenus AWARD START
$this->award_recache();
//Develop by [Molyx Team]KissVenus AWARD END
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function league_recache()
{
global $forums, $DB, $fcache;
$forums->cache['league'] = array();
$leagues = $DB->query( "SELECT * FROM ".TABLE_PREFIX."league WHERE type != 3 ORDER BY type, displayorder" );
while ( $r = $DB->fetch_array( $leagues ) ) {
$forums->cache['league'][] = $r;
}
$forums->func->update_cache( array( 'name' => 'league', 'array' => 1, 'deletefirst' => 1 ) );
}
后加
//Develop by [Molyx Team]KissVenus AWARD START
function award_recache()
{
global $forums, $DB;
$forums->cache['award'] = array();
$DB->query( "SELECT * FROM ".TABLE_PREFIX."award" );
while ( $r = $DB->fetch_array() ) {
$forums->cache['award'][] = $r;
}
$forums->func->update_cache( array( 'name' => 'award', 'array' => 1, 'deletefirst' => 1 ) );
}
//Develop by [Molyx Team]KissVenus AWARD START
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
includes/adminfunctions_nav_forum.php
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"forummanage||caneditforums" => array
(
1 => array( 'manageforum', 'forums.php' ),
2 => array( 'addnewforum', 'forums.php?do=new' ),
3 => array( 'moderatesetting', 'moderate.php' ),
4 => array( 'recyclesetting', 'settings.php?do=setting_view&groupid=14' ),
),
后添加
//Develop by [Molyx Team]KissVenus AWARD START
"awardsmanage||canawards" => array
(
1 => array( 'awardsmanage', 'award.php'),
),
//Develop by [Molyx Team]KissVenus AWARD END
/profile.php
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$info['post'] = $forums->func->fetch_number_format($info['post']);
后添加
//Develop by [Molyx Team]KissVenus AWARD START
if($user['award']==1)
{
$awarddataa=$user['award_data'];
$ad=explode(",",$awarddataa);
for($ai=0;$ai<=count($ad);$ai++)
{
if(strlen($ad[$ai])>0)
{
$awardsp=$DB->query_first("SELECT * FROM ".TABLE_PREFIX."award WHERE id='".$ad[$ai]."'");
if(strlen($awardsp['name'])>0)
$info['hasaward'] .= "<img src='".$awardsp['img']."' alt='".$awardsp['name'].'------>'.$awardsp['explanation']."'> ";
}
}
}
//Develop by [Molyx Team]KissVenus AWARD END
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
admin/user.php
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$forums->admin->print_cells_row( array( "<b>".$forums->lang['msn']."</b>", $forums->admin->print_input_row("msn", $user['msn']) ) );
$forums->admin->print_cells_row( array( "<b>".$forums->lang['website']."</b>", $forums->admin->print_input_row("website", $user['website']) ) );
$forums->admin->print_table_footer();
后添加
//Develop by [Molyx Team]KissVenus AWARD START
$forums->admin->print_table_start( $forums->lang['userawardsetting'] );
$awarddata=$user['award_data'];
$ad=explode(",",$awarddata);
$DB->query( "SELECT * FROM ".TABLE_PREFIX."award ORDER BY id" );
while ( $row = $DB->fetch_array() ) {
$id = $row[id];
$checked = 0;
for($ai=0;$ai<=count($ad);$ai++)
{
if($id==$ad[$ai]) $checked = 'checked="checked"';
}
$image = $row['img'] ? "<img src='".((substr($row['img'], 0, 7) != 'http://' AND substr($row['img'], 0, 1) != '/') ? '../' : '').$row['img']."' alt='' align='middle' />" : ' ';
$forums->admin->print_cells_row( array(
"<input type='checkbox' name='uaw[$id]' value='1' $checked>",
"<div align='center'>".$image."</div>",
"<b>".$row['name']."</b>",
"<b>".$row['explanation']."</b>",
) );
}
$forums->admin->print_table_footer();
//Develop by [Molyx Team]KissVenus AWARD END
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$signature = $parser->convert( array( 'text' => $forums->func->htmlspecialchars_uni($_POST['signature']),
'allowsmilies' => 1,
'allowcode' => $bboptions['signatureallowbbcode'],
'allowhtml' => $bboptions['signatureallowhtml'],
) );
后添加
//Develop by [Molyx Team]KissVenus AWARD START
for($ai=0;$ai<=50;$ai++)
{
if($_INPUT['uaw'][$ai] != "") $awarddata[] = $ai;
}
$awarddata = join(",",$awarddata);
if ( $awarddata !="" ) {
$hasaward = 1;
} else {
$hasaward = 0;
};
//Develop by [Molyx Team]KissVenus AWARD END
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'reputation' => $_INPUT['reputation'],
'cash' => $_INPUT['cash'],
后添加
//Develop by [Molyx Team]KissVenus AWARD START
'award' =>$hasaward,
'award_data' =>$awarddata,
//Develop by [Molyx Team]KissVenus AWARD END
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/showthread.php
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function parse_row( $row = array() )
{
global $forums, $DB, $_INPUT, $bbuserinfo, $bboptions, $_USEROPTIONS;
$poster = array();
后面添加
//Develop by [Molyx Team]KissVenus AWARD START
if($row['award']==1)
{
$awarddataa=$row['award_data'];
$ad=explode(",",$awarddataa);
for($ai=0;$ai<=count($ad);$ai++)
{
if(strlen($ad[$ai])>0)
{
$awardsp=$DB->query_first("SELECT * FROM ".TABLE_PREFIX."award WHERE id='".$ad[$ai]."'");
if(strlen($awardsp['name'])>0)
$row['hasaward'] .= "<img src='".$awardsp['img']."' alt='".$awardsp['name'].'------>'.$awardsp['explanation']."'> ";
}
}
}
//Develop by [Molyx Team]KissVenus AWARD END
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$post = $DB->query( "SELECT p.*, u.id,u.name,u.usergroupid,u.gender,u.qq,u.email,u.joindate,u.quintessence, u.posts, u.lastvisit, u.lastactivity,u.options,u.customtitle,u.options, u.signature, u.location, u.avatarlocation, u.avatartype, u.avatarsize, u.cash, u.bank, u.mkaccount, u.reputation, g.canblog, e.loanamount
FROM ".TABLE_PREFIX."post p
LEFT JOIN ".TABLE_PREFIX."user u ON (p.userid=u.id)
LEFT JOIN ".TABLE_PREFIX."usergroup g ON (g.usergroupid=u.usergroupid)
LEFT JOIN ".TABLE_PREFIX."userextra e ON (p.userid=e.id)
WHERE p.pid IN(".implode(',', $pids).") ORDER BY dateline" );
$allpostrows = array();
替换为:
$post = $DB->query( "SELECT p.*, u.id,u.name,u.usergroupid,u.gender,u.qq,u.email,u.joindate,u.quintessence, u.posts, u.lastvisit, u.lastactivity,u.options,u.customtitle,u.options, u.signature, u.location, u.avatarlocation, u.avatartype, u.avatarsize, u.cash, u.bank, u.mkaccount, u.reputation, g.canblog, e.loanamount, u.award,u.award_data
FROM ".TABLE_PREFIX."post p
LEFT JOIN ".TABLE_PREFIX."user u ON (p.userid=u.id)
LEFT JOIN ".TABLE_PREFIX."usergroup g ON (g.usergroupid=u.usergroupid)
LEFT JOIN ".TABLE_PREFIX."userextra e ON (p.userid=e.id)
WHERE p.pid IN(".implode(',', $pids).") ORDER BY dateline" );
$allpostrows = array();