代碼: 選擇全部
###############################################################################
問題: -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- 心靈捕手 http://220.134.232.37
如果 comman.php 加上這一段程式碼的話,
// Unset globally registered vars - PHP5 ... hhmmm
if (@$ini_val('register_globals') == '1' || strtolower(@$ini_val('register_globals')) == 'on')
{
$var_prefix = 'HTTP';
$var_suffix = '_VARS';
$test = array('_GET', '_POST', '_SERVER', '_COOKIE', '_ENV');
foreach ($test as $var)
{
if (is_array(${$var_prefix . $var . $var_suffix}))
{
unset_vars(${$var_prefix . $var . $var_suffix});
@reset(${$var_prefix . $var . $var_suffix});
}
if (is_array(${$var}))
{
unset_vars(${$var});
@reset(${$var});
\n }
}
if (is_array(${'_FILES'}))
{
unset_vars(${'_FILES'});
@reset(${'_FILES'});
}
if (is_array(${'HTTP_POST_FILES'}))
{
unset_vars(${'HTTP_POST_FILES'});
@reset(${'HTTP_POST_FILES'});
}
}
雖然,修正了造成"引言回覆"的錯誤,
但是,如果你有裝"水怪 RPG 完整版"的話,
其中的"骰子和賽馬"兩項遊戲將無法進行;
另外, 付費瀏覽也會不正常.
修正方法: 可先移除該段程式碼.
###############################################################################