video_template.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <?php
  2. function content_start($ppub, $path, $video) {
  3. $metadata = $ppub->metadata;
  4. ?>
  5. <!DOCTYPE html>
  6. <html lang="<?php echo($metadata["language"] ?? SITE_LANGUAGE);?>">
  7. <head>
  8. <meta charset="utf-8">
  9. <title><?php echo(htmlentities($metadata["title"]));?> - <?php echo(SITE_NAME);?></title>
  10. <meta name="description" content="<?php echo(htmlentities($metadata["description"]));?>">
  11. <meta name="author" content="<?php echo(htmlentities($metadata["author"]));?>">
  12. <link rel="stylesheet" href="<?php echo(SITE_URL);?>/vanilla.css">
  13. <link rel="alternate" type="application/x-ppub" title="<?php echo(htmlentities($metadata["title"]));?> (as PPUB)" href="?download=true" />
  14. <script type="text/javascript" src="<?php echo(SITE_URL);?>/pvpd_player.js"></script>
  15. <style type="text/css">
  16. video {
  17. display: block;
  18. height: auto;
  19. max-width: 100%;
  20. }
  21. .additional-contols {
  22. background: var(--text-color);
  23. padding: 6px;
  24. font-size: 12px;
  25. color: #ffffff;
  26. }
  27. .additional-contols a {
  28. color: #ffffff;
  29. }
  30. .additional-control {
  31. display: inline-block;
  32. margin-right: 8px;
  33. }
  34. </style>
  35. </head>
  36. <body>
  37. <header>
  38. <h1>
  39. <a style="color: var(--text-color); text-decoration: none; display: inline-block;" href="<?php echo(SITE_URL);?>"><?php echo(SITE_NAME);?></a>
  40. <!-- <small style="font-weight: light; margin: 0px 5px 0px 5px;" aria-label="<?php echo(PUBLICATION_NAME);?> title:">/</small> -->
  41. <!-- <small><a style="color: var(--text-color); text-decoration: none; display: inline-block;" href="<?php echo(SITE_URL);?>/<?php echo($path);?>"><?php echo(htmlentities($metadata["title"]));?></a></small> -->
  42. </h1>
  43. </header>
  44. <video controls id="player" poster="<?php echo($video->files["poster"]);?>">
  45. </video>
  46. <div class="additional-contols">
  47. <div class="additional-control quality">
  48. <label for="quality">Playback Quality: </label>
  49. <select name="quality" id="quality-selector" onchange="qualitySelected()">
  50. </select>
  51. </div>
  52. <div class="additional-control download">
  53. <a href="<?php echo($video->files["master"]);?>" download>Download Full Quality Video</a>
  54. </div>
  55. </div>
  56. <script type="text/javascript">
  57. setup_playback({
  58. entries: [
  59. <?php
  60. foreach ($video->entries as $entry) {
  61. $entry_asset = $ppub->asset_index[$entry->filename];
  62. echo(" { mimetypeWithCodec: \"" . $entry_asset->mimetype . " codecs=\\\"" . $entry->codecs . "\\\"\", relativePath: \"" . $entry->filename . "\", label: \"" . $entry->label . "\" },\n");
  63. }
  64. ?>
  65. ]
  66. });
  67. </script>
  68. <?php
  69. }
  70. function content_html($content) {
  71. echo $content;
  72. }
  73. function content_end($ppub) {
  74. ?>
  75. <footer>
  76. <hr>
  77. <p><strong><?php echo(htmlentities($ppub->metadata["title"]));?></strong>
  78. <?php if($ppub->metadata["author"] != null) {
  79. preg_match("/^([^<]*(?= *<|$))<*([^>]*)>*/", $ppub->metadata["author"], $author);
  80. ?>
  81. <br/><?php echo(PUBLICATION_NAME);?> authored by <?php
  82. if(isset($author[2]) && $author[2] != '') {
  83. echo("<a href=\"mailto:".$author[2]."\">");
  84. echo(htmlentities(trim($author[1])));
  85. echo("</a>");
  86. } else {
  87. echo(htmlentities($ppub->metadata["author"]));
  88. }
  89. ?>.
  90. <?php } if ($ppub->metadata["tags"] != null and USE_PPIX) { ?>
  91. <br/>Tagged with:
  92. <?php
  93. foreach(explode(" ", $ppub->metadata["tags"]) as $tag) {
  94. ?>
  95. <a href="<?php echo(SITE_URL);?>/?tag=<?php echo(urlencode($tag));?>"><?php echo(htmlentities($tag));?></a>
  96. <?php
  97. }
  98. ?>
  99. <?php } if ($ppub->metadata["date"] != null) { ?>
  100. <br/>Last updated on <?php echo(htmlentities((new DateTime($ppub->metadata["date"]))->format(DATE_FORMAT)));?>.
  101. <br/><?php } if ($ppub->metadata["copyright"] != null) { ?>
  102. <?php echo($ppub->metadata["copyright"]);?>
  103. <?php } if ($ppub->metadata["licence"] != null) { ?>
  104. <a href="<?php echo($ppub->metadata["licence"]);?>">See Licence</a>
  105. <?php } ?></p>
  106. <p><a href="<?php echo(SITE_URL);?>/">Return to <?php echo(PUBLICATION_NAME);?> Index</a> | <a href="<?php echo(SITE_URL);?>/feed.rss">Subscribe to <?php echo(SITE_NAME);?> RSS</a> | <a href="?download=true">Download <?php echo(PUBLICATION_NAME);?> PPUB</a>
  107. <br/><small>Powered by <a href="https://github.com/Tilo15/php-ppub">php-ppub</a> and <a href="https://parsedown.org">Parsedown</a>, styled with <a href="https://vanillacss.com/">Vanilla CSS</a>.</small></p>
  108. </footer>
  109. </body>
  110. </html>
  111. <?php
  112. }
  113. ?>