index.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. <?php
  2. require('functions.php');
  3. ?>
  4. <!DOCTYPE html>
  5. <html lang="de">
  6. <head>
  7. <meta charset="utf-8">
  8. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  9. <meta name="viewport" content="width=device-width, initial-scale=1">
  10. <title>WebVideoViewer</title>
  11. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" integrity="sha512-dTfge/zgoMYpP7QbHy4gWMEGsbsdZeCXz7irItjcC3sPUFtf0kuFbDz/ixG7ArTxmDjLXDmezHubeNikyKGVyQ==" crossorigin="anonymous">
  12. <style>
  13. #logo {
  14. margin: 0 auto;
  15. text-align: center;
  16. }
  17. #logo > img {
  18. height: 200px;
  19. }
  20. .col-sm-3 > div > a > img {
  21. width: 100%;
  22. }
  23. .col-sm-3 {
  24. padding-bottom: 15px;
  25. min-height: 500px;
  26. }
  27. .image-zoom {
  28. overflow: hidden;
  29. }
  30. .image-zoom img {
  31. -webkit-transition: all 1s ease; /* Safari and Chrome */
  32. -moz-transition: all 1s ease; /* Firefox */
  33. -ms-transition: all 1s ease; /* IE 9 */
  34. -o-transition: all 1s ease; /* Opera */
  35. transition: all 1s ease;
  36. }
  37. .image-zoom:hover img {
  38. -webkit-transform:scale(1.15); /* Safari and Chrome */
  39. -moz-transform:scale(1.15); /* Firefox */
  40. -ms-transform:scale(1.15); /* IE 9 */
  41. -o-transform:scale(1.15); /* Opera */
  42. transform:scale(1.15);
  43. }
  44. </style>
  45. </head>
  46. <body>
  47. <div id="logo">
  48. <img src="moeflix.png" alt="moeflix">
  49. </div>
  50. <div class="container-fluid">
  51. <?php
  52. $CONFIG = array(
  53. "paths" => array(
  54. "/media/Serien",
  55. "/media/Filme"
  56. )
  57. );
  58. if(!isset($_GET['path']) || !$_GET['path']) {
  59. foreach($CONFIG['paths'] as $path) {
  60. $folderName = split('/', $path);
  61. echo "<h1>" . $folderName[sizeof($folderName) - 1] . "</h1>";
  62. $list = scandir($path);
  63. $list = array_diff($list, array('.', '..'));
  64. echo "<div class=\"row\">";
  65. foreach($list as $object) {
  66. echo "<div class=\"col-sm-3\"><div class=\"image-zoom\">";
  67. echo "<a href=\"?path=" . $path . "/" . $object . "\">" . "<img class=\"img-responsive\" src=\"" . getImageByName($path . "/" . $object) . "\" alt=\"" . $object . "\">" . "</a><br>";
  68. echo "</div></div>";
  69. }
  70. echo "</div>";
  71. }
  72. } else {
  73. $_GET['path'] = str_replace('/..', '', $_GET['path']);
  74. $_GET['path'] = str_replace('../', '', $_GET['path']);
  75. $_GET['path'] = str_replace('..', '', $_GET['path']);
  76. echo "<h1>" . $_GET['path'] . "</h1>";
  77. if(is_dir($_GET['path'])) {
  78. $list = scandir($_GET['path']);
  79. $list = array_diff($list, array('.', 'queue.hbq'));
  80. echo "<div class=\"row\">";
  81. foreach($list as $object) {
  82. if($object == "..") {
  83. if(in_array($_GET['path'], $CONFIG['paths'])) {
  84. echo "<div class=\"col-sm-3\"><div class=\"image-zoom\">";
  85. echo "<a href=\"?path=\"><img src=\"/folder_up.png\" alt=\"folder up\"></a><br>";
  86. echo "</div></div>";
  87. } else {
  88. $paths = explode('/', $_GET['path']);
  89. $paths = array_diff($paths, array($paths[sizeof($paths) - 1]));
  90. $pathv = "";
  91. foreach($paths as $key => $path) {
  92. if($key == sizeof($paths) - 1) {
  93. $pathv .= $path;
  94. } else {
  95. $pathv .= $path . "/";
  96. }
  97. }
  98. echo "<div class=\"col-sm-3\"><div class=\"image-zoom\">";
  99. echo "<a href=\"?path=" . $pathv . "\"><img src=\"/folder_up.png\" alt=\"folder up\"></a><br>";
  100. echo "</div></div>";
  101. }
  102. } else {
  103. echo "<div class=\"col-sm-3\"><div class=\"image-zoom\">";
  104. echo "<a href=\"?path=" . $_GET['path'] . "/" . $object . "\">" . "<img class=\"img-responsive\" src=\"" . getImageByName($_GET['path'] . "/" . $object) . "\" alt=\"" . $object . "\">" . "</a><br>";
  105. echo "</div></div>";
  106. }
  107. }
  108. echo "</div>";
  109. } else {
  110. $paths = explode('/', $_GET['path']);
  111. $paths = array_diff($paths, array($paths[sizeof($paths) - 1]));
  112. $pathv = "";
  113. foreach($paths as $key => $path) {
  114. if($key == sizeof($paths) - 1) {
  115. $pathv .= $path;
  116. } else {
  117. $pathv .= $path . "/";
  118. }
  119. }
  120. $mime = explode(';', finfo_file(finfo_open(FILEINFO_MIME), $_GET['path']));
  121. echo "<a href=\"?path=" . $pathv . "\">Back</a> | <a href=\"readfile.php?file=" . $_GET['path'] . "\">Download</a><br>";
  122. echo "<video width=\"auto\" height=\"auto\" controls>";
  123. echo "<source src=\"readfile.php?file=" . $_GET['path'] . "\" type=\"" . $mime[0] . "\">";
  124. echo "Your browser does not support the video tag.";
  125. echo "</video>";
  126. }
  127. }
  128. ?>
  129. </div>
  130. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  131. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js" integrity="sha512-K1qjQ+NcF2TYO/eI3M6v8EiNYZfA95pQumfvcVrTHtwQVDG+aHRqLi/ETn2uB+1JqwYqVG3LIvdm9lj6imS/pQ==" crossorigin="anonymous"></script>
  132. </body>
  133. </html>