[問題] 付費瀏覽-設定使用者權限

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

版主: 版主管理群

~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

文章 ~倉木麻衣~ »

感謝ferrari888及心靈捕手二位的指正\r

不過~心靈捕手您這段程式碼看起來好像怪怪的

代碼: 選擇全部

# 
#-----[ Replace With ]----- 
# 
if( $board_config['allow_paymoney'] == 1 ) 
{ 
   $s_auth_can .= ( $is_auth['auth_paymoney'] = $lang['Rules_paymoney_can'] ) . '<br />'; 
} 
if( $board_config['allow_paymoney'] == 0 ) 
{ 
   $s_auth_can .= ( $is_auth['auth_paymoney'] = $lang['Rules_paymoney_cannot'] ) . '<br />'; 
}

個人是覺得如果allow_paymoney為0的話~就直接代入不能設定付費的$lang即可\r
而allow_paymoney為1時~才需要再依使用者權限來判斷應代入那一個$lang

上面式子allow_paymoney==1裡所做的似乎只是直接指定$lang~而沒有對使用者權限做檢查~
所以才會說看起來似乎怪怪的
ps.
$is_auth是一個陣列~
記載了使用者在此版面所擁有的權限(例如auth_view)及後台所設定的授權狀況(例如auth_view_type)

另外上面的程式其實也可以用if...else來做 :)
所以個人是覺得viewforum.php及viewtopic.php的相關程式碼可以再簡化成底下這樣\r

代碼: 選擇全部

$s_auth_can .= ( ( $board_config['allow_paymoney'] ) ? ( $is_auth['auth_paymoney'] ? $lang['Rules_paymoney_can'] : $lang['Rules_paymoney_cannot'] ) : $lang['Rules_paymoney_cannot'] ) . '<br />';
若測試沒問題的話~我會再回去編輯發佈的那篇文章 :)
ferrari888
星球公民
星球公民
文章: 45
註冊時間: 2004-12-17 03:35

文章 ferrari888 »

小竹子 寫:請不要讓標題更長了,無助於文章瀏覽,如果您要表達您的感激之意,可以回覆文章或是修改您的內容!
了解!造成困擾請多包涵.
ferrari888
星球公民
星球公民
文章: 45
註冊時間: 2004-12-17 03:35

文章 ferrari888 »

謝謝 ~倉木麻衣~ 及 心靈捕手 再次分享語法,
我再試著修改看看!!
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8532
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

~倉木麻衣~ 寫:感謝ferrari888及心靈捕手二位的指正\r

不過~心靈捕手您這段程式碼看起來好像怪怪的

代碼: 選擇全部

# 
#-----[ Replace With ]----- 
# 
if( $board_config['allow_paymoney'] == 1 ) 
{ 
   $s_auth_can .= ( $is_auth['auth_paymoney'] = $lang['Rules_paymoney_can'] ) . '<br />'; 
} 
if( $board_config['allow_paymoney'] == 0 ) 
{ 
   $s_auth_can .= ( $is_auth['auth_paymoney'] = $lang['Rules_paymoney_cannot'] ) . '<br />'; 
}

個人是覺得如果allow_paymoney為0的話~就直接代入不能設定付費的$lang即可\r
而allow_paymoney為1時~才需要再依使用者權限來判斷應代入那一個$lang

上面式子allow_paymoney==1裡所做的似乎只是直接指定$lang~而沒有對使用者權限做檢查~
所以才會說看起來似乎怪怪的
感謝 倉木麻衣 兄的指正!

也就是說, 我上一篇的修正, 正確應該如下:

代碼: 選擇全部

# 
#-----[ Open ]----- 
# 
viewforum.php 

# 
#-----[ Find ]----- 
# 
$s_auth_can .= ( ( $is_auth['auth_paymoney'] ) ? $lang['Rules_paymoney_can'] : $lang['Rules_paymoney_cannot'] ) . '<br />'; 

# 
#-----[ Replace With ]----- 
# 
if( $board_config['allow_paymoney'] == 1 )
{
$s_auth_can .= ( ( $is_auth['auth_paymoney'] ) ? $lang['Rules_paymoney_can'] : $lang['Rules_paymoney_cannot'] ) . '<br />'; 
}else
{
$s_auth_can .= ( $is_auth['auth_paymoney'] = $lang['Rules_paymoney_cannot'] ) . '<br />';
}

# 
#-----[ Open ]----- 
# 
viewtopic.php 

# 
#-----[ Find ]----- 
# 
$s_auth_can .= ( ( $is_auth['auth_paymoney'] ) ? $lang['Rules_paymoney_can'] : $lang['Rules_paymoney_cannot'] ) . '<br />'; 

# 
#-----[ Replace With ]----- 
# 
if( $board_config['allow_paymoney'] == 1 )
{
$s_auth_can .= ( ( $is_auth['auth_paymoney'] ) ? $lang['Rules_paymoney_can'] : $lang['Rules_paymoney_cannot'] ) . '<br />'; 
}else
{
$s_auth_can .= ( $is_auth['auth_paymoney'] = $lang['Rules_paymoney_cannot'] ) . '<br />';
}
不過, 我已經測試過, 還是您的修改方法更為簡易!
真是讓我獲益良多! :-D
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

文章 ~倉木麻衣~ »

嗯~剛才再測試一下又發現另一個小問題
就是如果付費瀏覽的權限設定成「所有會員」~則訪客在viewform或viewtopic時右下角皆會顯示為「您 可以 在此版面設定付費」
然而付費瀏覽預設即是訪客無權發表付費文章~即使權限開給所有會員也一樣\r
所以上述程式應當改成這樣才恰當~

代碼: 選擇全部

$s_auth_can .= ( ( $board_config['allow_paymoney'] ) ? ( ($is_auth['auth_paymoney'] && $userdata['session_logged_in']) ? $lang['Rules_paymoney_can'] : $lang['Rules_paymoney_cannot'] ) : $lang['Rules_paymoney_cannot'] ) . '<br />';
多加了一個$userdata['session_logged_in']的判斷\r
發佈的修改方式已針對上述部份做同步修正~應該是沒問題了
rchlam
星球公民
星球公民
文章: 43
註冊時間: 2004-09-04 23:30

[問題] 如何修改sql?

文章 rchlam »

本人是新手,
我用easymod安裝了cashmod你2.0.15上
現希望使用pay mod來使某些文章需要付款才可以觀看,

可是一開始便出現問題,
就是如何修改sql?

是不是用phpmyadmin找到phpbbxxxx_posts_text後,
保留post_id、bbcode_uid、post_subject、post_text的同時,
在post_text後面加上pay_money、pay_user、pay_see、pay_gotmoney?
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

Re: [問題] 如何修改sql?

文章 ~倉木麻衣~ »

rchlam 寫:我用easymod安裝了cashmod你2.0.15上
現希望使用pay mod來使某些文章需要付款才可以觀看,

可是一開始便出現問題,
就是如何修改sql?

是不是用phpmyadmin找到phpbbxxxx_posts_text後,
保留post_id、bbcode_uid、post_subject、post_text的同時,
在post_text後面加上pay_money、pay_user、pay_see、pay_gotmoney?
建議您先將置頂文章及教學文件庫看過一遍
至少要看過底下兩篇
[教學] phpBB MODs安裝修改教學

[基本概念]如何使用phpMyadmin輸入sql語法 !
s825113
星球普通子民
星球普通子民
文章: 2
註冊時間: 2005-06-21 23:24

文章 s825113 »

我按照倉木麻一前輩的心血分享\r
真的成功安裝好了這個模組
功能都很正常
但是剛剛發現到就是會員的名字下方無法顯示該會員現在擁有多少金幣\r
不知道是那邊修改錯了
可否請有經驗的前輩們指點一二
感激不盡\r

系統環境
AppServ 2.44a
Phpbb2 2.015

論壇網址
http://smpower.pcadsl.net
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

文章 ~倉木麻衣~ »

我剛去看過了
應該是你關閉了所有版面的貨幣, 除了測試區有開啟之外

到「系統管理控制台/Cash Admin/論壇金錢設定」裡檢查各個版面的貨幣啟用狀態吧
s825113
星球普通子民
星球普通子民
文章: 2
註冊時間: 2005-06-21 23:24

文章 s825113 »

~倉木麻衣~ 寫:我剛去看過了
應該是你關閉了所有版面的貨幣, 除了測試區有開啟之外

到「系統管理控制台/Cash Admin/論壇金錢設定」裡檢查各個版面的貨幣啟用狀態吧
哈~~真是丟臉
我剛剛才發現我自己把其他版區都關閉販賣文章的功能,正想回來把這篇文章刪除,沒想到您已經看過了~~~嗚嗚嗚,臉丟大嚕~~~很感激您!!!
DL
竹貓忠實會員
竹貓忠實會員
文章: 717
註冊時間: 2005-03-05 15:29

文章 DL »

心靈捕手 寫:
ferrari888 寫:謝謝兩位前輩讓這功能更完整,但有一個問題,想請問一下,
不知道是不是我個人設定上有錯誤,是這樣的..

此套外掛如上追加的部份我也已作修改,
現在新發現的問題是 >> 當我在版區付費瀏覽權限設定為 系統管理員,
然後在後台管理將 >> 基本組態/允許使用者設定付費文章 >> 設為 "否"

但回到 viewforum 頁面時,右下的的選項說明還是會出現 >> 您 可以 在這個版面設定付費\r

posting 頁面則是沒問題的,付費瀏覽是顯示 關閉

請問這是正常的嗎?還是我的設定有問題,
我剛剛測試一下, 的確如您所說的情況.

一般而言, 在基本組態, 預設是開啟" 付費瀏覽" 的機制;
而此外掛, 只是新增, 各個版面使用該機制的權限設定.

如果, 如您所言, 關閉" 付費瀏覽" 的機制,
那麼, 即使擁有該版面設定付費瀏覽的權限,
也是無法使用該機制的.( 雖然, 它還是顯示" 您 可以 在這個版面設定付費")

我想到一個比較簡單的解決方法, 提供您參考一下:

代碼: 選擇全部

#
#-----[ Open ]-----
#
viewforum.php

#
#-----[ Find ]-----
#
$s_auth_can .= ( ( $is_auth['auth_paymoney'] ) ? $lang['Rules_paymoney_can'] : $lang['Rules_paymoney_cannot'] ) . '<br />';

#
#-----[ Replace With ]-----
#
if( $board_config['allow_paymoney'] == 1 )
{
$s_auth_can .= ( $is_auth['auth_paymoney'] = $lang['Rules_paymoney_can'] ) . '<br />';
}
if( $board_config['allow_paymoney'] == 0 )
{
$s_auth_can .= ( $is_auth['auth_paymoney'] = $lang['Rules_paymoney_cannot'] ) . '<br />';
}

#
#-----[ Open ]-----
#
viewtopic.php

#
#-----[ Find ]-----
#
$s_auth_can .= ( ( $is_auth['auth_paymoney'] ) ? $lang['Rules_paymoney_can'] : $lang['Rules_paymoney_cannot'] ) . '<br />';

#
#-----[ Replace With ]-----
#
if( $board_config['allow_paymoney'] == 1 )
{
$s_auth_can .= ( $is_auth['auth_paymoney'] = $lang['Rules_paymoney_can'] ) . '<br />';
}
if( $board_config['allow_paymoney'] == 0 )
{
$s_auth_can .= ( $is_auth['auth_paymoney'] = $lang['Rules_paymoney_cannot'] ) . '<br />';
}
我倒覺得不用改,因為獲允許的會員本來就有權可以發表付費文章,只是你暫時把該功能關閉,這樣改的話,會員可能會以為自己本來就沒有權限。

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

文章 心靈捕手 »

DL 寫:我倒覺得不用改,因為獲允許的會員本來就有權可以發表付費文章,只是你暫時把該功能關閉,這樣改的話,會員可能會以為自己本來就沒有權限。

僅供參考
我的看法和您有點出入-> 修改, 只是是為了傳遞給會員正確的訊息.

如果不做修改的話, 當您暫時把該付費功能關閉,
而會員, 又看到您可以在此發表付費文章的權限說明,
但是進入編輯文章的頁面時, 又遍尋不著付費的設定選項,
那麼一來, 就很容易造成誤解.

ps. 您引言的部分, 我當初的修改有誤, 已經 ~倉木麻衣~ 兄指正.
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
八塊的多多
星球普通子民
星球普通子民
文章: 17
註冊時間: 2003-02-08 00:46
來自: 台北市
聯繫:

文章 八塊的多多 »

代碼: 選擇全部

# 
#--------[ OPEN ]---------------- 
# 
includes/functions_post.php 

# 
#--------[ FIND ]---------------- 
# 
   if ($userdata['user_id'] == ANONYMOUS || $pay_money < -1) 

# 
#--------[ REPLACE WITH ]---------------- 
# 
   $is_auth_pay = auth(AUTH_PAYMONEY, $forum_id, $userdata); 
   if ($userdata['user_id'] == ANONYMOUS || $pay_money < -1 || !$is_auth_pay['auth_paymoney']) 
我找不到這一段耶....
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8532
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

八塊的多多 寫:

代碼: 選擇全部

# 
#--------[ OPEN ]---------------- 
# 
includes/functions_post.php 

# 
#--------[ FIND ]---------------- 
# 
   if ($userdata['user_id'] == ANONYMOUS || $pay_money < -1) 

# 
#--------[ REPLACE WITH ]---------------- 
# 
   $is_auth_pay = auth(AUTH_PAYMONEY, $forum_id, $userdata); 
   if ($userdata['user_id'] == ANONYMOUS || $pay_money < -1 || !$is_auth_pay['auth_paymoney']) 
我找不到這一段耶....
我不太認同您的" 發問方式"!

建議您:
如果真有心安裝此一附加外掛的話,
那麼除了應該遵守" 發問格式" 之外,
也應該" 詳述問題" 發生的經過.

如此一來, 對於問題的解決將較有效益. 不是嗎? ;-)
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
ferrari888
星球公民
星球公民
文章: 45
註冊時間: 2004-12-17 03:35

文章 ferrari888 »

謝謝各位前輩的分享,目前在裝付費瀏覽 Add on 設定使用者權限 之後,目前在論壇已正常運作超過一個月.
但目前我碰到一個付費瀏覽設定的問題,我的 phpBB 版本是 2.0.16

問題是這樣的..

比如我的論壇有2個版面 A 與 B

A 版面我設定 版面管理/權限設定/付費瀏覽/系統管理員\r
B 版面我設定 版面管理/權限設定/付費瀏覽/註冊會員\r

想請問在 版面管理/權限設定/付費瀏覽/ 這個設定裡面能不能多一個 "關閉" 的選項?

也就是說這個 關閉 的選項,會連系統管理員也無法在該版區使用付費瀏覽.
因為我基於最低付費所需的設定,必須關閉 -1 跟 0 及 1234 的選項,所以我的 A 版區必須關閉付費瀏覽.
請前輩幫幫忙,是否能在 版面管理/權限設定/付費瀏覽/ 多增加一個 關閉 的選項,先謝了!
主題已鎖定

回到「外掛問題討論」