[外掛] 隱藏部份付費瀏覽內文 - 修改測試
版主: 版主管理群
解鈴還須繫鈴人!~倉木麻衣~ 寫:找到問題點了~
原因出在tpl裡的變數錯誤
已重新將檔案打包上傳了
請重新下載並覆蓋attach_mod_fix目錄裡的displaying.php及viewtopic_attach_body.tpl檔
重新上傳新檔後, 終於成功了!
感謝您的協助!
參考連結:
http://wang5555.dnsfor.me/phpbb2/viewtopic. ... 7355#27355
嗯 我還有個小問題
我有安裝Shrink Attached Image Mod
這個是可以把附件縮小不破壞版面\r
但我發現有個地方不知道要怎樣改\r
在倉木麻衣兄的attach_mod_extra.txt中 提到templates/subSilver/viewtopic_attach_body.tpl的這段\r
而Shrink Attached Image Mod中在templates/subSilver/viewtopic_attach_body.tpl處也是要修改這個地方如下:
於是小弟自己試著修改 我的改法如下:
我改完後 依舊有縮圖的效果 但是出現一個問題
就是當圖太大時 原本點擊該圖後就會在另一個視窗打開
但是我這樣改完後 在點擊該圖後 卻變成開出空白窗
請問這要如何修正呢\r
或許我說的有點亂
請到我的測試頁
http://www.realedenplace.com/phpbb/viewtopic.php?t=2214
帳號:test
密碼:test
我有安裝Shrink Attached Image Mod
這個是可以把附件縮小不破壞版面\r
但我發現有個地方不知道要怎樣改\r
在倉木麻衣兄的attach_mod_extra.txt中 提到templates/subSilver/viewtopic_attach_body.tpl的這段\r
代碼: 選擇全部
#--------[FIND]----------------
#
<tr>
<td colspan="2" align="center"><br /><img src="{postrow.attach.cat_images.IMG_SRC}" alt="{postrow.attach.cat_images.DOWNLOAD_NAME}" border="0" /><br /><br /></td>
</tr>
#
#--------[REPLACE WITH]----------------
#
<!-- BEGIN not_pay -->
<tr>
<td colspan="2" align="center"><br />{postrow.attach.cat_images.not_pay.IMG_SRC}<br /><br /></td>
</tr>
<!-- END not_pay -->
<!-- BEGIN pay_ok -->
<tr>
<td colspan="2" align="center"><br /><img src="{postrow.attach.cat_images.pay_ok.IMG_SRC}" alt="{postrow.attach.cat_images.pay_ok.DOWNLOAD_NAME}" border="0" /><br /><br /></td>
</tr>
<!-- END pay_ok -->代碼: 選擇全部
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/viewtopic_attach_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<td colspan="2" align="center"><br /><img src="{postrow.attach.cat_images.IMG_SRC}" alt="{postrow.attach.cat_images.DOWNLOAD_NAME}" border="0" /><br /><br /></td>
#
#-----[ IN-LINE FIND ]------------------------------------------
#\r
<img src=
#
#-----[ IN-LINE BEFORE, ADD ]------------------------------------------
#
<a href="{postrow.attach.cat_images.IMG_SRC}" target="_blank">
#
#-----[ IN-LINE FIND ]------------------------------------------
#
IMG_SRC}" alt
#
#-----[ IN-LINE REPLACE WITH ]------------------------------------------
#
IMG_SRC}" {postrow.attach.cat_images.IMG_SIZE} alt
#
#-----[ IN-LINE FIND ]------------------------------------------
#
border="0" />
#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
</a>代碼: 選擇全部
<!-- BEGIN not_pay -->
<tr>
<td colspan="2" align="center"><br />{postrow.attach.cat_images.not_pay.IMG_SRC}<br /><br /></td>
</tr>
<!-- END not_pay -->
<!-- BEGIN pay_ok -->
<tr>
<td colspan="2" align="center"><br /><a href="{postrow.attach.cat_images.IMG_SRC}" target="_blank"><img src="{postrow.attach.cat_images.pay_ok.IMG_SRC}" {postrow.attach.cat_images.IMG_SIZE} alt="{postrow.attach.cat_images.pay_ok.DOWNLOAD_NAME}" border="0" /></a><br /><br /></td>
</tr>
<!-- END pay_ok -->就是當圖太大時 原本點擊該圖後就會在另一個視窗打開
但是我這樣改完後 在點擊該圖後 卻變成開出空白窗
請問這要如何修正呢\r
或許我說的有點亂
請到我的測試頁
http://www.realedenplace.com/phpbb/viewtopic.php?t=2214
帳號:test
密碼:test
其實您快要改對了~stric 寫:於是小弟自己試著修改 我的改法如下:我改完後 依舊有縮圖的效果 但是出現一個問題代碼: 選擇全部
<!-- BEGIN not_pay --> <tr> <td colspan="2" align="center"><br />{postrow.attach.cat_images.not_pay.IMG_SRC}<br /><br /></td> </tr> \n<!-- END not_pay --> <!-- BEGIN pay_ok --> <tr> <td colspan="2" align="center"><br /><a href="[b][color=red]{postrow.attach.cat_images.IMG_SRC}[/color][/b]" target="_blank"><img src="{postrow.attach.cat_images.pay_ok.IMG_SRC}" {postrow.attach.cat_images.IMG_SIZE} alt="{postrow.attach.cat_images.pay_ok.DOWNLOAD_NAME}" border="0" /></a><br /><br /></td> </tr> <!-- END pay_ok -->
就是當圖太大時 原本點擊該圖後就會在另一個視窗打開
但是我這樣改完後 在點擊該圖後 卻變成開出空白窗
請問這要如何修正呢
把上面紅色標註的地方改成底下這樣即可\r
{postrow.attach.cat_images.pay_ok.IMG_SRC}
因為那一個IMG_SRC在displaying.php裡被重新定義至\r
postrow.attach.cat_images.pay_ok及postrow.attach.cat_images.not_pay這二個區塊了
所以如果只引用{postrow.attach.cat_images.IMG_SRC}的話會是會找不到對應的值\r
ps.
剛用test帳號上去晃晃發現.....
test帳號的現金不足以購買您貼的那篇文章:P
代碼: 選擇全部
## 0.0.7版是修正先前曾預先安裝pay_mod_extra的使用者,其付費文章
## 會因缺少[sell][/sell]標籤而失去隱藏內容的效果。主要是利用PHP函\r
## 式gmmktime()達成目的,您只需在gmmktime裡填入指定的日期,則在\r
## 此日期之前沒有[sell][/sell]標籤的付費文章將會自動的將內容隱藏
## 起來,除非您是該文章的作者或已經付費。這樣可以減少管理員逐篇
## 修改的時間及麻煩。
## 但是在此時間之後的付費文章若沒有[sell][/sell]標籤,則不會隱藏
## 該篇文章的內容,請留意此點差異。
##
## gmmktime的格式為 gmmktime(時,分,秒,月,日,年,時區)
## 您只需要修改前6個數值即可,例如:
## gmmktime(17,50,0,4,15,2005) => 表示2005年4/15 5:50 PM
## gmmktime(0,0,0,3,11,2005) => 表示2005年3/11 0:00 AM所以採這種折衷的作法~直接在程式裡設定
檔案打包好並傳上去了~
沒其它問題的話~應該是此修改的最後一個定案版本了~
如同天霜所言
感謝曾協助測試及提出意見的朋友們天霜 寫:我開始覺得付費瀏覽這個外掛作者是屬於phpbb-tw.net有參與討論的會員的
因為感覺付費瀏覽是在大家的照顧下才漸漸完整的
嗯~說的也是~天霜 寫:有沒有拿掉gmmktime的改法
因為要考慮到新使用者
這對他們而言,是不必要的程式碼
那就將它從安裝文件裡拆掉吧~
先前曾下載過007版者,且為首次安裝的人,請參考底下的作法拆掉gmmktime
代碼: 選擇全部
#
#--------[ OPEN ]----------------
#
posting.php
#
#--------[ FIND ]----------------
#
p.post_id, p.poster_id, p.post_time
#
#--------[ IN-LINE FIND ]----------------
#
, p.post_time
#
#--------[ DELETE ]----------------
#
, p.post_time
#
#--------[ FIND AND DELETE ]----------------
#
# 找到並刪除\r
if ( !preg_match("#\[sell\].*\[/sell\]#si", $message) && ($post_info['post_time']+(3600*$board_config['board_timezone'])) < gmmktime(17,50,22,4,11,2005,$board_config['board_timezone']) )
{
$message = preg_replace("#(\[quote=.*?\])(.*?)\[/quote\]#si", '\\\1[sell]'. $lang['Paymoney_Hidemessage'] . '[/sell][/quote]', $message);
}
#
#--------[ OPEN ]----------------
#
search.php
#
#--------[ FIND AND DELETE ]----------------
#
# 找到並刪除\r
if ( !preg_match("#\[sell\].*\[/sell\]#si", $message) && ($searchset[$i]['post_time']+(3600*$board_config['board_timezone'])) < gmmktime(17,50,22,4,11,2005,$board_config['board_timezone']) )
{
$message = preg_replace("#(\[quote=.*?\])(.*?)\[/quote\]#si", '\\\1[sell]'. $lang['Paymoney_Hidemessage'] . '[/sell][/quote]', $message);
}
#
#--------[ OPEN ]----------------
#
viewtopic.php
#
#--------[ FIND AND DELETE ]----------------
#
if ( !preg_match("#\[sell\].*\[/sell\]#si", $message) && ($postrow[$i]['post_time']+(3600*$board_config['board_timezone'])) < gmmktime(17,50,21,4,11,2005,$board_config['board_timezone']) )
{
$message = "[sell]" . $message . "[/sell]";
}
#--------[ OPEN ]----------------
#
includes/topic_review.php
#
#--------[ FIND AND DELETE ]----------------
#
if ( !preg_match("#\[sell\].*\[/sell\]#si", $message) && ($row['post_time']+(3600*$board_config['board_timezone'])) < gmmktime(17,50,22,4,11,2005,$board_config['board_timezone']) )
{
$message = "[sell]" . $message . "[/sell]";
}
#
#--------[ SAVE/CLOSE ALL FILES ]----------------
#
# EoM如果有安裝改良型引言的請再參考底下的作法拆掉gmmktime
代碼: 選擇全部
#--------[ OPEN ]----------------
#
show_post.php
#
#--------[ FIND AND DELETE ]----------------
#
if ( !preg_match("#\[sell\].*\[/sell\]#si", $message) && ($row['post_time']+(3600*$board_config['board_timezone'])) < gmmktime(17,50,21,4,11,2005,$board_config['board_timezone']) )
{
$message = "[sell]" . $message . "[/sell]";
}
#
#--------[ SAVE/CLOSE ALL FILES ]----------------
#
# EoM您可能是多慮了!regal 寫:這個功能可不可以在發私人訊息時取消掉?
要不然會有詐財訊息發生吧!
這個隱藏部份文章的功能, 是附加在" 付費瀏覽" 外掛;
而在該外掛, 發送私人訊息, 原本就沒有" 付費瀏覽" 的功能.
不過, 因為您的提問, 我倒是有思考一下:
如何讓發送私人訊息時, 也有付費瀏覽的設定?
只不過, 一來是功力不夠, 二來是覺得根本沒必要.
一般而言, 私人訊息是用來與好朋友之間的聯繫, 且是非公開的;
試想: 如果您的好朋友, 傳送給您一個需要付費瀏覽的私人訊息,
那麼您的心情又是做何感想呢?
==========
To ~倉木麻衣~:
由於發表文章和發表私人訊息,
是共用一個 posting_body.tpl
因此, 若網友有加裝此" 隱藏部份文章" 功能的話,
則在發送私人訊息時, 也是一樣可以看到[付費]按鈕.
關於這點, 倒是建議可以做一個簡單的處理, 如下:
代碼: 選擇全部
#
#-----[ Open ]-----
#
privmsg.php
#
#-----[ Find ]-----
#\r
//
// HTML toggle selection
//
#
#-----[ Before Add ]-----
#
$paymoney_status = $lang['Paymoney_is_OFF'];
#
#-----[ Find ]-----
#
'HTML_STATUS' => $html_status,
#
#-----[ Before Add ]-----
#
'PAYMONEY_STATUS' => $paymoney_status,
嗯~
想了想~還是將[sell]這個bbcode按鈕從私人訊息中移除\r
免得讓人誤會私人訊息也可以設定付費(雖然本來就不能在私人訊息裡設定付費了
)
其實只是在posting_body.tpl裡動個手腳加上block_var
另外基於變數名稱的一致性考量~所以對這個mod做小調整~
並採納心靈捕手兄的建議修改方式~見底下的程式碼:
原則上變化不大~
外掛同步更新至0.0.8版~並包含以上調整的內容
想了想~還是將[sell]這個bbcode按鈕從私人訊息中移除\r
免得讓人誤會私人訊息也可以設定付費(雖然本來就不能在私人訊息裡設定付費了
其實只是在posting_body.tpl裡動個手腳加上block_var
另外基於變數名稱的一致性考量~所以對這個mod做小調整~
並採納心靈捕手兄的建議修改方式~見底下的程式碼:
代碼: 選擇全部
#
#--------[ OPEN ]----------------
#
posting.php
#
#--------[ FIND ]----------------
#
//
// Output the data to the template
//
#
#--------[ AFTER ADD ]----------------
#
$template->assign_block_vars('switch_paymoney_bbcode', array());
#
#--------[ FIND ]----------------
#
'L_BBCODE_F_HELP' => $lang['bbcode_f_help'],
#
#--------[ AFTER ADD ]----------------
#
'L_BBCODE_PAYMONEY_HELP' => $lang['bbcode_paymoney_help'],
#
#--------[ OPEN ]----------------
#
privmsg.php
#
#--------[ FIND ]----------------
#
//
// HTML toggle selection
//
#
#--------[ BEFORE ADD ]----------------
#
$paymoney_status = $lang['Paymoney_is_OFF'];
#
#--------[ FIND ]----------------
#
'HTML_STATUS' => $html_status,
#
#--------[ AFTER ADD ]----------------
#
'PAYMONEY_STATUS' => $paymoney_status,
#
#--------[ OPEN ]----------------
#
language/lang_chinese_traditional_taiwan/lang_main.php
#
#--------[ FIND ]----------------
#
$lang['bbcode_f_help'] = '字型大小: [size=x-small]small text[/size]';
#
#--------[ AFTER ADD ]----------------
#
$lang['bbcode_paymoney_help'] = '付費代碼:[sell]內文[/sell] (alt + s)';
#
#--------[ OPEN ]----------------
#
templates/subSilver/posting_body.tpl
#
#--------[ FIND ]----------------
#
pay_money_help = "付費代碼:[sell]內文[/sell] (alt + s)";
#
#--------[ REPLACE WITH ]----------------
#
paymoney_help = "{L_BBCODE_PAYMONEY_HELP}";
#
#--------[ FIND ]----------------
#
<td><span class="genmed">
<input type="button" class="button" accesskey="s" name="addbbcode18" value="付費" style="text-decoration: underline; width: 40px" onClick="bbstyle(18)" onMouseOver="helpline('pay_money')" />
</span></td>
#
#--------[ REPLACE WITH ]----------------
#
<!-- BEGIN switch_paymoney_bbcode -->
<td><span class="genmed">
<input type="button" class="button" accesskey="s" name="addbbcode18" value="付費" style="text-decoration: underline; width: 40px" onClick="bbstyle(18)" onMouseOver="helpline('paymoney')" />
</span></td>
<!-- END switch_paymoney_bbcode -->
#
#--------[ SAVE/CLOSE ALL FILES ]----------------
#
# EoM外掛同步更新至0.0.8版~並包含以上調整的內容
-
GaRy-tw



