[問題]cash mod221修改資料出現錯誤訊息

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

版主: 版主管理群

主題已鎖定
evomagic
星球公民
星球公民
文章: 83
註冊時間: 2003-10-18 13:52

[問題]cash mod221修改資料出現錯誤訊息

文章 evomagic »

問題外掛:cash mod221
參考連結:http://www.phpbb.com/phpBB/catdb.php?mo ... &id=853980
使用版本:phpBB 2.0.3
狀況描述:於版面左邊會員資料處點選[贈與貨幣]與[修改xxx貨幣]都會出現錯誤訊息,而cash.php我是直接複製貼上沒更改過,怎麼會這樣??另外於後台群組地方設定特定群組增加金額,送出後顯示已設定完成但是群組會員金額並沒有增加,上述問題再次麻煩各為大大解救!

贈與貨幣錯誤訊息\r

代碼: 選擇全部

Fatal error: Call to undefined function: redirect() in c:\appserv\www\phpbb\cash.php on line 60
修改xxx貨幣錯誤訊息\r

代碼: 選擇全部

Fatal error: Call to undefined function: redirect() in c:\appserv\www\phpbb\cash.php on line 213
cash.php55-65內容

代碼: 選擇全部

		$profiledata = get_userdata($HTTP_GET_VARS[POST_USERS_URL]);
		if ( (!$profiledata) || ($profiledata['user_id'] == $userdata['user_id']) )
		{
			if ( ($ref == 'viewtopic') && isset($HTTP_GET_VARS[POST_POST_URL]) )
			{
				redirect(append_sid('viewtopic.'.$phpEx.'?'.POST_POST_URL.'='.$HTTP_GET_VARS[POST_POST_URL]) . '#' . $HTTP_GET_VARS[POST_POST_URL]);
				exit;
			}
			else
			{
				redirect(append_sid("index.$phpEx"));
第60行
redirect(append_sid('viewtopic.'.$phpEx.'?'.POST_POST_URL.'='.$HTTP_GET_VARS[POST_POST_URL]) . '#' . $HTTP_GET_VARS[POST_POST_URL]);
cash.php210-218內容

代碼: 選擇全部

		if ( !$profiledata )
		{
			if ( ($ref == 'viewtopic') && isset($HTTP_GET_VARS[POST_POST_URL]) )
			{
				redirect(append_sid('viewtopic.'.$phpEx.'?'.POST_POST_URL.'='.$HTTP_GET_VARS[POST_POST_URL]) . '#' . $HTTP_GET_VARS[POST_POST_URL]);
				exit;
			}
			else
			{
第213行
{
cash.php內容

代碼: 選擇全部

<?php
/***************************************************************************
 *                               cash.php
 *                            -------------------
 *   begin                : Wednesday, Jul 16, 2003
 *   copyright            : (C) 2003 Xore
 *   email                : mods@xore.ca
 *
 *   $Id: cash.php,v 2.0.1.1 2003/09/26 01:20:53 Xore $
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

define('IN_PHPBB', true);
define('IN_CASHMOD', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_PROFILE);
init_userprefs($userdata);
//
// End session management
//

if ( !$userdata['session_logged_in'] )
{
	redirect(append_sid("login.$phpEx?redirect=cash.$phpEx", true));
}

//$cash_table = array();
//$indices = array();
//get_cash_table($cash_table,$indices);

$mode = isset($HTTP_POST_VARS['mode'])?$HTTP_POST_VARS['mode']:(isset($HTTP_GET_VARS['mode'])?$HTTP_GET_VARS['mode']:(""));

switch( $mode )
{
//
//========================================[ Donate Code ]===========================
//
	case "donate":
		$ref = isset($HTTP_GET_VARS['ref'])?$HTTP_GET_VARS['ref']:'index';
		$profiledata = get_userdata($HTTP_GET_VARS[POST_USERS_URL]);
		if ( (!$profiledata) || ($profiledata['user_id'] == $userdata['user_id']) )
		{
			if ( ($ref == 'viewtopic') && isset($HTTP_GET_VARS[POST_POST_URL]) )
			{
				redirect(append_sid('viewtopic.'.$phpEx.'?'.POST_POST_URL.'='.$HTTP_GET_VARS[POST_POST_URL]) . '#' . $HTTP_GET_VARS[POST_POST_URL]);
				exit;
			}
			else
			{
				redirect(append_sid("index.$phpEx"));
				exit;
			}
		}
		$target = $profiledata['user_id'];

		//
		// Load templates
		//
		$template->set_filenames(array(
			'body' => 'cash_donate.tpl')
		);

		//
		// Output page header
		//
		$page_title = $lang['Donate'];
		include($phpbb_root_path . 'includes/page_header.'.$phpEx);

		$hidden = '<input type="hidden" name="ref" value="' . $ref . '" />';
		$hidden .= '<input type="hidden" name="' . POST_USERS_URL . '" value="' . $target . '" />';
		if ( $ref == 'viewtopic' )
		{
			$hidden .= '<input type="hidden" name="' . POST_POST_URL . '" value="' . $HTTP_GET_VARS[POST_POST_URL] . '" />';
		}

		$template->assign_vars(array(
			'S_DONATE_ACTION' => append_sid("cash.$phpEx?mode=donated"),
			'S_HIDDEN_FIELDS' => $hidden,
			'L_DONATE' => $lang['Donate'],
			'L_FROM' => $lang['From'],
			'L_TO' => $lang['To'],
			'L_CONVERT' => $lang['Convert'],
			'L_SELECT_ONE' => $lang['Select_one'],

			'L_SUBMIT' => $lang['Submit'],
			'L_RESET' => $lang['Reset'],

			'L_AMOUNT' => $lang['Amount'],
			'L_DONATE_TO' => sprintf($lang['Donate_to'],$profiledata['username']),
			'L_MESSAGE' => $lang['Message'],

			'TARGET' => $profiledata['username'],
			'DONATER' => $userdata['username'])
		    );

		while ( $c_cur = &$cash->currency_next($cm_i,CURRENCY_ENABLED | CURRENCY_DONATE) )
		{
				$template->assign_block_vars('cashrow',array(	'CASH_NAME' => $c_cur->name(),
																'RECEIVER_AMOUNT' => $profiledata[$c_cur->db()],
																'DONATER_AMOUNT' => $userdata[$c_cur->db()],
																'S_DONATE_FIELD' => 'cash[' . $c_cur->id() . ']')
				);
		}

		$template->pparse('body');

		include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

		break;
//
//========================================[ Donated Code ]===========================
//
	case "donated":
		$ref = isset($HTTP_POST_VARS['ref'])?$HTTP_POST_VARS['ref']:'index';
		$profiledata = get_userdata($HTTP_POST_VARS[POST_USERS_URL]);
		if ( !$profiledata )
		{
			if ( ($ref == 'viewtopic') && isset($HTTP_POST_VARS[POST_POST_URL]) )
			{
				redirect(append_sid('viewtopic.'.$phpEx.'?'.POST_POST_URL.'='.$HTTP_POST_VARS[POST_POST_URL]) . '#' . $HTTP_POST_VARS[POST_POST_URL]);
				exit;
			}
			else
			{
				redirect(append_sid("index.$phpEx"));
				exit;
			}
		}
		$target = new cash_user($profiledata['user_id'],$profiledata);
		$donater = new cash_user($userdata['user_id'],$userdata);
		if ( ($target->id() != $donater->id()) && isset($HTTP_POST_VARS['cash']) && is_array($HTTP_POST_VARS['cash']) )
		{
			$donate_array = array();
			$donate = false;
			while ( $c_cur = &$cash->currency_next($cm_i,CURRENCY_ENABLED | CURRENCY_DONATE) )
			{
				if ( isset($HTTP_POST_VARS['cash'][$c_cur->id()]) &&
					 is_numeric($HTTP_POST_VARS['cash'][$c_cur->id()]) )
				{
					$amount = cash_floatval($HTTP_POST_VARS['cash'][$c_cur->id()]);
					if ( $amount > 0 )
					{
						$amount = ( $donater->has($c_cur->id(),$amount) ) ? $amount : $donater->amount($c_cur->id());
						$donate_array[$c_cur->id()] = $amount;
						$message_clause[] = $c_cur->display($amount,true);
						$donate = true;
					}
				}
			}
			if ( $donate )
			{
				$donater->remove_by_id_array($donate_array);
				$target->give_by_id_array($donate_array);

				$action = array($donater->id(),
								$donater->name(),
								implode('</b>, <b>',$message_clause),
								$target->id(),
								$target->name());
				cash_create_log(CASH_LOG_DONATE,$action,$HTTP_POST_VARS['message']);
								
				if ( isset($HTTP_POST_VARS['message']) && ($HTTP_POST_VARS['message'] != '') && $userdata['user_allow_pm'] )
				{
					$privmsg_subject = sprintf($lang['Donation_recieved'],$userdata['username']);

					$preamble = sprintf($lang['Has_donated'],$userdata['username'],implode('[/b], [b]',$message_clause),$userdata['username']);
					$HTTP_POST_VARS['message'] = $preamble . $HTTP_POST_VARS['message'];

					cash_pm($profiledata,$privmsg_subject,$HTTP_POST_VARS['message']);
				}
			}
			if ( $ref == 'viewprofile' )
			{
				redirect(append_sid('profile.'.$phpEx.'?mode=viewprofile&'.POST_USERS_URL.'='.$HTTP_POST_VARS[POST_USERS_URL]));
				exit;
			}
			else if ( ($ref == 'viewtopic') && isset($HTTP_POST_VARS[POST_POST_URL]) )
			{
				redirect(append_sid('viewtopic.'.$phpEx.'?'.POST_POST_URL.'='.$HTTP_POST_VARS[POST_POST_URL]) . '#' . $HTTP_POST_VARS[POST_POST_URL]);
				exit;
			}
			else
			{
				redirect(append_sid("index.$phpEx"));
				exit;
			}
		}
		break;
//
//========================================[ Modedit Code ]===========================
//
	case "modedit":
		$ref = isset($HTTP_GET_VARS['ref'])?$HTTP_GET_VARS['ref']:'index';
		$profiledata = get_userdata($HTTP_GET_VARS[POST_USERS_URL]);
		if ( !$profiledata )
		{
			if ( ($ref == 'viewtopic') && isset($HTTP_GET_VARS[POST_POST_URL]) )
			{
				redirect(append_sid('viewtopic.'.$phpEx.'?'.POST_POST_URL.'='.$HTTP_GET_VARS[POST_POST_URL]) . '#' . $HTTP_GET_VARS[POST_POST_URL]);
				exit;
			}
			else
			{
				redirect(append_sid("index.$phpEx"));
				exit;
			}
		}
		if ( ($userdata['user_level'] != ADMIN) && ($userdata['user_level'] != MOD))
		{
			if ( $ref == 'viewprofile' )
			{
				redirect(append_sid('profile.'.$phpEx.'?mode=viewprofile&'.POST_USERS_URL.'='.$HTTP_POST_VARS[POST_USERS_URL]));
				exit;
			}
			else if ( ($ref == 'viewtopic') && isset($HTTP_POST_VARS[POST_POST_URL]) )
			{
				redirect(append_sid('viewtopic.'.$phpEx.'?'.POST_POST_URL.'='.$HTTP_POST_VARS[POST_POST_URL]) . '#' . $HTTP_POST_VARS[POST_POST_URL]);
				exit;
			}
			else
			{
				redirect(append_sid("index.$phpEx"));
				exit;
			}
		}
		$target = $profiledata['user_id'];
		//
		// Load templates
		//
		$template->set_filenames(array(
			'body' => 'cash_modedit.tpl')
		);

		//
		// Output page header
		//
		$page_title = sprintf($lang['Mod_usercash'],$profiledata['username']);
		include($phpbb_root_path . 'includes/page_header.'.$phpEx);


		$hidden = '<input type="hidden" name="ref" value="' . $ref . '" />';
		$hidden .= '<input type="hidden" name="' . POST_USERS_URL . '" value="' . $target . '" />';
		if ( $ref == 'viewtopic' )
		{
			$hidden .= '<input type="hidden" name="' . POST_POST_URL . '" value="' . $HTTP_GET_VARS[POST_POST_URL] . '" />';
		}

		$template->assign_vars(array(
			'S_MODEDIT_ACTION' => append_sid("cash.$phpEx?mode=modedited"),
			'S_HIDDEN_FIELDS' => $hidden,
			'L_DONATE' => $lang['Donate'],
			'L_FROM' => $lang['From'],
			'L_TO' => $lang['To'],
			'L_CONVERT' => $lang['Convert'],
			'L_SELECT_ONE' => $lang['Select_one'],

			'L_SUBMIT' => $lang['Submit'],
			'L_RESET' => $lang['Reset'],

			'L_AMOUNT' => $lang['Amount'],
			'L_DONATE_TO' => sprintf($lang['Donate_to'],$profiledata['username']),
			'L_MESSAGE' => $lang['Message'],

			'L_OMIT' => $lang['Omit'],
			'L_ADD' => $lang['Add'],
			'L_REMOVE' => $lang['Remove'],
			'L_SET' => $lang['Set'],

			'TITLE' => sprintf($lang['Mod_usercash'],$profiledata['username']),

			'TARGET' => $profiledata['username'],
			'DONATER' => $userdata['username'])
		    );

		$mask = false;
		if ( $userdata['user_level'] == MOD )
		{
			$mask = (CURRENCY_ENABLED | CURRENCY_MODEDIT);
		}
		while ( $c_cur = &$cash->currency_next($cm_i,$mask) )
		{
			$template->assign_block_vars('cashrow',array(	'CASH_NAME' => $c_cur->name(),
															'RECEIVER_AMOUNT' => $profiledata[$c_cur->db()],
															'DONATER_AMOUNT' => $userdata[$c_cur->db()],
															'S_TYPE_FIELD' => 'cashtype[' . $c_cur->id() . ']',
															'S_CHANGE_FIELD' => 'cashchange[' . $c_cur->id() . ']')
				);
		}

		$template->pparse('body');

		include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

		break;
//
//========================================[ Modedited Code ]===========================
//
	case "modedited":
		$ref = isset($HTTP_POST_VARS['ref'])?$HTTP_POST_VARS['ref']:'index';
		$profiledata = get_userdata($HTTP_POST_VARS[POST_USERS_URL]);
		if ( !$profiledata )
		{
			if ( ($ref == 'viewtopic') && isset($HTTP_POST_VARS[POST_POST_URL]) )
			{
				redirect(append_sid('viewtopic.'.$phpEx.'?'.POST_POST_URL.'='.$HTTP_POST_VARS[POST_POST_URL]) . '#' . $HTTP_POST_VARS[POST_POST_URL]);
				exit;
			}
			else
			{
				redirect(append_sid("index.$phpEx"));
				exit;
			}
		}
		if ( ($userdata['user_level'] != ADMIN) && ($userdata['user_level'] != MOD))
		{
			if ( $ref == 'viewprofile' )
			{
				redirect(append_sid('profile.'.$phpEx.'?mode=viewprofile&'.POST_USERS_URL.'='.$HTTP_POST_VARS[POST_USERS_URL]));
				exit;
			}
			else if ( ($ref == 'viewtopic') && isset($HTTP_POST_VARS[POST_POST_URL]) )
			{
				redirect(append_sid('viewtopic.'.$phpEx.'?'.POST_POST_URL.'='.$HTTP_POST_VARS[POST_POST_URL]) . '#' . $HTTP_POST_VARS[POST_POST_URL]);
				exit;
			}
			else
			{
				redirect(append_sid("index.$phpEx"));
				exit;
			}
		}
		$target = new cash_user($profiledata['user_id'],$profiledata);
		if ( isset($HTTP_POST_VARS['cashtype']) && is_array($HTTP_POST_VARS['cashtype']) && isset($HTTP_POST_VARS['cashchange']) && is_array($HTTP_POST_VARS['cashchange']) )
		{
			$mask = false;
			if ( $userdata['user_level'] == MOD )
			{
				$mask = (CURRENCY_ENABLED | CURRENCY_MODEDIT);
			}
			$moderate_array = array('1' => array(),'2' => array(),'3' => array());
			$moderate_clause = array('1' => array(),'2' => array(),'3' => array());
			$modedit = array('1'=>false,'2'=>false,'3'=>false);
			$editlist = array();
			while ( $c_cur = &$cash->currency_next($cm_i,$mask) )
			{
				if ( isset($HTTP_POST_VARS['cashtype'][$c_cur->id()]) &&
					 is_numeric($HTTP_POST_VARS['cashtype'][$c_cur->id()]) &&
					 ($HTTP_POST_VARS['cashtype'][$c_cur->id()] != 0) &&
					 isset($HTTP_POST_VARS['cashchange'][$c_cur->id()]) &&
					 is_numeric($HTTP_POST_VARS['cashchange'][$c_cur->id()]) )
				{
					$amount = cash_floatval($HTTP_POST_VARS['cashchange'][$c_cur->id()]);
					$allow_neg = $c_cur->mask(CURRENCY_ALLOWNEG);
					$type = intval($HTTP_POST_VARS['cashtype'][$c_cur->id()]);
					if ( (($type == 1) || ($type == 2)) && $amount < 0 )
					{
						$amount = -$amount;
						$type = 3 - $type;
					}
					switch ( $type )
					{
						case 1: // add
							$moderate_array[1][$c_cur->id()] = $amount;
							$modedit[1] = true;
							$moderate_clause[1][] = $c_cur->display($amount,true);
							$editlist[] = $c_cur->name(true);
							break;
						case 2: // remove
							if ( $allow_neg || $target->has($c_cur->id(),$amount) )
							{
								$moderate_array[2][$c_cur->id()] = $amount;
								$modedit[2] = true;
								$moderate_clause[2][] = $c_cur->display($amount,true);
								$editlist[] = $c_cur->name(true);
							}
							break;
						case 3: // set
							if ( ($amount > 0) || $allow_neg )
							{
								$moderate_array[3][$c_cur->id()] = $amount;
								$modedit[3] = true;
								$moderate_clause[3][] = $c_cur->display($amount,true);
								$editlist[] = $c_cur->name(true);
							}
							break;
					}
				}
			}

			if ( $modedit[1] || $modedit[2] || $modedit[3] )
			{
				$action = array($userdata['user_id'],
								$userdata['username'],
								$target->id(),
								$target->name(),
								implode('</b>, <b>',$moderate_clause[1]),
								implode('</b>, <b>',$moderate_clause[2]),
								implode('</b>, <b>',$moderate_clause[3]));
				cash_create_log(CASH_LOG_ADMIN_MODEDIT,$action,$HTTP_POST_VARS['message']);
				if ( $modedit[1] )
				{
					$target->give_by_id_array($moderate_array[1]);
				}
				if ( $modedit[2] )
				{
					$target->remove_by_id_array($moderate_array[2]);
				}
				if ( $modedit[3] )
				{
					$target->set_by_id_array($moderate_array[3]);
				}

				if ( isset($HTTP_POST_VARS['message']) && ($HTTP_POST_VARS['message'] != '') && $userdata['user_allow_pm'] )
				{
					$privmsg_subject = sprintf($lang['Has_moderated'],$userdata['username'],implode(", ",$editlist));

					$preamble = $privmsg_subject . ":
[list]";
					if ( $modedit[1] )
					{
						$preamble .= sprintf($lang['Has_added'],implode('[/b], [b]',$moderate_clause[1]));
					}
					if ( $modedit[2] )
					{
						$preamble .= sprintf($lang['Has_removed'],implode('[/b], [b]',$moderate_clause[2]));
					}
					if ( $modedit[3] )
					{
						$preamble .= sprintf($lang['Has_set'],implode('[/b], [b]',$moderate_clause[3]));
					}

					$HTTP_POST_VARS['message'] = $preamble . "[/list]
" . $HTTP_POST_VARS['message'];

					cash_pm($profiledata,$privmsg_subject,$HTTP_POST_VARS['message']);
				}
			}
			if ( $ref == 'viewprofile' )
			{
				redirect(append_sid('profile.'.$phpEx.'?mode=viewprofile&'.POST_USERS_URL.'='.$HTTP_POST_VARS[POST_USERS_URL]));
				exit;
			}
			else if ( ($ref == 'viewtopic') && isset($HTTP_POST_VARS[POST_POST_URL]) )
			{
				redirect(append_sid('viewtopic.'.$phpEx.'?'.POST_POST_URL.'='.$HTTP_POST_VARS[POST_POST_URL]) . '#' . $HTTP_POST_VARS[POST_POST_URL]);
				exit;
			}
			else
			{
				redirect(append_sid("index.$phpEx"));
				exit;
			}
		}
		break;

//
//========================================[ Exchange Code ]===========================
//
	case "exchange":
	default:
		//
		// Load templates
		//
		$template->set_filenames(array(
			'body' => 'cash_exchange.tpl')
		);

		//
		// Output page header
		//
		$page_title = $lang['Exchange'];
		include($phpbb_root_path . 'includes/page_header.'.$phpEx);

		$sql = "SELECT * FROM " . CASH_EXCHANGE_TABLE;
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, "Could not obtain exchange information", '', __LINE__, __FILE__, $sql);
		}
		if ( !($row = $db->sql_fetchrow($result)) )
		{
			message_die(GENERAL_MESSAGE, $lang['Exchange_lack_of_currencies']);
		}
		$exchange_data = array();
		do
		{
			$exchange_data[$row['ex_cash_id1']][$row['ex_cash_id2']] = 1;
		}
		while ( $row = $db->sql_fetchrow($result) );

		if ( isset($HTTP_POST_VARS['exchange']) &&
			 isset($HTTP_POST_VARS['from_id']) &&
			 is_numeric($HTTP_POST_VARS['from_id']) &&
			 isset($HTTP_POST_VARS['to_id']) &&
			 is_numeric($HTTP_POST_VARS['to_id']) &&
			 isset($HTTP_POST_VARS['convert_amount']) &&
			 is_numeric($HTTP_POST_VARS['convert_amount']) )
		{
			$from_id = intval($HTTP_POST_VARS['from_id']);
			$to_id = intval($HTTP_POST_VARS['to_id']);
			$convert_amount = cash_floatval($HTTP_POST_VARS['convert_amount']);
			if ( ($to_id != $from_id) && $cash->currency_exists($to_id) && $cash->currency_exists($from_id) && isset($exchange_data[$from_id]) && is_array($exchange_data[$from_id]) && isset($exchange_data[$from_id][$to_id]) && $cash->currencies[$from_id]->mask(CURRENCY_ENABLED | CURRENCY_EXCHANGEABLE) && $cash->currencies[$to_id]->mask(CURRENCY_ENABLED | CURRENCY_EXCHANGEABLE) )
			{
				if ( $convert_amount < 0 )
				{
					qs($from_id,$to_id);
					$convert_amount = -$convert_amount;
				}
				$c_cur_from = $cash->currency($from_id);
				$c_cur_to = $cash->currency($to_id);

				$exchanger = new cash_user($userdata['user_id'],$userdata);
				if ( $exchanger->has($c_cur_from->id(),$convert_amount) )
				{
					$converted_amount = (($convert_amount/$c_cur_from->data('cash_exchange'))*$c_cur_to->data('cash_exchange'));
					$exchanger->remove_by_id_array(array($c_cur_from->id() => $convert_amount));
					$exchanger->give_by_id_array(array($c_cur_to->id() => $converted_amount));
				}
			}
		}

		$template->assign_vars(array(
			'S_EXCHANGE_ACTION' => append_sid("cash.$phpEx?mode=exchange"),
			'S_HIDDEN_FIELDS' => '<input type="hidden" name="exchange" value="1" />',
			'L_EXCHANGE' => $lang['Exchange'],
			'L_FROM' => $lang['From'],
			'L_TO' => $lang['To'],
			'L_CONVERT' => $lang['Convert'],
			'L_SELECT_ONE' => $lang['Select_one'],

			'L_SUBMIT' => $lang['Submit'],
			'L_RESET' => $lang['Reset'])
		    );

		$max_columns_per_row = 3;
		$columnwidth = intval(floor(100/$max_columns_per_row));
		$bresenham = 0;
		$numrows = intval(ceil(count($indices)/$max_columns_per_row));
		$i = 0;
		while ( $c_cur = &$cash->currency_next($cm_i,CURRENCY_ENABLED | CURRENCY_EXCHANGEABLE) )
		{
			$template->assign_block_vars("cashrow",array(
				'CASH_ID' => $c_cur->id(),
				'CASH_NAME' => $c_cur->name(true))
			    );
			if ( (($i * $numrows) / $cash->currency_count(CURRENCY_ENABLED | CURRENCY_EXCHANGEABLE)) >= $bresenham )
			{
				$bresenham++;
				$template->assign_block_vars("rowrow",array());
			}
			$headercash = $c_cur->display($userdata[$c_cur->db()]);
			$template->assign_block_vars("rowrow.cashtable",array(	'CASH_ID' => $c_cur->id(),
																	'CASH_NAME' => $c_cur->name(),
																	'HEADER' => $lang['You_have'] . " " . $headercash,
																	'ONE_WORTH' => sprintf($lang['One_worth'],$c_cur->name()),
																	'NO_EXCHANGE' => sprintf($lang['Cannot_exchange'],$c_cur->name()))
										);
			$exchangecount = 0;
			if ( isset($exchange_data[$c_cur->id()]) && count($exchange_data[$c_cur->id()]) )
			{
				$template->assign_block_vars("rowrow.cashtable.switch_exon",array());
				while ( $c_cur_j = &$cash->currency_next($cm_j,CURRENCY_ENABLED | CURRENCY_EXCHANGEABLE) )
				{
					if ( ($c_cur->id() != $c_cur_j->id()) && isset($exchange_data[$c_cur->id()]) && isset($exchange_data[$c_cur->id()][$c_cur_j->id()]) )
					{
						$ratio = floor(($c_cur_j->data('cash_exchange')/$c_cur->data('cash_exchange'))*1000)/1000;
						$template->assign_block_vars("rowrow.cashtable.switch_exon.exchangeitem",array(	'EXCHANGE' => $c_cur_j->display($ratio)));
					}
				}
			}
			else
			{
				$template->assign_block_vars("rowrow.cashtable.switch_exoff",array());
			}
			$i++;
		}

		$template->pparse('body');

		include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
		
		break;
	}
	

?>
圖檔
Mac
百戰天龍馬蓋先
百戰天龍馬蓋先
文章: 2590
註冊時間: 2003-02-02 02:28
來自: MacphpBBMOD
聯繫:

Re: [問題]cash mod221修改資料出現錯誤訊息

文章 Mac »

evomagic 寫:使用版本:phpBB 2.0.3
很可能是你的 phpBB 版本太舊了
2.0.3 和 2.0.4 相差不少喔
而這又是給 2.0.6 用的,所以你的 2.0.3 少了 redirect() 這個功能在 includes/functions.php 中\r
你可以試試看把 redirect() 這個功能從 2.0.8a 中複製到你的 2.0.3 中,但不保證可以喔

~Mac
+ 關於 phpBB 使用問題請在版面發問,私人訊息提供其他不相干或是隱私的事情聯絡之用。

phpBB 官網 | 竹貓星球 | MacphpBBMOD | 我的服務
evomagic
星球公民
星球公民
文章: 83
註冊時間: 2003-10-18 13:52

文章 evomagic »

嗚嗚!果然又是版本太老舊了!感謝mac大大指導!!
圖檔
主題已鎖定

回到「外掛問題討論」