presenter.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. /*
  3. * The MIT License
  4. *
  5. * Copyright 2015 Jeroen De Meerleer <me@jeroened.be>.
  6. *
  7. * Permission is hereby granted, free of charge, to any person obtaining a copy
  8. * of this software and associated documentation files (the "Software"), to deal
  9. * in the Software without restriction, including without limitation the rights
  10. * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  11. * copies of the Software, and to permit persons to whom the Software is
  12. * furnished to do so, subject to the following conditions:
  13. *
  14. * The above copyright notice and this permission notice shall be included in
  15. * all copies or substantial portions of the Software.
  16. *
  17. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  18. * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  19. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  20. * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  21. * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  22. * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  23. * THE SOFTWARE.
  24. */
  25. try {
  26. $dbh = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS);
  27. } catch (PDOException $e) {
  28. print "Error!: " . $e->getMessage() . "<br/>";
  29. die();
  30. }
  31. $sth = $dbh->prepare('SELECT * FROM presentations WHERE slug = ?');
  32. $sth->execute(array($requestUri));
  33. if ($sth->rowCount() == 0) {
  34. $error = "Sorry, presentation does not exist";
  35. http_response_code(404);
  36. include 'home.php';
  37. exit;
  38. }
  39. $row = $sth->fetch();
  40. if($row['Password'] !== NULL) {
  41. if (isset($_POST['password'])) {
  42. $password = trim($_POST['password']);
  43. $hash = $row['Password'];
  44. if (!password_verify($password, $hash)) {
  45. $error = "Sorry, password is incorrect";
  46. http_response_code(401);
  47. include 'password.php';
  48. exit;
  49. }
  50. } else {
  51. $error='';
  52. require_once 'password.php';
  53. exit;
  54. }
  55. }
  56. $version = $row['Version'];
  57. $title = $row['Title'];
  58. $theme = $row['Theme'];
  59. $options = unserialize($row['Options']);
  60. $html = $row['Html'];
  61. require_once 'template.php';