<?php
/***********************************************************************/

// Some info about your mod.
$mod_title      = 'punBB Arcade Games';
$mod_version    = '';
$release_date   = '2006-07-24';
$author         = 'ANGO';
$author_email   = '';

// Versions of PunBB this mod was created for. Minor variations (i.e. 1.2.4 vs 1.2.5) will be allowed, but a warning will be displayed.
$punbb_versions	= array('1.2.10', '1.2.11', '1.2.12');

// Set this to false if you haven't implemented the restore function (see below)
$mod_restore	= false;


// This following function will be called when the user presses the "Install" button
function install()
{
	global $db, $db_type, $pun_config;
	
$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Tubin", "tubin", "Du schwimmst mit dem Reifen auf dem See Tyler, gezogen von einem Motorboot. Deine Aufgabe in dem Spiel ist es allen Bojen auszuweichen und Sterne einzusammeln.", "tubin.jpg", 550, 440, 4)') or error('Unable to add game Tubin', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Alpha Force", "alphaforce", "Als Pilot eines Kampfjets musst Du Dich gegen mächtige Feinde in der Luft und am Boden erwähren. Die Steuerung von Alpha Force erfolgt über die Pfeiltasten, mit der Strg-Taste kann geschossen und mit der Taste S Bomben abgeworfen werden.", "alphaforce.jpg", 522, 340, 2)') or error('Unable to add game Alpha Force', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Blox Forever", "bloxforever", "Positioniere gleichfarbige Blöcke nebeneinander und bringe sie zum Platzen.", "bloxforever.jpg", 640, 480, 3)') or error('Unable to add game Blox Forever', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Plumber", "plumber1", "Hier muss eine Leitung zwischen dem Wasserzulauf und dem Abfluss herstgestellt werden, indem man die Rohrstücke durch rotieren in die richtige Lage bringt. Je schneller die Aufgabe gelöst wird, desto höher fällt der Zeit-Bonus aus.", "plumber1.jpg", 620, 400, 3)') or error('Unable to add game Plumber', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Starsky Hutch Pinball", "starskynhutch", "Ziel des Spiels ist es natürlich die Kugel möglichst lange im Spiel zu halten und Punkte zu erzielen. Vor dem Spiel kann unter Setup die Tastenbelegung eingestellt werden.", "starskynhutch.jpg", 550, 560, 4)') or error('Unable to add game Starsky Hutch Pinball', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Zed", "zed", "Zed ist ein Androit. Hilf ihm alle Goldmünzen einzusammeln.", "zed.jpg", 700, 500, 7)') or error('Unable to add game Zed', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Flower Power", "flowerpower", "Genau wie bei Bubble Trouble müsst ihr die Blumen so abschießen, daß sich immer 3 gleiche berühren und damit verschwinden. Auch hier senkt sich die Decke ab.", "flowerpower.jpg", 550, 400, 3)') or error('Unable to add game Flower Power', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Crazy Cube", "crazycube", "Crazy Cube ist ein sehr schönes Puzzle Spiel. Verbinde die gleichfarbigen Quadrate ohne das sich die Linien der anderen Quadrate kreuzen.", "crazycube.jpg", 700, 525, 3)') or error('Unable to add game Crazy Cube', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Iconien", "iconien", "Verteidigt den zentralem Punkt in der Mitte des Spielfelds gegen die Angreifer. Um die Gegner zu vernichten, zieht mit der Maus ein Rechteck, um einen oder mehrere Gegner. Ab und an kommen nürzliche Items.", "iconien.jpg", 460, 400, 4)') or error('Unable to add game Iconien', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Invader 360", "invader360", "Invader 360 ist ein Classic Shooter wie Tempest oder Gyruss.", "invader360.jpg", 400, 300, 2)') or error('Unable to add game Invader 360', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Bowman Bird Hunting", "bowmandash", "Du hast 3 Minuten Zeit um soviele Vögel wie möglich abzuschiessen.", "bowmandash.jpg", 400, 300, 2)') or error('Unable to add game Bowman Bird Hunting', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("30 Seconds", "30seconds", "Ihr habt 30 Sekunden um den Golfball soweit wie möglich zu schlagen.", "30seconds.jpg", 500, 400, 9)') or error('Unable to add game 30 Seconds', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Indepentend Throw", "indthrow", "Als Paperboy ist es eure Aufgabe alle Leute mit ihrer Tageszeitung zu versorgen. Stellt den Wurfwinkel mit den Pfeiltasten und die Wurfstärke ein und werft durch drücken der Leertaste.", "indthrow.jpg", 500, 400, 4)') or error('Unable to add game Indepentend Throw', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Malibu 9", "malibu9", "Weiche den Gegnern durch Drücken der entsprechenden Ziffer die die Figur hat aus. Hört sich leicht an, wird aber schon in dem Moment wo die 6 ins Spiel kommt echt heftig.", "malibu9.jpg", 620, 340, 7)') or error('Unable to add game Malibu 9', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Shooting Target", "shootingtarget", "Mit der SPACE Taste könnt Ihr Feuer Salven abfeuern. Ihr habt 100 Schuss um möglichst die Mitte der Zielscheibe zu treffen.", "shootingtarget.jpg", 550, 400, 2)') or error('Unable to add game Shooting Target', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Arcade Lanes", "arcadelanes", "Bei diesem Bowling Spiel musst Du versuchen möglichst nah an die Maximal-Punktzahl von 300 heranzukommen. Per Mausklick wird die Wurfrichtung und der Drall bestimmt.", "arcadelanes.jpg", 492, 450, 9)') or error('Unable to add game Iconien', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Force Within", "forcewithin", "Um die Steine vom Brett zu bekommen muss man sie so verschieben das man Gruppen von 4 oder mehr Steinen horizontal oder vertical bildet.", "forcewithin.jpg", 466, 350, 3)') or error('Unable to add game Force Within', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Freecell", "freecell", "Ziel des Spieles ist es, die 52 Karten nach Familien also, Karo, Herz, Pik oder Kreuz sortiert in aufsteigender Reihenfolge, As, 2, 3, ..., 10, J, Q, K auf den vier Stapeln in der rechten oberen Ecke des Spielfeldes abzulegen.
", "freecell.jpg", 680, 460, 5)') or error('Unable to add game Freecell', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Quadramania", "quadramania", "Hier geht es darum Punkte zu sammeln indem man Rechtecke formt die das Format 2x3 Kästchen haben. Größere Formen zählen nicht und bleiben auf dem Spielfeld bestehen, was das Spiel zu einer echten Herausforderung für die grauen Zellen macht. Unpassende Spielsteine kann man, bevor man sie benutzt, verschwinden lassen was allerdings einen Punktabzug von 500 Punkten bedeutet.", "quadramania.jpg", 550, 400, 3)') or error('Unable to add game Quadramania', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Rumbleball 1", "rumbleball1", "Das Geschicklichkeitsspiel Rumble Ball erinnert ein wenig an Minigolf oder Billard. Ziel des Spiels ist es sämtliche goldenen Punkte mit Hilfe des Spielballs aus dem Spielfeld zu entfernen. Wie beim Billard kann die Schussrichtug und Schussstärke bestimmt und ebenfalls über Bande gespielt werden.", "rumbleball1.jpg", 400, 550, 4)') or error('Unable to add game Rumbleball 1', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Turmspringen", "turmspringen", "Bei dem Spiel Turmspringen kommt es nicht nur auf gute Haltungsnoten an, sondern auch auf einen guten Absprung, sowie den Figuren und dem Eintauchvorgang. Drückt Space um zu starten, nochmal Space zum abspringen und macht in der Luft die Figuren mittels Cursortasten.", "turmspringen.jpg", 720, 540, 9)') or error('Unable to add game Turmspringen', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Mario Starcatcher 2", "mario_starcatcher2", "Wie sein Vorbild ist auch Mario Starcatcher ein Jump n Run. Bewegt wird Mario mit den Cursortasten, springen mit Space. Um ein Level zu beenden müßt ihr den großen Stern erreichen.", "mario_starcatcher2.jpg", 550, 400, 4)') or error('Unable to add game Mario Starcatcher 2', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Great Tournament", "greattournament", "Bei dem Spiel Great Tournament gilt es einen grossen Wettkampf im Bogenschiessen zu gewinnen. Neben dem Können spielt der Schusswinkel sowie der Wind eine gewisse Rolle. Um ein Level weiter zu kommen muss man eine bestimmte Weite erreichen. Für jeden Schuss gibt es Punkte die am Ende aufaddiert werden.", "greattournament.jpg", 520, 390, 9)') or error('Unable to add game Great Tournament', __FILE__, __LINE__, $db->error());


$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Little Erde", "littleerde", "Der Spieler hat die Aufgabe, die Wurst soweit wie möglich um den kleinen Planeten herum zu werfen und sie dann wieder zu fangen. Fällt die Wurst auf einen Pilz, der auch verschoben werden kann, fliegt sie nochmals etwas weiter.", "littleerde.jpg", 676, 548, 4)') or error('Unable to add game Little Erde', __FILE__, __LINE__, $db->error());

$db->query('INSERT INTO '.$db->prefix.'arcade_games (game_name, game_filename, game_desc, game_image, game_width, game_height, game_cat) VALUES ("Little Erde 2", "littleerde2", "Die Rache der Blutwurst ist der 2 Teil der Little Erde Reihe und basiert ebenfalls auf dem Yetisports Prinzip. Mit der Leertaste kann die Wurfstärke und der Winkel bestimmt werden um den Zwerg durch die Luft zu schleudern. Ziel des Spiels ist es möglich viele Erdumrundungen und eine hohe Weite zu erreichen.", "littleerde2.jpg", 676, 548, 4)') or error('Unable to add game Little Erde 2', __FILE__, __LINE__, $db->error());

}



// This following function will be called when the user presses the "Restore" button (only if $mod_uninstall is true (see above))
function restore()
{
	global $db, $db_type, $pun_config;
	switch ($db_type)
	{
		default:

			break;
	}

}

/***********************************************************************/

// DO NOT EDIT ANYTHING BELOW THIS LINE!


// Circumvent maintenance mode
define('PUN_TURN_OFF_MAINT', 1);
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';

// We want the complete error message if the script fails
if (!defined('PUN_DEBUG'))
	define('PUN_DEBUG', 1);

// Make sure we are running a PunBB version that this mod works with
$version_warning = false;
if(!in_array($pun_config['o_cur_version'], $punbb_versions))
{
	foreach ($punbb_versions as $temp)
	{
		if (substr($temp, 0, 3) == substr($pun_config['o_cur_version'], 0, 3))
		{
			$version_warning = true;
			break;
		}
	}

	if (!$version_warning)
		exit('You are running a version of PunBB ('.$pun_config['o_cur_version'].') that this mod does not support. This mod supports PunBB versions: '.implode(', ', $punbb_versions));
}


$style = (isset($cur_user)) ? $cur_user['style'] : $pun_config['o_default_style'];

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title><?php echo $mod_title ?> installation</title>
<link rel="stylesheet" type="text/css" href="style/<?php echo $pun_config['o_default_style'].'.css' ?>" />
</head>
<body>

<div id="punwrap">
<div id="puninstall" class="pun" style="margin: 10% 20% auto 20%">

<?php

if (isset($_POST['form_sent']))
{
	if (isset($_POST['install']))
	{
		// Run the install function (defined above)
		install();

?>
<div class="block">
	<h2><span>Installation successful</span></h2>
	<div class="box">
		<div class="inbox">
			<p>Your database has been successfully prepared for <?php echo pun_htmlspecialchars($mod_title) ?>. See readme.txt for further instructions.</p>
		</div>
	</div>
</div>
<?php

	}
	else
	{
		// Run the restore function (defined above)
		restore();

?>
<div class="block">
	<h2><span>Restore successful</span></h2>
	<div class="box">
		<div class="inbox">
			<p>Your database has been successfully restored.</p>
		</div>
	</div>
</div>
<?php

	}
}
else
{

?>
<div class="blockform">
	<h2><span>Mod installation</span></h2>
	<div class="box">
		<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>?foo=bar">
			<div><input type="hidden" name="form_sent" value="1" /></div>
			<div class="inform">
				<p>This script will update your database to work with the following modification:</p>
				<p><strong>Mod title:</strong> <?php echo pun_htmlspecialchars($mod_title).' '.$mod_version ?></p>
				<p><strong>Author:</strong> <?php echo pun_htmlspecialchars($author) ?> (<a href="mailto:<?php echo pun_htmlspecialchars($author_email) ?>"><?php echo pun_htmlspecialchars($author_email) ?></a>)</p>
				<p><strong>Disclaimer:</strong> Mods are not officially supported by PunBB. Mods generally can't be uninstalled without running SQL queries manually against the database. Make backups of all data you deem necessary before installing.</p>
<?php if ($mod_restore): ?>				<p>If you've previously installed this mod and would like to uninstall it, you can click the restore button below to restore the database.</p>
<?php endif; ?><?php if ($version_warning): ?>				<p style="color: #a00"><strong>Warning:</strong> The mod you are about to install was not made specifically to support your current version of PunBB (<?php echo $pun_config['o_cur_version']; ?>). However, in most cases this is not a problem and the mod will most likely work with your version as well. If you are uncertain about installning the mod due to this potential version conflict, contact the mod author.</p>
<?php endif; ?>			</div>
			<p><input type="submit" name="install" value="Install" /><?php if ($mod_restore): ?><input type="submit" name="restore" value="Restore" /><?php endif; ?></p>
		</form>
	</div>
</div>
<?php

}

?>

</div>
</div>

</body>
</html>