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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

帖子买卖简体中文版 For D5.0 正式版

[复制链接]
5025488.net 发表于 2006-9-18 12:29:04 | 显示全部楼层 |阅读模式
帖子买卖简体中文版 For D5.0 正式版

作者:别问我是谁

简体化:5025488.net(西门不败)

修改的文件比较多,请先备份,一切后果本人概不负责!

=============== 程序说明 ==================

将现时的出售 需要付费才可进入查看主题

改为以往使用的 可进入观看帖子

[sell=xx] 出售内容 [/sell] 付费后查看内容

将出售的内容隐藏 需付费后才可查看

使用方法有两个  1. 填入出售的价格  2. 使用代码

只需选其中一项 程序会完成整段出售代码

============================================

就算内容用了 [sell=xx] 出售内容 [/sell] 这代码

程序也可作检查 是否超出你用户组的最高出售价格

若是超出 程序会将这价格改为您用户组的最高出售价格

============================================

除了 misc.php 加入一次数据库查询检查是否己付费

其它全部档案 绝对没有增加数据库查询

并在 include/newreply.inc.php 这文件

在有出售的帖子内 并减少一次数据库查询

每篇主题内只可有一次出售 再多也是无效

就等于在同一帖放置多个 [hide] 一样道理

回复不可出售 因为这是修改版插件 不是新插件

============================================

有权使用强制退款 可用 终止出售

若不想强制退款 又可查看付费名单 又不想主题继续出售

可以选用 管理选项 终止出售 将出售改为终止

就算主题作者进入编辑帖子 也不可改回可以出售

============================================

无需升级数据库 只需修改档案

( 修改前请先备份以下档案 )

( 用后有什么问题 可将备份档案上传恢复正常 )

修改前注意 你要有修改过 hide 对附件隐藏

https://discuz.dismall.com/viewthread.php?tid=201256

============= 修改文件 =====================

viewthread.php
misc.php
post.php
blog.php
topicadmin.php

include/editpost.inc.php
include/newreply.inc.php
include/newthread.inc.php
include/printable.inc.php
include/threadpay.inc.php
include/discuzcode.func.php

templates/default/templates.lang.php
templates/default/post_editpost.htm
templates/default/post_newthread.htm
templates/default/topicadmin_refund.htm
templates/default/viewthread_printable.htm
templates/default/viewthread.htm      

( 所有风格有这份档 viewthread.htm 也要修改 )

( 修改上传完成 紧记 更新缓存 )

以下为修改 hide 对附件隐藏,如果你修改过,请直接跳到2楼!

第一部分修改include/discuzcode.func.php

找到

  1. function creditshide($creditsrequire, $message) {
  2.         global $language;
  3.         include_once language('misc');

  4.         if($GLOBALS['credits'] < $creditsrequire && !$GLOBALS['forum']['ismoderator']) {
  5.                 return '<b>'.eval("return "$language[post_hide_credits_hidden]";").'</b>';
  6.         } else {
  7.                 return '<b>'.eval("return "$language[post_hide_credits]";").'</b><br>'.
  8.                         '==============================<br><br>'.
  9.                         str_replace('\"', '"', $message).'<br><br>'.
  10.                         '==============================';
  11.         }
  12. }
复制代码


改成

  1. function creditshide($creditsrequire, $message) {
  2.         global $language, $ishide;
  3.         include_once language('misc');

  4.         if($GLOBALS['credits'] < $creditsrequire && !$GLOBALS['forum']['ismoderator']) {
  5.                 $ishide = TRUE;
  6.                 return '<b>'.eval("return "$language[post_hide_credits_hidden]";").'</b>';
  7.         } else {
  8.                 $ishide = FALSE;
  9.                 return '<b>'.eval("return "$language[post_hide_credits]";").'</b><br>'.
  10.                         '==============================<br><br>'.
  11.                         str_replace('\"', '"', $message).'<br><br>'.
  12.                         '==============================';
  13.         }
  14. }
复制代码


第二步找到

  1. global $discuzcodes, $credits, $tid, $discuz_uid, $highlight, $maxsmilies, $db, $tablepre;
复制代码


改成

  1. global $discuzcodes, $credits, $tid, $discuz_uid, $highlight, $maxsmilies, $db, $tablepre, $ishide;
复制代码


第三步找到

  1. if($GLOBALS['forum']['ismoderator'] || $db->result($query, 0)) {
  2.         $message = preg_replace("/\[hide\]\s*(.+?)\s*\[\/hide\]/is",
  3.         '<span class="bold">'.$language['post_hide_reply'].'</span><br>'.
  4.         '==============================<br><br>'.
  5.         '\\1<br><br>'.
  6.         '==============================',
  7.         $message);
  8. } else {
  9.         $message = preg_replace("/\[hide\](.+?)\[\/hide\]/is", '<b>'.$language['post_hide_reply_hidden'].'</b>', $message);
  10. }
复制代码


改成

  1. if($GLOBALS['forum']['ismoderator'] || $db->result($query, 0)) {
  2.         $message = preg_replace("/\[hide\]\s*(.+?)\s*\[\/hide\]/is",
  3.         '<span class="bold">'.$language['post_hide_reply'].'</span><br>'.
  4.         '==============================<br><br>'.
  5.         '\\1<br><br>'.
  6.         '==============================',
  7.         $message);
  8.         $ishide = FALSE;
  9. } else {
  10.         $message = preg_replace("/\[hide\](.+?)\[\/hide\]/is", '<b>'.$language['post_hide_reply_hidden'].'</b>', $message);
  11.         $ishide = TRUE;
  12. }
复制代码


第二部分修改templates/default/viewthread.htm模板文件

找到

  1. <!--{if $post['attachment']}-->
  2.         <br><br><img src="images/attachicons/common.gif"> {lang attachment}: <i>{lang attach_nopermission}</i>
  3. <!--{else}-->
  4.         <!--{loop $post['attachments'] $attach}-->
  5.                 <br><br>$attach[attachicon]
  6.                 <!--{if $attach['attachimg']}-->
  7.                         <a href="member.php?action=credits&view=getattach" title="{lang credits_policy_view}" target="_blank">{lang attach_img}</a>:
  8.                 <!--{if $attach['readperm']}-->, {lang readperm} $attach[readperm]<!--{/if}-->
  9.                 <!--{if $attach['description']}-->[{$attach[description]}]<!--{/if}--> <a href="attachment.php?aid=$attach[aid]" target="_blank" class="bold">$attach[filename]</a> ($attach[dateline], $attach[attachsize])<br><br>
  10.                 <!--{if $attachrefcheck}-->
  11.                         <img src="attachment.php?aid=$attach[aid]&noupdate=yes" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='{lang image_open_zoom}';}" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('attachment.php?aid=$attach[aid]');}" onmousewheel="return imgzoom(this);">
  12.                 <!--{else}-->
  13.                         <img src="$attachurl/$attach[attachment]" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='{lang image_open_zoom}';}" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('$attachurl/$attach[attachment]');}" onmousewheel="return imgzoom(this);">
  14.                 <!--{/if}-->
  15.                 <!--{else}-->
  16.                         <a href="member.php?action=credits&view=getattach" title="{lang credits_policy_view}" target="_blank">{lang attachment}</a>:
  17.                         <!--{if $attach['description']}-->[{$attach[description]}]<!--{/if}--> <a href="attachment.php?aid=$attach[aid]" target="_blank" class="bold">$attach[filename]</a> ($attach[dateline], $attach[attachsize])<br>
  18.                         <span class="smalltxt">{lang attach_download_count} $attach[downloads]
  19.                         <!--{if $attach['readperm']}-->, {lang readperm} $attach[readperm]<!--{/if}--></span><br>
  20.                 <!--{/if}-->
  21.         <!--{/loop}-->
  22. <!--{/if}-->
复制代码


改成

  1. <!--{if $ishide && $post['attachments'] && !$post['attachment']}-->
  2.                         <br><br><img src="images/attachicons/common.gif"> {lang attachment}: <i>{lang attach_nopermission}</i>
  3.                 <!--{else}-->
  4.                 <!--{if $post['attachment']}-->
  5.                         <br><br><img src="images/attachicons/common.gif"> {lang attachment}: <i>{lang attach_nopermission}</i>
  6.                 <!--{else}-->
  7.                         <!--{loop $post['attachments'] $attach}-->
  8.                                 <br><br>$attach[attachicon]
  9.                                 <!--{if $attach['attachimg']}-->
  10.                                         <a href="member.php?action=credits&view=getattach" title="{lang credits_policy_view}" target="_blank">{lang attach_img}</a>:
  11.                                         <!--{if $attach['readperm']}-->, {lang readperm} $attach[readperm]<!--{/if}-->
  12.                                         <!--{if $attach['description']}-->[{$attach[description]}]<!--{/if}--> <a href="attachment.php?aid=$attach[aid]" target="_blank" class="bold">$attach[filename]</a> ($attach[dateline], $attach[attachsize])<br><br>
  13.                                         <!--{if $attachrefcheck}-->
  14.                                                 <img src="attachment.php?aid=$attach[aid]&noupdate=yes" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='{lang image_open_zoom}';}" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('attachment.php?aid=$attach[aid]');}" onmousewheel="return imgzoom(this);">
  15.                                         <!--{else}-->
  16.                                                 <img src="$attachurl/$attach[attachment]" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='{lang image_open_zoom}';}" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(!this.resized) {return false;} else {window.open('$attachurl/$attach[attachment]');}" onmousewheel="return imgzoom(this);">
  17.                                         <!--{/if}-->
  18.                                 <!--{else}-->
  19.                                         <a href="member.php?action=credits&view=getattach" title="{lang credits_policy_view}" target="_blank">{lang attachment}</a>:
  20.                                         <!--{if $attach['description']}-->[{$attach[description]}]<!--{/if}--> <a href="attachment.php?aid=$attach[aid]" target="_blank" class="bold">$attach[filename]</a> ($attach[dateline], $attach[attachsize])<br>
  21.                                         <span class="smalltxt">{lang attach_download_count} $attach[downloads]
  22.                                         <!--{if $attach['readperm']}-->, {lang readperm} $attach[readperm]<!--{/if}--></span><br>
  23.                                 <!--{/if}-->
  24.                         <!--{/loop}-->
  25.                 <!--{/if}-->
  26.                 <!--{/if}-->
复制代码


============================================

评分

1

查看全部评分

 楼主| 5025488.net 发表于 2006-9-18 12:29:35 | 显示全部楼层
============================================

blog.php 找

  1.                         $blog['karma'] = karmaimg($blog['rate'], $blog['ratetimes']);
复制代码


之下加入

  1.         if(preg_match("/\[sell=\d*\].+?\[\/sell\]/is", preg_replace("/(\[code\].*\[\/code\])/is", '', $blog['message']))){
  2.                         $blog['message'] = preg_replace("/\[sell=\d*\](.+?)\[\/sell\]/is", "**** 付费信息,已经隐藏 ****", $blog['message']);
  3.                 }
复制代码


再找

  1.         $blogtopic['karma'] = karmaimg($blogtopic['rate'], $blogtopic['ratetimes']);
复制代码


 之下加入

  1.         if(preg_match("/\[sell=\d*\].+?\[\/sell\]/is", preg_replace("/(\[code\].*\[\/code\])/is", '', $blogtopic['message']))){
  2.                         $blogtopic['message'] = preg_replace("/\[sell=\d*\](.+?)\[\/sell\]/is", "**** 付费信息,已经隐藏 ****", $blogtopic['message']);
  3.                 }
复制代码


============================================

viewthread.php 找

  1. if($thread['price'] > 0 && $thread['special'] == 0) {
  2.         if($maxchargespan && $timestamp - $thread['dateline'] >= $maxchargespan * 3600) {
  3.                 $db->query("UPDATE {$tablepre}threads SET price='0' WHERE tid='$tid'");
  4.                 $thread['price'] = 0;
  5.         } else {
  6.                 if(!$discuz_uid) {
  7.                         showmessage('group_nopermission', NULL, 'NOPERM');
  8.                 } elseif(!$forum['ismoderator'] && $thread['authorid'] != $discuz_uid) {
  9.                         $query = $db->query("SELECT tid FROM {$tablepre}paymentlog WHERE tid='$tid' AND uid='$discuz_uid'");
  10.                         if(!$db->num_rows($query)) {
  11.                                 require_once DISCUZ_ROOT.'./include/threadpay.inc.php';
  12.                                 exit();
  13.                         }
  14.                 }
  15.         }
  16. }
复制代码


改为

  1. $pricepay = $thread['price'];
  2. if($thread['price'] > 0) {
  3.         if($maxchargespan) {
  4.                 $daynow = intval(($timestamp - $thread[dateline])/3600);
  5.                 $paytimes = $maxchargespan - $daynow;
  6.         } else {
  7.                 $paytimes = "不限";
  8.                 }
  9.         if($maxchargespan && $timestamp - $thread['dateline'] >= $maxchargespan * 3600) {
  10.                 $db->query("UPDATE {$tablepre}threads SET price='-2' WHERE tid='$tid'");
  11.                 showmessage("本主题自发表起已超过最长出售时限,重新进入可免费查看。","viewthread.php?tid=$tid");
  12.         } else {
  13.                 if(!$forum['ismoderator'] && $thread['authorid'] != $discuz_uid) {
  14.                         $query = $db->query("SELECT tid FROM {$tablepre}paymentlog WHERE tid='$tid' AND uid='$discuz_uid'");
  15.                         if(!$db->num_rows($query)) {
  16.                         $nopay = 1;
  17.                 if($pay == 'pay') {
  18.                         require_once DISCUZ_ROOT.'./include/threadpay.inc.php';
  19.                         exit();
  20.                 }
  21.                         }
  22.                 }
  23.         }
  24. }
复制代码


============================================

misc.php 找

  1. } elseif($action == 'pay') {
复制代码


之下加入

  1.                 $query = $db->query("SELECT tid FROM {$tablepre}paymentlog WHERE tid='$tid' AND uid='$discuz_uid'");
  2.         if($db->num_rows($query)) {
  3.                 showmessage("您已经付过费,不用再付。","viewthread.php?tid=$tid");
  4.         }
复制代码


============================================

post.php 找

  1. if(empty($bbcodeoff) && !$allowhidecode && preg_match("/\[hide=?\d*\].+?\[\/hide\]/is", preg_replace("/(\[code\](.+?)\[\/code\])/is", ' ', $message))) {
  2.         showmessage('post_hide_nopermission');
  3. }
复制代码


之下加入

  1.         if($maxprice == 0 && preg_match("/\[sell=\d*\].+?\[\/sell\]/is", preg_replace("/(\[code\].*\[\/code\])/is", '', $message))) {
  2.                 showmessage("抱歉!您的用户组不可发表出售,请返回。");        
  3.         }
复制代码


============================================

topicadmin.php 找 ( 以下是删除主题后将付费记录删除 )

  1.                                 $db->query("DELETE FROM {$tablepre}polls WHERE tid IN ($moderatetids)", 'UNBUFFERED');
复制代码


之下加入

  1.                                 $db->query("DELETE FROM {$tablepre}paymentlog WHERE tid IN ($moderatetids)", 'UNBUFFERED');
复制代码


再找

  1. } elseif($action == 'refund' && $allowrefund && $thread['price'] > 0) {
复制代码


之上加入 ( 紧记加在上面 )

  1. } elseif($action == 'closerefund' && $allowrefund && $thread['price'] > 0) {

  2.         if(!isset($extcredits[$creditstrans])) {
  3.                 showmessage('credits_transaction_disabled');
  4.         }

  5.         if(!submitcheck('refundsubmit')) {
  6.                 include template('topicadmin_refund');
  7.         } else {

  8.         $db->query("UPDATE {$tablepre}threads SET price='-3', moderated='1' WHERE tid='$thread[tid]'");

  9.         showmessage("终止出售完成,现正进入主题。", "viewthread.php?tid=$tid");

  10.         }
复制代码


再找 ( 以下是强制退款后将付费记录删除 )

  1.                 $db->query("UPDATE {$tablepre}paymentlog SET amount='0', netamount='0' WHERE tid='$tid'");
复制代码


 改为

  1.                 $db->query("DELETE FROM {$tablepre}paymentlog WHERE tid='$tid'");
复制代码


再找 ( 以下是合并主题后将付费记录删除 )

  1.                 $db->query("DELETE FROM {$tablepre}threadsmod WHERE tid='$othertid'");
复制代码


之下加入

  1.                 $db->query("DELETE FROM {$tablepre}paymentlog WHERE tid='$othertid'");
复制代码


============================================

include/threadpay.inc.php 找

  1.                 $post['dateline'] = gmdate("$dateformat $timeformat", $post['dateline'] + $timeoffset * 3600);;
复制代码


改为 这句有错 $timeoffset * 3600);; <-- 多了一个 ; 所以顺手改回正确

  1.                 $post['dateline'] = gmdate("$dateformat $timeformat", $post['dateline'] + $timeoffset * 3600);
  2.                 $post['message'] = preg_replace("/\[sell=\d*\](.+?)\[\/sell\]/is", "**** 付费信息,已经隐藏 ****", $post['message']);
复制代码


============================================

include/newthread.inc.php 找

  1.         $price = $maxprice && !$special ? ($price <= $maxprice ? $price : $maxprice) : 0;
复制代码


改为

  1. //----------------------------- 检查最高售价开始 --------------------------------
  2.         if($price){
  3.         if($price > $maxprice) {
  4.         $price = $maxprice;
  5.         }
  6.                 $message="[sell=".$price."]".$message."[/sell]";

  7.         }elseif(preg_match("/\[sell=\d*\].+?\[\/sell\]/is", preg_replace("/(\[code\].*\[\/code\])/is", '', $message))){

  8.         if(!$price && preg_match("/\s*(.+?)\s*\[sell=\d*\].+?\[\/sell\]\s*(.+?)\s*/is", $message)) {
  9.         $postsell = preg_replace("/\s*(.+?)\s*\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\](.*)/ies", "\\2", $message);
  10.         $price = isset($postsell) ? (float)$postsell : '';
  11.         if($price > $maxprice) {
  12.         $price = $maxprice;
  13.         }
  14.         $message = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/is", '\[sell='.$price.'\]\\2\[\/sell\]', $message);

  15.         }elseif(!$price && preg_match("/\[sell=\d*\].+?\[\/sell\]\s*(.+?)\s*/is", $message)) {
  16.         $postsell = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\](.*)/ies", "\\1", $message);
  17.         $price = isset($postsell) ? (float)$postsell : '';
  18.         if($price > $maxprice) {
  19.         $price = $maxprice;
  20.         }
  21.         $message = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/is", '\[sell='.$price.'\]\\2\[\/sell\]', $message);

  22.         }elseif(!$price && preg_match("/\s*(.+?)\s*\[sell=\d*\].+?\[\/sell\]/is", $message)) {
  23.         $postsell = preg_replace("/\s*(.+?)\s*\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/ies", "\\2", $message);
  24.         $price = isset($postsell) ? (float)$postsell : '';
  25.         if($price > $maxprice) {
  26.         $price = $maxprice;
  27.         }
  28.         $message = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/is", '\[sell='.$price.'\]\\2\[\/sell\]', $message);

  29.         }elseif(!$price && preg_match("/\[sell=\d*\].+?\[\/sell\]/is", $message)) {
  30.         $postsell = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/ies", "\\1", $message);
  31.         $price = isset($postsell) ? (float)$postsell : '';
  32.         if($price > $maxprice) {
  33.         $price = $maxprice;
  34.         }
  35.         $message = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/is", '\[sell='.$price.'\]\\2\[\/sell\]', $message);

  36.         }
  37.         }
  38. //----------------------------- 检查最高售价结束 --------------------------------
复制代码


============================================
回复

使用道具 举报

 楼主| 5025488.net 发表于 2006-9-18 12:29:55 | 显示全部楼层
============================================

include/newreply.inc.php 找

  1. if(empty($thread)) {
  2.         showmessage('thread_nonexistence');
  3. } elseif($thread['price'] > 0) {
  4.         if($thread['special'] == 0) {
  5.                 if(!$discuz_uid) {
  6.                         showmessage('group_nopermission', NULL, 'NOPERM');
  7.                 } elseif(!$forum['ismoderator'] && $thread['authorid'] != $discuz_uid) {
  8.                         $query = $db->query("SELECT tid FROM {$tablepre}paymentlog WHERE tid='$tid' AND uid='$discuz_uid'");
  9.                         if(!$db->num_rows($query)) {
  10.                                 showmessage('undefined_action', NULL, 'HALTED');
  11.                         }
  12.                 }
  13.         }
  14. }
复制代码


改为 ( 以上数据库查询已无用,可将它减去 )

  1. if(empty($thread)) {
  2.         showmessage('thread_nonexistence');
  3. }
复制代码


再找

  1.                 $message = preg_replace("/\[hide=?\d*\](.+?)\[\/hide\]/is", "[b]$language[post_hidden][/b]", $message);
复制代码


之下加入

  1.                 $message = preg_replace("/\[sell=\d*\](.+?)\[\/sell\]/is", "[b]**** 付费信息,已经隐藏 ****[/b]", $message);
复制代码


再找

  1.                         $post['message'] = preg_replace("/\[hide=?\d*\](.+?)\[\/hide\]/is", "[b]$language[post_hidden][/b]", $post['message']);
复制代码


之下加入

  1.                         $post['message'] = preg_replace("/\[sell=\d*\](.+?)\[\/sell\]/is", "[b]**** 付费信息,已经隐藏 ****[/b]", $post['message']);
复制代码


再找

  1.         require_once DISCUZ_ROOT.'./include/forum.func.php';
复制代码


之下加入

  1.         if(preg_match("/\[sell=\d*\].+?\[\/sell\]/is", preg_replace("/(\[code\].*\[\/code\])/is", '', $message))) {
  2.                 showmessage('抱歉!回复不可使用出售代码,请返回修改。');
  3.         }
复制代码


============================================

templates/default/post_newthread.htm

找以下删除

  1. {lang post_price_free_comment}
复制代码


============================================

include/editpost.inc.php 找

  1.                         $price = $thread['price'] < 0 && !$thread['special'] ?
  2.                                 ($isorigauthor || !$price ? -1 : $price) :
  3.                                 ($maxprice ? ($price <= $maxprice ? ($price > 0 ? $price : 0) : $maxprice) : ($isorigauthor ? 0 : $thread['price']));
复制代码


改为

  1. //-----------------------------检查最高售价开始--------------------------------
  2.         if($price != '-1' || $price != '-2' || $price != '-3') {

  3.         if($price > 0 && preg_match("/\[sell=\d*\].+?\[\/sell\]/is", $message)) {

  4.         if(preg_match("/\[sell=\d*\].+?\[\/sell\]/is", preg_replace("/(\[code\].*\[\/code\])/is", '', $message))){

  5.         if($price > 0 && preg_match("/\s*(.+?)\s*\[sell=\d*\].+?\[\/sell\]\s*(.+?)\s*/is", $message)) {
  6.         $postsell = preg_replace("/\s*(.+?)\s*\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\](.*)/ies", "\\2", $message);
  7.         }elseif($price > 0 && preg_match("/\[sell=\d*\].+?\[\/sell\]\s*(.+?)\s*/is", $message)) {
  8.         $postsell = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\](.*)/ies", "\\1", $message);
  9.         }elseif($price > 0 && preg_match("/\s*(.+?)\s*\[sell=\d*\].+?\[\/sell\]/is", $message)) {
  10.         $postsell = preg_replace("/\s*(.+?)\s*\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/ies", "\\2", $message);
  11.         }elseif($price > 0 && preg_match("/\[sell=\d*\].+?\[\/sell\]/is", $message)) {
  12.         $postsell = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/ies", "\\1", $message);
  13.         }
  14.         $postsell = isset($postsell) ? (float)$postsell : '';
  15.         if($thread['price'] != $postsell){
  16.                 $price = $postsell;
  17.         }
  18.         if($price > $maxprice) {
  19.         $price = $maxprice;
  20.         }
  21.                 $message = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/is", '\[sell='.$price.'\]\\2\[\/sell\]', $message);
  22.         }

  23.         }elseif(!$price && preg_match("/\[sell=\d*\].+?\[\/sell\]/is", $message)) {

  24.         if(preg_match("/\[sell=\d*\].+?\[\/sell\]/is", preg_replace("/(\[code\].*\[\/code\])/is", '', $message))){

  25.         if(!$price && preg_match("/\s*(.+?)\s*\[sell=\d*\].+?\[\/sell\]\s*(.+?)\s*/is", $message)) {
  26.         $postsell = preg_replace("/\s*(.+?)\s*\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\](.*)/ies", "\\2", $message);
  27.         }elseif(!$price && preg_match("/\[sell=\d*\].+?\[\/sell\]\s*(.+?)\s*/is", $message)) {
  28.         $postsell = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\](.*)/ies", "\\1", $message);
  29.         }elseif(!$price && preg_match("/\s*(.+?)\s*\[sell=\d*\].+?\[\/sell\]/is", $message)) {
  30.         $postsell = preg_replace("/\s*(.+?)\s*\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/ies", "\\2", $message);
  31.         }elseif(!$price && preg_match("/\[sell=\d*\].+?\[\/sell\]/is", $message)) {
  32.         $postsell = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/ies", "\\1", $message);
  33.         }
  34.         $price = isset($postsell) ? (float)$postsell : '';
  35.         if($price > $maxprice) {
  36.         $price = $maxprice;
  37.         }
  38.                 $message = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/is", '\[sell='.$price.'\]\\2\[\/sell\]', $message);
  39.         }

  40.         }elseif($price > 0 && !preg_match("/\[sell=\d*\].+?\[\/sell\]/is", $message)) {
  41.         if($price > $maxprice) {
  42.         $price = $maxprice;
  43.         }
  44.                 $message = "[sell=".$price."]".$message."[/sell]";
  45.         }
  46.         }
  47. //-----------------------------检查最高售价结束--------------------------------
复制代码


再找

  1. if($subject == '' && $message == '') {
复制代码


之上加入 ( 紧记加在上面 )

  1.         if($postnumber > 1 && preg_match("/\[sell=\d*\].+?\[\/sell\]/is", preg_replace("/(\[code\].*\[\/code\])/is", '', $message))){
  2.                 showmessage('抱歉!回复不可使用出售代码,请返回修改。');
  3.         }
复制代码


============================================

include/discuzcode.func.php 找

  1.         global $discuzcodes, $credits, $tid, $discuz_uid, $highlight, $maxsmilies, $db, $tablepre, $ishide;
复制代码


改为

  1.         global $discuzcodes, $credits, $tid, $discuz_uid, $highlight, $maxsmilies, $db, $tablepre, $ishide, $nopay, $pricepay, $paytimes;
复制代码


再找

  1.         if(!$bbcodeoff && $allowbbcode) {
复制代码


之上加入 ( 紧记加在上面 )

  1. //--------------------- 出售内容开始 -------------------------
  2.         if($pricepay && preg_match("/\[sell=\d*\].+?\[\/sell\]/is", $message)) {

  3.         if($pricepay == '-1' && preg_match("/\[sell=\d*\].+?\[\/sell\]/is", $message)) {
  4.         $message = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/is", "<fieldset style="padding: 5px;width:97%;border:1px solid ".BORDERCOLOR."" align="center"><legend>&nbsp;<span class='outertxt'>出 售 无 效</span>&nbsp;&nbsp;</legend><table align='center' border='0' width='97%' cellspacing='6' cellpadding='0'><tr><td>本主题被 [强制退款],所有付费者已得到退款。</td></tr></table></fieldset><br><br>\\2", $message);

  5.         }elseif($pricepay == '-2' && preg_match("/\[sell=\d*\].+?\[\/sell\]/is", $message)) {
  6.         $message = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/is", "<br><TABLE cellPadding='3' cellSpacing='1' width='97%' align='center' class='tableborder'><TR><TD class='header' align='center'>超 过 出 售 时 限<TR><TD align='center' class='altbg2'><table border='0' width='100%' cellspacing='3' cellpadding='0'><tr align='center'><td>编号 : <input type='text' value='$tid' size='8'></td><td>价格 : <input type='text' value='0' size='6'></td><td>出售时限己过期 : <input type='text' value='0' size='6'> 小时</td><td><a href='misc.php?action=viewpayments&tid=$tid'>[ 付费名单 ]</a></td></tr><tr><td colspan='4'><FIELDSET style='width:100%;border:1px double ".BORDERCOLOR."'><LEGEND>&nbsp;&nbsp;<span class='outertxt'>感 谢 所 有 己 付 费 者</span>&nbsp;&nbsp;</LEGEND><br>&nbsp; &nbsp; 本主题自发表起已超过最长出售时限,现已免费查看。<br><br></FIELDSET></td></tr></table></td></tr></table><br>\\2", $message);

  7.         }elseif($pricepay == '-3' && preg_match("/\[sell=\d*\].+?\[\/sell\]/is", $message)) {
  8.         $message = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/is", "<br><TABLE cellPadding='3' cellSpacing='1' width='97%' align='center' class='tableborder'><TR><TD class='header' align='center'>终 止 出 售<TR><TD align='center' class='altbg2'><table border='0' width='100%' cellspacing='3' cellpadding='0'><tr align='center'><td>编号 : <input type='text' value='$tid' size='8'></td><td>价格 : <input type='text' value='0' size='6'></td><td>出售时限剩余 : <input type='text' value='0' size='6'> 小时</td><td><a href='misc.php?action=viewpayments&tid=$tid'>[ 付费名单 ]</a></td></tr><tr><td colspan='4'><FIELDSET style='width:100%;border:1px double ".BORDERCOLOR."'><LEGEND>&nbsp;&nbsp;<span class='outertxt'>感 谢 所 有 己 付 费 者</span>&nbsp;&nbsp;</LEGEND><br>&nbsp; &nbsp; 本主题被 [终止出售],现已免费查看。<br><br></FIELDSET></td></tr></table></td></tr></table><br>\\2", $message);

  9.         }else{

  10.         if($nopay == '1') {
  11.                 if(!$discuz_uid) {
  12.         $paymessage = "非论坛会员无权购买,请 [ <a href='logging.php?action=login'>登陆</a> ] 或者 [ <a href='register.php'>注册</a> ]。";
  13.                 }else{
  14.         $paymessage = "请付费查看本帖出售内容&nbsp;&nbsp;<a href="viewthread.php?tid=$tid&pay=pay">[ 我要付费 ]</a>";
  15.                 }
  16.         $message = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/is", "<br><TABLE cellPadding='3' cellSpacing='1' width='97%' align='center' class='tableborder'><TR><TD class='header' align='center'>收 费 单<TR><TD align='center' class='altbg2'><table border='0' width='100%' cellspacing='3' cellpadding='0'><tr align='center'><td>编号 : <input type='text' value='$tid' size='8'></td><td>价格 : <input type='text' value='$pricepay' size='6'></td><td>出售时限剩余 : <input type='text' value='$paytimes' size='6'> 小时</td><td><a href='misc.php?action=viewpayments&tid=$tid'>[ 付费名单 ]</a></td></tr><tr><td colspan='4'><FIELDSET style='width:100%;border:1px double ".BORDERCOLOR."'><LEGEND>&nbsp;&nbsp;<span class='outertxt'>收 费 单</span>&nbsp;&nbsp;</LEGEND><br>&nbsp; &nbsp; $paymessage<br><br></FIELDSET></td></tr></table></td></tr></table><br>", $message);
  17.         }else{
  18.         $message = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/is", "<br><TABLE cellPadding='3' cellSpacing='1' width='97%' align='center' class='tableborder'><TR><TD class='header' align='center'>付 费 证 明<TR><TD align='center' class='altbg2'><table border='0' width='100%' cellspacing='3' cellpadding='0'><tr align='center'><td>编号 : <input type='text' value='$tid' size='8'></td><td>价格 : <input type='text' value='$pricepay' size='6'></td><td>出售时限剩余 : <input type='text' value='$paytimes' size='6'> 小时</td><td><a href='misc.php?action=viewpayments&tid=$tid'>[ 付费名单 ]</a></td></tr><tr><td colspan='4'><FIELDSET style='width:100%;border:1px double ".BORDERCOLOR."'><LEGEND>&nbsp;&nbsp;<span class='outertxt'>感 谢 您 的 付 费</span>&nbsp;&nbsp;</LEGEND><br>&nbsp; &nbsp; 您可以查看以下内容。如发现非法骗财、可以向 版主投诉。<br>&nbsp; &nbsp; 经查证骗财、会被强制退款,将全数款项退还所有已付费者。<br><br></FIELDSET></td></tr></table></td></tr></table><br>\\2", $message);
  19.         }
  20.                 }
  21.         }
  22. //--------------------- 出售内容结束 -------------------------
复制代码


============================================

include/printable.inc.php 找

  1. while($post = $db->fetch_array($query)) {
复制代码


之下加入

  1.         if($nopay){
  2.         $post['message'] = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/is", "**** 付费信息,已经隐藏 ****", $post['message']);
  3.         }
复制代码


再找 ( 以下是将 可打印版本 在无权查看时不显示内容 )

  1.         if($post['attachment']) {
复制代码


 改为

  1.         if($post['attachment'] && !$nopay && !$ishide) {
复制代码


============================================

templates/default/post_editpost.htm 找

  1. <!--{if $maxprice && $isfirstpost && !$thread['special']}-->
  2.         <tr>
  3.         <td class="altbg1"><span class="bold">{lang price}</span>({$extcredits[$creditstrans][title]})</td>
  4.         <td class="altbg2">
  5.         <!--{if $thread['price'] == -1 || $thread['freecharge']}-->
  6.                 <input type="text" name="price" size="6" value="$thread[pricedisplay]" disabled> <span class="smalltxt">{$extcredits[$creditstrans][unit]}&nbsp;
  7.                 <!--{if $thread['price'] == -1}-->({lang post_price_refunded})<!--{else}-->({lang post_price_free})<!--{/if}-->
  8.                 </span>
  9.         <!--{else}-->
  10.                 <input type="text" name="price" size="6" value="$thread[pricedisplay]"> <span class="smalltxt">{$extcredits[$creditstrans][unit]} ({lang post_price_comment}<!--{if $maxincperthread}-->{lang post_price_income_comment}<!--{/if}--><!--{if $maxchargespan}-->{lang post_price_charge_comment}<!--{/if}-->)</span>
  11.                 {lang post_price_free_comment}
  12.         <!--{/if}-->
  13.         </td></tr>
  14. <!--{/if}-->
复制代码


 改为

  1. <!--{if $maxprice && $isfirstpost && !$thread['special'] && $postnumber == '1'}-->
  2.         <tr>
  3.         <td class="altbg1">{lang price}({$extcredits[$creditstrans][title]}):</td>
  4.         <td class="altbg2">
  5.         <!--{if $thread['price'] == -1 || $thread['price'] == -2 || $thread['price'] == -3 || $thread['freecharge']}-->
  6.                 <input type="hidden" name="price" value="$thread[price]">
  7.                 <input type="text" size="6" value="0" disabled> <span class="smalltxt">{$extcredits[$creditstrans][unit]}&nbsp;
  8.                 <!--{if $thread['price'] == -3}-->({lang post_price_closerefund})
  9.                 <!--{elseif $thread['price'] == -1}-->({lang post_price_refunded})<!--{else}-->({lang post_price_free})<!--{/if}-->
  10.                 </span></td>
  11.         <!--{else}-->
  12.                 <input type="text" name="price" size="6" value="$thread[pricedisplay]"> <span class="smalltxt">{$extcredits[$creditstrans][unit]} ({lang post_price_comment}<!--{if $maxincperthread}-->{lang post_price_income_comment}<!--{/if}--><!--{if $maxchargespan}-->{lang post_price_charge_comment}<!--{/if}-->)</span></td>
  13.         <!--{/if}-->
  14.         </tr>
  15. <!--{/if}-->
复制代码


再拉到最底再找

  1. <input type="hidden" name="pid" value="$pid">
复制代码


之下加入

  1. <input type="hidden" name="postnumber" value="$postnumber">
复制代码


=====================================================

templates/default/templates.lang.php 找


  1.         'post_price_refunded' => '本主题被强制退款',
复制代码


之下加入

  1.         'post_price_closerefund' => '本主题被终止出售',
复制代码



再找
  1.         'admin_refund' => '强制退款',
复制代码


之下加入

  1.         'admin_closerefund' => '终止出售',
复制代码


============================================

templates/default/viewthread.htm 找

  1.         &nbsp; <a href="misc.php?action=viewpayments&amp;tid=$tid">{lang price_thread} {$extcredits[$creditstrans][title]} <span class="bold">$thread[price]</span> {$extcredits[$creditstrans][unit]}</a> &nbsp;
复制代码


之下加入

  1.         <!--{if $forum['ismoderator'] && $thread['authorid'] != $discuz_uid}--><a href="misc.php?action=pay&tid=$tid">友情付费</a> &nbsp;<!--{/if}-->
复制代码


再找

  1. <!--{if $ishide && $post['attachments'] && !$post['attachment']}-->
复制代码


改为

  1. <!--{if ($ishide || $nopay) && $post['attachments'] && !$post['attachment']}-->
复制代码


再找

  1.         <!--{if $forum['ismoderator'] || $post['authorid'] == $discuz_uid}-->&nbsp;<a href="post.php?action=edit&amp;fid=$fid&amp;tid=$tid&amp;pid=$post[pid]&amp;page=$page&amp;extra=$extra">{lang edit}</a> &nbsp;<!--{/if}-->
复制代码


改为

  1.         <!--{if $forum['ismoderator'] || $post['authorid'] == $discuz_uid}-->&nbsp;<a href="post.php?action=edit&amp;fid=$fid&amp;tid=$tid&amp;pid=$post[pid]&amp;page=$page&amp;extra=$extra&postnumber=$post[number]">{lang edit}</a> &nbsp;<!--{/if}-->
复制代码


再找

  1.         <!--{if $thread['price'] > 0 && $allowrefund && $thread['special'] == 0}--><option value="refund">{lang admin_refund}</option><!--{/if}-->
复制代码


改为

  1.         <!--{if $thread['price'] > 0 && $allowrefund && $thread['special'] == 0}--><option value="refund">{lang admin_refund}</option><option value="closerefund">{lang admin_closerefund}</option><!--{/if}-->
复制代码


============================================

templates/default/viewthread_printable.htm  找

( 这修改 是 可打印版本 显示图片真实地址 )

  1.                         {lang attach_img}: <!--{if $attach['description']}-->[{$attach[description]}]<!--{/if}--> <b>$attach[filename]</b> ($attach[dateline], $attach[attachsize]) / {lang attach_download_count} $attach[downloads]<br>{$boardurl}attachment.php?aid=$attach[aid]<br><br><img src="$attachurl/$attach[attachment]" border="0" onload="if(this.width >screen.width*0.8) this.width=screen.width*0.8" alt="" />
复制代码


改为

  1.                         {lang attach_img}: <!--{if $attach['description']}-->[{$attach[description]}]<!--{/if}--> <b>$attach[filename]</b> ($attach[dateline], $attach[attachsize]) / {lang attach_download_count} $attach[downloads]<br>{$boardurl}attachment.php?aid=$attach[aid]<br><br><img src="attachment.php?aid=$attach[aid]" border="0" onload="if(this.width >screen.width*0.8) this.width=screen.width*0.8" alt="" />
复制代码


=====================================================

templates/default/topicadmin_refund.htm 找

  1. <form method="post" action="topicadmin.php?action=refund">
复制代码


之上加入 ( 紧记加在上面 )

  1. <!--{if $action == 'closerefund'}-->
  2. <form method="post" action="topicadmin.php?action=closerefund">
  3. <input type="hidden" name="formhash" value="{FORMHASH}">
  4. <table cellspacing="{INNERBORDERWIDTH}" cellpadding="{TABLESPACE}" width="{TABLEWIDTH}" align="center" class="tableborder">
  5. <tr class="header">
  6. <td colspan="2">{lang admin_closerefund}</td>
  7. </tr>
  8. <tr>
  9. <td class="altbg1" width="21%">{lang username}:</td>
  10. <td class="altbg2">$discuz_userss <span class="smalltxt">[<a href="$link_logout">{lang member_logout}</a>]</span></td>
  11. </tr>

  12. </table><br>
  13. <input type="hidden" name="fid" value="$fid">
  14. <input type="hidden" name="tid" value="$tid">
  15. <center><input type="submit" name="refundsubmit" value="{lang admin_closerefund}"></center>
  16. </form>
  17.         <!--{else}-->
复制代码


再找

  1. {template footer}
复制代码


之上加入 ( 紧记加在上面 )

  1. <!--{/if}-->
复制代码


============================================
       ~ 完 ~
============================================
回复

使用道具 举报

M55 发表于 2006-9-18 12:31:05 | 显示全部楼层

沙发

回复

使用道具 举报

 楼主| 5025488.net 发表于 2006-9-18 12:31:18 | 显示全部楼层
占位更新

[ 本帖最后由 5025488.net 于 2006-12-18 10:53 编辑 ]
回复

使用道具 举报

M55 发表于 2006-9-18 12:31:36 | 显示全部楼层
传说中的高手终于出山了…………
回复

使用道具 举报

 楼主| 5025488.net 发表于 2006-9-18 12:31:40 | 显示全部楼层
原帖由 M55 于 2006-9-18 12:31 发表

回复

使用道具 举报

fzqkensou 发表于 2006-9-18 12:32:08 | 显示全部楼层
强烈支持!!顶死你!!!

不过修改的太多 强烈要求出 打过911补丁的傻瓜安装包

[ 本帖最后由 fzqkensou 于 2006-9-18 12:33 编辑 ]
回复

使用道具 举报

M55 发表于 2006-9-18 12:34:02 | 显示全部楼层

回复 #5 5025488.net 的帖子

不够我快
回复

使用道具 举报

M55 发表于 2006-9-18 12:34:42 | 显示全部楼层
原帖由 5025488.net 于 2006-9-18 12:31 发表


回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 03:50 , Processed in 0.041801 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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