Sivu 1/1

MODia asentaessa virhe

Lähetetty: 12 Syys 2007, 20:03
Kirjoittaja ppuC

Koodi: Valitse kaikki

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/ftp/tre/sparta/foorumi/includes/functions.php on line 207
Moinen virheilmoitus kehtaa tulla, kun olen yrittänyt MODia asentaa, kyseessä on Global announcement mod.

Ajattelin että virhe tapahtui functions.php:n muokkaamisessa, ja korvasin muokatun filun vanhalla, varmuuskopiolla, ja kokeilin uudestaan muokata filua ohjeiden mukaan.

Moiset koodipätkät piti muokata functions.php:n:

Koodi: Valitse kaikki

# 
#-----[ OPEN ]------------------------------------------------ 
# 
includes/functions.php

# 
#-----[ FIND ]------------------------------------------------ 
# 
function make_jumpbox
{
	global

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
;

# 
#-----[ IN-LINE BEFORE, ADD ]--------------------------------- 
# 
, $userdata

# 
#-----[ FIND ]------------------------------------------------ 
# 
$sql = "SELECT 
FROM " . CATEGORIES_TABLE . " c, " . FORUMS_TABLE . " f
WHERE f.cat_id = c.cat_id

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
		".(($userdata['user_level'] == ADMIN)? "" : " AND c.cat_id<>'".HIDDEN_CAT."'" )."
# 
phpBB versioni on 2.0.22

Re: MODia asentaessa virhe

Lähetetty: 12 Syys 2007, 21:53
Kirjoittaja mrl586
Mitä sinulla lukee tuossa tiedostossa rivillä 207? Entä muutamalla rivillä rivin 207 ympärillä?

Re: MODia asentaessa virhe

Lähetetty: 13 Syys 2007, 19:12
Kirjoittaja ppuC

Koodi: Valitse kaikki

200:
201: function make_jumpbox($action, $match_forum_id = 0)
202: {
203:	global $template, $userdata, $lang, $db, $nav_links, $phpEx, $SID, $userdata;
204:
205://	$is_auth = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata);
206:
207:	".(($userdata['user_level'] == ADMIN)? "" : " AND c.cat_id<>'".HIDDEN_CAT."'" )."
208:	
209:	$sql = "SELECT c.cat_id, c.cat_title, c.cat_order
210:		FROM " . CATEGORIES_TABLE . " c, " . FORUMS_TABLE . " f
211:		WHERE f.cat_id = c.cat_id
212:		GROUP BY c.cat_id, c.cat_title, c.cat_order
213:		ORDER BY c.cat_order";
214:	if ( !($result = $db->sql_query($sql)) )
215:	{
216:
217:		message_die(GENERAL_ERROR, "Couldn't obtain category list.", "", __LINE__, __FILE__, $sql);
218:	}
219:	

Re: MODia asentaessa virhe

Lähetetty: 13 Syys 2007, 19:13
Kirjoittaja ppuC
Itse riviä 2007 piti muokata MODausta asentaessa, kenties siinä vika. Haenpa alkuperäisen rivin 207 koodin.

EDIT:

Koodi: Valitse kaikki

200:
201:function make_jumpbox($action, $match_forum_id = 0)
202:{
203:	global $template, $userdata, $lang, $db, $nav_links, $phpEx, $SID;
204:
205://	$is_auth = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata);
206:
207:	$sql = "SELECT c.cat_id, c.cat_title, c.cat_order
208:		FROM " . CATEGORIES_TABLE . " c, " . FORUMS_TABLE . " f
209:		WHERE f.cat_id = c.cat_id
210:		GROUP BY c.cat_id, c.cat_title, c.cat_order
211:		ORDER BY c.cat_order";
212:	if ( !($result = $db->sql_query($sql)) )
213:	{
214:		message_die(GENERAL_ERROR, "Couldn't obtain category list.", "", __LINE__, __FILE__, $sql);
215:	}
216:	

Re: MODia asentaessa virhe

Lähetetty: 13 Syys 2007, 21:06
Kirjoittaja mrl586
Tarkista sanakirjasta mitä after tarkoittaa. Siirrä sen jälkeen väärässä paikassa oleva koodi oikeaan kohtaan.

PS. Jos sinulla ei ole painettua sanakirjaa, katso after-sanan merkitys osoitteesta http://www.ilmainensanakirja.fi/trans?Q2=&Q=after&P=12

Re: MODia asentaessa virhe

Lähetetty: 13 Syys 2007, 21:40
Kirjoittaja ppuC
Hemmetin viisastelia >:)

Kyl mulla on yksinkertainen sanasto päässäni. Vahinko vaan sattunut.

Re: MODia asentaessa virhe

Lähetetty: 13 Syys 2007, 22:22
Kirjoittaja ppuC
Functions.php on nyt korjattu. Seuraavaksi auth.php herjaa ilmeisesti, nimittäis alkuperäisellä auth.phpllä toimii loistavasti (lukuun ottamatta, että siinä versiossa ei ole tätä modia jota koetan asentaa) mutta versio, johon olen muokannut seuraavaa:

Koodi: Valitse kaikki

# 
#-----[ OPEN ]------------------------------------------------ 
# 
includes/auth.php
 
# 
#-----[ FIND ]------------------------------------------------ 
# 
case AUTH_ALL:
$a_sql = '

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
';

# 
#-----[ IN-LINE BEFORE, ADD ]--------------------------------- 
# 
, a.auth_globalannounce

# 
#-----[ FIND ]------------------------------------------------ 
# 
$auth_fields = array(

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
);

# 
#-----[ IN-LINE BEFORE, ADD ]--------------------------------- 
# 
, 'auth_globalannounce'

# 
#-----[ FIND ]------------------------------------------------ 
# 
default:
break;

# 
#-----[ BEFORE, ADD ]----------------------------------------- 
# 

// Start add - Global announcement MOD
case AUTH_GLOBALANNOUNCE: 
$a_sql = 'a.auth_globalannounce'; 
$auth_fields = array('auth_globalannounce'); 
break; 
// End add - Global announcement MOD

# 
Mutta herjaa:

Koodi: Valitse kaikki

Failed obtaining forum access control lists

DEBUG MODE

SQL Error : 1054 Unknown column 'a.auth_globalannounce' in 'field list'

SELECT a.forum_id, a.auth_view, a.auth_read, a.auth_post, a.auth_reply, a.auth_edit, a.auth_delete, a.auth_sticky, a.auth_announce, a.auth_vote, a.auth_pollcreate, a.auth_globalannounce, a.auth_mod FROM foorumi_auth_access a, foorumi_user_group ug WHERE ug.user_id = 2 AND ug.user_pending = 0 AND a.group_id = ug.group_id AND a.forum_id = 1

Line : 161
File : auth.php
161 rivi, ja viereiset:

Koodi: Valitse kaikki

		
151: $forum_match_sql = ( $forum_id != AUTH_LIST_ALL ) ? "AND a.forum_id = $forum_id" : '';
152:
153:		$sql = "SELECT a.forum_id, $a_sql, a.auth_mod 
154:			FROM " . AUTH_ACCESS_TABLE . " a, " . USER_GROUP_TABLE . " ug 
155:			WHERE ug.user_id = ".$userdata['user_id']. " 
156:				AND ug.user_pending = 0 
157:				AND a.group_id = ug.group_id
158:				$forum_match_sql";
159:		if ( !($result = $db->sql_query($sql)) )
160:		{
161:			message_die(GENERAL_ERROR, 'Failed obtaining forum access control lists', '', __LINE__, __FILE__, $sql);
162:		}
163:
164:		if ( $row = $db->sql_fetchrow($result) )
165:		{
166:			do
167:			{
168:				if ( $forum_id != AUTH_LIST_ALL)
169:				{
170:					$u_access[] = $row;
171:				}
Alkuperäisessä Auth.phpssä ylläolevat rivit ovat täsmälleen samat, vaikkakin rivit 146-166 paikoilla.

Re: MODia asentaessa virhe

Lähetetty: 13 Syys 2007, 22:24
Kirjoittaja ppuC
SQL palvelimellakin ilmoitetaan vastaavasta virheestä:

Virhe

SQL-kysely:

ALTER TABLE phpbb_auth_access ADD auth_globalannounce TINYINT( 1 ) NOT NULL AFTER auth_announce

MySQL ilmoittaa: Ohjeet
#1060 - Duplicate column name 'auth_globalannounce'

Re: MODia asentaessa virhe

Lähetetty: 13 Syys 2007, 22:25
Kirjoittaja mrl586
ppuC kirjoitti:SQL palvelimellakin ilmoitetaan vastaavasta virheestä:

Virhe

SQL-kysely:

ALTER TABLE phpbb_auth_access ADD auth_globalannounce TINYINT( 1 ) NOT NULL AFTER auth_announce

MySQL ilmoittaa: Ohjeet
#1060 - Duplicate column name 'auth_globalannounce'
Yrität lisätä tauluun saraketta, joka on jo taulussa.

Re: MODia asentaessa virhe

Lähetetty: 13 Syys 2007, 22:54
Kirjoittaja ppuC
Eli sen ei pitäisi olla vika? Kun ne ovat ainakin valmiiksi siellä.

Re: MODia asentaessa virhe

Lähetetty: 13 Syys 2007, 23:10
Kirjoittaja Lurttinen
Varmasti oikea etuliite tuossa taulussa?
Tuo "Unknown column 'a.auth_globalannounce' in 'field list'" viittais, että se ei löydä sitä mitä se etsii.