Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

[经验] 将记录纳入UChome的积分体系

[复制链接]
Anymous 发表于 2009-7-16 17:56:32 | 显示全部楼层 |阅读模式
本帖参考网址: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、在后台积分设置中,设定发布和删除记录的积分规则,更新下缓存就行了。
回复

使用道具 举报

adwardy 发表于 2009-9-19 10:18:45 | 显示全部楼层
1.5似乎无效
回复

使用道具 举报

 楼主| Anymous 发表于 2009-9-20 20:25:13 | 显示全部楼层
貌似可以称得上技术贴,回帖人很少。
1.5可以的,我已经测试过,正在使用中。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-9-11 09:54 , Processed in 0.112688 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表