diff options
author | Robin Appelman <icewind@owncloud.com> | 2013-11-25 21:25:04 +0100 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2013-11-25 21:25:04 +0100 |
commit | 9fbccc83e3bdae664f7696da8d1902a516252830 (patch) | |
tree | a55ca135dd1e16a3c66ba9031dc3a4668c600e13 /lib | |
parent | a609a5364779acb8ac27b337ad453dc9c8a39811 (diff) | |
parent | 844b4785f1e992391d51ef34eacc5cfda107ee50 (diff) | |
download | nextcloud-server-9fbccc83e3bdae664f7696da8d1902a516252830.tar.gz nextcloud-server-9fbccc83e3bdae664f7696da8d1902a516252830.zip |
merge master into single-user-mode
Diffstat (limited to 'lib')
32 files changed, 276 insertions, 32 deletions
diff --git a/lib/base.php b/lib/base.php index b361ac3c71a..2feedd81d8c 100644 --- a/lib/base.php +++ b/lib/base.php @@ -178,11 +178,19 @@ class OC { if (file_exists(OC::$SERVERROOT . "/config/config.php") and !is_writable(OC::$SERVERROOT . "/config/config.php")) { $defaults = new OC_Defaults(); - OC_Template::printErrorPage( - "Can't write into config directory!", - 'This can usually be fixed by ' - .'<a href="' . \OC_Helper::linkToDocs('admin-dir_permissions') . '" target="_blank">giving the webserver write access to the config directory</a>.' - ); + if (self::$CLI) { + echo "Can't write into config directory!\n"; + echo "This can usually be fixed by giving the webserver write access to the config directory\n"; + echo "\n"; + echo "See " . \OC_Helper::linkToDocs('admin-dir_permissions') . "\n"; + exit; + } else { + OC_Template::printErrorPage( + "Can't write into config directory!", + 'This can usually be fixed by ' + .'<a href="' . \OC_Helper::linkToDocs('admin-dir_permissions') . '" target="_blank">giving the webserver write access to the config directory</a>.' + ); + } } } @@ -496,7 +504,14 @@ class OC { $errors = OC_Util::checkServer(); if (count($errors) > 0) { - OC_Template::printGuestPage('', 'error', array('errors' => $errors)); + if (self::$CLI) { + foreach ($errors as $error) { + echo $error['error']."\n"; + echo $error['hint'] . "\n\n"; + } + } else { + OC_Template::printGuestPage('', 'error', array('errors' => $errors)); + } exit; } diff --git a/lib/private/connector/sabre/filesplugin.php b/lib/private/connector/sabre/filesplugin.php index 1c80ebe8044..65231040fb5 100644 --- a/lib/private/connector/sabre/filesplugin.php +++ b/lib/private/connector/sabre/filesplugin.php @@ -78,7 +78,19 @@ class OC_Connector_Sabre_FilesPlugin extends Sabre_DAV_ServerPlugin * @throws Sabre_DAV_Exception_BadRequest */ public function sendFileIdHeader($filePath, Sabre_DAV_INode $node = null) { + // chunked upload handling + if (isset($_SERVER['HTTP_OC_CHUNKED'])) { + list($path, $name) = \Sabre_DAV_URLUtil::splitPath($filePath); + $info = OC_FileChunking::decodeName($name); + if (!empty($info)) { + $filePath = $path . '/' . $info['name']; + } + } + // we get the node for the given $filePath here because in case of afterCreateFile $node is the parent folder + if (!$this->server->tree->nodeExists($filePath)) { + return; + } $node = $this->server->tree->getNodeForPath($filePath); if ($node instanceof OC_Connector_Sabre_Node) { $fileId = $node->getFileId(); diff --git a/lib/private/defaults.php b/lib/private/defaults.php index 4951c6f50ae..cec9a65c7f3 100644 --- a/lib/private/defaults.php +++ b/lib/private/defaults.php @@ -1,15 +1,13 @@ <?php -/** - * Default strings and values which differ between the enterprise and the - * community edition. Use the get methods to always get the right strings. - */ - - if (file_exists(OC::$SERVERROOT . '/themes/' . OC_Util::getTheme() . '/defaults.php')) { require_once 'themes/' . OC_Util::getTheme() . '/defaults.php'; } +/** + * Default strings and values which differ between the enterprise and the + * community edition. Use the get methods to always get the right strings. + */ class OC_Defaults { private $theme; @@ -48,6 +46,10 @@ class OC_Defaults { return false; } + /** + * Returns the base URL + * @return string URL + */ public function getBaseUrl() { if ($this->themeExist('getBaseUrl')) { return $this->theme->getBaseUrl(); @@ -56,6 +58,10 @@ class OC_Defaults { } } + /** + * Returns the URL where the sync clients are listed + * @return string URL + */ public function getSyncClientUrl() { if ($this->themeExist('getSyncClientUrl')) { return $this->theme->getSyncClientUrl(); @@ -64,6 +70,10 @@ class OC_Defaults { } } + /** + * Returns the documentation URL + * @return string URL + */ public function getDocBaseUrl() { if ($this->themeExist('getDocBaseUrl')) { return $this->theme->getDocBaseUrl(); @@ -72,6 +82,10 @@ class OC_Defaults { } } + /** + * Returns the title + * @return string title + */ public function getTitle() { if ($this->themeExist('getTitle')) { return $this->theme->getTitle(); @@ -80,6 +94,10 @@ class OC_Defaults { } } + /** + * Returns the short name of the software + * @return string title + */ public function getName() { if ($this->themeExist('getName')) { return $this->theme->getName(); @@ -88,6 +106,10 @@ class OC_Defaults { } } + /** + * Returns entity (e.g. company name) - used for footer, copyright + * @return string entity name + */ public function getEntity() { if ($this->themeExist('getEntity')) { return $this->theme->getEntity(); @@ -96,6 +118,10 @@ class OC_Defaults { } } + /** + * Returns slogan + * @return string slogan + */ public function getSlogan() { if ($this->themeExist('getSlogan')) { return $this->theme->getSlogan(); @@ -104,6 +130,10 @@ class OC_Defaults { } } + /** + * Returns logo claim + * @return string logo claim + */ public function getLogoClaim() { if ($this->themeExist('getLogoClaim')) { return $this->theme->getLogoClaim(); @@ -112,6 +142,10 @@ class OC_Defaults { } } + /** + * Returns short version of the footer + * @return string short footer + */ public function getShortFooter() { if ($this->themeExist('getShortFooter')) { $footer = $this->theme->getShortFooter(); @@ -123,6 +157,10 @@ class OC_Defaults { return $footer; } + /** + * Returns long version of the footer + * @return string long footer + */ public function getLongFooter() { if ($this->themeExist('getLongFooter')) { $footer = $this->theme->getLongFooter(); diff --git a/lib/private/request.php b/lib/private/request.php index d11e5b16cfe..7a75bf25208 100755 --- a/lib/private/request.php +++ b/lib/private/request.php @@ -136,7 +136,18 @@ class OC_Request { * @returns string Path info or false when not found */ public static function getRawPathInfo() { - $path_info = substr($_SERVER['REQUEST_URI'], strlen($_SERVER['SCRIPT_NAME'])); + $requestUri = $_SERVER['REQUEST_URI']; + // remove too many leading slashes - can be caused by reverse proxy configuration + if (strpos($requestUri, '/') === 0) { + $requestUri = '/' . ltrim($requestUri, '/'); + } + + $scriptName = $_SERVER['SCRIPT_NAME']; + // in case uri and script name don't match we better throw an exception + if (strpos($requestUri, $scriptName) !== 0) { + throw new Exception("REQUEST_URI($requestUri) does not start with the SCRIPT_NAME($scriptName)"); + } + $path_info = substr($requestUri, strlen($scriptName)); // Remove the query string from REQUEST_URI if ($pos = strpos($path_info, '?')) { $path_info = substr($path_info, 0, $pos); diff --git a/lib/public/activity/iconsumer.php b/lib/public/activity/iconsumer.php index a0134a379dc..9afacf4e745 100644 --- a/lib/public/activity/iconsumer.php +++ b/lib/public/activity/iconsumer.php @@ -20,6 +20,11 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Activity/IConsumer interface + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Activity; diff --git a/lib/public/activity/imanager.php b/lib/public/activity/imanager.php index 90215d637c0..086e430d677 100644 --- a/lib/public/activity/imanager.php +++ b/lib/public/activity/imanager.php @@ -20,6 +20,11 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Activity/IManager interface + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Activity; @@ -47,7 +52,6 @@ interface IManager { * * $callable has to return an instance of OCA\Activity\IConsumer * - * @param string $key * @param \Closure $callable */ function registerConsumer(\Closure $callable); diff --git a/lib/public/appframework/app.php b/lib/public/appframework/app.php index 6ac48bf102a..0ff6648c5d4 100644 --- a/lib/public/appframework/app.php +++ b/lib/public/appframework/app.php @@ -20,6 +20,11 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * AppFramework/App class + */ + namespace OCP\AppFramework; diff --git a/lib/public/appframework/controller.php b/lib/public/appframework/controller.php index 320e0cfebb2..dc8da967871 100644 --- a/lib/public/appframework/controller.php +++ b/lib/public/appframework/controller.php @@ -20,6 +20,10 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * AppFramework\Controller class + */ namespace OCP\AppFramework; @@ -34,16 +38,19 @@ use OCP\IRequest; abstract class Controller { /** + * app container for dependency injection * @var \OCP\AppFramework\IAppContainer */ protected $app; /** + * current request * @var \OCP\IRequest */ protected $request; /** + * constructor of the controller * @param IAppContainer $app interface to the app * @param IRequest $request an instance of the request */ diff --git a/lib/public/appframework/http.php b/lib/public/appframework/http.php index c584d4ec670..60f314202cc 100644 --- a/lib/public/appframework/http.php +++ b/lib/public/appframework/http.php @@ -20,10 +20,16 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * AppFramework\HTTP class + */ namespace OCP\AppFramework; - +/** + * Base class which contains constants for HTTP status codes + */ class Http { const STATUS_CONTINUE = 100; diff --git a/lib/public/appframework/http/jsonresponse.php b/lib/public/appframework/http/jsonresponse.php index 7c2b609bc2e..b54b23a34e6 100644 --- a/lib/public/appframework/http/jsonresponse.php +++ b/lib/public/appframework/http/jsonresponse.php @@ -20,6 +20,10 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * AppFramework\HTTP\JSONResponse class + */ namespace OCP\AppFramework\Http; @@ -30,10 +34,15 @@ use OCP\AppFramework\Http; */ class JSONResponse extends Response { + /** + * response data + * @var array|object + */ protected $data; /** + * constructor of JSONResponse * @param array|object $data the object or array that should be transformed * @param int $statusCode the Http status code, defaults to 200 */ @@ -55,7 +64,7 @@ class JSONResponse extends Response { /** * Sets values in the data json array - * @param array|object $params an array or object which will be transformed + * @param array|object $data an array or object which will be transformed * to JSON */ public function setData($data){ diff --git a/lib/public/appframework/http/response.php b/lib/public/appframework/http/response.php index f776878a814..0f5a18ca4fe 100644 --- a/lib/public/appframework/http/response.php +++ b/lib/public/appframework/http/response.php @@ -20,6 +20,10 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * AppFramework\HTTP\Response class + */ namespace OCP\AppFramework\Http; diff --git a/lib/public/appframework/http/templateresponse.php b/lib/public/appframework/http/templateresponse.php index 6156f8062fc..2200a38beca 100644 --- a/lib/public/appframework/http/templateresponse.php +++ b/lib/public/appframework/http/templateresponse.php @@ -20,6 +20,10 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * AppFramework\HTTP\TemplateResponse class + */ namespace OCP\AppFramework\Http; @@ -29,14 +33,34 @@ namespace OCP\AppFramework\Http; */ class TemplateResponse extends Response { + /** + * name of the template + * @var string + */ protected $templateName; + + /** + * parameters + * @var array + */ protected $params; + + /** + * rendering type (admin, user, blank) + * @var string + */ protected $renderAs; + + /** + * app name + * @var string + */ protected $appName; /** - * @param string $templateName the name of the template + * constructor of TemplateResponse * @param string $appName the name of the app to load the template from + * @param string $templateName the name of the template */ public function __construct($appName, $templateName) { $this->templateName = $templateName; diff --git a/lib/public/appframework/iapi.php b/lib/public/appframework/iapi.php index a22b056635e..963e870f79b 100644 --- a/lib/public/appframework/iapi.php +++ b/lib/public/appframework/iapi.php @@ -20,6 +20,10 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * AppFramework/IApi interface + */ namespace OCP\AppFramework; diff --git a/lib/public/appframework/middleware.php b/lib/public/appframework/middleware.php index c4ee1c0dbae..24f31939935 100644 --- a/lib/public/appframework/middleware.php +++ b/lib/public/appframework/middleware.php @@ -20,6 +20,10 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * AppFramework\Middleware class + */ namespace OCP\AppFramework; diff --git a/lib/public/authentication/iapachebackend.php b/lib/public/authentication/iapachebackend.php index 2d2f8c4e486..3979a14302e 100644 --- a/lib/public/authentication/iapachebackend.php +++ b/lib/public/authentication/iapachebackend.php @@ -20,6 +20,11 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Authentication/IApacheBackend interface + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Authentication; diff --git a/lib/public/db.php b/lib/public/db.php index b9424b53862..c9997c79c3c 100644 --- a/lib/public/db.php +++ b/lib/public/db.php @@ -37,6 +37,8 @@ class DB { /** * Prepare a SQL query * @param string $query Query string + * @param int $limit Limit of the SQL statement + * @param int $offset Offset of the SQL statement * @return \MDB2_Statement_Common prepared SQL query * * SQL query via MDB2 prepare(), needs to be execute()'d! diff --git a/lib/public/defaults.php b/lib/public/defaults.php index 8f7853a86a3..34b68903ee8 100644 --- a/lib/public/defaults.php +++ b/lib/public/defaults.php @@ -30,19 +30,27 @@ // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP; -/* +/** * public api to access default strings and urls for your templates */ class Defaults { + /** + * \OC_Defaults instance to retrieve the defaults + * @return string + */ private $defaults; + /** + * creates a \OC_Defaults instance which is used in all methods to retrieve the + * actual defaults + */ function __construct() { $this->defaults = new \OC_Defaults(); } /** - * @breif get base URL for the organisation behind your ownCloud instance + * get base URL for the organisation behind your ownCloud instance * @return string */ public function getBaseUrl() { @@ -50,7 +58,7 @@ class Defaults { } /** - * @breif link to the desktop sync client + * link to the desktop sync client * @return string */ public function getSyncClientUrl() { @@ -58,7 +66,7 @@ class Defaults { } /** - * @breif base URL to the documentation of your ownCloud instance + * base URL to the documentation of your ownCloud instance * @return string */ public function getDocBaseUrl() { @@ -66,7 +74,7 @@ class Defaults { } /** - * @breif name of your ownCloud instance + * name of your ownCloud instance * @return string */ public function getName() { @@ -74,7 +82,7 @@ class Defaults { } /** - * @breif Entity behind your onwCloud instance + * Entity behind your onwCloud instance * @return string */ public function getEntity() { @@ -82,7 +90,7 @@ class Defaults { } /** - * @breif ownCloud slogan + * ownCloud slogan * @return string */ public function getSlogan() { @@ -90,7 +98,7 @@ class Defaults { } /** - * @breif logo claim + * logo claim * @return string */ public function getLogoClaim() { @@ -98,7 +106,7 @@ class Defaults { } /** - * @breif footer, short version + * footer, short version * @return string */ public function getShortFooter() { @@ -106,7 +114,7 @@ class Defaults { } /** - * @breif footer, long version + * footer, long version * @return string */ public function getLongFooter() { diff --git a/lib/public/files/alreadyexistsexception.php b/lib/public/files/alreadyexistsexception.php index 3132e3b0c31..7bea947aef0 100644 --- a/lib/public/files/alreadyexistsexception.php +++ b/lib/public/files/alreadyexistsexception.php @@ -20,8 +20,16 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/AlreadyExistsException class + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; +/** + * Exception for already existing files/folders + */ class AlreadyExistsException extends \Exception {} diff --git a/lib/public/files/entitytoolargeexception.php b/lib/public/files/entitytoolargeexception.php index e0d93ccbcd0..eaa68a548b9 100644 --- a/lib/public/files/entitytoolargeexception.php +++ b/lib/public/files/entitytoolargeexception.php @@ -20,8 +20,16 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/EntityTooLargeException class + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; +/** + * Exception for too large entity + */ class EntityTooLargeException extends \Exception {} diff --git a/lib/public/files/file.php b/lib/public/files/file.php index 730213039d0..c6cda59f9b0 100644 --- a/lib/public/files/file.php +++ b/lib/public/files/file.php @@ -20,6 +20,11 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/File interface + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; diff --git a/lib/public/files/folder.php b/lib/public/files/folder.php index 5c9785db571..7fec1c529a5 100644 --- a/lib/public/files/folder.php +++ b/lib/public/files/folder.php @@ -20,6 +20,11 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/Folder interface + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; diff --git a/lib/public/files/invalidcontentexception.php b/lib/public/files/invalidcontentexception.php index 2e1356e2ba3..3dfe7378c4d 100644 --- a/lib/public/files/invalidcontentexception.php +++ b/lib/public/files/invalidcontentexception.php @@ -20,8 +20,16 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/InvalidContentException class + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; +/** + * Exception for invalid content + */ class InvalidContentException extends \Exception {} diff --git a/lib/public/files/invalidpathexception.php b/lib/public/files/invalidpathexception.php index 893eb1e43f8..8ecfa7d89ad 100644 --- a/lib/public/files/invalidpathexception.php +++ b/lib/public/files/invalidpathexception.php @@ -20,8 +20,16 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/InvalidPathException class + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; +/** + * Exception for invalid path + */ class InvalidPathException extends \Exception {} diff --git a/lib/public/files/node.php b/lib/public/files/node.php index e38bfa3b2ef..972b1cfa492 100644 --- a/lib/public/files/node.php +++ b/lib/public/files/node.php @@ -20,6 +20,11 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/Node interface + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; diff --git a/lib/public/files/notenoughspaceexception.php b/lib/public/files/notenoughspaceexception.php index 1597a4518b0..17f91b31bfc 100644 --- a/lib/public/files/notenoughspaceexception.php +++ b/lib/public/files/notenoughspaceexception.php @@ -20,8 +20,16 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/NotEnoughSpaceException class + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; +/** + * Exception for not enough space + */ class NotEnoughSpaceException extends \Exception {} diff --git a/lib/public/files/notfoundexception.php b/lib/public/files/notfoundexception.php index 489e43fc5fb..cb35199220b 100644 --- a/lib/public/files/notfoundexception.php +++ b/lib/public/files/notfoundexception.php @@ -20,8 +20,16 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/NotFoundException class + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; +/** + * Exception for not found entity + */ class NotFoundException extends \Exception {} diff --git a/lib/public/files/notpermittedexception.php b/lib/public/files/notpermittedexception.php index a5be43dbf57..e37bd6fad3c 100644 --- a/lib/public/files/notpermittedexception.php +++ b/lib/public/files/notpermittedexception.php @@ -20,8 +20,16 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/NotPermittedException class + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; +/** + * Exception for not permitted action + */ class NotPermittedException extends \Exception {} diff --git a/lib/public/files/storage.php b/lib/public/files/storage.php index 7a7d5ec1efc..194b42a6481 100644 --- a/lib/public/files/storage.php +++ b/lib/public/files/storage.php @@ -20,6 +20,11 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * Files/Storage interface + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP\Files; diff --git a/lib/public/iaddressbook.php b/lib/public/iaddressbook.php index 77e8750d9da..dcfe08012e6 100644 --- a/lib/public/iaddressbook.php +++ b/lib/public/iaddressbook.php @@ -20,6 +20,11 @@ * */ +/** + * Public interface of ownCloud for apps to use. + * IAddressBook interface + */ + // use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP { diff --git a/lib/public/icontainer.php b/lib/public/icontainer.php index 6b7052cc4f4..eaffa5d5a06 100644 --- a/lib/public/icontainer.php +++ b/lib/public/icontainer.php @@ -64,7 +64,7 @@ interface IContainer { * In case the parameter is false the service will be recreated on every call. * * @param string $name - * @param callable $closure + * @param \Closure $closure * @param bool $shared * @return void */ diff --git a/lib/public/idbconnection.php b/lib/public/idbconnection.php index 17e3de0ffe7..656b5e7e5b2 100644 --- a/lib/public/idbconnection.php +++ b/lib/public/idbconnection.php @@ -45,7 +45,7 @@ interface IDBConnection { /** * Used to get the id of the just inserted element - * @param string $tableName the name of the table where we inserted the item + * @param string $table the name of the table where we inserted the item * @return int the id of the inserted element */ public function lastInsertId($table = null); diff --git a/lib/public/share.php b/lib/public/share.php index caa274b8579..6178a5ae043 100644 --- a/lib/public/share.php +++ b/lib/public/share.php @@ -256,7 +256,7 @@ class Share { /** * Get the item of item type shared with the current user * @param string $itemType - * @param string $ItemTarget + * @param string $itemTarget * @param int $format (optional) Format type must be defined by the backend * @return Return depends on format */ @@ -268,8 +268,8 @@ class Share { /** * Get the item of item type shared with a given user by source - * @param string $ItemType - * @param string $ItemSource + * @param string $itemType + * @param string $itemSource * @param string $user User user to whom the item was shared * @return array Return list of items with file_target, permissions and expiration */ |