Completed
Pull Request — master (#3233)
by Christoph
95:52 queued 83:56
created
lib/public/IMemcache.php 1 patch
Indentation   +47 added lines, -47 removed lines patch added patch discarded remove patch
@@ -37,55 +37,55 @@
 block discarded – undo
37 37
  * @since 8.1.0
38 38
  */
39 39
 interface IMemcache extends ICache {
40
-	/**
41
-	 * Set a value in the cache if it's not already stored
42
-	 *
43
-	 * @param string $key
44
-	 * @param mixed $value
45
-	 * @param int $ttl Time To Live in seconds. Defaults to 60*60*24
46
-	 * @return bool
47
-	 * @since 8.1.0
48
-	 */
49
-	public function add($key, $value, $ttl = 0);
40
+    /**
41
+     * Set a value in the cache if it's not already stored
42
+     *
43
+     * @param string $key
44
+     * @param mixed $value
45
+     * @param int $ttl Time To Live in seconds. Defaults to 60*60*24
46
+     * @return bool
47
+     * @since 8.1.0
48
+     */
49
+    public function add($key, $value, $ttl = 0);
50 50
 
51
-	/**
52
-	 * Increase a stored number
53
-	 *
54
-	 * @param string $key
55
-	 * @param int $step
56
-	 * @return int | bool
57
-	 * @since 8.1.0
58
-	 */
59
-	public function inc($key, $step = 1);
51
+    /**
52
+     * Increase a stored number
53
+     *
54
+     * @param string $key
55
+     * @param int $step
56
+     * @return int | bool
57
+     * @since 8.1.0
58
+     */
59
+    public function inc($key, $step = 1);
60 60
 
61
-	/**
62
-	 * Decrease a stored number
63
-	 *
64
-	 * @param string $key
65
-	 * @param int $step
66
-	 * @return int | bool
67
-	 * @since 8.1.0
68
-	 */
69
-	public function dec($key, $step = 1);
61
+    /**
62
+     * Decrease a stored number
63
+     *
64
+     * @param string $key
65
+     * @param int $step
66
+     * @return int | bool
67
+     * @since 8.1.0
68
+     */
69
+    public function dec($key, $step = 1);
70 70
 
71
-	/**
72
-	 * Compare and set
73
-	 *
74
-	 * @param string $key
75
-	 * @param mixed $old
76
-	 * @param mixed $new
77
-	 * @return bool
78
-	 * @since 8.1.0
79
-	 */
80
-	public function cas($key, $old, $new);
71
+    /**
72
+     * Compare and set
73
+     *
74
+     * @param string $key
75
+     * @param mixed $old
76
+     * @param mixed $new
77
+     * @return bool
78
+     * @since 8.1.0
79
+     */
80
+    public function cas($key, $old, $new);
81 81
 
82
-	/**
83
-	 * Compare and delete
84
-	 *
85
-	 * @param string $key
86
-	 * @param mixed $old
87
-	 * @return bool
88
-	 * @since 8.1.0
89
-	 */
90
-	public function cad($key, $old);
82
+    /**
83
+     * Compare and delete
84
+     *
85
+     * @param string $key
86
+     * @param mixed $old
87
+     * @return bool
88
+     * @since 8.1.0
89
+     */
90
+    public function cad($key, $old);
91 91
 }
Please login to merge, or discard this patch.
lib/public/BackgroundJob.php 1 patch
Indentation   +38 added lines, -38 removed lines patch added patch discarded remove patch
@@ -50,44 +50,44 @@
 block discarded – undo
50 50
  * @since 4.5.0
51 51
  */
52 52
 class BackgroundJob {
53
-	/**
54
-	 * get the execution type of background jobs
55
-	 *
56
-	 * @return string
57
-	 *
58
-	 * This method returns the type how background jobs are executed. If the user
59
-	 * did not select something, the type is ajax.
60
-	 * @since 5.0.0
61
-	 */
62
-	public static function getExecutionType() {
63
-		return \OC::$server->getConfig()->getAppValue('core', 'backgroundjobs_mode', 'ajax');
64
-	}
53
+    /**
54
+     * get the execution type of background jobs
55
+     *
56
+     * @return string
57
+     *
58
+     * This method returns the type how background jobs are executed. If the user
59
+     * did not select something, the type is ajax.
60
+     * @since 5.0.0
61
+     */
62
+    public static function getExecutionType() {
63
+        return \OC::$server->getConfig()->getAppValue('core', 'backgroundjobs_mode', 'ajax');
64
+    }
65 65
 
66
-	/**
67
-	 * sets the background jobs execution type
68
-	 *
69
-	 * @param string $type execution type
70
-	 * @return false|null
71
-	 *
72
-	 * This method sets the execution type of the background jobs. Possible types
73
-	 * are "none", "ajax", "webcron", "cron"
74
-	 * @since 5.0.0
75
-	 */
76
-	public static function setExecutionType($type) {
77
-		if( !in_array( $type, array('none', 'ajax', 'webcron', 'cron'))) {
78
-			return false;
79
-		}
80
-		\OC::$server->getConfig()->setAppValue('core', 'backgroundjobs_mode', $type);
81
-	}
66
+    /**
67
+     * sets the background jobs execution type
68
+     *
69
+     * @param string $type execution type
70
+     * @return false|null
71
+     *
72
+     * This method sets the execution type of the background jobs. Possible types
73
+     * are "none", "ajax", "webcron", "cron"
74
+     * @since 5.0.0
75
+     */
76
+    public static function setExecutionType($type) {
77
+        if( !in_array( $type, array('none', 'ajax', 'webcron', 'cron'))) {
78
+            return false;
79
+        }
80
+        \OC::$server->getConfig()->setAppValue('core', 'backgroundjobs_mode', $type);
81
+    }
82 82
 
83
-	/**
84
-	 * @param string $job
85
-	 * @param mixed $argument
86
-	 * @deprecated 8.1.0 Use \OC::$server->getJobList()->add() instead
87
-	 * @since 6.0.0
88
-	 */
89
-	public static function registerJob($job, $argument = null) {
90
-		$jobList = \OC::$server->getJobList();
91
-		$jobList->add($job, $argument);
92
-	}
83
+    /**
84
+     * @param string $job
85
+     * @param mixed $argument
86
+     * @deprecated 8.1.0 Use \OC::$server->getJobList()->add() instead
87
+     * @since 6.0.0
88
+     */
89
+    public static function registerJob($job, $argument = null) {
90
+        $jobList = \OC::$server->getJobList();
91
+        $jobList->add($job, $argument);
92
+    }
93 93
 }
Please login to merge, or discard this patch.
lib/public/IDateTimeFormatter.php 1 patch
Indentation   +106 added lines, -106 removed lines patch added patch discarded remove patch
@@ -30,116 +30,116 @@
 block discarded – undo
30 30
  * @since 8.0.0
31 31
  */
32 32
 interface IDateTimeFormatter {
33
-	/**
34
-	 * Formats the date of the given timestamp
35
-	 *
36
-	 * @param int|\DateTime		$timestamp
37
-	 * @param string	$format			Either 'full', 'long', 'medium' or 'short'
38
-	 * 				full:	e.g. 'EEEE, MMMM d, y'	=> 'Wednesday, August 20, 2014'
39
-	 * 				long:	e.g. 'MMMM d, y'		=> 'August 20, 2014'
40
-	 * 				medium:	e.g. 'MMM d, y'			=> 'Aug 20, 2014'
41
-	 * 				short:	e.g. 'M/d/yy'			=> '8/20/14'
42
-	 * 				The exact format is dependent on the language
43
-	 * @param \DateTimeZone	$timeZone	The timezone to use
44
-	 * @param \OCP\IL10N	$l			The locale to use
45
-	 * @return string Formatted date string
46
-	 * @since 8.0.0
47
-	 */
48
-	public function formatDate($timestamp, $format = 'long', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null);
33
+    /**
34
+     * Formats the date of the given timestamp
35
+     *
36
+     * @param int|\DateTime		$timestamp
37
+     * @param string	$format			Either 'full', 'long', 'medium' or 'short'
38
+     * 				full:	e.g. 'EEEE, MMMM d, y'	=> 'Wednesday, August 20, 2014'
39
+     * 				long:	e.g. 'MMMM d, y'		=> 'August 20, 2014'
40
+     * 				medium:	e.g. 'MMM d, y'			=> 'Aug 20, 2014'
41
+     * 				short:	e.g. 'M/d/yy'			=> '8/20/14'
42
+     * 				The exact format is dependent on the language
43
+     * @param \DateTimeZone	$timeZone	The timezone to use
44
+     * @param \OCP\IL10N	$l			The locale to use
45
+     * @return string Formatted date string
46
+     * @since 8.0.0
47
+     */
48
+    public function formatDate($timestamp, $format = 'long', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null);
49 49
 
50
-	/**
51
-	 * Formats the date of the given timestamp
52
-	 *
53
-	 * @param int|\DateTime		$timestamp
54
-	 * @param string	$format			Either 'full', 'long', 'medium' or 'short'
55
-	 * 				full:	e.g. 'EEEE, MMMM d, y'	=> 'Wednesday, August 20, 2014'
56
-	 * 				long:	e.g. 'MMMM d, y'		=> 'August 20, 2014'
57
-	 * 				medium:	e.g. 'MMM d, y'			=> 'Aug 20, 2014'
58
-	 * 				short:	e.g. 'M/d/yy'			=> '8/20/14'
59
-	 * 				The exact format is dependent on the language
60
-	 * 					Uses 'Today', 'Yesterday' and 'Tomorrow' when applicable
61
-	 * @param \DateTimeZone	$timeZone	The timezone to use
62
-	 * @param \OCP\IL10N	$l			The locale to use
63
-	 * @return string Formatted relative date string
64
-	 * @since 8.0.0
65
-	 */
66
-	public function formatDateRelativeDay($timestamp, $format = 'long', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null);
50
+    /**
51
+     * Formats the date of the given timestamp
52
+     *
53
+     * @param int|\DateTime		$timestamp
54
+     * @param string	$format			Either 'full', 'long', 'medium' or 'short'
55
+     * 				full:	e.g. 'EEEE, MMMM d, y'	=> 'Wednesday, August 20, 2014'
56
+     * 				long:	e.g. 'MMMM d, y'		=> 'August 20, 2014'
57
+     * 				medium:	e.g. 'MMM d, y'			=> 'Aug 20, 2014'
58
+     * 				short:	e.g. 'M/d/yy'			=> '8/20/14'
59
+     * 				The exact format is dependent on the language
60
+     * 					Uses 'Today', 'Yesterday' and 'Tomorrow' when applicable
61
+     * @param \DateTimeZone	$timeZone	The timezone to use
62
+     * @param \OCP\IL10N	$l			The locale to use
63
+     * @return string Formatted relative date string
64
+     * @since 8.0.0
65
+     */
66
+    public function formatDateRelativeDay($timestamp, $format = 'long', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null);
67 67
 
68
-	/**
69
-	 * Gives the relative date of the timestamp
70
-	 * Only works for past dates
71
-	 *
72
-	 * @param int|\DateTime	$timestamp
73
-	 * @param int|\DateTime	$baseTimestamp	Timestamp to compare $timestamp against, defaults to current time
74
-	 * @return string	Dates returned are:
75
-	 * 				<  1 month	=> Today, Yesterday, n days ago
76
-	 * 				< 13 month	=> last month, n months ago
77
-	 * 				>= 13 month	=> last year, n years ago
78
-	 * @param \OCP\IL10N		$l			The locale to use
79
-	 * @return string Formatted date span
80
-	 * @since 8.0.0
81
-	 */
82
-	public function formatDateSpan($timestamp, $baseTimestamp = null, \OCP\IL10N $l = null);
68
+    /**
69
+     * Gives the relative date of the timestamp
70
+     * Only works for past dates
71
+     *
72
+     * @param int|\DateTime	$timestamp
73
+     * @param int|\DateTime	$baseTimestamp	Timestamp to compare $timestamp against, defaults to current time
74
+     * @return string	Dates returned are:
75
+     * 				<  1 month	=> Today, Yesterday, n days ago
76
+     * 				< 13 month	=> last month, n months ago
77
+     * 				>= 13 month	=> last year, n years ago
78
+     * @param \OCP\IL10N		$l			The locale to use
79
+     * @return string Formatted date span
80
+     * @since 8.0.0
81
+     */
82
+    public function formatDateSpan($timestamp, $baseTimestamp = null, \OCP\IL10N $l = null);
83 83
 
84
-	/**
85
-	 * Formats the time of the given timestamp
86
-	 *
87
-	 * @param int|\DateTime $timestamp
88
-	 * @param string	$format			Either 'full', 'long', 'medium' or 'short'
89
-	 * 				full:	e.g. 'h:mm:ss a zzzz'	=> '11:42:13 AM GMT+0:00'
90
-	 * 				long:	e.g. 'h:mm:ss a z'		=> '11:42:13 AM GMT'
91
-	 * 				medium:	e.g. 'h:mm:ss a'		=> '11:42:13 AM'
92
-	 * 				short:	e.g. 'h:mm a'			=> '11:42 AM'
93
-	 * 				The exact format is dependent on the language
94
-	 * @param \DateTimeZone	$timeZone	The timezone to use
95
-	 * @param \OCP\IL10N		$l			The locale to use
96
-	 * @return string Formatted time string
97
-	 * @since 8.0.0
98
-	 */
99
-	public function formatTime($timestamp, $format = 'medium', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null);
84
+    /**
85
+     * Formats the time of the given timestamp
86
+     *
87
+     * @param int|\DateTime $timestamp
88
+     * @param string	$format			Either 'full', 'long', 'medium' or 'short'
89
+     * 				full:	e.g. 'h:mm:ss a zzzz'	=> '11:42:13 AM GMT+0:00'
90
+     * 				long:	e.g. 'h:mm:ss a z'		=> '11:42:13 AM GMT'
91
+     * 				medium:	e.g. 'h:mm:ss a'		=> '11:42:13 AM'
92
+     * 				short:	e.g. 'h:mm a'			=> '11:42 AM'
93
+     * 				The exact format is dependent on the language
94
+     * @param \DateTimeZone	$timeZone	The timezone to use
95
+     * @param \OCP\IL10N		$l			The locale to use
96
+     * @return string Formatted time string
97
+     * @since 8.0.0
98
+     */
99
+    public function formatTime($timestamp, $format = 'medium', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null);
100 100
 
101
-	/**
102
-	 * Gives the relative past time of the timestamp
103
-	 *
104
-	 * @param int|\DateTime	$timestamp
105
-	 * @param int|\DateTime	$baseTimestamp	Timestamp to compare $timestamp against, defaults to current time
106
-	 * @return string	Dates returned are:
107
-	 * 				< 60 sec	=> seconds ago
108
-	 * 				<  1 hour	=> n minutes ago
109
-	 * 				<  1 day	=> n hours ago
110
-	 * 				<  1 month	=> Yesterday, n days ago
111
-	 * 				< 13 month	=> last month, n months ago
112
-	 * 				>= 13 month	=> last year, n years ago
113
-	 * @param \OCP\IL10N		$l			The locale to use
114
-	 * @return string Formatted time span
115
-	 * @since 8.0.0
116
-	 */
117
-	public function formatTimeSpan($timestamp, $baseTimestamp = null, \OCP\IL10N $l = null);
101
+    /**
102
+     * Gives the relative past time of the timestamp
103
+     *
104
+     * @param int|\DateTime	$timestamp
105
+     * @param int|\DateTime	$baseTimestamp	Timestamp to compare $timestamp against, defaults to current time
106
+     * @return string	Dates returned are:
107
+     * 				< 60 sec	=> seconds ago
108
+     * 				<  1 hour	=> n minutes ago
109
+     * 				<  1 day	=> n hours ago
110
+     * 				<  1 month	=> Yesterday, n days ago
111
+     * 				< 13 month	=> last month, n months ago
112
+     * 				>= 13 month	=> last year, n years ago
113
+     * @param \OCP\IL10N		$l			The locale to use
114
+     * @return string Formatted time span
115
+     * @since 8.0.0
116
+     */
117
+    public function formatTimeSpan($timestamp, $baseTimestamp = null, \OCP\IL10N $l = null);
118 118
 
119
-	/**
120
-	 * Formats the date and time of the given timestamp
121
-	 *
122
-	 * @param int|\DateTime $timestamp
123
-	 * @param string	$formatDate		See formatDate() for description
124
-	 * @param string	$formatTime		See formatTime() for description
125
-	 * @param \DateTimeZone	$timeZone	The timezone to use
126
-	 * @param \OCP\IL10N		$l			The locale to use
127
-	 * @return string Formatted date and time string
128
-	 * @since 8.0.0
129
-	 */
130
-	public function formatDateTime($timestamp, $formatDate = 'long', $formatTime = 'medium', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null);
119
+    /**
120
+     * Formats the date and time of the given timestamp
121
+     *
122
+     * @param int|\DateTime $timestamp
123
+     * @param string	$formatDate		See formatDate() for description
124
+     * @param string	$formatTime		See formatTime() for description
125
+     * @param \DateTimeZone	$timeZone	The timezone to use
126
+     * @param \OCP\IL10N		$l			The locale to use
127
+     * @return string Formatted date and time string
128
+     * @since 8.0.0
129
+     */
130
+    public function formatDateTime($timestamp, $formatDate = 'long', $formatTime = 'medium', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null);
131 131
 
132
-	/**
133
-	 * Formats the date and time of the given timestamp
134
-	 *
135
-	 * @param int|\DateTime $timestamp
136
-	 * @param string	$formatDate		See formatDate() for description
137
-	 * 					Uses 'Today', 'Yesterday' and 'Tomorrow' when applicable
138
-	 * @param string	$formatTime		See formatTime() for description
139
-	 * @param \DateTimeZone	$timeZone	The timezone to use
140
-	 * @param \OCP\IL10N		$l			The locale to use
141
-	 * @return string Formatted relative date and time string
142
-	 * @since 8.0.0
143
-	 */
144
-	public function formatDateTimeRelativeDay($timestamp, $formatDate = 'long', $formatTime = 'medium', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null);
132
+    /**
133
+     * Formats the date and time of the given timestamp
134
+     *
135
+     * @param int|\DateTime $timestamp
136
+     * @param string	$formatDate		See formatDate() for description
137
+     * 					Uses 'Today', 'Yesterday' and 'Tomorrow' when applicable
138
+     * @param string	$formatTime		See formatTime() for description
139
+     * @param \DateTimeZone	$timeZone	The timezone to use
140
+     * @param \OCP\IL10N		$l			The locale to use
141
+     * @return string Formatted relative date and time string
142
+     * @since 8.0.0
143
+     */
144
+    public function formatDateTimeRelativeDay($timestamp, $formatDate = 'long', $formatTime = 'medium', \DateTimeZone $timeZone = null, \OCP\IL10N $l = null);
145 145
 }
Please login to merge, or discard this patch.
lib/public/UserInterface.php 1 patch
Indentation   +57 added lines, -57 removed lines patch added patch discarded remove patch
@@ -40,68 +40,68 @@
 block discarded – undo
40 40
  */
41 41
 interface UserInterface {
42 42
 
43
-	/**
44
-	 * Check if backend implements actions
45
-	 * @param int $actions bitwise-or'ed actions
46
-	 * @return boolean
47
-	 *
48
-	 * Returns the supported actions as int to be
49
-	 * compared with \OC_User_Backend::CREATE_USER etc.
50
-	 * @since 4.5.0
51
-	 */
52
-	public function implementsActions($actions);
43
+    /**
44
+     * Check if backend implements actions
45
+     * @param int $actions bitwise-or'ed actions
46
+     * @return boolean
47
+     *
48
+     * Returns the supported actions as int to be
49
+     * compared with \OC_User_Backend::CREATE_USER etc.
50
+     * @since 4.5.0
51
+     */
52
+    public function implementsActions($actions);
53 53
 
54
-	/**
55
-	 * delete a user
56
-	 * @param string $uid The username of the user to delete
57
-	 * @return bool
58
-	 * @since 4.5.0
59
-	 */
60
-	public function deleteUser($uid);
54
+    /**
55
+     * delete a user
56
+     * @param string $uid The username of the user to delete
57
+     * @return bool
58
+     * @since 4.5.0
59
+     */
60
+    public function deleteUser($uid);
61 61
 
62
-	/**
63
-	 * Get a list of all users
64
-	 *
65
-	 * @param string $search
66
-	 * @param null|int $limit
67
-	 * @param null|int $offset
68
-	 * @return string[] an array of all uids
69
-	 * @since 4.5.0
70
-	 */
71
-	public function getUsers($search = '', $limit = null, $offset = null);
62
+    /**
63
+     * Get a list of all users
64
+     *
65
+     * @param string $search
66
+     * @param null|int $limit
67
+     * @param null|int $offset
68
+     * @return string[] an array of all uids
69
+     * @since 4.5.0
70
+     */
71
+    public function getUsers($search = '', $limit = null, $offset = null);
72 72
 
73
-	/**
74
-	 * check if a user exists
75
-	 * @param string $uid the username
76
-	 * @return boolean
77
-	 * @since 4.5.0
78
-	 */
79
-	public function userExists($uid);
73
+    /**
74
+     * check if a user exists
75
+     * @param string $uid the username
76
+     * @return boolean
77
+     * @since 4.5.0
78
+     */
79
+    public function userExists($uid);
80 80
 
81
-	/**
82
-	 * get display name of the user
83
-	 * @param string $uid user ID of the user
84
-	 * @return string display name
85
-	 * @since 4.5.0
86
-	 */
87
-	public function getDisplayName($uid);
81
+    /**
82
+     * get display name of the user
83
+     * @param string $uid user ID of the user
84
+     * @return string display name
85
+     * @since 4.5.0
86
+     */
87
+    public function getDisplayName($uid);
88 88
 
89
-	/**
90
-	 * Get a list of all display names and user ids.
91
-	 *
92
-	 * @param string $search
93
-	 * @param string|null $limit
94
-	 * @param string|null $offset
95
-	 * @return array an array of all displayNames (value) and the corresponding uids (key)
96
-	 * @since 4.5.0
97
-	 */
98
-	public function getDisplayNames($search = '', $limit = null, $offset = null);
89
+    /**
90
+     * Get a list of all display names and user ids.
91
+     *
92
+     * @param string $search
93
+     * @param string|null $limit
94
+     * @param string|null $offset
95
+     * @return array an array of all displayNames (value) and the corresponding uids (key)
96
+     * @since 4.5.0
97
+     */
98
+    public function getDisplayNames($search = '', $limit = null, $offset = null);
99 99
 
100
-	/**
101
-	 * Check if a user list is available or not
102
-	 * @return boolean if users can be listed or not
103
-	 * @since 4.5.0
104
-	 */
105
-	public function hasUserListings();
100
+    /**
101
+     * Check if a user list is available or not
102
+     * @return boolean if users can be listed or not
103
+     * @since 4.5.0
104
+     */
105
+    public function hasUserListings();
106 106
 
107 107
 }
Please login to merge, or discard this patch.
lib/public/Encryption/IEncryptionModule.php 1 patch
Indentation   +146 added lines, -146 removed lines patch added patch discarded remove patch
@@ -35,151 +35,151 @@
 block discarded – undo
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
 }
Please login to merge, or discard this patch.
lib/public/Encryption/IFile.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -32,13 +32,13 @@
 block discarded – undo
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
 }
Please login to merge, or discard this patch.
lib/public/Encryption/Exceptions/GenericEncryptionException.php 1 patch
Indentation   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -35,18 +35,18 @@
 block discarded – undo
35 35
  */
36 36
 class GenericEncryptionException extends HintException {
37 37
 
38
-	/**
39
-	 * @param string $message
40
-	 * @param string $hint
41
-	 * @param int $code
42
-	 * @param \Exception $previous
43
-	 * @since 8.1.0
44
-	 */
45
-	public function __construct($message = '', $hint = '', $code = 0, \Exception $previous = null) {
46
-		if (empty($message)) {
47
-			$message = 'Unspecified encryption exception';
48
-		}
49
-		parent::__construct($message, $hint, $code, $previous);
50
-	}
38
+    /**
39
+     * @param string $message
40
+     * @param string $hint
41
+     * @param int $code
42
+     * @param \Exception $previous
43
+     * @since 8.1.0
44
+     */
45
+    public function __construct($message = '', $hint = '', $code = 0, \Exception $previous = null) {
46
+        if (empty($message)) {
47
+            $message = 'Unspecified encryption exception';
48
+        }
49
+        parent::__construct($message, $hint, $code, $previous);
50
+    }
51 51
 
52 52
 }
Please login to merge, or discard this patch.
lib/public/Encryption/IManager.php 1 patch
Indentation   +55 added lines, -55 removed lines patch added patch discarded remove patch
@@ -34,67 +34,67 @@
 block discarded – undo
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
 }
Please login to merge, or discard this patch.
lib/public/Encryption/Keys/IStorage.php 1 patch
Indentation   +135 added lines, -135 removed lines patch added patch discarded remove patch
@@ -33,151 +33,151 @@
 block discarded – undo
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
-	/**
174
-	 * backup keys of a given encryption module
175
-	 *
176
-	 * @param string $encryptionModuleId
177
-	 * @param string $purpose
178
-	 * @param string $uid
179
-	 * @return bool
180
-	 * @since 12.0.0
181
-	 */
182
-	public function backupUserKeys($encryptionModuleId, $purpose, $uid);
173
+    /**
174
+     * backup keys of a given encryption module
175
+     *
176
+     * @param string $encryptionModuleId
177
+     * @param string $purpose
178
+     * @param string $uid
179
+     * @return bool
180
+     * @since 12.0.0
181
+     */
182
+    public function backupUserKeys($encryptionModuleId, $purpose, $uid);
183 183
 }
Please login to merge, or discard this patch.