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

// Some info about your mod.
$mod_title      = 'punBB Arcade Games';
$mod_version    = '';
$release_date   = '2006-10-12';
$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 ("Drive & Dodge", "drivedoge", "Steure dein Auto durch ein Labyrinth und sammle dabei die Flaggen ein. Gesteuert wird mit den Pfeiltasten und extra Speed gibt es mit der Leertaste.", "drivedoge.jpg", 550, 400, 4)') or error('Unable to add game Drive & Doge', __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 ("Equilibrium", "equilibrium", "Behalte die Balance auf dem Seil und springe, um den roten Kugeln auszuweichen und die blauen Kugeln zu sammeln.", "equilibrium.jpg", 500, 500, 4)') or error('Unable to add game Equilibrium', __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 ("Homerun Derby", "homerunderby", "Tweety ist der Werfer. Bugs muss die Bälle über den Zaun kloppen - also Homeruns schlagen. Gar nicht so einfach.", "homerunderby.jpg", 640, 480, 9)') or error('Unable to add game Homerun Derby', __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 ("Laby", "laby", "Bewege die Kugel mit den Pfeiltasten um jedes Feld orange einzufärben. Du kannst jedes Feld nur einmal markieren.", "laby.jpg", 550, 400, 3)') or error('Unable to add game Laby', __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 ("Mon Buster", "monbuster", "Bei diesem Spiel muss man versuchen soviele Steine wie möglich paarweise zu entfernen. Als Hilfe bekommt man Bonus-Steine.", "monbuster.jpg", 550, 450, 3)') or error('Unable to add game Mon Buster', __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 ("Among The Clouds", "amongtheclouds", "Steuert den Heissluftballon durch die Luft und sammelt soviele Punkte wie möglich eine. Um den Ballon aufsteigen zu lassen müsst ihr auf ihn klicken.", "amongtheclouds.jpg", 700, 450, 4)') or error('Unable to add game Among The Cluds', __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 ("Connexions", "connexions", "Beim Game Connexions müsst ihr mittels Mausklick die Rohrteile so drehen, dass eine geschlossene Verbindung entsteht. Dafür gibt es Punkte und der Timer wird zurückgesetzt. Je größer der geschlossene Kreis ist, auch über den Spielfeldrand hinaus, desto mehr Punkte gibt es.", "connexions.jpg", 600, 440, 3)') or error('Unable to add game Connexions', __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 ("Get A Grip", "getagrip", "Ziel des Spiels ist es einen sogenannten Wheelie auf dem Vorderrad über eine möglichst lange Distanz zu fahren. Durch Gewichtsverlagerung musst Du einem drohenden Sturz entgegen wirken.", "getagrip.jpg", 760, 350, 9)') or error('Unable to add game Drive & Doge', __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 ("City Jumper Extreme", "cityjumperextreme", "Die London Edition ist vorerst der letzte Teil der kultigen Jump and Run Serie City Jumper. Wie schon in der anderen Teilen muss der Spieler mit den Pfeiltasten links und rechts einen Hindernislauf durch Englands Hauptstadt heile überstehen.", "cityjumper.jpg", 800, 562, 4)') or error('Unable to add game City Jumper Extreme', __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 ("Flashcraft", "flashcraft", "Hier sind Deine Strategiekünste gefragt. Ihr müsst eure Burg vor den Angreifern verteidigen. Anfangs sind noch Schafe die Invasoren. Das ändert sich dann aber sehr schnell. Da heißt es Bauen - Upgraden - Verteidigen.", "flashcraft.jpg", 550, 474, 1)') or error('Unable to add game Flashcraft', __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 2", "rumbleball2", "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.", "rumbleball2.jpg", 400, 550, 4)') or error('Unable to add game Rumbleball 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 ("Speedball", "speedball", "Einfach und simple ist Speedball. Versucht so lange wie möglich den Ball im Spiel zu halten.", "speedball.jpg", 150, 280, 4)') or error('Unable to add Speedball', __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 ("Tribal Jump", "tribaljump", "Springt von Totenkopf zu Totenkopf. Wie weit schafft Ihr es?", "tribaljump.jpg", 550, 450, 4)') or error('Unable to add game Tribal Jump', __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 ("Eva Project", "evaproject", "Sehr schöner Sidescroller Shooter, ähnlich wie der Klassiker Gradius.", "evaproject.jpg", 640, 320, 2)') or error('Unable to add game Eva Project', __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 ("I m with stupid", "imwithstupid", "Helft Eurem trotteligen Schützling über gefährliche Baugerüste und tiefe Abgründe mit Hilfe von Luftballons. Klicke dazu einfach mit der Maus an die Position wo der Ballon aufsteigen soll.", "imwithstupid.jpg", 700, 480, 4)') or error('Unable to add game I m with stupid', __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 ("Sneek", "sneek", "Das Zield des Spiels ist es mit der Maus innerhalb des Quadrates zu bleiben. Klingt einfach oder?", "sneek.jpg", 550, 400, 4)') or error('Unable to add game Homerun Sneek', __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 ("Arctic Quest", "arcticquest", "Dieses Spiel ist eine Mischung aus Tetris und Puzzlespiel. Man muss eine vorgegebene Form im Tetris-Stil mit Eiskristallen befüllen.", "arcticquest.jpg", 640, 480, 3)') or error('Unable to add game Arctic Quest', __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 ("Fish eat fish", "fisheatfish", "Fressen oder gefressen werden ist das Ziel des Spiels.", "fisheatfish.jpg", 700, 500, 4)') or error('Unable to add game Fish eat fish', __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 ("Magic Arrow", "magicarrow", "Ziel des Spiels ist es alle blauen Luftballons zum zerplatzen zu bringen; rote Ballons dürfen nicht getroffen werden und orange bringen Extra-Pfeile.", "magicarrow.jpg", 640, 480, 9)') or error('Unable to add game Magic Arrow', __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 ("Prison Escape", "prisonescape", "Töte alle Gefangenen bevor sie flüchten. Du hast eine Pistole, eine Pumpgun oder ein Sturmgewehr zu Auswahl.", "prisonescape.jpg", 550, 400, 2)') or error('Unable to add game Prison Escape', __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 ("Space Flight", "spaceflight", "Hier muss ein Raumschiff mit den Pfeiltasten auf einer Plattform gelandet werden. Je schneller dies gelingt, desto mehr Bonuspunkte können erzielt werden. Kollisionen beschädigen das Raumschiff und kosten wertvolle Punkte.", "spaceflight.jpg", 550, 400, 4)') or error('Unable to add game Space Flight', __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 ("Lightning Pool", "lightningpool", "Das Online Game Lightning Pool ist ein tolles Billardspiel mit vielen Spielvarianten. Bei allen Spielen steht der Spieler unter Zeitdruck und muss die Kugeln innerhalb der vorgegebenen Zeit versenken. Richte mit der Maus das Queue aus und bestimme mit gedrückter Maustaste die Power.", "lightningpool.jpg", 640, 460, 4)') or error('Unable to add game Lightning Pool', __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 ("Collapse", "collapse", "Das Ziel des Spiels ist es Gruppen von 3 oder mehr Blöcken mit der gleichen Farbe explodieren zu lassen, bevor diese den oberen Bildschirmrand erreichen.", "collapse.jpg", 650, 420, 3)') or error('Unable to add game Collapse', __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 ("Mahjong Connect", "mahjongconnect", "Bei dieser Mahjong Variante muss ein einzelner Spieler paarweise alle 144 Steine vom Tisch nehmen. Dabei müssen die Spielsteine zur Seite hin und nach oben frei liegen, bevor sie entfernt werden können. Du musst dich beeilen, denn in MahJong Connect müssen alle Steine abgeräumt werden bevor die Zeit abgelaufen ist.", "mahjongconnect.jpg", 750, 550, 3)') or error('Unable to add game Mahjong Connect', __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 ("Taz Football", "tazfb", "Bei dieser lustigen Football Variante muss man soviele Tochdowns wie möglich erzielen.", "tazfb.jpg", 500, 375, 9)') or error('Unable to add game Taz Football', __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>