aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/md/Datastore-hacks.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/md/Datastore-hacks.md')
-rw-r--r--doc/md/Datastore-hacks.md25
1 files changed, 25 insertions, 0 deletions
diff --git a/doc/md/Datastore-hacks.md b/doc/md/Datastore-hacks.md
new file mode 100644
index 00000000..78baa005
--- /dev/null
+++ b/doc/md/Datastore-hacks.md
@@ -0,0 +1,25 @@
1### Decode datastore content
2
3To display the array representing the data saved in `data/datastore.php`, use the following snippet:
4
5```php
6$data = "tZNdb9MwFIb... <Commented content inside datastore.php>";
7$out = unserialize(gzinflate(base64_decode($data)));
8echo "<pre>"; // Pretty printing is love, pretty printing is life
9print_r($out);
10echo "</pre>";
11exit;
12```
13This will output the internal representation of the datastore, "unobfuscated" (if this can really be considered obfuscation).
14
15Alternatively, you can transform to JSON format (and pretty-print if you have `jq` installed):
16```
17php -r 'print(json_encode(unserialize(gzinflate(base64_decode(preg_replace("!.*/\* (.+) \*/.*!", "$1", file_get_contents("data/datastore.php")))))));' | jq .
18```
19
20### Changing the timestamp for a link
21
22* Look for `<input type="hidden" name="lf_linkdate" value="{$link.linkdate}">` in `tpl/editlink.tpl` (line 14)
23* Replace `type="hidden"` with `type="text"` from this line
24* A new date/time field becomes available in the edit/new link dialog.
25* You can set the timestamp manually by entering it in the format `YYYMMDD_HHMMS`.