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

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

版主: 版主管理群

頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8510
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

To simen:

無論是您提到的這三項附加外掛
1. 付費瀏覽-設定使用者權限

2. 版主以上不用付費

3. 改回自行輸入的空格
或者是這個討論串的附加外掛 隱藏部份付費瀏覽內文, 其實都只是個配角;
真正的主角是外掛 付費瀏覽.

依我之見, 建議您:
重新發表一個新的主題來探討, 可能比較適宜!
例如:
[問題與討論]如何將這些附加外掛整合進入付費瀏覽, 而且增加後台選項?
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
simen
星球普通子民
星球普通子民
文章: 21
註冊時間: 2004-11-16 18:51
來自: 台南

文章 simen »

心靈捕手 寫: 以下就您的問題, 分享我的想法:
第一項的權限設定, 應該已經算是融入後台版面管理了;

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

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

ps. 純粹只是呼應您的想法而已. :mrgreen:
是的,小弟的想法就是如此 :)
小弟又有另一個IDEA,既然可以出售文章
是不是也有文章退貨機制
以這個機制來消耗增生的虛擬貨幣,得以平衡過多的貨幣
我會不會想太多了? :-)

-------------
POST文章想太久,以致前輩發表的新文沒有看到......
受教了, :-) 謝謝您!
ETERNAL
星球公民
星球公民
文章: 297
註冊時間: 2002-01-23 11:23

文章 ETERNAL »

我發現到文章被鎖定後,按下付費瀏覽,依然能購買文章

文章被鎖定後應該不能買吧??
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

文章 ~倉木麻衣~ »

ETERNAL 寫:我發現到文章被鎖定後,按下付費瀏覽,依然能購買文章

文章被鎖定後應該不能買吧??
這個你可能要跟天霜反應了 (ro05)
沒意外的話, 這問題應該是原始的付費瀏覽就會存在的問題了
謝絕所有私人訊息詢問外掛相關問題
有問題請直接於版上發表, 集思廣議絕對比專挑特定人士詢問來的好

竹貓禁止發表含破解相關的軟體, 違者砍文
不要跟我講別的地方都可以發, 為什麼竹貓就不行
免費不等於破解, 傻傻的搞不清楚
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8510
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

ETERNAL 寫:我發現到文章被鎖定後,按下付費瀏覽,依然能購買文章

文章被鎖定後應該不能買吧??
討論區系統的" 鎖定", 指的應該是無法再針對該主題( 引言) 回覆而已;
我覺得, 雖然該主題被" 鎖定", 應該還是可以給有興趣的人, 付費瀏覽. ;-)
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
chsa
星球公民
星球公民
文章: 259
註冊時間: 2004-12-27 20:45

文章 chsa »

今天心血來潮裝了此外掛, 安裝非常順利, 測試也大概沒啥問題 ! 可是還是有一個錯誤..@口@|||。

attach_mod_extra 內的一段安裝過程, 以下

代碼: 選擇全部

#
#--------[OPEN]----------------
#
includes/topics_review.php
我尋找了很久.. , 並沒有找到此檔, 後來我查topic_review.php, 就差在那個s, 就查到了, 不知道前輩們是否有寫錯?
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

文章 ~倉木麻衣~ »

chsa 寫:今天心血來潮裝了此外掛, 安裝非常順利, 測試也大概沒啥問題 ! 可是還是有一個錯誤..@口@|||。

attach_mod_extra 內的一段安裝過程, 以下

代碼: 選擇全部

#
#--------[OPEN]----------------
#
includes/topics_review.php
我尋找了很久.. , 並沒有找到此檔, 後來我查topic_review.php, 就差在那個s, 就查到了, 不知道前輩們是否有寫錯?
:-o
確實是筆誤 :mrgreen:
感謝您的指正 :)
謝絕所有私人訊息詢問外掛相關問題
有問題請直接於版上發表, 集思廣議絕對比專挑特定人士詢問來的好

竹貓禁止發表含破解相關的軟體, 違者砍文
不要跟我講別的地方都可以發, 為什麼竹貓就不行
免費不等於破解, 傻傻的搞不清楚
ETERNAL
星球公民
星球公民
文章: 297
註冊時間: 2002-01-23 11:23

文章 ETERNAL »

今天在修改時看到2個問題,想建議一下

1.
在viewtopic.php裡面\r
有一段寫道

代碼: 選擇全部

				if (stristr($pay_user, $user_id) && $userdata['user_id'] <> ANONYMOUS)
這是用來判斷瀏覽者有沒有付費過
這段語法裡面的stristr($pay_user, $user_id)可能會發生問題

假設有位user,他的ID是30,付費後在資料庫中記錄是ID30
另一位user,他的ID是3,套用上面的判斷式,程式會認為他付費過

建議改成用in_array($user_id,split(",",$pay_user))會比較好\r

2.
同樣在viewtopic.php裡面\r
有一段寫道

代碼: 選擇全部

			for ($ii=2; $ii<count($pay_users)-1; $ii++)
			{ 
				$see_pay_user = $db->sql_fetchrow($db->sql_query('SELECT username FROM ' . USERS_TABLE . ' WHERE user_id = ' . $pay_users[$ii])); 
				$see_pay_userselect .= "<option>" . ($ii-1) . "." . $see_pay_user['username'] . "</option>"; 
			} 
假設付費者很多,100以上,200以上,觀看者也很多的情況下,這段語法會讓主機有很大的負擔

建議改成用user_id in (付費者ID),一次把付費者名稱都抓出來,只要做一個sql_query,可以讓負擔減輕很多

以上2點是我今天在修改一個怪現象(不知道為什麼常常會出現有一個付費者是空白的情況),所看到的問題

接下來要獻醜了,如何去修改上面兩個問題

1.
在viewtopic.php裡面\r
尋找\r

代碼: 選擇全部

if (stristr($pay_user, $user_id) && $userdata['user_id'] <> ANONYMOUS)
改成

代碼: 選擇全部

if ((in_array($user_id,split(",",$pay_user)) && $userdata['user_id'] <> ANONYMOUS))
2.
在includes/functions_post.php裡面\r
尋找\r

代碼: 選擇全部

$sql = ($mode != 'editpost') ? "INSERT INTO " . POSTS_TEXT_TABLE . " (post_id, post_subject, bbcode_uid, post_text, pay_money, pay_user) VALUES ($post_id, '$post_subject', '$bbcode_uid', '$post_message', '$pay_money' ,'id" . $userdata['user_id'] . " ,')" : "UPDATE " . POSTS_TEXT_TABLE . " SET post_text = '$post_message',  bbcode_uid = '$bbcode_uid', post_subject = '$post_subject', pay_money = '$pay_money' WHERE post_id = $post_id";
在同一行裡面把, pay_user以及,'id" . $userdata['user_id'] . " ,'拿掉

在viewtopic.php裡面\r
尋找\r

代碼: 選擇全部

	$user_id = 'id' . $userdata['user_id'] . ',';
改成

代碼: 選擇全部

	$user_id = $userdata['user_id'] ;
尋找\r

代碼: 選擇全部

			$sql = "UPDATE " . POSTS_TEXT_TABLE . " SET pay_user = '" . $pay_user . $user_id . "', pay_see = pay_see + 1, pay_gotmoney = pay_gotmoney + $pay_money WHERE post_id = " . $HTTP_GET_VARS['p'];
改成

代碼: 選擇全部

			if(empty($pay_user))
			{
				$pay_user=$user_id;
			}else
			{
				$pay_user=$pay_user .",". $user_id;
			}
			$sql = "UPDATE " . POSTS_TEXT_TABLE . " SET pay_user = '". $pay_user . "', pay_see = pay_see + 1, pay_gotmoney = pay_gotmoney + $pay_money WHERE post_id = " . $HTTP_GET_VARS['p'];
尋找\r

代碼: 選擇全部

			$pay_users = split(',id',','.$pay_user.'id'); 
改成

代碼: 選擇全部

//			$pay_users = split(',id',','.$pay_user.'id'); 
尋找\r

代碼: 選擇全部

			for ($ii=2; $ii<count($pay_users)-1; $ii++)
			{ 
				$see_pay_user = $db->sql_fetchrow($db->sql_query('SELECT username FROM ' . USERS_TABLE . ' WHERE user_id = ' . $pay_users[$ii])); 
				$see_pay_userselect .= "<option>" . ($ii-1) . "." . $see_pay_user['username'] . "</option>"; 
			} 
替換成

代碼: 選擇全部

			if(!empty($pay_user))
			{
				$sql="select username from ". USERS_TABLE ." where user_id in (".$pay_user.")";
				if( !($result = $db->sql_query($sql)) )
				{
					message_die(GENERAL_ERROR, 'Pay_users Select', '', __LINE__, __FILE__, $sql);
				}
				$ii=0;
				while( $row = $db->sql_fetchrow($result) )
				{
					$ii++;
					$see_pay_userselect .= "<option>" . $ii . "." . $row['username'] . "</option>"; 
				}
				unset($row);
				$db->sql_freeresult($result);
			}
最後由 ETERNAL 於 2005-08-21 00:01 編輯,總共編輯了 1 次。
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

文章 ~倉木麻衣~ »

ETERNAL 寫:今天在修改時看到2個問題,想建議一下
以上提到的兩點皆屬於原始付費瀏覽的部份 :mrgreen:
關於stristr這個, 原本我也跟您有同樣的疑問
不過您若是仔細看過程式碼, 應該會發現原作在比對及儲存曾付費過的使用者(pay_user)上做了小手腳\r
$pay_user = $postrow[$i]['pay_user'];
$user_id = 'id' . $userdata['user_id'] . ',';
$sql = "UPDATE " . POSTS_TEXT_TABLE . " SET pay_user = '" . $pay_user . $user_id . "', pay_see = pay_see + 1, pay_gotmoney = pay_gotmoney + $pay_money WHERE post_id = " . $HTTP_GET_VARS['p'];
也就是說, 在比對時時, 刻意將user_id加上id及,逗號(idxxx,)
而在儲存pay_user欄位時, 則同樣是以idxxx, 的格式來儲存
所以在比對上時, 您於第一點所提到的問題就不會發生

至於用in_array嘛, 我想當初在開發這隻外掛時, 應該還沒有in_array這個函數\r
不過您同樣可以跟接手整修這隻外掛的天霜做反應
但有時是為了相容性的考量, 我記得之前的偽子分區就有人反應他論壇上沒法用foreach

至於第二點, SQL用IN 來一次取得資料, 這個建議倒是不錯\r
跟天霜反應吧, 這並不屬於我這隱藏部份付費內文修改的業務範圍 :mrgreen:
謝絕所有私人訊息詢問外掛相關問題
有問題請直接於版上發表, 集思廣議絕對比專挑特定人士詢問來的好

竹貓禁止發表含破解相關的軟體, 違者砍文
不要跟我講別的地方都可以發, 為什麼竹貓就不行
免費不等於破解, 傻傻的搞不清楚
阿維
竹貓忠實會員
竹貓忠實會員
文章: 868
註冊時間: 2003-02-23 13:36
來自: 台南市

文章 阿維 »

呃...雖然我知道不該在這裡問這個問題
但是好像除了這個地方之外沒有其他網站可以問了
那就是phpBB2 Plus 1.52可以安裝付費瀏覽這個外掛嗎?
因為我*php都修改好了,只剩下*tpl不知道該怎麼修改\r
再加上phpbb plus-tw還沒運作,這個又是我朋友拜託的
請問我該怎麼在phpBB2 Plus 1.52上面針對*tpl修改呢?

付費瀏覽1.0.9

代碼: 選擇全部

# 
#-----[ OPEN 打?#125; ]------------------------------------------------
#
templates/subSilver/posting_body.tpl

# 
#-----[ FIND 尋找 ]------------------------------------------------
#
{HTML_STATUS}<br />

# 
#-----[ BEFORE ADD 之前, ?#91;上 ]------------------------------------
#
{PAYMONEY_STATUS}<br />


# 
#-----[ FIND 尋找 ]------------------------------------------------
#
		  <!-- BEGIN switch_html_checkbox -->
		  <tr>
			<td>
			  <input type="checkbox" name="disable_html" {S_HTML_CHECKED} />
			</td>
			<td><span class="gen">{L_DISABLE_HTML}</span></td>
		  </tr>
		  <!-- END switch_html_checkbox -->

# 
#-----[ BEFORE ADD 之前, ?#91;上 ]------------------------------------
#
		  <!-- BEGIN switch_paymoney_text -->
		  <tr>
                        <td></td>
			<td>
			  <span class="gen">{PAY_MONEY}</span>
			</td>
		  </tr>
		  <!-- END switch_paymoney_text -->

# 
#-----[ OPEN 打?#125; ]------------------------------------------------
#
templates/subSilver/admin/board_config_body.tpl

# 
#-----[ FIND 尋找 ]------------------------------------------------
#
	<tr>
		<td class="row1">{L_ALLOW_HTML}</td>
		<td class="row2"><input type="radio" name="allow_html" value="1" {HTML_YES} /> {L_YES}&nbsp;&nbsp;<input type="radio" name="allow_html" value="0" {HTML_NO} /> {L_NO}</td>
	</tr>

# 
#-----[ BEFORE ADD 之前, ?#91;上 ]------------------------------------
#
	<tr>
		<td class="row1">{L_ALLOW_PAYMONEY}</td>
		<td class="row2"><input type="radio" name="allow_paymoney" value="1" {PAYMONEY_YES} /> {L_YES}&nbsp;&nbsp;<input type="radio" name="allow_paymoney" value="0" {PAYMONEY_NO} /> {L_NO}</td>
	</tr>

# 
#-----[ SAVE/CLOSE ALL FILES 儲存/關閉所有檔案 ]-------------------
#
# EoM 外掛修正結束
pay_mod_extra 0.1.1 部份

代碼: 選擇全部

#
#--------[OPEN]----------------
#
templates/subSilver/posting_body.tpl

#
#--------[FIND]----------------
#
f_help = "{L_BBCODE_F_HELP}";

#
#--------[AFTER ADD]----------------
#
paymoney_help = "{L_BBCODE_PAYMONEY_HELP}";

#
#--------[FIND]----------------
#
bbtags = new Array('[b]','[/b]',

#
#--------[INLINE FIND]----------------
#
);

#
#--------[INLINE BEFORE ADD]----------------
#
\n,'[sell]','[/sell]'

#
#--------[FIND]----------------
#
			  <input type="button" class="button" accesskey="w" name="addbbcode16" value="URL" style="text-decoration: underline; width: 40px" onClick="bbstyle(16)" onMouseOver="helpline('w')" />
			  </span></td>

#
#--------[AFTER ADD]----------------
#
# 若您曾安裝過其它的BBCode,則此處的addbbcode??及bbstyle(??)請特別留意修改。
# name="addbbcode??" 請視實際狀況做+2修改。數值須與bbstyle(??)相同,以免出?#123;預期外的狀況。
# bbstyle(??) ?#93;請視實際狀況做+2修改。主要是[sell]標籤在bbtags裡的索引值,索引值由0?#125;始計算。
			<!-- 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 -->

#
#--------[FIND]----------------
#
# 如果曾安裝過 Multi_BBCode MOD,則可略過此步驟。
# 主要是將此行中的 addbbcode18 取代成 addbbcodefontcolor 。
					<select name="addbbcode18" onChange="bbfontstyle('[color=' + this.form.addbbcode18.options[this.form.addbbcode18.selectedIndex].value + ']', '[/color]');this.selectedIndex=0;" onMouseOver="helpline('s')">

#
#--------[REPLACE WITH]----------------
#
					<select name="addbbcodefontcolor" onChange="bbfontstyle('[color=' + this.form.addbbcodefontcolor.options[this.form.addbbcodefontcolor.selectedIndex].value + ']', '[/color]');this.selectedIndex=0;" onMouseOver="helpline('s')">

#
#--------[FIND]----------------
#
# 如果曾安裝過 Multi_BBCode MOD,則可略過此步驟。
# 主要是將此行中的 addbbcode20 取代成 addbbcodefontsize 。
<select name="addbbcode20" onChange="bbfontstyle('[size=' + this.form.addbbcode20.options[this.form.addbbcode20.selectedIndex].value + ']', '[/size]')" onMouseOver="helpline('f')">

#
#--------[REPLACE WITH]----------------
#
<select name="addbbcodefontsize" onChange="bbfontstyle('[size=' + this.form.addbbcodefontsize.options[this.form.addbbcodefontsize.selectedIndex].value + ']', '[/size]')" onMouseOver="helpline('f')">

#
#--------[SAVE/CLOSE ALL FILES]----------------
#
# EoM
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

文章 ~倉木麻衣~ »

JORDAN 寫:phpBB2 Plus 1.52可以安裝付費瀏覽這個外掛嗎?
因為我*php都修改好了,只剩下*tpl不知道該怎麼修改
除了pay_mod_extra要加bbcode的部份要小心外, 其它的都照著改就好了
不放心的話, 就先備份要修改的檔案吧\r
到時要還原也比較容易
謝絕所有私人訊息詢問外掛相關問題
有問題請直接於版上發表, 集思廣議絕對比專挑特定人士詢問來的好

竹貓禁止發表含破解相關的軟體, 違者砍文
不要跟我講別的地方都可以發, 為什麼竹貓就不行
免費不等於破解, 傻傻的搞不清楚
阿維
竹貓忠實會員
竹貓忠實會員
文章: 868
註冊時間: 2003-02-23 13:36
來自: 台南市

文章 阿維 »

我已經解決問題了,感謝您的回答 ;-)
super797
星球公民
星球公民
文章: 39
註冊時間: 2005-09-12 01:37

文章 super797 »

Parse error: parse error, unexpected '=' in c:\appserv\www\phpbb2\language\lang_chinese_traditional_taiwan\lang_main.php on line 1066

為什麼我修完後進入看有上面那段訊息,論壇ok但字都不見了,只有版面,怎麼會變成這樣??
我目前裝過的mod只有cashmod
w2812451
星球公民
星球公民
文章: 255
註冊時間: 2005-07-16 21:38

文章 w2812451 »

super797 寫:Parse error: parse error, unexpected '=' in c:\appserv\www\phpbb2\language\lang_chinese_traditional_taiwan\lang_main.php on line 1066

為什麼我修完後進入看有上面那段訊息,論壇ok但字都不見了,只有版面,怎麼會變成這樣??
我目前裝過的mod只有cashmod
開啟c:\appserv\www\phpbb2\language\lang_chinese_traditional_taiwan\lang_main.php
找到地1066行

看是否有錯誤!

如果不會看!請把1060~1070那一段複製出來~!
w2812451
星球公民
星球公民
文章: 255
註冊時間: 2005-07-16 21:38

文章 w2812451 »

沒叫你貼這麼多ˊˋ
100%的錯誤!

你在lang_main.php的地方就錯了!
你可以把lang_main.php打包好!傳上來嗎?
主題已鎖定

回到「外掛問題討論」