Pagina 1 van 1

Random Game op ezPortal

Geplaatst: 11 okt 2005, 16:43
door funnyman
Met deze mod kan je icm de Activity Mod, een Random Game op de portal.php laten zien...

hier mijn Eerste Zelf gemaakte mod 8)

Code: Selecteer alles

#
#-----[ OPEN ]------------------------------------------ 
# 

/portal.php

#
#-----[ FIND ]------------------------------------------ 
# 

$template->set_filenames(array(
	'body' => 'portal_body.tpl')
);

#
#-----[ AFTER, ADD ]------------------------------------------ 
# 

//
// BEGIN Random Game
//

{
   $sql = "SELECT * FROM phpbb_ina_games ORDER BY RAND() LIMIT 1";
}
if (!$result = $db->sql_query($sql))
{
   message_die(GENERAL_ERROR, 'Could not query game information', '', __LINE__, __FILE__, $sql);
}
while($random_game = $db->sql_fetchrow($result)) 
{ 
	$width = $random_game['win_width']; 
	$height = $random_game['win_height']; 
	$image_path = $random_game['image_path']; 
	if ( $image_path == '' ) 
	{ 
	   $image_path = './' . $random_game['game_path'] . $random_game['game_name'] . '.gif'; 
	} 
	$image = "<img src=\"" . $image_path . "\" alt=\"" . $random_game['game_name'] . "\" border=\"0\">";
	$show_random_game = "<a href=\"javascript:Gk_PopTart('activity.php?mode=game&id=" . $random_game['game_id'] . "$SID', 'New_Window', '$width', '$height', 'no')\" onClick=\"blur()\">" . $image . "</a><br><span class=\"gensmall\">" . $random_game['game_desc'] . "</span>"; 
}

//
// END Random Game
//

#
#-----[ FIND ]------------------------------------------ 
# 

$template->assign_vars(array(

#
#-----[ AFTER, ADD ]------------------------------------------ 
#

	'RANDOM_GAME' => $show_random_game,

#
#-----[ OPEN ]------------------------------------------ 
# 

/templates/subSilver/portal_body.tpl

#
#-----[ ADD ANYWHERE YOU LIKE ]------------------------------------------ 
#

<table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline">
 <tr>
  <th class="catHead" height="25" align="center">Random Game!</th>
 </tr>
 <tr>
  <td class="row1" align="center"><br>{RANDOM_GAME}<br><br></td>
 </tr>
</table>

# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
# 

Geplaatst: 11 okt 2005, 17:34
door Bee
Dit gaat niet werken natuurlijk:

Code: Selecteer alles

{ 
   $sql = "SELECT * FROM phpbb_ina_games ORDER BY RAND() LIMIT 1"; 
}
Daar moet iets voor, of de acolades moeten weg.

Geplaatst: 11 okt 2005, 17:50
door Paul
Bee schreef:Dit gaat niet werken natuurlijk:

Code: Selecteer alles

{ 
   $sql = "SELECT * FROM phpbb_ina_games ORDER BY RAND() LIMIT 1"; 
}
Daar moet iets voor, of de acolades moeten weg.
Probeer maar hoor, werkt gewoon ;)

Geplaatst: 11 okt 2005, 19:17
door svenn
tuurlijk maar ze zijn onnodig
zo kun je er anders van maken

Code: Selecteer alles

$id = '0';
if($id == '0')
{
//code
}

is ook behoorlijk nutteloos niet ;)

Geplaatst: 11 okt 2005, 19:20
door Paul
Tis inderdaad nutteloos, maar mag wel, en de php interpreter maakt er geen probleem van. In sommige gevallen kan het naar mijn mening zelfs nuttig zijn.

Geplaatst: 11 okt 2005, 19:21
door svenn
zoals ik vind dat het enkel maar verwarring sticht en is trouwens extra code die je code vertraagt ,

nu niet van die 2 teketntjes maar toch zeker wel 1/250 milliseconde :P

Geplaatst: 11 okt 2005, 19:34
door mosymuis

Code: Selecteer alles

$sql = "SELECT * FROM phpbb_ina_games ORDER BY RAND() LIMIT 1";
}
if (!$result = $db->sql_query($sql))
{
   message_die(GENERAL_ERROR, 'Could not query game information', '', __LINE__, __FILE__, $sql);
}
while($random_game = $db->sql_fetchrow($result))
{ 
Waarom een while lus als je zoiezo maar één rij ontvangt?

Geplaatst: 11 okt 2005, 21:26
door -=|Rik|=-
Waarom staat dit hier en niet in mod dev?

Geplaatst: 11 okt 2005, 21:28
door mosymuis
Good point there watson.

Geplaatst: 11 okt 2005, 21:29
door funnyman
svennson schreef:tuurlijk maar ze zijn onnodig
zo kun je er anders van maken

Code: Selecteer alles

$id = '0';
if($id == '0')
{
//code
}

is ook behoorlijk nutteloos niet ;)
juist niet!

opdat je in het ACP alleen een 'image_path' invult als het plaatje in een andere map staat als de game zelf.. dus je bent één van de twee nodig ;)

maar is toch niet slecht voor een eerst geschreven mod? het werkt teminste ;)

Geplaatst: 11 okt 2005, 21:32
door -=|Rik|=-
mosymuis schreef:Good point there watson.
No shit shorleck ;)

Geplaatst: 11 okt 2005, 21:36
door mosymuis
funnyman schreef:opdat je in het ACP alleen een 'image_path' invult als het plaatje in een andere map staat als de game zelf.. dus je bent één van de twee nodig ;)
Ze doelen op het stuk code daarboven. Daar zijn de brackets inderdaad zinloos.
funnyman schreef:maar is toch niet slecht voor een eerst geschreven mod? het werkt teminste ;)
Dat het werkt, zegt niets. Zelfs dan kan een stuk script nog zo gammel, onveilig of instabiel zijn als wat.

Geplaatst: 12 okt 2005, 11:32
door svenn
funnyman schreef:
svennson schreef:tuurlijk maar ze zijn onnodig
zo kun je er anders van maken

Code: Selecteer alles

$id = '0';
if($id == '0')
{
//code
}

is ook behoorlijk nutteloos niet ;)
juist niet!

opdat je in het ACP alleen een 'image_path' invult als het plaatje in een andere map staat als de game zelf.. dus je bent één van de twee nodig ;)

maar is toch niet slecht voor een eerst geschreven mod? het werkt teminste ;)
Nee het werkt bij jouw en bij jouw server instellingen maar ,aslie juist gecodeert is dan werkt hij normaal overal.

Geplaatst: 12 okt 2005, 12:26
door mosymuis
Svennson, ik vind het wel typisch dat je funnyman de les probeert te lezen in PHP, terwijl je zelf een integer als string op slaat. Hou zulk commentaar dan voor je.

Geplaatst: 12 okt 2005, 22:58
door funnyman
is het niet veilig? wat moet ik aan dit script wijzigen?

ik vond het al heel wat dat het werkt :P

Geplaatst: 12 okt 2005, 23:02
door mosymuis
funnyman schreef:is het niet veilig? wat moet ik aan dit script wijzigen?

ik vond het al heel wat dat het werkt :P
Er zijn je al twee wijzigingen voorgesteld.

En wat doet

Code: Selecteer alles

$SID
halverwege in de link? Dat lijkt mij wel degelijk een veiligheidslek. Het zou $userdata['session_id'] moeten zijn. Of beter nog, gebruik van de functie append_sid().