插件名称:道具商店
插件作者:文文の封印(部分代码属DZ、liuqiang、POLO!所有)
最后发布:8.11.05
版本 :1.4
适用版本:2.5SP1(2.5语言包不正常,解决方法见步骤6.1~6.2)
简易程度:复杂
cache :有
占用资源:少
sql升级 :有
必须插件:银行
改动文件:viewthread.php,newthread.php,newreply.php,cache.php,global.php
改动模板:viewthread.htm,forumdisplay.htm,viewthread_printable.htm,post_newthread.htm,post_newreply.htm,plugin.lang.php
技术支持:discuz.net,freediscuz.net
主要功能:付费金钱清零、高亮、置顶一天、鉴定主题、隐身发贴/反隐身、降低主题、删除主题、发帖时提示、自主更名、鲜花鸡蛋、克隆童虎虚拟形象。使用道具短消息提示、鲜花鸡蛋短消息提示。批量赠送道具给用户/用户组+短消息提示。所有动作记录。
友情提示:本插件安装复杂程度估计可以在DZ插件史上排上前10,新人安装一定要慎重。特别是cache修改极易出错。如果安装不成功,看一楼末尾的buglist和常见问题。安装后无法使用,99%是由于修改差步、修改位置出错造成。简单一句,要小心谨慎的装。
更新记录:
1.4
加入四个新道具(鲜花鸡蛋克隆虚拟形象和更名)
使用道具、奖励、赠送PM通知
修正一点小bug
1.3
增强的用户奖励(用户、用户组奖励,PM通知)
所有操作都有记录
去掉global.php的自定义函数
改变存储结构
修正小bug
1.2-新道具:发帖时友情小提示
升级方法:https://discuz.dismall.com/viewth ... &extra=page%3D1
1.2
道具可以关闭
前台编辑道具
加入店长
加了一个新道具-删帖(默认关闭,删帖会把帖子转移到回收站版面,回收站版面后台设置)
用switch...case...break代替if...elseif结构
修正一些小BUG
0.720
整合礼包功能
美化模板,仿银行
修正模板bug
进一步语言包化
语言包转到plug.lang.php
加入cache,减少7个查询
其它一些小bug
升级方法在2楼
装这个之前,请先安装以下插件的一部分即可,可以直接安装我在3楼整理出的精简版本
【主题鉴定】(如果不想用鉴定,后台关闭即可)
【限时置顶】(如果不想用,后台关闭即可)
如果某些道具你不需要,可以不执行它的修改过程。下面每个步骤都注明了是为了哪几个功能服务的。
注意如果你不需要该道具,请在道具编辑界面关闭它。
step 1.9(必须)
按目录结构上传附件,导入plug_shop.txt
step 2.(必须)
运行附件中的shop_install.php安装,然后删除shop_install.php
step 3.1(隐身及其发帖提示必须)
打开include/newreply.php和include/newthread.php(这俩修改方法一样)
找到
- if(!defined('IN_DISCUZ')) {
- exit('Access Denied');
- }
复制代码
下面加
- //------------------------------------------------------
- //Shop BY FY
- //------------------------------------------------------
- @require DISCUZ_ROOT.'./forumdata/cache/cache_shop.php';
- $query=$db->query("SELECT * FROM $table_useritems WHERE uid='$discuz_uid'");
- $temp=$db->fetch_array($query);
- $myitemlist = $_DCACHE[item];
- for($i=0;$i<$_DCACHE[itemnum];){
- $myitemlist[$i++][num]=$temp["item".$i];
- }
- //------------------------------------------------------
复制代码
step 3.2(隐身极发帖提示必须)
找到-
- include template('post_newreply');
- } else {
复制代码
(newthread.php里面是)
- include template('post_newthread');
- } else {
复制代码
下面加
- //-----------------------------------------------------
- //Shop by FY
- //-----------------------------------------------------
- $hide = $hide ? 1:0;
- if($hide){
- if(!$myitemlist[1]['use'])showmessage('shop_itemclose');
- if($myitemlist[1][num]<1)showmessage('shop_error_post');
- $db->query("UPDATE $table_useritems SET item2=item2-1 WHERE uid='$discuz_uid'");
- $temp="【身份隐藏】";
- }else{
- $temp=$discuz_user;
- }
- $msgshow = $msgshow ? 1:0;
- //newreply.php可以不要下面这一段
- if($msgshow && !$alertmsg){
- showmessage('shop_alertmsgno');
- }elseif($msgshow && $alertmsg){
- if(!$myitemlist[8]['use'])showmessage('shop_itemclose');
- if($myitemlist[8][num]<1)showmessage('shop_error_post');
- $db->query("UPDATE $table_useritems SET item9=item9-1 WHERE uid='$discuz_uid'");
- $alertmsg = addslashes($alertmsg);
- if(strlen($alertmsg) > 255)showmessage('shop_alertmsgmax');
- }
- //newreply.php可以不要上面这一段
- //-----------------------------------------------------
复制代码
step 3.39(隐身必须)
找到
后面加
step 3.4(隐身必须)
找到- '$smileyoff', '$parseurloff'
复制代码
后面加
step 3.5(隐身必须)
找到(共两处)
改成
step 3.6(隐身必须)
newreply.php里面
找到- $db->query("UPDATE $table_threads SET lastposter='$discuz_user', lastpost='$timestamp', replies=replies+1, attachment='".attachtype($last_attach_type, 'id')."' WHERE tid='$tid' AND fid='$fid'", 'UNBUFFERED');
复制代码
改成- $db->query("UPDATE $table_threads SET lastposter='$temp', lastpost='$timestamp', replies=replies+1, attachment='".attachtype($last_attach_type, 'id')."' WHERE tid='$tid' AND fid='$fid'", 'UNBUFFERED');
复制代码
找到- $db->query("UPDATE $table_threads SET lastposter='$discuz_user', lastpost='$timestamp', replies=replies+1 WHERE tid='$tid' AND fid='$fid'", 'UNBUFFERED');
复制代码
改成- $db->query("UPDATE $table_threads SET lastposter='$temp', lastpost='$timestamp', replies=replies+1 WHERE tid='$tid' AND fid='$fid'", 'UNBUFFERED');
复制代码
step 3.7
newthread.php里面(隐身必须)
找到
后面加
找到- VALUES ('$fid', '$viewperm', '$iconid', '$discuz_user', '$discuz_uid', '$subject', '$timestamp', '$timestamp', '$discuz_user', '$displayorder', '$digest', '$poll', '".attachtype($last_attach_type, 'id')."')");
复制代码
改成- VALUES ('$fid', '$viewperm', '$iconid', '$discuz_user', '$discuz_uid', '$subject', '$timestamp', '$timestamp', '$temp', '$displayorder', '$digest', '$poll', '".attachtype($last_attach_type, 'id')."','$hide')");
复制代码
3.8(发帖提示必须)
找到下面加
- //--------------------------------------------------------------
- //Shop By FY
- //--------------------------------------------------------------
- if($msgshow){
- $db->query("INSERT INTO $table_threadsalert (tid,alertmsg) VALUES ('$tid','$alertmsg')");
- $db->query("UPDATE $table_threads SET alerted=1 WHERE tid=$tid");
- $shopaction = 'use';
- $shoplogfile = DISCUZ_ROOT."./forumdata/shoplog.php";
- @$fp = fopen($shoplogfile, 'a+');
- @fwrite($fp, "$timestamp\t$discuz_uid\t".dhtmlspecialchars($discuz_user)."\t$shopaction\t9\t$onlineip\t$subject\t$tid\t$uidto\t$usernameto\t$numto\n");
- @fclose($fp);
- }
- //--------------------------------------------------------------
复制代码
step 5.1(必须)
打开cache.php
找到
- case ranks:
- $table = $GLOBALS['table_ranks'];
- $cols='ranktitle,postshigher,stars,color';
- $conditions = "WHERE 1 ORDER BY postshigher desc";
- break;
复制代码
后面加
- //-----------------------------------------------------
- //Shop by FY
- //-----------------------------------------------------
- case item:
- $table = $GLOBALS['table_shop'];
- $conditions = "ORDER BY id";
- break;
- case itemnum:
- $table = $GLOBALS['table_shop'];
- $cols='count(*)';
- break;
- //-----------------------------------------------------
复制代码
step 5.2(必须)
找到
- $query = $db->query("SELECT $cols FROM $table $conditions");
- switch($cachename) {
复制代码
后面加
- //-----------------------------------------------------
- //Shop by FY
- //-----------------------------------------------------
- case item:
- while($item = $db->fetch_array($query)){$data[] = $item;}
- break;
- case itemnum:
- $data = $db->result($query,0);
- break;
- //-----------------------------------------------------
复制代码
step 5.3(必须)
找到
- 'plugins' => array('plugins', 'plugins_settings')
复制代码
后面加
然后下面加
- //-----------------------------------------------------
- //Shop by FY
- //-----------------------------------------------------
- 'shop' => array('item','itemnum')
- //-----------------------------------------------------
复制代码
step 6.1(必须)
覆盖plugin.lang.php附件,注意,根据有无装日记本选择适合自己的附件
如果不是SP1用户或者覆盖后出现界面英文情况,请根据无日记本版plugin.lang.php中的注释修改
step 7.(反隐、高亮、鉴定、置顶、删帖、降低、发帖提示、鸡蛋鲜花、克隆虚拟形象必须)
打开viewthread.php
找到
- } else {
- showmessage('thread_nonexistence');
- }
复制代码
下面加
- // ----------------------------------------------------------------
- // Shop By FY
- // ----------------------------------------------------------------
- @require DISCUZ_ROOT.'./forumdata/cache/cache_shop.php';
- $query=$db->query("SELECT * FROM $table_useritems WHERE uid='$discuz_uid'");
- $temp=$db->fetch_array($query);
- $myitemlist = $_DCACHE[item];
- for($i=0;$i<$_DCACHE[itemnum];){
- $myitemlist[$i++][num]=$temp["item".$i];
- }
- $useitem = (
- ( $myitemlist[4][num]>0 && $myitemlist[4]['use'] ) ||
- ( $myitemlist[2][num]>0 && $myitemlist[2]['use'] ) ||
- ( $myitemlist[5][num]>0 && $myitemlist[5]['use'] ) ||
- ( $myitemlist[6][num]>0 && $myitemlist[6]['use'] ) ||
- ( $myitemlist[7][num]>0 && $myitemlist[7]['use'] )
- )? 1:0;
- $randnum = rand(1,4);
- if($thread['alerted']){
- $query = $db->query("SELECT alertmsg FROM $table_threadsalert WHERE tid='$tid'");
- $alertmsg = $db->result($query,0);
-
- if($alertmsg && !$_COOKIE[alert."$tid"]){
- $alertmsg = str_replace("\r\n","\\n",$alertmsg);
- setcookie("alert".$tid, 1, $timestamp + 86400, $cookiepath, $cookiedomain);
- }else{
- $alertmsg = NULL;
- }
- }
- // ----------------------------------------------------------------
复制代码
step 7.2(克隆虚拟形象必须)
找到-
- $post['avatar'] = "
- <!-- 虚拟形象开始-->
- <DIV id=Show{$post['pid']}
- style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: 120px; PADDING-TOP: 0px; POSITION: relative; TOP: 0px; HEIGHT: 150px">
- </DIV>
- <!-- 虚拟形象结束-->";
复制代码
改成-
- if ($myitemlist[9]['num']>0 && $myitemlist[9]['use'] && $post['authorid']!=$discuz_uid)$post['avatar']="<a onClick='var truthBeTold = window.confirm("要克隆这个虚拟形象吗?");if (truthBeTold) window.open("plugins.php?p=shop&action=use&id=10&uid={$post['authorid']}");'>";
- $post['avatar'].= "
- <!-- 虚拟形象开始-->
- <DIV id=Show{$post['pid']}
- style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: 120px; PADDING-TOP: 0px; POSITION: relative; TOP: 0px; HEIGHT: 150px">
- </DIV>
- </a>
- <!--{/if}-->
- <!-- 虚拟形象结束-->";
- if ($myitemlist[9]['num']>0 && $myitemlist[9]['use'])$post['avatar'].="</a>";
复制代码
step 8.1(高亮、鉴定、置顶、删帖、降低必须)
打开viewthread.htm模板
找到
上面加
- <!--Shop by FY START-->
- <!--{if $useitem}-->
- <span class="bold">{lang shop_item}:</span>
- <select name="item" id="item" onchange="window.location=('plugins.php?p=shop&action=use&tid=$tid&id='+this.options[this.selectedIndex].value+'&fpage=$fpage');">
- <option value="" selected>{lang shop_use}{lang shop_item}</option>
- <!--{if $myitemlist[2][num] && $myitemlist[2][use]}-->
- <option value="3">$myitemlist[2][name]</option>
- <!--{/if}-->
- <!--{if $myitemlist[4][num] && $thread[displayorder]==0 && $myitemlist[4][use]}-->
- <option value="5">$myitemlist[4][name]</option>
- <!--{/if}-->
- <!--{if $myitemlist[5][num] && $myitemlist[5][use]}-->
- <option value="6">$myitemlist[5][name]</option>
- <!--{/if}-->
- <!--{if $myitemlist[6][num] && $myitemlist[6][use]}-->
- <option value="7">$myitemlist[6][name]</option>
- <!--{/if}-->
- <!--{if $myitemlist[7][num] && $myitemlist[7][use]}-->
- <option value="8">$myitemlist[7][name]</option>
- <!--{/if}-->
- </select>
- <!--{/if}-->
- <!--Shop by FY END-->
复制代码
step 8.2(隐身必须)
找到- <td valign="top" width="21%">
复制代码
下面加
- <!--Shop by FY START-->
- <!--{if $post['hide']}-->
- <table width="95%" border="0" cellspacing="0" cellpadding="0" style="table-layout: fixed">
- <tr><td valign=middle><center>
- <span class="bold"><font style="filter: glow(color=#FF0000,strength=3); height:10px; color:white; padding:1px">{lang shop_hide_user}</font></span>
- <BR><BR>
- <input type="hidden" name="uid" value="$post[uid]">
- <!--{if $myitemlist[3][num]}-->
- <img onClick='var truthBeTold = window.confirm("{lang shop_view_sure}");if (truthBeTold) window.open("plugins.php?p=shop&action=use&id=4&uid=$post[authorid]");' src=images/common/hide$randnum.jpg border=1>
- <!--{else}-->
- <img src=images/common/hide$randnum.jpg border=1>
- <!--{/if}-->
- <br>
- <br><span class="bold"><font style="filter: glow(color=#FF0000,strength=3); height:10px; color:white; padding:1px">
- <!--{if $myitemlist[3][num]}-->
- {lang shop_view_hide}
- <!--{else}-->
- {lang shop_hide_user}
- <!--{/if}--></font></span></center>
- </td></tr></table>
- <!--{else}-->
复制代码
step 8.3(隐身必须)
找到
- </td>
- <td width="79%" height="100%" valign="top">
复制代码
上面加
- <!--{/if}--><!--Shop by FY END-->
复制代码
step 8.4(隐身必须)
找到
- <tr class="smalltxt"><td align="left">
复制代码
下面加
- <!--Shop by FY START-->
- <!--{if !$post['hide']}-->
复制代码
step 8.5(隐身必须)
找到- <!--{if $post['oicq']}--><a href="http://search.tencent.com/cgi-bin/friend/user_show_info?ln=$post[oicq]" target="_blank"><img src="{IMGDIR}/oicq.gif" alt="QQ" border="0"></a> <!--{/if}-->
复制代码
后面加- <!--{/if}--><!--Shop by FY END-->
复制代码
step 8.6(隐身必须)
找到- <!--{if !$thread['closed'] || $ismoderator}-->
复制代码
替换为- <!--{if (!$thread['closed'] || $ismoderator) && !$post['hide']}--><!--Shop modified by FY-->
复制代码
step 8.7(隐身必须)
找到- <!--{if $allowkarma && $maxkarmarate}-->
复制代码
替换为- <!--{if $allowkarma && $maxkarmarate && !$post['hide']}--><!--Shop modified by FY-->
复制代码
step 8.8(隐身必须)
找到- <!--{if $post['signature']}-->
复制代码
改成- <!--{if $post['signature'] && !$post['hide']}--><!--Shop modified by FY-->
复制代码
step 8.9(礼包必须)
找到
后面加- <!--{if $adminid==1}--> <a href="plugins.php?p=shop&action=gift&give=1&uid=$post[authorid]&tid=$tid&page=$page&pid=$post[pid]">-奖励大礼包</a><!--{/if}--><!--Shop modified by FY-->
复制代码
step 8.10(发帖提示必须)
找到- <!--{if $polloptions}-->
- {template viewthread_poll}
- <!--{/if}-->
复制代码
上面加- <!--{if $alertmsg}-->
- <script>
- confirm("$alertmsg");
- </script>
- <!--{/if}-->
复制代码
step 8.11(鲜花鸡蛋必须)
找到
前面加
- <!--{if $myitemlist[10][use] && $myitemlist[10][num]}--><a href=plugins.php?p=shop&action=use&id=11&pid=$post[pid]&page=$page onClick='return confirm("您确定给这个帖子献花?");'><!--{/if}--><img src=images/shop/11.gif border=0><!--{if $post[flower]}-->$post[flower]<!--{else}-->0<!--{/if}--><!--{if $myitemlist[10][use] && $myitemlist[10][num]}--></a><!--{/if}-->
- <!--{if $myitemlist[11][use] && $myitemlist[11][num]}--><a href=plugins.php?p=shop&action=use&id=12&pid=$post[pid]&page=$page onClick='return confirm("您确定给这个帖子丢鸡蛋?");'><!--{/if}--><img src=images/shop/12.gif border=0><!--{if $post[egg]}-->$post[egg]<!--{else}-->0<!--{/if}--><!--{if $myitemlist[11][use] && $myitemlist[11][num]}--></a><!--{/if}-->
复制代码
step 9.1(隐身必须)
打开post_newreply.htm和post_newthread.htm模板(修改都一样)
找到
下面加
- <!--Shop by FY START-->
- <!--{if $myitemlist[1][num] && $myitemlist[1][use]}-->
- <BR><input type="checkbox" name="hide" value="1"> {lang shop_use}$myitemlist[1][name]{lang shop_hide}
- <!--{/if}-->
- <!--Shop by FY END-->
复制代码
(以下几个步骤只在post_newthread.htm里修改)
step 9.2(发帖提示必须)
找到
- function validate(theform) {
复制代码
下面加- if (!theform.alertmsg.value && theform.msgshow.checked == true)
- {
- alert("{lang shop_alertmsgno}");
- return false;
- }
复制代码
step 9.3(发帖提示必须)
找到- <textarea rows="4" cols="85" name="polloptions" tabindex="5">$polloptions</textarea></td>
- </tr>
- <!--{/if}-->
复制代码
下面加- <!--{if $myitemlist[8][num] && $myitemlist[8][use]}-->
- <SCRIPT LANGUAGE="JavaScript">
- function showmsg(){
- if (document.input.msgshow.checked == true) {
- msg.style.display = "";
- }else{
- msg.style.display = "none";
- }
- }
- function choicemsg(thisform){
-
- var msg1="您所浏览的帖子严重缺水!请灌水20次,否则您的电脑将被重启100次。您是否要灌水?(点击取消电脑将会被重启)";
- var msg2="喂喂喂!大家不要灌水,灌水会犯了嗔戒的!";
- var msg3="悟空你也太调皮了,我跟你说过叫你不要乱灌水,你怎么又……你看我还没完你又把那个帖子给灌了!月光宝盒是宝物,你把它也灌了会污染环境,要是淹到小朋友怎么办?就算淹不到小朋友淹到那些花~花~草~草~也是不对的!";
- var msg4="--走\n--去哪?师傅??\n--天竺";
- var msg5="会灌水就一定是好人吗?";
- var msg6="--怎么灌水来着?这样?……这样?……\n--恩,再点两下鼠标";
- var msg7="俄灌水的时候,你也就是个三好学生";
- var msg8="这么快就灌上了?你属什么的?";
- var other="";
- document.input.alertmsg.focus(thisform);
-
- var va=thisform.options[thisform.selectedIndex].value;
-
- switch(va) {
- case "1": document.input.alertmsg.value=msg1; break;
- case "2": document.input.alertmsg.value=msg2; break;
- case "3": document.input.alertmsg.value=msg3; break;
- case "4": document.input.alertmsg.value=msg4; break;
- case "5": document.input.alertmsg.value=msg5; break;
- case "6": document.input.alertmsg.value=msg6; break;
- case "7": document.input.alertmsg.value=msg7; break;
- case "8": document.input.alertmsg.value=msg8; break;
- default: document.input.alertmsg.value=other;
- }
-
- }
- </script>
- <script>
- </SCRIPT>
- <tr id=msg style="DISPLAY: none">
- <td bgcolor="{ALTBG1}" valign="top">{lang shop_alertmsg}:<br>
- <span class="smalltxt"><font color=red>{lang shop_alertmsgmax}</font>
- </span></td>
- <td bgcolor="{ALTBG2}"> <select onchange="javascript:choicemsg(this);" size=4>
- <option value="" selected>预制模板</option>
- <OPTION value=1>搞笑1</OPTION>
- <OPTION value=2>大话版1</OPTION>
- <OPTION value=3>大话版2</OPTION>
- <OPTION value=4>大话版3</OPTION>
- <OPTION value=5>天下无贼1</OPTION>
- <OPTION value=6>天下无贼2</OPTION>
- <OPTION value=7>天下无贼3</OPTION>
- <OPTION value=8>天下无贼4</OPTION>
- </select>
- <textarea rows="4" cols="68" name="alertmsg" tabindex="5">$alertmsg</textarea>
- </td>
- </tr>
- <!--{/if}-->
复制代码
step 9.4(发帖提示必须)
找到- <!--{if $myitemlist[1][num] && $myitemlist[1][use]}-->
- <input type="checkbox" name="hide" value="1"> {lang shop_use}$myitemlist[1][name]{lang shop_hide}
- <!--{/if}-->
复制代码 后面加- <!--{if $myitemlist[8][num] && $myitemlist[8][use]}-->
- <input id=msgcheck type="checkbox" name="msgshow" value="1" onclick=showmsg()> 使用$myitemlist[8][name]发帖
- <!--{/if}-->
复制代码
step 10.
打开forumdisplay.htm模板(隐身必须)
找到
- <!--{if $thread['authorid']}-->
复制代码
上面加
- <!--Shop by FY START-->
- <!--{if $thread[hide]}-->
- <a>【身份隐藏】</a>
- <!--{else}-->
复制代码
再找- <br> <span class="smalltxt">$thread[dateline]</span></td>
复制代码
上面加
- <!--{/if}--><!--Shop by FY END-->
复制代码
step 11.(隐身必须)
打开viewthread_printable.htm模板
找到
改成- <!--{if $post[hide]}-->【身份隐藏】<!--{else}-->]$post[author]<!--{/if}--><!--Shop modified by FY-->
复制代码
step 12.(必须,安装过梦网topicadmin不用加)
打开global.php
在结尾的
上面加
- //sendpm 函数 取自梦网topicadmin
- function sendpm($toid, $subject, $message, $fromid = '', $from = '') {
- extract($GLOBALS, EXTR_SKIP);
- include language('pms');
- if(isset($language[$subject])) {
- eval("\$subject = addslashes("".$language[$subject]."");");
- }
- if(isset($language[$message])) {
- eval("\$message = addslashes("".$language[$message]."");");
- }
- if(!$fromid && !$from) {
- $fromid = $discuz_uid;
- $from = $discuz_user;
- }
- foreach(explode(',', $toid) as $uid) {
- $db->query("INSERT INTO $table_pms (msgfrom, msgfromid, msgtoid, folder, new, subject, dateline, message)
- VALUES ('$from', '$fromid', '$uid', 'inbox', '1', '$subject', '$timestamp', '$message')");
- }
- $db->query("UPDATE $table_members SET newpm='1' WHERE uid IN ($toid)");
- }
复制代码
~完~别忘了更新缓存~
卸载也是通过shop_install.php实现的
BUG修正以及常见问题:
使用降低主题时出现错误的SQL语句
解决办法:覆盖shop.php
进入道具时出现错误代码提示不存在的字段luck
解决办法:覆盖shop.php
奖励礼包时用户名为空
解决办法:
viewthread.htm
找到
改成
使用反隐道具时出现错误提示说没有帖子
解决办法:
viewthread.htm
找到- &action=use&id=4&pid=$post[pid]
复制代码
改成- &action=use&id=4&uid=$post[authorid]
复制代码
最新版本已经修正这些BUG
打开商店白版
请先确定你导入了插件信息
然后确定你已经去后台更新过缓存了!
可能是由于没有getinfo()函数造成
打开根目录plugin.php
看看有没有- function getinfo($plugname){
- global $plugins_script;
- if (!in_array($plugname,$plugins_script)) return '';
- @include DISCUZ_ROOT.'./forumdata/cache/cache_plugins.php';
- return $_DCACHE['plugins'][$plugname];
- }
复制代码
如果没有就在之上加入这一段
如果存在,可能是因为cache没有生成
看下forumdata/cache下面有没有cache_shop.php这个文件
如果没有,请仔细检查cache.php中的修改步骤有无出错
如果有,属于特殊个案。请跟贴说明
版面页数小于3页时降低主题道具不正常(不能降低主题)
暂无解决办法
使用道具出错- Discuz! info: MySQL Query Error
- User: admin
- Time: 2005-8-13 11:32pm
- Script: /plugins.php
- SQL: SELECT t.tid,t.lastpost,t.badge,t.displayorder,t.highlight,f.name AS fname,f.fid,p.pid,p.message,p.dateline,t.subject,p.subject AS psub,p.authorid
- FROM cdb_posts p
- LEFT JOIN cdb_threads t ON t.tid=p.tid
- LEFT JOIN cdb_forums f ON t.fid=f.fid
- WHERE p.pid=44343
- Error: Unknown column 't.badge' in 'field list'
- 程序文件跟数据库有冲突,请使用正确的程序文件上传上去覆盖
- Similar error report has beed dispatched to administrator before.
复制代码
解决办法:这个是没有升级数据库造成
升级数据库- ALTER TABLE `cdb_threads` ADD `badge` TINYINT( 1 ) DEFAULT '0' NOT NULL ;
复制代码
数据库手动代码:(仅在shop_install.php无效时使用)
安装
- DROP TABLE IF EXISTS cdb_useritems;
- CREATE TABLE cdb_useritems (uid MEDIUMINT( 8 ) UNSIGNED NOT NULL ,item1 INT( 10 ) UNSIGNED DEFAULT '0' NOT NULL ,item2 INT( 10 ) UNSIGNED DEFAULT '0' NOT NULL ,item3 INT( 10 ) UNSIGNED DEFAULT '0' NOT NULL ,item4 INT( 10 ) UNSIGNED DEFAULT '0' NOT NULL ,item5 INT( 10 ) UNSIGNED DEFAULT '0' NOT NULL ,item6 INT( 10 ) UNSIGNED DEFAULT '0' NOT NULL ,item7 INT( 10 ) UNSIGNED DEFAULT '0' NOT NULL ,item8 INT( 10 ) UNSIGNED DEFAULT '0' NOT NULL ,item9 INT( 10 ) UNSIGNED DEFAULT '0' NOT NULL ,item10 INT( 10 ) UNSIGNED DEFAULT '0' NOT NULL ,item11 INT( 10 ) UNSIGNED DEFAULT '0' NOT NULL ,item12 INT( 10 ) UNSIGNED DEFAULT '0' NOT NULL ,item13 INT( 10 ) UNSIGNED DEFAULT '0' NOT NULL ,PRIMARY KEY ( uid ) );
复制代码
- DROP TABLE IF EXISTS cdb_shop;
- CREATE TABLE cdb_shop (id int(10) NOT NULL default '0',name char(20) NOT NULL default '', description char(100) NOT NULL default '', price int(10) NOT NULL default '0', `use` tinyint(1) NOT NULL default '1')
复制代码
- DROP TABLE IF EXISTS cdb_threadsalert;
- CREATE TABLE cdb_threadsalert (tid MEDIUMINT( 8 ) UNSIGNED NOT NULL ,alertmsg VARCHAR( 255 ) NOT NULL ,PRIMARY KEY ( tid ));
复制代码
- INSERT INTO cdb_shop VALUES (1, '黄金落日虾', '负金钱清零', 500, '1');
- INSERT INTO cdb_shop VALUES (2, '隐身糯米团', '发贴时匿名', 50, '1');
- INSERT INTO cdb_shop VALUES (3, '多彩炸香肠', '让帖子标题以多彩的方式显示', 50, '1');
- INSERT INTO cdb_shop VALUES (4, '反隐乌龟堡', '浏览隐身帖时使用让发贴人显形', 80, '1');
- INSERT INTO cdb_shop VALUES (5, '置顶立体脆', '使用后可以让帖子以Level 1级别置顶1天', 100, '1');
- INSERT INTO cdb_shop VALUES (6, '鉴定柠檬派', '鉴定帖子,给帖子盖印章', 50, '1');
- INSERT INTO cdb_shop VALUES (7, '沉底炸鸡腿', '让指定的帖子沉到3页之后', 100, '1');
- INSERT INTO cdb_shop VALUES (8, '删帖猴子桃', '删除指定帖子', 1000, '0');
- INSERT INTO cdb_shop VALUES (9, '提示冰激凌', '发帖时可以设置看贴时跳出的提示小窗口', '120', '1');
- INSERT INTO cdb_shop VALUES (10, '克隆甜甜圈', '克隆别人的虚拟形象。在别人的虚拟形象上点击使用', '120', '1');
- INSERT INTO cdb_shop VALUES (11, '鲜花', '看帖时送鲜花加积分', '120', '1');
- INSERT INTO cdb_shop VALUES (12, '鸡蛋', '看帖时送鸡蛋减积分', '120', '1');
- INSERT INTO cdb_shop VALUES (13, '更名三明治', '可以更改自己的用户名。更改成功以后请用新用户名登陆', '120', '1');
复制代码
- ALTER TABLE cdb_posts ADD hide tinyint( 1 ) DEFAULT '0' NOT NULL;
- ALTER TABLE cdb_threads ADD hide tinyint( 1 ) DEFAULT '0' NOT NULL;
- ALTER TABLE cdb_threads ADD alerted tinyint( 1 ) DEFAULT '0' NOT NULL;
- ALTER TABLE cdb_members ADD gift INT( 1 ) DEFAULT '0' NOT NULL;
- ALTER TABLE `cdb_posts` ADD `flower` INT(10) DEFAULT '0' NOT NULL;
- ALTER TABLE `cdb_posts` ADD `egg` INT(10) DEFAULT '0' NOT NULL;
复制代码
卸载
- DROP TABLE cdb_shop;
- DROP TABLE cdb_threadsalert;
- DROP TABLE cdb_useritems ;
- ALTER TABLE cdb_posts DROP `hide`;
- ALTER TABLE cdb_threads DROP `hide`;
- ALTER TABLE cdb_threads DROP `alerted`;
- ALTER TABLE cdb_members DROP `gift`;
- ALTER TABLE cdb_posts DROP `flower`;
- ALTER TABLE cdb_posts DROP `egg`;
复制代码
演示,LOOK!
[ 本帖最后由 文文の封印 于 2005-8-21 10:49 编辑 ] |