pub / rememori

Simple file-based bookmarking and notes application
git clone https://src.jayvii.de/pub/rememori.git
Home | Log | Files | Exports | Refs | README | RSS

commit 4e8b19c1e73fcb0abd4a8d3c9ef7a9268b4b0f9a
parent b34c77b0ff4f84f66711b4c7e513d1aa8614c119
Author: JayVii <jayvii[AT]posteo[DOT]de>
Date:   Sat, 26 Oct 2024 13:35:50 +0200

feat: make data dir adjustable

Diffstat:
Mconfig/config.php | 1+
Mlib/delete.php | 2+-
Mlib/helpers.php | 11++++++++++-
Mlib/menus.php | 2+-
Mlib/read.php | 2+-
Mlib/show.php | 4++--
Mlib/users.php | 6+++---
Mlib/write.php | 2+-
8 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/config/config.php b/config/config.php @@ -1,3 +1,4 @@ <?php $GLOBALS["pw_salt"] = "set_a_proper_salt"; +$GLOBALS["data_dir"] = $_SERVER["DOCUMENT_ROOT"] . "/data"; diff --git a/lib/delete.php b/lib/delete.php @@ -7,7 +7,7 @@ function delete_note( ) { /* Create full file path name */ - $dirpath = "./data/" . $user . "/" . $category; + $dirpath = $GLOBALS["data_dir"] . "/" . $user . "/" . $category; $filepath = $dirpath . "/" . $filename; /* delete note */ diff --git a/lib/helpers.php b/lib/helpers.php @@ -9,6 +9,15 @@ function gather_post(string $key) { } } +function gather_get(string $key) { + /* if key exists, return its value, otherwise return null */ + if (array_key_exists($key, $_GET)) { + return $_GET[$key]; + } else { + return ""; + } +} + function validate_input_string(string $in) { /* Only allows alphanumeric characters and any of "-_. " */ $out = preg_replace( @@ -59,7 +68,7 @@ function gather_notes( $filenames = array(); /* Create full path name */ - $dirpath = "./data/" . $user; + $dirpath = $GLOBALS["data_dir"] . "/" . $user; /* if no category is given, search in all categories * if a category is given, only search in this one */ diff --git a/lib/menus.php b/lib/menus.php @@ -103,7 +103,7 @@ function category_menu(string $user) { <?php /* Fetch all categories of the user */ - $categories_path = glob("./data/" . $user . "/*"); + $categories_path = glob($GLOBALS["data_dir"] . "/" . $user . "/*"); foreach ($categories_path as $category_path) { if (count(glob($category_path . "/" . "*.txt")) > 0) { diff --git a/lib/read.php b/lib/read.php @@ -7,7 +7,7 @@ function read_note( ) { /* Create full file path name */ - $dirpath = "./data/" . $user . "/" . $category; + $dirpath = $GLOBALS["data_dir"] . "/" . $user . "/" . $category; $filepath = $dirpath . "/" . $filename; /* get filesize */ diff --git a/lib/show.php b/lib/show.php @@ -12,7 +12,7 @@ function show_note( ?> <!-- Show Text Note Form --> -<form action="/" target="_self" method="post" enctype="multipart/form-data"> +<form action="/" target="_self" method="post"> <label for="content"><?php echo $GLOBALS["i18n_note"]; ?></label> <textarea id="content" name="content"><?php echo $content; ?></textarea> <label for="category"><?php echo $GLOBALS["i18n_category"]; ?></label> @@ -44,7 +44,7 @@ function show_note( <input type="submit" value="<?php echo $GLOBALS["i18n_save"]; ?>"> </form> -<form action="/" method="post" enctype="multipart/form-data" id="delete"> +<form action="/" method="post" id="delete"> <input id="category" name="category" diff --git a/lib/users.php b/lib/users.php @@ -41,7 +41,7 @@ function auth_user( /* read token file of user */ $tokens_storage = file( - "./data/" . $user . "/.tokens", + $GLOBALS["data_dir"] . "/" . $user . "/.tokens", FILE_IGNORE_NEW_LINES ); if ($tokens_storage === false) { @@ -50,7 +50,7 @@ function auth_user( /* find any matches between given hash and tokens */ $matches = preg_grep( - "/" . $token . "/", + "/^" . $token . "$/", $tokens_storage ); @@ -83,7 +83,7 @@ function create_auth( $token = create_password_hash($pass); /* generate token path */ - $user_path = "./data/" . $user; + $user_path = $GLOBALS["data_dir"] . "/" . $user; $token_path = $user_path . "/.tokens"; /* Only create new auth, if no previous token file exists already */ diff --git a/lib/write.php b/lib/write.php @@ -8,7 +8,7 @@ function write_note( ) { /* Create full file path name */ - $dirpath = "./data/" . $user . "/" . $category; + $dirpath = $GLOBALS["data_dir"] . "/" . $user . "/" . $category; $filepath = $dirpath . "/" . $filename; /* create user directory if it does not exist */