@@ -38,13 +38,13 @@ |
||
38 | 38 | * @deprecated 8.1.0 |
39 | 39 | */ |
40 | 40 | interface IHelper { |
41 | - /** |
|
42 | - * Gets the content of an URL by using CURL or a fallback if it is not |
|
43 | - * installed |
|
44 | - * @param string $url the url that should be fetched |
|
45 | - * @return string the content of the webpage |
|
46 | - * @since 6.0.0 |
|
47 | - * @deprecated 8.1.0 Use \OCP\IServerContainer::getHTTPClientService |
|
48 | - */ |
|
49 | - public function getUrlContent($url); |
|
41 | + /** |
|
42 | + * Gets the content of an URL by using CURL or a fallback if it is not |
|
43 | + * installed |
|
44 | + * @param string $url the url that should be fetched |
|
45 | + * @return string the content of the webpage |
|
46 | + * @since 6.0.0 |
|
47 | + * @deprecated 8.1.0 Use \OCP\IServerContainer::getHTTPClientService |
|
48 | + */ |
|
49 | + public function getUrlContent($url); |
|
50 | 50 | } |
@@ -43,69 +43,69 @@ |
||
43 | 43 | * @since 6.0.0 |
44 | 44 | */ |
45 | 45 | interface IL10N { |
46 | - /** |
|
47 | - * Translating |
|
48 | - * @param string $text The text we need a translation for |
|
49 | - * @param array $parameters default:array() Parameters for sprintf |
|
50 | - * @return \OC_L10N_String Translation or the same text |
|
51 | - * |
|
52 | - * Returns the translation. If no translation is found, $text will be |
|
53 | - * returned. |
|
54 | - * @since 6.0.0 |
|
55 | - */ |
|
56 | - public function t($text, $parameters = array()); |
|
46 | + /** |
|
47 | + * Translating |
|
48 | + * @param string $text The text we need a translation for |
|
49 | + * @param array $parameters default:array() Parameters for sprintf |
|
50 | + * @return \OC_L10N_String Translation or the same text |
|
51 | + * |
|
52 | + * Returns the translation. If no translation is found, $text will be |
|
53 | + * returned. |
|
54 | + * @since 6.0.0 |
|
55 | + */ |
|
56 | + public function t($text, $parameters = array()); |
|
57 | 57 | |
58 | - /** |
|
59 | - * Translating |
|
60 | - * @param string $text_singular the string to translate for exactly one object |
|
61 | - * @param string $text_plural the string to translate for n objects |
|
62 | - * @param integer $count Number of objects |
|
63 | - * @param array $parameters default:array() Parameters for sprintf |
|
64 | - * @return \OC_L10N_String Translation or the same text |
|
65 | - * |
|
66 | - * Returns the translation. If no translation is found, $text will be |
|
67 | - * returned. %n will be replaced with the number of objects. |
|
68 | - * |
|
69 | - * The correct plural is determined by the plural_forms-function |
|
70 | - * provided by the po file. |
|
71 | - * @since 6.0.0 |
|
72 | - * |
|
73 | - */ |
|
74 | - public function n($text_singular, $text_plural, $count, $parameters = array()); |
|
58 | + /** |
|
59 | + * Translating |
|
60 | + * @param string $text_singular the string to translate for exactly one object |
|
61 | + * @param string $text_plural the string to translate for n objects |
|
62 | + * @param integer $count Number of objects |
|
63 | + * @param array $parameters default:array() Parameters for sprintf |
|
64 | + * @return \OC_L10N_String Translation or the same text |
|
65 | + * |
|
66 | + * Returns the translation. If no translation is found, $text will be |
|
67 | + * returned. %n will be replaced with the number of objects. |
|
68 | + * |
|
69 | + * The correct plural is determined by the plural_forms-function |
|
70 | + * provided by the po file. |
|
71 | + * @since 6.0.0 |
|
72 | + * |
|
73 | + */ |
|
74 | + public function n($text_singular, $text_plural, $count, $parameters = array()); |
|
75 | 75 | |
76 | - /** |
|
77 | - * Localization |
|
78 | - * @param string $type Type of localization |
|
79 | - * @param int|string $data parameters for this localization |
|
80 | - * @param array $options currently supports following options: |
|
81 | - * - 'width': handed into \Punic\Calendar::formatDate as second parameter |
|
82 | - * @return string|false |
|
83 | - * |
|
84 | - * Returns the localized data. |
|
85 | - * |
|
86 | - * Implemented types: |
|
87 | - * - date |
|
88 | - * - Creates a date |
|
89 | - * - l10n-field: date |
|
90 | - * - params: timestamp (int/string) |
|
91 | - * - datetime |
|
92 | - * - Creates date and time |
|
93 | - * - l10n-field: datetime |
|
94 | - * - params: timestamp (int/string) |
|
95 | - * - time |
|
96 | - * - Creates a time |
|
97 | - * - l10n-field: time |
|
98 | - * - params: timestamp (int/string) |
|
99 | - * @since 6.0.0 - parameter $options was added in 8.0.0 |
|
100 | - */ |
|
101 | - public function l($type, $data, $options = array()); |
|
76 | + /** |
|
77 | + * Localization |
|
78 | + * @param string $type Type of localization |
|
79 | + * @param int|string $data parameters for this localization |
|
80 | + * @param array $options currently supports following options: |
|
81 | + * - 'width': handed into \Punic\Calendar::formatDate as second parameter |
|
82 | + * @return string|false |
|
83 | + * |
|
84 | + * Returns the localized data. |
|
85 | + * |
|
86 | + * Implemented types: |
|
87 | + * - date |
|
88 | + * - Creates a date |
|
89 | + * - l10n-field: date |
|
90 | + * - params: timestamp (int/string) |
|
91 | + * - datetime |
|
92 | + * - Creates date and time |
|
93 | + * - l10n-field: datetime |
|
94 | + * - params: timestamp (int/string) |
|
95 | + * - time |
|
96 | + * - Creates a time |
|
97 | + * - l10n-field: time |
|
98 | + * - params: timestamp (int/string) |
|
99 | + * @since 6.0.0 - parameter $options was added in 8.0.0 |
|
100 | + */ |
|
101 | + public function l($type, $data, $options = array()); |
|
102 | 102 | |
103 | 103 | |
104 | - /** |
|
105 | - * The code (en, de, ...) of the language that is used for this IL10N object |
|
106 | - * |
|
107 | - * @return string language |
|
108 | - * @since 7.0.0 |
|
109 | - */ |
|
110 | - public function getLanguageCode(); |
|
104 | + /** |
|
105 | + * The code (en, de, ...) of the language that is used for this IL10N object |
|
106 | + * |
|
107 | + * @return string language |
|
108 | + * @since 7.0.0 |
|
109 | + */ |
|
110 | + public function getLanguageCode(); |
|
111 | 111 | } |
@@ -30,39 +30,39 @@ |
||
30 | 30 | */ |
31 | 31 | abstract class PagedProvider extends Provider { |
32 | 32 | |
33 | - /** |
|
34 | - * show all results |
|
35 | - * @since 8.0.0 |
|
36 | - */ |
|
37 | - const SIZE_ALL = 0; |
|
33 | + /** |
|
34 | + * show all results |
|
35 | + * @since 8.0.0 |
|
36 | + */ |
|
37 | + const SIZE_ALL = 0; |
|
38 | 38 | |
39 | - /** |
|
40 | - * Constructor |
|
41 | - * @param array $options |
|
42 | - * @since 8.0.0 |
|
43 | - */ |
|
44 | - public function __construct($options) { |
|
45 | - $this->options = $options; |
|
46 | - } |
|
39 | + /** |
|
40 | + * Constructor |
|
41 | + * @param array $options |
|
42 | + * @since 8.0.0 |
|
43 | + */ |
|
44 | + public function __construct($options) { |
|
45 | + $this->options = $options; |
|
46 | + } |
|
47 | 47 | |
48 | - /** |
|
49 | - * Search for $query |
|
50 | - * @param string $query |
|
51 | - * @return array An array of OCP\Search\Result's |
|
52 | - * @since 8.0.0 |
|
53 | - */ |
|
54 | - public function search($query) { |
|
55 | - // old apps might assume they get all results, so we use SIZE_ALL |
|
56 | - $this->searchPaged($query, 1, self::SIZE_ALL); |
|
57 | - } |
|
48 | + /** |
|
49 | + * Search for $query |
|
50 | + * @param string $query |
|
51 | + * @return array An array of OCP\Search\Result's |
|
52 | + * @since 8.0.0 |
|
53 | + */ |
|
54 | + public function search($query) { |
|
55 | + // old apps might assume they get all results, so we use SIZE_ALL |
|
56 | + $this->searchPaged($query, 1, self::SIZE_ALL); |
|
57 | + } |
|
58 | 58 | |
59 | - /** |
|
60 | - * Search for $query |
|
61 | - * @param string $query |
|
62 | - * @param int $page pages start at page 1 |
|
63 | - * @param int $size 0 = SIZE_ALL |
|
64 | - * @return array An array of OCP\Search\Result's |
|
65 | - * @since 8.0.0 |
|
66 | - */ |
|
67 | - abstract public function searchPaged($query, $page, $size); |
|
59 | + /** |
|
60 | + * Search for $query |
|
61 | + * @param string $query |
|
62 | + * @param int $page pages start at page 1 |
|
63 | + * @param int $size 0 = SIZE_ALL |
|
64 | + * @return array An array of OCP\Search\Result's |
|
65 | + * @since 8.0.0 |
|
66 | + */ |
|
67 | + abstract public function searchPaged($query, $page, $size); |
|
68 | 68 | } |
@@ -32,60 +32,60 @@ |
||
32 | 32 | */ |
33 | 33 | abstract class Provider { |
34 | 34 | |
35 | - /** |
|
36 | - * @since 8.0.0 |
|
37 | - */ |
|
38 | - const OPTION_APPS = 'apps'; |
|
35 | + /** |
|
36 | + * @since 8.0.0 |
|
37 | + */ |
|
38 | + const OPTION_APPS = 'apps'; |
|
39 | 39 | |
40 | - /** |
|
41 | - * List of options |
|
42 | - * @var array |
|
43 | - * @since 7.0.0 |
|
44 | - */ |
|
45 | - protected $options; |
|
40 | + /** |
|
41 | + * List of options |
|
42 | + * @var array |
|
43 | + * @since 7.0.0 |
|
44 | + */ |
|
45 | + protected $options; |
|
46 | 46 | |
47 | - /** |
|
48 | - * Constructor |
|
49 | - * @param array $options as key => value |
|
50 | - * @since 7.0.0 - default value for $options was added in 8.0.0 |
|
51 | - */ |
|
52 | - public function __construct($options = array()) { |
|
53 | - $this->options = $options; |
|
54 | - } |
|
47 | + /** |
|
48 | + * Constructor |
|
49 | + * @param array $options as key => value |
|
50 | + * @since 7.0.0 - default value for $options was added in 8.0.0 |
|
51 | + */ |
|
52 | + public function __construct($options = array()) { |
|
53 | + $this->options = $options; |
|
54 | + } |
|
55 | 55 | |
56 | - /** |
|
57 | - * get a value from the options array or null |
|
58 | - * @param string $key |
|
59 | - * @return mixed |
|
60 | - * @since 8.0.0 |
|
61 | - */ |
|
62 | - public function getOption($key) { |
|
63 | - if (is_array($this->options) && isset($this->options[$key])) { |
|
64 | - return $this->options[$key]; |
|
65 | - } else { |
|
66 | - return null; |
|
67 | - } |
|
68 | - } |
|
56 | + /** |
|
57 | + * get a value from the options array or null |
|
58 | + * @param string $key |
|
59 | + * @return mixed |
|
60 | + * @since 8.0.0 |
|
61 | + */ |
|
62 | + public function getOption($key) { |
|
63 | + if (is_array($this->options) && isset($this->options[$key])) { |
|
64 | + return $this->options[$key]; |
|
65 | + } else { |
|
66 | + return null; |
|
67 | + } |
|
68 | + } |
|
69 | 69 | |
70 | - /** |
|
71 | - * checks if the given apps and the apps this provider has results for intersect |
|
72 | - * returns true if the given array is empty (all apps) |
|
73 | - * or if this provider does not have a list of apps it provides results for (legacy search providers) |
|
74 | - * or if the two above arrays have elements in common (intersect) |
|
75 | - * @param string[] $apps |
|
76 | - * @return bool |
|
77 | - * @since 8.0.0 |
|
78 | - */ |
|
79 | - public function providesResultsFor(array $apps = array()) { |
|
80 | - $forApps = $this->getOption(self::OPTION_APPS); |
|
81 | - return empty($apps) || empty($forApps) || array_intersect($forApps, $apps); |
|
82 | - } |
|
70 | + /** |
|
71 | + * checks if the given apps and the apps this provider has results for intersect |
|
72 | + * returns true if the given array is empty (all apps) |
|
73 | + * or if this provider does not have a list of apps it provides results for (legacy search providers) |
|
74 | + * or if the two above arrays have elements in common (intersect) |
|
75 | + * @param string[] $apps |
|
76 | + * @return bool |
|
77 | + * @since 8.0.0 |
|
78 | + */ |
|
79 | + public function providesResultsFor(array $apps = array()) { |
|
80 | + $forApps = $this->getOption(self::OPTION_APPS); |
|
81 | + return empty($apps) || empty($forApps) || array_intersect($forApps, $apps); |
|
82 | + } |
|
83 | 83 | |
84 | - /** |
|
85 | - * Search for $query |
|
86 | - * @param string $query |
|
87 | - * @return array An array of OCP\Search\Result's |
|
88 | - * @since 7.0.0 |
|
89 | - */ |
|
90 | - abstract public function search($query); |
|
84 | + /** |
|
85 | + * Search for $query |
|
86 | + * @param string $query |
|
87 | + * @return array An array of OCP\Search\Result's |
|
88 | + * @since 7.0.0 |
|
89 | + */ |
|
90 | + abstract public function search($query); |
|
91 | 91 | } |
@@ -31,47 +31,47 @@ |
||
31 | 31 | */ |
32 | 32 | class Result { |
33 | 33 | |
34 | - /** |
|
35 | - * A unique identifier for the result, usually given as the item ID in its |
|
36 | - * corresponding application. |
|
37 | - * @var string |
|
38 | - * @since 7.0.0 |
|
39 | - */ |
|
40 | - public $id; |
|
34 | + /** |
|
35 | + * A unique identifier for the result, usually given as the item ID in its |
|
36 | + * corresponding application. |
|
37 | + * @var string |
|
38 | + * @since 7.0.0 |
|
39 | + */ |
|
40 | + public $id; |
|
41 | 41 | |
42 | - /** |
|
43 | - * The name of the item returned; this will be displayed in the search |
|
44 | - * results. |
|
45 | - * @var string |
|
46 | - * @since 7.0.0 |
|
47 | - */ |
|
48 | - public $name; |
|
42 | + /** |
|
43 | + * The name of the item returned; this will be displayed in the search |
|
44 | + * results. |
|
45 | + * @var string |
|
46 | + * @since 7.0.0 |
|
47 | + */ |
|
48 | + public $name; |
|
49 | 49 | |
50 | - /** |
|
51 | - * URL to the application item. |
|
52 | - * @var string |
|
53 | - * @since 7.0.0 |
|
54 | - */ |
|
55 | - public $link; |
|
50 | + /** |
|
51 | + * URL to the application item. |
|
52 | + * @var string |
|
53 | + * @since 7.0.0 |
|
54 | + */ |
|
55 | + public $link; |
|
56 | 56 | |
57 | - /** |
|
58 | - * The type of search result returned; for consistency, name this the same |
|
59 | - * as the class name (e.g. \OC\Search\File -> 'file') in lowercase. |
|
60 | - * @var string |
|
61 | - * @since 7.0.0 |
|
62 | - */ |
|
63 | - public $type = 'generic'; |
|
57 | + /** |
|
58 | + * The type of search result returned; for consistency, name this the same |
|
59 | + * as the class name (e.g. \OC\Search\File -> 'file') in lowercase. |
|
60 | + * @var string |
|
61 | + * @since 7.0.0 |
|
62 | + */ |
|
63 | + public $type = 'generic'; |
|
64 | 64 | |
65 | - /** |
|
66 | - * Create a new search result |
|
67 | - * @param string $id unique identifier from application: '[app_name]/[item_identifier_in_app]' |
|
68 | - * @param string $name displayed text of result |
|
69 | - * @param string $link URL to the result within its app |
|
70 | - * @since 7.0.0 |
|
71 | - */ |
|
72 | - public function __construct($id = null, $name = null, $link = null) { |
|
73 | - $this->id = $id; |
|
74 | - $this->name = $name; |
|
75 | - $this->link = $link; |
|
76 | - } |
|
65 | + /** |
|
66 | + * Create a new search result |
|
67 | + * @param string $id unique identifier from application: '[app_name]/[item_identifier_in_app]' |
|
68 | + * @param string $name displayed text of result |
|
69 | + * @param string $link URL to the result within its app |
|
70 | + * @since 7.0.0 |
|
71 | + */ |
|
72 | + public function __construct($id = null, $name = null, $link = null) { |
|
73 | + $this->id = $id; |
|
74 | + $this->name = $name; |
|
75 | + $this->link = $link; |
|
76 | + } |
|
77 | 77 | } |
@@ -35,151 +35,151 @@ |
||
35 | 35 | */ |
36 | 36 | interface IEncryptionModule { |
37 | 37 | |
38 | - /** |
|
39 | - * @return string defining the technical unique id |
|
40 | - * @since 8.1.0 |
|
41 | - */ |
|
42 | - public function getId(); |
|
43 | - |
|
44 | - /** |
|
45 | - * In comparison to getKey() this function returns a human readable (maybe translated) name |
|
46 | - * |
|
47 | - * @return string |
|
48 | - * @since 8.1.0 |
|
49 | - */ |
|
50 | - public function getDisplayName(); |
|
51 | - |
|
52 | - /** |
|
53 | - * start receiving chunks from a file. This is the place where you can |
|
54 | - * perform some initial step before starting encrypting/decrypting the |
|
55 | - * chunks |
|
56 | - * |
|
57 | - * @param string $path to the file |
|
58 | - * @param string $user who read/write the file (null for public access) |
|
59 | - * @param string $mode php stream open mode |
|
60 | - * @param array $header contains the header data read from the file |
|
61 | - * @param array $accessList who has access to the file contains the key 'users' and 'public' |
|
62 | - * |
|
63 | - * $return array $header contain data as key-value pairs which should be |
|
64 | - * written to the header, in case of a write operation |
|
65 | - * or if no additional data is needed return a empty array |
|
66 | - * @since 8.1.0 |
|
67 | - */ |
|
68 | - public function begin($path, $user, $mode, array $header, array $accessList); |
|
69 | - |
|
70 | - /** |
|
71 | - * last chunk received. This is the place where you can perform some final |
|
72 | - * operation and return some remaining data if something is left in your |
|
73 | - * buffer. |
|
74 | - * |
|
75 | - * @param string $path to the file |
|
76 | - * @param string $position id of the last block (looks like "<Number>end") |
|
77 | - * |
|
78 | - * @return string remained data which should be written to the file in case |
|
79 | - * of a write operation |
|
80 | - * |
|
81 | - * @since 8.1.0 |
|
82 | - * @since 9.0.0 parameter $position added |
|
83 | - */ |
|
84 | - public function end($path, $position); |
|
85 | - |
|
86 | - /** |
|
87 | - * encrypt data |
|
88 | - * |
|
89 | - * @param string $data you want to encrypt |
|
90 | - * @param string $position position of the block we want to encrypt (starts with '0') |
|
91 | - * |
|
92 | - * @return mixed encrypted data |
|
93 | - * |
|
94 | - * @since 8.1.0 |
|
95 | - * @since 9.0.0 parameter $position added |
|
96 | - */ |
|
97 | - public function encrypt($data, $position); |
|
98 | - |
|
99 | - /** |
|
100 | - * decrypt data |
|
101 | - * |
|
102 | - * @param string $data you want to decrypt |
|
103 | - * @param string $position position of the block we want to decrypt |
|
104 | - * |
|
105 | - * @return mixed decrypted data |
|
106 | - * |
|
107 | - * @since 8.1.0 |
|
108 | - * @since 9.0.0 parameter $position added |
|
109 | - */ |
|
110 | - public function decrypt($data, $position); |
|
111 | - |
|
112 | - /** |
|
113 | - * update encrypted file, e.g. give additional users access to the file |
|
114 | - * |
|
115 | - * @param string $path path to the file which should be updated |
|
116 | - * @param string $uid of the user who performs the operation |
|
117 | - * @param array $accessList who has access to the file contains the key 'users' and 'public' |
|
118 | - * @return boolean |
|
119 | - * @since 8.1.0 |
|
120 | - */ |
|
121 | - public function update($path, $uid, array $accessList); |
|
122 | - |
|
123 | - /** |
|
124 | - * should the file be encrypted or not |
|
125 | - * |
|
126 | - * @param string $path |
|
127 | - * @return boolean |
|
128 | - * @since 8.1.0 |
|
129 | - */ |
|
130 | - public function shouldEncrypt($path); |
|
131 | - |
|
132 | - /** |
|
133 | - * get size of the unencrypted payload per block. |
|
134 | - * ownCloud read/write files with a block size of 8192 byte |
|
135 | - * |
|
136 | - * @param bool $signed |
|
137 | - * @return int |
|
138 | - * @since 8.1.0 optional parameter $signed was added in 9.0.0 |
|
139 | - */ |
|
140 | - public function getUnencryptedBlockSize($signed = false); |
|
141 | - |
|
142 | - /** |
|
143 | - * check if the encryption module is able to read the file, |
|
144 | - * e.g. if all encryption keys exists |
|
145 | - * |
|
146 | - * @param string $path |
|
147 | - * @param string $uid user for whom we want to check if he can read the file |
|
148 | - * @return boolean |
|
149 | - * @since 8.1.0 |
|
150 | - */ |
|
151 | - public function isReadable($path, $uid); |
|
152 | - |
|
153 | - /** |
|
154 | - * Initial encryption of all files |
|
155 | - * |
|
156 | - * @param InputInterface $input |
|
157 | - * @param OutputInterface $output write some status information to the terminal during encryption |
|
158 | - * @since 8.2.0 |
|
159 | - */ |
|
160 | - public function encryptAll(InputInterface $input, OutputInterface $output); |
|
161 | - |
|
162 | - /** |
|
163 | - * prepare encryption module to decrypt all files |
|
164 | - * |
|
165 | - * @param InputInterface $input |
|
166 | - * @param OutputInterface $output write some status information to the terminal during encryption |
|
167 | - * @param $user (optional) for which the files should be decrypted, default = all users |
|
168 | - * @return bool return false on failure or if it isn't supported by the module |
|
169 | - * @since 8.2.0 |
|
170 | - */ |
|
171 | - public function prepareDecryptAll(InputInterface $input, OutputInterface $output, $user = ''); |
|
172 | - |
|
173 | - /** |
|
174 | - * Check if the module is ready to be used by that specific user. |
|
175 | - * In case a module is not ready - because e.g. key pairs have not been generated |
|
176 | - * upon login this method can return false before any operation starts and might |
|
177 | - * cause issues during operations. |
|
178 | - * |
|
179 | - * @param string $user |
|
180 | - * @return boolean |
|
181 | - * @since 9.1.0 |
|
182 | - */ |
|
183 | - public function isReadyForUser($user); |
|
38 | + /** |
|
39 | + * @return string defining the technical unique id |
|
40 | + * @since 8.1.0 |
|
41 | + */ |
|
42 | + public function getId(); |
|
43 | + |
|
44 | + /** |
|
45 | + * In comparison to getKey() this function returns a human readable (maybe translated) name |
|
46 | + * |
|
47 | + * @return string |
|
48 | + * @since 8.1.0 |
|
49 | + */ |
|
50 | + public function getDisplayName(); |
|
51 | + |
|
52 | + /** |
|
53 | + * start receiving chunks from a file. This is the place where you can |
|
54 | + * perform some initial step before starting encrypting/decrypting the |
|
55 | + * chunks |
|
56 | + * |
|
57 | + * @param string $path to the file |
|
58 | + * @param string $user who read/write the file (null for public access) |
|
59 | + * @param string $mode php stream open mode |
|
60 | + * @param array $header contains the header data read from the file |
|
61 | + * @param array $accessList who has access to the file contains the key 'users' and 'public' |
|
62 | + * |
|
63 | + * $return array $header contain data as key-value pairs which should be |
|
64 | + * written to the header, in case of a write operation |
|
65 | + * or if no additional data is needed return a empty array |
|
66 | + * @since 8.1.0 |
|
67 | + */ |
|
68 | + public function begin($path, $user, $mode, array $header, array $accessList); |
|
69 | + |
|
70 | + /** |
|
71 | + * last chunk received. This is the place where you can perform some final |
|
72 | + * operation and return some remaining data if something is left in your |
|
73 | + * buffer. |
|
74 | + * |
|
75 | + * @param string $path to the file |
|
76 | + * @param string $position id of the last block (looks like "<Number>end") |
|
77 | + * |
|
78 | + * @return string remained data which should be written to the file in case |
|
79 | + * of a write operation |
|
80 | + * |
|
81 | + * @since 8.1.0 |
|
82 | + * @since 9.0.0 parameter $position added |
|
83 | + */ |
|
84 | + public function end($path, $position); |
|
85 | + |
|
86 | + /** |
|
87 | + * encrypt data |
|
88 | + * |
|
89 | + * @param string $data you want to encrypt |
|
90 | + * @param string $position position of the block we want to encrypt (starts with '0') |
|
91 | + * |
|
92 | + * @return mixed encrypted data |
|
93 | + * |
|
94 | + * @since 8.1.0 |
|
95 | + * @since 9.0.0 parameter $position added |
|
96 | + */ |
|
97 | + public function encrypt($data, $position); |
|
98 | + |
|
99 | + /** |
|
100 | + * decrypt data |
|
101 | + * |
|
102 | + * @param string $data you want to decrypt |
|
103 | + * @param string $position position of the block we want to decrypt |
|
104 | + * |
|
105 | + * @return mixed decrypted data |
|
106 | + * |
|
107 | + * @since 8.1.0 |
|
108 | + * @since 9.0.0 parameter $position added |
|
109 | + */ |
|
110 | + public function decrypt($data, $position); |
|
111 | + |
|
112 | + /** |
|
113 | + * update encrypted file, e.g. give additional users access to the file |
|
114 | + * |
|
115 | + * @param string $path path to the file which should be updated |
|
116 | + * @param string $uid of the user who performs the operation |
|
117 | + * @param array $accessList who has access to the file contains the key 'users' and 'public' |
|
118 | + * @return boolean |
|
119 | + * @since 8.1.0 |
|
120 | + */ |
|
121 | + public function update($path, $uid, array $accessList); |
|
122 | + |
|
123 | + /** |
|
124 | + * should the file be encrypted or not |
|
125 | + * |
|
126 | + * @param string $path |
|
127 | + * @return boolean |
|
128 | + * @since 8.1.0 |
|
129 | + */ |
|
130 | + public function shouldEncrypt($path); |
|
131 | + |
|
132 | + /** |
|
133 | + * get size of the unencrypted payload per block. |
|
134 | + * ownCloud read/write files with a block size of 8192 byte |
|
135 | + * |
|
136 | + * @param bool $signed |
|
137 | + * @return int |
|
138 | + * @since 8.1.0 optional parameter $signed was added in 9.0.0 |
|
139 | + */ |
|
140 | + public function getUnencryptedBlockSize($signed = false); |
|
141 | + |
|
142 | + /** |
|
143 | + * check if the encryption module is able to read the file, |
|
144 | + * e.g. if all encryption keys exists |
|
145 | + * |
|
146 | + * @param string $path |
|
147 | + * @param string $uid user for whom we want to check if he can read the file |
|
148 | + * @return boolean |
|
149 | + * @since 8.1.0 |
|
150 | + */ |
|
151 | + public function isReadable($path, $uid); |
|
152 | + |
|
153 | + /** |
|
154 | + * Initial encryption of all files |
|
155 | + * |
|
156 | + * @param InputInterface $input |
|
157 | + * @param OutputInterface $output write some status information to the terminal during encryption |
|
158 | + * @since 8.2.0 |
|
159 | + */ |
|
160 | + public function encryptAll(InputInterface $input, OutputInterface $output); |
|
161 | + |
|
162 | + /** |
|
163 | + * prepare encryption module to decrypt all files |
|
164 | + * |
|
165 | + * @param InputInterface $input |
|
166 | + * @param OutputInterface $output write some status information to the terminal during encryption |
|
167 | + * @param $user (optional) for which the files should be decrypted, default = all users |
|
168 | + * @return bool return false on failure or if it isn't supported by the module |
|
169 | + * @since 8.2.0 |
|
170 | + */ |
|
171 | + public function prepareDecryptAll(InputInterface $input, OutputInterface $output, $user = ''); |
|
172 | + |
|
173 | + /** |
|
174 | + * Check if the module is ready to be used by that specific user. |
|
175 | + * In case a module is not ready - because e.g. key pairs have not been generated |
|
176 | + * upon login this method can return false before any operation starts and might |
|
177 | + * cause issues during operations. |
|
178 | + * |
|
179 | + * @param string $user |
|
180 | + * @return boolean |
|
181 | + * @since 9.1.0 |
|
182 | + */ |
|
183 | + public function isReadyForUser($user); |
|
184 | 184 | |
185 | 185 | } |
@@ -33,141 +33,141 @@ |
||
33 | 33 | */ |
34 | 34 | interface IStorage { |
35 | 35 | |
36 | - /** |
|
37 | - * get user specific key |
|
38 | - * |
|
39 | - * @param string $uid ID if the user for whom we want the key |
|
40 | - * @param string $keyId id of the key |
|
41 | - * @param string $encryptionModuleId |
|
42 | - * |
|
43 | - * @return mixed key |
|
44 | - * @since 8.1.0 |
|
45 | - */ |
|
46 | - public function getUserKey($uid, $keyId, $encryptionModuleId); |
|
36 | + /** |
|
37 | + * get user specific key |
|
38 | + * |
|
39 | + * @param string $uid ID if the user for whom we want the key |
|
40 | + * @param string $keyId id of the key |
|
41 | + * @param string $encryptionModuleId |
|
42 | + * |
|
43 | + * @return mixed key |
|
44 | + * @since 8.1.0 |
|
45 | + */ |
|
46 | + public function getUserKey($uid, $keyId, $encryptionModuleId); |
|
47 | 47 | |
48 | - /** |
|
49 | - * get file specific key |
|
50 | - * |
|
51 | - * @param string $path path to file |
|
52 | - * @param string $keyId id of the key |
|
53 | - * @param string $encryptionModuleId |
|
54 | - * |
|
55 | - * @return mixed key |
|
56 | - * @since 8.1.0 |
|
57 | - */ |
|
58 | - public function getFileKey($path, $keyId, $encryptionModuleId); |
|
48 | + /** |
|
49 | + * get file specific key |
|
50 | + * |
|
51 | + * @param string $path path to file |
|
52 | + * @param string $keyId id of the key |
|
53 | + * @param string $encryptionModuleId |
|
54 | + * |
|
55 | + * @return mixed key |
|
56 | + * @since 8.1.0 |
|
57 | + */ |
|
58 | + public function getFileKey($path, $keyId, $encryptionModuleId); |
|
59 | 59 | |
60 | - /** |
|
61 | - * get system-wide encryption keys not related to a specific user, |
|
62 | - * e.g something like a key for public link shares |
|
63 | - * |
|
64 | - * @param string $keyId id of the key |
|
65 | - * @param string $encryptionModuleId |
|
66 | - * |
|
67 | - * @return mixed key |
|
68 | - * @since 8.1.0 |
|
69 | - */ |
|
70 | - public function getSystemUserKey($keyId, $encryptionModuleId); |
|
60 | + /** |
|
61 | + * get system-wide encryption keys not related to a specific user, |
|
62 | + * e.g something like a key for public link shares |
|
63 | + * |
|
64 | + * @param string $keyId id of the key |
|
65 | + * @param string $encryptionModuleId |
|
66 | + * |
|
67 | + * @return mixed key |
|
68 | + * @since 8.1.0 |
|
69 | + */ |
|
70 | + public function getSystemUserKey($keyId, $encryptionModuleId); |
|
71 | 71 | |
72 | - /** |
|
73 | - * set user specific key |
|
74 | - * |
|
75 | - * @param string $uid ID if the user for whom we want the key |
|
76 | - * @param string $keyId id of the key |
|
77 | - * @param mixed $key |
|
78 | - * @param string $encryptionModuleId |
|
79 | - * @since 8.1.0 |
|
80 | - */ |
|
81 | - public function setUserKey($uid, $keyId, $key, $encryptionModuleId); |
|
72 | + /** |
|
73 | + * set user specific key |
|
74 | + * |
|
75 | + * @param string $uid ID if the user for whom we want the key |
|
76 | + * @param string $keyId id of the key |
|
77 | + * @param mixed $key |
|
78 | + * @param string $encryptionModuleId |
|
79 | + * @since 8.1.0 |
|
80 | + */ |
|
81 | + public function setUserKey($uid, $keyId, $key, $encryptionModuleId); |
|
82 | 82 | |
83 | - /** |
|
84 | - * set file specific key |
|
85 | - * |
|
86 | - * @param string $path path to file |
|
87 | - * @param string $keyId id of the key |
|
88 | - * @param mixed $key |
|
89 | - * @param string $encryptionModuleId |
|
90 | - * @since 8.1.0 |
|
91 | - */ |
|
92 | - public function setFileKey($path, $keyId, $key, $encryptionModuleId); |
|
83 | + /** |
|
84 | + * set file specific key |
|
85 | + * |
|
86 | + * @param string $path path to file |
|
87 | + * @param string $keyId id of the key |
|
88 | + * @param mixed $key |
|
89 | + * @param string $encryptionModuleId |
|
90 | + * @since 8.1.0 |
|
91 | + */ |
|
92 | + public function setFileKey($path, $keyId, $key, $encryptionModuleId); |
|
93 | 93 | |
94 | - /** |
|
95 | - * set system-wide encryption keys not related to a specific user, |
|
96 | - * e.g something like a key for public link shares |
|
97 | - * |
|
98 | - * @param string $keyId id of the key |
|
99 | - * @param mixed $key |
|
100 | - * @param string $encryptionModuleId |
|
101 | - * |
|
102 | - * @return mixed key |
|
103 | - * @since 8.1.0 |
|
104 | - */ |
|
105 | - public function setSystemUserKey($keyId, $key, $encryptionModuleId); |
|
94 | + /** |
|
95 | + * set system-wide encryption keys not related to a specific user, |
|
96 | + * e.g something like a key for public link shares |
|
97 | + * |
|
98 | + * @param string $keyId id of the key |
|
99 | + * @param mixed $key |
|
100 | + * @param string $encryptionModuleId |
|
101 | + * |
|
102 | + * @return mixed key |
|
103 | + * @since 8.1.0 |
|
104 | + */ |
|
105 | + public function setSystemUserKey($keyId, $key, $encryptionModuleId); |
|
106 | 106 | |
107 | - /** |
|
108 | - * delete user specific key |
|
109 | - * |
|
110 | - * @param string $uid ID if the user for whom we want to delete the key |
|
111 | - * @param string $keyId id of the key |
|
112 | - * @param string $encryptionModuleId |
|
113 | - * |
|
114 | - * @return boolean False when the key could not be deleted |
|
115 | - * @since 8.1.0 |
|
116 | - */ |
|
117 | - public function deleteUserKey($uid, $keyId, $encryptionModuleId); |
|
107 | + /** |
|
108 | + * delete user specific key |
|
109 | + * |
|
110 | + * @param string $uid ID if the user for whom we want to delete the key |
|
111 | + * @param string $keyId id of the key |
|
112 | + * @param string $encryptionModuleId |
|
113 | + * |
|
114 | + * @return boolean False when the key could not be deleted |
|
115 | + * @since 8.1.0 |
|
116 | + */ |
|
117 | + public function deleteUserKey($uid, $keyId, $encryptionModuleId); |
|
118 | 118 | |
119 | - /** |
|
120 | - * delete file specific key |
|
121 | - * |
|
122 | - * @param string $path path to file |
|
123 | - * @param string $keyId id of the key |
|
124 | - * @param string $encryptionModuleId |
|
125 | - * |
|
126 | - * @return boolean False when the key could not be deleted |
|
127 | - * @since 8.1.0 |
|
128 | - */ |
|
129 | - public function deleteFileKey($path, $keyId, $encryptionModuleId); |
|
119 | + /** |
|
120 | + * delete file specific key |
|
121 | + * |
|
122 | + * @param string $path path to file |
|
123 | + * @param string $keyId id of the key |
|
124 | + * @param string $encryptionModuleId |
|
125 | + * |
|
126 | + * @return boolean False when the key could not be deleted |
|
127 | + * @since 8.1.0 |
|
128 | + */ |
|
129 | + public function deleteFileKey($path, $keyId, $encryptionModuleId); |
|
130 | 130 | |
131 | - /** |
|
132 | - * delete all file keys for a given file |
|
133 | - * |
|
134 | - * @param string $path to the file |
|
135 | - * |
|
136 | - * @return boolean False when the keys could not be deleted |
|
137 | - * @since 8.1.0 |
|
138 | - */ |
|
139 | - public function deleteAllFileKeys($path); |
|
131 | + /** |
|
132 | + * delete all file keys for a given file |
|
133 | + * |
|
134 | + * @param string $path to the file |
|
135 | + * |
|
136 | + * @return boolean False when the keys could not be deleted |
|
137 | + * @since 8.1.0 |
|
138 | + */ |
|
139 | + public function deleteAllFileKeys($path); |
|
140 | 140 | |
141 | - /** |
|
142 | - * delete system-wide encryption keys not related to a specific user, |
|
143 | - * e.g something like a key for public link shares |
|
144 | - * |
|
145 | - * @param string $keyId id of the key |
|
146 | - * @param string $encryptionModuleId |
|
147 | - * |
|
148 | - * @return boolean False when the key could not be deleted |
|
149 | - * @since 8.1.0 |
|
150 | - */ |
|
151 | - public function deleteSystemUserKey($keyId, $encryptionModuleId); |
|
141 | + /** |
|
142 | + * delete system-wide encryption keys not related to a specific user, |
|
143 | + * e.g something like a key for public link shares |
|
144 | + * |
|
145 | + * @param string $keyId id of the key |
|
146 | + * @param string $encryptionModuleId |
|
147 | + * |
|
148 | + * @return boolean False when the key could not be deleted |
|
149 | + * @since 8.1.0 |
|
150 | + */ |
|
151 | + public function deleteSystemUserKey($keyId, $encryptionModuleId); |
|
152 | 152 | |
153 | - /** |
|
154 | - * copy keys if a file was renamed |
|
155 | - * |
|
156 | - * @param string $source |
|
157 | - * @param string $target |
|
158 | - * @return boolean |
|
159 | - * @since 8.1.0 |
|
160 | - */ |
|
161 | - public function renameKeys($source, $target); |
|
153 | + /** |
|
154 | + * copy keys if a file was renamed |
|
155 | + * |
|
156 | + * @param string $source |
|
157 | + * @param string $target |
|
158 | + * @return boolean |
|
159 | + * @since 8.1.0 |
|
160 | + */ |
|
161 | + public function renameKeys($source, $target); |
|
162 | 162 | |
163 | - /** |
|
164 | - * move keys if a file was renamed |
|
165 | - * |
|
166 | - * @param string $source |
|
167 | - * @param string $target |
|
168 | - * @return boolean |
|
169 | - * @since 8.1.0 |
|
170 | - */ |
|
171 | - public function copyKeys($source, $target); |
|
163 | + /** |
|
164 | + * move keys if a file was renamed |
|
165 | + * |
|
166 | + * @param string $source |
|
167 | + * @param string $target |
|
168 | + * @return boolean |
|
169 | + * @since 8.1.0 |
|
170 | + */ |
|
171 | + public function copyKeys($source, $target); |
|
172 | 172 | |
173 | 173 | } |
@@ -34,67 +34,67 @@ |
||
34 | 34 | */ |
35 | 35 | interface IManager { |
36 | 36 | |
37 | - /** |
|
38 | - * Check if encryption is available (at least one encryption module needs to be enabled) |
|
39 | - * |
|
40 | - * @return bool true if enabled, false if not |
|
41 | - * @since 8.1.0 |
|
42 | - */ |
|
43 | - public function isEnabled(); |
|
37 | + /** |
|
38 | + * Check if encryption is available (at least one encryption module needs to be enabled) |
|
39 | + * |
|
40 | + * @return bool true if enabled, false if not |
|
41 | + * @since 8.1.0 |
|
42 | + */ |
|
43 | + public function isEnabled(); |
|
44 | 44 | |
45 | - /** |
|
46 | - * Registers an callback function which must return an encryption module instance |
|
47 | - * |
|
48 | - * @param string $id |
|
49 | - * @param string $displayName |
|
50 | - * @param callable $callback |
|
51 | - * @throws ModuleAlreadyExistsException |
|
52 | - * @since 8.1.0 |
|
53 | - */ |
|
54 | - public function registerEncryptionModule($id, $displayName, callable $callback); |
|
45 | + /** |
|
46 | + * Registers an callback function which must return an encryption module instance |
|
47 | + * |
|
48 | + * @param string $id |
|
49 | + * @param string $displayName |
|
50 | + * @param callable $callback |
|
51 | + * @throws ModuleAlreadyExistsException |
|
52 | + * @since 8.1.0 |
|
53 | + */ |
|
54 | + public function registerEncryptionModule($id, $displayName, callable $callback); |
|
55 | 55 | |
56 | - /** |
|
57 | - * Unregisters an encryption module |
|
58 | - * |
|
59 | - * @param string $moduleId |
|
60 | - * @since 8.1.0 |
|
61 | - */ |
|
62 | - public function unregisterEncryptionModule($moduleId); |
|
56 | + /** |
|
57 | + * Unregisters an encryption module |
|
58 | + * |
|
59 | + * @param string $moduleId |
|
60 | + * @since 8.1.0 |
|
61 | + */ |
|
62 | + public function unregisterEncryptionModule($moduleId); |
|
63 | 63 | |
64 | - /** |
|
65 | - * get a list of all encryption modules |
|
66 | - * |
|
67 | - * @return array [id => ['id' => $id, 'displayName' => $displayName, 'callback' => callback]] |
|
68 | - * @since 8.1.0 |
|
69 | - */ |
|
70 | - public function getEncryptionModules(); |
|
64 | + /** |
|
65 | + * get a list of all encryption modules |
|
66 | + * |
|
67 | + * @return array [id => ['id' => $id, 'displayName' => $displayName, 'callback' => callback]] |
|
68 | + * @since 8.1.0 |
|
69 | + */ |
|
70 | + public function getEncryptionModules(); |
|
71 | 71 | |
72 | 72 | |
73 | - /** |
|
74 | - * get a specific encryption module |
|
75 | - * |
|
76 | - * @param string $moduleId Empty to get the default module |
|
77 | - * @return IEncryptionModule |
|
78 | - * @throws ModuleDoesNotExistsException |
|
79 | - * @since 8.1.0 |
|
80 | - */ |
|
81 | - public function getEncryptionModule($moduleId = ''); |
|
73 | + /** |
|
74 | + * get a specific encryption module |
|
75 | + * |
|
76 | + * @param string $moduleId Empty to get the default module |
|
77 | + * @return IEncryptionModule |
|
78 | + * @throws ModuleDoesNotExistsException |
|
79 | + * @since 8.1.0 |
|
80 | + */ |
|
81 | + public function getEncryptionModule($moduleId = ''); |
|
82 | 82 | |
83 | - /** |
|
84 | - * get default encryption module Id |
|
85 | - * |
|
86 | - * @return string |
|
87 | - * @since 8.1.0 |
|
88 | - */ |
|
89 | - public function getDefaultEncryptionModuleId(); |
|
83 | + /** |
|
84 | + * get default encryption module Id |
|
85 | + * |
|
86 | + * @return string |
|
87 | + * @since 8.1.0 |
|
88 | + */ |
|
89 | + public function getDefaultEncryptionModuleId(); |
|
90 | 90 | |
91 | - /** |
|
92 | - * set default encryption module Id |
|
93 | - * |
|
94 | - * @param string $moduleId |
|
95 | - * @return string |
|
96 | - * @since 8.1.0 |
|
97 | - */ |
|
98 | - public function setDefaultEncryptionModule($moduleId); |
|
91 | + /** |
|
92 | + * set default encryption module Id |
|
93 | + * |
|
94 | + * @param string $moduleId |
|
95 | + * @return string |
|
96 | + * @since 8.1.0 |
|
97 | + */ |
|
98 | + public function setDefaultEncryptionModule($moduleId); |
|
99 | 99 | |
100 | 100 | } |
@@ -32,13 +32,13 @@ |
||
32 | 32 | */ |
33 | 33 | interface IFile { |
34 | 34 | |
35 | - /** |
|
36 | - * get list of users with access to the file |
|
37 | - * |
|
38 | - * @param string $path to the file |
|
39 | - * @return array |
|
40 | - * @since 8.1.0 |
|
41 | - */ |
|
42 | - public function getAccessList($path); |
|
35 | + /** |
|
36 | + * get list of users with access to the file |
|
37 | + * |
|
38 | + * @param string $path to the file |
|
39 | + * @return array |
|
40 | + * @since 8.1.0 |
|
41 | + */ |
|
42 | + public function getAccessList($path); |
|
43 | 43 | |
44 | 44 | } |