settings.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <?php
  2. require "misc/header.php";
  3. $config = require "config.php";
  4. function better_setcookie($name)
  5. {
  6. if (!empty($_REQUEST[$name]))
  7. setcookie($name, $_REQUEST[$name], time() + (86400 * 90));
  8. else if (isset($_COOKIE[$name]))
  9. setcookie($name, "", time() - 1000);
  10. }
  11. if (isset($_REQUEST["save"]))
  12. {
  13. better_setcookie("theme");
  14. better_setcookie("disable_special");
  15. better_setcookie("invidious");
  16. better_setcookie("bibliogram");
  17. better_setcookie("nitter");
  18. better_setcookie("libreddit");
  19. better_setcookie("wikiless");
  20. header("Location: ./settings.php");
  21. die();
  22. }
  23. else if (isset($_REQUEST["reset"]))
  24. {
  25. if (isset($_SERVER["HTTP_COOKIE"])) {
  26. $cookies = explode(";", $_SERVER["HTTP_COOKIE"]);
  27. foreach($cookies as $cookie) {
  28. $parts = explode("=", $cookie);
  29. $name = trim($parts[0]);
  30. setcookie($name, "", time() - 1000);
  31. }
  32. header("Location: ./settings.php");
  33. die();
  34. }
  35. }
  36. ?>
  37. <title>LibreX - Settings</title>
  38. </head>
  39. <body>
  40. <div class="misc-container">
  41. <h1>Settings</h1>
  42. <form method="post" enctype="multipart/form-data" autocomplete="off">
  43. <div>
  44. <label for="theme">Theme:</label>
  45. <select name="theme">
  46. <?php
  47. $themes = "<option value=\"dark\">Dark</option>
  48. <option value=\"light\">Light</option>
  49. <option value=\"auto\">Auto</option>
  50. <option value=\"nord\">Nord</option>
  51. <option value=\"night_owl\">Night Owl</option>
  52. <option value=\"discord\">Discord</option>";
  53. if (isset($_COOKIE["theme"]))
  54. {
  55. $cookie_theme = $_COOKIE["theme"];
  56. $themes = str_replace($cookie_theme . "\"", $cookie_theme . "\" selected", $themes);
  57. }
  58. echo $themes;
  59. ?>
  60. </select>
  61. </div>
  62. <div>
  63. <label for="special">Disable special queries (e.g.: currency conversion)</label>
  64. <input type="checkbox" name="disable_special"
  65. <?php echo isset($_COOKIE["disable_special"]) ? "checked" : "\"\""; ?>
  66. >
  67. </div>
  68. <h2>Privacy friendly frontends</h2>
  69. <p>For an example if you want to view YouTube without getting spied on, click on "Invidious", find the instance that is most suitable for you then paste it in (correct format: https://example.com)</p>
  70. <div class="instances-container">
  71. <div>
  72. <a for="invidious" href="https://docs.invidious.io/instances/" target="_blank">Invidious</a>
  73. <input type="text" name="invidious" placeholder="Replace YouTube" value=
  74. <?php echo isset($_COOKIE["invidious"]) ? $_COOKIE["invidious"] : "\"$config->invidious\""; ?>
  75. >
  76. </div>
  77. <div>
  78. <a for="bibliogram" href="https://git.sr.ht/~cadence/bibliogram-docs/tree/master/docs/Instances.md" target="_blank">Bibliogram</a>
  79. <input type="text" name="bibliogram" placeholder="Replace Instagram" value=
  80. <?php echo isset($_COOKIE["bibliogram"]) ? $_COOKIE["bibliogram"] : "\"$config->bibliogram\""; ?>
  81. >
  82. </div>
  83. <div>
  84. <a for="nitter" href="https://github.com/zedeus/nitter/wiki/Instances" target="_blank">Nitter</a>
  85. <input type="text" name="nitter" placeholder="Replace Twitter" value=
  86. <?php echo isset($_COOKIE["nitter"]) ? $_COOKIE["nitter"] : "\"$config->nitter\""; ?>
  87. >
  88. </div>
  89. <div>
  90. <a for="libreddit" href="https://github.com/spikecodes/libreddit" target="_blank">Libreddit</a>
  91. <input type="text" name="libreddit" placeholder="Replace Reddit" value=
  92. <?php echo isset($_COOKIE["libreddit"]) ? $_COOKIE["libreddit"] : "\"$config->libreddit\""; ?>
  93. >
  94. </div>
  95. <div>
  96. <a for="wikiless" href="https://codeberg.org/orenom/wikiless" target="_blank">Wikiless</a>
  97. <input type="text" name="wikiless" placeholder="Replace Wikipedia" value=
  98. <?php echo isset($_COOKIE["wikiless"]) ? $_COOKIE["wikiless"] : "\"$config->wikiless\""; ?>
  99. >
  100. </div>
  101. </div>
  102. <div>
  103. <button type="submit" name="save" value="1">Save</button>
  104. <button type="submit" name="reset" value="1">Reset</button>
  105. </div>
  106. <div>
  107. <?php
  108. if (!empty($_COOKIE))
  109. {
  110. echo "<p>If you use the Tor browser or just regularly delete cookies you can also set the settings as a query param:</p>";
  111. $url = "?";
  112. foreach ($_COOKIE as $key => $value)
  113. $url .= "&$key=$value";
  114. $url = substr_replace($url, "", 1, 1);
  115. echo $url;
  116. }
  117. ?>
  118. </div>
  119. </form>
  120. </div>
  121. <?php require "misc/footer.php"; ?>