代碼: 選擇全部
###############################################################################
問題: -by- 依夢兒
請問一下,升級至 2.0.10 後,因為我的付費瀏覽修改為 0 元版本。
每一次發表文章的時候,即使已設定 -1 元,發表後仍然會被系統改成 0 元。=.=
目前的解決方法是將心靈捕手所說的 common.php 中的那一段刪除,就恢復正常了。
照您的說法,加上那一段會有問題,是因為外掛使用了全域變數的原故。
那麼付費瀏覽 0 元版本是不是也有類似的問題呢?要如何修正?
-------------------------------------------------------------------------------
回答: -by- 倉木麻依
oh...搞好久終於在自己的 TEST用論壇 上頭搞定了@_@"
底下的修改是給依夢兒大大的(或是那些有修改付費成0元版本的)
#
#-----[ Open ]-----
#
程式碼:
posting.php
#
#-----[ Find ]-----
#
程式碼:
submit_post($mode, $post_data, $return_message, $return_meta, $forum_id, $topic_id, $post_id, $poll_id, $topic_type, $bbcode_on, $html_on, $smilies_on, $attach_sig, $bbcode_uid, str_replace("\'", "''", $username), str_replace("\'", "''", $subject), str_replace("\'", "''", $message), str_replace("\'", "''", $poll_title), $poll_options, $poll_length, $pay_money);
#
#-----[ Replace With ]-----
#
程式碼:
submit_post($mode, $post_data, $return_message, $return_meta, $forum_id, $topic_id, $post_id, $poll_id, $topic_type, $bbcode_on, $html_on, $smilies_on, $attach_sig, $bbcode_uid, str_replace("\'", "''", $username), str_replace("\'", "''", $subject), str_replace("\'", "''", $message), str_replace("\'", "''", $poll_title), $poll_options, $poll_length, $_POST['pay_money']);
#
#-----[ Find ]-----
#
程式碼:
$pay_money = $post_info['pay_money'];
#
#-----[ Replace With ]-----
#
程式碼:
$pay_money = $_POST['pay_money'];
#
#-----[ Find ]-----
#
程式碼:
if ($pay_money != -1) $message = ' ' . $quote_username . ' 寫到:
' . $lang['Paymoney_Cantquote']. '
';
#
#-----[ Replace With ]-----
#
程式碼:
if ($_POST['pay_money'] != -1) $message = ' ' . $quote_username . ' 寫到:
' . $lang['Paymoney_Cantquote']. '
';
#
#-----[ Find ]-----
#
程式碼:
for ($i=-1;$i<=20;$i+=1)
{
if (!isset($pay_money))
{
$pay_money = -1;
}
if ($pay_money == $i )
#
#-----[ Replace With ]-----
#
程式碼:
for ($i=-1;$i<=20;$i+=1)
{
if (!isset($post_info['pay_money']))
{
$post_info['pay_money'] = -1;
}
if ($post_info['pay_money'] == $i )
=============================================
#
#-----[ Open ]-----
#
程式碼:
viewtopic.php
#
#-----[ Find ]-----
#
程式碼:
if ( $mode == 'pay_money' && $p == $postrow[$i]['post_id'] && $userdata['user_id'] > 0 )
#
#-----[ Replace With ]-----
#
程式碼:
if ( $_GET['mode'] == 'pay_money' && $_GET['p'] == $postrow[$i]['post_id'] && $userdata['user_id'] > 0 )
#
#-----[ Find ]-----
#
程式碼:
$sql = "UPDATE " . POSTS_TEXT_TABLE . " SET pay_user = '".$pay_user.$user_id."', pay_see = pay_see + 1, pay_gotmoney = pay_gotmoney + $pay_money WHERE post_id = ".$p;
#
#-----[ Replace With ]-----
#
程式碼:
$sql = "UPDATE " . POSTS_TEXT_TABLE . " SET pay_user = '".$pay_user.$user_id."', pay_see = pay_see + 1, pay_gotmoney = pay_gotmoney + $pay_money WHERE post_id = ".$_GET['p'];
#
#-----[Close/Save All]-----
#
#EoM
================
修正: -by- 倉木麻依
上回的付費外掛 posting.php 有一個地方有問題
原文章中提到
#
#----------[ Find ]----------
#
if ($pay_money != -1) $message = '
#
#----------[ Replace With ]----------
#
if ($_POST['pay_money'] != -1) $message = '
請修正為
#
#----------[ Replace With ]----------
#
if ($post_info['pay_money'] != -1) $message = '
否則, 直接按下「引言」的話(非改良型引言鈕)
不論所引用的文章是否需要付費?
都會出現「原文需要付費才能觀看, 無法引用」的訊息.
另外, 同樣是在 posting.php
建議再做底下的小修改,
這樣, 在按下"引言"後, 回覆的文章, 將預設為付費 -1 元,
而不是依照被引言的文章, 所設定的付費金額.
程式碼:
#
#----------[ Open ]----------
#
posting.php
#
#----------[ Find ]----------
#
if ($post_info['pay_money'] == $i)
#
#----------[ Replace With ]----------
#
if ($post_info['pay_money'] == $i && $_GET['mode'] != 'quote')
#
#----------[ Save/Close All ]----------
#
###############################################################################