summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/base.php2
-rw-r--r--lib/l10n/he.js4
-rw-r--r--lib/l10n/he.json4
-rw-r--r--lib/l10n/pt_BR.js1
-rw-r--r--lib/l10n/pt_BR.json1
-rw-r--r--lib/private/api.php14
-rw-r--r--lib/private/console/application.php22
-rw-r--r--lib/private/db/adaptersqlsrv.php37
-rw-r--r--lib/private/db/mdb2schemareader.php11
-rw-r--r--lib/private/files/filesystem.php4
-rw-r--r--lib/private/files/node/root.php2
-rw-r--r--lib/private/files/storage/common.php7
-rw-r--r--lib/private/files/storage/wrapper/quota.php27
-rw-r--r--lib/private/files/stream/encryption.php2
-rw-r--r--lib/private/group/dummy.php1
-rw-r--r--lib/private/group/manager.php4
-rw-r--r--lib/private/json.php1
-rw-r--r--lib/private/memcache/factory.php2
-rw-r--r--lib/private/preview.php20
-rw-r--r--lib/private/server.php14
-rw-r--r--lib/private/share20/manager.php16
-rw-r--r--lib/private/util.php4
-rw-r--r--lib/public/appframework/http/redirectresponse.php2
-rw-r--r--lib/public/appframework/utility/icontrollermethodreflector.php1
-rw-r--r--lib/public/constants.php5
-rw-r--r--lib/public/search/pagedprovider.php2
26 files changed, 121 insertions, 89 deletions
diff --git a/lib/base.php b/lib/base.php
index fc4a99287d0..df4e91dda9f 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -692,7 +692,7 @@ class OC {
);
$tmpl = new OCP\Template('core', 'untrustedDomain', 'guest');
- $tmpl->assign('domain', $request->server['SERVER_NAME']);
+ $tmpl->assign('domain', $host);
$tmpl->printPage();
exit();
diff --git a/lib/l10n/he.js b/lib/l10n/he.js
index 5d7236a7604..1c9060ccc62 100644
--- a/lib/l10n/he.js
+++ b/lib/l10n/he.js
@@ -62,8 +62,12 @@ OC.L10N.register(
"DB Error: \"%s\"" : "שגיאת מסד נתונים: \"%s\"",
"Set an admin username." : "קביעת שם משתמש מנהל",
"Set an admin password." : "קביעת סיסמת מנהל",
+ "Invalid Federated Cloud ID" : "זיהוי ענן מאוגד לא חוקי",
"%s shared »%s« with you" : "%s שיתף/שיתפה איתך את »%s«",
"%s via %s" : "%s על בסיס %s",
+ "Sharing %s failed, because this item is already shared with %s" : "שיתוף %s נכשל, כיוון שפריט זה כבר משותף עם %s",
+ "Not allowed to create a federated share with the same user" : "אסור ליצור שיתוף מאוגד עם אותו משתמש",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "שיתוף %s נכשל, לא ניתן לאתר %s, ייתכן שהשרת לא ניתן להשגה כרגע.",
"Expiration date is in the past" : "תאריך תפוגה הנו בעבר",
"Could not find category \"%s\"" : "לא ניתן למצוא את הקטגוריה „%s“",
"Apps" : "יישומים",
diff --git a/lib/l10n/he.json b/lib/l10n/he.json
index 69e8a16657a..189040d796d 100644
--- a/lib/l10n/he.json
+++ b/lib/l10n/he.json
@@ -60,8 +60,12 @@
"DB Error: \"%s\"" : "שגיאת מסד נתונים: \"%s\"",
"Set an admin username." : "קביעת שם משתמש מנהל",
"Set an admin password." : "קביעת סיסמת מנהל",
+ "Invalid Federated Cloud ID" : "זיהוי ענן מאוגד לא חוקי",
"%s shared »%s« with you" : "%s שיתף/שיתפה איתך את »%s«",
"%s via %s" : "%s על בסיס %s",
+ "Sharing %s failed, because this item is already shared with %s" : "שיתוף %s נכשל, כיוון שפריט זה כבר משותף עם %s",
+ "Not allowed to create a federated share with the same user" : "אסור ליצור שיתוף מאוגד עם אותו משתמש",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "שיתוף %s נכשל, לא ניתן לאתר %s, ייתכן שהשרת לא ניתן להשגה כרגע.",
"Expiration date is in the past" : "תאריך תפוגה הנו בעבר",
"Could not find category \"%s\"" : "לא ניתן למצוא את הקטגוריה „%s“",
"Apps" : "יישומים",
diff --git a/lib/l10n/pt_BR.js b/lib/l10n/pt_BR.js
index 7a860129362..faa690f29c2 100644
--- a/lib/l10n/pt_BR.js
+++ b/lib/l10n/pt_BR.js
@@ -60,6 +60,7 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "O aplicativo não pode ser instalado por causa do código não permitido no Aplivativo",
"App can't be installed because it is not compatible with this version of ownCloud" : "O aplicativo não pode ser instalado porque não é compatível com esta versão do ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "O aplicativo não pode ser instalado porque ele contém a marca <shipped>verdadeiro</shipped> que não é permitido para aplicações não embarcadas",
+ "App can't be installed because the version in info.xml is not the same as the version reported from the app store" : "O aplicativo não pode ser instalado porque a versão em info.xml não é o mesmo que a versão relatada na App Store",
"Application is not enabled" : "Aplicação não está habilitada",
"Authentication error" : "Erro de autenticação",
"Token expired. Please reload page." : "Token expirou. Por favor recarregue a página.",
diff --git a/lib/l10n/pt_BR.json b/lib/l10n/pt_BR.json
index 49d4b40a127..60d9ea436b7 100644
--- a/lib/l10n/pt_BR.json
+++ b/lib/l10n/pt_BR.json
@@ -58,6 +58,7 @@
"App can't be installed because of not allowed code in the App" : "O aplicativo não pode ser instalado por causa do código não permitido no Aplivativo",
"App can't be installed because it is not compatible with this version of ownCloud" : "O aplicativo não pode ser instalado porque não é compatível com esta versão do ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "O aplicativo não pode ser instalado porque ele contém a marca <shipped>verdadeiro</shipped> que não é permitido para aplicações não embarcadas",
+ "App can't be installed because the version in info.xml is not the same as the version reported from the app store" : "O aplicativo não pode ser instalado porque a versão em info.xml não é o mesmo que a versão relatada na App Store",
"Application is not enabled" : "Aplicação não está habilitada",
"Authentication error" : "Erro de autenticação",
"Token expired. Please reload page." : "Token expirou. Por favor recarregue a página.",
diff --git a/lib/private/api.php b/lib/private/api.php
index 452612d4c16..87f2aa9b118 100644
--- a/lib/private/api.php
+++ b/lib/private/api.php
@@ -188,7 +188,7 @@ class OC_API {
/**
* merge the returned result objects into one response
* @param array $responses
- * @return array|\OC_OCS_Result
+ * @return OC_OCS_Result
*/
public static function mergeResponses($responses) {
// Sort into shipped and third-party
@@ -377,9 +377,16 @@ class OC_API {
* @param string $format the format xml|json
*/
public static function respond($result, $format='xml') {
+ $request = \OC::$server->getRequest();
+
// Send 401 headers if unauthorised
if($result->getStatusCode() === API::RESPOND_UNAUTHORISED) {
- header('WWW-Authenticate: Basic realm="Authorisation Required"');
+ // If request comes from JS return dummy auth request
+ if($request->getHeader('X-Requested-With') === 'XMLHttpRequest') {
+ header('WWW-Authenticate: DummyBasic realm="Authorisation Required"');
+ } else {
+ header('WWW-Authenticate: Basic realm="Authorisation Required"');
+ }
header('HTTP/1.0 401 Unauthorized');
}
@@ -389,7 +396,7 @@ class OC_API {
$meta = $result->getMeta();
$data = $result->getData();
- if (self::isV2(\OC::$server->getRequest())) {
+ if (self::isV2($request)) {
$statusCode = self::mapStatusCodes($result->getStatusCode());
if (!is_null($statusCode)) {
$meta['statuscode'] = $statusCode;
@@ -435,6 +442,7 @@ class OC_API {
/**
* Based on the requested format the response content type is set
+ * @param string $format
*/
public static function setContentType($format = null) {
$format = is_null($format) ? self::requestedFormat() : $format;
diff --git a/lib/private/console/application.php b/lib/private/console/application.php
index 10ff69b1c80..0895f1788af 100644
--- a/lib/private/console/application.php
+++ b/lib/private/console/application.php
@@ -31,6 +31,7 @@ use OCP\IRequest;
use Symfony\Component\Console\Application as SymfonyApplication;
use Symfony\Component\Console\Input\ArgvInput;
use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
@@ -56,12 +57,31 @@ class Application {
}
/**
+ * @param InputInterface $input
* @param OutputInterface $output
* @throws \Exception
*/
- public function loadCommands(OutputInterface $output) {
+ public function loadCommands(InputInterface $input, OutputInterface $output) {
// $application is required to be defined in the register_command scripts
$application = $this->application;
+ $inputDefinition = $application->getDefinition();
+ $inputDefinition->addOption(
+ new InputOption(
+ 'no-warnings',
+ null,
+ InputOption::VALUE_NONE,
+ 'Skip global warnings, show command output only',
+ null
+ )
+ );
+ try {
+ $input->bind($inputDefinition);
+ } catch (\RuntimeException $e) {
+ //expected if there are extra options
+ }
+ if ($input->getOption('no-warnings')) {
+ $output->setVerbosity(OutputInterface::VERBOSITY_QUIET);
+ }
require_once __DIR__ . '/../../../core/register_command.php';
if ($this->config->getSystemValue('installed', false)) {
if (\OCP\Util::needUpgrade()) {
diff --git a/lib/private/db/adaptersqlsrv.php b/lib/private/db/adaptersqlsrv.php
deleted file mode 100644
index f208b2ba787..00000000000
--- a/lib/private/db/adaptersqlsrv.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-/**
- * @author Bart Visscher <bartv@thisnet.nl>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Thomas Müller <thomas.mueller@tmit.eu>
- *
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-
-namespace OC\DB;
-
-class AdapterSQLSrv extends Adapter {
- public function fixupStatement($statement) {
- $statement = str_replace(' ILIKE ', ' COLLATE Latin1_General_CI_AS LIKE ', $statement);
- $statement = preg_replace( "/\`(.*?)`/", "[$1]", $statement );
- $statement = str_ireplace( 'NOW()', 'CURRENT_TIMESTAMP', $statement );
- $statement = str_replace( 'LENGTH(', 'LEN(', $statement );
- $statement = str_replace( 'SUBSTR(', 'SUBSTRING(', $statement );
- $statement = str_ireplace( 'UNIX_TIMESTAMP()', 'DATEDIFF(second,{d \'1970-01-01\'},GETDATE())', $statement );
- return $statement;
- }
-}
diff --git a/lib/private/db/mdb2schemareader.php b/lib/private/db/mdb2schemareader.php
index 6f99206e5c8..94c48d61f06 100644
--- a/lib/private/db/mdb2schemareader.php
+++ b/lib/private/db/mdb2schemareader.php
@@ -30,6 +30,7 @@
namespace OC\DB;
use Doctrine\DBAL\Platforms\AbstractPlatform;
+use Doctrine\DBAL\Schema\SchemaConfig;
use OCP\IConfig;
class MDB2SchemaReader {
@@ -48,6 +49,9 @@ class MDB2SchemaReader {
*/
protected $platform;
+ /** @var \Doctrine\DBAL\Schema\SchemaConfig $schemaConfig */
+ protected $schemaConfig;
+
/**
* @param \OCP\IConfig $config
* @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform
@@ -56,6 +60,12 @@ class MDB2SchemaReader {
$this->platform = $platform;
$this->DBNAME = $config->getSystemValue('dbname', 'owncloud');
$this->DBTABLEPREFIX = $config->getSystemValue('dbtableprefix', 'oc_');
+
+ // Oracle does not support longer index names then 30 characters.
+ // We use this limit for all DBs to make sure it does not cause a
+ // problem.
+ $this->schemaConfig = new SchemaConfig();
+ $this->schemaConfig->setMaxIdentifierLength(30);
}
/**
@@ -107,6 +117,7 @@ class MDB2SchemaReader {
$name = $this->platform->quoteIdentifier($name);
$table = $schema->createTable($name);
$table->addOption('collate', 'utf8_bin');
+ $table->setSchemaConfig($this->schemaConfig);
break;
case 'create':
case 'overwrite':
diff --git a/lib/private/files/filesystem.php b/lib/private/files/filesystem.php
index 9d4a2c0aa05..d6fc9648c1e 100644
--- a/lib/private/files/filesystem.php
+++ b/lib/private/files/filesystem.php
@@ -237,9 +237,9 @@ class Filesystem {
*
* @return \OC\Files\Mount\Manager
*/
- public static function getMountManager() {
+ public static function getMountManager($user = '') {
if (!self::$mounts) {
- \OC_Util::setupFS();
+ \OC_Util::setupFS($user);
}
return self::$mounts;
}
diff --git a/lib/private/files/node/root.php b/lib/private/files/node/root.php
index 40ed531d5df..a9343e72220 100644
--- a/lib/private/files/node/root.php
+++ b/lib/private/files/node/root.php
@@ -71,7 +71,7 @@ class Root extends Folder implements IRootFolder {
/**
* @param \OC\Files\Mount\Manager $manager
* @param \OC\Files\View $view
- * @param \OC\User\User $user
+ * @param \OC\User\User|null $user
*/
public function __construct($manager, $view, $user) {
parent::__construct($this, $view, '');
diff --git a/lib/private/files/storage/common.php b/lib/private/files/storage/common.php
index 3d5898dcd80..edc570c967d 100644
--- a/lib/private/files/storage/common.php
+++ b/lib/private/files/storage/common.php
@@ -72,6 +72,7 @@ abstract class Common implements Storage, ILockingStorage {
protected $updater;
protected $mountOptions = [];
+ protected $owner = null;
public function __construct($parameters) {
}
@@ -383,7 +384,11 @@ abstract class Common implements Storage, ILockingStorage {
* @return string|false uid or false
*/
public function getOwner($path) {
- return \OC_User::getUser();
+ if ($this->owner === null) {
+ $this->owner = \OC_User::getUser();
+ }
+
+ return $this->owner;
}
/**
diff --git a/lib/private/files/storage/wrapper/quota.php b/lib/private/files/storage/wrapper/quota.php
index 844505679df..500677b092e 100644
--- a/lib/private/files/storage/wrapper/quota.php
+++ b/lib/private/files/storage/wrapper/quota.php
@@ -141,17 +141,34 @@ class Quota extends Wrapper {
*/
public function fopen($path, $mode) {
$source = $this->storage->fopen($path, $mode);
- $free = $this->free_space('');
- if ($source && $free >= 0 && $mode !== 'r' && $mode !== 'rb') {
- // only apply quota for files, not metadata, trash or others
- if (strpos(ltrim($path, '/'), 'files/') === 0) {
- return \OC\Files\Stream\Quota::wrap($source, $free);
+
+ // don't apply quota for part files
+ if (!$this->isPartFile($path)) {
+ $free = $this->free_space('');
+ if ($source && $free >= 0 && $mode !== 'r' && $mode !== 'rb') {
+ // only apply quota for files, not metadata, trash or others
+ if (strpos(ltrim($path, '/'), 'files/') === 0) {
+ return \OC\Files\Stream\Quota::wrap($source, $free);
+ }
}
}
return $source;
}
/**
+ * Checks whether the given path is a part file
+ *
+ * @param string $path Path that may identify a .part file
+ * @return string File path without .part extension
+ * @note this is needed for reusing keys
+ */
+ private function isPartFile($path) {
+ $extension = pathinfo($path, PATHINFO_EXTENSION);
+
+ return ($extension === 'part');
+ }
+
+ /**
* @param \OCP\Files\Storage $sourceStorage
* @param string $sourceInternalPath
* @param string $targetInternalPath
diff --git a/lib/private/files/stream/encryption.php b/lib/private/files/stream/encryption.php
index 63949035b5a..37a1d75519d 100644
--- a/lib/private/files/stream/encryption.php
+++ b/lib/private/files/stream/encryption.php
@@ -183,7 +183,7 @@ class Encryption extends Wrapper {
*
* @param resource $source
* @param string $mode
- * @param array $context
+ * @param resource $context
* @param string $protocol
* @param string $class
* @return resource
diff --git a/lib/private/group/dummy.php b/lib/private/group/dummy.php
index c0d206a34e1..97f00385954 100644
--- a/lib/private/group/dummy.php
+++ b/lib/private/group/dummy.php
@@ -114,6 +114,7 @@ class OC_Group_Dummy extends OC_Group_Backend {
if(isset($this->groups[$gid])) {
if(($index=array_search($uid, $this->groups[$gid]))!==false) {
unset($this->groups[$gid][$index]);
+ return true;
}else{
return false;
}
diff --git a/lib/private/group/manager.php b/lib/private/group/manager.php
index 98e5551bcc5..7eca249c701 100644
--- a/lib/private/group/manager.php
+++ b/lib/private/group/manager.php
@@ -150,6 +150,10 @@ class Manager extends PublicEmitter implements IGroupManager {
return $this->getGroupObject($gid);
}
+ /**
+ * @param string $gid
+ * @return \OCP\IGroup
+ */
protected function getGroupObject($gid) {
$backends = array();
foreach ($this->backends as $backend) {
diff --git a/lib/private/json.php b/lib/private/json.php
index adee28a1593..74aebd476fb 100644
--- a/lib/private/json.php
+++ b/lib/private/json.php
@@ -66,6 +66,7 @@ class OC_JSON{
public static function checkLoggedIn() {
if( !OC_User::isLoggedIn()) {
$l = \OC::$server->getL10N('lib');
+ http_response_code(\OCP\AppFramework\Http::STATUS_UNAUTHORIZED);
self::error(array( 'data' => array( 'message' => $l->t('Authentication error'), 'error' => 'authentication_error' )));
exit();
}
diff --git a/lib/private/memcache/factory.php b/lib/private/memcache/factory.php
index 21149d8b6bf..204ded7d5ab 100644
--- a/lib/private/memcache/factory.php
+++ b/lib/private/memcache/factory.php
@@ -172,7 +172,7 @@ class Factory implements ICacheFactory {
/**
* @see \OC\Memcache\Factory::createLocal()
* @param string $prefix
- * @return \OC\Memcache\Cache|null
+ * @return Cache
*/
public function createLowLatency($prefix = '') {
return $this->createLocal($prefix);
diff --git a/lib/private/preview.php b/lib/private/preview.php
index df6eeceddcb..4fca56dd984 100644
--- a/lib/private/preview.php
+++ b/lib/private/preview.php
@@ -202,7 +202,7 @@ class Preview {
/**
* returns the max width set in ownCloud's config
*
- * @return string
+ * @return integer
*/
public function getConfigMaxX() {
return $this->configMaxWidth;
@@ -211,7 +211,7 @@ class Preview {
/**
* returns the max height set in ownCloud's config
*
- * @return string
+ * @return integer
*/
public function getConfigMaxY() {
return $this->configMaxHeight;
@@ -546,7 +546,7 @@ class Preview {
/**
* Determines the size of the preview we should be looking for in the cache
*
- * @return int[]
+ * @return integer[]
*/
private function simulatePreviewDimensions() {
$askedWidth = $this->getMaxX();
@@ -570,7 +570,7 @@ class Preview {
*
* @param int $originalWidth
* @param int $originalHeight
- * @return \int[]
+ * @return integer[]
*/
private function applyAspectRatio($askedWidth, $askedHeight, $originalWidth = 0, $originalHeight = 0) {
if(!$originalWidth){
@@ -602,7 +602,7 @@ class Preview {
* @param int $askedHeight
* @param int $previewWidth
* @param int $previewHeight
- * @return \int[]
+ * @return integer[]
*/
private function applyCover($askedWidth, $askedHeight, $previewWidth, $previewHeight) {
$originalRatio = $previewWidth / $previewHeight;
@@ -628,7 +628,7 @@ class Preview {
* @param int $askedWidth
* @param int $askedHeight
*
- * @return \int[]
+ * @return integer[]
*/
private function fixSize($askedWidth, $askedHeight) {
if ($this->scalingUp) {
@@ -921,7 +921,7 @@ class Preview {
* @param int $askedWidth
* @param int $askedHeight
* @param int $previewWidth
- * @param null $previewHeight
+ * @param int $previewHeight
*
* @return int[]
*/
@@ -971,7 +971,7 @@ class Preview {
* @param int $askedWidth
* @param int $askedHeight
* @param int $previewWidth
- * @param null $previewHeight
+ * @param int $previewHeight
*/
private function crop($image, $askedWidth, $askedHeight, $previewWidth, $previewHeight = null) {
$cropX = floor(abs($askedWidth - $previewWidth) * 0.5);
@@ -990,7 +990,7 @@ class Preview {
* @param int $askedWidth
* @param int $askedHeight
* @param int $previewWidth
- * @param null $previewHeight
+ * @param int $previewHeight
*/
private function cropAndFill($image, $askedWidth, $askedHeight, $previewWidth, $previewHeight) {
if ($previewWidth > $askedWidth) {
@@ -1218,7 +1218,7 @@ class Preview {
* @param int $maxDim
* @param string $dimName
*
- * @return mixed
+ * @return integer
*/
private function limitMaxDim($dim, $maxDim, $dimName) {
if (!is_null($maxDim)) {
diff --git a/lib/private/server.php b/lib/private/server.php
index b52c5188a7b..7c8ecce71a5 100644
--- a/lib/private/server.php
+++ b/lib/private/server.php
@@ -40,7 +40,6 @@ namespace OC;
use bantu\IniGetWrapper\IniGetWrapper;
use OC\AppFramework\Http\Request;
use OC\AppFramework\Db\Db;
-use OC\AppFramework\Utility\SimpleContainer;
use OC\AppFramework\Utility\TimeFactory;
use OC\Command\AsyncBus;
use OC\Diagnostics\EventLogger;
@@ -164,15 +163,10 @@ class Server extends ServerContainer implements IServerContainer {
$this->registerService('SystemTagObjectMapper', function (Server $c) {
return $c->query('SystemTagManagerFactory')->getObjectMapper();
});
- $this->registerService('RootFolder', function (Server $c) {
- // TODO: get user and user manager from container as well
- $user = \OC_User::getUser();
- /** @var $c SimpleContainer */
- $userManager = $c->query('UserManager');
- $user = $userManager->get($user);
- $manager = \OC\Files\Filesystem::getMountManager();
+ $this->registerService('RootFolder', function () {
+ $manager = \OC\Files\Filesystem::getMountManager(null);
$view = new View();
- $root = new Root($manager, $view, $user);
+ $root = new Root($manager, $view, null);
$connector = new HookConnector($root, $view);
$connector->viewToNode();
return $root;
@@ -730,7 +724,7 @@ class Server extends ServerContainer implements IServerContainer {
* Returns a view to ownCloud's files folder
*
* @param string $userId user ID
- * @return \OCP\Files\Folder
+ * @return \OCP\Files\Folder|null
*/
public function getUserFolder($userId = null) {
if ($userId === null) {
diff --git a/lib/private/share20/manager.php b/lib/private/share20/manager.php
index 7a10d6cba55..4cff3dc818b 100644
--- a/lib/private/share20/manager.php
+++ b/lib/private/share20/manager.php
@@ -455,18 +455,16 @@ class Manager implements IManager {
* Check if the user that is sharing can actually share
*
* @param \OCP\Share\IShare $share
- * @return bool
+ * @throws \Exception
*/
protected function canShare(\OCP\Share\IShare $share) {
if (!$this->shareApiEnabled()) {
- return false;
+ throw new \Exception('The share API is disabled');
}
if ($this->sharingDisabledForUser($share->getSharedBy())) {
- return false;
+ throw new \Exception('You are not allowed to share');
}
-
- return true;
}
/**
@@ -479,9 +477,7 @@ class Manager implements IManager {
* TODO: handle link share permissions or check them
*/
public function createShare(\OCP\Share\IShare $share) {
- if (!$this->canShare($share)) {
- throw new \Exception('The Share API is disabled');
- }
+ $this->canShare($share);
$this->generalCreateChecks($share);
@@ -592,9 +588,7 @@ class Manager implements IManager {
public function updateShare(\OCP\Share\IShare $share) {
$expirationDateUpdated = false;
- if (!$this->canShare($share)) {
- throw new \Exception('The Share API is disabled');
- }
+ $this->canShare($share);
try {
$originalShare = $this->getShareById($share->getFullId());
diff --git a/lib/private/util.php b/lib/private/util.php
index 6ad668dedaa..35ae3e3090b 100644
--- a/lib/private/util.php
+++ b/lib/private/util.php
@@ -128,7 +128,9 @@ class OC_Util {
\OC::$server->getEventLogger()->start('setup_fs', 'Setup filesystem');
// If we are not forced to load a specific user we load the one that is logged in
- if ($user == "" && OC_User::isLoggedIn()) {
+ if ($user === null) {
+ $user = '';
+ } else if ($user == "" && OC_User::isLoggedIn()) {
$user = OC_User::getUser();
}
diff --git a/lib/public/appframework/http/redirectresponse.php b/lib/public/appframework/http/redirectresponse.php
index 7208012295f..bb0c8843715 100644
--- a/lib/public/appframework/http/redirectresponse.php
+++ b/lib/public/appframework/http/redirectresponse.php
@@ -44,7 +44,7 @@ class RedirectResponse extends Response {
*/
public function __construct($redirectURL) {
$this->redirectURL = $redirectURL;
- $this->setStatus(Http::STATUS_TEMPORARY_REDIRECT);
+ $this->setStatus(Http::STATUS_SEE_OTHER);
$this->addHeader('Location', $redirectURL);
}
diff --git a/lib/public/appframework/utility/icontrollermethodreflector.php b/lib/public/appframework/utility/icontrollermethodreflector.php
index b2f91fdb170..7bf422aa567 100644
--- a/lib/public/appframework/utility/icontrollermethodreflector.php
+++ b/lib/public/appframework/utility/icontrollermethodreflector.php
@@ -35,6 +35,7 @@ interface IControllerMethodReflector {
/**
* @param object $object an object or classname
* @param string $method the method which we want to inspect
+ * @return void
* @since 8.0.0
*/
public function reflect($object, $method);
diff --git a/lib/public/constants.php b/lib/public/constants.php
index 518fbcf7ebe..4dd6793a13a 100644
--- a/lib/public/constants.php
+++ b/lib/public/constants.php
@@ -68,7 +68,8 @@ class Constants {
const PERMISSION_ALL = 31;
/**
- * @since 8.0.0
+ * @since 8.0.0 - Updated in 9.0.0 to allow all POSIX chars since we no
+ * longer support windows as server platform.
*/
- const FILENAME_INVALID_CHARS = "\\/<>:\"|?*\n";
+ const FILENAME_INVALID_CHARS = "\\/";
}
diff --git a/lib/public/search/pagedprovider.php b/lib/public/search/pagedprovider.php
index 93289a1bde4..c8530626e59 100644
--- a/lib/public/search/pagedprovider.php
+++ b/lib/public/search/pagedprovider.php
@@ -58,7 +58,7 @@ abstract class PagedProvider extends Provider {
* Search for $query
* @param string $query
* @param int $page pages start at page 1
- * @param int $size, 0 = SIZE_ALL
+ * @param int $size 0 = SIZE_ALL
* @return array An array of OCP\Search\Result's
* @since 8.0.0
*/