Commit Graph

71 Commits (296096e06996aee1a06d901b99adde5f04688f58)

Author SHA1 Message Date
Joas Schilling aa5f037af7
chore: apply changes from Nextcloud coding standards 1.1.1
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-11-23 10:36:13 +07:00
Côme Chilliet bfe42de8f8
Merge pull request #38604 from fsamapoor/replace_strpos_calls_in_workflowengine_app
Refactors "strpos" calls in /apps/workflowengine
2023-08-07 09:10:43 +07:00
Julius Härtl 06d80ba809 fix: Avoid failing with duplicate checks
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-07-12 16:54:13 +07:00
Faraz Samapoor 9d15e6e21d Fixes "PossiblyFalseArgument" notices.
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
Signed-off-by: Faraz Samapoor <fsa@adlas.at>
2023-07-03 13:13:11 +07:00
Faraz Samapoor 5db241b942 Refactors "strpos" calls in /apps/workflowengine to improve code readability.
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
Signed-off-by: Faraz Samapoor <fsa@adlas.at>
2023-07-03 13:13:11 +07:00
Joas Schilling 9ba091b348
fix(workflow): Check tag attribute
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-03-16 08:44:41 +07:00
Robin Appelman 83cc8202b8
remove file exists check from `cacheAndReturnMimeType`
the method is only called if the file exists already

a check against storing the fallback mimetype is added as a safety instead

Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-12-20 13:28:40 +07:00
Robin Appelman c5a8246742
use mimetype from cache for workflow if available
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-12-20 13:28:33 +07:00
Côme Chilliet 9ba9f9a7dc
Make sure to not pass null to DateTime::createFromFormat
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-11-14 16:23:50 +07:00
Carl Schwan cbf9064b8e
Fix psalm issues
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-13 12:30:27 +07:00
Carl Schwan 695165260f
Add helper method in Wrapper
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-13 10:39:36 +07:00
Carl Schwan 0479fff37c
The storage is not static anymore
Don't call twice $cache->getId

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-13 10:39:36 +07:00
Carl Schwan 1f392d666a
Optimize FileSystemTags workflow for groupfolder
In https://github.com/nextcloud/server/pull/28774 we disabled the
caching for the groupfolder application since it worked due to the fact
that in groupfolders, getFileIds could be called with the same $cacheId
and path for actually different groupfolders.

This revert this change and instead add the folderId from the
groupFolder to the cacheId. This solve the issue of the uniqueness of
the cacheId inside GroupFolder. Downside is that we introduce
groupfolder specific implementation inside the server repo.

The seconf optimization is to not consider paths starting with
__groupfolders in executeCheck. This is due to the fact that files in
the groupfolder application call two times executeCheck one time with
the url __groupfolder/<folderId>/<path> and the other time with <path>.
The first time will always return an empty systemTags array while the
second call will return the correct system tags.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-13 10:39:32 +07:00
Carl Schwan 08bf47a5de
Fix RequestURL check for cli commands
Fix https://github.com/nextcloud/files_automatedtagging/issues/526

Fix https://github.com/nextcloud/groupfolders/issues/1855

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-11 19:45:07 +07:00
Robin Appelman e95745c074
fix tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-12-02 17:43:16 +07:00
Joas Schilling 7a6d559f19
Detect mimetype by content only with content
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-27 10:46:44 +07:00
Richard Steinmetz 8bd8e97181
Do not cache file ids in FileSystemTags inside group folders
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2021-09-14 15:10:44 +07:00
John Molakvoæ (skjnldsv) 215aef3cbd
Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +07:00
szaimen 35d978c2fc Rename External storages to External storage
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-05-20 12:13:04 +07:00
dependabot-preview[bot] eb502c02ff
Bump nextcloud/coding-standard from 0.3.0 to 0.5.0
Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard) from 0.3.0 to 0.5.0.
- [Release notes](https://github.com/nextcloud/coding-standard/releases)
- [Changelog](https://github.com/nextcloud/coding-standard/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/coding-standard/compare/v0.3.0...v0.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-18 13:31:24 +07:00
Morris Jobke 24d436cb60
Remove unneeded casts that were found by Psalm
In preparation of the update of Psalm from 4.2.1 to 4.3.1+ (see https://github.com/nextcloud/server/pull/24521)

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-01-11 13:14:41 +07:00
Arthur Schiwon 04cd1348ec
consider local external storages, too
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-15 11:50:04 +07:00
Arthur Schiwon 14bbec5fa7
enables the file name check also to match name of mountpoints
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-12-15 00:05:42 +07:00
Morris Jobke c44ec8c5d5
Only execute plain mimetype check for directories and do the fallback only for non-directories
Ref #23096

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-30 16:43:57 +07:00
Julius Härtl 63479684a5
Make sure to check the mimetype on the path if a secure one could not be detemined though the content
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-09-29 16:01:50 +07:00
J0WI 1639289b95 Update urls to stackoverflow.com to "HTTPS"
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2020-09-17 17:38:27 +07:00
Julius Härtl 11329dcb42
Flow: Include root folder for shared storages when fetching system tags
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-06-15 08:28:12 +07:00
Christoph Wurst 28f8eb5dba
Add visibility to all constants
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 16:54:27 +07:00
Christoph Wurst caff1023ea
Format control structures, classes, methods and function
To continue this formatting madness, here's a tiny patch that adds
unified formatting for control structures like if and loops as well as
classes, their methods and anonymous functions. This basically forces
the constructs to start on the same line. This is not exactly what PSR2
wants, but I think we can have a few exceptions with "our" style. The
starting of braces on the same line is pracrically standard for our
code.

This also removes and empty lines from method/function bodies at the
beginning and end.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 14:19:56 +07:00
Christoph Wurst 14c996d982
Use elseif instead of else if
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 10:35:09 +07:00
Christoph Wurst afbd9c4e6e
Unify function spacing to PSR2 recommendation
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 13:54:22 +07:00
Christoph Wurst 2a529e453a
Use a blank line after the opening tag
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 11:50:14 +07:00
Christoph Wurst 41b5e5923a
Use exactly one empty line after the namespace declaration
For PSR2

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 11:48:10 +07:00
Christoph Wurst 74936c49ea
Remove unused imports
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-25 22:08:08 +07:00
Arthur Schiwon 4a0926f5de
make the mime type checker for flow available to regular users
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-01-09 12:29:26 +07:00
Joas Schilling 4a151c545a
Allow to specify apps that somethign is a dir
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-12-10 09:11:43 +07:00
Joas Schilling 511a4ba66f
Improve mimetype detection in workflow components
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-12-10 09:11:43 +07:00
Joas Schilling d4d3725bfe
Only cache the mimetype if the file exists
Otherwise files access control will cache "application/octet-stream"
for all the target node on:
rename, move, copy and all other methods which create a new item

To check this:
1. Add an automated tagging rule which tags on mimetype NOT "httpd/unix-directory"
2. Add an access control rule which checks for any mimetype
3. Create a folder and rename it, the folder should not be tagged, but it is

Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-10-14 10:05:45 +07:00
Joas Schilling 0f3de7828e
Don't call basename on null
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-10-01 17:30:52 +07:00
Joas Schilling 744b635d5c
Correctly detect the mimetype from uploads
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-09-26 17:43:47 +07:00
Julius Härtl 72a7fe8185
Fix type hinting on setFileInfo
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-09-10 08:52:13 +07:00
Arthur Schiwon 849d025d09
let a dedicate service serve a stateful process
* includes making ICheck not requiring any context setter
* and IFileCheck extending the IEntityCheck as entity data can be handed in
  via Dispatcher

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:05 +07:00
Arthur Schiwon 4cd931fcc6
require IChecks to receive entity context
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:05 +07:00
Arthur Schiwon fd2de58503
seperate setFileInfo from ICheck
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:05 +07:00
Julius Härtl 32279ed062
Extend missing check classes
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-09-09 22:56:05 +07:00
Arthur Schiwon c2a52813e2
extends ICheck with scope and entity support, provide them as initialState
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:04 +07:00
Roeland Jago Douma 90dc8fb42e
A folder should get a folder mimetype
If doing achunked upload the mimetype of the folder would otherwise be
guessed from the path. Which always returned application/octet-stream.

If an access control rule to block that is in place this means that all
chunked uploads fail hard in directories as the isCreatable on the
directory always fails.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-29 21:35:08 +07:00
Daniel Kesselberg 28fc7b5061
Ignore case for is and !is
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-10-05 17:54:48 +07:00
Daniel Kesselberg 4c4f50ee2d
Remove unused import
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-10-04 14:23:45 +07:00
Daniel Kesselberg 0721627943
Make code strict
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-10-03 20:26:00 +07:00