{"action":"created","comment":{"url":"https://api.github.com/repos/owncloud/core/pulls/comments/27421003","id":27421003,"diff_hunk":"@@ -0,0 +1,224 @@\n+<?php\n+/**\n+ * @author Clark Tomlinson  <clark@owncloud.com>\n+ * @since 3/17/15, 10:31 AM\n+ * @copyright Copyright (c) 2015, ownCloud, Inc.\n+ * @license AGPL-3.0\n+ *\n+ * This code is free software: you can redistribute it and/or modify\n+ * it under the terms of the GNU Affero General Public License, version 3,\n+ * as published by the Free Software Foundation.\n+ *\n+ * This program is distributed in the hope that it will be useful,\n+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\n+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n+ * GNU Affero General Public License for more details.\n+ *\n+ * You should have received a copy of the GNU Affero General Public License, version 3,\n+ * along with this program.  If not, see <http://www.gnu.org/licenses/>\n+ *\n+ */\n+\n+\n+namespace OCA\\Encryption;\n+\n+\n+use OC\\Files\\Filesystem;\n+use OC\\Files\\View;\n+use OCA\\Encryption\\Crypto\\Crypt;\n+use OCA\\Files_Versions\\Storage;\n+use OCP\\App;\n+use OCP\\IConfig;\n+use OCP\\ILogger;\n+use OCP\\IUser;\n+use OCP\\IUserSession;\n+use OCP\\PreConditionNotMetException;\n+use OCP\\Share;\n+\n+class Util {\n+\t/**\n+\t * @var View\n+\t */\n+\tprivate $files;\n+\t/**\n+\t * @var Filesystem\n+\t */\n+\tprivate $filesystem;\n+\t/**\n+\t * @var Crypt\n+\t */\n+\tprivate $crypt;\n+\t/**\n+\t * @var KeyManager\n+\t */\n+\tprivate $keyManager;\n+\t/**\n+\t * @var ILogger\n+\t */\n+\tprivate $logger;\n+\t/**\n+\t * @var bool|IUser\n+\t */\n+\tprivate $user;\n+\t/**\n+\t * @var IConfig\n+\t */\n+\tprivate $config;\n+\n+\t/**\n+\t * Util constructor.\n+\t *\n+\t * @param View $files\n+\t * @param Filesystem $filesystem","path":"apps/encryption/lib/util.php","position":72,"original_position":72,"commit_id":"ffef029209989ea84338dd9e4e00a8951138e2a0","original_commit_id":"ffef029209989ea84338dd9e4e00a8951138e2a0","user":{"login":"DeepDiver1975","id":1005065,"avatar_url":"https://avatars.githubusercontent.com/u/1005065?v=3","gravatar_id":"","url":"https://api.github.com/users/DeepDiver1975","html_url":"https://github.com/DeepDiver1975","followers_url":"https://api.github.com/users/DeepDiver1975/followers","following_url":"https://api.github.com/users/DeepDiver1975/following{/other_user}","gists_url":"https://api.github.com/users/DeepDiver1975/gists{/gist_id}","starred_url":"https://api.github.com/users/DeepDiver1975/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DeepDiver1975/subscriptions","organizations_url":"https://api.github.com/users/DeepDiver1975/orgs","repos_url":"https://api.github.com/users/DeepDiver1975/repos","events_url":"https://api.github.com/users/DeepDiver1975/events{/privacy}","received_events_url":"https://api.github.com/users/DeepDiver1975/received_events","type":"User","site_admin":false},"body":"Anyway - can be killed because unused .. @th3fallen your IDE should be crying as well","created_at":"2015-03-30T18:59:01Z","updated_at":"2015-03-30T18:59:01Z","html_url":"https://github.com/owncloud/core/pull/14472#discussion_r27421003","pull_request_url":"https://api.github.com/repos/owncloud/core/pulls/14472","_links":{"self":{"href":"https://api.github.com/repos/owncloud/core/pulls/comments/27421003"},"html":{"href":"https://github.com/owncloud/core/pull/14472#discussion_r27421003"},"pull_request":{"href":"https://api.github.com/repos/owncloud/core/pulls/14472"}}},"pull_request":{"url":"https://api.github.com/repos/owncloud/core/pulls/14472","id":29920996,"html_url":"https://github.com/owncloud/core/pull/14472","diff_url":"https://github.com/owncloud/core/pull/14472.diff","patch_url":"https://github.com/owncloud/core/pull/14472.patch","issue_url":"https://api.github.com/repos/owncloud/core/issues/14472","number":14472,"state":"open","locked":false,"title":"[WIP] encryption 2.0 app","user":{"login":"th3fallen","id":291859,"avatar_url":"https://avatars.githubusercontent.com/u/291859?v=3","gravatar_id":"","url":"https://api.github.com/users/th3fallen","html_url":"https://github.com/th3fallen","followers_url":"https://api.github.com/users/th3fallen/followers","following_url":"https://api.github.com/users/th3fallen/following{/other_user}","gists_url":"https://api.github.com/users/th3fallen/gists{/gist_id}","starred_url":"https://api.github.com/users/th3fallen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/th3fallen/subscriptions","organizations_url":"https://api.github.com/users/th3fallen/orgs","repos_url":"https://api.github.com/users/th3fallen/repos","events_url":"https://api.github.com/users/th3fallen/events{/privacy}","received_events_url":"https://api.github.com/users/th3fallen/received_events","type":"User","site_admin":false},"body":"Depends on https://github.com/owncloud/core/pull/14376\r\n\r\nVery much in development. Please point out any missed opportunities to use new methods/interfaces @schiesbn \r\n\r\n- [ ] The encryption module needs a upgrade script to migrate the keys from the old encryption app to the new one, unfortunately we had to make some small changes to the folder structure (added by @schiesbn)","created_at":"2015-02-24T18:06:34Z","updated_at":"2015-03-30T18:59:01Z","closed_at":null,"merged_at":null,"merge_commit_sha":"049fd14ccc936a938691996da50610fcfb4547c7","assignee":null,"milestone":{"url":"https://api.github.com/repos/owncloud/core/milestones/31","html_url":"https://github.com/owncloud/core/milestones/8.1-current","labels_url":"https://api.github.com/repos/owncloud/core/milestones/31/labels","id":912160,"number":31,"title":"8.1-current","description":"","creator":{"login":"MorrisJobke","id":245432,"avatar_url":"https://avatars.githubusercontent.com/u/245432?v=3","gravatar_id":"","url":"https://api.github.com/users/MorrisJobke","html_url":"https://github.com/MorrisJobke","followers_url":"https://api.github.com/users/MorrisJobke/followers","following_url":"https://api.github.com/users/MorrisJobke/following{/other_user}","gists_url":"https://api.github.com/users/MorrisJobke/gists{/gist_id}","starred_url":"https://api.github.com/users/MorrisJobke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MorrisJobke/subscriptions","organizations_url":"https://api.github.com/users/MorrisJobke/orgs","repos_url":"https://api.github.com/users/MorrisJobke/repos","events_url":"https://api.github.com/users/MorrisJobke/events{/privacy}","received_events_url":"https://api.github.com/users/MorrisJobke/received_events","type":"User","site_admin":false},"open_issues":243,"closed_issues":614,"state":"open","created_at":"2014-12-22T12:04:01Z","updated_at":"2015-03-30T17:19:44Z","due_on":"2015-04-02T22:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/owncloud/core/pulls/14472/commits","review_comments_url":"https://api.github.com/repos/owncloud/core/pulls/14472/comments","review_comment_url":"https://api.github.com/repos/owncloud/core/pulls/comments{/number}","comments_url":"https://api.github.com/repos/owncloud/core/issues/14472/comments","statuses_url":"https://api.github.com/repos/owncloud/core/statuses/ffef029209989ea84338dd9e4e00a8951138e2a0","head":{"label":"owncloud:feature/wipencryptionapp","ref":"feature/wipencryptionapp","sha":"ffef029209989ea84338dd9e4e00a8951138e2a0","user":{"login":"owncloud","id":1645051,"avatar_url":"https://avatars.githubusercontent.com/u/1645051?v=3","gravatar_id":"","url":"https://api.github.com/users/owncloud","html_url":"https://github.com/owncloud","followers_url":"https://api.github.com/users/owncloud/followers","following_url":"https://api.github.com/users/owncloud/following{/other_user}","gists_url":"https://api.github.com/users/owncloud/gists{/gist_id}","starred_url":"https://api.github.com/users/owncloud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/owncloud/subscriptions","organizations_url":"https://api.github.com/users/owncloud/orgs","repos_url":"https://api.github.com/users/owncloud/repos","events_url":"https://api.github.com/users/owncloud/events{/privacy}","received_events_url":"https://api.github.com/users/owncloud/received_events","type":"Organization","site_admin":false},"repo":{"id":5550552,"name":"core","full_name":"owncloud/core","owner":{"login":"owncloud","id":1645051,"avatar_url":"https://avatars.githubusercontent.com/u/1645051?v=3","gravatar_id":"","url":"https://api.github.com/users/owncloud","html_url":"https://github.com/owncloud","followers_url":"https://api.github.com/users/owncloud/followers","following_url":"https://api.github.com/users/owncloud/following{/other_user}","gists_url":"https://api.github.com/users/owncloud/gists{/gist_id}","starred_url":"https://api.github.com/users/owncloud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/owncloud/subscriptions","organizations_url":"https://api.github.com/users/owncloud/orgs","repos_url":"https://api.github.com/users/owncloud/repos","events_url":"https://api.github.com/users/owncloud/events{/privacy}","received_events_url":"https://api.github.com/users/owncloud/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/owncloud/core","description":"The ownCloud core","fork":false,"url":"https://api.github.com/repos/owncloud/core","forks_url":"https://api.github.com/repos/owncloud/core/forks","keys_url":"https://api.github.com/repos/owncloud/core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/owncloud/core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/owncloud/core/teams","hooks_url":"https://api.github.com/repos/owncloud/core/hooks","issue_events_url":"https://api.github.com/repos/owncloud/core/issues/events{/number}","events_url":"https://api.github.com/repos/owncloud/core/events","assignees_url":"https://api.github.com/repos/owncloud/core/assignees{/user}","branches_url":"https://api.github.com/repos/owncloud/core/branches{/branch}","tags_url":"https://api.github.com/repos/owncloud/core/tags","blobs_url":"https://api.github.com/repos/owncloud/core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/owncloud/core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/owncloud/core/git/refs{/sha}","trees_url":"https://api.github.com/repos/owncloud/core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/owncloud/core/statuses/{sha}","languages_url":"https://api.github.com/repos/owncloud/core/languages","stargazers_url":"https://api.github.com/repos/owncloud/core/stargazers","contributors_url":"https://api.github.com/repos/owncloud/core/contributors","subscribers_url":"https://api.github.com/repos/owncloud/core/subscribers","subscription_url":"https://api.github.com/repos/owncloud/core/subscription","commits_url":"https://api.github.com/repos/owncloud/core/commits{/sha}","git_commits_url":"https://api.github.com/repos/owncloud/core/git/commits{/sha}","comments_url":"https://api.github.com/repos/owncloud/core/comments{/number}","issue_comment_url":"https://api.github.com/repos/owncloud/core/issues/comments{/number}","contents_url":"https://api.github.com/repos/owncloud/core/contents/{+path}","compare_url":"https://api.github.com/repos/owncloud/core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/owncloud/core/merges","archive_url":"https://api.github.com/repos/owncloud/core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/owncloud/core/downloads","issues_url":"https://api.github.com/repos/owncloud/core/issues{/number}","pulls_url":"https://api.github.com/repos/owncloud/core/pulls{/number}","milestones_url":"https://api.github.com/repos/owncloud/core/milestones{/number}","notifications_url":"https://api.github.com/repos/owncloud/core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/owncloud/core/labels{/name}","releases_url":"https://api.github.com/repos/owncloud/core/releases{/id}","created_at":"2012-08-25T10:32:48Z","updated_at":"2015-03-30T17:52:03Z","pushed_at":"2015-03-30T18:38:41Z","git_url":"git://github.com/owncloud/core.git","ssh_url":"git@github.com:owncloud/core.git","clone_url":"https://github.com/owncloud/core.git","svn_url":"https://github.com/owncloud/core","homepage":null,"size":964349,"stargazers_count":3175,"watchers_count":3175,"language":"PHP","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1019,"mirror_url":null,"open_issues_count":1618,"forks":1019,"open_issues":1618,"watchers":3175,"default_branch":"master"}},"base":{"label":"owncloud:master","ref":"master","sha":"8e0fef74ffe570b9c159b91a9d8fb1ef7b526aef","user":{"login":"owncloud","id":1645051,"avatar_url":"https://avatars.githubusercontent.com/u/1645051?v=3","gravatar_id":"","url":"https://api.github.com/users/owncloud","html_url":"https://github.com/owncloud","followers_url":"https://api.github.com/users/owncloud/followers","following_url":"https://api.github.com/users/owncloud/following{/other_user}","gists_url":"https://api.github.com/users/owncloud/gists{/gist_id}","starred_url":"https://api.github.com/users/owncloud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/owncloud/subscriptions","organizations_url":"https://api.github.com/users/owncloud/orgs","repos_url":"https://api.github.com/users/owncloud/repos","events_url":"https://api.github.com/users/owncloud/events{/privacy}","received_events_url":"https://api.github.com/users/owncloud/received_events","type":"Organization","site_admin":false},"repo":{"id":5550552,"name":"core","full_name":"owncloud/core","owner":{"login":"owncloud","id":1645051,"avatar_url":"https://avatars.githubusercontent.com/u/1645051?v=3","gravatar_id":"","url":"https://api.github.com/users/owncloud","html_url":"https://github.com/owncloud","followers_url":"https://api.github.com/users/owncloud/followers","following_url":"https://api.github.com/users/owncloud/following{/other_user}","gists_url":"https://api.github.com/users/owncloud/gists{/gist_id}","starred_url":"https://api.github.com/users/owncloud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/owncloud/subscriptions","organizations_url":"https://api.github.com/users/owncloud/orgs","repos_url":"https://api.github.com/users/owncloud/repos","events_url":"https://api.github.com/users/owncloud/events{/privacy}","received_events_url":"https://api.github.com/users/owncloud/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/owncloud/core","description":"The ownCloud core","fork":false,"url":"https://api.github.com/repos/owncloud/core","forks_url":"https://api.github.com/repos/owncloud/core/forks","keys_url":"https://api.github.com/repos/owncloud/core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/owncloud/core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/owncloud/core/teams","hooks_url":"https://api.github.com/repos/owncloud/core/hooks","issue_events_url":"https://api.github.com/repos/owncloud/core/issues/events{/number}","events_url":"https://api.github.com/repos/owncloud/core/events","assignees_url":"https://api.github.com/repos/owncloud/core/assignees{/user}","branches_url":"https://api.github.com/repos/owncloud/core/branches{/branch}","tags_url":"https://api.github.com/repos/owncloud/core/tags","blobs_url":"https://api.github.com/repos/owncloud/core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/owncloud/core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/owncloud/core/git/refs{/sha}","trees_url":"https://api.github.com/repos/owncloud/core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/owncloud/core/statuses/{sha}","languages_url":"https://api.github.com/repos/owncloud/core/languages","stargazers_url":"https://api.github.com/repos/owncloud/core/stargazers","contributors_url":"https://api.github.com/repos/owncloud/core/contributors","subscribers_url":"https://api.github.com/repos/owncloud/core/subscribers","subscription_url":"https://api.github.com/repos/owncloud/core/subscription","commits_url":"https://api.github.com/repos/owncloud/core/commits{/sha}","git_commits_url":"https://api.github.com/repos/owncloud/core/git/commits{/sha}","comments_url":"https://api.github.com/repos/owncloud/core/comments{/number}","issue_comment_url":"https://api.github.com/repos/owncloud/core/issues/comments{/number}","contents_url":"https://api.github.com/repos/owncloud/core/contents/{+path}","compare_url":"https://api.github.com/repos/owncloud/core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/owncloud/core/merges","archive_url":"https://api.github.com/repos/owncloud/core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/owncloud/core/downloads","issues_url":"https://api.github.com/repos/owncloud/core/issues{/number}","pulls_url":"https://api.github.com/repos/owncloud/core/pulls{/number}","milestones_url":"https://api.github.com/repos/owncloud/core/milestones{/number}","notifications_url":"https://api.github.com/repos/owncloud/core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/owncloud/core/labels{/name}","releases_url":"https://api.github.com/repos/owncloud/core/releases{/id}","created_at":"2012-08-25T10:32:48Z","updated_at":"2015-03-30T17:52:03Z","pushed_at":"2015-03-30T18:38:41Z","git_url":"git://github.com/owncloud/core.git","ssh_url":"git@github.com:owncloud/core.git","clone_url":"https://github.com/owncloud/core.git","svn_url":"https://github.com/owncloud/core","homepage":null,"size":964349,"stargazers_count":3175,"watchers_count":3175,"language":"PHP","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1019,"mirror_url":null,"open_issues_count":1618,"forks":1019,"open_issues":1618,"watchers":3175,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/owncloud/core/pulls/14472"},"html":{"href":"https://github.com/owncloud/core/pull/14472"},"issue":{"href":"https://api.github.com/repos/owncloud/core/issues/14472"},"comments":{"href":"https://api.github.com/repos/owncloud/core/issues/14472/comments"},"review_comments":{"href":"https://api.github.com/repos/owncloud/core/pulls/14472/comments"},"review_comment":{"href":"https://api.github.com/repos/owncloud/core/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/owncloud/core/pulls/14472/commits"},"statuses":{"href":"https://api.github.com/repos/owncloud/core/statuses/ffef029209989ea84338dd9e4e00a8951138e2a0"}}}}