[外掛] 隱藏部份付費瀏覽內文 - 修改測試
版主: 版主管理群
原付費瀏覽1.0.9於viewtopic.php的修改如下(僅節錄部份代碼)心靈捕手 寫:其次, 還是要建議您: 稍加修正 pay_mod_extra.txt
因為這是 0.1.1 版本完整的安裝說明,
所以應該要包含前一篇引言部分的修正, 才對!
如: posting.php ( 升級) 修改部分, 便已經包含其中.
代碼: 選擇全部
if($pay_money != -1)
{
....................
....................
....................
if ( $pay_see != 0 )
{
$message .= $see_pay_userselect . '</fieldset></td></tr></table></center><br />';
}
else
{
$message .= '</fieldset></td></tr></table></center><br />';
}
}
else
{
$message = $message;
}
代碼: 選擇全部
#
#--------[OPEN]----------------
#
viewtopic.php
#
#--------[FIND]----------------
#
$message = $message;
#
#--------[REPLACE WITH]----------------
#
$message = preg_replace("#\[sell\](.*?)\[/sell\]#si", '\\\1', $message);
因此以付費瀏覽1.0.9版為基礎的0.1.1版pay_mod_extra.txt並不需要將上述viewtopic.php的修改部份納入
這倒是有些意外, 因為我的測試站並沒有安裝快速回覆@@"心靈捕手 寫:最後, 關於 吉川 大大的提問:經過( 一般會員) 測試, 我還是沒有發現類似的問題.假設會員沒有設定付費那不就每篇都會跑出 [sell] .. [/sell] 標籤\r
因為, 經過修正後, 付費( 隱藏) 的關鍵, 就在於是否有設定金額 >=0 ?
如果, 沒有" 設定付費" 金額 >=0 的話, 正常的話, 是不會" 跑出 [sell] .. [/sell] 標籤" 的.
我猜想:
他的情況, 會不會也是" 快速回覆" 作祟呢?
或許, 針對其快速回覆的版本再做修正, 即可.
前幾篇之所以會提出付費權限的原因是有人在測試站上使用test1帳號於測試區2版面進行測試
不過測試區2只有test2這個版面管理員才能設定付費\r
但test1在沒有可設定付費金額下拉選單的情況下, 依然使用了[sell]代碼
因此會使得$HTTP_POST_VARS['pay_money']變成NULL值(等於Boolean值0)
連帶使得這這句判斷不成立(因為 0 < 0 不成立)
代碼: 選擇全部
else if ($HTTP_POST_VARS['pay_money'] < 0 && preg_match("#\[sell\].*\[/sell\]#si", $message))
不過還是要感謝各位的回報, 讓我又意外發現一個bug
至於oOHOo的快速回覆版本, 試看看這樣子改\r
代碼: 選擇全部
#
#--------[ OPEN ]----------------
#
viewtopic.php
#
#--------[ FIND ]----------------
#
'U_HIDDEN_FORM_FIELDS' => ( ($userdata['user_attachsig'] ?
#
#--------[ IN-LINE FIND ]----------------
#
($userdata['user_attachsig'] ?
#
#--------[ IN-LINE BEFORE, ADD]----------------
#
'<input type="hidden" name="pay_money" value="-1" />' .
#
#--------[ SAVE/CLOSE ALL FILES ]----------------
#
# EoM
原來是我自己沒搞清楚狀況!~倉木麻衣~ 寫:而在這篇文章中則是將viewtopic.php的部份程式還原回原始的付費瀏覽1.0.9版
因此以付費瀏覽1.0.9版為基礎的0.1.1版pay_mod_extra.txt並不需要將上述viewtopic.php的修改部份納入
再一次向您致歉!
也謝謝您耐心地解說!
看前輩們的討論真是獲益良多~
辛苦了~
這個mod完成度已經算是很高了~~對你們的付出真是由衷的感謝感謝~
不知道這個bug找到解決方法了沒有~
小弟懂的不多~不過自己專研了幾天還是沒有方法能將值定義為-1
還是存在著判斷不成立的NULL值\r
希望能有解決的方法
辛苦了~
這個mod完成度已經算是很高了~~對你們的付出真是由衷的感謝感謝~
~倉木麻衣~ 寫: 前幾篇之所以會提出付費權限的原因是有人在測試站上使用test1帳號於測試區2版面進行測試
不過測試區2只有test2這個版面管理員才能設定付費\r
但test1在沒有可設定付費金額下拉選單的情況下, 依然使用了[sell]代碼
因此會使得$HTTP_POST_VARS['pay_money']變成NULL值(等於Boolean值0)
連帶使得這這句判斷不成立(因為 0 < 0 不成立)所以在這種情況下並不會對[sell]代碼做代換動作代碼: 選擇全部
else if ($HTTP_POST_VARS['pay_money'] < 0 && preg_match("#\[sell\].*\[/sell\]#si", $message))
不過還是要感謝各位的回報, 讓我又意外發現一個bug
不知道這個bug找到解決方法了沒有~
小弟懂的不多~不過自己專研了幾天還是沒有方法能將值定義為-1
還是存在著判斷不成立的NULL值\r
希望能有解決的方法
發表新文章時的解法可以參考這篇athlon 寫:不知道這個bug找到解決方法了沒有~
小弟懂的不多~不過自己專研了幾天還是沒有方法能將值定義為-1
還是存在著判斷不成立的NULL值\r
希望能有解決的方法
http://www.phpbb-tw.net/phpbb/viewtopic ... 231#204231
個人是比較推薦解法2
請教一下:如果是用推薦解法2要不要先把下面的改回來?
謝謝哦\r
代碼: 選擇全部
#
#--------[ OPEN ]----------------
#
posting.php
#
#--------[ FIND ]----------------
#
submit_post
#
#--------[ BEFORE, ADD ]----------------
#
if ($HTTP_POST_VARS['pay_money'] != -1 && !preg_match("#\[sell\].*\[/sell\]#si", $message) )
{
$message = "[sell]" . $message . "[/sell]";
}
#
#--------[ SAVE/CLOSE ALL FILES ]----------------
#
# EoM
PHPBB:2.0.20
OS:LINUX
風格: ICG
快速程式:無
上網方式:Hinet 8m/640
架設環境:竹貓空間
OS:LINUX
風格: ICG
快速程式:無
上網方式:Hinet 8m/640
架設環境:竹貓空間
先暫時維持原案保留上述的程式碼\rbc010843 寫:請教一下:如果是用推薦解法2要不要先把下面的改回來?
謝謝哦\r代碼: 選擇全部
# #--------[ OPEN ]---------------- # posting.php # #--------[ FIND ]---------------- # submit_post # #--------[ BEFORE, ADD ]---------------- # if ($HTTP_POST_VARS['pay_money'] != -1 && !preg_match("#\[sell\].*\[/sell\]#si", $message) ) { $message = "[sell]" . $message . "[/sell]"; } # #--------[ SAVE/CLOSE ALL FILES ]---------------- # # EoM
雖然在不允許設定付費的版面, 其$HTTP_POST_VARS['pay_money']會得到0值, 進而使得0 != -1 成立
且在沒有使用[sell]代碼時會讓上述程式成立, 而自動於文章前後加上[sell]代碼
但是呼叫submit_post函式後, 會被方案2的解決方法自動去除掉不合法的sell代碼
代碼: 選擇全部
// 檢查發文版面的付費權限?#93;定, 若允許付費, 則$is_auth_pay['auth_paymoney]會等於1
$is_auth_pay = auth(AUTH_PAYMONEY, $forum_id, $userdata);
if ($userdata['user_id'] == ANONYMOUS || $pay_money < -1 || !$is_auth_pay['auth_paymoney'])
{
// 在不允許付費的狀況下, 若有使用sell 代碼, 則代換成空字串\r
if (preg_match("#\[sell\].*\[/sell\]#si", $post_message))
{
$post_message = preg_replace("#\[/?sell\]#", '', $post_message);
}
$pay_money = -1;
}
只需改includes/functions_post.php即可
今天裝上後,感覺還不錯,完成度很高
我站上管理員提出了幾個建議
1.是否能針對版面單獨設定是否開放付費瀏覽(像定期刪文那樣功能)
2.版主以上的管理員能免付費看文章,方便版主刪除要付費的白目文
這點我有自行修改,有需要的朋友可以參考
打開viewtopic.php
尋找\r
替換成
3.用key in方式輸入付費金額(百元以上時,下拉選單會很不方便)
我站上管理員提出了幾個建議
1.是否能針對版面單獨設定是否開放付費瀏覽(像定期刪文那樣功能)
2.版主以上的管理員能免付費看文章,方便版主刪除要付費的白目文
這點我有自行修改,有需要的朋友可以參考
打開viewtopic.php
尋找\r
代碼: 選擇全部
if (stristr($pay_user, $user_id) && $userdata['user_id'] <> ANONYMOUS)
代碼: 選擇全部
if ((stristr($pay_user, $user_id) && $userdata['user_id'] <> ANONYMOUS) || $is_auth['auth_mod'])
您提到的幾個問題, 之前都有討論過了;ETERNAL 寫:今天裝上後,感覺還不錯,完成度很高
我站上管理員提出了幾個建議
1.是否能針對版面單獨設定是否開放付費瀏覽(像定期刪文那樣功能)
2.版主以上的管理員能免付費看文章,方便版主刪除要付費的白目文
這點我有自行修改,有需要的朋友可以參考
打開viewtopic.php
尋找\r替換成代碼: 選擇全部
if (stristr($pay_user, $user_id) && $userdata['user_id'] <> ANONYMOUS)
3.用key in方式輸入付費金額(百元以上時,下拉選單會很不方便)代碼: 選擇全部
if ((stristr($pay_user, $user_id) && $userdata['user_id'] <> ANONYMOUS) || $is_auth['auth_mod'])
以下的文章, 您可以參考看看:
- 付費瀏覽-設定使用者權限
http://phpbb-tw.net/phpbb/viewtopic.php?p=196163#196163 - 版主以上不用付費\r
http://phpbb-tw.net/phpbb/viewtopic.php?p=182889#182889
http://phpbb-tw.net/phpbb/viewtopic.php?p=205424#205424 - 改回自行輸入的空格\r
http://www.phpbb-tw.net/phpbb/viewtopic ... 402#190402
http://www.phpbb-tw.net/phpbb/viewtopic ... 764#198764 ( 修正)
被人抓包我沒爬文心靈捕手 寫:您提到的幾個問題, 之前都有討論過了;
以下的文章, 您可以參考看看:
- 付費瀏覽-設定使用者權限
http://phpbb-tw.net/phpbb/viewtopic.php?p=196163#196163- 版主以上不用付費\r
http://phpbb-tw.net/phpbb/viewtopic.php?p=182889#182889
http://phpbb-tw.net/phpbb/viewtopic.php?p=205424#205424- 改回自行輸入的空格\r
http://www.phpbb-tw.net/phpbb/viewtopic ... 402#190402
http://www.phpbb-tw.net/phpbb/viewtopic ... 764#198764 ( 修正)
不過第三個我已經自己改好了
趕快來看第一個怎麼改,感謝
以下就您的問題, 分享我的想法:simen 寫:小弟目前安裝測試都正常無誤,謝謝各位前輩的辛苦付出
爬文之後,看到很多朋友都有上述的問題,心靈捕手 寫:
- 付費瀏覽-設定使用者權限
- 版主以上不用付費\r
- 改回自行輸入的空格\r
請教各位前輩,有沒有可能將眾多的條件\r
修改成個別參數,放進後台自成一個"選取
條件"這樣一來也可融入風格之中,降低錯\r
誤發生的機會......
第一項的權限設定, 應該已經算是融入後台版面管理了;
而第二項的修改, 純粹只是方便版面管理員管理版面,
修改也只是在 viewtopic.php 動點手腳而已,
也許您的意思, 是讓後台多一個選項( 如下):
版面管理員不必付費? 是 否
同樣的, 第三項您希望在後台多一個選項( 如下):
付費方式: 下拉式選單 自行輸入金額( 空格)
ps. 純粹只是呼應您的想法而已.