[建議]文章轉寄的功能~~

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

版主: 版主管理群

頭像
shihchieh
竹貓忠實會員
竹貓忠實會員
文章: 509
註冊時間: 2002-10-07 13:02

文章 shihchieh »

要舊的還是新版的我有收集(研究plus13up時留的),其他的相信也有用到的價值\r
http://phpbb.club.tw/plus/viewtopic.php?p=2264#2264
不過tell a friend研究的結果1.3跟1.32是一樣的,內容我也比對過了,也不清楚作者更改版本的用意在哪~
---
Do you fear death ?
liwaiy
星球普通子民
星球普通子民
文章: 2
註冊時間: 2004-01-29 09:25

文章 liwaiy »

我有用Email topic to friend
Version:0.2

phpbb2: 2.06

可以用啊 :lol:
lucasart
星球普通子民
星球普通子民
文章: 20
註冊時間: 2003-08-31 15:15
來自: 明仔小鋪
聯繫:

文章 lucasart »

我剛也把Email topic to friend version 1.0.0裝上去了
我的phpbb:2.0.10,目前沒有什麼錯誤出現,郵件的寄出也很正常
不過內部有些地方因為不太好用,小弟有小改了一下,另外也沒中文化,小弟也翻的爛爛的
也順手把他圖形化放在回覆文章旁邊,如果前輩有興趣,小弟再打包一份丟上來
圖檔
lucasart
星球普通子民
星球普通子民
文章: 20
註冊時間: 2003-08-31 15:15
來自: 明仔小鋪
聯繫:

文章 lucasart »

剛找到一個BUG,不知道別人是不是跟我一樣嘿\r
我轉寄出去的信件,文章的連結都會出錯\r
例如:
原本連結應該是\r

代碼: 選擇全部

http://www.amily.idv.tw/viewtopic.php?t=728
才是正常\r
但寄出去後收到信件方的連結會變成:

代碼: 選擇全部

http://www.amily.idv.twviewtopic.php/?t=728
那個"/"跑錯地方了
因為對php還不是很熟 :oops: ,不過還是找到一個地方必須修正

代碼: 選擇全部

#
#-----[ 開啟 ]--------------------------------------------
#

emailtopic.php

#
#-----[ 找到 ]--------------------------------------------
#

	// Send the email, but only after we prepared the board URL
	$server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://';
	$server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name']));
	$server_port = ($board_config['server_port'] <> 80) ? ':' . trim($board_config['server_port']) : '';
	$script_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['script_path']));

#
#-----[ 取代為 ]--------------------------------------------
#

	// Send the email, but only after we prepared the board URL
	$server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://';
	$server_name = trim($board_config['server_name']);
	$server_port = ( $board_config['server_port'] <> 80 ) ? ':' . trim($board_config['server_port']) . '/' : '/';
	$script_name = preg_replace('/^\/?(.*?)\/?$/', "\\\1", trim($board_config['script_path']));

#
#-----[ 存檔/結束修改 ]--------------------------------------------
#
我想,應該是版本的問題,看了一下兩個呼叫的方法大大不同
如果有啥錯誤還望各位前輩指點
圖檔
ayaya
星球公民
星球公民
文章: 128
註冊時間: 2004-09-04 18:27

文章 ayaya »

請問上面這位前輩,
我照您的方法修正前,網址是錯的,但有點不一樣…\r
不是"/"跑錯地方,而是少了"/",如下~

代碼: 選擇全部

http://localhost/phpbbviewtopic.php?t=topic_id
但照您的方法修正後還是錯,如下~

代碼: 選擇全部

http://localhost//phpbbviewtopic.php?t=topic_id
正確的應該要如下~

代碼: 選擇全部

http://localhost/phpbb/viewtopic.php?t=topic_id
我的PHPBB是2.0.10+APPSERVE2.3.0+xpPRO+這個外掛1.0.0版本\r

順便附上自己翻的中文化

email_topic.tpl

代碼: 選擇全部

Subject: {USERNAME} 從 {SITENAME} 討論區 轉寄了一篇文章給您^^
Charset: Big5

哈囉!親愛的 {FRIEND_NAME},

您的朋友 {USERNAME} 在本論壇看到了一篇主題為「{TOPIC}」的好文章,

想要與您一起分享因此寄了這封信給您...^^

以下是 {USERNAME} 要傳達給您的訊息:

{MESSAGE}


請由下面的連結前往閱讀該篇文章:

{U_TOPIC}


若此信件內容造成您任何的不愉快,或是您不想再收到任何類似的信件,

請藉由以下的email向本論壇的系統管理員反應:

{BOARD_EMAIL}


{EMAIL_SIG}
lang_main.php

代碼: 選擇全部

// Email topic to friend
$lang['Email_topic'] = '<img src="images/email.gif" border="0"> 將這篇主題轉寄給朋友';
$lang['Email_topic_settings'] = '轉寄文章給朋友';
$lang['Friend_name'] = "收件人姓名";
$lang['Friend_email'] = "收件人email";
$lang['Message'] = '信件內容';
$lang['Message_explain'] = '內容長度不可超過255字元,且不能使用HTML語法。';
$lang['Email_max_exceeded'] = '很抱歉!在過去的%d小時中,您已寄了%d封email,系統不允許使用者在短時間內寄發大量郵件!';
$lang['No_friend_specified'] = "您尚未填入收件人姓名或email!";
$lang['Friend_name_too_long'] = '您填入的收件人姓名超過規定的長度!';
$lang['Friend_email_too_long'] = '您填入的email位址超過規定的長度!';
$lang['Message_too_long'] = '您的信件內容超過規定的長度,請縮減至255字元以內方能寄出!';
lucasart
星球普通子民
星球普通子民
文章: 20
註冊時間: 2003-08-31 15:15
來自: 明仔小鋪
聯繫:

文章 lucasart »

你試一下,試著改成下列列表看看
在未修改前的,試試看,看看這樣有沒有正常

代碼: 選擇全部

#
#-----[ 開啟 ]--------------------------------------------
#

emailtopic.php

#
#-----[ 找到 ]--------------------------------------------
#

	// Send the email, but only after we prepared the board URL
	$server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://';
	$server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name']));
	$server_port = ($board_config['server_port'] <> 80) ? ':' . trim($board_config['server_port']) : '';
	$script_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['script_path']));

#
#-----[ 取代為 ]--------------------------------------------
#

	// Send the email, but only after we prepared the board URL
	$server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://';
  $server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name']));
	$server_port = ( $board_config['server_port'] <> 80 ) ? ':' . trim($board_config['server_port']) . '/' : '/';
	$script_name = preg_replace('/^\/?(.*?)\/?$/', "\\\1", trim($board_config['script_path']));
	$script_name = ($script_name == '') ? $script_name : '/' . $script_name;
#
#-----[ 存檔/結束修改 ]--------------------------------------------
#
麻煩如果還是有錯誤,小弟再試看看
圖檔
ayaya
星球公民
星球公民
文章: 128
註冊時間: 2004-09-04 18:27

文章 ayaya »

應謝你的回應…不過還是不行…\r
現在變成這樣:

代碼: 選擇全部

http://localhost///phpbbviewtopic.php?t=128
ayaya
星球公民
星球公民
文章: 128
註冊時間: 2004-09-04 18:27

文章 ayaya »

我成功了…\r
綜合上面這位前輩和原作者提供的改法…\r
經過我亂試的結果,終於出現正確的網址…\r
總之有問題的那一段最後要變成這樣才行:

代碼: 選擇全部

	// Send the email, but only after we prepared the board URL
	$server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://'; 
    $server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name'])); 
    $server_port = ( $board_config['server_port'] <> 80 ) ? ':' . trim($board_config['server_port']) . '/' : '/'; 
    $script_name = preg_replace('/^\/?(.*?)\/?$/', "\\\1", trim($board_config['script_path'])); 
    $script_name = ($script_name != '') ? $script_name . '/' : '';  
	$u_viewtopic = $server_protocol . $server_name . $server_port . $script_name . "viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id";
PS:原本的程式碼是這樣的:

代碼: 選擇全部

// Send the email, but only after we prepared the board URL
	$server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://';
	$server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name']));
	$server_port = ($board_config['server_port'] <> 80) ? ':' . trim($board_config['server_port']) : '';
	$script_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['script_path']));
	$script_name = ($script_name == '') ? $script_name : '/' . $script_name;
	$u_viewtopic = $server_protocol . $server_name . $server_port . $script_name . "viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id";
lucasart
星球普通子民
星球普通子民
文章: 20
註冊時間: 2003-08-31 15:15
來自: 明仔小鋪
聯繫:

文章 lucasart »

感謝您,這樣才是正確的,多謝多謝
因為小弟的php還在基礎階段,多謝您的賜教,感溫~~~~
圖檔
主題已鎖定

回到「外掛問題討論」