Use matching parameter names form interfaces and implementations
Found by Psalm 3.14.1 Signed-off-by: Morris Jobke <hey@morrisjobke.de>
This commit is contained in:
parent
60be722ee8
commit
fedf9c69d9
|
@ -905,15 +905,15 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
|
||||||
* used/fetched to determine these numbers. If both are specified the
|
* used/fetched to determine these numbers. If both are specified the
|
||||||
* amount of times this is needed is reduced by a great degree.
|
* amount of times this is needed is reduced by a great degree.
|
||||||
*
|
*
|
||||||
* @param mixed $id
|
* @param mixed $calendarId
|
||||||
* @param int $calendarType
|
* @param int $calendarType
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function getCalendarObjects($id, $calendarType=self::CALENDAR_TYPE_CALENDAR):array {
|
public function getCalendarObjects($calendarId, $calendarType=self::CALENDAR_TYPE_CALENDAR):array {
|
||||||
$query = $this->db->getQueryBuilder();
|
$query = $this->db->getQueryBuilder();
|
||||||
$query->select(['id', 'uri', 'lastmodified', 'etag', 'calendarid', 'size', 'componenttype', 'classification'])
|
$query->select(['id', 'uri', 'lastmodified', 'etag', 'calendarid', 'size', 'componenttype', 'classification'])
|
||||||
->from('calendarobjects')
|
->from('calendarobjects')
|
||||||
->where($query->expr()->eq('calendarid', $query->createNamedParameter($id)))
|
->where($query->expr()->eq('calendarid', $query->createNamedParameter($calendarId)))
|
||||||
->andWhere($query->expr()->eq('calendartype', $query->createNamedParameter($calendarType)));
|
->andWhere($query->expr()->eq('calendartype', $query->createNamedParameter($calendarType)));
|
||||||
$stmt = $query->execute();
|
$stmt = $query->execute();
|
||||||
|
|
||||||
|
@ -946,16 +946,16 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
|
||||||
*
|
*
|
||||||
* This method must return null if the object did not exist.
|
* This method must return null if the object did not exist.
|
||||||
*
|
*
|
||||||
* @param mixed $id
|
* @param mixed $calendarId
|
||||||
* @param string $objectUri
|
* @param string $objectUri
|
||||||
* @param int $calendarType
|
* @param int $calendarType
|
||||||
* @return array|null
|
* @return array|null
|
||||||
*/
|
*/
|
||||||
public function getCalendarObject($id, $objectUri, $calendarType=self::CALENDAR_TYPE_CALENDAR) {
|
public function getCalendarObject($calendarId, $objectUri, $calendarType=self::CALENDAR_TYPE_CALENDAR) {
|
||||||
$query = $this->db->getQueryBuilder();
|
$query = $this->db->getQueryBuilder();
|
||||||
$query->select(['id', 'uri', 'lastmodified', 'etag', 'calendarid', 'size', 'calendardata', 'componenttype', 'classification'])
|
$query->select(['id', 'uri', 'lastmodified', 'etag', 'calendarid', 'size', 'calendardata', 'componenttype', 'classification'])
|
||||||
->from('calendarobjects')
|
->from('calendarobjects')
|
||||||
->where($query->expr()->eq('calendarid', $query->createNamedParameter($id)))
|
->where($query->expr()->eq('calendarid', $query->createNamedParameter($calendarId)))
|
||||||
->andWhere($query->expr()->eq('uri', $query->createNamedParameter($objectUri)))
|
->andWhere($query->expr()->eq('uri', $query->createNamedParameter($objectUri)))
|
||||||
->andWhere($query->expr()->eq('calendartype', $query->createNamedParameter($calendarType)));
|
->andWhere($query->expr()->eq('calendartype', $query->createNamedParameter($calendarType)));
|
||||||
$stmt = $query->execute();
|
$stmt = $query->execute();
|
||||||
|
@ -991,7 +991,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
|
||||||
* @param int $calendarType
|
* @param int $calendarType
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function getMultipleCalendarObjects($id, array $uris, $calendarType=self::CALENDAR_TYPE_CALENDAR):array {
|
public function getMultipleCalendarObjects($calendarId, array $uris, $calendarType=self::CALENDAR_TYPE_CALENDAR):array {
|
||||||
if (empty($uris)) {
|
if (empty($uris)) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
@ -1002,7 +1002,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
|
||||||
$query = $this->db->getQueryBuilder();
|
$query = $this->db->getQueryBuilder();
|
||||||
$query->select(['id', 'uri', 'lastmodified', 'etag', 'calendarid', 'size', 'calendardata', 'componenttype', 'classification'])
|
$query->select(['id', 'uri', 'lastmodified', 'etag', 'calendarid', 'size', 'calendardata', 'componenttype', 'classification'])
|
||||||
->from('calendarobjects')
|
->from('calendarobjects')
|
||||||
->where($query->expr()->eq('calendarid', $query->createNamedParameter($id)))
|
->where($query->expr()->eq('calendarid', $query->createNamedParameter($calendarId)))
|
||||||
->andWhere($query->expr()->in('uri', $query->createParameter('uri')))
|
->andWhere($query->expr()->in('uri', $query->createParameter('uri')))
|
||||||
->andWhere($query->expr()->eq('calendartype', $query->createNamedParameter($calendarType)));
|
->andWhere($query->expr()->eq('calendartype', $query->createNamedParameter($calendarType)));
|
||||||
|
|
||||||
|
@ -1288,12 +1288,12 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
|
||||||
* as possible, so it gives you a good idea on what type of stuff you need
|
* as possible, so it gives you a good idea on what type of stuff you need
|
||||||
* to think of.
|
* to think of.
|
||||||
*
|
*
|
||||||
* @param mixed $id
|
* @param mixed $calendarId
|
||||||
* @param array $filters
|
* @param array $filters
|
||||||
* @param int $calendarType
|
* @param int $calendarType
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function calendarQuery($id, array $filters, $calendarType=self::CALENDAR_TYPE_CALENDAR):array {
|
public function calendarQuery($calendarId, array $filters, $calendarType=self::CALENDAR_TYPE_CALENDAR):array {
|
||||||
$componentType = null;
|
$componentType = null;
|
||||||
$requirePostFilter = true;
|
$requirePostFilter = true;
|
||||||
$timeRange = null;
|
$timeRange = null;
|
||||||
|
@ -1329,7 +1329,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
|
||||||
$query = $this->db->getQueryBuilder();
|
$query = $this->db->getQueryBuilder();
|
||||||
$query->select($columns)
|
$query->select($columns)
|
||||||
->from('calendarobjects')
|
->from('calendarobjects')
|
||||||
->where($query->expr()->eq('calendarid', $query->createNamedParameter($id)))
|
->where($query->expr()->eq('calendarid', $query->createNamedParameter($calendarId)))
|
||||||
->andWhere($query->expr()->eq('calendartype', $query->createNamedParameter($calendarType)));
|
->andWhere($query->expr()->eq('calendartype', $query->createNamedParameter($calendarType)));
|
||||||
|
|
||||||
if ($componentType) {
|
if ($componentType) {
|
||||||
|
@ -1355,13 +1355,13 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
|
||||||
} catch (ParseException $ex) {
|
} catch (ParseException $ex) {
|
||||||
$this->logger->logException($ex, [
|
$this->logger->logException($ex, [
|
||||||
'app' => 'dav',
|
'app' => 'dav',
|
||||||
'message' => 'Caught parsing exception for calendar data. This usually indicates invalid calendar data. calendar-id:'.$id.' uri:'.$row['uri']
|
'message' => 'Caught parsing exception for calendar data. This usually indicates invalid calendar data. calendar-id:'.$calendarId.' uri:'.$row['uri']
|
||||||
]);
|
]);
|
||||||
continue;
|
continue;
|
||||||
} catch (InvalidDataException $ex) {
|
} catch (InvalidDataException $ex) {
|
||||||
$this->logger->logException($ex, [
|
$this->logger->logException($ex, [
|
||||||
'app' => 'dav',
|
'app' => 'dav',
|
||||||
'message' => 'Caught invalid data exception for calendar data. This usually indicates invalid calendar data. calendar-id:'.$id.' uri:'.$row['uri']
|
'message' => 'Caught invalid data exception for calendar data. This usually indicates invalid calendar data. calendar-id:'.$calendarId.' uri:'.$row['uri']
|
||||||
]);
|
]);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -189,8 +189,8 @@ class ObjectTree extends CachingTree {
|
||||||
* This method must work recursively and delete the destination
|
* This method must work recursively and delete the destination
|
||||||
* if it exists
|
* if it exists
|
||||||
*
|
*
|
||||||
* @param string $source
|
* @param string $sourcePath
|
||||||
* @param string $destination
|
* @param string $destinationPath
|
||||||
* @throws FileLocked
|
* @throws FileLocked
|
||||||
* @throws Forbidden
|
* @throws Forbidden
|
||||||
* @throws InvalidPath
|
* @throws InvalidPath
|
||||||
|
@ -201,14 +201,14 @@ class ObjectTree extends CachingTree {
|
||||||
* @throws \Sabre\DAV\Exception\ServiceUnavailable
|
* @throws \Sabre\DAV\Exception\ServiceUnavailable
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function copy($source, $destination) {
|
public function copy($sourcePath, $destinationPath) {
|
||||||
if (!$this->fileView) {
|
if (!$this->fileView) {
|
||||||
throw new \Sabre\DAV\Exception\ServiceUnavailable('filesystem not setup');
|
throw new \Sabre\DAV\Exception\ServiceUnavailable('filesystem not setup');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$info = $this->fileView->getFileInfo(dirname($destination));
|
$info = $this->fileView->getFileInfo(dirname($destinationPath));
|
||||||
if ($this->fileView->file_exists($destination)) {
|
if ($this->fileView->file_exists($destinationPath)) {
|
||||||
$destinationPermission = $info && $info->isUpdateable();
|
$destinationPermission = $info && $info->isUpdateable();
|
||||||
} else {
|
} else {
|
||||||
$destinationPermission = $info && $info->isCreatable();
|
$destinationPermission = $info && $info->isCreatable();
|
||||||
|
@ -218,9 +218,9 @@ class ObjectTree extends CachingTree {
|
||||||
}
|
}
|
||||||
|
|
||||||
// this will trigger existence check
|
// this will trigger existence check
|
||||||
$this->getNodeForPath($source);
|
$this->getNodeForPath($sourcePath);
|
||||||
|
|
||||||
list($destinationDir, $destinationName) = \Sabre\Uri\split($destination);
|
list($destinationDir, $destinationName) = \Sabre\Uri\split($destinationPath);
|
||||||
try {
|
try {
|
||||||
$this->fileView->verifyPath($destinationDir, $destinationName);
|
$this->fileView->verifyPath($destinationDir, $destinationName);
|
||||||
} catch (\OCP\Files\InvalidPathException $ex) {
|
} catch (\OCP\Files\InvalidPathException $ex) {
|
||||||
|
@ -228,7 +228,7 @@ class ObjectTree extends CachingTree {
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$this->fileView->copy($source, $destination);
|
$this->fileView->copy($sourcePath, $destinationPath);
|
||||||
} catch (StorageNotAvailableException $e) {
|
} catch (StorageNotAvailableException $e) {
|
||||||
throw new \Sabre\DAV\Exception\ServiceUnavailable($e->getMessage());
|
throw new \Sabre\DAV\Exception\ServiceUnavailable($e->getMessage());
|
||||||
} catch (ForbiddenException $ex) {
|
} catch (ForbiddenException $ex) {
|
||||||
|
@ -237,7 +237,7 @@ class ObjectTree extends CachingTree {
|
||||||
throw new FileLocked($e->getMessage(), $e->getCode(), $e);
|
throw new FileLocked($e->getMessage(), $e->getCode(), $e);
|
||||||
}
|
}
|
||||||
|
|
||||||
list($destinationDir,) = \Sabre\Uri\split($destination);
|
list($destinationDir,) = \Sabre\Uri\split($destinationPath);
|
||||||
$this->markDirty($destinationDir);
|
$this->markDirty($destinationDir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -93,7 +93,8 @@ class SystemTagsObjectMappingCollection implements ICollection {
|
||||||
$this->user = $user;
|
$this->user = $user;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function createFile($tagId, $data = null) {
|
public function createFile($name, $data = null) {
|
||||||
|
$tagId = $name;
|
||||||
try {
|
try {
|
||||||
$tags = $this->tagManager->getTagsByIds([$tagId]);
|
$tags = $this->tagManager->getTagsByIds([$tagId]);
|
||||||
$tag = current($tags);
|
$tag = current($tags);
|
||||||
|
|
|
@ -64,8 +64,8 @@ class UserProvided extends AuthMechanism implements IUserProvided {
|
||||||
return self::CREDENTIALS_IDENTIFIER_PREFIX . $storageId;
|
return self::CREDENTIALS_IDENTIFIER_PREFIX . $storageId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function saveBackendOptions(IUser $user, $id, array $options) {
|
public function saveBackendOptions(IUser $user, $mountId, array $options) {
|
||||||
$this->credentialsManager->store($user->getUID(), $this->getCredentialsIdentifier($id), [
|
$this->credentialsManager->store($user->getUID(), $this->getCredentialsIdentifier($mountId), [
|
||||||
'user' => $options['user'], // explicitly copy the fields we want instead of just passing the entire $options array
|
'user' => $options['user'], // explicitly copy the fields we want instead of just passing the entire $options array
|
||||||
'password' => $options['password'] // this way we prevent users from being able to modify any other field
|
'password' => $options['password'] // this way we prevent users from being able to modify any other field
|
||||||
]);
|
]);
|
||||||
|
|
|
@ -530,7 +530,7 @@ class SMB extends Common implements INotifyStorage {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function touch($path, $time = null) {
|
public function touch($path, $mtime = null) {
|
||||||
try {
|
try {
|
||||||
if (!$this->file_exists($path)) {
|
if (!$this->file_exists($path)) {
|
||||||
$fh = $this->share->write($this->buildPath($path));
|
$fh = $this->share->write($this->buildPath($path));
|
||||||
|
|
|
@ -34,7 +34,7 @@ class DummyUserSession implements IUserSession {
|
||||||
*/
|
*/
|
||||||
private $user;
|
private $user;
|
||||||
|
|
||||||
public function login($user, $password) {
|
public function login($uid, $password) {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function logout() {
|
public function logout() {
|
||||||
|
|
|
@ -71,10 +71,10 @@ class MountProvider implements IMountProvider {
|
||||||
* Get all mountpoints applicable for the user and check for shares where we need to update the etags
|
* Get all mountpoints applicable for the user and check for shares where we need to update the etags
|
||||||
*
|
*
|
||||||
* @param \OCP\IUser $user
|
* @param \OCP\IUser $user
|
||||||
* @param \OCP\Files\Storage\IStorageFactory $storageFactory
|
* @param \OCP\Files\Storage\IStorageFactory $loader
|
||||||
* @return \OCP\Files\Mount\IMountPoint[]
|
* @return \OCP\Files\Mount\IMountPoint[]
|
||||||
*/
|
*/
|
||||||
public function getMountsForUser(IUser $user, IStorageFactory $storageFactory) {
|
public function getMountsForUser(IUser $user, IStorageFactory $loader) {
|
||||||
$shares = $this->shareManager->getSharedWith($user->getUID(), IShare::TYPE_USER, null, -1);
|
$shares = $this->shareManager->getSharedWith($user->getUID(), IShare::TYPE_USER, null, -1);
|
||||||
$shares = array_merge($shares, $this->shareManager->getSharedWith($user->getUID(), IShare::TYPE_GROUP, null, -1));
|
$shares = array_merge($shares, $this->shareManager->getSharedWith($user->getUID(), IShare::TYPE_GROUP, null, -1));
|
||||||
$shares = array_merge($shares, $this->shareManager->getSharedWith($user->getUID(), IShare::TYPE_CIRCLE, null, -1));
|
$shares = array_merge($shares, $this->shareManager->getSharedWith($user->getUID(), IShare::TYPE_CIRCLE, null, -1));
|
||||||
|
@ -120,7 +120,7 @@ class MountProvider implements IMountProvider {
|
||||||
'ownerView' => $ownerViews[$owner],
|
'ownerView' => $ownerViews[$owner],
|
||||||
'sharingDisabledForUser' => $sharingDisabledForUser
|
'sharingDisabledForUser' => $sharingDisabledForUser
|
||||||
],
|
],
|
||||||
$storageFactory,
|
$loader,
|
||||||
$view,
|
$view,
|
||||||
$foldersExistCache
|
$foldersExistCache
|
||||||
);
|
);
|
||||||
|
|
|
@ -89,14 +89,15 @@ class File implements \OCP\Share_Backend_File_Dependent {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* create unique target
|
* create unique target
|
||||||
* @param string $filePath
|
*
|
||||||
|
* @param string $itemSource
|
||||||
* @param string $shareWith
|
* @param string $shareWith
|
||||||
* @param array $exclude (optional)
|
* @param array $exclude (optional)
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function generateTarget($filePath, $shareWith, $exclude = null) {
|
public function generateTarget($itemSource, $shareWith, $exclude = null) {
|
||||||
$shareFolder = \OCA\Files_Sharing\Helper::getShareFolder();
|
$shareFolder = \OCA\Files_Sharing\Helper::getShareFolder();
|
||||||
$target = \OC\Files\Filesystem::normalizePath($shareFolder . '/' . basename($filePath));
|
$target = \OC\Files\Filesystem::normalizePath($shareFolder . '/' . basename($itemSource));
|
||||||
|
|
||||||
// for group shares we return the target right away
|
// for group shares we return the target right away
|
||||||
if ($shareWith === false) {
|
if ($shareWith === false) {
|
||||||
|
|
|
@ -53,12 +53,13 @@ class Group_Proxy extends Proxy implements \OCP\GroupInterface, IGroupLDAP, IGet
|
||||||
/**
|
/**
|
||||||
* Tries the backends one after the other until a positive result is returned from the specified method
|
* Tries the backends one after the other until a positive result is returned from the specified method
|
||||||
*
|
*
|
||||||
* @param string $gid the gid connected to the request
|
* @param string $id the gid connected to the request
|
||||||
* @param string $method the method of the group backend that shall be called
|
* @param string $method the method of the group backend that shall be called
|
||||||
* @param array $parameters an array of parameters to be passed
|
* @param array $parameters an array of parameters to be passed
|
||||||
* @return mixed, the result of the method or false
|
* @return mixed the result of the method or false
|
||||||
*/
|
*/
|
||||||
protected function walkBackends($gid, $method, $parameters) {
|
protected function walkBackends($id, $method, $parameters) {
|
||||||
|
$gid = $id;
|
||||||
$cacheKey = $this->getGroupCacheKey($gid);
|
$cacheKey = $this->getGroupCacheKey($gid);
|
||||||
foreach ($this->backends as $configPrefix => $backend) {
|
foreach ($this->backends as $configPrefix => $backend) {
|
||||||
if ($result = call_user_func_array([$backend, $method], $parameters)) {
|
if ($result = call_user_func_array([$backend, $method], $parameters)) {
|
||||||
|
@ -74,13 +75,14 @@ class Group_Proxy extends Proxy implements \OCP\GroupInterface, IGroupLDAP, IGet
|
||||||
/**
|
/**
|
||||||
* Asks the backend connected to the server that supposely takes care of the gid from the request.
|
* Asks the backend connected to the server that supposely takes care of the gid from the request.
|
||||||
*
|
*
|
||||||
* @param string $gid the gid connected to the request
|
* @param string $id the gid connected to the request
|
||||||
* @param string $method the method of the group backend that shall be called
|
* @param string $method the method of the group backend that shall be called
|
||||||
* @param array $parameters an array of parameters to be passed
|
* @param array $parameters an array of parameters to be passed
|
||||||
* @param mixed $passOnWhen the result matches this variable
|
* @param mixed $passOnWhen the result matches this variable
|
||||||
* @return mixed, the result of the method or false
|
* @return mixed the result of the method or false
|
||||||
*/
|
*/
|
||||||
protected function callOnLastSeenOn($gid, $method, $parameters, $passOnWhen) {
|
protected function callOnLastSeenOn($id, $method, $parameters, $passOnWhen) {
|
||||||
|
$gid = $id;
|
||||||
$cacheKey = $this->getGroupCacheKey($gid);
|
$cacheKey = $this->getGroupCacheKey($gid);
|
||||||
$prefix = $this->getFromCache($cacheKey);
|
$prefix = $this->getFromCache($cacheKey);
|
||||||
//in case the uid has been found in the past, try this stored connection first
|
//in case the uid has been found in the past, try this stored connection first
|
||||||
|
|
|
@ -73,12 +73,13 @@ class User_Proxy extends Proxy implements \OCP\IUserBackend, \OCP\UserInterface,
|
||||||
/**
|
/**
|
||||||
* Tries the backends one after the other until a positive result is returned from the specified method
|
* Tries the backends one after the other until a positive result is returned from the specified method
|
||||||
*
|
*
|
||||||
* @param string $uid the uid connected to the request
|
* @param string $id the uid connected to the request
|
||||||
* @param string $method the method of the user backend that shall be called
|
* @param string $method the method of the user backend that shall be called
|
||||||
* @param array $parameters an array of parameters to be passed
|
* @param array $parameters an array of parameters to be passed
|
||||||
* @return mixed the result of the method or false
|
* @return mixed the result of the method or false
|
||||||
*/
|
*/
|
||||||
protected function walkBackends($uid, $method, $parameters) {
|
protected function walkBackends($id, $method, $parameters) {
|
||||||
|
$uid = $id;
|
||||||
$cacheKey = $this->getUserCacheKey($uid);
|
$cacheKey = $this->getUserCacheKey($uid);
|
||||||
foreach ($this->backends as $configPrefix => $backend) {
|
foreach ($this->backends as $configPrefix => $backend) {
|
||||||
$instance = $backend;
|
$instance = $backend;
|
||||||
|
@ -99,13 +100,14 @@ class User_Proxy extends Proxy implements \OCP\IUserBackend, \OCP\UserInterface,
|
||||||
/**
|
/**
|
||||||
* Asks the backend connected to the server that supposely takes care of the uid from the request.
|
* Asks the backend connected to the server that supposely takes care of the uid from the request.
|
||||||
*
|
*
|
||||||
* @param string $uid the uid connected to the request
|
* @param string $id the uid connected to the request
|
||||||
* @param string $method the method of the user backend that shall be called
|
* @param string $method the method of the user backend that shall be called
|
||||||
* @param array $parameters an array of parameters to be passed
|
* @param array $parameters an array of parameters to be passed
|
||||||
* @param mixed $passOnWhen the result matches this variable
|
* @param mixed $passOnWhen the result matches this variable
|
||||||
* @return mixed the result of the method or false
|
* @return mixed the result of the method or false
|
||||||
*/
|
*/
|
||||||
protected function callOnLastSeenOn($uid, $method, $parameters, $passOnWhen) {
|
protected function callOnLastSeenOn($id, $method, $parameters, $passOnWhen) {
|
||||||
|
$uid = $id;
|
||||||
$cacheKey = $this->getUserCacheKey($uid);
|
$cacheKey = $this->getUserCacheKey($uid);
|
||||||
$prefix = $this->getFromCache($cacheKey);
|
$prefix = $this->getFromCache($cacheKey);
|
||||||
//in case the uid has been found in the past, try this stored connection first
|
//in case the uid has been found in the past, try this stored connection first
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<files psalm-version="3.13.1@afd8874a9e4562eac42a02de90e42e430c3a1db1">
|
<files psalm-version="3.14.1@9822043ca46d6682b76097bfa97d7c450eef9e90">
|
||||||
<file src="3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php">
|
<file src="3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php">
|
||||||
<ImplementedReturnTypeMismatch occurrences="1">
|
<ImplementedReturnTypeMismatch occurrences="1">
|
||||||
<code>string|null</code>
|
<code>string|null</code>
|
||||||
|
@ -196,6 +196,9 @@
|
||||||
<MoreSpecificImplementedParamType occurrences="1">
|
<MoreSpecificImplementedParamType occurrences="1">
|
||||||
<code>$calendarData</code>
|
<code>$calendarData</code>
|
||||||
</MoreSpecificImplementedParamType>
|
</MoreSpecificImplementedParamType>
|
||||||
|
<ParamNameMismatch occurrences="1">
|
||||||
|
<code>$calendarData</code>
|
||||||
|
</ParamNameMismatch>
|
||||||
</file>
|
</file>
|
||||||
<file src="apps/dav/lib/CalDAV/CachedSubscriptionObject.php">
|
<file src="apps/dav/lib/CalDAV/CachedSubscriptionObject.php">
|
||||||
<ImplementedReturnTypeMismatch occurrences="1">
|
<ImplementedReturnTypeMismatch occurrences="1">
|
||||||
|
@ -677,6 +680,9 @@
|
||||||
<code>null</code>
|
<code>null</code>
|
||||||
<code>null</code>
|
<code>null</code>
|
||||||
</NullArgument>
|
</NullArgument>
|
||||||
|
<ParamNameMismatch occurrences="1">
|
||||||
|
<code>$fullSourcePath</code>
|
||||||
|
</ParamNameMismatch>
|
||||||
<UndefinedFunction occurrences="1">
|
<UndefinedFunction occurrences="1">
|
||||||
<code>\Sabre\Uri\split($sourceNode->getPath())</code>
|
<code>\Sabre\Uri\split($sourceNode->getPath())</code>
|
||||||
</UndefinedFunction>
|
</UndefinedFunction>
|
||||||
|
@ -749,8 +755,8 @@
|
||||||
<file src="apps/dav/lib/Connector/Sabre/ObjectTree.php">
|
<file src="apps/dav/lib/Connector/Sabre/ObjectTree.php">
|
||||||
<UndefinedFunction occurrences="3">
|
<UndefinedFunction occurrences="3">
|
||||||
<code>\Sabre\Uri\split($path)</code>
|
<code>\Sabre\Uri\split($path)</code>
|
||||||
<code>\Sabre\Uri\split($destination)</code>
|
<code>\Sabre\Uri\split($destinationPath)</code>
|
||||||
<code>\Sabre\Uri\split($destination)</code>
|
<code>\Sabre\Uri\split($destinationPath)</code>
|
||||||
</UndefinedFunction>
|
</UndefinedFunction>
|
||||||
</file>
|
</file>
|
||||||
<file src="apps/dav/lib/Connector/Sabre/Principal.php">
|
<file src="apps/dav/lib/Connector/Sabre/Principal.php">
|
||||||
|
@ -1537,6 +1543,10 @@
|
||||||
<InternalMethod occurrences="1">
|
<InternalMethod occurrences="1">
|
||||||
<code>put</code>
|
<code>put</code>
|
||||||
</InternalMethod>
|
</InternalMethod>
|
||||||
|
<ParamNameMismatch occurrences="2">
|
||||||
|
<code>$source</code>
|
||||||
|
<code>$target</code>
|
||||||
|
</ParamNameMismatch>
|
||||||
</file>
|
</file>
|
||||||
<file src="apps/files_external/lib/Lib/Storage/SFTPReadStream.php">
|
<file src="apps/files_external/lib/Lib/Storage/SFTPReadStream.php">
|
||||||
<FalsableReturnStatement occurrences="2">
|
<FalsableReturnStatement occurrences="2">
|
||||||
|
@ -1611,6 +1621,10 @@
|
||||||
<NullableReturnStatement occurrences="1">
|
<NullableReturnStatement occurrences="1">
|
||||||
<code>null</code>
|
<code>null</code>
|
||||||
</NullableReturnStatement>
|
</NullableReturnStatement>
|
||||||
|
<ParamNameMismatch occurrences="2">
|
||||||
|
<code>$source</code>
|
||||||
|
<code>$target</code>
|
||||||
|
</ParamNameMismatch>
|
||||||
<TooManyArguments occurrences="2">
|
<TooManyArguments occurrences="2">
|
||||||
<code>rename</code>
|
<code>rename</code>
|
||||||
<code>rename</code>
|
<code>rename</code>
|
||||||
|
@ -1848,9 +1862,6 @@
|
||||||
<InvalidReturnType occurrences="1">
|
<InvalidReturnType occurrences="1">
|
||||||
<code>isSharable</code>
|
<code>isSharable</code>
|
||||||
</InvalidReturnType>
|
</InvalidReturnType>
|
||||||
<NullArgument occurrences="1">
|
|
||||||
<code>$response['{http://open-collaboration-services.org/ns}share-permissions']</code>
|
|
||||||
</NullArgument>
|
|
||||||
</file>
|
</file>
|
||||||
<file src="apps/files_sharing/lib/Listener/LegacyBeforeTemplateRenderedListener.php">
|
<file src="apps/files_sharing/lib/Listener/LegacyBeforeTemplateRenderedListener.php">
|
||||||
<InvalidArgument occurrences="1">
|
<InvalidArgument occurrences="1">
|
||||||
|
@ -2562,12 +2573,6 @@
|
||||||
<code>is_array($members)</code>
|
<code>is_array($members)</code>
|
||||||
</TypeDoesNotContainType>
|
</TypeDoesNotContainType>
|
||||||
</file>
|
</file>
|
||||||
<file src="apps/user_ldap/lib/Group_Proxy.php">
|
|
||||||
<InvalidDocblock occurrences="2">
|
|
||||||
<code>protected function walkBackends($gid, $method, $parameters) {</code>
|
|
||||||
<code>protected function callOnLastSeenOn($gid, $method, $parameters, $passOnWhen) {</code>
|
|
||||||
</InvalidDocblock>
|
|
||||||
</file>
|
|
||||||
<file src="apps/user_ldap/lib/Helper.php">
|
<file src="apps/user_ldap/lib/Helper.php">
|
||||||
<InvalidScalarArgument occurrences="1">
|
<InvalidScalarArgument occurrences="1">
|
||||||
<code>$lastNumber + 1</code>
|
<code>$lastNumber + 1</code>
|
||||||
|
@ -3777,6 +3782,9 @@
|
||||||
<InvalidScalarArgument occurrences="1">
|
<InvalidScalarArgument occurrences="1">
|
||||||
<code>$e->getCode()</code>
|
<code>$e->getCode()</code>
|
||||||
</InvalidScalarArgument>
|
</InvalidScalarArgument>
|
||||||
|
<ParamNameMismatch occurrences="1">
|
||||||
|
<code>$statement</code>
|
||||||
|
</ParamNameMismatch>
|
||||||
</file>
|
</file>
|
||||||
<file src="lib/private/DB/ConnectionFactory.php">
|
<file src="lib/private/DB/ConnectionFactory.php">
|
||||||
<InternalClass occurrences="1">
|
<InternalClass occurrences="1">
|
||||||
|
@ -3968,6 +3976,9 @@
|
||||||
<InvalidArgument occurrences="1">
|
<InvalidArgument occurrences="1">
|
||||||
<code>$eventName</code>
|
<code>$eventName</code>
|
||||||
</InvalidArgument>
|
</InvalidArgument>
|
||||||
|
<ParamNameMismatch occurrences="1">
|
||||||
|
<code>$eventName</code>
|
||||||
|
</ParamNameMismatch>
|
||||||
<TooManyArguments occurrences="1">
|
<TooManyArguments occurrences="1">
|
||||||
<code>dispatch</code>
|
<code>dispatch</code>
|
||||||
</TooManyArguments>
|
</TooManyArguments>
|
||||||
|
@ -4410,14 +4421,15 @@
|
||||||
</ImplementedReturnTypeMismatch>
|
</ImplementedReturnTypeMismatch>
|
||||||
</file>
|
</file>
|
||||||
<file src="lib/private/Files/ObjectStore/NoopScanner.php">
|
<file src="lib/private/Files/ObjectStore/NoopScanner.php">
|
||||||
<ImplementedParamTypeMismatch occurrences="1">
|
|
||||||
<code>$folderData</code>
|
|
||||||
</ImplementedParamTypeMismatch>
|
|
||||||
<MoreSpecificImplementedParamType occurrences="1">
|
<MoreSpecificImplementedParamType occurrences="1">
|
||||||
<code>$cacheData</code>
|
<code>$cacheData</code>
|
||||||
</MoreSpecificImplementedParamType>
|
</MoreSpecificImplementedParamType>
|
||||||
</file>
|
</file>
|
||||||
<file src="lib/private/Files/ObjectStore/ObjectStoreStorage.php">
|
<file src="lib/private/Files/ObjectStore/ObjectStoreStorage.php">
|
||||||
|
<ParamNameMismatch occurrences="2">
|
||||||
|
<code>$source</code>
|
||||||
|
<code>$target</code>
|
||||||
|
</ParamNameMismatch>
|
||||||
<UndefinedInterfaceMethod occurrences="4">
|
<UndefinedInterfaceMethod occurrences="4">
|
||||||
<code>$child</code>
|
<code>$child</code>
|
||||||
<code>$child</code>
|
<code>$child</code>
|
||||||
|
@ -4590,6 +4602,12 @@
|
||||||
<InvalidReturnType occurrences="1">
|
<InvalidReturnType occurrences="1">
|
||||||
<code>filemtime</code>
|
<code>filemtime</code>
|
||||||
</InvalidReturnType>
|
</InvalidReturnType>
|
||||||
|
<ParamNameMismatch occurrences="4">
|
||||||
|
<code>$source</code>
|
||||||
|
<code>$target</code>
|
||||||
|
<code>$source</code>
|
||||||
|
<code>$target</code>
|
||||||
|
</ParamNameMismatch>
|
||||||
</file>
|
</file>
|
||||||
<file src="lib/private/Files/Storage/Local.php">
|
<file src="lib/private/Files/Storage/Local.php">
|
||||||
<ImplicitToStringCast occurrences="1">
|
<ImplicitToStringCast occurrences="1">
|
||||||
|
@ -4794,6 +4812,10 @@
|
||||||
<InvalidScalarArgument occurrences="1">
|
<InvalidScalarArgument occurrences="1">
|
||||||
<code>'ext'</code>
|
<code>'ext'</code>
|
||||||
</InvalidScalarArgument>
|
</InvalidScalarArgument>
|
||||||
|
<ParamNameMismatch occurrences="2">
|
||||||
|
<code>$source</code>
|
||||||
|
<code>$target</code>
|
||||||
|
</ParamNameMismatch>
|
||||||
<UndefinedInterfaceMethod occurrences="1">
|
<UndefinedInterfaceMethod occurrences="1">
|
||||||
<code>$data</code>
|
<code>$data</code>
|
||||||
</UndefinedInterfaceMethod>
|
</UndefinedInterfaceMethod>
|
||||||
|
@ -5980,6 +6002,7 @@
|
||||||
</UndefinedDocblockClass>
|
</UndefinedDocblockClass>
|
||||||
</file>
|
</file>
|
||||||
<file src="lib/private/legacy/OC_Files.php">
|
<file src="lib/private/legacy/OC_Files.php">
|
||||||
|
<EmptyArrayAccess occurrences="2"/>
|
||||||
<InvalidArgument occurrences="3">
|
<InvalidArgument occurrences="3">
|
||||||
<code>$fileInfos</code>
|
<code>$fileInfos</code>
|
||||||
<code>[$fileInfo]</code>
|
<code>[$fileInfo]</code>
|
||||||
|
|
|
@ -123,10 +123,10 @@ class ListApps extends Base {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $optionName
|
* @param string $optionName
|
||||||
* @param CompletionContext $completionContext
|
* @param CompletionContext $context
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function completeOptionValues($optionName, CompletionContext $completionContext) {
|
public function completeOptionValues($optionName, CompletionContext $context) {
|
||||||
if ($optionName === 'shipped') {
|
if ($optionName === 'shipped') {
|
||||||
return ['true', 'false'];
|
return ['true', 'false'];
|
||||||
}
|
}
|
||||||
|
|
|
@ -140,13 +140,13 @@ interface IProvider {
|
||||||
/**
|
/**
|
||||||
* Get the (unencrypted) password of the given token
|
* Get the (unencrypted) password of the given token
|
||||||
*
|
*
|
||||||
* @param IToken $token
|
* @param IToken $savedToken
|
||||||
* @param string $tokenId
|
* @param string $tokenId
|
||||||
* @throws InvalidTokenException
|
* @throws InvalidTokenException
|
||||||
* @throws PasswordlessTokenException
|
* @throws PasswordlessTokenException
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function getPassword(IToken $token, string $tokenId): string;
|
public function getPassword(IToken $savedToken, string $tokenId): string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Encrypt and set the password of the given token
|
* Encrypt and set the password of the given token
|
||||||
|
|
|
@ -227,20 +227,20 @@ class PublicKeyTokenProvider implements IProvider {
|
||||||
return $this->mapper->getTokenByUser($uid);
|
return $this->mapper->getTokenByUser($uid);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getPassword(IToken $token, string $tokenId): string {
|
public function getPassword(IToken $savedToken, string $tokenId): string {
|
||||||
if (!($token instanceof PublicKeyToken)) {
|
if (!($savedToken instanceof PublicKeyToken)) {
|
||||||
throw new InvalidTokenException("Invalid token type");
|
throw new InvalidTokenException("Invalid token type");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($token->getPassword() === null) {
|
if ($savedToken->getPassword() === null) {
|
||||||
throw new PasswordlessTokenException();
|
throw new PasswordlessTokenException();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Decrypt private key with tokenId
|
// Decrypt private key with tokenId
|
||||||
$privateKey = $this->decrypt($token->getPrivateKey(), $tokenId);
|
$privateKey = $this->decrypt($savedToken->getPrivateKey(), $tokenId);
|
||||||
|
|
||||||
// Decrypt password with private key
|
// Decrypt password with private key
|
||||||
return $this->decryptPassword($token->getPassword(), $privateKey);
|
return $this->decryptPassword($savedToken->getPassword(), $privateKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setPassword(IToken $token, string $tokenId, string $password) {
|
public function setPassword(IToken $token, string $tokenId, string $password) {
|
||||||
|
|
|
@ -69,11 +69,11 @@ class ContactsManager implements IManager {
|
||||||
* This function can be used to delete the contact identified by the given id
|
* This function can be used to delete the contact identified by the given id
|
||||||
*
|
*
|
||||||
* @param object $id the unique identifier to a contact
|
* @param object $id the unique identifier to a contact
|
||||||
* @param string $addressBookKey identifier of the address book in which the contact shall be deleted
|
* @param string $address_book_key identifier of the address book in which the contact shall be deleted
|
||||||
* @return bool successful or not
|
* @return bool successful or not
|
||||||
*/
|
*/
|
||||||
public function delete($id, $addressBookKey) {
|
public function delete($id, $address_book_key) {
|
||||||
$addressBook = $this->getAddressBook($addressBookKey);
|
$addressBook = $this->getAddressBook($address_book_key);
|
||||||
if (!$addressBook) {
|
if (!$addressBook) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -90,11 +90,11 @@ class ContactsManager implements IManager {
|
||||||
* Otherwise the contact will be updated by replacing the entire data set.
|
* Otherwise the contact will be updated by replacing the entire data set.
|
||||||
*
|
*
|
||||||
* @param array $properties this array if key-value-pairs defines a contact
|
* @param array $properties this array if key-value-pairs defines a contact
|
||||||
* @param string $addressBookKey identifier of the address book in which the contact shall be created or updated
|
* @param string $address_book_key identifier of the address book in which the contact shall be created or updated
|
||||||
* @return array representing the contact just created or updated
|
* @return array representing the contact just created or updated
|
||||||
*/
|
*/
|
||||||
public function createOrUpdate($properties, $addressBookKey) {
|
public function createOrUpdate($properties, $address_book_key) {
|
||||||
$addressBook = $this->getAddressBook($addressBookKey);
|
$addressBook = $this->getAddressBook($address_book_key);
|
||||||
if (!$addressBook) {
|
if (!$addressBook) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,24 +47,24 @@ class OracleConnection extends Connection {
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
public function insert($tableName, array $data, array $types = []) {
|
public function insert($tableExpression, array $data, array $types = []) {
|
||||||
if ($tableName[0] !== $this->getDatabasePlatform()->getIdentifierQuoteCharacter()) {
|
if ($tableExpression[0] !== $this->getDatabasePlatform()->getIdentifierQuoteCharacter()) {
|
||||||
$tableName = $this->quoteIdentifier($tableName);
|
$tableExpression = $this->quoteIdentifier($tableExpression);
|
||||||
}
|
}
|
||||||
$data = $this->quoteKeys($data);
|
$data = $this->quoteKeys($data);
|
||||||
return parent::insert($tableName, $data, $types);
|
return parent::insert($tableExpression, $data, $types);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
public function update($tableName, array $data, array $identifier, array $types = []) {
|
public function update($tableExpression, array $data, array $identifier, array $types = []) {
|
||||||
if ($tableName[0] !== $this->getDatabasePlatform()->getIdentifierQuoteCharacter()) {
|
if ($tableExpression[0] !== $this->getDatabasePlatform()->getIdentifierQuoteCharacter()) {
|
||||||
$tableName = $this->quoteIdentifier($tableName);
|
$tableExpression = $this->quoteIdentifier($tableExpression);
|
||||||
}
|
}
|
||||||
$data = $this->quoteKeys($data);
|
$data = $this->quoteKeys($data);
|
||||||
$identifier = $this->quoteKeys($identifier);
|
$identifier = $this->quoteKeys($identifier);
|
||||||
return parent::update($tableName, $data, $identifier, $types);
|
return parent::update($tableExpression, $data, $identifier, $types);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -254,9 +254,9 @@ class CacheJail extends CacheWrapper {
|
||||||
* @param string|boolean $path
|
* @param string|boolean $path
|
||||||
* @param array $data (optional) meta data of the folder
|
* @param array $data (optional) meta data of the folder
|
||||||
*/
|
*/
|
||||||
public function correctFolderSize($path, $data = null, $isBackgroundSize = false) {
|
public function correctFolderSize($path, $data = null, $isBackgroundScan = false) {
|
||||||
if ($this->getCache() instanceof Cache) {
|
if ($this->getCache() instanceof Cache) {
|
||||||
$this->getCache()->correctFolderSize($this->getSourcePath($path), $data, $isBackgroundSize);
|
$this->getCache()->correctFolderSize($this->getSourcePath($path), $data, $isBackgroundScan);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -69,7 +69,7 @@ class NoopScanner extends Scanner {
|
||||||
* @param array $folderData existing cache data for the folder to be scanned
|
* @param array $folderData existing cache data for the folder to be scanned
|
||||||
* @return int the size of the scanned folder or -1 if the size is unknown at this stage
|
* @return int the size of the scanned folder or -1 if the size is unknown at this stage
|
||||||
*/
|
*/
|
||||||
protected function scanChildren($path, $recursive = self::SCAN_RECURSIVE, $reuse = -1, $folderData = null, $lock = true) {
|
protected function scanChildren($path, $recursive = self::SCAN_RECURSIVE, $reuse = -1, $folderId = null, $lock = true) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -230,7 +230,7 @@ class SystemTagManager implements ISystemTagManager {
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
public function updateTag(string $tagId, string $tagName, bool $userVisible, bool $userAssignable) {
|
public function updateTag(string $tagId, string $newName, bool $userVisible, bool $userAssignable) {
|
||||||
try {
|
try {
|
||||||
$tags = $this->getTagsByIds($tagId);
|
$tags = $this->getTagsByIds($tagId);
|
||||||
} catch (TagNotFoundException $e) {
|
} catch (TagNotFoundException $e) {
|
||||||
|
@ -242,7 +242,7 @@ class SystemTagManager implements ISystemTagManager {
|
||||||
$beforeUpdate = array_shift($tags);
|
$beforeUpdate = array_shift($tags);
|
||||||
$afterUpdate = new SystemTag(
|
$afterUpdate = new SystemTag(
|
||||||
$tagId,
|
$tagId,
|
||||||
$tagName,
|
$newName,
|
||||||
$userVisible,
|
$userVisible,
|
||||||
$userAssignable
|
$userAssignable
|
||||||
);
|
);
|
||||||
|
@ -253,7 +253,7 @@ class SystemTagManager implements ISystemTagManager {
|
||||||
->set('visibility', $query->createParameter('visibility'))
|
->set('visibility', $query->createParameter('visibility'))
|
||||||
->set('editable', $query->createParameter('editable'))
|
->set('editable', $query->createParameter('editable'))
|
||||||
->where($query->expr()->eq('id', $query->createParameter('tagid')))
|
->where($query->expr()->eq('id', $query->createParameter('tagid')))
|
||||||
->setParameter('name', $tagName)
|
->setParameter('name', $newName)
|
||||||
->setParameter('visibility', $userVisible ? 1 : 0)
|
->setParameter('visibility', $userVisible ? 1 : 0)
|
||||||
->setParameter('editable', $userAssignable ? 1 : 0)
|
->setParameter('editable', $userAssignable ? 1 : 0)
|
||||||
->setParameter('tagid', $tagId);
|
->setParameter('tagid', $tagId);
|
||||||
|
@ -266,7 +266,7 @@ class SystemTagManager implements ISystemTagManager {
|
||||||
}
|
}
|
||||||
} catch (UniqueConstraintViolationException $e) {
|
} catch (UniqueConstraintViolationException $e) {
|
||||||
throw new TagAlreadyExistsException(
|
throw new TagAlreadyExistsException(
|
||||||
'Tag ("' . $tagName . '", '. $userVisible . ', ' . $userAssignable . ') already exists',
|
'Tag ("' . $newName . '", '. $userVisible . ', ' . $userAssignable . ') already exists',
|
||||||
0,
|
0,
|
||||||
$e
|
$e
|
||||||
);
|
);
|
||||||
|
|
|
@ -72,15 +72,16 @@ class URLGenerator implements IURLGenerator {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an url using a defined route
|
* Creates an url using a defined route
|
||||||
* @param string $route
|
*
|
||||||
* @param array $parameters args with param=>value, will be appended to the returned url
|
* @param string $routeName
|
||||||
|
* @param array $arguments args with param=>value, will be appended to the returned url
|
||||||
* @return string the url
|
* @return string the url
|
||||||
*
|
*
|
||||||
* Returns a url to the given route.
|
* Returns a url to the given route.
|
||||||
*/
|
*/
|
||||||
public function linkToRoute(string $route, array $parameters = []): string {
|
public function linkToRoute(string $routeName, array $arguments = []): string {
|
||||||
// TODO: mock router
|
// TODO: mock router
|
||||||
return \OC::$server->getRouter()->generate($route, $parameters);
|
return \OC::$server->getRouter()->generate($routeName, $arguments);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -111,7 +112,8 @@ class URLGenerator implements IURLGenerator {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an url
|
* Creates an url
|
||||||
* @param string $app app
|
*
|
||||||
|
* @param string $appName app
|
||||||
* @param string $file file
|
* @param string $file file
|
||||||
* @param array $args array with param=>value, will be appended to the returned url
|
* @param array $args array with param=>value, will be appended to the returned url
|
||||||
* The value of $args will be urlencoded
|
* The value of $args will be urlencoded
|
||||||
|
@ -119,24 +121,24 @@ class URLGenerator implements IURLGenerator {
|
||||||
*
|
*
|
||||||
* Returns a url to the given app and file.
|
* Returns a url to the given app and file.
|
||||||
*/
|
*/
|
||||||
public function linkTo(string $app, string $file, array $args = []): string {
|
public function linkTo(string $appName, string $file, array $args = []): string {
|
||||||
$frontControllerActive = ($this->config->getSystemValue('htaccess.IgnoreFrontController', false) === true || getenv('front_controller_active') === 'true');
|
$frontControllerActive = ($this->config->getSystemValue('htaccess.IgnoreFrontController', false) === true || getenv('front_controller_active') === 'true');
|
||||||
|
|
||||||
if ($app !== '') {
|
if ($appName !== '') {
|
||||||
$app_path = \OC_App::getAppPath($app);
|
$app_path = \OC_App::getAppPath($appName);
|
||||||
// Check if the app is in the app folder
|
// Check if the app is in the app folder
|
||||||
if ($app_path && file_exists($app_path . '/' . $file)) {
|
if ($app_path && file_exists($app_path . '/' . $file)) {
|
||||||
if (substr($file, -3) === 'php') {
|
if (substr($file, -3) === 'php') {
|
||||||
$urlLinkTo = \OC::$WEBROOT . '/index.php/apps/' . $app;
|
$urlLinkTo = \OC::$WEBROOT . '/index.php/apps/' . $appName;
|
||||||
if ($frontControllerActive) {
|
if ($frontControllerActive) {
|
||||||
$urlLinkTo = \OC::$WEBROOT . '/apps/' . $app;
|
$urlLinkTo = \OC::$WEBROOT . '/apps/' . $appName;
|
||||||
}
|
}
|
||||||
$urlLinkTo .= ($file !== 'index.php') ? '/' . $file : '';
|
$urlLinkTo .= ($file !== 'index.php') ? '/' . $file : '';
|
||||||
} else {
|
} else {
|
||||||
$urlLinkTo = \OC_App::getAppWebPath($app) . '/' . $file;
|
$urlLinkTo = \OC_App::getAppWebPath($appName) . '/' . $file;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$urlLinkTo = \OC::$WEBROOT . '/' . $app . '/' . $file;
|
$urlLinkTo = \OC::$WEBROOT . '/' . $appName . '/' . $file;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (file_exists(\OC::$SERVERROOT . '/core/' . $file)) {
|
if (file_exists(\OC::$SERVERROOT . '/core/' . $file)) {
|
||||||
|
@ -159,16 +161,17 @@ class URLGenerator implements IURLGenerator {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates path to an image
|
* Creates path to an image
|
||||||
* @param string $app app
|
*
|
||||||
* @param string $image image name
|
* @param string $appName app
|
||||||
|
* @param string $file image name
|
||||||
* @throws \RuntimeException If the image does not exist
|
* @throws \RuntimeException If the image does not exist
|
||||||
* @return string the url
|
* @return string the url
|
||||||
*
|
*
|
||||||
* Returns the path to the image.
|
* Returns the path to the image.
|
||||||
*/
|
*/
|
||||||
public function imagePath(string $app, string $image): string {
|
public function imagePath(string $appName, string $file): string {
|
||||||
$cache = $this->cacheFactory->createDistributed('imagePath-'.md5($this->getBaseUrl()).'-');
|
$cache = $this->cacheFactory->createDistributed('imagePath-'.md5($this->getBaseUrl()).'-');
|
||||||
$cacheKey = $app.'-'.$image;
|
$cacheKey = $appName.'-'.$file;
|
||||||
if ($key = $cache->get($cacheKey)) {
|
if ($key = $cache->get($cacheKey)) {
|
||||||
return $key;
|
return $key;
|
||||||
}
|
}
|
||||||
|
@ -177,9 +180,9 @@ class URLGenerator implements IURLGenerator {
|
||||||
$theme = \OC_Util::getTheme();
|
$theme = \OC_Util::getTheme();
|
||||||
|
|
||||||
//if a theme has a png but not an svg always use the png
|
//if a theme has a png but not an svg always use the png
|
||||||
$basename = substr(basename($image),0,-4);
|
$basename = substr(basename($file),0,-4);
|
||||||
|
|
||||||
$appPath = \OC_App::getAppPath($app);
|
$appPath = \OC_App::getAppPath($appName);
|
||||||
|
|
||||||
// Check if the app is in the app folder
|
// Check if the app is in the app folder
|
||||||
$path = '';
|
$path = '';
|
||||||
|
@ -188,39 +191,39 @@ class URLGenerator implements IURLGenerator {
|
||||||
if ($themingEnabled) {
|
if ($themingEnabled) {
|
||||||
$themingDefaults = \OC::$server->getThemingDefaults();
|
$themingDefaults = \OC::$server->getThemingDefaults();
|
||||||
if ($themingDefaults instanceof ThemingDefaults) {
|
if ($themingDefaults instanceof ThemingDefaults) {
|
||||||
$themingImagePath = $themingDefaults->replaceImagePath($app, $image);
|
$themingImagePath = $themingDefaults->replaceImagePath($appName, $file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (file_exists(\OC::$SERVERROOT . "/themes/$theme/apps/$app/img/$image")) {
|
if (file_exists(\OC::$SERVERROOT . "/themes/$theme/apps/$appName/img/$file")) {
|
||||||
$path = \OC::$WEBROOT . "/themes/$theme/apps/$app/img/$image";
|
$path = \OC::$WEBROOT . "/themes/$theme/apps/$appName/img/$file";
|
||||||
} elseif (!file_exists(\OC::$SERVERROOT . "/themes/$theme/apps/$app/img/$basename.svg")
|
} elseif (!file_exists(\OC::$SERVERROOT . "/themes/$theme/apps/$appName/img/$basename.svg")
|
||||||
&& file_exists(\OC::$SERVERROOT . "/themes/$theme/apps/$app/img/$basename.png")) {
|
&& file_exists(\OC::$SERVERROOT . "/themes/$theme/apps/$appName/img/$basename.png")) {
|
||||||
$path = \OC::$WEBROOT . "/themes/$theme/apps/$app/img/$basename.png";
|
$path = \OC::$WEBROOT . "/themes/$theme/apps/$appName/img/$basename.png";
|
||||||
} elseif (!empty($app) and file_exists(\OC::$SERVERROOT . "/themes/$theme/$app/img/$image")) {
|
} elseif (!empty($appName) and file_exists(\OC::$SERVERROOT . "/themes/$theme/$appName/img/$file")) {
|
||||||
$path = \OC::$WEBROOT . "/themes/$theme/$app/img/$image";
|
$path = \OC::$WEBROOT . "/themes/$theme/$appName/img/$file";
|
||||||
} elseif (!empty($app) and (!file_exists(\OC::$SERVERROOT . "/themes/$theme/$app/img/$basename.svg")
|
} elseif (!empty($appName) and (!file_exists(\OC::$SERVERROOT . "/themes/$theme/$appName/img/$basename.svg")
|
||||||
&& file_exists(\OC::$SERVERROOT . "/themes/$theme/$app/img/$basename.png"))) {
|
&& file_exists(\OC::$SERVERROOT . "/themes/$theme/$appName/img/$basename.png"))) {
|
||||||
$path = \OC::$WEBROOT . "/themes/$theme/$app/img/$basename.png";
|
$path = \OC::$WEBROOT . "/themes/$theme/$appName/img/$basename.png";
|
||||||
} elseif (file_exists(\OC::$SERVERROOT . "/themes/$theme/core/img/$image")) {
|
} elseif (file_exists(\OC::$SERVERROOT . "/themes/$theme/core/img/$file")) {
|
||||||
$path = \OC::$WEBROOT . "/themes/$theme/core/img/$image";
|
$path = \OC::$WEBROOT . "/themes/$theme/core/img/$file";
|
||||||
} elseif (!file_exists(\OC::$SERVERROOT . "/themes/$theme/core/img/$basename.svg")
|
} elseif (!file_exists(\OC::$SERVERROOT . "/themes/$theme/core/img/$basename.svg")
|
||||||
&& file_exists(\OC::$SERVERROOT . "/themes/$theme/core/img/$basename.png")) {
|
&& file_exists(\OC::$SERVERROOT . "/themes/$theme/core/img/$basename.png")) {
|
||||||
$path = \OC::$WEBROOT . "/themes/$theme/core/img/$basename.png";
|
$path = \OC::$WEBROOT . "/themes/$theme/core/img/$basename.png";
|
||||||
} elseif ($themingEnabled && $themingImagePath) {
|
} elseif ($themingEnabled && $themingImagePath) {
|
||||||
$path = $themingImagePath;
|
$path = $themingImagePath;
|
||||||
} elseif ($appPath && file_exists($appPath . "/img/$image")) {
|
} elseif ($appPath && file_exists($appPath . "/img/$file")) {
|
||||||
$path = \OC_App::getAppWebPath($app) . "/img/$image";
|
$path = \OC_App::getAppWebPath($appName) . "/img/$file";
|
||||||
} elseif ($appPath && !file_exists($appPath . "/img/$basename.svg")
|
} elseif ($appPath && !file_exists($appPath . "/img/$basename.svg")
|
||||||
&& file_exists($appPath . "/img/$basename.png")) {
|
&& file_exists($appPath . "/img/$basename.png")) {
|
||||||
$path = \OC_App::getAppWebPath($app) . "/img/$basename.png";
|
$path = \OC_App::getAppWebPath($appName) . "/img/$basename.png";
|
||||||
} elseif (!empty($app) and file_exists(\OC::$SERVERROOT . "/$app/img/$image")) {
|
} elseif (!empty($appName) and file_exists(\OC::$SERVERROOT . "/$appName/img/$file")) {
|
||||||
$path = \OC::$WEBROOT . "/$app/img/$image";
|
$path = \OC::$WEBROOT . "/$appName/img/$file";
|
||||||
} elseif (!empty($app) and (!file_exists(\OC::$SERVERROOT . "/$app/img/$basename.svg")
|
} elseif (!empty($appName) and (!file_exists(\OC::$SERVERROOT . "/$appName/img/$basename.svg")
|
||||||
&& file_exists(\OC::$SERVERROOT . "/$app/img/$basename.png"))) {
|
&& file_exists(\OC::$SERVERROOT . "/$appName/img/$basename.png"))) {
|
||||||
$path = \OC::$WEBROOT . "/$app/img/$basename.png";
|
$path = \OC::$WEBROOT . "/$appName/img/$basename.png";
|
||||||
} elseif (file_exists(\OC::$SERVERROOT . "/core/img/$image")) {
|
} elseif (file_exists(\OC::$SERVERROOT . "/core/img/$file")) {
|
||||||
$path = \OC::$WEBROOT . "/core/img/$image";
|
$path = \OC::$WEBROOT . "/core/img/$file";
|
||||||
} elseif (!file_exists(\OC::$SERVERROOT . "/core/img/$basename.svg")
|
} elseif (!file_exists(\OC::$SERVERROOT . "/core/img/$basename.svg")
|
||||||
&& file_exists(\OC::$SERVERROOT . "/core/img/$basename.png")) {
|
&& file_exists(\OC::$SERVERROOT . "/core/img/$basename.png")) {
|
||||||
$path = \OC::$WEBROOT . "/themes/$theme/core/img/$basename.png";
|
$path = \OC::$WEBROOT . "/themes/$theme/core/img/$basename.png";
|
||||||
|
@ -231,7 +234,7 @@ class URLGenerator implements IURLGenerator {
|
||||||
return $path;
|
return $path;
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new RuntimeException('image not found: image:' . $image . ' webroot:' . \OC::$WEBROOT . ' serverroot:' . \OC::$SERVERROOT);
|
throw new RuntimeException('image not found: image:' . $file . ' webroot:' . \OC::$WEBROOT . ' serverroot:' . \OC::$SERVERROOT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -293,14 +293,14 @@ class Database extends ABackend implements
|
||||||
/**
|
/**
|
||||||
* Check if the password is correct
|
* Check if the password is correct
|
||||||
*
|
*
|
||||||
* @param string $uid The username
|
* @param string $loginName The loginname
|
||||||
* @param string $password The password
|
* @param string $password The password
|
||||||
* @return string
|
* @return string
|
||||||
*
|
*
|
||||||
* Check if the password is correct without logging in the user
|
* Check if the password is correct without logging in the user
|
||||||
* returns the user id or false
|
* returns the user id or false
|
||||||
*/
|
*/
|
||||||
public function checkPassword(string $uid, string $password) {
|
public function checkPassword(string $loginName, string $password) {
|
||||||
$this->fixDI();
|
$this->fixDI();
|
||||||
|
|
||||||
$qb = $this->dbConn->getQueryBuilder();
|
$qb = $this->dbConn->getQueryBuilder();
|
||||||
|
@ -308,7 +308,7 @@ class Database extends ABackend implements
|
||||||
->from($this->table)
|
->from($this->table)
|
||||||
->where(
|
->where(
|
||||||
$qb->expr()->eq(
|
$qb->expr()->eq(
|
||||||
'uid_lower', $qb->createNamedParameter(mb_strtolower($uid))
|
'uid_lower', $qb->createNamedParameter(mb_strtolower($loginName))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
$result = $qb->execute();
|
$result = $qb->execute();
|
||||||
|
@ -320,7 +320,7 @@ class Database extends ABackend implements
|
||||||
$newHash = '';
|
$newHash = '';
|
||||||
if (\OC::$server->getHasher()->verify($password, $storedHash, $newHash)) {
|
if (\OC::$server->getHasher()->verify($password, $storedHash, $newHash)) {
|
||||||
if (!empty($newHash)) {
|
if (!empty($newHash)) {
|
||||||
$this->updatePassword($uid, $newHash);
|
$this->updatePassword($loginName, $newHash);
|
||||||
}
|
}
|
||||||
return (string)$row['uid'];
|
return (string)$row['uid'];
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,12 +46,12 @@ interface IUserSession {
|
||||||
/**
|
/**
|
||||||
* Do a user login
|
* Do a user login
|
||||||
*
|
*
|
||||||
* @param string $user the username
|
* @param string $uid the username
|
||||||
* @param string $password the password
|
* @param string $password the password
|
||||||
* @return bool true if successful
|
* @return bool true if successful
|
||||||
* @since 6.0.0
|
* @since 6.0.0
|
||||||
*/
|
*/
|
||||||
public function login($user, $password);
|
public function login($uid, $password);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Logs the user out including all the session data
|
* Logs the user out including all the session data
|
||||||
|
|
|
@ -33,7 +33,7 @@ interface ICheckPasswordBackend {
|
||||||
/**
|
/**
|
||||||
* @since 14.0.0
|
* @since 14.0.0
|
||||||
*
|
*
|
||||||
* @param string $uid The username
|
* @param string $loginName The loginname
|
||||||
* @param string $password The password
|
* @param string $password The password
|
||||||
* @return string|bool The uid on success false on failure
|
* @return string|bool The uid on success false on failure
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue