要舊的還是新版的我有收集(研究plus13up時留的),其他的相信也有用到的價值\r
http://phpbb.club.tw/plus/viewtopic.php?p=2264#2264
不過tell a friend研究的結果1.3跟1.32是一樣的,內容我也比對過了,也不清楚作者更改版本的用意在哪~
[建議]文章轉寄的功能~~
版主: 版主管理群
剛找到一個BUG,不知道別人是不是跟我一樣嘿\r
我轉寄出去的信件,文章的連結都會出錯\r
例如:
原本連結應該是\r
才是正常\r
但寄出去後收到信件方的連結會變成:
那個"/"跑錯地方了
因為對php還不是很熟
,不過還是找到一個地方必須修正
我想,應該是版本的問題,看了一下兩個呼叫的方法大大不同
如果有啥錯誤還望各位前輩指點
我轉寄出去的信件,文章的連結都會出錯\r
例如:
原本連結應該是\r
代碼: 選擇全部
http://www.amily.idv.tw/viewtopic.php?t=728但寄出去後收到信件方的連結會變成:
代碼: 選擇全部
http://www.amily.idv.twviewtopic.php/?t=728因為對php還不是很熟
代碼: 選擇全部
#
#-----[ 開啟 ]--------------------------------------------
#
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']));
#
#-----[ 存檔/結束修改 ]--------------------------------------------
#
如果有啥錯誤還望各位前輩指點
請問上面這位前輩,
我照您的方法修正前,網址是錯的,但有點不一樣…\r
不是"/"跑錯地方,而是少了"/",如下~
但照您的方法修正後還是錯,如下~
正確的應該要如下~
我的PHPBB是2.0.10+APPSERVE2.3.0+xpPRO+這個外掛1.0.0版本\r
順便附上自己翻的中文化
email_topic.tpl
lang_main.php
我照您的方法修正前,網址是錯的,但有點不一樣…\r
不是"/"跑錯地方,而是少了"/",如下~
代碼: 選擇全部
http://localhost/phpbbviewtopic.php?t=topic_id代碼: 選擇全部
http://localhost//phpbbviewtopic.php?t=topic_id代碼: 選擇全部
http://localhost/phpbb/viewtopic.php?t=topic_id順便附上自己翻的中文化
email_topic.tpl
代碼: 選擇全部
Subject: {USERNAME} 從 {SITENAME} 討論區 轉寄了一篇文章給您^^
Charset: Big5
哈囉!親愛的 {FRIEND_NAME},
您的朋友 {USERNAME} 在本論壇看到了一篇主題為「{TOPIC}」的好文章,
想要與您一起分享因此寄了這封信給您...^^
以下是 {USERNAME} 要傳達給您的訊息:
{MESSAGE}
請由下面的連結前往閱讀該篇文章:
{U_TOPIC}
若此信件內容造成您任何的不愉快,或是您不想再收到任何類似的信件,
請藉由以下的email向本論壇的系統管理員反應:
{BOARD_EMAIL}
{EMAIL_SIG}代碼: 選擇全部
// 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字元以內方能寄出!';你試一下,試著改成下列列表看看
在未修改前的,試試看,看看這樣有沒有正常
麻煩如果還是有錯誤,小弟再試看看
在未修改前的,試試看,看看這樣有沒有正常
代碼: 選擇全部
#
#-----[ 開啟 ]--------------------------------------------
#
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;
#
#-----[ 存檔/結束修改 ]--------------------------------------------
#
我成功了…\r
綜合上面這位前輩和原作者提供的改法…\r
經過我亂試的結果,終於出現正確的網址…\r
總之有問題的那一段最後要變成這樣才行:
PS:原本的程式碼是這樣的:
綜合上面這位前輩和原作者提供的改法…\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";代碼: 選擇全部
// 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";


