1 頁 (共 2 頁)

请问有将Cash与Attach挂钩的Mod吗

發表於 : 2007-05-23 23:15
wickedlad_ii
問題外掛:Cash mod与Attach Mod
參考連結:
使用版本:phpBB 2.0.22
狀況描述:
我已经装了Cash mod与Attach Mod,但它们根本不搭边,而我希望实现以下的功能:根据用户积分限制附件的浏览与下载,上传文件加分,下载文件扣分,不知道能实现吗?给一些思路或线索也可,谢谢!!

Re: 请问有将Cash与Attach挂钩的Mod吗

發表於 : 2007-05-24 22:55
心靈捕手
wickedlad_ii 寫:我已经装了Cash mod与Attach Mod,但它们根本不搭边,而我希望实现以下的功能:根据用户积分限制附件的浏览与下载,上传文件加分,下载文件扣分,不知道能实现吗?给一些思路或线索也可,谢谢!!
建議您:
1. 補齊發問格式
http://phpbb-tw.net/phpbb/viewtopic.php?t=11226
2. '根据用户积分限制附件的浏览与下载' 此功能可以如此修改:
先根據此文修改 display_attachments_notice
http://phpbb-tw.net/phpbb/viewtopic.php?p=255061#255061
再針對您的需求修改如下
#
#--------[ OPEN ]----------------
#
attach_mod/displaying.php

#
#--------[ FIND ]----------------
#

代碼: 選擇全部

function display_post_attachments($post_id, $switch_attachment)
{
	global $attach_config, $is_auth;
#
#--------[ REPLACE WITH ]----------------
#

代碼: 選擇全部

function display_post_attachments($post_id, $switch_attachment)
{
	global $attach_config, $is_auth, $userdata;
#
#--------[ FIND ]----------------
#

代碼: 選擇全部

	if ($is_auth['auth_download'] && $is_auth['auth_view'])
#
#--------[ REPLACE WITH ]----------------
# ps. 請自行修改貨幣的欄位值

代碼: 選擇全部

	if ($is_auth['auth_download'] && $is_auth['auth_view'] && $userdata['user_money'] >= 100)
#
#--------[ OPEN ]----------------
#
language/lang_chinese_traditional_taiwan/lang_main_attach.php

#
#--------[ FIND ]----------------
#

代碼: 選擇全部

$lang['Attach_Notice'] = '附加檔案: 您目前的權限無法檢視附加檔案';
#
#--------[ REPLACE WITH ]----------------
# ps. 請自行修改貨幣的欄位值

代碼: 選擇全部

$lang['Attach_Notice'] = '附加檔案: 您目前的權限或現金太少 (至少要100以上) 無法檢視附加檔案'; 
#
#--------[ SAVE/CLOSE ALL FILES ]----------------
#
# EoM

DEMO:
http://wang5555.dnsfor.me/test/phpbb2/viewtopic.php?p=46#46

TEST ID / PD:
goodluck / 12345678
goodluck2 / 12345678

發表於 : 2007-05-25 00:01
wickedlad_ii
有劳心靈捕手大大,限分浏览附件基本已解决,不知附件的加减分有办法实现吗,能否提供一些线索,谢谢!!

發表於 : 2007-05-25 09:52
心靈捕手
wickedlad_ii 寫:有劳心靈捕手大大,限分浏览附件基本已解决,不知附件的加减分有办法实现吗,能否提供一些线索,谢谢!!
若要對上傳或下載附件, 有加分或減分的效果,
則難度較高, 且必須先釐清幾個 (原則) 問題:
1. 上傳或下載附件的權限, 絕對不能設定為訪客;
若是上傳圖片, 則不能設定為線上顯示.
2. 上傳附件加分, 是以夾帶有附件的文章判定, 或是以上傳附件的數量判定?
3. 下載附件扣分, 可能得先想辦法紀錄哪些會員下載了該附件?

發表於 : 2007-05-25 11:54
wickedlad_ii
上傳附件加分,设想是以上傳附件的數量判定,即上傳一个附件家多少分,
我想过去下載附件扣分可能更易实现,我的想法是能否通过附件下载链接的点击去处理?

另外不好意思,上面的积分限制浏览功能我按你的方法改了以后是能够限制访客浏览,不过好像连正式会员也没办法浏览了(加了积分判断的代码之后),我的货币字段名称是“user_points”,类型是Decimal,请帮忙再看一下,谢谢。

發表於 : 2007-05-25 13:16
心靈捕手
wickedlad_ii 寫:上傳附件加分,设想是以上傳附件的數量判定,即上傳一个附件家多少分,
我想过去下載附件扣分可能更易实现,我的想法是能否通过附件下载链接的点击去处理?

另外不好意思,上面的积分限制浏览功能我按你的方法改了以后是能够限制访客浏览,不过好像连正式会员也没办法浏览了(加了积分判断的代码之后),我的货币字段名称是“user_points”,类型是Decimal,请帮忙再看一下,谢谢。
建議您:
1. 貼出測試文章網址
2. 提供測試用帳號與密碼
3. 下列檔案壓縮後, 貼出下載連結
attach_mod/displaying.php

發表於 : 2007-05-25 17:29
wickedlad_ii
1. 測試文章網址
http://www.rosybook.com/
2. 測試用帳號與密碼
帳號: guess
密碼: abcdefg
3. attach_mod/displaying.php下載連結
在站长办公室版面中

谢谢你的关注与耐心

發表於 : 2007-05-25 20:31
心靈捕手
wickedlad_ii 寫:1. 測試文章網址
http://www.rosybook.com/
2. 測試用帳號與密碼
帳號: guess
密碼: abcdefg
3. attach_mod/displaying.php下載連結
在站长办公室版面中

谢谢你的关注与耐心
您 displaying.php 的 $userdata 加錯地方了.

以下的修改, 提供您參考:
#
#-----[ FIND ]-----
#

代碼: 選擇全部

function topic_attachment_image($switch_attachment)
{
//-	global $attach_config, $is_auth;
	global $attach_config, $is_auth, $userdata;	//+
#
#-----[ REPLACE WITH ]-----
#

代碼: 選擇全部

function topic_attachment_image($switch_attachment)
{
	global $attach_config, $is_auth;
#
#-----[ FIND ]-----
#

代碼: 選擇全部

function display_post_attachments($post_id, $switch_attachment)
{
	global $attach_config, $is_auth;
#
#-----[ REPLACE WITH ]-----
#

代碼: 選擇全部

function display_post_attachments($post_id, $switch_attachment)
{
	global $attach_config, $is_auth, $userdata;
另外, 如果您預設每位註冊會員都有 33 積分的話,
那麼, 您應當修改瀏覽或下載附件的最小金額為 100 積分較妥當.

#
#-----[ FIND ]-----
#

代碼: 選擇全部

&& ((int)$userdata['user_points'] >= 10))
#
#-----[ REPLACE WITH ]-----
#

代碼: 選擇全部

&& $userdata['user_points'] >= 100)

發表於 : 2007-05-25 22:26
wickedlad_ii
谢谢心靈捕手,积分限制附件查看的功能终于解决了。
我預設每位註冊會員都有 33 積分,是因为不想用户一开始就为积分发愁,因为一般的书籍网路上有的是下载的地方,我主要是想凭一些独家的资源与特色留住用户。

现在很要紧的是能实现下載附件扣分的功能,如果方便的话清继续指教。

[分享] 若 [上傳/刪除] 附加檔案, 則 [獲得/扣除] 現金的方法

發表於 : 2007-05-27 22:06
心靈捕手
wickedlad_ii 寫:谢谢心靈捕手,积分限制附件查看的功能终于解决了。
我預設每位註冊會員都有 33 積分,是因为不想用户一开始就为积分发愁,因为一般的书籍网路上有的是下载的地方,我主要是想凭一些独家的资源与特色留住用户。

现在很要紧的是能实现下載附件扣分的功能,如果方便的话清继续指教。
'下載扣分' 的方法, 尚未參透. :oops:

不過, 與您[分享] 若 [上傳/刪除] 附加檔案, 則 [獲得/扣除] 現金的方法.

#
#-----[ OPEN ]-----
#
attach_mod/posting_attachments.php

#
#-----[ FIND ]-----
#

代碼: 選擇全部

				// Ok, upload the Attachment
				if (!$error)
				{
					$this->move_uploaded_attachment($upload_mode, $file);
				}
#
#-----[ REPLACE WITH ]-----
# ps. 請自行修改貨幣欄位值

代碼: 選擇全部

				// Ok, upload the Attachment
				if (!$error)
				{
					$this->move_uploaded_attachment($upload_mode, $file);
					// 若上傳一個檔案, 則獲得現金 100
					$sql = "UPDATE phpbb_users SET user_money = user_money+100 WHERE user_id = ".$userdata['user_id']; 
					if ( !($result = $db->sql_query($sql)) ) 
					{ 
						message_die(GENERAL_MESSAGE, "<b>Fatal Error!</b><br><br>".mysql_error()); 
					}
				}
#
#-----[ OPEN ]-----
#
attach_mod/includes/functions_delete.php

#
#-----[ FIND ]-----
#

代碼: 選擇全部

function delete_attachment($post_id_array = 0, $attach_id_array = 0, $page = 0, $user_id = 0)
{
	global $db;
#
#-----[ REPLACE WITH ]-----
#

代碼: 選擇全部

function delete_attachment($post_id_array = 0, $attach_id_array = 0, $page = 0, $user_id = 0)
{
	global $db, $userdata;
#
#-----[ FIND ]-----
#

代碼: 選擇全部

						$sql = 'DELETE FROM ' . ATTACHMENTS_DESC_TABLE . '
							WHERE attach_id = ' . (int) $attachments[$j]['attach_id'];

						if ( !($db->sql_query($sql)) )
						{
							message_die(GENERAL_ERROR, $lang['Error_deleted_attachments'], '', __LINE__, __FILE__, $sql);
						}
#
#-----[ REPLACE WITH ]-----
# ps. 請自行修改貨幣欄位值

代碼: 選擇全部

						$sql = 'DELETE FROM ' . ATTACHMENTS_DESC_TABLE . '
							WHERE attach_id = ' . (int) $attachments[$j]['attach_id'];

						if ( !($db->sql_query($sql)) )
						{
							message_die(GENERAL_ERROR, $lang['Error_deleted_attachments'], '', __LINE__, __FILE__, $sql);
						}
						// 若刪除一個檔案, 則扣除現金 200; 系統 (版面) 管理員除外
						if ( $userdata['user_level'] == 0 )
						{
							$sql = "UPDATE phpbb_users SET user_money = user_money-200 WHERE user_id = ".$userdata['user_id']; 
							if ( !($result = $db->sql_query($sql)) ) 
							{ 
								message_die(GENERAL_MESSAGE, "<b>Fatal Error!</b><br><br>".mysql_error()); 
							}
						}
另外, 進入控制台 -> 貨幣控制台 (Cash Admin) -> 基本設置 -> 會員賺取金額時顯示的訊息:
#
#-----[ FIND ]-----
#

代碼: 選擇全部

You earned %s for that post
#
#-----[ REPLACE WITH ]-----
# ps. 請自行修改貨幣欄位值

代碼: 選擇全部

You earned %s for that post<br>若上傳一個檔案, 則獲得現金 100<br>若刪除一個檔案, 則扣除現金 200; 系統 (版面) 管理員除外
#
#-----[ SAVE & CLOSE ]-----
#

DEMO:
http://wang5555.dnsfor.me/test/phpbb2/index.php

發表於 : 2007-05-28 00:22
wickedlad_ii
谢谢心靈捕手大大的鼎力相助,由于时间较紧,我找了一个叫做“Topic Cost”的Mod暂时代替,就是说把下载附件扣分变成阅读带附件的文章扣分,当然这只是权宜之计,之后时间较宽松时我会继续研究,您给我的代码将会是很重要的参考,谢谢!!

發表於 : 2007-05-28 06:51
心靈捕手
wickedlad_ii 寫:谢谢心靈捕手大大的鼎力相助,由于时间较紧,我找了一个叫做“Topic Cost”的Mod暂时代替,就是说把下载附件扣分变成阅读带附件的文章扣分,当然这只是权宜之计,之后时间较宽松时我会继续研究,您给我的代码将会是很重要的参考,谢谢!!
建議您:
貼出 Topic Cost 的參考連結.

發表於 : 2007-05-29 05:37
wickedlad_ii
我原先是在phpbb老巢还是phpbbhack看到的,忘了,都是1.0,后来不小心在那个作者的主页看到了2.0,功能比1.0改进了很多,设置也加入了管理面板中,挺方便的,可以设置发贴的费用(发贴也要钱?估计比较特殊采用得到)、回复的费用(天哪那我都不回了)、阅读文章的费用(我目前用的就是这个功能),而且可以为每个子论坛设定不同的费用,也可以把费用直接转给开主题的搂主。

但我觉得有一个很大的缺陷就是,会员阅读文章的费用一旦设定,当前的页面每刷新一次,就会重新扣分,而不是说一个页面只扣一次分,其实我想过去这应该是不难实现的,只要设一个数组纪录已扣过分的页面的ID号就OK了,估计作者未仔细留意,过后有空我想知会他一声,看他能不能再改进一下。

链接:http://www.zarath.com/

另外,如果您有兴趣,希望能研究一下付费附件的作法,不胜感激,
这里亦有个链接供参考:http://bbs.chinacissp.com/viewtopic.php?t=4239
还有,这里有位“先人”干了一半(”据说“是90%)就不干了。。。
链接:http://www.phpbb.com/community/viewtopic.php?t=176786

發表於 : 2007-05-29 07:05
心靈捕手
wickedlad_ii 寫:我原先是在phpbb老巢还是phpbbhack看到的,忘了,都是1.0,后来不小心在那个作者的主页看到了2.0,功能比1.0改进了很多,设置也加入了管理面板中,挺方便的,可以设置发贴的费用(发贴也要钱?估计比较特殊采用得到)、回复的费用(天哪那我都不回了)、阅读文章的费用(我目前用的就是这个功能),而且可以为每个子论坛设定不同的费用,也可以把费用直接转给开主题的搂主。

但我觉得有一个很大的缺陷就是,会员阅读文章的费用一旦设定,当前的页面每刷新一次,就会重新扣分,而不是说一个页面只扣一次分,其实我想过去这应该是不难实现的,只要设一个数组纪录已扣过分的页面的ID号就OK了,估计作者未仔细留意,过后有空我想知会他一声,看他能不能再改进一下。

链接:http://www.zarath.com/

另外,如果您有兴趣,希望能研究一下付费附件的作法,不胜感激,
这里亦有个链接供参考:http://bbs.chinacissp.com/viewtopic.php?t=4239
还有,这里有位“先人”干了一半(”据说“是90%)就不干了。。。
链接:http://www.phpbb.com/community/viewtopic.php?t=176786
感謝您的分享!

建議您:
1. 試裝此外掛 '付費瀏覽' Pay Money 1.0.9
http://phpbb-tw.net/phpbb/viewtopic.php?t=45690
http://starryhometown.net/forum/downloa ... etail&id=5
2. 再加裝其附加外掛, 便可達到類似效果 - 觀看文章 (下載檔案) 需付費
Pay_Money_MOD_1.0.9/extra/File_Attachment_Mod.txt

發表於 : 2007-05-29 17:03
wickedlad_ii
谢谢心靈捕手,我看了您给出的Pay Money Mod,好像是关于用户出售贴子的,这个功能我的系统中原先已经集成了,我上面提到的那个Topic Cost Mod是由管理员强制为某个子论坛设定阅读费用,会员只要有足够的积分,点击阅读后自动扣分。

另外我想再次提出关于重复计费的问题,Topic Cost Mod的作者实际也了解,他的说法是如果去履行这个功能将需要耗费一定的数据库资源,因此未予考虑。这里我赞同他的看法,因为即使对于一个稍具规模的网站来说,因此而长期累积下来的数据也是十分可观的。

我看了Pay Money Mod的程序,对于重复计费,是采用了数据库纪录的方法,我想请教心靈捕手大大,有没有一种折中的方法,就是说只在一定时期或一定范围内防止重复计费,比如用户重新登录则重新计费,比如只当天时间内不重复计费,有办法做到吗?谢谢。