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 {