From 406c5d9e0ad6bee23ee492a22871b33a0af33579 Mon Sep 17 00:00:00 2001 From: Tim Krehan Date: Mon, 29 Oct 2018 22:14:56 +0100 Subject: [PATCH] implemented export function --- bin/settings.js | 15 +++++++++++++-- cont/settings.php | 5 +++-- php/edit-recipes.php | 6 ++++++ style/master.css | 1 + 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/bin/settings.js b/bin/settings.js index b246730..4dbf2bc 100644 --- a/bin/settings.js +++ b/bin/settings.js @@ -1,7 +1,18 @@ +function downloadObjectAsJson(exportObj, exportName){ + var dataStr = "data:text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(exportObj)); + var downloadAnchorNode = document.createElement('a'); + downloadAnchorNode.setAttribute("href", dataStr); + downloadAnchorNode.setAttribute("download", exportName + ".json"); + document.body.appendChild(downloadAnchorNode); // required for firefox + downloadAnchorNode.click(); + downloadAnchorNode.remove(); +} $(document).ready(function(){ $("#username-input").focus(function(){$(this).css("color", "black");}); $("#mail-input").focus(function(){$(this).css("color", "black");}); - $("#userSaveButton").click(function(){ - + $("#export-recipe-button").click(function(){ + $.post("/php/edit-recipes.php", {function:"export"}, function(data){ + downloadObjectAsJson(data, "recipes"); + }); }); }); diff --git a/cont/settings.php b/cont/settings.php index a1a5cc3..07f0079 100644 --- a/cont/settings.php +++ b/cont/settings.php @@ -29,8 +29,9 @@

Import / Export

Hiermit werden alle Rezepte und sich zurzeit auf der Shoppingliste befindlichen Einträge als Download zur Verfügung gestellt. Diese Datei kann dann an anderer Stelle wieder Importiert werden, oder als Backup abgespeichert werden.

- + +

Der Import kann benutzt werden, um alle Daten von einer exportierten Datei in diese Datenbank einzupflegen. Hierbei werden nur die Einträge in der Shoppingliste, sowie die Rezepte beachtet. Die Benutzer bleiben unberührt!

- +
diff --git a/php/edit-recipes.php b/php/edit-recipes.php index fcf86e0..5d7040e 100644 --- a/php/edit-recipes.php +++ b/php/edit-recipes.php @@ -27,6 +27,12 @@ header(("Location: /recipe/".$_POST["id"])); break; + case 'export': + $book->fillCookbook(); + header("Content-type: text/json"); + echo json_encode($book); + break; + default: // code... break; diff --git a/style/master.css b/style/master.css index bb4d180..2bce375 100644 --- a/style/master.css +++ b/style/master.css @@ -62,6 +62,7 @@ h3 { font-weight: 800; background-color: #4CAF50; color: white; + cursor: pointer; } .hover:hover {