admin 发表于 2009-7-1 15:44:24

7.0GBK:【会员“每日抢楼签到”特别定制版】

作者: 鹏友窝
插件为的目的:让全民参与论坛每日抢楼,能够稳定一群固定会员,对没有人气的论坛,是最好的绝招之一!但以往的签到插件很死板,来了就点上面的领钱,根本不能互动!

所以经过会员跟自己的一些想法,让签到变的更有趣,更互动,在规定的时间抢楼主,抢完楼主还要抢沙发,抢完沙发还要抢在10楼才能领更多积分!同时为了互动性加强,强制性的要会员回复了签到贴,才能领分!

友情支招:如果你论坛的会员活越人数很少,建议你用马甲去抢沙发,抢回复。制造一定的气氛假像!当然了,人气大的也可以这样做。为的目的:引导   你要告诉会员这很有趣,要不然这个插件就只是功能而以,功能而以!

插件详细功能(必看):

1、可以自由设定抢楼时间!(建议你设在下午比较公平)

2、抢到楼主的,自动奖积分! 这个功能你要在后台版块里自定义发贴积分! 如图:


3、前10名签到自动奖25积分!但有个前提:会员必须回复了贴子之后,才能领这分的。

10名以后的,将自动奖你设定的分数。。插件后台有设定。默认是15! 建议搞高点。这样才有吸引会员!


4、如果很多人同时间抢,程序是按照哪个贴子最选录入数据库为准! 所以不用担心会出现多贴,一天就一个签到贴


5、奖金的积分种类,这个后台有设置。看最下面的图就知!这里面的1表示 extcredits1根据自己的积分改下就可!

6、一个好的功能应该是白痴都能用的,所有人都能参与的才为之好,
   
所以,整个过程不用你去监管,你的工作就是把积分价值化~~~是不是很爽呢。

我是花钱找人做,免费给大家。希望多多支持!


安装方法:

1、先开设一个专版“每日签到”版块名字随意!
2、数据库升级注:原先有安装过的朋友,不用在升级ALTER TABLE `cdb_posts` ADD `bonused` TINYINT( 1 ) NOT NULL DEFAULT '0';3、打开 config.inc.php   


找$admincp['dbimport'] = 1;                // 是否允许后台恢复论坛数据1=是 0=否[安全]下面加一行$signinfids = array(4);                //括号中为签到区的fid,如有多个请用半角逗号相隔说明:array(4);   这个“4”你要改成自己的签到版块FID

4、打开 viewthread.php
找$oldtopics = isset($_DCOOKIE['oldtopics']) ? $_DCOOKIE['oldtopics'] : 'D';上面加(此处的 "$limitn = $limitn ? $limitn : 50;" 50为前50名签到用户有奖励, "    if ($ecount < 10) $signin_bonus = 25;" 25为奖励的分数, 请注意按自己的需要修改,后台修改没有用)//spree
if (in_array($fid, $signinfids)) {

      require_once DISCUZ_ROOT.'./forumdata/cache/plugin_signin.php';
      $signin_begin = $_DPLUGIN['signin']['vars']['signin_begin'];
      $signin_end = $_DPLUGIN['signin']['vars']['signin_end'];
      $extcreditn = $_DPLUGIN['signin']['vars']['signin_extcreditn'];
      $signin_bonus = $_DPLUGIN['signin']['vars']['signin_bonus'];
      $limitn = $_DPLUGIN['signin']['vars']['topn'];
      $limitn = $limitn ? $limitn : 50;
      
      $todayzero = strtotime(date('Ymd', $timestamp));
      $signin_begint = $signin_begin*3600 + $todayzero;
      $signin_endt = $signin_end*3600 + $todayzero;
      
      if ($do == 'givememoney') {
                if (!$discuz_uid) {
                        showmessage('游客不能领取奖金,请返回。', NULL, 'HALTED');
                }
                if ($thread['dateline'] < $todayzero) {
                        showmessage('您只能在今日的签到帖中领取奖金,请返回。', NULL, 'HALTED');
                }
                $query = $db->query("SELECT * FROM {$tablepre}posts WHERE tid = '$tid' AND authorid = '$discuz_uid' ORDER BY dateline LIMIT 1");
                if(!$rpost = $db->fetch_array($query)) {
                        showmessage('您还没有签到,不能领取奖金,请先返回,必须回复后签到才能领分。', NULL, 'HALTED');
                }
                if ($rpost['first'] == 1 || $rpost['authorid'] == $thread['authorid']) {
                        showmessage('您是楼主,你的奖金在你抢到楼的时候系统就以经加上,请返回。', NULL, 'HALTED');
                }
                if ($rpost['bonused']) {
                        showmessage('您今日已经领过奖金了,请返回。', NULL, 'HALTED');
                }

                if ($rpost['dateline'] < $signin_begint) {
                        showmessage('未到领奖时间,必须于本日 '.$signin_begin.' 点后重新签到,请返回。');
                } elseif ($rpost['dateline'] > $signin_endt) {
                        showmessage('已超过领奖时限,明日请早,请返回。', NULL, 'HALTED');
                }
               
                $query = $db->query("SELECT COUNT(*) FROM {$tablepre}posts WHERE tid = '$tid' AND bonused = 1 GROUP BY authorid");
                $ecount = $db->num_rows($query);
                if ($ecount < 10) $signin_bonus = 25;

                $db->query("UPDATE {$tablepre}members SET extcredits$extcreditn=extcredits$extcreditn+$signin_bonus WHERE uid = '$discuz_uid';", 'UNBUFFERED');
                $db->query("UPDATE {$tablepre}posts SET bonused = 1 WHERE tid = '$tid' AND authorid = '$discuz_uid';", 'UNBUFFERED');
               
                $db->query("UPDATE {$tablepre}posts SET rate=rate+($signin_bonus), ratetimes=ratetimes+5 WHERE pid='$rpost'", 'UNBUFFERED');
                $db->query("INSERT INTO {$tablepre}ratelog (pid, uid, username, extcredits, dateline, score, reason)
                                        VALUES ('$rpost', '0', '系统奖励', '$extcreditn', '$timestamp', '$signin_bonus', '')", 'UNBUFFERED');
               
                showmessage('恭喜您,领取奖金成功。', 'viewthread.php?tid='.$tid);
      }

      $bonuslist = '';
      if ($page == 1) {
                $query = $db->query("SELECT authorid, author, dateline FROM {$tablepre}posts
                                                         WHERE tid = '$tid' AND bonused = 1 AND first != 1 GROUP BY authorid ORDER BY dateline LIMIT $limitn");
                while ($rs = $db->fetch_array($query)) {
                        $rs['dateline'] = gmdate("$dateformat $timeformat", $rs['dateline'] + $timeoffset * 3600);
                        $bonuslist[] = $rs;
                }
                $db->free_result($query);
      }
}
//spree5、打开 include/newthread.inc.php

找if($url && !empty($qihoo['relate']['webnum'])) {在上面加//spree
if (in_array($fid, $signinfids)) {
      require_once DISCUZ_ROOT.'./forumdata/cache/plugin_signin.php';
      $signin_begin = $_DPLUGIN['signin']['vars']['signin_begin'];
      $todayzero = strtotime(date('Ymd', $timestamp));
      $todayend = strtotime(date('Ymd', $timestamp)) + 86399;
      $signin_begint = $signin_begin*3600 + $todayzero;
      
      if ($timestamp < $signin_begint && $timestamp > $todayzero) {
                showmessage('未到抢楼时间,今日抢楼时间为 '.$signin_begin.':00 整,请返回耐心等待。', NULL, 'HALTED');
      }

      $query = $db->query("SELECT COUNT(*) FROM {$tablepre}threads WHERE fid='$fid' AND dateline>='$signin_begint' AND dateline<$todayend");
      $threadcount = $db->result($query, 0);
      if ($threadcount >= 1) {
                showmessage('对不起,已有人先你抢到今日楼主了,请返回明日继续。', 'forumdisplay.php?fid='.$fid);
      }
}
//spree6、打开 templates/default/viewthread_node.htm

的找      <!--{else}-->
                                                                <div id="post_rate_div_$post"></div>
                                                      <!--{/if}-->下面加:                                                      <!--{if $post['first'] && in_array($fid, $signinfids)}-->
                                                      <div style="margin:0 auto; width: 80%; text-align: center; padding-top: 15px;">
                                                                <br /><br />
                                                                <a href="viewthread.php?tid=$tid&do=givememoney"><img src="images/default/signin_reply.gif" alt="回复帖子签到后,点这领取20鹏币" border="0" /></a>
                                                                <div style="color:#666; padding: 20px 0;">感谢大家对论坛支持决定举办每日签到活动。活动规则:1、所有会员均可抢楼和签到。2、抢到楼主自动奖35鹏币<br /><br />

3、没抢到楼主的,在来抢签到也有奖:前10名签到回复者奖励25鹏币。别忘了点上面的按钮领鹏币!<br /><br />

4、10楼以后的会员,只要在每天中午{$signin_begin}:00 - {$signin_end}:00 来回复签到贴就可以领取15鹏币,过时没有!<br />
<br />
<a href="thread-101712-1-1.html" target="_blank">温馨提醒:“抢楼必看秘籍”点击这里查看秘籍贴!</a>
                                                                </div>
                                                                <!--{if $bonuslist}-->
                                                                        <div class="quote" style="width: 80%; margin: 0 auto;">
                                                                        <h5>今日签到并领取奖金的会员列表(前{$limitn}名)</h5>
                                                                        <blockquote>
                                                                        <table border="0" cellpadding="0" cellspacing="0">
                                                                              <tr>
                                                                                        <td style="border: none; width: 150px;" align="left">{lang username}</td>
                                                                                        <td style="border: none;" align="left">签到时间</td>
                                                                                        <td style="border: none;" align="right">获得奖金</td>
                                                                              </tr>
                                                                        <!--{loop $bonuslist $key $blist}-->
                                                                              <tr>
                                                                                        <td align="left"><a href="space.php?uid=$blist" target="_blank">$blist</a></td>
                                                                                        <td align="left"><span style="color:#009900">$blist</span></td>
                                                                                        <td align="right"><span style="color:#FF0000;">+ <!--{if $key < 10}-->25<!--{else}-->$signin_bonus<!--{/if}--> 鹏币</span></td>
                                                                              </tr>
                                                                        <!--{/loop}-->
                                                                        </table>
                                                                        </blockquote>
                                                                        </div>
                                                                <!--{/if}-->
                                                      </div>
                                                      <!--{/if}-->7、导入插件信息:

下载附件即可:
8、上传 图片 signin_reply.gif至 images/default/


9、更新缓存,安装完成。
插件载图:

前台:

后台设置:
页: [1]
查看完整版本: 7.0GBK:【会员“每日抢楼签到”特别定制版】