[Help] Record Page Syntax Error.

Status
Not open for further replies.
Ima Xplicit Gamer
Joined
Feb 15, 2007
Messages
263
Reaction score
0
Okay, so I am using these files: http://forum.ragezone.com/f419/share-ogame-files-guide-utilities-languages-378821/#post3251690
I am trying to implement a records page based on the one from XNova (see below)
PHP:
<?php

/**
 * records.php
 *
 * @version 1.4
 * @copyright 2008 by Chlorel for XNova
 */

define('INSIDE'  , true);
define('INSTALL' , false);

$ugamela_root_path = './';
include($ugamela_root_path . 'extension.inc');
include($ugamela_root_path . 'common.' . $phpEx);

	includeLang('records');

	$RecordTpl = gettemplate('records_body');
	$HeaderTpl = gettemplate('records_section_header');
	$TableRows = gettemplate('records_section_rows');

	$parse['rec_title'] = $lang['rec_title'];

	$bloc['section']    = $lang['rec_build'];
	$bloc['player']     = $lang['rec_playe'];
	$bloc['level']      = $lang['rec_level'];
	$parse['building']  = parsetemplate( $HeaderTpl, $bloc);

	$bloc['section']    = $lang['rec_specb'];
	$bloc['player']     = $lang['rec_playe'];
	$bloc['level']      = $lang['rec_level'];
	$parse['buildspe']  = parsetemplate( $HeaderTpl, $bloc);

	$bloc['section']    = $lang['rec_techn'];
	$bloc['player']     = $lang['rec_playe'];
	$bloc['level']      = $lang['rec_level'];
	$parse['research']  = parsetemplate( $HeaderTpl, $bloc);

	$bloc['section']    = $lang['rec_fleet'];
	$bloc['player']     = $lang['rec_playe'];
	$bloc['level']      = $lang['rec_nbre'];
	$parse['fleet']     = parsetemplate( $HeaderTpl, $bloc);

	$bloc['section']    = $lang['rec_defes'];
	$bloc['player']     = $lang['rec_playe'];
	$bloc['level']      = $lang['rec_nbre'];
	$parse['defenses']  = parsetemplate( $HeaderTpl, $bloc);


	foreach($lang['tech'] as $Element => $ElementName) {
		if ($ElementName != "") {
			if ($resource[$Element] != "") {
				// Je sais bien qu'il n'y a aucune raison de blinder ce test ...
				// Mais avec les zozos qui vont le pomper ... Mieux vaut prevoir que guerir !!
				if       ($Element >=   1 && $Element <=  39 || $Element == 44) {
					// Batiment
					$PlanetRow          = doquery ("SELECT `id_owner`, `". $resource[$Element] ."` AS `current` FROM {{table}} WHERE `". $resource[$Element]. "` = (SELECT MAX(`". $resource[$Element] ."`) FROM {{table}} WHERE `id_level` = '0');", 'planets', true);
					$UserRow            = doquery ("SELECT `username` FROM {{table}} WHERE `id` = '".$PlanetRow['id_owner']."';", 'users', true);
					$Row['element']     = $ElementName;
					$Row['winner']      = ($PlanetRow['current'] != 0) ? $UserRow['username'] : $lang['rec_rien'];
					$Row['count']       = ($PlanetRow['current'] != 0) ? pretty_number( $PlanetRow['current'] ) : $lang['rec_rien'];
					$parse['building'] .= parsetemplate( $TableRows, $Row);
				} elseif ($Element >=  41 && $Element <=  99 && $Element != 44) {
					// Batiment spéciaux
					$PlanetRow          = doquery ("SELECT `id_owner`, `". $resource[$Element] ."` AS `current` FROM {{table}} WHERE `". $resource[$Element]. "` = (SELECT MAX(`". $resource[$Element] ."`) FROM {{table}} WHERE `id_level` = '0');", 'planets', true);
					$UserRow            = doquery ("SELECT `username` FROM {{table}} WHERE `id` = '".$PlanetRow['id_owner']."';", 'users', true);
					$Row['element']     = $ElementName;
					$Row['winner']      = ($PlanetRow['current'] != 0) ? $UserRow['username'] : $lang['rec_rien'];
					$Row['count']       = ($PlanetRow['current'] != 0) ? pretty_number( $PlanetRow['current'] ) : $lang['rec_rien'];
					$parse['buildspe'] .= parsetemplate( $TableRows, $Row);
				} elseif ($Element >= 101 && $Element <= 199) {
					// Techno
					$UserRow            = doquery ("SELECT `username`, `". $resource[$Element] ."` AS `current` FROM {{table}} WHERE `". $resource[$Element] ."` = (SELECT MAX(`". $resource[$Element] ."`) FROM {{table}} WHERE `authlevel` = '0');", 'users', true);
					$Row['element']     = $ElementName;
					$Row['winner']      = ($UserRow['current'] != 0) ? $UserRow['username'] : $lang['rec_rien'];
					$Row['count']       = ($UserRow['current'] != 0) ? pretty_number( $UserRow['current'] ) : $lang['rec_rien'];
					$parse['research'] .= parsetemplate( $TableRows, $Row);
				} elseif ($Element >= 201 && $Element <= 399) {
					// Flotte
					$PlanetRow          = doquery ("SELECT `id_owner`, `". $resource[$Element] ."` AS `current` FROM {{table}} WHERE `". $resource[$Element]. "` = (SELECT MAX(`". $resource[$Element] ."`) FROM {{table}} WHERE `id_level` = '0');", 'planets', true);
					$UserRow            = doquery ("SELECT `username` FROM {{table}} WHERE `id` = '".$PlanetRow['id_owner']."';", 'users', true);
					$Row['element']     = $ElementName;
					$Row['winner']      = ($PlanetRow['current'] != 0) ? $UserRow['username'] : $lang['rec_rien'];
					$Row['count']       = ($PlanetRow['current'] != 0) ? pretty_number( $PlanetRow['current'] ) : $lang['rec_rien'];
					$parse['fleet']    .= parsetemplate( $TableRows, $Row);
				} elseif ($Element >= 401 && $Element <= 599) {
					// Défenses
					$PlanetRow          = doquery ("SELECT `id_owner`, `". $resource[$Element] ."` AS `current` FROM {{table}} WHERE `". $resource[$Element]. "` = (SELECT MAX(`". $resource[$Element] ."`) FROM {{table}} WHERE `id_level` = '0');", 'planets', true);
					$UserRow            = doquery ("SELECT `username` FROM {{table}} WHERE `id` = '".$PlanetRow['id_owner']."';", 'users', true);
					$Row['element']     = $ElementName;
					$Row['winner']      = ($PlanetRow['current'] != 0) ? $UserRow['username'] : $lang['rec_rien'];
					$Row['count']       = ($PlanetRow['current'] != 0) ? pretty_number( $PlanetRow['current'] ) : $lang['rec_rien'];
					$parse['defenses'] .= parsetemplate( $TableRows, $Row);
				}
			}
		}
	}

	$page = parsetemplate( $RecordTpl, $parse );
	display($page, $lang['rec_title']);

// -----------------------------------------------------------------------------------------------------------
// History version
// - 1.0 Réécriture
// - 1.1 Ajout du test de presence d'un chmap de la base de données ... Si apres ca ca plante c'est
//       que l'utilisateur de ce module est vraiment trop con et devrait arreter l'informatique pour aller
//       vendre des frittes chez Mc Do ou autre FastFood
// - 1.2 Separateur de chiffres ... qu'ils soient comme partout ailleur dans le jeu
// - 1.3 Remplacement des 0 par un texte ou un '-' (suggestion matdu57)
// - 1.4 Non prise en compte des planetes protégées
?>

I get the syntax error:
Warning: Invalid argument supplied for foreach() in /******************/records.php on line 51
Does anyone know how to fix it...?
 
Re: [HELP] Record Page Syntax Error.

forach is for arrays only and i'm not sure if $lang['tech'] is an array, it looks like it's string.
So, if I got rid of the $lang['tech']; it could possibly make it work?
Forgive me, I am not exactly the best at php.

Thank's for the quick reply.
 
Re: [HELP] Record Page Syntax Error.

i suggest doing like this:
PHP:
// before the word foreach, write whats next;
die(is_array($lang['tech']));
If it returns false then try using just $lang instead of $lang['tech']
So it will end up like:

PHP:
die(is_array($lang['tech'])) foreach($lang['tech'] as $Element => $ElementName) {
        if ($ElementName != "")
Again, sorry if this is rather nooby xD
 
Re: [HELP] Record Page Syntax Error.

I can't get that to work i get

Parse error: syntax error, unexpected T_FOREACH in /********************/records.php on line 51
 
Re: [HELP] Record Page Syntax Error.

Where am i missing semicolon?

Ok i fix that part but now i get a white screen with nothing on it?
 
Re: [HELP] Record Page Syntax Error.

try like this:
PHP:
// before the word foreach, write whats next;
if(is_array($tech['lang'])) { echo 'is array'; die(); } else { echo 'is not'; die(); }
And tell me what you got there.


i got there but all i see is a white page

[qutoe]
<?php

/**
* records.php
*
* @version 1.4
* @copyright 2008 by Chlorel for XNova
*/

define('INSIDE' , true);
define('INSTALL' , false);

$ugamela_root_path = './';
include($ugamela_root_path . 'extension.inc');
include($ugamela_root_path . 'common.' . $phpEx);

includeLang('records');

$RecordTpl = gettemplate('records_body');
$HeaderTpl = gettemplate('records_section_header');
$TableRows = gettemplate('records_section_rows');

$parse['rec_title'] = $lang['rec_title'];

$bloc['section'] = $lang['rec_build'];
$bloc['player'] = $lang['rec_playe'];
$bloc['level'] = $lang['rec_level'];
$parse['building'] = parsetemplate( $HeaderTpl, $bloc);

$bloc['section'] = $lang['rec_specb'];
$bloc['player'] = $lang['rec_playe'];
$bloc['level'] = $lang['rec_level'];
$parse['buildspe'] = parsetemplate( $HeaderTpl, $bloc);

$bloc['section'] = $lang['rec_techn'];
$bloc['player'] = $lang['rec_playe'];
$bloc['level'] = $lang['rec_level'];
$parse['research'] = parsetemplate( $HeaderTpl, $bloc);

$bloc['section'] = $lang['rec_fleet'];
$bloc['player'] = $lang['rec_playe'];
$bloc['level'] = $lang['rec_nbre'];
$parse['fleet'] = parsetemplate( $HeaderTpl, $bloc);

$bloc['section'] = $lang['rec_defes'];
$bloc['player'] = $lang['rec_playe'];
$bloc['level'] = $lang['rec_nbre'];
$parse['defenses'] = parsetemplate( $HeaderTpl, $bloc);


// before the word foreach, write whats next;
if(is_array($tech['lang'])) { echo 'is array'; die(); } else { echo 'is not'; die(); }
if ($resource[$Element] != "") {
// Je sais bien qu'il n'y a aucune raison de blinder ce test ...
// Mais avec les zozos qui vont le pomper ... Mieux vaut prevoir que guerir !!
if ($Element >= 1 && $Element <= 39 || $Element == 44) {
// Batiment
$PlanetRow = doquery ("SELECT `id_owner`, `". $resource[$Element] ."` AS `current` FROM {{table}} WHERE `". $resource[$Element]. "` = (SELECT MAX(`". $resource[$Element] ."`) FROM {{table}} WHERE `id_level` = '0');", 'planets', true);
$UserRow = doquery ("SELECT `username` FROM {{table}} WHERE `id` = '".$PlanetRow['id_owner']."';", 'users', true);
$Row['element'] = $ElementName;
$Row['winner'] = ($PlanetRow['current'] != 0) ? $UserRow['username'] : $lang['rec_rien'];
$Row['count'] = ($PlanetRow['current'] != 0) ? pretty_number( $PlanetRow['current'] ) : $lang['rec_rien'];
$parse['building'] .= parsetemplate( $TableRows, $Row);
} elseif ($Element >= 41 && $Element <= 99 && $Element != 44) {
// Batiment sp
 
Status
Not open for further replies.
Back