[問題] Cash Mod 使用捐贈功能時,對方收到的私訊內容有問題
版主: 版主管理群
[問題] Cash Mod 使用捐贈功能時,對方收到的私訊內容有問題
問題外掛:Cash Mod
參考連結:http://www.phpbb.com/phpBB/viewtopic.php?t=94055
使用版本:phpBB 2.0.20
狀況描述:
使用捐贈功能時輸入訊息,對方會收到一封私人訊息的通知,就在按 enter 斷行的部分會變成「nn」,像這樣:
依夢兒捐贈了哈囉幣 30 元給您。nn依夢兒對您說:n感謝上傳。
正常的訊息內容應該是:
依夢兒捐贈了哈囉幣 30 元給您。
依夢兒對您說:
感謝上傳。
請問是哪裡出問題了呢?煩請指導,謝謝。
參考連結:http://www.phpbb.com/phpBB/viewtopic.php?t=94055
使用版本:phpBB 2.0.20
狀況描述:
使用捐贈功能時輸入訊息,對方會收到一封私人訊息的通知,就在按 enter 斷行的部分會變成「nn」,像這樣:
依夢兒捐贈了哈囉幣 30 元給您。nn依夢兒對您說:n感謝上傳。
正常的訊息內容應該是:
依夢兒捐贈了哈囉幣 30 元給您。
依夢兒對您說:
感謝上傳。
請問是哪裡出問題了呢?煩請指導,謝謝。
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。
搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。
搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
To: 依夢兒前輩, 我按你上文一樣作出測試, 結果正常如下:
kkt 的訊息:
依夢兒捐贈了哈囉幣 30 元給您
依夢兒對您說:
感謝上傳
原外掛的訊息部份好像沒問題. (提供前輩參考)
.
kkt 的訊息:
依夢兒捐贈了哈囉幣 30 元給您
依夢兒對您說:
感謝上傳
原外掛的訊息部份好像沒問題. (提供前輩參考)
.
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
Re: [問題] Cash Mod 使用捐贈功能時,對方收到的私訊內容有問題
以下的修改, 提供您參考:依夢兒 寫:問題外掛:Cash Mod
參考連結:http://www.phpbb.com/phpBB/viewtopic.php?t=94055
使用版本:phpBB 2.0.20
狀況描述:
使用捐贈功能時輸入訊息,對方會收到一封私人訊息的通知,就在按 enter 斷行的部分會變成「nn」,像這樣:
依夢兒捐贈了哈囉幣 30 元給您。nn依夢兒對您說:n感謝上傳。
正常的訊息內容應該是:
依夢兒捐贈了哈囉幣 30 元給您。
依夢兒對您說:
感謝上傳。
請問是哪裡出問題了呢?煩請指導,謝謝。
#
#-----[ OPEN ]-----
#
language/lang_chinese_traditional_taiwan/lang_cash.php
#
#-----[ FIND ]-----
#
代碼: 選擇全部
$lang['Has_donated'] = '%s 贈與 %s 給你。 \n\n%s 對你說:\n';
#-----[ REPLACE WITH ]-----
#
代碼: 選擇全部
$lang['Has_donated'] = '%s 贈與 %s 給你。 <br /><br />%s 對你說:<br />';
#-----[ SAVE & CLOSE ]-----
#
ps.
底下還有 3 個 '\n', 也可以取代成 '<br />'.
我以前也是正常的喲,只是不知道為什麼最近出了問題....kkt 寫:To: 依夢兒前輩, 我按你上文一樣作出測試, 結果正常如下
修改之後變成這樣:心靈捕手 寫:以下的修改, 提供您參考
依夢兒捐贈了早安幣 15 元給您。<br><br>依夢兒對您說:<br>測試捐贈功能。
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。
搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。
搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
這個現象, 的確有點詭異!依夢兒 寫:我以前也是正常的喲,只是不知道為什麼最近出了問題....kkt 寫:To: 依夢兒前輩, 我按你上文一樣作出測試, 結果正常如下
修改之後變成這樣:心靈捕手 寫:以下的修改, 提供您參考
依夢兒捐贈了早安幣 15 元給您。<br><br>依夢兒對您說:<br>測試捐贈功能。
我之前使用時, 也是一切正常;
經您提問後, 再測試, 同樣也是出現您所提到的現象;
而修改語言檔之後, 也就恢復正常了.
ps.
修改之前, 有先解除一支外掛 Extended Private Message Notification
因為在測試時, 發現無法將私訊, 正常顯示在通知的電郵中.
建議您:
提供已經安裝過 (關於私人訊息) 的外掛名稱.
但有一個方向是肯定的, 原來的外掛上沒有問題.
要尋找是那一支外掛語法衝到了...版本升級??
要尋找是那一支外掛語法衝到了...版本升級??
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
如果由您的回覆內容加以判斷oofishg 寫:小弟今天也是經由使用者告知,發現小弟論壇也有此一問題,但是之前是正常的..
而且小弟並未安裝心靈老師所說的外掛..
最近所安裝的應該只有更新到2.0.20.. 所以小弟懷疑是否都是更新之後才造成的問提..
那麼我猜想:
1. 這個現象的發生和 Cash Mod 外掛無關
2. 這個現象的發生和 phpBB 2.0.19 Update 2.0.20 有關
ps.
上頭提出的外掛 Extended Private Message Notification 並不會造成這個現象.
1. 此外掛我安裝成功, 使用上也沒有問題;
2. 只是運用在 '贈與貨幣 + 傳送訊息' 時, 必須要針對 Cash Mod 再做修改而已.
我想這應該就是原因了,因為我很久沒有安裝外掛了,除了幾週前將 phpBB 更新到 2.0.20 版。心靈捕手 寫:2. 這個現象的發生和 phpBB 2.0.19 Update 2.0.20 有關
之前一直很正常,從時間上研判,應該就在更新 phpBB 後才出問題的吧?
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。
搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。
搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
我猜想:依夢兒 寫:我想這應該就是原因了,因為我很久沒有安裝外掛了,除了幾週前將 phpBB 更新到 2.0.20 版。心靈捕手 寫:2. 這個現象的發生和 phpBB 2.0.19 Update 2.0.20 有關
之前一直很正常,從時間上研判,應該就在更新 phpBB 後才出問題的吧?
問題應該是出在這個地方.
代碼: 選擇全部
#
#-----[ OPEN ]---------------------------------------------
#
includes/functions_post.php
#
#-----[ FIND ]---------------------------------------------
# Line 44
$allowed_html_tags = split(',', $board_config['allow_html_tags']);
$end_html = 0;
$start_html = 1;
$tmp_message = '';
$message = ' ' . $message . ' ';
while ($start_html = strpos($message, '<', $start_html))
{
$tmp_message .= preg_replace($html_entities_match, $html_entities_replace, substr($message, $end_html + 1, ($start_html - $end_html - 1)));
if ($end_html = strpos($message, '>', $start_html))
{
$length = $end_html - $start_html + 1;
$hold_string = substr($message, $start_html, $length);
if (($unclosed_open = strrpos(' ' . $hold_string, '<')) != 1)
{
$tmp_message .= preg_replace($html_entities_match, $html_entities_replace, substr($hold_string, 0, $unclosed_open - 1));
$hold_string = substr($hold_string, $unclosed_open - 1);
}
$tagallowed = false;
for ($i = 0; $i < sizeof($allowed_html_tags); $i++)
{
$match_tag = trim($allowed_html_tags[$i]);
if (preg_match('#^<\/?' . $match_tag . '[> ]#i', $hold_string))
{
$tagallowed = (preg_match('#^<\/?' . $match_tag . ' .*?(style[\t ]*?=|on[\w]+[\t ]*?=)#i', $hold_string)) ? false : true;
}
}
$tmp_message .= ($length && !$tagallowed) ? preg_replace($html_entities_match, $html_entities_replace, $hold_string) : $hold_string;
$start_html += $length;
}
else
{
$tmp_message .= preg_replace($html_entities_match, $html_entities_replace, substr($message, $start_html, strlen($message)));
$start_html = strlen($message);
$end_html = $start_html;
}
}
if (!$end_html || ($end_html != strlen($message) && $tmp_message != ''))
{
$tmp_message .= preg_replace($html_entities_match, $html_entities_replace, substr($message, $end_html + 1));
}
$message = ($tmp_message != '') ? trim($tmp_message) : trim($message);
#
#-----[ REPLACE WITH ]---------------------------------------------
#
// If HTML is on, we try to make it safe
// This approach is quite agressive and anything that does not look like a valid tag
// is going to get converted to HTML entities
$message = stripslashes($message);
$html_match = '#<[^\w<]*(\w+)((?:"[^"]*"|\'[^\']*\'|[^<>\'"])+)?>#';
$matches = array();
$message_split = preg_split($html_match, $message);
preg_match_all($html_match, $message, $matches);
$message = '';
foreach ($message_split as $part)
{
$tag = array(array_shift($matches[0]), array_shift($matches[1]), array_shift($matches[2]));
$message .= htmlspecialchars($part) . clean_html($tag);
}
$message = addslashes($message);
我將這段還原後, 也就恢復正常了.
建議您也試試.
因為, 目前官方 phpbb 支援 Cash Mod 只有到 2.0.18
而且, 我大致瀏覽了一下最近的討論串, 並沒有發現相關的問題.
ps. 呵! 呵! 只爬了 50 多頁而已.
Source: http://www.phpbb.com/phpBB/viewtopic.php?t=94055
所以, 期待其他大大們的協助.
[分享] cash mod 2.2.3a + attach mod 2.4.3 for phpbb 2.0.20 完整包
為了要在測試論壇 phpbb 2.0.20 (utf-8) 安裝 cash mod 2.2.3a
以方便網友們測試, 所以又壓縮了一個完整包.
http://phpbb-tw.net/phpbb/viewtopic.php?p=237244#237244
--
測試論壇:
http://wang5555.dyndns.org/test/phpbb2/index.php
測試帳號 / 密碼:
goodluck / 12345678
goodluck2 / 12345678
--
測試結果:
一切正常.
--
ps.
記得 依夢兒 大大的論壇語系編碼, 應該也是早就已經轉為 utf-8 了.
這下子, 還真是有點頭大.
以方便網友們測試, 所以又壓縮了一個完整包.
http://phpbb-tw.net/phpbb/viewtopic.php?p=237244#237244
--
測試論壇:
http://wang5555.dyndns.org/test/phpbb2/index.php
測試帳號 / 密碼:
goodluck / 12345678
goodluck2 / 12345678
--
測試結果:
一切正常.
--
ps.
記得 依夢兒 大大的論壇語系編碼, 應該也是早就已經轉為 utf-8 了.
這下子, 還真是有點頭大.
還原之後還是一樣....心靈捕手 寫:我將這段還原後, 也就恢復正常了.
建議您也試試.
剛剛想到一個消極的解決辦法。
首先,依照心靈補手兄提供的,將語系檔中的「\n」字串更換成「<br />」。
然後,到後台的基本組態中找到「允許使用的 HTML 標籤」,在後面填入「,br」。
這樣捐贈貨幣時發送出去的私人訊息內容就正常了。(前提是論壇必須開放網友使用 HTML 語法)
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。
搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。
搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。