将记录纳入UChome的积分体系
Uchome中心情记录是非常常用的一个操作,用户可以通过方便的来快速的发布自己的想法,通过一两句话描述自己的心情。因为其操作方便,发布简易使其成为基于UCHOME构建的SNS中使用最频繁的操作之一。但是发布心情记录,并不能增加积分。积分功能的缺失,导致用户对心情记录的参与成都大大降低。由此导致用户对整个基于UChome创建的SNS站点的参与热情也大大降低。尽管用户可以通过发布日志等方式来获取积分,但将心情记录纳入全站积分体系未尝不是增加用户参与热情的一个有效的手段,下面简单介绍下,如何在发布心情记录时也能够增加积分。
1.修改$uchome/admin/tpl/credit.htm,在其中增加三行代码,如下蓝色字体部分:
<div class="maininner">
……
<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>
<tr><td> </td><td> </td>
<td>出新信息被删除</td><td><input type="text" name="pay[route]" value="$pay[route]" size="5"></td></tr>
</table>
</div>
<div class="footactions">
<input type="submit" name="creditsubmit" value="提交" class="submit">
</div>
</form>
</div>
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.在后台积分设置中,设定发布和删除记录的积分规则。
4.在后台更新缓存。
此时发布记录或者删除记录将按照后台积分设置增减积分。