Commit Graph

87 Commits

Author SHA1 Message Date
John Molakvoæ (skjnldsv) b95d18b85e
Revert rebaseurl function edit
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-01-05 08:35:38 +01:00
John Molakvoæ (skjnldsv) 7a282dee89
Rollback caching fix
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-01-05 08:34:32 +01:00
John Molakvoæ (skjnldsv) 1f2437e2c5
Fixup! Proberly detect variable changes
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-01-04 19:11:41 +01:00
John Molakvoæ (skjnldsv) cf53560218
Proberly detect variable changes
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-01-04 19:10:27 +01:00
John Molakvoæ (skjnldsv) fa95733b0d
Fixed url rebase with theming
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-01-04 13:24:21 +01:00
John Molakvoæ (skjnldsv) 1ae126a781
Fixed tests
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-01-03 22:05:03 +01:00
John Molakvoæ (skjnldsv) 87b1839cd1
Added tests for various installations types
- With root installation
 - Core css
 - App inside server root
 - Secondary apps directory outside server root
- With an installation in a sub directory
 - Core css
 - App inside server root
 - Secondary apps directory outside server root

Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-01-03 22:05:02 +01:00
John Molakvoæ (skjnldsv) a46d45a652
Fixup! getWebdir return
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-01-03 22:05:02 +01:00
John Molakvoæ (skjnldsv) 89b6bc9424
Use OC_Util function for app web path
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-01-03 22:05:02 +01:00
John Molakvoæ (skjnldsv) 5008eb8f85
getWebDir function
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-01-03 22:05:02 +01:00
John Molakvoæ (skjnldsv) 00412d1c8c
Fixed webroot for scss files
Fixed tests

Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-01-03 22:04:59 +01:00
John Molakvoæ (skjnldsv) f13b3b6651
Fixed scss url rewriting
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-01-03 22:04:08 +01:00
Kyle Fazzari 7f8f3dc21b
CSSResourceLocator: handle SCSS in apps outside root
Currently static CSS files work fine in apps outside of the root.
However, as soon as an app uses SCSS, Nextcloud starts being unable to
find the web root.

Fix this problem by backporting select snippets from master
specifically targeting this issue, and add a test to ensure it doesn't
regress.

Fix #5289

Signed-off-by: Kyle Fazzari <kyrofa@ubuntu.com>
2017-11-22 21:41:40 -08:00
Kyle Fazzari 697774112f
{J,CS}SResourceLocator: account for symlinks in app path
Currently, if the app path includes a symlink, the calculated webDir
will be incorrect when generating CSS and URLs will be pointing to the
wrong place, breaking CSS.

Use realpath when retrieving app path, and these issues go away.

Fix #6028

Signed-off-by: Kyle Fazzari <kyrofa@ubuntu.com>
2017-11-14 09:22:33 -08:00
Roeland Jago Douma 9cbb39511f
If for some reason the json can't be decoded it is not cached
Should fix #6898

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-09 09:50:57 +01:00
John Molakvoæ (skjnldsv) 892a427807
Do not stop on scss compilation failure
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-09-27 08:35:02 +02:00
Julius Härtl 0c6e4edc19
Fix theming app to also use the prefix
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-07-02 14:03:35 +02:00
Julius Härtl 3801c3aa3f
Make cache and scss caching depend on the baseUrl
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-07-02 14:03:35 +02:00
Sebastian Kostka f0753cb56d [stable12] Use realpath to obtain the webroot
Use realpath to obtain the webroot - backport
Signed-off-by: Sebastian Kostka sebastian.kostka@gmail.com
2017-06-22 08:37:11 +02:00
Roeland Jago Douma cf1f77537d
Set SCSS dependencies to memcache on compile
Else when an upgrade happens we will recompile all the SCSS files all
the time (until the cache expires).

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-05-21 22:12:47 +02:00
Joas Schilling 8a570aebf6
Stop infinit loop on invalid settings css/js file
Don't try to find dirname of false...

Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-19 11:40:10 +02:00
Roeland Jago Douma 6afd098a94
Cache deps list to memcache on write not on first read
Fixes #4886

Caching on first read leads to the bug that if the files are updated we
will never cache again. Since we will always fetch from the memcache
(which works) and then see that the files are newer.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-05-16 09:01:20 +02:00
Julius Haertl 68a63ad3f3
Implement scss variable injection by OC_Defaults
Signed-off-by: Julius Haertl <jus@bitgrid.net>

Add Scss variables to example theme and theming app

Signed-off-by: Julius Haertl <jus@bitgrid.net>

Use SCSSCacher to build theming css

Signed-off-by: Julius Härtl <jus@bitgrid.net>

Update theming.scss

Signed-off-by: Julius Härtl <jus@bitgrid.net>

Code cleanup

Signed-off-by: Julius Härtl <jus@bitgrid.net>

Fix tests

Signed-off-by: Julius Härtl <jus@bitgrid.net>

Inject SCSSCacher for easier testing

Signed-off-by: Julius Härtl <jus@bitgrid.net>

Fix typehint

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>

Generate absolute URLs

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>

Fix tests to always use absolute urls for theming images

Signed-off-by: Julius Härtl <jus@bitgrid.net>

MailheaderColor -> ColorPrimary

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-04-25 11:39:45 +02:00
Morris Jobke c54a59d51e
Remove unused use statements
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-22 19:23:31 -05:00
Morris Jobke 5b4adf66e5
Move OC_Defaults to OCP\Defaults
* currently there are two ways to access default values:
  OCP\Defaults or OC_Defaults (which is extended by
  OCA\Theming\ThemingDefaults)
* our code used a mixture of both of them, which made
  it hard to work on theme values
* this extended the public interface with the missing
  methods and uses them everywhere to only rely on the
  public interface

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-09 21:43:01 -05:00
Roeland Jago Douma efb21a948e Merge pull request #4093 from nextcloud/endorse-password-protection
Endorse password protection
2017-04-04 11:04:21 +02:00
Christoph Wurst cbe44043be Merge pull request #4131 from nextcloud/fix-jscombiner
Fix check for cache value in JSCombiner
2017-04-03 11:27:39 +02:00
Bjoern Schiessle b85b6f2439
feature endorse password for share links
works like "enforce password protection", but let the
user optionally remove the password protection after the
password is set. by Timo Benk

Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-04-03 10:57:52 +02:00
Morris Jobke 9813023aab
Fix gzip files for Safari
* Safari support gzip only if the filename does not
  end on .gz - so this renames them to .gzip

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-29 00:11:51 -06:00
Morris Jobke 51e5c0766c
Fix check for cache value in JSCombiner
* fixes following log output, because there was empty string
  stored in the cache

Invalid argument supplied for foreach() at lib/private/Template/JSCombiner.php#108

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-28 17:43:39 -06:00
Roeland Jago Douma a40405531c
Fix tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-03-28 23:13:59 +02:00
Roeland Jago Douma 54f9b35f71
Allow to gzip CSS/JS files
Since in production the SCSS files are compiled once and the javascript
files are combined once we can just as well gzip them aggresively.

This means that once they are requested and the browser supports gzip we
can just serve the gzipped file saving precious bandwidth.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-03-28 21:46:23 +02:00
Lukas Reschke d81cdcbe88
Don't run JSCombiner when not installed
When the instance is not installed don't run the JSCombiner as the appdata folder does not yet exist.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-03-25 15:25:06 +01:00
Roeland Jago Douma b5299b1403
Add return
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-03-24 10:58:11 +01:00
Roeland Jago Douma 90910290d1
Add debug mode
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-03-24 10:58:11 +01:00
Roeland Jago Douma 242f8964cf
Add caching
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-03-24 10:58:11 +01:00
Roeland Jago Douma 8e89ad21a2
[PoC] JS Combiner
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-03-24 10:58:10 +01:00
Roeland Jago Douma e3925ba2a1
Cache SCSS dependency file in memcache
Since reading a file from disks can be costly. Lets store the dependency
json also in memcache.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-03-22 20:14:08 +01:00
Julius Härtl 29ec58f1b5
Add tests for SCSSCacher
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-03-20 14:12:35 +01:00
Julius Haertl 4fbf9a4feb
Add tests for SCSSCacher
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-03-20 12:49:08 +01:00
Julius Haertl 2bd06e0d37
Add variables.scss and import it for each scss file
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-20 12:49:05 +01:00
Lukas Reschke ac1aff7d92 Merge pull request #3950 from nextcloud/downstream-27149
Forbid to upload part files via web UI
2017-03-20 11:44:57 +01:00
Felix Heidecke 11f838f9e4
Add ignore_files to config,
test files against ignore_files list on upload

fix typo and indentation

Move blacklist declaration to lib/public/Files/FileInfo.php,

Rename *ignored to *blacklisted

Mocked blacklist_files for testing

Mocked blacklist_files for testing

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-20 01:17:12 -06:00
Jörn Friedrich Dreyer 6b71dd11b7
log where a resource was not found
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-19 22:21:19 -06:00
Roeland Jago Douma f86b5c2ebb
Properly calculate webdir using the serverroot
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-03-10 20:00:34 +01:00
Roeland Jago Douma f7ebf1d47d
SCSS files don't exist on the default fs so just add them to the
resource list

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-03-10 19:13:44 +01:00
Morris Jobke 3ca9d53194
Fix SCSS usage in apps
* fix the web root detection of the ResourceLocator for apps

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-10 14:44:01 +01:00
Roeland Jago Douma 57be594f1f
Allow using import in sass files
This allows us to combine multiple sass files that we have to always
load together anyway.

Fixes #3389

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-03-09 20:29:50 +01:00
Morris Jobke 8e3d0fecd2
Use intval() for validation of config options
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-02-21 17:22:06 -06:00
Morris Jobke 3284efd199
Improve the UX for sharing settings
* shows a info when list is potentially truncated
* shows a warning when characters length is not enough

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-02-21 17:07:07 -06:00