Completed
Branch develop (37f7b7)
by
unknown
24:41
created
htdocs/includes/sabre/sabre/dav/lib/DAV/Browser/HtmlOutputHelper.php 1 patch
Indentation   +90 added lines, -90 removed lines patch added patch discarded remove patch
@@ -17,102 +17,102 @@
 block discarded – undo
17 17
  */
18 18
 class HtmlOutputHelper
19 19
 {
20
-    /**
21
-     * Link to the root of the application.
22
-     *
23
-     * @var string
24
-     */
25
-    protected $baseUri;
20
+	/**
21
+	 * Link to the root of the application.
22
+	 *
23
+	 * @var string
24
+	 */
25
+	protected $baseUri;
26 26
 
27
-    /**
28
-     * List of xml namespaces.
29
-     *
30
-     * @var array
31
-     */
32
-    protected $namespaceMap;
27
+	/**
28
+	 * List of xml namespaces.
29
+	 *
30
+	 * @var array
31
+	 */
32
+	protected $namespaceMap;
33 33
 
34
-    /**
35
-     * Creates the object.
36
-     *
37
-     * baseUri must point to the root of the application. This will be used to
38
-     * easily generate links.
39
-     *
40
-     * The namespaceMap contains an array with the list of xml namespaces and
41
-     * their prefixes. WebDAV uses a lot of XML with complex namespaces, so
42
-     * that can be used to make output a lot shorter.
43
-     *
44
-     * @param string $baseUri
45
-     */
46
-    public function __construct($baseUri, array $namespaceMap)
47
-    {
48
-        $this->baseUri = $baseUri;
49
-        $this->namespaceMap = $namespaceMap;
50
-    }
34
+	/**
35
+	 * Creates the object.
36
+	 *
37
+	 * baseUri must point to the root of the application. This will be used to
38
+	 * easily generate links.
39
+	 *
40
+	 * The namespaceMap contains an array with the list of xml namespaces and
41
+	 * their prefixes. WebDAV uses a lot of XML with complex namespaces, so
42
+	 * that can be used to make output a lot shorter.
43
+	 *
44
+	 * @param string $baseUri
45
+	 */
46
+	public function __construct($baseUri, array $namespaceMap)
47
+	{
48
+		$this->baseUri = $baseUri;
49
+		$this->namespaceMap = $namespaceMap;
50
+	}
51 51
 
52
-    /**
53
-     * Generates a 'full' url based on a relative one.
54
-     *
55
-     * For relative urls, the base of the application is taken as the reference
56
-     * url, not the 'current url of the current request'.
57
-     *
58
-     * Absolute urls are left alone.
59
-     *
60
-     * @param string $path
61
-     *
62
-     * @return string
63
-     */
64
-    public function fullUrl($path)
65
-    {
66
-        return Uri\resolve($this->baseUri, $path);
67
-    }
52
+	/**
53
+	 * Generates a 'full' url based on a relative one.
54
+	 *
55
+	 * For relative urls, the base of the application is taken as the reference
56
+	 * url, not the 'current url of the current request'.
57
+	 *
58
+	 * Absolute urls are left alone.
59
+	 *
60
+	 * @param string $path
61
+	 *
62
+	 * @return string
63
+	 */
64
+	public function fullUrl($path)
65
+	{
66
+		return Uri\resolve($this->baseUri, $path);
67
+	}
68 68
 
69
-    /**
70
-     * Escape string for HTML output.
71
-     *
72
-     * @param scalar $input
73
-     *
74
-     * @return string
75
-     */
76
-    public function h($input)
77
-    {
78
-        return htmlspecialchars((string) $input, ENT_COMPAT, 'UTF-8');
79
-    }
69
+	/**
70
+	 * Escape string for HTML output.
71
+	 *
72
+	 * @param scalar $input
73
+	 *
74
+	 * @return string
75
+	 */
76
+	public function h($input)
77
+	{
78
+		return htmlspecialchars((string) $input, ENT_COMPAT, 'UTF-8');
79
+	}
80 80
 
81
-    /**
82
-     * Generates a full <a>-tag.
83
-     *
84
-     * Url is automatically expanded. If label is not specified, we re-use the
85
-     * url.
86
-     *
87
-     * @param string $url
88
-     * @param string $label
89
-     *
90
-     * @return string
91
-     */
92
-    public function link($url, $label = null)
93
-    {
94
-        $url = $this->h($this->fullUrl($url));
81
+	/**
82
+	 * Generates a full <a>-tag.
83
+	 *
84
+	 * Url is automatically expanded. If label is not specified, we re-use the
85
+	 * url.
86
+	 *
87
+	 * @param string $url
88
+	 * @param string $label
89
+	 *
90
+	 * @return string
91
+	 */
92
+	public function link($url, $label = null)
93
+	{
94
+		$url = $this->h($this->fullUrl($url));
95 95
 
96
-        return '<a href="'.$url.'">'.($label ? $this->h($label) : $url).'</a>';
97
-    }
96
+		return '<a href="'.$url.'">'.($label ? $this->h($label) : $url).'</a>';
97
+	}
98 98
 
99
-    /**
100
-     * This method takes an xml element in clark-notation, and turns it into a
101
-     * shortened version with a prefix, if it was a known namespace.
102
-     *
103
-     * @param string $element
104
-     *
105
-     * @return string
106
-     */
107
-    public function xmlName($element)
108
-    {
109
-        list($ns, $localName) = XmlService::parseClarkNotation($element);
110
-        if (isset($this->namespaceMap[$ns])) {
111
-            $propName = $this->namespaceMap[$ns].':'.$localName;
112
-        } else {
113
-            $propName = $element;
114
-        }
99
+	/**
100
+	 * This method takes an xml element in clark-notation, and turns it into a
101
+	 * shortened version with a prefix, if it was a known namespace.
102
+	 *
103
+	 * @param string $element
104
+	 *
105
+	 * @return string
106
+	 */
107
+	public function xmlName($element)
108
+	{
109
+		list($ns, $localName) = XmlService::parseClarkNotation($element);
110
+		if (isset($this->namespaceMap[$ns])) {
111
+			$propName = $this->namespaceMap[$ns].':'.$localName;
112
+		} else {
113
+			$propName = $element;
114
+		}
115 115
 
116
-        return '<span title="'.$this->h($element).'">'.$this->h($propName).'</span>';
117
-    }
116
+		return '<span title="'.$this->h($element).'">'.$this->h($propName).'</span>';
117
+	}
118 118
 }
Please login to merge, or discard this patch.
htdocs/includes/sabre/sabre/dav/lib/DAV/Browser/PropFindAll.php 1 patch
Indentation   +103 added lines, -103 removed lines patch added patch discarded remove patch
@@ -16,113 +16,113 @@
 block discarded – undo
16 16
  */
17 17
 class PropFindAll extends PropFind
18 18
 {
19
-    /**
20
-     * Creates the PROPFIND object.
21
-     *
22
-     * @param string $path
23
-     */
24
-    public function __construct($path)
25
-    {
26
-        parent::__construct($path, []);
27
-    }
19
+	/**
20
+	 * Creates the PROPFIND object.
21
+	 *
22
+	 * @param string $path
23
+	 */
24
+	public function __construct($path)
25
+	{
26
+		parent::__construct($path, []);
27
+	}
28 28
 
29
-    /**
30
-     * Handles a specific property.
31
-     *
32
-     * This method checks whether the specified property was requested in this
33
-     * PROPFIND request, and if so, it will call the callback and use the
34
-     * return value for it's value.
35
-     *
36
-     * Example:
37
-     *
38
-     * $propFind->handle('{DAV:}displayname', function() {
39
-     *      return 'hello';
40
-     * });
41
-     *
42
-     * Note that handle will only work the first time. If null is returned, the
43
-     * value is ignored.
44
-     *
45
-     * It's also possible to not pass a callback, but immediately pass a value
46
-     *
47
-     * @param string $propertyName
48
-     * @param mixed  $valueOrCallBack
49
-     */
50
-    public function handle($propertyName, $valueOrCallBack)
51
-    {
52
-        if (is_callable($valueOrCallBack)) {
53
-            $value = $valueOrCallBack();
54
-        } else {
55
-            $value = $valueOrCallBack;
56
-        }
57
-        if (!is_null($value)) {
58
-            $this->result[$propertyName] = [200, $value];
59
-        }
60
-    }
29
+	/**
30
+	 * Handles a specific property.
31
+	 *
32
+	 * This method checks whether the specified property was requested in this
33
+	 * PROPFIND request, and if so, it will call the callback and use the
34
+	 * return value for it's value.
35
+	 *
36
+	 * Example:
37
+	 *
38
+	 * $propFind->handle('{DAV:}displayname', function() {
39
+	 *      return 'hello';
40
+	 * });
41
+	 *
42
+	 * Note that handle will only work the first time. If null is returned, the
43
+	 * value is ignored.
44
+	 *
45
+	 * It's also possible to not pass a callback, but immediately pass a value
46
+	 *
47
+	 * @param string $propertyName
48
+	 * @param mixed  $valueOrCallBack
49
+	 */
50
+	public function handle($propertyName, $valueOrCallBack)
51
+	{
52
+		if (is_callable($valueOrCallBack)) {
53
+			$value = $valueOrCallBack();
54
+		} else {
55
+			$value = $valueOrCallBack;
56
+		}
57
+		if (!is_null($value)) {
58
+			$this->result[$propertyName] = [200, $value];
59
+		}
60
+	}
61 61
 
62
-    /**
63
-     * Sets the value of the property.
64
-     *
65
-     * If status is not supplied, the status will default to 200 for non-null
66
-     * properties, and 404 for null properties.
67
-     *
68
-     * @param string $propertyName
69
-     * @param mixed  $value
70
-     * @param int    $status
71
-     */
72
-    public function set($propertyName, $value, $status = null)
73
-    {
74
-        if (is_null($status)) {
75
-            $status = is_null($value) ? 404 : 200;
76
-        }
77
-        $this->result[$propertyName] = [$status, $value];
78
-    }
62
+	/**
63
+	 * Sets the value of the property.
64
+	 *
65
+	 * If status is not supplied, the status will default to 200 for non-null
66
+	 * properties, and 404 for null properties.
67
+	 *
68
+	 * @param string $propertyName
69
+	 * @param mixed  $value
70
+	 * @param int    $status
71
+	 */
72
+	public function set($propertyName, $value, $status = null)
73
+	{
74
+		if (is_null($status)) {
75
+			$status = is_null($value) ? 404 : 200;
76
+		}
77
+		$this->result[$propertyName] = [$status, $value];
78
+	}
79 79
 
80
-    /**
81
-     * Returns the current value for a property.
82
-     *
83
-     * @param string $propertyName
84
-     *
85
-     * @return mixed
86
-     */
87
-    public function get($propertyName)
88
-    {
89
-        return isset($this->result[$propertyName]) ? $this->result[$propertyName][1] : null;
90
-    }
80
+	/**
81
+	 * Returns the current value for a property.
82
+	 *
83
+	 * @param string $propertyName
84
+	 *
85
+	 * @return mixed
86
+	 */
87
+	public function get($propertyName)
88
+	{
89
+		return isset($this->result[$propertyName]) ? $this->result[$propertyName][1] : null;
90
+	}
91 91
 
92
-    /**
93
-     * Returns the current status code for a property name.
94
-     *
95
-     * If the property does not appear in the list of requested properties,
96
-     * null will be returned.
97
-     *
98
-     * @param string $propertyName
99
-     *
100
-     * @return int|null
101
-     */
102
-    public function getStatus($propertyName)
103
-    {
104
-        return isset($this->result[$propertyName]) ? $this->result[$propertyName][0] : 404;
105
-    }
92
+	/**
93
+	 * Returns the current status code for a property name.
94
+	 *
95
+	 * If the property does not appear in the list of requested properties,
96
+	 * null will be returned.
97
+	 *
98
+	 * @param string $propertyName
99
+	 *
100
+	 * @return int|null
101
+	 */
102
+	public function getStatus($propertyName)
103
+	{
104
+		return isset($this->result[$propertyName]) ? $this->result[$propertyName][0] : 404;
105
+	}
106 106
 
107
-    /**
108
-     * Returns all propertynames that have a 404 status, and thus don't have a
109
-     * value yet.
110
-     *
111
-     * @return array
112
-     */
113
-    public function get404Properties()
114
-    {
115
-        $result = [];
116
-        foreach ($this->result as $propertyName => $stuff) {
117
-            if (404 === $stuff[0]) {
118
-                $result[] = $propertyName;
119
-            }
120
-        }
121
-        // If there's nothing in this list, we're adding one fictional item.
122
-        if (!$result) {
123
-            $result[] = '{http://sabredav.org/ns}idk';
124
-        }
107
+	/**
108
+	 * Returns all propertynames that have a 404 status, and thus don't have a
109
+	 * value yet.
110
+	 *
111
+	 * @return array
112
+	 */
113
+	public function get404Properties()
114
+	{
115
+		$result = [];
116
+		foreach ($this->result as $propertyName => $stuff) {
117
+			if (404 === $stuff[0]) {
118
+				$result[] = $propertyName;
119
+			}
120
+		}
121
+		// If there's nothing in this list, we're adding one fictional item.
122
+		if (!$result) {
123
+			$result[] = '{http://sabredav.org/ns}idk';
124
+		}
125 125
 
126
-        return $result;
127
-    }
126
+		return $result;
127
+	}
128 128
 }
Please login to merge, or discard this patch.
htdocs/includes/sabre/sabre/dav/lib/DAV/Browser/GuessContentType.php 2 patches
Indentation   +57 added lines, -57 removed lines patch added patch discarded remove patch
@@ -26,68 +26,68 @@
 block discarded – undo
26 26
  */
27 27
 class GuessContentType extends DAV\ServerPlugin
28 28
 {
29
-    /**
30
-     * List of recognized file extensions.
31
-     *
32
-     * Feel free to add more
33
-     *
34
-     * @var array
35
-     */
36
-    public $extensionMap = [
37
-        // images
38
-        'jpg' => 'image/jpeg',
39
-        'gif' => 'image/gif',
40
-        'png' => 'image/png',
29
+	/**
30
+	 * List of recognized file extensions.
31
+	 *
32
+	 * Feel free to add more
33
+	 *
34
+	 * @var array
35
+	 */
36
+	public $extensionMap = [
37
+		// images
38
+		'jpg' => 'image/jpeg',
39
+		'gif' => 'image/gif',
40
+		'png' => 'image/png',
41 41
 
42
-        // groupware
43
-        'ics' => 'text/calendar',
44
-        'vcf' => 'text/vcard',
42
+		// groupware
43
+		'ics' => 'text/calendar',
44
+		'vcf' => 'text/vcard',
45 45
 
46
-        // text
47
-        'txt' => 'text/plain',
48
-    ];
46
+		// text
47
+		'txt' => 'text/plain',
48
+	];
49 49
 
50
-    /**
51
-     * Initializes the plugin.
52
-     */
53
-    public function initialize(DAV\Server $server)
54
-    {
55
-        // Using a relatively low priority (200) to allow other extensions
56
-        // to set the content-type first.
57
-        $server->on('propFind', [$this, 'propFind'], 200);
58
-    }
50
+	/**
51
+	 * Initializes the plugin.
52
+	 */
53
+	public function initialize(DAV\Server $server)
54
+	{
55
+		// Using a relatively low priority (200) to allow other extensions
56
+		// to set the content-type first.
57
+		$server->on('propFind', [$this, 'propFind'], 200);
58
+	}
59 59
 
60
-    /**
61
-     * Our PROPFIND handler.
62
-     *
63
-     * Here we set a contenttype, if the node didn't already have one.
64
-     */
65
-    public function propFind(PropFind $propFind, INode $node)
66
-    {
67
-        $propFind->handle('{DAV:}getcontenttype', function () use ($propFind) {
68
-            list(, $fileName) = Uri\split($propFind->getPath());
60
+	/**
61
+	 * Our PROPFIND handler.
62
+	 *
63
+	 * Here we set a contenttype, if the node didn't already have one.
64
+	 */
65
+	public function propFind(PropFind $propFind, INode $node)
66
+	{
67
+		$propFind->handle('{DAV:}getcontenttype', function () use ($propFind) {
68
+			list(, $fileName) = Uri\split($propFind->getPath());
69 69
 
70
-            return $this->getContentType($fileName);
71
-        });
72
-    }
70
+			return $this->getContentType($fileName);
71
+		});
72
+	}
73 73
 
74
-    /**
75
-     * Simple method to return the contenttype.
76
-     *
77
-     * @param string $fileName
78
-     *
79
-     * @return string
80
-     */
81
-    protected function getContentType($fileName)
82
-    {
83
-        if (null !== $fileName) {
84
-            // Just grabbing the extension
85
-            $extension = strtolower(substr($fileName, strrpos($fileName, '.') + 1));
86
-            if (isset($this->extensionMap[$extension])) {
87
-                return $this->extensionMap[$extension];
88
-            }
89
-        }
74
+	/**
75
+	 * Simple method to return the contenttype.
76
+	 *
77
+	 * @param string $fileName
78
+	 *
79
+	 * @return string
80
+	 */
81
+	protected function getContentType($fileName)
82
+	{
83
+		if (null !== $fileName) {
84
+			// Just grabbing the extension
85
+			$extension = strtolower(substr($fileName, strrpos($fileName, '.') + 1));
86
+			if (isset($this->extensionMap[$extension])) {
87
+				return $this->extensionMap[$extension];
88
+			}
89
+		}
90 90
 
91
-        return 'application/octet-stream';
92
-    }
91
+		return 'application/octet-stream';
92
+	}
93 93
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -64,7 +64,7 @@
 block discarded – undo
64 64
      */
65 65
     public function propFind(PropFind $propFind, INode $node)
66 66
     {
67
-        $propFind->handle('{DAV:}getcontenttype', function () use ($propFind) {
67
+        $propFind->handle('{DAV:}getcontenttype', function() use ($propFind) {
68 68
             list(, $fileName) = Uri\split($propFind->getPath());
69 69
 
70 70
             return $this->getContentType($fileName);
Please login to merge, or discard this patch.
htdocs/includes/sabre/sabre/dav/lib/DAV/ICollection.php 1 patch
Indentation   +57 added lines, -57 removed lines patch added patch discarded remove patch
@@ -15,65 +15,65 @@
 block discarded – undo
15 15
  */
16 16
 interface ICollection extends INode
17 17
 {
18
-    /**
19
-     * Creates a new file in the directory.
20
-     *
21
-     * Data will either be supplied as a stream resource, or in certain cases
22
-     * as a string. Keep in mind that you may have to support either.
23
-     *
24
-     * After successful creation of the file, you may choose to return the ETag
25
-     * of the new file here.
26
-     *
27
-     * The returned ETag must be surrounded by double-quotes (The quotes should
28
-     * be part of the actual string).
29
-     *
30
-     * If you cannot accurately determine the ETag, you should not return it.
31
-     * If you don't store the file exactly as-is (you're transforming it
32
-     * somehow) you should also not return an ETag.
33
-     *
34
-     * This means that if a subsequent GET to this new file does not exactly
35
-     * return the same contents of what was submitted here, you are strongly
36
-     * recommended to omit the ETag.
37
-     *
38
-     * @param string          $name Name of the file
39
-     * @param resource|string $data Initial payload
40
-     *
41
-     * @return string|null
42
-     */
43
-    public function createFile($name, $data = null);
18
+	/**
19
+	 * Creates a new file in the directory.
20
+	 *
21
+	 * Data will either be supplied as a stream resource, or in certain cases
22
+	 * as a string. Keep in mind that you may have to support either.
23
+	 *
24
+	 * After successful creation of the file, you may choose to return the ETag
25
+	 * of the new file here.
26
+	 *
27
+	 * The returned ETag must be surrounded by double-quotes (The quotes should
28
+	 * be part of the actual string).
29
+	 *
30
+	 * If you cannot accurately determine the ETag, you should not return it.
31
+	 * If you don't store the file exactly as-is (you're transforming it
32
+	 * somehow) you should also not return an ETag.
33
+	 *
34
+	 * This means that if a subsequent GET to this new file does not exactly
35
+	 * return the same contents of what was submitted here, you are strongly
36
+	 * recommended to omit the ETag.
37
+	 *
38
+	 * @param string          $name Name of the file
39
+	 * @param resource|string $data Initial payload
40
+	 *
41
+	 * @return string|null
42
+	 */
43
+	public function createFile($name, $data = null);
44 44
 
45
-    /**
46
-     * Creates a new subdirectory.
47
-     *
48
-     * @param string $name
49
-     */
50
-    public function createDirectory($name);
45
+	/**
46
+	 * Creates a new subdirectory.
47
+	 *
48
+	 * @param string $name
49
+	 */
50
+	public function createDirectory($name);
51 51
 
52
-    /**
53
-     * Returns a specific child node, referenced by its name.
54
-     *
55
-     * This method must throw Sabre\DAV\Exception\NotFound if the node does not
56
-     * exist.
57
-     *
58
-     * @param string $name
59
-     *
60
-     * @return INode
61
-     */
62
-    public function getChild($name);
52
+	/**
53
+	 * Returns a specific child node, referenced by its name.
54
+	 *
55
+	 * This method must throw Sabre\DAV\Exception\NotFound if the node does not
56
+	 * exist.
57
+	 *
58
+	 * @param string $name
59
+	 *
60
+	 * @return INode
61
+	 */
62
+	public function getChild($name);
63 63
 
64
-    /**
65
-     * Returns an array with all the child nodes.
66
-     *
67
-     * @return INode[]
68
-     */
69
-    public function getChildren();
64
+	/**
65
+	 * Returns an array with all the child nodes.
66
+	 *
67
+	 * @return INode[]
68
+	 */
69
+	public function getChildren();
70 70
 
71
-    /**
72
-     * Checks if a child-node with the specified name exists.
73
-     *
74
-     * @param string $name
75
-     *
76
-     * @return bool
77
-     */
78
-    public function childExists($name);
71
+	/**
72
+	 * Checks if a child-node with the specified name exists.
73
+	 *
74
+	 * @param string $name
75
+	 *
76
+	 * @return bool
77
+	 */
78
+	public function childExists($name);
79 79
 }
Please login to merge, or discard this patch.
htdocs/includes/sabre/sabre/dav/lib/DAV/UUIDUtil.php 1 patch
Indentation   +41 added lines, -41 removed lines patch added patch discarded remove patch
@@ -17,50 +17,50 @@
 block discarded – undo
17 17
  */
18 18
 class UUIDUtil
19 19
 {
20
-    /**
21
-     * Returns a pseudo-random v4 UUID.
22
-     *
23
-     * This function is based on a comment by Andrew Moore on php.net
24
-     *
25
-     * @see http://www.php.net/manual/en/function.uniqid.php#94959
26
-     *
27
-     * @return string
28
-     */
29
-    public static function getUUID()
30
-    {
31
-        return sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
32
-            // 32 bits for "time_low"
33
-            mt_rand(0, 0xffff), mt_rand(0, 0xffff),
20
+	/**
21
+	 * Returns a pseudo-random v4 UUID.
22
+	 *
23
+	 * This function is based on a comment by Andrew Moore on php.net
24
+	 *
25
+	 * @see http://www.php.net/manual/en/function.uniqid.php#94959
26
+	 *
27
+	 * @return string
28
+	 */
29
+	public static function getUUID()
30
+	{
31
+		return sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
32
+			// 32 bits for "time_low"
33
+			mt_rand(0, 0xffff), mt_rand(0, 0xffff),
34 34
 
35
-            // 16 bits for "time_mid"
36
-            mt_rand(0, 0xffff),
35
+			// 16 bits for "time_mid"
36
+			mt_rand(0, 0xffff),
37 37
 
38
-            // 16 bits for "time_hi_and_version",
39
-            // four most significant bits holds version number 4
40
-            mt_rand(0, 0x0fff) | 0x4000,
38
+			// 16 bits for "time_hi_and_version",
39
+			// four most significant bits holds version number 4
40
+			mt_rand(0, 0x0fff) | 0x4000,
41 41
 
42
-            // 16 bits, 8 bits for "clk_seq_hi_res",
43
-            // 8 bits for "clk_seq_low",
44
-            // two most significant bits holds zero and one for variant DCE1.1
45
-            mt_rand(0, 0x3fff) | 0x8000,
42
+			// 16 bits, 8 bits for "clk_seq_hi_res",
43
+			// 8 bits for "clk_seq_low",
44
+			// two most significant bits holds zero and one for variant DCE1.1
45
+			mt_rand(0, 0x3fff) | 0x8000,
46 46
 
47
-            // 48 bits for "node"
48
-            mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
49
-        );
50
-    }
47
+			// 48 bits for "node"
48
+			mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
49
+		);
50
+	}
51 51
 
52
-    /**
53
-     * Checks if a string is a valid UUID.
54
-     *
55
-     * @param string $uuid
56
-     *
57
-     * @return bool
58
-     */
59
-    public static function validateUUID($uuid)
60
-    {
61
-        return 0 !== preg_match(
62
-            '/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/i',
63
-            $uuid
64
-        );
65
-    }
52
+	/**
53
+	 * Checks if a string is a valid UUID.
54
+	 *
55
+	 * @param string $uuid
56
+	 *
57
+	 * @return bool
58
+	 */
59
+	public static function validateUUID($uuid)
60
+	{
61
+		return 0 !== preg_match(
62
+			'/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/i',
63
+			$uuid
64
+		);
65
+	}
66 66
 }
Please login to merge, or discard this patch.
htdocs/includes/sabre/sabre/dav/lib/DAV/Sharing/Plugin.php 2 patches
Indentation   +269 added lines, -269 removed lines patch added patch discarded remove patch
@@ -28,231 +28,231 @@  discard block
 block discarded – undo
28 28
  */
29 29
 class Plugin extends ServerPlugin
30 30
 {
31
-    const ACCESS_NOTSHARED = 0;
32
-    const ACCESS_SHAREDOWNER = 1;
33
-    const ACCESS_READ = 2;
34
-    const ACCESS_READWRITE = 3;
35
-    const ACCESS_NOACCESS = 4;
36
-
37
-    const INVITE_NORESPONSE = 1;
38
-    const INVITE_ACCEPTED = 2;
39
-    const INVITE_DECLINED = 3;
40
-    const INVITE_INVALID = 4;
41
-
42
-    /**
43
-     * Reference to SabreDAV server object.
44
-     *
45
-     * @var Server
46
-     */
47
-    protected $server;
48
-
49
-    /**
50
-     * This method should return a list of server-features.
51
-     *
52
-     * This is for example 'versioning' and is added to the DAV: header
53
-     * in an OPTIONS response.
54
-     *
55
-     * @return array
56
-     */
57
-    public function getFeatures()
58
-    {
59
-        return ['resource-sharing'];
60
-    }
61
-
62
-    /**
63
-     * Returns a plugin name.
64
-     *
65
-     * Using this name other plugins will be able to access other plugins
66
-     * using \Sabre\DAV\Server::getPlugin
67
-     *
68
-     * @return string
69
-     */
70
-    public function getPluginName()
71
-    {
72
-        return 'sharing';
73
-    }
74
-
75
-    /**
76
-     * This initializes the plugin.
77
-     *
78
-     * This function is called by Sabre\DAV\Server, after
79
-     * addPlugin is called.
80
-     *
81
-     * This method should set up the required event subscriptions.
82
-     */
83
-    public function initialize(Server $server)
84
-    {
85
-        $this->server = $server;
86
-
87
-        $server->xml->elementMap['{DAV:}share-resource'] = 'Sabre\\DAV\\Xml\\Request\\ShareResource';
88
-
89
-        array_push(
90
-            $server->protectedProperties,
91
-            '{DAV:}share-mode'
92
-        );
93
-
94
-        $server->on('method:POST', [$this, 'httpPost']);
95
-        $server->on('propFind', [$this, 'propFind']);
96
-        $server->on('getSupportedPrivilegeSet', [$this, 'getSupportedPrivilegeSet']);
97
-        $server->on('onHTMLActionsPanel', [$this, 'htmlActionsPanel']);
98
-        $server->on('onBrowserPostAction', [$this, 'browserPostAction']);
99
-    }
100
-
101
-    /**
102
-     * Updates the list of sharees on a shared resource.
103
-     *
104
-     * The sharees  array is a list of people that are to be added modified
105
-     * or removed in the list of shares.
106
-     *
107
-     * @param string   $path
108
-     * @param Sharee[] $sharees
109
-     */
110
-    public function shareResource($path, array $sharees)
111
-    {
112
-        $node = $this->server->tree->getNodeForPath($path);
113
-
114
-        if (!$node instanceof ISharedNode) {
115
-            throw new Forbidden('Sharing is not allowed on this node');
116
-        }
117
-
118
-        // Getting ACL info
119
-        $acl = $this->server->getPlugin('acl');
120
-
121
-        // If there's no ACL support, we allow everything
122
-        if ($acl) {
123
-            $acl->checkPrivileges($path, '{DAV:}share');
124
-        }
125
-
126
-        foreach ($sharees as $sharee) {
127
-            // We're going to attempt to get a local principal uri for a share
128
-            // href by emitting the getPrincipalByUri event.
129
-            $principal = null;
130
-            $this->server->emit('getPrincipalByUri', [$sharee->href, &$principal]);
131
-            $sharee->principal = $principal;
132
-        }
133
-        $node->updateInvites($sharees);
134
-    }
135
-
136
-    /**
137
-     * This event is triggered when properties are requested for nodes.
138
-     *
139
-     * This allows us to inject any sharings-specific properties.
140
-     */
141
-    public function propFind(PropFind $propFind, INode $node)
142
-    {
143
-        if ($node instanceof ISharedNode) {
144
-            $propFind->handle('{DAV:}share-access', function () use ($node) {
145
-                return new Property\ShareAccess($node->getShareAccess());
146
-            });
147
-            $propFind->handle('{DAV:}invite', function () use ($node) {
148
-                return new Property\Invite($node->getInvites());
149
-            });
150
-            $propFind->handle('{DAV:}share-resource-uri', function () use ($node) {
151
-                return new Property\Href($node->getShareResourceUri());
152
-            });
153
-        }
154
-    }
155
-
156
-    /**
157
-     * We intercept this to handle POST requests on shared resources.
158
-     *
159
-     * @return bool|null
160
-     */
161
-    public function httpPost(RequestInterface $request, ResponseInterface $response)
162
-    {
163
-        $path = $request->getPath();
164
-        $contentType = $request->getHeader('Content-Type');
165
-        if (null === $contentType) {
166
-            return;
167
-        }
168
-
169
-        // We're only interested in the davsharing content type.
170
-        if (false === strpos($contentType, 'application/davsharing+xml')) {
171
-            return;
172
-        }
173
-
174
-        $message = $this->server->xml->parse(
175
-            $request->getBody(),
176
-            $request->getUrl(),
177
-            $documentType
178
-        );
179
-
180
-        switch ($documentType) {
181
-            case '{DAV:}share-resource':
182
-                $this->shareResource($path, $message->sharees);
183
-                $response->setStatus(200);
184
-                // Adding this because sending a response body may cause issues,
185
-                // and I wanted some type of indicator the response was handled.
186
-                $response->setHeader('X-Sabre-Status', 'everything-went-well');
187
-
188
-                // Breaking the event chain
189
-                return false;
190
-
191
-            default:
192
-                throw new BadRequest('Unexpected document type: '.$documentType.' for this Content-Type');
193
-        }
194
-    }
195
-
196
-    /**
197
-     * This method is triggered whenever a subsystem reqeuests the privileges
198
-     * hat are supported on a particular node.
199
-     *
200
-     * We need to add a number of privileges for scheduling purposes.
201
-     */
202
-    public function getSupportedPrivilegeSet(INode $node, array &$supportedPrivilegeSet)
203
-    {
204
-        if ($node instanceof ISharedNode) {
205
-            $supportedPrivilegeSet['{DAV:}share'] = [
206
-                'abstract' => false,
207
-                'aggregates' => [],
208
-            ];
209
-        }
210
-    }
211
-
212
-    /**
213
-     * Returns a bunch of meta-data about the plugin.
214
-     *
215
-     * Providing this information is optional, and is mainly displayed by the
216
-     * Browser plugin.
217
-     *
218
-     * The description key in the returned array may contain html and will not
219
-     * be sanitized.
220
-     *
221
-     * @return array
222
-     */
223
-    public function getPluginInfo()
224
-    {
225
-        return [
226
-            'name' => $this->getPluginName(),
227
-            'description' => 'This plugin implements WebDAV resource sharing',
228
-            'link' => 'https://github.com/evert/webdav-sharing',
229
-        ];
230
-    }
231
-
232
-    /**
233
-     * This method is used to generate HTML output for the
234
-     * DAV\Browser\Plugin.
235
-     *
236
-     * @param string $output
237
-     * @param string $path
238
-     *
239
-     * @return bool|null
240
-     */
241
-    public function htmlActionsPanel(INode $node, &$output, $path)
242
-    {
243
-        if (!$node instanceof ISharedNode) {
244
-            return;
245
-        }
246
-
247
-        $aclPlugin = $this->server->getPlugin('acl');
248
-        if ($aclPlugin) {
249
-            if (!$aclPlugin->checkPrivileges($path, '{DAV:}share', \Sabre\DAVACL\Plugin::R_PARENT, false)) {
250
-                // Sharing is not permitted, we will not draw this interface.
251
-                return;
252
-            }
253
-        }
254
-
255
-        $output .= '<tr><td colspan="2"><form method="post" action="">
31
+	const ACCESS_NOTSHARED = 0;
32
+	const ACCESS_SHAREDOWNER = 1;
33
+	const ACCESS_READ = 2;
34
+	const ACCESS_READWRITE = 3;
35
+	const ACCESS_NOACCESS = 4;
36
+
37
+	const INVITE_NORESPONSE = 1;
38
+	const INVITE_ACCEPTED = 2;
39
+	const INVITE_DECLINED = 3;
40
+	const INVITE_INVALID = 4;
41
+
42
+	/**
43
+	 * Reference to SabreDAV server object.
44
+	 *
45
+	 * @var Server
46
+	 */
47
+	protected $server;
48
+
49
+	/**
50
+	 * This method should return a list of server-features.
51
+	 *
52
+	 * This is for example 'versioning' and is added to the DAV: header
53
+	 * in an OPTIONS response.
54
+	 *
55
+	 * @return array
56
+	 */
57
+	public function getFeatures()
58
+	{
59
+		return ['resource-sharing'];
60
+	}
61
+
62
+	/**
63
+	 * Returns a plugin name.
64
+	 *
65
+	 * Using this name other plugins will be able to access other plugins
66
+	 * using \Sabre\DAV\Server::getPlugin
67
+	 *
68
+	 * @return string
69
+	 */
70
+	public function getPluginName()
71
+	{
72
+		return 'sharing';
73
+	}
74
+
75
+	/**
76
+	 * This initializes the plugin.
77
+	 *
78
+	 * This function is called by Sabre\DAV\Server, after
79
+	 * addPlugin is called.
80
+	 *
81
+	 * This method should set up the required event subscriptions.
82
+	 */
83
+	public function initialize(Server $server)
84
+	{
85
+		$this->server = $server;
86
+
87
+		$server->xml->elementMap['{DAV:}share-resource'] = 'Sabre\\DAV\\Xml\\Request\\ShareResource';
88
+
89
+		array_push(
90
+			$server->protectedProperties,
91
+			'{DAV:}share-mode'
92
+		);
93
+
94
+		$server->on('method:POST', [$this, 'httpPost']);
95
+		$server->on('propFind', [$this, 'propFind']);
96
+		$server->on('getSupportedPrivilegeSet', [$this, 'getSupportedPrivilegeSet']);
97
+		$server->on('onHTMLActionsPanel', [$this, 'htmlActionsPanel']);
98
+		$server->on('onBrowserPostAction', [$this, 'browserPostAction']);
99
+	}
100
+
101
+	/**
102
+	 * Updates the list of sharees on a shared resource.
103
+	 *
104
+	 * The sharees  array is a list of people that are to be added modified
105
+	 * or removed in the list of shares.
106
+	 *
107
+	 * @param string   $path
108
+	 * @param Sharee[] $sharees
109
+	 */
110
+	public function shareResource($path, array $sharees)
111
+	{
112
+		$node = $this->server->tree->getNodeForPath($path);
113
+
114
+		if (!$node instanceof ISharedNode) {
115
+			throw new Forbidden('Sharing is not allowed on this node');
116
+		}
117
+
118
+		// Getting ACL info
119
+		$acl = $this->server->getPlugin('acl');
120
+
121
+		// If there's no ACL support, we allow everything
122
+		if ($acl) {
123
+			$acl->checkPrivileges($path, '{DAV:}share');
124
+		}
125
+
126
+		foreach ($sharees as $sharee) {
127
+			// We're going to attempt to get a local principal uri for a share
128
+			// href by emitting the getPrincipalByUri event.
129
+			$principal = null;
130
+			$this->server->emit('getPrincipalByUri', [$sharee->href, &$principal]);
131
+			$sharee->principal = $principal;
132
+		}
133
+		$node->updateInvites($sharees);
134
+	}
135
+
136
+	/**
137
+	 * This event is triggered when properties are requested for nodes.
138
+	 *
139
+	 * This allows us to inject any sharings-specific properties.
140
+	 */
141
+	public function propFind(PropFind $propFind, INode $node)
142
+	{
143
+		if ($node instanceof ISharedNode) {
144
+			$propFind->handle('{DAV:}share-access', function () use ($node) {
145
+				return new Property\ShareAccess($node->getShareAccess());
146
+			});
147
+			$propFind->handle('{DAV:}invite', function () use ($node) {
148
+				return new Property\Invite($node->getInvites());
149
+			});
150
+			$propFind->handle('{DAV:}share-resource-uri', function () use ($node) {
151
+				return new Property\Href($node->getShareResourceUri());
152
+			});
153
+		}
154
+	}
155
+
156
+	/**
157
+	 * We intercept this to handle POST requests on shared resources.
158
+	 *
159
+	 * @return bool|null
160
+	 */
161
+	public function httpPost(RequestInterface $request, ResponseInterface $response)
162
+	{
163
+		$path = $request->getPath();
164
+		$contentType = $request->getHeader('Content-Type');
165
+		if (null === $contentType) {
166
+			return;
167
+		}
168
+
169
+		// We're only interested in the davsharing content type.
170
+		if (false === strpos($contentType, 'application/davsharing+xml')) {
171
+			return;
172
+		}
173
+
174
+		$message = $this->server->xml->parse(
175
+			$request->getBody(),
176
+			$request->getUrl(),
177
+			$documentType
178
+		);
179
+
180
+		switch ($documentType) {
181
+			case '{DAV:}share-resource':
182
+				$this->shareResource($path, $message->sharees);
183
+				$response->setStatus(200);
184
+				// Adding this because sending a response body may cause issues,
185
+				// and I wanted some type of indicator the response was handled.
186
+				$response->setHeader('X-Sabre-Status', 'everything-went-well');
187
+
188
+				// Breaking the event chain
189
+				return false;
190
+
191
+			default:
192
+				throw new BadRequest('Unexpected document type: '.$documentType.' for this Content-Type');
193
+		}
194
+	}
195
+
196
+	/**
197
+	 * This method is triggered whenever a subsystem reqeuests the privileges
198
+	 * hat are supported on a particular node.
199
+	 *
200
+	 * We need to add a number of privileges for scheduling purposes.
201
+	 */
202
+	public function getSupportedPrivilegeSet(INode $node, array &$supportedPrivilegeSet)
203
+	{
204
+		if ($node instanceof ISharedNode) {
205
+			$supportedPrivilegeSet['{DAV:}share'] = [
206
+				'abstract' => false,
207
+				'aggregates' => [],
208
+			];
209
+		}
210
+	}
211
+
212
+	/**
213
+	 * Returns a bunch of meta-data about the plugin.
214
+	 *
215
+	 * Providing this information is optional, and is mainly displayed by the
216
+	 * Browser plugin.
217
+	 *
218
+	 * The description key in the returned array may contain html and will not
219
+	 * be sanitized.
220
+	 *
221
+	 * @return array
222
+	 */
223
+	public function getPluginInfo()
224
+	{
225
+		return [
226
+			'name' => $this->getPluginName(),
227
+			'description' => 'This plugin implements WebDAV resource sharing',
228
+			'link' => 'https://github.com/evert/webdav-sharing',
229
+		];
230
+	}
231
+
232
+	/**
233
+	 * This method is used to generate HTML output for the
234
+	 * DAV\Browser\Plugin.
235
+	 *
236
+	 * @param string $output
237
+	 * @param string $path
238
+	 *
239
+	 * @return bool|null
240
+	 */
241
+	public function htmlActionsPanel(INode $node, &$output, $path)
242
+	{
243
+		if (!$node instanceof ISharedNode) {
244
+			return;
245
+		}
246
+
247
+		$aclPlugin = $this->server->getPlugin('acl');
248
+		if ($aclPlugin) {
249
+			if (!$aclPlugin->checkPrivileges($path, '{DAV:}share', \Sabre\DAVACL\Plugin::R_PARENT, false)) {
250
+				// Sharing is not permitted, we will not draw this interface.
251
+				return;
252
+			}
253
+		}
254
+
255
+		$output .= '<tr><td colspan="2"><form method="post" action="">
256 256
             <h3>Share this resource</h3>
257 257
             <input type="hidden" name="sabreAction" value="share" />
258 258
             <label>Share with (uri):</label> <input type="text" name="href" placeholder="mailto:[email protected]"/><br />
@@ -265,48 +265,48 @@  discard block
 block discarded – undo
265 265
              <input type="submit" value="share" />
266 266
             </form>
267 267
             </td></tr>';
268
-    }
269
-
270
-    /**
271
-     * This method is triggered for POST actions generated by the browser
272
-     * plugin.
273
-     *
274
-     * @param string $path
275
-     * @param string $action
276
-     * @param array  $postVars
277
-     */
278
-    public function browserPostAction($path, $action, $postVars)
279
-    {
280
-        if ('share' !== $action) {
281
-            return;
282
-        }
283
-
284
-        if (empty($postVars['href'])) {
285
-            throw new BadRequest('The "href" POST parameter is required');
286
-        }
287
-        if (empty($postVars['access'])) {
288
-            throw new BadRequest('The "access" POST parameter is required');
289
-        }
290
-
291
-        $accessMap = [
292
-            'readwrite' => self::ACCESS_READWRITE,
293
-            'read' => self::ACCESS_READ,
294
-            'no-access' => self::ACCESS_NOACCESS,
295
-        ];
296
-
297
-        if (!isset($accessMap[$postVars['access']])) {
298
-            throw new BadRequest('The "access" POST must be readwrite, read or no-access');
299
-        }
300
-        $sharee = new Sharee([
301
-            'href' => $postVars['href'],
302
-            'access' => $accessMap[$postVars['access']],
303
-        ]);
304
-
305
-        $this->shareResource(
306
-            $path,
307
-            [$sharee]
308
-        );
309
-
310
-        return false;
311
-    }
268
+	}
269
+
270
+	/**
271
+	 * This method is triggered for POST actions generated by the browser
272
+	 * plugin.
273
+	 *
274
+	 * @param string $path
275
+	 * @param string $action
276
+	 * @param array  $postVars
277
+	 */
278
+	public function browserPostAction($path, $action, $postVars)
279
+	{
280
+		if ('share' !== $action) {
281
+			return;
282
+		}
283
+
284
+		if (empty($postVars['href'])) {
285
+			throw new BadRequest('The "href" POST parameter is required');
286
+		}
287
+		if (empty($postVars['access'])) {
288
+			throw new BadRequest('The "access" POST parameter is required');
289
+		}
290
+
291
+		$accessMap = [
292
+			'readwrite' => self::ACCESS_READWRITE,
293
+			'read' => self::ACCESS_READ,
294
+			'no-access' => self::ACCESS_NOACCESS,
295
+		];
296
+
297
+		if (!isset($accessMap[$postVars['access']])) {
298
+			throw new BadRequest('The "access" POST must be readwrite, read or no-access');
299
+		}
300
+		$sharee = new Sharee([
301
+			'href' => $postVars['href'],
302
+			'access' => $accessMap[$postVars['access']],
303
+		]);
304
+
305
+		$this->shareResource(
306
+			$path,
307
+			[$sharee]
308
+		);
309
+
310
+		return false;
311
+	}
312 312
 }
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -141,13 +141,13 @@
 block discarded – undo
141 141
     public function propFind(PropFind $propFind, INode $node)
142 142
     {
143 143
         if ($node instanceof ISharedNode) {
144
-            $propFind->handle('{DAV:}share-access', function () use ($node) {
144
+            $propFind->handle('{DAV:}share-access', function() use ($node) {
145 145
                 return new Property\ShareAccess($node->getShareAccess());
146 146
             });
147
-            $propFind->handle('{DAV:}invite', function () use ($node) {
147
+            $propFind->handle('{DAV:}invite', function() use ($node) {
148 148
                 return new Property\Invite($node->getInvites());
149 149
             });
150
-            $propFind->handle('{DAV:}share-resource-uri', function () use ($node) {
150
+            $propFind->handle('{DAV:}share-resource-uri', function() use ($node) {
151 151
                 return new Property\Href($node->getShareResourceUri());
152 152
             });
153 153
         }
Please login to merge, or discard this patch.
htdocs/includes/sabre/sabre/dav/lib/DAV/Sharing/ISharedNode.php 1 patch
Indentation   +46 added lines, -46 removed lines patch added patch discarded remove patch
@@ -17,53 +17,53 @@
 block discarded – undo
17 17
  */
18 18
 interface ISharedNode extends INode
19 19
 {
20
-    /**
21
-     * Returns the 'access level' for the instance of this shared resource.
22
-     *
23
-     * The value should be one of the Sabre\DAV\Sharing\Plugin::ACCESS_
24
-     * constants.
25
-     *
26
-     * @return int
27
-     */
28
-    public function getShareAccess();
20
+	/**
21
+	 * Returns the 'access level' for the instance of this shared resource.
22
+	 *
23
+	 * The value should be one of the Sabre\DAV\Sharing\Plugin::ACCESS_
24
+	 * constants.
25
+	 *
26
+	 * @return int
27
+	 */
28
+	public function getShareAccess();
29 29
 
30
-    /**
31
-     * This function must return a URI that uniquely identifies the shared
32
-     * resource. This URI should be identical across instances, and is
33
-     * also used in several other XML bodies to connect invites to
34
-     * resources.
35
-     *
36
-     * This may simply be a relative reference to the original shared instance,
37
-     * but it could also be a urn. As long as it's a valid URI and unique.
38
-     *
39
-     * @return string
40
-     */
41
-    public function getShareResourceUri();
30
+	/**
31
+	 * This function must return a URI that uniquely identifies the shared
32
+	 * resource. This URI should be identical across instances, and is
33
+	 * also used in several other XML bodies to connect invites to
34
+	 * resources.
35
+	 *
36
+	 * This may simply be a relative reference to the original shared instance,
37
+	 * but it could also be a urn. As long as it's a valid URI and unique.
38
+	 *
39
+	 * @return string
40
+	 */
41
+	public function getShareResourceUri();
42 42
 
43
-    /**
44
-     * Updates the list of sharees.
45
-     *
46
-     * Every item must be a Sharee object.
47
-     *
48
-     * @param \Sabre\DAV\Xml\Element\Sharee[] $sharees
49
-     */
50
-    public function updateInvites(array $sharees);
43
+	/**
44
+	 * Updates the list of sharees.
45
+	 *
46
+	 * Every item must be a Sharee object.
47
+	 *
48
+	 * @param \Sabre\DAV\Xml\Element\Sharee[] $sharees
49
+	 */
50
+	public function updateInvites(array $sharees);
51 51
 
52
-    /**
53
-     * Returns the list of people whom this resource is shared with.
54
-     *
55
-     * Every item in the returned array must be a Sharee object with
56
-     * at least the following properties set:
57
-     *
58
-     * * $href
59
-     * * $shareAccess
60
-     * * $inviteStatus
61
-     *
62
-     * and optionally:
63
-     *
64
-     * * $properties
65
-     *
66
-     * @return \Sabre\DAV\Xml\Element\Sharee[]
67
-     */
68
-    public function getInvites();
52
+	/**
53
+	 * Returns the list of people whom this resource is shared with.
54
+	 *
55
+	 * Every item in the returned array must be a Sharee object with
56
+	 * at least the following properties set:
57
+	 *
58
+	 * * $href
59
+	 * * $shareAccess
60
+	 * * $inviteStatus
61
+	 *
62
+	 * and optionally:
63
+	 *
64
+	 * * $properties
65
+	 *
66
+	 * @return \Sabre\DAV\Xml\Element\Sharee[]
67
+	 */
68
+	public function getInvites();
69 69
 }
Please login to merge, or discard this patch.
htdocs/includes/sabre/sabre/dav/lib/DAV/INode.php 1 patch
Indentation   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -13,32 +13,32 @@
 block discarded – undo
13 13
  */
14 14
 interface INode
15 15
 {
16
-    /**
17
-     * Deleted the current node.
18
-     */
19
-    public function delete();
16
+	/**
17
+	 * Deleted the current node.
18
+	 */
19
+	public function delete();
20 20
 
21
-    /**
22
-     * Returns the name of the node.
23
-     *
24
-     * This is used to generate the url.
25
-     *
26
-     * @return string
27
-     */
28
-    public function getName();
21
+	/**
22
+	 * Returns the name of the node.
23
+	 *
24
+	 * This is used to generate the url.
25
+	 *
26
+	 * @return string
27
+	 */
28
+	public function getName();
29 29
 
30
-    /**
31
-     * Renames the node.
32
-     *
33
-     * @param string $name The new name
34
-     */
35
-    public function setName($name);
30
+	/**
31
+	 * Renames the node.
32
+	 *
33
+	 * @param string $name The new name
34
+	 */
35
+	public function setName($name);
36 36
 
37
-    /**
38
-     * Returns the last modification time, as a unix timestamp. Return null
39
-     * if the information is not available.
40
-     *
41
-     * @return int|null
42
-     */
43
-    public function getLastModified();
37
+	/**
38
+	 * Returns the last modification time, as a unix timestamp. Return null
39
+	 * if the information is not available.
40
+	 *
41
+	 * @return int|null
42
+	 */
43
+	public function getLastModified();
44 44
 }
Please login to merge, or discard this patch.
htdocs/includes/sabre/sabre/vobject/lib/TimeZoneUtil.php 1 patch
Indentation   +223 added lines, -223 removed lines patch added patch discarded remove patch
@@ -24,249 +24,249 @@
 block discarded – undo
24 24
  */
25 25
 class TimeZoneUtil
26 26
 {
27
-    /** @var self */
28
-    private static $instance = null;
27
+	/** @var self */
28
+	private static $instance = null;
29 29
 
30
-    /** @var TimezoneGuesser[] */
31
-    private $timezoneGuessers = [];
30
+	/** @var TimezoneGuesser[] */
31
+	private $timezoneGuessers = [];
32 32
 
33
-    /** @var TimezoneFinder[] */
34
-    private $timezoneFinders = [];
33
+	/** @var TimezoneFinder[] */
34
+	private $timezoneFinders = [];
35 35
 
36
-    private function __construct()
37
-    {
38
-        $this->addGuesser('lic', new GuessFromLicEntry());
39
-        $this->addGuesser('msTzId', new GuessFromMsTzId());
40
-        $this->addFinder('tzid', new FindFromTimezoneIdentifier());
41
-        $this->addFinder('tzmap', new FindFromTimezoneMap());
42
-        $this->addFinder('offset', new FindFromOffset());
43
-    }
36
+	private function __construct()
37
+	{
38
+		$this->addGuesser('lic', new GuessFromLicEntry());
39
+		$this->addGuesser('msTzId', new GuessFromMsTzId());
40
+		$this->addFinder('tzid', new FindFromTimezoneIdentifier());
41
+		$this->addFinder('tzmap', new FindFromTimezoneMap());
42
+		$this->addFinder('offset', new FindFromOffset());
43
+	}
44 44
 
45
-    private static function getInstance(): self
46
-    {
47
-        if (null === self::$instance) {
48
-            self::$instance = new self();
49
-        }
45
+	private static function getInstance(): self
46
+	{
47
+		if (null === self::$instance) {
48
+			self::$instance = new self();
49
+		}
50 50
 
51
-        return self::$instance;
52
-    }
51
+		return self::$instance;
52
+	}
53 53
 
54
-    private function addGuesser(string $key, TimezoneGuesser $guesser): void
55
-    {
56
-        $this->timezoneGuessers[$key] = $guesser;
57
-    }
54
+	private function addGuesser(string $key, TimezoneGuesser $guesser): void
55
+	{
56
+		$this->timezoneGuessers[$key] = $guesser;
57
+	}
58 58
 
59
-    private function addFinder(string $key, TimezoneFinder $finder): void
60
-    {
61
-        $this->timezoneFinders[$key] = $finder;
62
-    }
59
+	private function addFinder(string $key, TimezoneFinder $finder): void
60
+	{
61
+		$this->timezoneFinders[$key] = $finder;
62
+	}
63 63
 
64
-    /**
65
-     * This method will try to find out the correct timezone for an iCalendar
66
-     * date-time value.
67
-     *
68
-     * You must pass the contents of the TZID parameter, as well as the full
69
-     * calendar.
70
-     *
71
-     * If the lookup fails, this method will return the default PHP timezone
72
-     * (as configured using date_default_timezone_set, or the date.timezone ini
73
-     * setting).
74
-     *
75
-     * Alternatively, if $failIfUncertain is set to true, it will throw an
76
-     * exception if we cannot accurately determine the timezone.
77
-     */
78
-    private function findTimeZone(string $tzid, Component $vcalendar = null, bool $failIfUncertain = false): DateTimeZone
79
-    {
80
-        foreach ($this->timezoneFinders as $timezoneFinder) {
81
-            $timezone = $timezoneFinder->find($tzid, $failIfUncertain);
82
-            if (!$timezone instanceof DateTimeZone) {
83
-                continue;
84
-            }
64
+	/**
65
+	 * This method will try to find out the correct timezone for an iCalendar
66
+	 * date-time value.
67
+	 *
68
+	 * You must pass the contents of the TZID parameter, as well as the full
69
+	 * calendar.
70
+	 *
71
+	 * If the lookup fails, this method will return the default PHP timezone
72
+	 * (as configured using date_default_timezone_set, or the date.timezone ini
73
+	 * setting).
74
+	 *
75
+	 * Alternatively, if $failIfUncertain is set to true, it will throw an
76
+	 * exception if we cannot accurately determine the timezone.
77
+	 */
78
+	private function findTimeZone(string $tzid, Component $vcalendar = null, bool $failIfUncertain = false): DateTimeZone
79
+	{
80
+		foreach ($this->timezoneFinders as $timezoneFinder) {
81
+			$timezone = $timezoneFinder->find($tzid, $failIfUncertain);
82
+			if (!$timezone instanceof DateTimeZone) {
83
+				continue;
84
+			}
85 85
 
86
-            return $timezone;
87
-        }
86
+			return $timezone;
87
+		}
88 88
 
89
-        if ($vcalendar) {
90
-            // If that didn't work, we will scan VTIMEZONE objects
91
-            foreach ($vcalendar->select('VTIMEZONE') as $vtimezone) {
92
-                if ((string) $vtimezone->TZID === $tzid) {
93
-                    foreach ($this->timezoneGuessers as $timezoneGuesser) {
94
-                        $timezone = $timezoneGuesser->guess($vtimezone, $failIfUncertain);
95
-                        if (!$timezone instanceof DateTimeZone) {
96
-                            continue;
97
-                        }
89
+		if ($vcalendar) {
90
+			// If that didn't work, we will scan VTIMEZONE objects
91
+			foreach ($vcalendar->select('VTIMEZONE') as $vtimezone) {
92
+				if ((string) $vtimezone->TZID === $tzid) {
93
+					foreach ($this->timezoneGuessers as $timezoneGuesser) {
94
+						$timezone = $timezoneGuesser->guess($vtimezone, $failIfUncertain);
95
+						if (!$timezone instanceof DateTimeZone) {
96
+							continue;
97
+						}
98 98
 
99
-                        return $timezone;
100
-                    }
101
-                }
102
-            }
103
-        }
99
+						return $timezone;
100
+					}
101
+				}
102
+			}
103
+		}
104 104
 
105
-        if ($failIfUncertain) {
106
-            throw new InvalidArgumentException('We were unable to determine the correct PHP timezone for tzid: '.$tzid);
107
-        }
105
+		if ($failIfUncertain) {
106
+			throw new InvalidArgumentException('We were unable to determine the correct PHP timezone for tzid: '.$tzid);
107
+		}
108 108
 
109
-        // If we got all the way here, we default to whatever has been set as the PHP default timezone.
110
-        return new DateTimeZone(date_default_timezone_get());
111
-    }
109
+		// If we got all the way here, we default to whatever has been set as the PHP default timezone.
110
+		return new DateTimeZone(date_default_timezone_get());
111
+	}
112 112
 
113
-    public static function addTimezoneGuesser(string $key, TimezoneGuesser $guesser): void
114
-    {
115
-        self::getInstance()->addGuesser($key, $guesser);
116
-    }
113
+	public static function addTimezoneGuesser(string $key, TimezoneGuesser $guesser): void
114
+	{
115
+		self::getInstance()->addGuesser($key, $guesser);
116
+	}
117 117
 
118
-    public static function addTimezoneFinder(string $key, TimezoneFinder $finder): void
119
-    {
120
-        self::getInstance()->addFinder($key, $finder);
121
-    }
118
+	public static function addTimezoneFinder(string $key, TimezoneFinder $finder): void
119
+	{
120
+		self::getInstance()->addFinder($key, $finder);
121
+	}
122 122
 
123
-    /**
124
-     * @param string $tzid
125
-     * @param false  $failIfUncertain
126
-     *
127
-     * @return DateTimeZone
128
-     */
129
-    public static function getTimeZone($tzid, Component $vcalendar = null, $failIfUncertain = false)
130
-    {
131
-        return self::getInstance()->findTimeZone($tzid, $vcalendar, $failIfUncertain);
132
-    }
123
+	/**
124
+	 * @param string $tzid
125
+	 * @param false  $failIfUncertain
126
+	 *
127
+	 * @return DateTimeZone
128
+	 */
129
+	public static function getTimeZone($tzid, Component $vcalendar = null, $failIfUncertain = false)
130
+	{
131
+		return self::getInstance()->findTimeZone($tzid, $vcalendar, $failIfUncertain);
132
+	}
133 133
 
134
-    public static function clean(): void
135
-    {
136
-        self::$instance = null;
137
-    }
134
+	public static function clean(): void
135
+	{
136
+		self::$instance = null;
137
+	}
138 138
 
139
-    // Keeping things for backwards compatibility
140
-    /**
141
-     * @var array|null
142
-     *
143
-     * @deprecated
144
-     */
145
-    public static $map = null;
139
+	// Keeping things for backwards compatibility
140
+	/**
141
+	 * @var array|null
142
+	 *
143
+	 * @deprecated
144
+	 */
145
+	public static $map = null;
146 146
 
147
-    /**
148
-     * List of microsoft exchange timezone ids.
149
-     *
150
-     * Source: http://msdn.microsoft.com/en-us/library/aa563018(loband).aspx
151
-     *
152
-     * @deprecated
153
-     */
154
-    public static $microsoftExchangeMap = [
155
-        0 => 'UTC',
156
-        31 => 'Africa/Casablanca',
157
-        // Insanely, id #2 is used for both Europe/Lisbon, and Europe/Sarajevo.
158
-        // I'm not even kidding.. We handle this special case in the
159
-        // getTimeZone method.
160
-        2 => 'Europe/Lisbon',
161
-        1 => 'Europe/London',
162
-        4 => 'Europe/Berlin',
163
-        6 => 'Europe/Prague',
164
-        3 => 'Europe/Paris',
165
-        69 => 'Africa/Luanda', // This was a best guess
166
-        7 => 'Europe/Athens',
167
-        5 => 'Europe/Bucharest',
168
-        49 => 'Africa/Cairo',
169
-        50 => 'Africa/Harare',
170
-        59 => 'Europe/Helsinki',
171
-        27 => 'Asia/Jerusalem',
172
-        26 => 'Asia/Baghdad',
173
-        74 => 'Asia/Kuwait',
174
-        51 => 'Europe/Moscow',
175
-        56 => 'Africa/Nairobi',
176
-        25 => 'Asia/Tehran',
177
-        24 => 'Asia/Muscat', // Best guess
178
-        54 => 'Asia/Baku',
179
-        48 => 'Asia/Kabul',
180
-        58 => 'Asia/Yekaterinburg',
181
-        47 => 'Asia/Karachi',
182
-        23 => 'Asia/Calcutta',
183
-        62 => 'Asia/Kathmandu',
184
-        46 => 'Asia/Almaty',
185
-        71 => 'Asia/Dhaka',
186
-        66 => 'Asia/Colombo',
187
-        61 => 'Asia/Rangoon',
188
-        22 => 'Asia/Bangkok',
189
-        64 => 'Asia/Krasnoyarsk',
190
-        45 => 'Asia/Shanghai',
191
-        63 => 'Asia/Irkutsk',
192
-        21 => 'Asia/Singapore',
193
-        73 => 'Australia/Perth',
194
-        75 => 'Asia/Taipei',
195
-        20 => 'Asia/Tokyo',
196
-        72 => 'Asia/Seoul',
197
-        70 => 'Asia/Yakutsk',
198
-        19 => 'Australia/Adelaide',
199
-        44 => 'Australia/Darwin',
200
-        18 => 'Australia/Brisbane',
201
-        76 => 'Australia/Sydney',
202
-        43 => 'Pacific/Guam',
203
-        42 => 'Australia/Hobart',
204
-        68 => 'Asia/Vladivostok',
205
-        41 => 'Asia/Magadan',
206
-        17 => 'Pacific/Auckland',
207
-        40 => 'Pacific/Fiji',
208
-        67 => 'Pacific/Tongatapu',
209
-        29 => 'Atlantic/Azores',
210
-        53 => 'Atlantic/Cape_Verde',
211
-        30 => 'America/Noronha',
212
-         8 => 'America/Sao_Paulo', // Best guess
213
-        32 => 'America/Argentina/Buenos_Aires',
214
-        60 => 'America/Godthab',
215
-        28 => 'America/St_Johns',
216
-         9 => 'America/Halifax',
217
-        33 => 'America/Caracas',
218
-        65 => 'America/Santiago',
219
-        35 => 'America/Bogota',
220
-        10 => 'America/New_York',
221
-        34 => 'America/Indiana/Indianapolis',
222
-        55 => 'America/Guatemala',
223
-        11 => 'America/Chicago',
224
-        37 => 'America/Mexico_City',
225
-        36 => 'America/Edmonton',
226
-        38 => 'America/Phoenix',
227
-        12 => 'America/Denver', // Best guess
228
-        13 => 'America/Los_Angeles', // Best guess
229
-        14 => 'America/Anchorage',
230
-        15 => 'Pacific/Honolulu',
231
-        16 => 'Pacific/Midway',
232
-        39 => 'Pacific/Kwajalein',
233
-    ];
147
+	/**
148
+	 * List of microsoft exchange timezone ids.
149
+	 *
150
+	 * Source: http://msdn.microsoft.com/en-us/library/aa563018(loband).aspx
151
+	 *
152
+	 * @deprecated
153
+	 */
154
+	public static $microsoftExchangeMap = [
155
+		0 => 'UTC',
156
+		31 => 'Africa/Casablanca',
157
+		// Insanely, id #2 is used for both Europe/Lisbon, and Europe/Sarajevo.
158
+		// I'm not even kidding.. We handle this special case in the
159
+		// getTimeZone method.
160
+		2 => 'Europe/Lisbon',
161
+		1 => 'Europe/London',
162
+		4 => 'Europe/Berlin',
163
+		6 => 'Europe/Prague',
164
+		3 => 'Europe/Paris',
165
+		69 => 'Africa/Luanda', // This was a best guess
166
+		7 => 'Europe/Athens',
167
+		5 => 'Europe/Bucharest',
168
+		49 => 'Africa/Cairo',
169
+		50 => 'Africa/Harare',
170
+		59 => 'Europe/Helsinki',
171
+		27 => 'Asia/Jerusalem',
172
+		26 => 'Asia/Baghdad',
173
+		74 => 'Asia/Kuwait',
174
+		51 => 'Europe/Moscow',
175
+		56 => 'Africa/Nairobi',
176
+		25 => 'Asia/Tehran',
177
+		24 => 'Asia/Muscat', // Best guess
178
+		54 => 'Asia/Baku',
179
+		48 => 'Asia/Kabul',
180
+		58 => 'Asia/Yekaterinburg',
181
+		47 => 'Asia/Karachi',
182
+		23 => 'Asia/Calcutta',
183
+		62 => 'Asia/Kathmandu',
184
+		46 => 'Asia/Almaty',
185
+		71 => 'Asia/Dhaka',
186
+		66 => 'Asia/Colombo',
187
+		61 => 'Asia/Rangoon',
188
+		22 => 'Asia/Bangkok',
189
+		64 => 'Asia/Krasnoyarsk',
190
+		45 => 'Asia/Shanghai',
191
+		63 => 'Asia/Irkutsk',
192
+		21 => 'Asia/Singapore',
193
+		73 => 'Australia/Perth',
194
+		75 => 'Asia/Taipei',
195
+		20 => 'Asia/Tokyo',
196
+		72 => 'Asia/Seoul',
197
+		70 => 'Asia/Yakutsk',
198
+		19 => 'Australia/Adelaide',
199
+		44 => 'Australia/Darwin',
200
+		18 => 'Australia/Brisbane',
201
+		76 => 'Australia/Sydney',
202
+		43 => 'Pacific/Guam',
203
+		42 => 'Australia/Hobart',
204
+		68 => 'Asia/Vladivostok',
205
+		41 => 'Asia/Magadan',
206
+		17 => 'Pacific/Auckland',
207
+		40 => 'Pacific/Fiji',
208
+		67 => 'Pacific/Tongatapu',
209
+		29 => 'Atlantic/Azores',
210
+		53 => 'Atlantic/Cape_Verde',
211
+		30 => 'America/Noronha',
212
+		 8 => 'America/Sao_Paulo', // Best guess
213
+		32 => 'America/Argentina/Buenos_Aires',
214
+		60 => 'America/Godthab',
215
+		28 => 'America/St_Johns',
216
+		 9 => 'America/Halifax',
217
+		33 => 'America/Caracas',
218
+		65 => 'America/Santiago',
219
+		35 => 'America/Bogota',
220
+		10 => 'America/New_York',
221
+		34 => 'America/Indiana/Indianapolis',
222
+		55 => 'America/Guatemala',
223
+		11 => 'America/Chicago',
224
+		37 => 'America/Mexico_City',
225
+		36 => 'America/Edmonton',
226
+		38 => 'America/Phoenix',
227
+		12 => 'America/Denver', // Best guess
228
+		13 => 'America/Los_Angeles', // Best guess
229
+		14 => 'America/Anchorage',
230
+		15 => 'Pacific/Honolulu',
231
+		16 => 'Pacific/Midway',
232
+		39 => 'Pacific/Kwajalein',
233
+	];
234 234
 
235
-    /**
236
-     * This method will load in all the tz mapping information, if it's not yet
237
-     * done.
238
-     *
239
-     * @deprecated
240
-     */
241
-    public static function loadTzMaps()
242
-    {
243
-        if (!is_null(self::$map)) {
244
-            return;
245
-        }
235
+	/**
236
+	 * This method will load in all the tz mapping information, if it's not yet
237
+	 * done.
238
+	 *
239
+	 * @deprecated
240
+	 */
241
+	public static function loadTzMaps()
242
+	{
243
+		if (!is_null(self::$map)) {
244
+			return;
245
+		}
246 246
 
247
-        self::$map = array_merge(
248
-            include __DIR__.'/timezonedata/windowszones.php',
249
-            include __DIR__.'/timezonedata/lotuszones.php',
250
-            include __DIR__.'/timezonedata/exchangezones.php',
251
-            include __DIR__.'/timezonedata/php-workaround.php'
252
-        );
253
-    }
247
+		self::$map = array_merge(
248
+			include __DIR__.'/timezonedata/windowszones.php',
249
+			include __DIR__.'/timezonedata/lotuszones.php',
250
+			include __DIR__.'/timezonedata/exchangezones.php',
251
+			include __DIR__.'/timezonedata/php-workaround.php'
252
+		);
253
+	}
254 254
 
255
-    /**
256
-     * This method returns an array of timezone identifiers, that are supported
257
-     * by DateTimeZone(), but not returned by DateTimeZone::listIdentifiers().
258
-     *
259
-     * We're not using DateTimeZone::listIdentifiers(DateTimeZone::ALL_WITH_BC) because:
260
-     * - It's not supported by some PHP versions as well as HHVM.
261
-     * - It also returns identifiers, that are invalid values for new DateTimeZone() on some PHP versions.
262
-     * (See timezonedata/php-bc.php and timezonedata php-workaround.php)
263
-     *
264
-     * @return array
265
-     *
266
-     * @deprecated
267
-     */
268
-    public static function getIdentifiersBC()
269
-    {
270
-        return include __DIR__.'/timezonedata/php-bc.php';
271
-    }
255
+	/**
256
+	 * This method returns an array of timezone identifiers, that are supported
257
+	 * by DateTimeZone(), but not returned by DateTimeZone::listIdentifiers().
258
+	 *
259
+	 * We're not using DateTimeZone::listIdentifiers(DateTimeZone::ALL_WITH_BC) because:
260
+	 * - It's not supported by some PHP versions as well as HHVM.
261
+	 * - It also returns identifiers, that are invalid values for new DateTimeZone() on some PHP versions.
262
+	 * (See timezonedata/php-bc.php and timezonedata php-workaround.php)
263
+	 *
264
+	 * @return array
265
+	 *
266
+	 * @deprecated
267
+	 */
268
+	public static function getIdentifiersBC()
269
+	{
270
+		return include __DIR__.'/timezonedata/php-bc.php';
271
+	}
272 272
 }
Please login to merge, or discard this patch.