本帖参考网址:http://www.lutuzhi.com/opensource/291.html
Uchome中心情记录是非常常用的一个操作,用户可以通过方便的来快速的发布自己的想法,通过一两句话描述自己的心情。因为其操作方便,发布简易使其成为基于UCHOME构建的SNS中使用最频繁的操作之一。但是发布心情记录,并不能增加积分。积分功能的缺失,导致用户对心情记录的参与程度大大降低。由此导致用户对整个基于UChome创建的SNS站点的参与热情也大大降低。尽管用户可以通过发布日志等方式来获取积分,但将心情记录纳入全站积分体系未尝不是增加用户参与热情的一个有效的手段,下面简单介绍下,如何在发布心情记录时也能够增加积分。
1、修改$uchome/admin/tpl/credit.htm,在其中修改几处代码,如下蓝色字体部分:
<tr><td>邀请好友注册成功</td><td><input type="text" name="get[invite]" value="$get[invite]" size="5"></td>
<td>获取注册邀请码</td><td><input type="text" name="pay[invite]" value="$pay[invite]" size="5"></td></tr>
<tr><td>发布/回复记录</td><td><input type="text" name="get[doing]" value="$get[doing]" size="5"></td>
<td>搜索一次</td><td><input type="text" name="pay[search]" value="$pay[search]" size="5"></td></tr>
<tr><td>发布出行信息</td><td><input type="text" name="get[route]" value="$get[route]" size="5"></td>
<td>兑换1M的上传空间</td><td><input type="text" name="pay[attach]" value="$pay[attach]" size="5"></td></tr>
<tr><td> </td><td> </td>
<td>日志导入</td><td><input type="text" name="pay[xmlrpc]" value="$pay[xmlrpc]" size="5"></td></tr>
<tr><td> </td><td> </td>
<td>修改一次二级域名</td><td><input type="text" name="pay[domain]" value="$pay[domain]" size="5"></td></tr>
<tr><td> </td><td> </td>
<td>修改一次真实姓名</td><td><input type="text" name="pay[realname]" value="$pay[realname]" size="5"></td></tr>
<tr><td> </td><td> </td>
<td>记录被删除</td><td><input type="text" name="pay[doing]" value="$pay[doing]" size="5"></td></tr>
2、修改$uchome/source/cp_doing.php:
在代码行showmessage('do_success', 'space.php?do=doing&view=me', 0);上方添加:
updatespacestatus('get', 'doing');
更改下列代码,增加蓝色代码行;
$_POST['refer'] = preg_replace("/((\#|\&highlight|\-highlight|\.html).*?)$/", '', $_POST['refer']);
if(strexists($_POST['refer'], '?')) {
$_POST['refer'] .= "&highlight={$newid}#dl{$updo[doid]}";
} else {
$_POST['refer'] .= "-highlight-{$newid}.html#dl{$updo[doid]}";
}
//积分
updatespacestatus('get', 'doing');
showmessage('do_success', $_POST['refer'], 0);
}
更改下列代码,添加蓝色代码行:
if($_GET['op'] == 'delete') {
if(submitcheck('deletesubmit')) {
if($id) {
$allowmanage = checkperm('managedoing');
$query = $_SGLOBAL['db']->query("SELECT dc.*, d.uid as duid FROM ".tname('docomment')." dc, ".tname('doing')." d WHERE dc.id='$id' AND dc.doid=d.doid");
if($value = $_SGLOBAL['db']->fetch_array($query)) {
if($allowmanage || $value['uid'] == $_SGLOBAL['supe_uid'] || $value['duid'] == $_SGLOBAL['supe_uid'] ) {
$_SGLOBAL['db']->query("DELETE FROM ".tname('docomment')." WHERE (id='$id' || upid='$id')");
$replynum = getcount('docomment', array('doid'=>$value['doid']));
updatetable('doing', array('replynum'=>$replynum), array('doid'=>$value['doid']));
}
}
} else {
include_once(S_ROOT.'./source/function_delete.php');
deletedoings(array($doid));
}
updatespacestatus('pay', 'doing');
showmessage('do_success', $_POST['refer'], 0);
}
}
3、修改$uchome/Template/default/cp_credit.htm,在适当位置分别修改添加如下两行代码:
<tr><th>发布/回复记录</th><td>+ $get[doing]</td></tr>
<tr><th>记录/回复被删除</th><td>- $pay[doing]</td></tr>
4、在后台积分设置中,设定发布和删除记录的积分规则,更新下缓存就行了。 |