aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/sabre/dav/lib/Sabre/DAV/FSExt
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/sabre/dav/lib/Sabre/DAV/FSExt')
-rw-r--r--vendor/sabre/dav/lib/Sabre/DAV/FSExt/Directory.php159
-rw-r--r--vendor/sabre/dav/lib/Sabre/DAV/FSExt/File.php146
-rw-r--r--vendor/sabre/dav/lib/Sabre/DAV/FSExt/Node.php214
3 files changed, 0 insertions, 519 deletions
diff --git a/vendor/sabre/dav/lib/Sabre/DAV/FSExt/Directory.php b/vendor/sabre/dav/lib/Sabre/DAV/FSExt/Directory.php
deleted file mode 100644
index da3d2cc69..000000000
--- a/vendor/sabre/dav/lib/Sabre/DAV/FSExt/Directory.php
+++ /dev/null
@@ -1,159 +0,0 @@
-<?php
-
-namespace Sabre\DAV\FSExt;
-
-use Sabre\DAV;
-
-/**
- * Directory class
- *
- * @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
- * @author Evert Pot (http://evertpot.com/)
- * @license http://sabre.io/license/ Modified BSD License
- */
-class Directory extends Node implements DAV\ICollection, DAV\IQuota {
-
- /**
- * Creates a new file in the directory
- *
- * Data will either be supplied as a stream resource, or in certain cases
- * as a string. Keep in mind that you may have to support either.
- *
- * After successful creation of the file, you may choose to return the ETag
- * of the new file here.
- *
- * The returned ETag must be surrounded by double-quotes (The quotes should
- * be part of the actual string).
- *
- * If you cannot accurately determine the ETag, you should not return it.
- * If you don't store the file exactly as-is (you're transforming it
- * somehow) you should also not return an ETag.
- *
- * This means that if a subsequent GET to this new file does not exactly
- * return the same contents of what was submitted here, you are strongly
- * recommended to omit the ETag.
- *
- * @param string $name Name of the file
- * @param resource|string $data Initial payload
- * @return null|string
- */
- public function createFile($name, $data = null) {
-
- // We're not allowing dots
- if ($name=='.' || $name=='..') throw new DAV\Exception\Forbidden('Permission denied to . and ..');
- $newPath = $this->path . '/' . $name;
- file_put_contents($newPath,$data);
-
- return '"' . md5_file($newPath) . '"';
-
- }
-
- /**
- * Creates a new subdirectory
- *
- * @param string $name
- * @return void
- */
- public function createDirectory($name) {
-
- // We're not allowing dots
- if ($name=='.' || $name=='..') throw new DAV\Exception\Forbidden('Permission denied to . and ..');
- $newPath = $this->path . '/' . $name;
- mkdir($newPath);
-
- }
-
- /**
- * Returns a specific child node, referenced by its name
- *
- * This method must throw Sabre\DAV\Exception\NotFound if the node does not
- * exist.
- *
- * @param string $name
- * @throws DAV\Exception\NotFound
- * @return DAV\INode
- */
- public function getChild($name) {
-
- $path = $this->path . '/' . $name;
-
- if (!file_exists($path)) throw new DAV\Exception\NotFound('File could not be located');
- if ($name=='.' || $name=='..') throw new DAV\Exception\Forbidden('Permission denied to . and ..');
-
- if (is_dir($path)) {
-
- return new Directory($path);
-
- } else {
-
- return new File($path);
-
- }
-
- }
-
- /**
- * Checks if a child exists.
- *
- * @param string $name
- * @return bool
- */
- public function childExists($name) {
-
- if ($name=='.' || $name=='..')
- throw new DAV\Exception\Forbidden('Permission denied to . and ..');
-
- $path = $this->path . '/' . $name;
- return file_exists($path);
-
- }
-
- /**
- * Returns an array with all the child nodes
- *
- * @return DAV\INode[]
- */
- public function getChildren() {
-
- $nodes = array();
- foreach(scandir($this->path) as $node) if($node!='.' && $node!='..' && $node!='.sabredav') $nodes[] = $this->getChild($node);
- return $nodes;
-
- }
-
- /**
- * Deletes all files in this directory, and then itself
- *
- * @return bool
- */
- public function delete() {
-
- // Deleting all children
- foreach($this->getChildren() as $child) $child->delete();
-
- // Removing resource info, if its still around
- if (file_exists($this->path . '/.sabredav')) unlink($this->path . '/.sabredav');
-
- // Removing the directory itself
- rmdir($this->path);
-
- return parent::delete();
-
- }
-
- /**
- * Returns available diskspace information
- *
- * @return array
- */
- public function getQuotaInfo() {
-
- return array(
- disk_total_space($this->path)-disk_free_space($this->path),
- disk_free_space($this->path)
- );
-
- }
-
-}
-
diff --git a/vendor/sabre/dav/lib/Sabre/DAV/FSExt/File.php b/vendor/sabre/dav/lib/Sabre/DAV/FSExt/File.php
deleted file mode 100644
index 6588fad7e..000000000
--- a/vendor/sabre/dav/lib/Sabre/DAV/FSExt/File.php
+++ /dev/null
@@ -1,146 +0,0 @@
-<?php
-
-namespace Sabre\DAV\FSExt;
-use Sabre\DAV;
-
-/**
- * File class
- *
- * @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
- * @author Evert Pot (http://evertpot.com/)
- * @license http://sabre.io/license/ Modified BSD License
- */
-class File extends Node implements DAV\PartialUpdate\IPatchSupport {
-
- /**
- * Updates the data
- *
- * data is a readable stream resource.
- *
- * @param resource|string $data
- * @return string
- */
- public function put($data) {
-
- file_put_contents($this->path,$data);
- return '"' . md5_file($this->path) . '"';
-
- }
-
- /**
- * Updates the file based on a range specification.
- *
- * The first argument is the data, which is either a readable stream
- * resource or a string.
- *
- * The second argument is the type of update we're doing.
- * This is either:
- * * 1. append
- * * 2. update based on a start byte
- * * 3. update based on an end byte
- *;
- * The third argument is the start or end byte.
- *
- * After a successful put operation, you may choose to return an ETag. The
- * etag must always be surrounded by double-quotes. These quotes must
- * appear in the actual string you're returning.
- *
- * Clients may use the ETag from a PUT request to later on make sure that
- * when they update the file, the contents haven't changed in the mean
- * time.
- *
- * @param resource|string $data
- * @param int $rangeType
- * @param int $offset
- * @return string|null
- */
- public function patch($data, $rangeType, $offset = null) {
-
- switch($rangeType) {
- case 1 :
- $f = fopen($this->path, 'a');
- break;
- case 2 :
- $f = fopen($this->path, 'c');
- fseek($f,$offset);
- break;
- case 3 :
- $f = fopen($this->path, 'c');
- fseek($f, $offset, SEEK_END);
- break;
- }
- if (is_string($data)) {
- fwrite($f, $data);
- } else {
- stream_copy_to_stream($data,$f);
- }
- fclose($f);
- return '"' . md5_file($this->path) . '"';
-
- }
-
- /**
- * Returns the data
- *
- * @return resource
- */
- public function get() {
-
- return fopen($this->path,'r');
-
- }
-
- /**
- * Delete the current file
- *
- * @return bool
- */
- public function delete() {
-
- unlink($this->path);
- return parent::delete();
-
- }
-
- /**
- * Returns the ETag for a file
- *
- * An ETag is a unique identifier representing the current version of the file. If the file changes, the ETag MUST change.
- * The ETag is an arbitrary string, but MUST be surrounded by double-quotes.
- *
- * Return null if the ETag can not effectively be determined
- *
- * @return string|null
- */
- public function getETag() {
-
- return '"' . md5_file($this->path). '"';
-
- }
-
- /**
- * Returns the mime-type for a file
- *
- * If null is returned, we'll assume application/octet-stream
- *
- * @return string|null
- */
- public function getContentType() {
-
- return null;
-
- }
-
- /**
- * Returns the size of the file, in bytes
- *
- * @return int
- */
- public function getSize() {
-
- return filesize($this->path);
-
- }
-
-}
-
diff --git a/vendor/sabre/dav/lib/Sabre/DAV/FSExt/Node.php b/vendor/sabre/dav/lib/Sabre/DAV/FSExt/Node.php
deleted file mode 100644
index 0e11582f3..000000000
--- a/vendor/sabre/dav/lib/Sabre/DAV/FSExt/Node.php
+++ /dev/null
@@ -1,214 +0,0 @@
-<?php
-
-namespace Sabre\DAV\FSExt;
-
-use Sabre\DAV;
-
-/**
- * Base node-class
- *
- * The node class implements the method used by both the File and the Directory classes
- *
- * @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
- * @author Evert Pot (http://evertpot.com/)
- * @license http://sabre.io/license/ Modified BSD License
- */
-abstract class Node extends DAV\FS\Node implements DAV\IProperties {
-
- /**
- * Updates properties on this node,
- *
- * @param array $properties
- * @see Sabre\DAV\IProperties::updateProperties
- * @return bool|array
- */
- public function updateProperties($properties) {
-
- $resourceData = $this->getResourceData();
-
- foreach($properties as $propertyName=>$propertyValue) {
-
- // If it was null, we need to delete the property
- if (is_null($propertyValue)) {
- if (isset($resourceData['properties'][$propertyName])) {
- unset($resourceData['properties'][$propertyName]);
- }
- } else {
- $resourceData['properties'][$propertyName] = $propertyValue;
- }
-
- }
-
- $this->putResourceData($resourceData);
- return true;
- }
-
- /**
- * Returns a list of properties for this nodes.;
- *
- * The properties list is a list of propertynames the client requested, encoded as xmlnamespace#tagName, for example: http://www.example.org/namespace#author
- * If the array is empty, all properties should be returned
- *
- * @param array $properties
- * @return array
- */
- function getProperties($properties) {
-
- $resourceData = $this->getResourceData();
-
- // if the array was empty, we need to return everything
- if (!$properties) return $resourceData['properties'];
-
- $props = array();
- foreach($properties as $property) {
- if (isset($resourceData['properties'][$property])) $props[$property] = $resourceData['properties'][$property];
- }
-
- return $props;
-
- }
-
- /**
- * Returns the path to the resource file
- *
- * @return string
- */
- protected function getResourceInfoPath() {
-
- list($parentDir) = DAV\URLUtil::splitPath($this->path);
- return $parentDir . '/.sabredav';
-
- }
-
- /**
- * Returns all the stored resource information
- *
- * @return array
- */
- protected function getResourceData() {
-
- $path = $this->getResourceInfoPath();
- if (!file_exists($path)) return array('properties' => array());
-
- // opening up the file, and creating a shared lock
- $handle = fopen($path,'r');
- flock($handle,LOCK_SH);
- $data = '';
-
- // Reading data until the eof
- while(!feof($handle)) {
- $data.=fread($handle,8192);
- }
-
- // We're all good
- fclose($handle);
-
- // Unserializing and checking if the resource file contains data for this file
- $data = unserialize($data);
- if (!isset($data[$this->getName()])) {
- return array('properties' => array());
- }
-
- $data = $data[$this->getName()];
- if (!isset($data['properties'])) $data['properties'] = array();
- return $data;
-
- }
-
- /**
- * Updates the resource information
- *
- * @param array $newData
- * @return void
- */
- protected function putResourceData(array $newData) {
-
- $path = $this->getResourceInfoPath();
-
- // opening up the file, and creating a shared lock
- $handle = fopen($path,'a+');
- flock($handle,LOCK_EX);
- $data = '';
-
- rewind($handle);
-
- // Reading data until the eof
- while(!feof($handle)) {
- $data.=fread($handle,8192);
- }
-
- // Unserializing and checking if the resource file contains data for this file
- $data = unserialize($data);
- $data[$this->getName()] = $newData;
- ftruncate($handle,0);
- rewind($handle);
-
- fwrite($handle,serialize($data));
- fclose($handle);
-
- }
-
- /**
- * Renames the node
- *
- * @param string $name The new name
- * @return void
- */
- public function setName($name) {
-
- list($parentPath, ) = DAV\URLUtil::splitPath($this->path);
- list(, $newName) = DAV\URLUtil::splitPath($name);
- $newPath = $parentPath . '/' . $newName;
-
- // We're deleting the existing resourcedata, and recreating it
- // for the new path.
- $resourceData = $this->getResourceData();
- $this->deleteResourceData();
-
- rename($this->path,$newPath);
- $this->path = $newPath;
- $this->putResourceData($resourceData);
-
-
- }
-
- /**
- * @return bool
- */
- public function deleteResourceData() {
-
- // When we're deleting this node, we also need to delete any resource information
- $path = $this->getResourceInfoPath();
- if (!file_exists($path)) return true;
-
- // opening up the file, and creating a shared lock
- $handle = fopen($path,'a+');
- flock($handle,LOCK_EX);
- $data = '';
-
- rewind($handle);
-
- // Reading data until the eof
- while(!feof($handle)) {
- $data.=fread($handle,8192);
- }
-
- // Unserializing and checking if the resource file contains data for this file
- $data = unserialize($data);
- if (isset($data[$this->getName()])) unset($data[$this->getName()]);
- ftruncate($handle,0);
- rewind($handle);
- fwrite($handle,serialize($data));
- fclose($handle);
-
- return true;
- }
-
- public function delete() {
-
- return $this->deleteResourceData();
-
- }
-
-}
-