[問題]關於文章隱藏
版主: 版主管理群
[問題]關於文章隱藏
我爬遍了所有相關文章
要嘛用積分 不然就付費 Hide MOD太陽春且極易造成灌水\r
就是找不到以發表新主題數為隱藏條件的方式
不想用Cash MOD那麼龐雜的機制\r
Points System MOD似僅提供積分機制\r
需搭配其他MOD才能達到隱藏文章的效果
但[原創]文章加密機制這篇提供的連結已無效
又無提供該MOD原名
該文中所提到的無限論壇用的是LB5000及Invision(跟phpBB何關?)
在phpBBHacks.com找到頭都暈了也沒找到\r
我只要以發新主題數(回覆數不計)為隱藏條件的MOD
請問哪位大大能指點迷津?
要嘛用積分 不然就付費 Hide MOD太陽春且極易造成灌水\r
就是找不到以發表新主題數為隱藏條件的方式
不想用Cash MOD那麼龐雜的機制\r
Points System MOD似僅提供積分機制\r
需搭配其他MOD才能達到隱藏文章的效果
但[原創]文章加密機制這篇提供的連結已無效
又無提供該MOD原名
該文中所提到的無限論壇用的是LB5000及Invision(跟phpBB何關?)
在phpBBHacks.com找到頭都暈了也沒找到\r
我只要以發新主題數(回覆數不計)為隱藏條件的MOD
請問哪位大大能指點迷津?
Re: [問題]關於文章隱藏
搜尋 Advanced Hide Post 。webspirit 寫:我只要以發新主題數(回覆數不計)為隱藏條件的MOD
請問哪位大大能指點迷津?
不過它沒有辦法以主題數作為瀏覽條件,它是看你的發文數(主題數+回覆數)。
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。
搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。
搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
這倒不一定。webspirit 寫:發表100篇主題跟發表100篇回覆的結果相同(等級一樣)
但實質意義卻完全不同(前者為授,後者為受)
有人發表主題,內容可能只有簡單一、二句話,然後等待別人耐心、不厭其煩,甚至可以說是精闢的回覆解答。
但是有人上來發表主題,發表的是一篇內容精彩的教學,長達數千甚至是數萬字。
發表主題如此,回覆文章也是如此。
所以是「授」還是「受」,這和「主題」或是「回覆」沒有絕對關係,而是看發表人自己。
「主題」與「回覆」只是發表方式以及先後順序不同罷了,用其中任何一種發表方式來評斷等級,反而有欠公平
説的白一點,不管是「總發表數」或是「主題數」或是「回覆數」,只要 USER 灌水,等級不也是照樣狂升嗎?
我在我的論壇上就時常向 USER 宣導不要把等級看的太重,發表內容實在不實在才是重要。
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。
搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。
搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
我也正想找能夠以發表數為隱藏條件的mod
●架設主機作業系統:Windows Xp Pro
●快速架站程式:RaidenHTTPD
●您的上網方式:學術網
●您安裝的程式:RaidenHTTPD + php + MySql 3.x + MDaemon 6.0.8
●您的 phpBB2 版本:phpBB plus 1.3 中文版
小殘的窩 :
http://emn178.idv.st/
●快速架站程式:RaidenHTTPD
●您的上網方式:學術網
●您安裝的程式:RaidenHTTPD + php + MySql 3.x + MDaemon 6.0.8
●您的 phpBB2 版本:phpBB plus 1.3 中文版
小殘的窩 :
http://emn178.idv.st/
想要把發表和回覆分開
最直接的辦法就是在資料庫增加一個回覆數的欄位吧\r
然後再回覆的php那邊增加一個回覆數+1的語法
然後總posts減掉回覆數就是發表數了
不過資料已經存在的話就只能手動改回覆數了吧\r
最後再寫出以發表數為條件的隱藏方法
我自己寫的都會有莫名的bug存在...
最直接的辦法就是在資料庫增加一個回覆數的欄位吧\r
然後再回覆的php那邊增加一個回覆數+1的語法
然後總posts減掉回覆數就是發表數了
不過資料已經存在的話就只能手動改回覆數了吧\r
最後再寫出以發表數為條件的隱藏方法
我自己寫的都會有莫名的bug存在...
●架設主機作業系統:Windows Xp Pro
●快速架站程式:RaidenHTTPD
●您的上網方式:學術網
●您安裝的程式:RaidenHTTPD + php + MySql 3.x + MDaemon 6.0.8
●您的 phpBB2 版本:phpBB plus 1.3 中文版
小殘的窩 :
http://emn178.idv.st/
●快速架站程式:RaidenHTTPD
●您的上網方式:學術網
●您安裝的程式:RaidenHTTPD + php + MySql 3.x + MDaemon 6.0.8
●您的 phpBB2 版本:phpBB plus 1.3 中文版
小殘的窩 :
http://emn178.idv.st/
以user_posts為條件的隱藏寫出來ㄌ
只要在分出review就行了
現在就不知道回覆文章時
資料庫user_posts增加的語法在哪裡
只要在分出review就行了
現在就不知道回覆文章時
資料庫user_posts增加的語法在哪裡
●架設主機作業系統:Windows Xp Pro
●快速架站程式:RaidenHTTPD
●您的上網方式:學術網
●您安裝的程式:RaidenHTTPD + php + MySql 3.x + MDaemon 6.0.8
●您的 phpBB2 版本:phpBB plus 1.3 中文版
小殘的窩 :
http://emn178.idv.st/
●快速架站程式:RaidenHTTPD
●您的上網方式:學術網
●您安裝的程式:RaidenHTTPD + php + MySql 3.x + MDaemon 6.0.8
●您的 phpBB2 版本:phpBB plus 1.3 中文版
小殘的窩 :
http://emn178.idv.st/
我寫出來了
以下是把發表和回覆分開的程式碼\r
我是用plus 1.3
不知道和phpbb有沒有差別
以下是把發表和回覆分開的程式碼\r
代碼: 選擇全部
在SQL資料庫的phpbb_users資料表格中,增加一個user_reply欄位在user_posts後面\r
欄位 類型 長度 屬性 Null 內定值 額外
user_reply MEDIUMNIT 8 UNSIGNED not null 0
================================================================================
開啟
functions_post.php
================================================================================
尋找\r
if ($mode == 'delete')
{
if ($count_posts)
{
$sign = "- 1";
}
else
{
$sign = "";
}
}
else
{
if ($count_posts)
{
$sign = "+ 1";
}
else
{
$sign = "";
}
}
================================================================================
前面加上
//reply and posts mod by emn178
$reply = false;
$sqlp = "SELECT p.post_id, p.topic_id
FROM " . POSTS_TABLE . " p
WHERE forum_id = $forum_id";
$resultat = $db->sql_query($sqlp);
while($row = $db->sql_fetchrow($resultat))
{
if($topic_id == $row['topic_id'])
$postid[] = $row['post_id'];
}
if(count($postid) > 1)
{
for($i = 0;$i < count($postid);$i++)
{
if($post_id > $postid[$i])
$reply = true;
}
}
//reply and posts mod by emn178
================================================================================
並改成
if ($mode == 'delete')
{
if ($count_posts)
{
$sign = "- 1";
if($reply == true)
$replysign = "- 1";
}
else
{
$sign = "";
}
}
else
{
if ($count_posts)
{
$sign = "+ 1";
if($mode == 'reply')
$replysign = "+ 1";
}
else
{
$sign = "";
}
}
================================================================================
開啟
viewtopic.php
================================================================================
尋找\r
$poster_posts = ( $postrow[$i]['user_id'] != ANONYMOUS ) ? $lang['Posts'] . ': ' . $postrow[$i]['user_posts'] : '';
================================================================================
後面加上
$poster_topic = ( $postrow[$i]['user_id'] != ANONYMOUS ) ? $lang['Topics'] . ': ' . ($postrow[$i]['user_posts'] - $postrow[$i]['user_reply']) : '';
$poster_reply = ( $postrow[$i]['user_id'] != ANONYMOUS ) ? $lang['Replies'] . ': ' . $postrow[$i]['user_reply'] : '';
================================================================================
尋找\r
'POSTER_POSTS' => $poster_posts,
================================================================================
後面加上
'POSTER_TOPICS' => $poster_topic,
'POSTER_REPLIES' => $poster_reply,
================================================================================
開啟
viewtopic_body.tpl
================================================================================
尋找\r
{postrow.POSTER_POSTS}<br />
================================================================================
後面加上
{postrow.POSTER_TOPICS}<br />
{postrow.POSTER_REPLIES}<br />
================================================================================
開啟
profilcp_public_base.php
================================================================================
尋找\r
$posts_per_day = $view_userdata['user_posts'] / $memberdays;
================================================================================
後面加上
$topic = $view_userdata['user_posts'] - $view_userdata['user_reply'];
$reply = $view_userdata['user_reply'];
================================================================================
尋找\r
'L_TOTAL_POSTS' => $lang['Total_posts'],
================================================================================
後面加上
'L_TOTAL_TOPICS' => $lang['Topics'],
'L_TOTAL_REPLIES' => $lang['Replies'],
================================================================================
尋找\r
'POSTS' => $nb_posts,
================================================================================
後面加上
'TOPICS' => $topic,
'REPLIES' => $reply,
================================================================================
開啟
public_base_body.tpl
================================================================================
尋找\r
<tr>
<td valign="top" align="right" nowrap="nowrap"><span class="gen">{L_TOTAL_POSTS}: </span></td>
<td valign="top">
<span class="gen"><b>{POSTS}</b></span><br />
<!-- BEGIN switch_post_stat -->
<span class="genmed">[{POST_PERCENT_STATS} / {POST_DAY_STATS}]</span><br />
<span class="genmed"><a href="{U_SEARCH_USER}" class="genmed">{L_SEARCH_USER_POSTS}</a></span>
<!-- END switch_post_stat -->
</tr>
================================================================================
改成
<tr>
<td valign="top" align="right" nowrap="nowrap"><span class="gen">{L_TOTAL_POSTS}: </span></td>
<td valign="top">
<span class="gen"><b>{POSTS}</b></span>
</tr>
<tr>
<td valign="top" align="right" nowrap="nowrap"><span class="gen">{L_TOTAL_TOPICS}: </span></td>
<td valign="top">
<span class="gen"><b>{TOPICS}</b></span>
</tr>
<tr>
<td valign="top" align="right" nowrap="nowrap"><span class="gen">{L_TOTAL_REPLIES}: </span></td>
<td valign="top">
<span class="gen"><b>{REPLIES}</b></span><br />
<!-- BEGIN switch_post_stat -->
<span class="genmed">[{POST_PERCENT_STATS} / {POST_DAY_STATS}]</span><br />
<span class="genmed"><a href="{U_SEARCH_USER}" class="genmed">{L_SEARCH_USER_POSTS}</a></span></td>
<!-- END switch_post_stat -->
</tr>
================================================================================
不知道和phpbb有沒有差別
●架設主機作業系統:Windows Xp Pro
●快速架站程式:RaidenHTTPD
●您的上網方式:學術網
●您安裝的程式:RaidenHTTPD + php + MySql 3.x + MDaemon 6.0.8
●您的 phpBB2 版本:phpBB plus 1.3 中文版
小殘的窩 :
http://emn178.idv.st/
●快速架站程式:RaidenHTTPD
●您的上網方式:學術網
●您安裝的程式:RaidenHTTPD + php + MySql 3.x + MDaemon 6.0.8
●您的 phpBB2 版本:phpBB plus 1.3 中文版
小殘的窩 :
http://emn178.idv.st/
以下是配合上面分離發表與回覆的功能\r
用途是以發表數為條件的隱藏文章
DEMO:
http://emn178.idv.st
使用友善列印的話:
使用儲存主題的話:
使用新聞快報的話:
使用主題預覽的話:
使用new mod的話:
以下為BBCode按鈕,但僅適用plus1.3或有安裝此mod的人\r
','
===============================================
後面加上
,'[post=10]','[/post]'
===============================================
變成
bbtags = new Array('','','','','','','[quote]','[/quote]','','
===============================================
[/code]
用途是以發表數為條件的隱藏文章
DEMO:
http://emn178.idv.st
代碼: 選擇全部
===============================================
開啟
bbcode.php
===============================================
尋找\r
$bbcode_tpl['email'] = str_replace('{EMAIL}', '\\\1', $bbcode_tpl['email']);
===============================================
後面加上
$bbcode_tpl['post'] = str_replace('{HTEXTE}', '\\\2', $bbcode_tpl['post']);
$bbcode_tpl['hpost'] = str_replace('{NEEDPOSTS}', '\\\1', $bbcode_tpl['hpost']);
===============================================
尋找\r
/**
* Does second-pass bbencoding. This should be used before displaying the message in
* a thread. Assumes the message is already first-pass encoded, and we are given the
* correct UID as used in first-pass encoding.
*/
===============================================
前面加上
\n
function bbencode_post_pass_first($text,$uid,$x)
{
$needposts = preg_replace("#(.*?)\[post=([0-9]?[0-9]?[0-9]):$uid\](.*?)\[/post:$uid\](.*?)#si","\\\2 ", $text);
$poststropsn = strpos($needposts, " ");
$needposts = substr($needposts,0,$poststropsn);
$posttext1 = "[post=" . $needposts . ":$uid]";
$posttext2 = "[/post:$uid]";
$poststrops1 = strpos($text, $posttext1);
$poststrops2 = strpos($text, $posttext2);
if($x == 0)
{
if($poststrops1 > -1 && $poststrops2 > -1)
{
return TRUE;
}
else
{
return FALSE;
}
}
else
return $needposts;
}
function bbencode_post_pass($text,$uid,$poster_id)
{
global $bbcode_tpl,$userdata;
$user_posts = $userdata['user_posts'] - $userdata['user_reply'];
$needposts = preg_replace("#(.*?)\[post=([0-9]?[0-9]?[0-9]):$uid\](.*?)\[/post:$uid\](.*?)#si","\\\2 ", $text);
$poststropsn = strpos($needposts, " ");
$needposts = substr($needposts,0,$poststropsn);
// pad it with a space so we can distinguish between FALSE and matching the 1st char (index 0).
// This is important; bbencode_quote(), bbencode_list(), and bbencode_code() all depend on it.
$text = " " . $text;
// Patterns and replacements for URL and email tags..
$patterns = array();
$replacements = array();
if ( $user_posts >= $needposts || $userdata['user_id'] == $poster_id)
{
$patterns[0] = "#\[post=(.*?):$uid\](.*?)\[/post:$uid\]#si";
$replacements[0] = $bbcode_tpl['post'];
}
else
{
$patterns[0] = "#\[post=(.*?):$uid\](.*?)\[/post:$uid\]#si";
$replacements[0] = $bbcode_tpl['hpost'];
}
$text = preg_replace($patterns, $replacements, $text);
$text = substr($text, 1);
return $text;
}
===============================================
尋找\r
===============================================
// [stream] and [/stream] for streaming audio.
// This one gets first-passed..
$patterns[] = "#\[stream:$uid\](.*?)\[/stream:$uid\]#si";
$replacements[] = $bbcode_tpl['stream'];
===============================================
下面加入\r
===============================================
// [post]text[/post] code..
$patterns[] = "#\[post=([0-9]?[0-9]?[0-9]):$uid\](.*?)\[/post:$uid\]#si";
$replacements[] = $bbcode_tpl['post'];
===============================================
開啟
bbcode.tpl
===============================================
最前面加上
<!-- BEGIN post -->
</span>
<table border="0" align="center" width="90%" cellpadding="3" cellspacing="1">
<tr>
<td><span class="genmed"><b>以下為發表數隱藏文章內容,看完後請務必修改剛剛的留言,說一下心得感想喔....</b></span></td>
</tr>
<tr>
<td class="quote">
{HTEXTE}
</td>
</tr>
</table>
<span class="postbody">
<!-- END post -->
<!-- BEGIN hpost -->
</span>
<table border="0" align="center" width="90%" cellpadding="3" cellspacing="1">
<tr>
<td><span class="genmed"><b>神秘內容:</b></span></td>
</tr>
<tr>
<td class="quote">
<center>--- 假如已是*註冊會員*:那麼您得發表總數必須達到<font color="#FF0000">{NEEDPOSTS}篇</font>才能看到完整的文章! ---<p>上傳很辛苦,請給發表者一點鼓勵吧!</center>
</td>
</tr>
</table>
<span class="postbody">
<!-- END hpost -->
===============================================
開啟
posting.php
===============================================
尋找\r
if( !$html_on )
{
if( $user_sig != '' || !$userdata['user_allowhtml'] )
{
$user_sig = preg_replace('#(<)([\/]?.*?)(>)#is', '<\2>', $user_sig);
}
}
===============================================
後面加上
//post mod
$setpost = FALSE;
$setpost = bbencode_post_pass_first($preview_message,$bbcode_uid,0);
//post mod
===============================================
尋找\r
$user_sig = bbencode_second_pass($user_sig, $userdata['user_sig_bbcode_uid']);
===============================================
後面加上
if($setpost == true)
$user_sig = bbencode_post_pass($user_sig,$userdata['user_sig_bbcode_uid'],$post_data['poster_id']);
===============================================
尋找\r
$preview_message = bbencode_second_pass($preview_message, $bbcode_uid);
===============================================
後面加上
if($setpost == true)
$preview_message = bbencode_post_pass($preview_message,$bbcode_uid,$post_data['poster_id']);
===============================================
開啟
viertopic.php
===============================================
尋找\r
if ( $board_config['allow_bbcode'] )
===============================================
後面加上
//post mod
$setpost = FALSE;
$setpost = bbencode_post_pass_first($postrow[$i]['post_text'],$bbcode_uid,0);
//post mod
===============================================
尋找\r
$user_sig = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($user_sig, $user_sig_bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $user_sig);
===============================================
後面加上
if($setpost == TRUE)
$user_sig = bbencode_post_pass($user_sig,$bbcode_uid,$poster_id);
===============================================
尋找\r
$message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);
===============================================
後面加上
if($setpost == TRUE)
$message = bbencode_post_pass($message,$bbcode_uid,$poster_id);
===============================================
隱藏附加檔案的話:
===============================================
尋找\r
display_post_attachments($postrow[$i]['post_id'], $postrow[$i]['post_attachment']);
===============================================
改成
if($setpost == true)
{
$needposts = bbencode_post_pass_first($postrow[$i]['post_text'],$bbcode_uid,1);
if($postrow[$i]['user_posts'] >= $needposts || $postrow[$i]['poster_id'] == $userdata['user_id'])
display_post_attachments($postrow[$i]['post_id'], $postrow[$i]['post_attachment']);
}
else
display_post_attachments($postrow[$i]['post_id'], $postrow[$i]['post_attachment']);
===============================================
開啟
include/topic_review.php
===============================================
尋找\r
if ( $row = $db->sql_fetchrow($result) )
{
===============================================
下面加入\r
//post mod
$setpost = false;
$setpost = bbencode_post_pass_first($row['post_text'],$bbcode_uid,0);
//post mod
===============================================
尋找\r
$message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);
$message = bbencode_third_pass($message, $bbcode_uid, $valid);
===============================================
下面加入\r
if($setpost == true)
$message = bbencode_post_pass($message,$bbcode_uid,$poster_id);
===============================================
開啟
language/.../lang_main.php
===============================================
搜索\r
$lang['bbcode_sc_help'] = '你可以使用此功能產生不同的表情符號';
===============================================
後面加上
$lang['bbcode_post_help'] = "隱藏內容:[post=發表數]隱藏文字內容[/post]";
註:如果有使用熱鍵的話可以自己加上去\r
===============================================
代碼: 選擇全部
===============================================
開啟
printview.php
===============================================
尋找\r
for($i = 0; $i < $total_posts; $i++)
{
===============================================
後面加上
//post mod
$setpost = false;
$setpost = bbencode_post_pass_first($postrow[$i]['post_text'],$postrow[$i]['bbcode_uid'],0);
//post mod
===============================================
尋找\r
$message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);
===============================================
後面加上
if($setpost == true)
$message = bbencode_post_pass($message,$bbcode_uid,$poster_id);
===============================================
代碼: 選擇全部
===============================================
開啟
export.php
===============================================
尋找\r
for($i = 0; $i < $total_posts; $i++)
{
===============================================
後面加上
//post mod
$setpost = false;
$setpost = bbencode_post_pass_first($postrow[$i]['post_text'],$postrow[$i]['bbcode_uid'],0);
//post mod
===============================================
尋找\r
$message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);
===============================================
後面加上
if($setpost == true)
$message = bbencode_post_pass($message,$bbcode_uid,$poster_id);
===============================================
代碼: 選擇全部
===============================================
開啟
includes/news.php
===============================================
尋找\r
$message = str_replace("
", "
<br />
", $message);
===============================================
前面加上
//post mod
$setpost = false;
$setpost = bbencode_post_pass_first($news[$i]['post_text'],$bbcode_uid,0);
//post mod
===============================================
後面加上
if($setpost == true)
$message = bbencode_post_pass($message,$bbcode_uid,$poster_id);
===============================================
代碼: 選擇全部
===============================================
開啟
viewforum.php
===============================================
尋找\r
$topic_content = strip_tags($topic_content);
===============================================
後面加上
//post mod
$setpost = false;
$setpost = bbencode_post_pass_first($topic_rowset[$i]['post_text'],$bbcode_uid,0);
$needposts = bbencode_post_pass_first($topic_rowset[$i]['post_text'],$bbcode_uid,1);
$posttext1 = "[post=" . $needposts . ":" . $bbcode_uid . "]";
$posttext2 = "[/post:" . $bbcode_uid ."]";
$poststrops1 = strpos($topic_content, $posttext1);
$poststrops2 = strpos($topic_content, $posttext2);
$postcontent1 = substr($topic_content,0,$poststrops1);
$postcontent2 = substr($topic_content,$poststrops2 + 18,strlen($topic_content) - ($poststrops2 + 18));
$postcontent = substr($topic_content,$poststrops1+strlen($needposts)+17,$poststrops3 - ($poststrops1+strlen($needposts)+17));
if($postcontent1 != "")
$postcontent1 = $postcontent1 . "
";
if($postcontent2 != "")
$postcontent2 = "
" . $postcontent2;
if($setpost == true)
{
if($userdata['user_posts'] >= $needposts || $userdata['user_id'] == $topic_rowset[$i]['poster_id'])
$topic_content = $postcontent1 . $lang['PostHideShowStart'] . $postcontent . $lang['PostHideShowEnd'] . $postcontent2;
else
$topic_content = $postcontent1 . $lang['PostHide'] . $postcontent2;
}
//post mod
===============================================
開啟
language/.../lang_main.php
===============================================
搜索\r
//
// That's all, Folks!
// -------------------------------------------------
===============================================
前面加上
$lang['PostHideShowStart'] = "***===以下為發表數隱藏文章內容===***
";
$lang['PostHideShowEnd'] = "
***===以上為發表數隱藏文章內容===***";
$lang['PostHide'] = "***===內文隱藏===***
神秘內容:
你必須達到規定的發表數才能觀看
***===內文隱藏===***";
===============================================
代碼: 選擇全部
===============================================
開啟
fetchposts.php
===============================================
尋找\r
//
// do a little magic
// note: part of this comes from mds' news script and some additional magics from Smartor
//
===============================================
前面加上
//post mod
$setpost = false;
$setpost = bbencode_post_pass_first($posts[$i]['post_text'],$posts[$i]['bbcode_uid'],0);
//post mod
===============================================
尋找\r
if (($text_length == 0) or (strlen($posts[$i]['post_text']) <= $text_length))
{
$posts[$i]['post_text'] = bbencode_second_pass($posts[$i]['post_text'], $posts[$i]['bbcode_uid']);
$posts[$i]['striped'] = 0;
}
else
{
$posts[$i]['post_text'] = bbencode_strip($posts[$i]['post_text'], $posts[$i]['bbcode_uid']);
$posts[$i]['post_text'] = substr($posts[$i]['post_text'], 0, $text_length) . '...';
$posts[$i]['striped'] = 1;
}
===============================================
改成
===============================================
if (($text_length == 0) or (strlen($posts[$i]['post_text']) <= $text_length))
{
$posts[$i]['post_text'] = bbencode_second_pass($posts[$i]['post_text'], $posts[$i]['bbcode_uid']);
$posts[$i]['striped'] = 0;
}
else
{
if($setpost == false)
{
$posts[$i]['post_text'] = bbencode_strip($posts[$i]['post_text'], $posts[$i]['bbcode_uid']);
$posts[$i]['post_text'] = substr($posts[$i]['post_text'], 0, $text_length) . '...';
}
else
{
$posttext2 = "[/post:" . $posts[$i]['bbcode_uid'] . "]";
$poststrops2 = strpos($posts[$i]['post_text'], $posttext2);
$px = $poststrops2 + 18;
if($sethide == true && $setpost == true)
{
if($text_length > $px)
$posts[$i]['post_text'] = substr($posts[$i]['post_text'], 0, $text_length) . '...';
else
$posts[$i]['post_text'] = substr($posts[$i]['post_text'], 0, $text_length) . '...' . "[/post:" . $posts[$i]['bbcode_uid'] . "]";
}
}
$posts[$i]['striped'] = 1;
}
===============================================
尋找\r
$posts[$i]['post_text'] = nl2br($posts[$i]['post_text']);
===============================================
後面加上
if($setpost == true)
$posts[$i]['post_text'] = bbencode_post_pass($posts[$i]['post_text'],1,$posts[$i]['poster_id']);
===============================================
代碼: 選擇全部
===============================================
開啟
posting.php
===============================================
尋找\r
// EASYMOD-begin
//NOTE: the first element of each array must be '' Add new elements AFTER the ''
$EMBB_keys = array('','e','k','m','g','s','h','d','v','j','n','x','y','z') ;
$EMBB_widths = array('','52','52','52','52','52','52','52','52','52','52','52','52','52') ;
$EMBB_values = array('','Fade','Scroll','Flash','Glow','Shadow','Highlight','Align','FlipV','FlipH','Stream','Left','Right','PHP') ;
===============================================
再第一行後面加上
,'Post'
註:此為熱鍵,如果已經不夠了才用這個
===============================================
第二行
,'52'
===============================================
第三行
,'Post'
===============================================
使變成
// EASYMOD-begin
//NOTE: the first element of each array must be '' Add new elements AFTER the ''
$EMBB_keys = array('','e','k','m','g','s','h','d','v','j','n','x','y','z','Post') ;
$EMBB_widths = array('','52','52','52','52','52','52','52','52','52','52','52','52','52','52') ;
$EMBB_values = array('','Fade','Scroll','Flash','Glow','Shadow','Highlight','Align','FlipV','FlipH','Stream','Left','Right','PHP','Post') ;
===============================================
尋找\r
'L_BBCODE_SC_HELP' => $lang['bbcode_sc_help'],
===============================================
後面加上
'L_BBCODE_POST_HELP' => $lang['bbcode_post_help'],
===============================================
開啟
posting_body.tpl
===============================================
尋找\r
sc_help = "{L_BBCODE_SC_HELP}";
===============================================
後面加上
Post_help = "{L_BBCODE_POST_HELP}";
===============================================
尋找\r
bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','
- ','
- ','
===============================================
後面加上
,'[post=10]','[/post]'
===============================================
變成
bbtags = new Array('','','','','','','[quote]','[/quote]','
代碼: 選擇全部
','
- ','
- ','
===============================================
[/code]
最後由 emn178 於 2004-04-04 20:50 編輯,總共編輯了 3 次。
●架設主機作業系統:Windows Xp Pro
●快速架站程式:RaidenHTTPD
●您的上網方式:學術網
●您安裝的程式:RaidenHTTPD + php + MySql 3.x + MDaemon 6.0.8
●您的 phpBB2 版本:phpBB plus 1.3 中文版
小殘的窩 :
http://emn178.idv.st/
●快速架站程式:RaidenHTTPD
●您的上網方式:學術網
●您安裝的程式:RaidenHTTPD + php + MySql 3.x + MDaemon 6.0.8
●您的 phpBB2 版本:phpBB plus 1.3 中文版
小殘的窩 :
http://emn178.idv.st/
目前是沒遇到什麼問題
不過我在寫的時候是以同時安裝Hide mod的情況去寫
所以比較複雜
這裡發表的是用我原來寫的簡化結果
但沒在phpbb上測試所以還不知道
大家測試一下看有沒有問題吧\r
另外因為回覆數的分開是後來加上去的
所以舊的資料會把之前回覆都算做發表了
除非一開始就裝或者手動更改舊的資料
不過我在寫的時候是以同時安裝Hide mod的情況去寫
所以比較複雜
這裡發表的是用我原來寫的簡化結果
但沒在phpbb上測試所以還不知道
大家測試一下看有沒有問題吧\r
另外因為回覆數的分開是後來加上去的
所以舊的資料會把之前回覆都算做發表了
除非一開始就裝或者手動更改舊的資料
●架設主機作業系統:Windows Xp Pro
●快速架站程式:RaidenHTTPD
●您的上網方式:學術網
●您安裝的程式:RaidenHTTPD + php + MySql 3.x + MDaemon 6.0.8
●您的 phpBB2 版本:phpBB plus 1.3 中文版
小殘的窩 :
http://emn178.idv.st/
●快速架站程式:RaidenHTTPD
●您的上網方式:學術網
●您安裝的程式:RaidenHTTPD + php + MySql 3.x + MDaemon 6.0.8
●您的 phpBB2 版本:phpBB plus 1.3 中文版
小殘的窩 :
http://emn178.idv.st/
按錯了 我是要修改的emn178 寫:以下是配合上面分離發表與回覆的功能\r
用途是以發表數為條件的隱藏文章
DEMO:
http://emn178.idv.st
使用友善列印的話:代碼: 選擇全部
=============================================== 開啟 bbcode.php =============================================== 尋找\r $bbcode_tpl['email'] = str_replace('{EMAIL}', '\\\1', $bbcode_tpl['email']); =============================================== 後面加上 $bbcode_tpl['post'] = str_replace('{HTEXTE}', '\\\2', $bbcode_tpl['post']); $bbcode_tpl['hpost'] = str_replace('{NEEDPOSTS}', '\\\1', $bbcode_tpl['hpost']); =============================================== 尋找\r /** * Does second-pass bbencoding. This should be used before displaying the message in * a thread. Assumes the message is already first-pass encoded, and we are given the * correct UID as used in first-pass encoding. */ =============================================== 前面加上 function bbencode_post_pass_first($text,$uid,$x) { $needposts = preg_replace("#(.*?)\[post=([0-9]?[0-9]?[0-9]):$uid\](.*?)\[/post:$uid\](.*?)#si","\\\2 ", $text); $poststropsn = strpos($needposts, " "); $needposts = substr($needposts,0,$poststropsn); $posttext1 = "[post=" . $needposts . ":$uid]"; $posttext2 = "[/post:$uid]"; $poststrops1 = strpos($text, $posttext1); $poststrops2 = strpos($text, $posttext2); if($x == 0) { if($poststrops1 > -1 && $poststrops2 > -1) { return TRUE; } else { return FALSE; } } else return $needposts; } function bbencode_post_pass($text,$uid,$poster_id) { global $bbcode_tpl,$userdata; $user_posts = $userdata['user_posts'] - $userdata['user_reply']; $needposts = preg_replace("#(.*?)\[post=([0-9]?[0-9]?[0-9]):$uid\](.*?)\[/post:$uid\](.*?)#si","\\\2 ", $text); $poststropsn = strpos($needposts, " "); $needposts = substr($needposts,0,$poststropsn); // pad it with a space so we can distinguish between FALSE and matching the 1st char (index 0). // This is important; bbencode_quote(), bbencode_list(), and bbencode_code() all depend on it. $text = " " . $text; // Patterns and replacements for URL and email tags.. $patterns = array(); $replacements = array(); if ( $user_posts >= $needposts || $userdata['user_id'] == $poster_id) { $patterns[0] = "#\[post=(.*?):$uid\](.*?)\[/post:$uid\]#si"; $replacements[0] = $bbcode_tpl['post']; } else { $patterns[0] = "#\[post=(.*?):$uid\](.*?)\[/post:$uid\]#si"; $replacements[0] = $bbcode_tpl['hpost']; } $text = preg_replace($patterns, $replacements, $text); $text = substr($text, 1); return $text; } =============================================== 開啟 bbcode.tpl =============================================== 最前面加上 <!-- BEGIN post --> </span> <table border="0" align="center" width="90%" cellpadding="3" cellspacing="1"> <tr> <td><span class="genmed"><b>以下為發表數隱藏文章內容,看完後請務必修改剛剛的留言,說一下心得感想喔....</b></span></td> </tr> <tr> <td class="quote"> {HTEXTE} </td> </tr> </table> <span class="postbody"> <!-- END post --> <!-- BEGIN hpost --> </span> <table border="0" align="center" width="90%" cellpadding="3" cellspacing="1"> <tr> <td><span class="genmed"><b>神秘內容:</b></span></td> </tr> <tr> <td class="quote"> <center>--- 假如已是*註冊會員*:那麼您得發表總數必須達到<font color="#FF0000">{NEEDPOSTS}篇</font>才能看到完整的文章! ---<p>上傳很辛苦,請給發表者一點鼓勵吧!</center> </td> </tr> </table> <span class="postbody"> <!-- END hpost --> =============================================== 開啟 posting.php =============================================== 尋找\r if( !$html_on ) { if( $user_sig != '' || !$userdata['user_allowhtml'] ) { $user_sig = preg_replace('#(<)([\/]?.*?)(>)#is', '<\2>', $user_sig); } \n} =============================================== 後面加上 //post mod $setpost = FALSE; $setpost = bbencode_post_pass_first($preview_message,$bbcode_uid,0); //post mod =============================================== 尋找\r $user_sig = bbencode_second_pass($user_sig, $userdata['user_sig_bbcode_uid']); =============================================== 後面加上 if($setpost == true) $user_sig = bbencode_post_pass($user_sig,$userdata['user_sig_bbcode_uid'],$post_data['poster_id']); =============================================== 尋找\r $preview_message = bbencode_second_pass($preview_message, $bbcode_uid); =============================================== 後面加上 if($setpost == true) $preview_message = bbencode_post_pass($preview_message,$bbcode_uid,$post_data['poster_id']); =============================================== 開啟 viertopic.php =============================================== 尋找\ if ( $board_config['allow_bbcode'] ) =============================================== 後面加上 //post mod $setpost = FALSE; $setpost = bbencode_post_pass_first($postrow[$i]['post_text'],$bbcode_uid,0); //post mod =============================================== 尋找\r $user_sig = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($user_sig, $user_sig_bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $user_sig); =============================================== 後面加上 if($setpost == TRUE) $user_sig = bbencode_post_pass($user_sig,$bbcode_uid,$poster_id); =============================================== 尋找\r $message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message); =============================================== 後面加上 if($setpost == TRUE) $message = bbencode_post_pass($message,$bbcode_uid,$poster_id); =============================================== 隱藏附加檔案的話: =============================================== 尋找\r display_post_attachments($postrow[$i]['post_id'], $postrow[$i]['post_attachment']); =============================================== 改成 if($setpost == true) { $needposts = bbencode_post_pass_first($postrow[$i]['post_text'],$bbcode_uid,1); if($postrow[$i]['user_posts'] >= $needposts || $postrow[$i]['poster_id'] == $userdata['user_id']) display_post_attachments($postrow[$i]['post_id'], $postrow[$i]['post_attachment']); } else display_post_attachments($postrow[$i]['post_id'], $postrow[$i]['post_attachment']); =============================================== 開啟 include/topic_review.php =============================================== 尋找\r if ( $row = $db->sql_fetchrow($result) ) { =============================================== 下面加入\r //post mod $setpost = false; $setpost = bbencode_post_pass_first($row['post_text'],$bbcode_uid,0); //post mod =============================================== 尋找\r $message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message); $message = bbencode_third_pass($message, $bbcode_uid, $valid); =============================================== 下面加入\r if($setpost == true) $message = bbencode_post_pass($message,$bbcode_uid,$poster_id); =============================================== 開啟 language/.../lang_main.php =============================================== 搜索\r $lang['bbcode_sc_help'] = '你可以使用此功能產生不同的表情符號'; =============================================== 後面加上 $lang['bbcode_post_help'] = "隱藏內容:[post=發表數]隱藏文字內容[/post]"; 註:如果有使用熱鍵的話可以自己加上去\r ===============================================
使用儲存主題的話:代碼: 選擇全部
=============================================== 開啟 printview.php =============================================== 尋找\r for($i = 0; $i < $total_posts; $i++) { =============================================== 後面加上 //post mod $setpost = false; $setpost = bbencode_post_pass_first($postrow[$i]['post_text'],$postrow[$i]['bbcode_uid'],0); //post mod =============================================== 尋找\r $message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message); =============================================== 後面加上 if($setpost == true) $message = bbencode_post_pass($message,$bbcode_uid,$poster_id); ===============================================
使用新聞快報的話:代碼: 選擇全部
=============================================== 開啟 export.php =============================================== 尋找\r for($i = 0; $i < $total_posts; $i++) { =============================================== 後面加上 //post mod $setpost = false; $setpost = bbencode_post_pass_first($postrow[$i]['post_text'],$postrow[$i]['bbcode_uid'],0); //post mod =============================================== 尋找\r $message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message); =============================================== 後面加上 if($setpost == true) $message = bbencode_post_pass($message,$bbcode_uid,$poster_id); ===============================================
使用主題預覽的話:代碼: 選擇全部
=============================================== 開啟 includes/news.php =============================================== 尋找\r $message = str_replace(" ", " <br /> ", $message); =============================================== 前面加上 //post mod $setpost = false; $setpost = bbencode_post_pass_first($news[$i]['post_text'],$bbcode_uid,0); //post mod =============================================== 後面加上 if($setpost == true) $message = bbencode_post_pass($message,$bbcode_uid,$poster_id); ===============================================
使用new mod的話:代碼: 選擇全部
=============================================== 開啟 viewforum.php =============================================== 尋找\r $topic_content = strip_tags($topic_content); =============================================== 後面加上 //post mod $setpost = false; $setpost = bbencode_post_pass_first($topic_rowset[$i]['post_text'],$bbcode_uid,0); $needposts = bbencode_post_pass_first($topic_rowset[$i]['post_text'],$bbcode_uid,1); $posttext1 = "[post=" . $needposts . ":" . $bbcode_uid . "]"; $posttext2 = "[/post:" . $bbcode_uid ."]"; $poststrops1 = strpos($topic_content, $posttext1); $poststrops2 = strpos($topic_content, $posttext2); $postcontent1 = substr($topic_content,0,$poststrops1); $postcontent2 = substr($topic_content,$poststrops2 + 18,strlen($topic_content) - ($poststrops2 + 18)); $postcontent = substr($topic_content,$poststrops1+strlen($needposts)+17,$poststrops3 - ($poststrops1+strlen($needposts)+17)); if($postcontent1 != "") $postcontent1 = $postcontent1 . " "; if($postcontent2 != "") $postcontent2 = " " . $postcontent2; if($setpost == true) { if($userdata['user_posts'] >= $needposts || $userdata['user_id'] == $topic_rowset[$i]['poster_id']) $topic_content = $postcontent1 . $lang['PostHideShowStart'] . $postcontent . $lang['PostHideShowEnd'] . $postcontent2; else $topic_content = $postcontent1 . $lang['PostHide'] . $postcontent2; } //post mod =============================================== 開啟 language/.../lang_main.php =============================================== 搜索\r // // That's all, Folks! // ------------------------------------------------- =============================================== 前面加上 $lang['PostHideShowStart'] = "***===以下為發表數隱藏文章內容===*** "; $lang['PostHideShowEnd'] = " ***===以上為發表數隱藏文章內容===***"; $lang['PostHide'] = "***===內文隱藏===*** 神秘內容: 你必須達到規定的發表數才能觀看 ***===內文隱藏===***"; ===============================================
以下為BBCode按鈕,但僅適用plus1.3或有安裝此mod的人\r代碼: 選擇全部
=============================================== 開啟 fetchposts.php =============================================== 尋找\r // // do a little magic // note: part of this comes from mds' news script and some additional magics from Smartor // =============================================== 前面加上 //post mod $setpost = false; $setpost = bbencode_post_pass_first($posts[$i]['post_text'],$posts[$i]['bbcode_uid'],0); //post mod =============================================== 尋找\r if (($text_length == 0) or (strlen($posts[$i]['post_text']) <= $text_length)) { $posts[$i]['post_text'] = bbencode_second_pass($posts[$i]['post_text'], $posts[$i]['bbcode_uid']); $posts[$i]['striped'] = 0; } else { $posts[$i]['post_text'] = bbencode_strip($posts[$i]['post_text'], $posts[$i]['bbcode_uid']); $posts[$i]['post_text'] = substr($posts[$i]['post_text'], 0, $text_length) . '...'; $posts[$i]['striped'] = 1; } =============================================== 改成\r =============================================== if (($text_length == 0) or (strlen($posts[$i]['post_text']) <= $text_length)) { $posts[$i]['post_text'] = bbencode_second_pass($posts[$i]['post_text'], $posts[$i]['bbcode_uid']); $posts[$i]['striped'] = 0; } else { if($setpost == false) { $posts[$i]['post_text'] = bbencode_strip($posts[$i]['post_text'], $posts[$i]['bbcode_uid']); $posts[$i]['post_text'] = substr($posts[$i]['post_text'], 0, $text_length) . '...'; } else { $posttext2 = "[/post:" . $posts[$i]['bbcode_uid'] . "]"; $poststrops2 = strpos($posts[$i]['post_text'], $posttext2); $px = $poststrops2 + 18; if($sethide == true && $setpost == true) { if($text_length > $px) $posts[$i]['post_text'] = substr($posts[$i]['post_text'], 0, $text_length) . '...'; else $posts[$i]['post_text'] = substr($posts[$i]['post_text'], 0, $text_length) . '...' . "[/post:" . $posts[$i]['bbcode_uid'] . "]"; } } $posts[$i]['striped'] = 1; } =============================================== 尋找\r $posts[$i]['post_text'] = nl2br($posts[$i]['post_text']); =============================================== 後面加上 if($setpost == true) $posts[$i]['post_text'] = bbencode_post_pass($posts[$i]['post_text'],1,$posts[$i]['poster_id']); ===============================================
','代碼: 選擇全部
=============================================== 開啟 posting.php =============================================== 尋找\r // EASYMOD-begin //NOTE: the first element of each array must be '' Add new elements AFTER the '' $EMBB_keys = array('','e','k','m','g','s','h','d','v','j','n','x','y','z') ; $EMBB_widths = array('','52','52','52','52','52','52','52','52','52','52','52','52','52') ; $EMBB_values = array('','Fade','Scroll','Flash','Glow','Shadow','Highlight','Align','FlipV','FlipH','Stream','Left','Right','PHP') ; =============================================== 再第一行後面加上 ,'Post' 註:此為熱鍵,如果已經不夠了才用這個 =============================================== 第二行 ,'52' =============================================== 第三行 ,'Post' =============================================== 使變成 // EASYMOD-begin //NOTE: the first element of each array must be '' Add new elements AFTER the '' $EMBB_keys = array('','e','k','m','g','s','h','d','v','j','n','x','y','z','Post') ; $EMBB_widths = array('','52','52','52','52','52','52','52','52','52','52','52','52','52','52') ; $EMBB_values = array('','Fade','Scroll','Flash','Glow','Shadow','Highlight','Align','FlipV','FlipH','Stream','Left','Right','PHP','Post') ; =============================================== 尋找\r 'L_BBCODE_SC_HELP' => $lang['bbcode_sc_help'], =============================================== 後面加上 'L_BBCODE_POST_HELP' => $lang['bbcode_post_help'], =============================================== 開啟 posting_body.tpl =============================================== 尋找\r sc_help = "{L_BBCODE_SC_HELP}"; =============================================== 後面加上 Post_help = "{L_BBCODE_POST_HELP}"; =============================================== 尋找\r bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','
','
- ','
','[img]','[/img]','','','[fade]','[/fade]','[scroll]','[/scroll]','[flash width=100 height=100]','[/flash]','[glow=red]','[/glow]','[shadow=red]','[/shadow]','[highlight=red]','[/highlight]','[align=center]','[/align]','[flipv]','[/flipv]','[fliph]','[/fliph]','[stream]','[/stream]','[left]','[/left]','[right]','[/right]','[php]','[/php]');
- ','
===============================================
後面加上
,'[post=10]','[/post]'
===============================================
變成
bbtags = new Array('','','','','','','','','','代碼: 選擇全部
','
','
- ','
','[img]','[/img]','','','[fade]','[/fade]','[scroll]','[/scroll]','[flash width=100 height=100]','[/flash]','[glow=red]','[/glow]','[shadow=red]','[/shadow]','[highlight=red]','[/highlight]','[align=center]','[/align]','[flipv]','[/flipv]','[fliph]','[/fliph]','[stream]','[/stream]','[left]','[/left]','[right]','[/right]','[php]','[/php]','[post=10]','[/post]');
- ','
===============================================
[/code]
●架設主機作業系統:Windows Xp Pro
●快速架站程式:RaidenHTTPD
●您的上網方式:學術網
●您安裝的程式:RaidenHTTPD + php + MySql 3.x + MDaemon 6.0.8
●您的 phpBB2 版本:phpBB plus 1.3 中文版
小殘的窩 :
http://emn178.idv.st/
●快速架站程式:RaidenHTTPD
●您的上網方式:學術網
●您安裝的程式:RaidenHTTPD + php + MySql 3.x + MDaemon 6.0.8
●您的 phpBB2 版本:phpBB plus 1.3 中文版
小殘的窩 :
http://emn178.idv.st/