原帖由 夜の郎 于 2006-1-17 01:07 发表
没检体的
升级旧有出售主题帖 补回完整出售价格
基於大部份人也是升级论坛 而旧有的出售帖也失效
所以做了这程式 只要有人进入该主题帖 而主题帖是有出售代码
程式会自动将这主题帖 补回整套完整的出售价格代码
https://discuz.dismall.com/viewthread.php?tid=222579
首先要安装了以上 ↑ 本人发布的出售 [sell=??] 出售内容插件
以下 是测试地址 以下这区内全部贴也是有出售代码
但没有d4功能的出售价格 大家可进入测试
可看到怎样补回 ↓ 整套完整的出售价格代码
http://discuz40.lthung.net/forumdisplay.php?fid=4
修改方法简单 viewthread.php 找
- $post['count'] = $postcount++;
复制代码
之下加入 注意:程式以下这句 20 是最高价格 你可自行设定多少
$setmaxprice = 20; // 补回并限制最大出售价格
只要旧有出售代码的出售价格 高出你的设定价格 会默认为最高的出售数值
若你加入了以下 将来所有出售帖子也恢复正常出售 可将这程式删除
- //-----------------------------检查最高售价--------------------------------
- if($post['number'] == '1' && $thread['price'] == '0' && !preg_match("/\[sell=\].+?\[\/sell\]/is", $post['message']) && !preg_match("/\[sell=0\].+?\[\/sell\]/is", $post['message']) && preg_match("/\[sell=\d*\].+?\[\/sell\]/is", preg_replace("/(\[code\].*\[\/code\])/is", '', $post['message']))){
- $setmaxprice = 20; // 最大出售价格
- if($thread['price'] == '0' && preg_match("/\s*(.+?)\s*\[sell=\d*\].+?\[\/sell\]\s*(.+?)\s*/is", $post['message'])) {
- $postsell = preg_replace("/\s*(.+?)\s*\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\](.*)/ies", "\\2", $post['message']);
- $price = isset($postsell) ? (float)$postsell : '';
- if($price > $setmaxprice) {
- $price = $setmaxprice;
- }
- $post['message'] = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/is", '\[sell='.$price.'\]\\2\[\/sell\]', $post['message']);
- $db->query("UPDATE {$tablepre}threads SET price='$price' WHERE tid='$tid'");
- showmessage("旧有出售代码主题补回价格完成,现正重新进入主题。","viewthread.php?tid=$tid");
- }elseif($thread['price'] == '0' && preg_match("/\[sell=\d*\].+?\[\/sell\]\s*(.+?)\s*/is", $post['message'])) {
- $postsell = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\](.*)/ies", "\\1", $post['message']);
- $price = isset($postsell) ? (float)$postsell : '';
- if($price > $setmaxprice) {
- $price = $setmaxprice;
- }
- $post['message'] = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/is", '\[sell='.$price.'\]\\2\[\/sell\]', $post['message']);
- $db->query("UPDATE {$tablepre}threads SET price='$price' WHERE tid='$tid'");
- showmessage("旧有出售代码主题补回价格完成,现正重新进入主题。","viewthread.php?tid=$tid");
- }elseif($thread['price'] == '0' && preg_match("/\s*(.+?)\s*\[sell=\d*\].+?\[\/sell\]/is", $post['message'])) {
- $postsell = preg_replace("/\s*(.+?)\s*\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/ies", "\\2", $post['message']);
- $price = isset($postsell) ? (float)$postsell : '';
- if($price > $setmaxprice) {
- $price = $setmaxprice;
- }
- $post['message'] = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/is", '\[sell='.$price.'\]\\2\[\/sell\]', $post['message']);
- $db->query("UPDATE {$tablepre}threads SET price='$price' WHERE tid='$tid'");
- showmessage("旧有出售代码主题补回价格完成,现正重新进入主题。","viewthread.php?tid=$tid");
- }elseif($thread['price'] == '0' && preg_match("/\[sell=\d*\].+?\[\/sell\]/is", $post['message'])) {
- $postsell = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/ies", "\\1", $post['message']);
- $price = isset($postsell) ? (float)$postsell : '';
- if($price > $setmaxprice) {
- $price = $setmaxprice;
- }
- $post['message'] = preg_replace("/\[sell=(\d+)\]\s*(.+?)\s*\[\/sell\]/is", '\[sell='.$price.'\]\\2\[\/sell\]', $post['message']);
- $db->query("UPDATE {$tablepre}threads SET price='$price' WHERE tid='$tid'");
- showmessage("旧有出售代码主题补回价格完成,现正重新进入主题。","viewthread.php?tid=$tid");
- }
- }
- //-----------------------------检查最高售价--------------------------------
复制代码
[ 本帖最后由 別問我是誰 于 2006-1-17 06:21 编辑 ] |