diff options
Diffstat (limited to 'doc/md/Datastore-hacks.md')
-rw-r--r-- | doc/md/Datastore-hacks.md | 25 |
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 | |||
3 | To 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))); | ||
8 | echo "<pre>"; // Pretty printing is love, pretty printing is life | ||
9 | print_r($out); | ||
10 | echo "</pre>"; | ||
11 | exit; | ||
12 | ``` | ||
13 | This will output the internal representation of the datastore, "unobfuscated" (if this can really be considered obfuscation). | ||
14 | |||
15 | Alternatively, you can transform to JSON format (and pretty-print if you have `jq` installed): | ||
16 | ``` | ||
17 | php -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`. | ||