[外掛] 隱藏部份付費瀏覽內文 - 修改測試

phpBB 2 MOD Support
無論是官方或非官方認證之外掛,安裝與使用問題討論。
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

吉川拓也
竹貓忠實會員
竹貓忠實會員
文章: 1215
註冊時間: 2003-02-09 18:24
來自: [ G.I.T ]
聯繫:

文章 吉川拓也 »

感謝捕手^^~
這個我知道但是霜耶修改的是針對 快速回覆 1.3 ..
而我使用的是 oOHOo 的版本 :-D
善用 搜尋 可以解決您 90% 的問題
頭腦清晰,選擇正確。 (╯▔︹▔)╯~╘═╛
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

文章 ~倉木麻衣~ »

心靈捕手 寫:其次, 還是要建議您: 稍加修正 pay_mod_extra.txt
因為這是 0.1.1 版本完整的安裝說明,
所以應該要包含前一篇引言部分的修正, 才對!
如: posting.php ( 升級) 修改部分, 便已經包含其中.
原付費瀏覽1.0.9於viewtopic.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;
		}
而在pay_mod_extra 0.0.8版裡有針對原始的$message = $message;做修改\r

代碼: 選擇全部

#
#--------[OPEN]----------------
#
viewtopic.php

#
#--------[FIND]----------------
#
			$message = $message;

#
#--------[REPLACE WITH]----------------
#
			$message = preg_replace("#\[sell\](.*?)\[/sell\]#si", '\\\1', $message);
而在這篇文章中則是將viewtopic.php的部份程式還原回原始的付費瀏覽1.0.9版
因此以付費瀏覽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))
所以在這種情況下並不會對[sell]代碼做代換動作
不過還是要感謝各位的回報, 讓我又意外發現一個bug :-P

至於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
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8510
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

發文後, 才發現 ~倉木麻衣~ 兄已經出手囉!
所以此文-> 自爆!! :mrgreen:
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8510
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

~倉木麻衣~ 寫:而在這篇文章中則是將viewtopic.php的部份程式還原回原始的付費瀏覽1.0.9版
因此以付費瀏覽1.0.9版為基礎的0.1.1版pay_mod_extra.txt並不需要將上述viewtopic.php的修改部份納入 :)
原來是我自己沒搞清楚狀況! :oops:
再一次向您致歉!
也謝謝您耐心地解說!
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
吉川拓也
竹貓忠實會員
竹貓忠實會員
文章: 1215
註冊時間: 2003-02-09 18:24
來自: [ G.I.T ]
聯繫:

文章 吉川拓也 »

感謝倉木學長問題解決了^^~
還有捕手也辛苦了 :-P
善用 搜尋 可以解決您 90% 的問題
頭腦清晰,選擇正確。 (╯▔︹▔)╯~╘═╛
athlon
星球公民
星球公民
文章: 82
註冊時間: 2002-09-23 04:00

文章 athlon »

看前輩們的討論真是獲益良多~
辛苦了~
這個mod完成度已經算是很高了~~對你們的付出真是由衷的感謝感謝~
~倉木麻衣~ 寫: 前幾篇之所以會提出付費權限的原因是有人在測試站上使用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))
所以在這種情況下並不會對[sell]代碼做代換動作
不過還是要感謝各位的回報, 讓我又意外發現一個bug :-P

不知道這個bug找到解決方法了沒有~
小弟懂的不多~不過自己專研了幾天還是沒有方法能將值定義為-1
還是存在著判斷不成立的NULL值\r
希望能有解決的方法
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

文章 ~倉木麻衣~ »

athlon 寫:不知道這個bug找到解決方法了沒有~
小弟懂的不多~不過自己專研了幾天還是沒有方法能將值定義為-1
還是存在著判斷不成立的NULL值\r
希望能有解決的方法
發表新文章時的解法可以參考這篇
http://www.phpbb-tw.net/phpbb/viewtopic ... 231#204231
個人是比較推薦解法2
bc010843
竹貓忠實會員
竹貓忠實會員
文章: 333
註冊時間: 2004-10-13 18:33
聯繫:

文章 bc010843 »

~倉木麻衣~ 寫: 發表新文章時的解法可以參考這篇
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
架設環境:竹貓空間
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

文章 ~倉木麻衣~ »

bc010843 寫:請教一下:如果是用推薦解法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
先暫時維持原案保留上述的程式碼\r
雖然在不允許設定付費的版面, 其$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; 
	}
所以posting.php的部份還是先維持原案, 不用做修改\r
只需改includes/functions_post.php即可
athlon
星球公民
星球公民
文章: 82
註冊時間: 2002-09-23 04:00

文章 athlon »

真是非常詳細明確的解說阿!
謝謝倉木麻衣前輩\r
受益良多!
ETERNAL
星球公民
星球公民
文章: 297
註冊時間: 2002-01-23 11:23

文章 ETERNAL »

今天裝上後,感覺還不錯,完成度很高

我站上管理員提出了幾個建議

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'])
3.用key in方式輸入付費金額(百元以上時,下拉選單會很不方便)
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8510
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

ETERNAL 寫:今天裝上後,感覺還不錯,完成度很高

我站上管理員提出了幾個建議

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'])
3.用key in方式輸入付費金額(百元以上時,下拉選單會很不方便)
您提到的幾個問題, 之前都有討論過了;
以下的文章, 您可以參考看看:
  1. 付費瀏覽-設定使用者權限
    http://phpbb-tw.net/phpbb/viewtopic.php?p=196163#196163
  2. 版主以上不用付費\r
    http://phpbb-tw.net/phpbb/viewtopic.php?p=182889#182889
    http://phpbb-tw.net/phpbb/viewtopic.php?p=205424#205424
  3. 改回自行輸入的空格\r
    http://www.phpbb-tw.net/phpbb/viewtopic ... 402#190402
    http://www.phpbb-tw.net/phpbb/viewtopic ... 764#198764 ( 修正)
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
ETERNAL
星球公民
星球公民
文章: 297
註冊時間: 2002-01-23 11:23

文章 ETERNAL »

心靈捕手 寫:您提到的幾個問題, 之前都有討論過了;
以下的文章, 您可以參考看看:
  1. 付費瀏覽-設定使用者權限
    http://phpbb-tw.net/phpbb/viewtopic.php?p=196163#196163
  2. 版主以上不用付費\r
    http://phpbb-tw.net/phpbb/viewtopic.php?p=182889#182889
    http://phpbb-tw.net/phpbb/viewtopic.php?p=205424#205424
  3. 改回自行輸入的空格\r
    http://www.phpbb-tw.net/phpbb/viewtopic ... 402#190402
    http://www.phpbb-tw.net/phpbb/viewtopic ... 764#198764 ( 修正)
被人抓包我沒爬文 :oops:
不過第三個我已經自己改好了

趕快來看第一個怎麼改,感謝 :oops:
simen
星球普通子民
星球普通子民
文章: 21
註冊時間: 2004-11-16 18:51
來自: 台南

文章 simen »

小弟目前安裝測試都正常無誤,謝謝各位前輩的辛苦付出 :)
心靈捕手 寫:
  1. 付費瀏覽-設定使用者權限
  2. 版主以上不用付費\r
  3. 改回自行輸入的空格\r
爬文之後,看到很多朋友都有上述的問題,
請教各位前輩,有沒有可能將眾多的條件\r
修改成個別參數,放進後台自成一個"選取
條件"這樣一來也可融入風格之中,降低錯\r
誤發生的機會......
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8510
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

simen 寫:小弟目前安裝測試都正常無誤,謝謝各位前輩的辛苦付出 :)
心靈捕手 寫:
  1. 付費瀏覽-設定使用者權限
  2. 版主以上不用付費\r
  3. 改回自行輸入的空格\r
爬文之後,看到很多朋友都有上述的問題,
請教各位前輩,有沒有可能將眾多的條件\r
修改成個別參數,放進後台自成一個"選取
條件"這樣一來也可融入風格之中,降低錯\r
誤發生的機會......
以下就您的問題, 分享我的想法:
第一項的權限設定, 應該已經算是融入後台版面管理了;

而第二項的修改, 純粹只是方便版面管理員管理版面,
修改也只是在 viewtopic.php 動點手腳而已,
也許您的意思, 是讓後台多一個選項( 如下):
版面管理員不必付費?

同樣的, 第三項您希望在後台多一個選項( 如下):
付費方式: 下拉式選單 自行輸入金額( 空格)

ps. 純粹只是呼應您的想法而已. :mrgreen:
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
主題已鎖定

回到「外掛問題討論」