PageRenderTime 43ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/index.php

https://github.com/aeonofdiscord/love-webplayer
PHP | 91 lines | 85 code | 2 blank | 4 comment | 3 complexity | 8c3e5df21fdfbc84989eb222ffc54513 MD5 | raw file
  1. <?php
  2. // 2012-04-26 optional index.php that can be in game folder or in parent folder with multiple games in subfolders. automatically generates preload-image list
  3. //~ error_reporting(-1);
  4. // CONFIG
  5. define("IMAGE_TYPES","png,jpg,gif");
  6. // STOP CONFING'IN
  7. function glob_recursive($pattern, $flags = 0){//http://www.php.net/manual/en/function.glob.php#106595
  8. $files = glob($pattern, $flags);
  9. foreach (glob(dirname($pattern).'/*', GLOB_ONLYDIR|GLOB_NOSORT) as $dir){
  10. $files = array_merge($files, glob_recursive($dir.'/'.basename($pattern), $flags));
  11. }
  12. return $files;
  13. }
  14. ?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
  15. <html>
  16. <head>
  17. <?php $prefix = is_file("js/main.js") ? "" : "../" ?>
  18. <?php if(is_file("main.lua")){ ?>
  19. <link rel="stylesheet" href="<?php echo $prefix; ?>style.css" type="text/css">
  20. <script type="text/javascript" src="<?php echo $prefix; ?>js/lua-parser.js"></script>
  21. <script type="text/javascript" src="<?php echo $prefix; ?>js/lua-parser-utils.js"></script>
  22. <script type="text/javascript" src="<?php echo $prefix; ?>js/gamepad.js"></script>
  23. <script type="text/javascript" src="<?php echo $prefix; ?>js/jquery.js"></script>
  24. <script type="text/javascript" src="<?php echo $prefix; ?>js/jquery.hotkeys.js"></script>
  25. <script type="text/javascript" src="<?php echo $prefix; ?>js/utils.js"></script>
  26. <script type="text/javascript" src="<?php echo $prefix; ?>js/utils.webgl.js"></script>
  27. <script type="text/javascript" src="<?php echo $prefix; ?>js/love.render.js"></script>
  28. <script type="text/javascript" src="<?php echo $prefix; ?>js/main.js"></script>
  29. <script type="text/javascript" src="<?php echo $prefix; ?>js/love.audio.js"></script>
  30. <script type="text/javascript" src="<?php echo $prefix; ?>js/love.event.js"></script>
  31. <script type="text/javascript" src="<?php echo $prefix; ?>js/love.filesystem.js"></script>
  32. <script type="text/javascript" src="<?php echo $prefix; ?>js/love.font.js"></script>
  33. <script type="text/javascript" src="<?php echo $prefix; ?>js/love.graphics.js"></script>
  34. <script type="text/javascript" src="<?php echo $prefix; ?>js/love.image.js"></script>
  35. <script type="text/javascript" src="<?php echo $prefix; ?>js/love.joystick.js"></script>
  36. <script type="text/javascript" src="<?php echo $prefix; ?>js/love.keyboard.js"></script>
  37. <script type="text/javascript" src="<?php echo $prefix; ?>js/love.mouse.js"></script>
  38. <script type="text/javascript" src="<?php echo $prefix; ?>js/Box2dWeb-2.1.a.3.min.js"></script>
  39. <script type="text/javascript" src="<?php echo $prefix; ?>js/love.physics.js"></script>
  40. <script type="text/javascript" src="<?php echo $prefix; ?>js/love.sound.js"></script>
  41. <script type="text/javascript" src="<?php echo $prefix; ?>js/love.thread.js"></script>
  42. <script type="text/javascript" src="<?php echo $prefix; ?>js/love.timer.js"></script>
  43. <script type="text/javascript">gShaderCode_Fragment = LoadShaderCode("<?php echo $prefix; ?>js/fragment.shader");</script>
  44. <script type="text/javascript">gShaderCode_Vertex = LoadShaderCode("<?php echo $prefix; ?>js/vertex.shader");</script>
  45. <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  46. <?php } ?>
  47. <title>Love Webplayer</title>
  48. </head>
  49. <?php
  50. if(is_file("main.lua")){
  51. chdir($_GET['run']);
  52. $data = glob_recursive("*.{".IMAGE_TYPES."}",GLOB_BRACE);
  53. $output = array();
  54. foreach($data as $file){
  55. if(substr($file,0,2)=="./"){
  56. $file = substr($file,2);
  57. }
  58. $output[].= "'".$file."'";
  59. }
  60. ?>
  61. <body onload="LoveFileList('<?php echo isset($game)?"../filelist.php?game=$game":"filelist.php"; ?>'); MainOnLoad([<?php echo implode(",",$output); ?>])">
  62. <h1>Love Webplayer</h1>
  63. <canvas id="glcanvas" width="800" height="600">
  64. Your browser doesn't appear to support the HTML5 <code>&lt;canvas&gt;</code> element.
  65. </canvas>
  66. <div id="output" style="font-family: Courier New,Courier,monospace;"></div>
  67. <?php } else { ?>
  68. <body>
  69. <h1>Love Webplayer</h1>
  70. <ul>
  71. <?php
  72. foreach(glob("*/main.lua") as $game){
  73. $path = dirname($game)."/index.php";
  74. if(!is_file($path)){
  75. if(is_writable($path)){
  76. file_put_contents($path,"<?php ".'$game = "'.addslashes($game).'";'."\n"."require(\"../index.php\");\n");
  77. } else {
  78. echo "<i>Unable to write to</i> <code>$path</code> <br/>";
  79. }
  80. }
  81. if(is_file($path)){
  82. echo " <li><a href=\"$name\">Run ".dirname($game)."</a></li>\n";
  83. }
  84. }
  85. ?>
  86. </ul>
  87. <?php } ?>
  88. </body>
  89. </html>