{"action":"created","issue":{"url":"https://api.github.com/repos/shaarli/Shaarli/issues/516","repository_url":"https://api.github.com/repos/shaarli/Shaarli","labels_url":"https://api.github.com/repos/shaarli/Shaarli/issues/516/labels{/name}","comments_url":"https://api.github.com/repos/shaarli/Shaarli/issues/516/comments","events_url":"https://api.github.com/repos/shaarli/Shaarli/issues/516/events","html_url":"https://github.com/shaarli/Shaarli/issues/516","id":141062966,"number":516,"title":"writing to the datastore from console","user":{"login":"andrunie","id":7387293,"avatar_url":"https://avatars.githubusercontent.com/u/7387293?v=3","gravatar_id":"","url":"https://api.github.com/users/andrunie","html_url":"https://github.com/andrunie","followers_url":"https://api.github.com/users/andrunie/followers","following_url":"https://api.github.com/users/andrunie/following{/other_user}","gists_url":"https://api.github.com/users/andrunie/gists{/gist_id}","starred_url":"https://api.github.com/users/andrunie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andrunie/subscriptions","organizations_url":"https://api.github.com/users/andrunie/orgs","repos_url":"https://api.github.com/users/andrunie/repos","events_url":"https://api.github.com/users/andrunie/events{/privacy}","received_events_url":"https://api.github.com/users/andrunie/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/shaarli/Shaarli/labels/documentation","name":"documentation","color":"5319e7"},{"url":"https://api.github.com/repos/shaarli/Shaarli/labels/question","name":"question","color":"fbea44"},{"url":"https://api.github.com/repos/shaarli/Shaarli/labels/tools","name":"tools","color":"eb6420"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2016-03-15T18:36:50Z","updated_at":"2016-03-21T19:21:45Z","closed_at":"2016-03-21T17:55:54Z","body":"hello all!\r\n\r\nI have just started using Shaarli today on my self-hosted box and I am loving it! Everything I've been looking for, except one thing, which I believe I just need a point in the right direction.\r\n\r\nI found the documentation for reading from the datastore, and I have come across this bit of code:\r\n`php -r 'print(json_encode(unserialize(gzinflate(base64_decode(preg_replace(\"!.*/\\* (.+) \\*/.*!\", \"$1\", file_get_contents(\"/opt/www/links/data/datastore.p hp\")))))));' | jq .`\r\n\r\nThis works great! However, I will be setting up my server to parse the links and take action on select links.\r\n\r\n**I was wondering if it is possible to \"reserialize/gzdeflate/base64_recode\" the data after a parse, effectively I want to delete select notes after my machine has dealt with them**\r\n\r\nI am by no means an advanced web/php dev, so if anyone has any suggestions or help it would be greatly appreciated!\r\n"},"comment":{"url":"https://api.github.com/repos/shaarli/Shaarli/issues/comments/199437820","html_url":"https://github.com/shaarli/Shaarli/issues/516#issuecomment-199437820","issue_url":"https://api.github.com/repos/shaarli/Shaarli/issues/516","id":199437820,"user":{"login":"mro","id":61800,"avatar_url":"https://avatars.githubusercontent.com/u/61800?v=3","gravatar_id":"","url":"https://api.github.com/users/mro","html_url":"https://github.com/mro","followers_url":"https://api.github.com/users/mro/followers","following_url":"https://api.github.com/users/mro/following{/other_user}","gists_url":"https://api.github.com/users/mro/gists{/gist_id}","starred_url":"https://api.github.com/users/mro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mro/subscriptions","organizations_url":"https://api.github.com/users/mro/orgs","repos_url":"https://api.github.com/users/mro/repos","events_url":"https://api.github.com/users/mro/events{/privacy}","received_events_url":"https://api.github.com/users/mro/received_events","type":"User","site_admin":false},"created_at":"2016-03-21T19:21:45Z","updated_at":"2016-03-21T19:21:45Z","body":"@ArthurHoaro I'm fine with the existing HTTP request/response behavior as an implicit, de-facto API. While a rest-ish `HTTP DELETE` might be nice, the current design makes perfect sense. And where it's cumbersome, it mostly is such with a purpose (token as brute-force blocker).\r\n\r\nBulk deletion may not be a relevant use-case (isn't for me currently), but a comma-separated list may be an appealing extension.\r\n\r\nI'd rather keep things as they are and stable, they do a perfect job now. And we have a interface that's downwards compatible quite long."}}