mirror of
https://github.com/photonstorm/phaser
synced 2024-11-13 00:17:24 +00:00
170 lines
No EOL
3.3 KiB
PHP
170 lines
No EOL
3.3 KiB
PHP
<?php
|
|
function dirToArray($dir) {
|
|
|
|
$ignore = array('.', '..', 'Tests.csproj', 'Tests.csproj.user', 'bin', 'index.php', 'phaser.css', 'obj', 'assets', 'states', 'Phaser Tests.sublime-project');
|
|
$result = array();
|
|
$root = scandir($dir);
|
|
$dirs = array_diff($root, $ignore);
|
|
|
|
foreach ($dirs as $key => $value)
|
|
{
|
|
if (is_dir($dir . DIRECTORY_SEPARATOR . $value))
|
|
{
|
|
$result[$value] = dirToArray($dir . DIRECTORY_SEPARATOR . $value);
|
|
}
|
|
else
|
|
{
|
|
if (substr($value, -3) == '.js')
|
|
{
|
|
$result[] = $value;
|
|
}
|
|
}
|
|
}
|
|
|
|
return $result;
|
|
}
|
|
|
|
$state = false;
|
|
|
|
if (isset($_GET['f']))
|
|
{
|
|
$js = $_GET['d'] . '/' . $_GET['f'];
|
|
$ts = substr($js, 0, -2) . 'ts';
|
|
$state = substr($_GET['f'], 0, -3);
|
|
}
|
|
|
|
$mobile = false;
|
|
|
|
if (isset($_GET['m']))
|
|
{
|
|
$mobile = true;
|
|
}
|
|
|
|
?>
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="initial-scale=1 maximum-scale=1 user-scalable=0" />
|
|
<title>Phaser Test Runner: <?php echo $state?></title>
|
|
<?php
|
|
if ($mobile)
|
|
{
|
|
?>
|
|
<link rel="stylesheet" href="phaser-mobile.css" type="text/css" />
|
|
<?php
|
|
}
|
|
else
|
|
{
|
|
?>
|
|
<link rel="stylesheet" href="phaser.css" type="text/css" />
|
|
<?php
|
|
}
|
|
?>
|
|
<script src="phaser.js"></script>
|
|
<script src="phaser-fx.js"></script>
|
|
<?php
|
|
if ($state)
|
|
{
|
|
?>
|
|
<script src="<?php echo $js?>"></script>
|
|
<?php
|
|
}
|
|
?>
|
|
</head>
|
|
<body>
|
|
|
|
<?php
|
|
if ($mobile)
|
|
{
|
|
?>
|
|
|
|
<div id="game"></div>
|
|
|
|
<?php
|
|
}
|
|
|
|
if ($state && $mobile == false)
|
|
{
|
|
?>
|
|
|
|
<a href="index.php" class="button star">Home</a>
|
|
<a href="<?php echo $js?>" class="button play">View JavaScript</a>
|
|
<a href="<?php echo $ts?>" class="button play">View TypeScript</a>
|
|
|
|
<div id="game"></div>
|
|
|
|
<p>You'll learn best from these Tests by viewing the source code.<br />
|
|
Use the arrow keys / mouse to move around most of them.</p>
|
|
|
|
<p><a href="https://github.com/photonstorm/phaser">Phaser</a></p>
|
|
|
|
<?php
|
|
}
|
|
?>
|
|
|
|
<?php
|
|
|
|
function printJSLinks($dir, $files) {
|
|
|
|
foreach ($files as $key => $value) {
|
|
|
|
$value2 = substr($value, 0, -3);
|
|
|
|
if ($dir == 'mobile')
|
|
{
|
|
echo "<a href=\"index.php?f=$value&d=$dir&m=1\" class=\"button\">$value2</a>";
|
|
}
|
|
else
|
|
{
|
|
echo "<a href=\"index.php?f=$value&d=$dir\" class=\"button\">$value2</a>";
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if ($state == false && $mobile == false)
|
|
{
|
|
?>
|
|
|
|
<div id="header">
|
|
<h1 id="title">Phaser Test Suite</h1>
|
|
</div>
|
|
|
|
<div id="links">
|
|
<?php
|
|
$files = dirToArray(dirname(__FILE__));
|
|
$total = 0;
|
|
|
|
foreach ($files as $key => $value) {
|
|
|
|
// If $key is an array, output it as an h2 or something
|
|
if (is_array($value) && count($value) > 0)
|
|
{
|
|
$total += count($value);
|
|
}
|
|
|
|
}
|
|
|
|
echo "<h2>Total Tests: $total </h2>";
|
|
|
|
foreach ($files as $key => $value) {
|
|
|
|
// If $key is an array, output it as an h2 or something
|
|
if (is_array($value) && count($value) > 0)
|
|
{
|
|
echo "<h2>$key (" . count($value) . " examples)</h2>";
|
|
printJSLinks($key, $value);
|
|
}
|
|
|
|
}
|
|
?>
|
|
</div>
|
|
<?php
|
|
}
|
|
?>
|
|
|
|
</body>
|
|
</html>
|