補齊發文格式.
問題外掛:File Attachment Mod 2.4.5
使用版本:phpBB 2.0.22
網站位置:屬內部測試網站,尚無對外公開.
網站編碼: BIG5
資料庫: MS SQL 2000
狀況描述:
我想增加一個功能,就是下載檔案時, 能夠記錄這個檔案有誰下載過,
雖然我也算是程式設計師,懂些vb,delphi,ms sql等, 但對PHP完全外行.
首先我在SQL SERVER先建一個資料表,
代碼: 選擇全部
CREATE TABLE [phpbb_downloader] (
[attach_id] [int] NOT NULL , /*檔案ID*/
[user_id] [int] NOT NULL , /*USER ID*/
[download_time] [int] NOT NULL ,/*USER最後下載檔案的時間*/
[download_ip] [char] (8),NOT NULL,/*USER最後下載檔案的IP*/
[download_count] [int] NOT NULL /*USER下載這個檔案的次數 */
) ON [PRIMARY]
然後修改download.php,
搜尋// Update download count, 在之前加入
代碼: 選擇全部
// Update download user
if (!$thumbnail)
{
$sql = 'SELECT user_id FROM phpbb_downloader WHERE user_id = ' . (int) $userdata['user_id'];
if ($result = $db->sql_query($sql))
{
if ($db->sql_fetchrow($result)<>0)
{
$sql = 'UPDATE phpbb_downloader SET download_count = download_count + 1' . ',download_time= ' . time(). ',download_ip= ' . "'" . $user_ip . "'" . ' WHERE attach_id = ' . (int) $attachment['attach_id'] . ' and user_id= ' . (int) $userdata['user_id'];
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Couldn\'t update attachment download information', '', __LINE__, __FILE__, $sql);
}
}
else
{
$sql = 'insert phpbb_downloader (attach_id,user_id,download_ip,download_time,download_count ) values ( ' . (int) $attachment['attach_id'] . ',' . (int) $userdata['user_id'] . ',' . "'" . $user_ip . "'" . ',' . time() . ',' . 1 . ' ) ';
if (!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Couldn\'t insert attachment download information', '', __LINE__, __FILE__, $sql);
}
}
}
else
{
message_die(GENERAL_ERROR, 'Could not query Allowed Extensions.', '', __LINE__, __FILE__, $sql);
}
}
這樣,USER在下載檔案時已經可以記錄,
如果USER第一次下載的檔案,會建一筆新的記錄,
第二次再下載同樣的檔案,則更新記錄.
(PS.以上程式碼是我依樣畫葫蘆來的, 如有不妥,還請指導. )
接下來我想將記錄顯示出來,如果這個檔案有5個USER下載過,
就這樣顯示: user1,user2,user3,user4,user5
查了半天是要改 viewtopic_body.tpl 檔裡面的 {postrow.ATTACHMENTS},
摸了很久,摸不出頭緒,不知從何下手修改,請高手指點.