From f10a55259c4eda39e909bc54ac97744a4d053b8a Mon Sep 17 00:00:00 2001 From: Alex Vitkov Date: Sat, 13 Feb 2021 12:42:56 +0200 Subject: path --- loggedin.js | 23 ++++++++++++++++++++--- php/readfile.php | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 php/readfile.php diff --git a/loggedin.js b/loggedin.js index 8681dba..c2d407f 100644 --- a/loggedin.js +++ b/loggedin.js @@ -247,6 +247,19 @@ function add_link_functionality(link, length) { add_link_functionality(document.getElementById("home_path_entry"), 0); +function open_file(fileview) { + var data = new FormData(); + data.append('folder', get_path()); + data.append('path', get_path()); + + var xhr = new XMLHttpRequest(); + xhr.open('POST', '/php/readfile.php', true); + xhr.onload = function () { + + }; + xhr.send(data); +} + function add_file_visuals(fileview) { var visuals = document.createElement('div'); fileview.visuals = visuals; @@ -262,16 +275,20 @@ function add_file_visuals(fileview) { } } else { img.src=`/mimeicons/${fileview.mimetype.replace("/", "-")}.png`; + visuals.onclick = () => { + open_file(fileview); + } } visuals.oncontextmenu = (e) => { if (!dragging) { context(e, [ ['Open', () => { - if (fileview.is_directory) { pwd.push(fileview.filename); + if (fileview.is_directory) { + pwd.push(fileview.filename); load_dir(); } else { - alert('not implemented'); + open_file(fileview); } }], ['Rename', () => { rename_file(fileview.filename); }], @@ -342,7 +359,7 @@ function get_path(max_length) { for (let i = 0; i < max_length; i++) { path += pwd[i]; if (i != max_length - 1) - path + "/"; + path += "/"; } return path; } diff --git a/php/readfile.php b/php/readfile.php new file mode 100644 index 0000000..d978ffc --- /dev/null +++ b/php/readfile.php @@ -0,0 +1,36 @@ +home_directory; +$folder = $_POST["folder"]; +$filename = $_POST["filename"]; + +$dir = get_directory($folder, $user); +if (!$dir) { + error_log("i/php/readfile.php - invalid directory"); + http_response_code(409); + exit(0); +} + +$contents_of_dir = $database->get_links_of($dir); +$file_node = null; + +foreach ($contents_of_dir as $c) { + if ($c['name'] == $filename) { + $file_node = $c; + } +} + +var_error_log($file_node); -- cgit v1.2.3