Commit Graph

196 Commits

Author SHA1 Message Date
Julius Härtl 4acd053e4d
Do not fail if the icon file doesn't exists
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-11-12 17:31:54 +01:00
Julius Härtl 26b160cc43
Make sure to always load the latest icons-vars.css file
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-11-12 11:00:56 +01:00
Roeland Jago Douma 60bcae55a9
Expose the info to the JS
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-02 13:44:45 +01:00
Morris Jobke c9e6a99637
Merge pull request #12085 from nextcloud/add-gss-to-excluded-backends
add global site selector as user back-end which doesn't support password confirmation
2018-10-30 10:16:07 +01:00
Julius Härtl 34a71f57fc
Fix tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-10-29 13:06:55 +01:00
Julius Härtl aec0a6c096
Fix icon cacher url matching
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-10-29 12:09:30 +01:00
Bjoern Schiessle 85d9f06cb8
add global site selector as user back-end which doesn't support password confirmation
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-10-27 15:43:51 +02:00
Julius Härtl d21ded67a7
Keep list of icons in a separate file for use in the accessibility app
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-10-25 12:16:10 +02:00
Julius Härtl 0b2ef7e608
Remove default which didn't work
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-10-25 11:58:00 +02:00
Julius Härtl 152fb08288
Properly track data urls as well
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-10-25 11:58:00 +02:00
Julius Härtl 845f1b67d5
Directly embed icons into the icon-vars css file
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-10-25 11:58:00 +02:00
Morris Jobke 2a17281cb6
Load apps/APP/l10n/*.js and themes/THEME/apps/APP/l10n/*.js
Before it quit right after finding the theme version of the l10n file which results in a not translated part of the UI.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-10-22 11:02:25 +02:00
John Molakvoæ (skjnldsv) 3095ec4125 Fix icons cacher regex for compressed output
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-09-19 13:06:04 +02:00
Julius Härtl e8938df198
Move SCSS variable fetching before the variables.scss to properly calculate color values
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-08-29 16:47:39 +02:00
John Molakvoæ (skjnldsv) 7e6fa90fa1
Icons cacher css url fix
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-08-07 10:18:46 +02:00
Julius Härtl 6ce474518c
Append cache bump parameter to scss files URL
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-08-01 12:42:49 +02:00
Julius Härtl 8aa0f0485d
Fix regex for icon urls
Use the version from the url rather than hardcoding v=1.
Also allow uppercase chars in the url, so that uppercase
hex color values will also be included

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-07-26 22:08:48 +02:00
Robin Appelman 6686ca9b2a
cache isCached state for scss resources
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-07-24 17:30:39 +02:00
John Molakvoæ (skjnldsv) 6bcfe8d628
Uppercase
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-07-24 12:15:14 +02:00
John Molakvoæ (skjnldsv) 85a481d2b6
Fix regex of iconsCacher
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-07-24 12:15:14 +02:00
John Molakvoæ (skjnldsv) 37a4d2bbbc
Php code bump
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-07-19 22:46:32 +02:00
Julius Härtl 9159ed3d76
Fix icon url regex
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-07-19 08:16:59 +02:00
Julius Härtl 6ed8c19ab9
Use proper URL prefix for icons
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-07-19 08:16:59 +02:00
John Molakvoæ (skjnldsv) 14bc9ffda4
Fixed tests
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-07-19 08:16:59 +02:00
John Molakvoæ (skjnldsv) a24cad1a1c
Fix accessibility invert
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-07-19 08:16:58 +02:00
John Molakvoæ (skjnldsv) 9e5885963c
Fixed icons detection and caching
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-07-19 08:16:58 +02:00
John Molakvoæ (skjnldsv) 8977c71f88
Mixin scss icon api
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-07-19 08:16:58 +02:00
John Molakvoæ (skjnldsv) 29ff7efe9a
Svg icon api sass function and upgrade of all styles
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-07-19 08:16:57 +02:00
John Molakvoæ (skjnldsv) 84e90e26c0
Svg color api
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-07-19 08:16:30 +02:00
Roland Tapken 6270a01cab
Issue #9318: catch exceptions in SCSSCacher::resetCache()
Signed-off-by: Roland Tapken <roland@bitarbeiter.net>
2018-05-02 21:23:13 +02:00
John Molakvoæ (skjnldsv) 1d7b14dfb1
Use app version to generate scss filename
Fixed scsscacher tests

Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-03-28 08:33:46 +02:00
Julius Härtl 63e261b444
Actually clear cache values for all base urls
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-03-07 15:09:43 +01:00
Roeland Jago Douma 34b86edc34
Check if the cached js file exists
Fixes #8705

If the file does not exist (for whatever reason). It is never cached. No
matter what the depscache etc tell you.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-07 12:55:05 +01:00
Morris Jobke 7bc3c2e057
Merge pull request #7363 from nextcloud/default-share-perms
Let the admin configure the default share permissions
2018-02-27 13:44:34 +01:00
Bjoern Schiessle 7d0102bf73
expose capabilities in js
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-02-27 12:29:25 +01:00
Julius Härtl e5df804834
Expose parameters as variables to templates
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-02-27 12:25:52 +01:00
Julius Härtl b87e5a0f2e
Move depsCache clearing to SCSSCacher/JSCombiner
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-02-03 15:21:51 +01:00
Julius Härtl 7381a81d30
Add repair step to clear frontend related caches
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-02-03 15:21:51 +01:00
Morris Jobke 4fcdfbf5de
Merge pull request #8078 from nextcloud/theming-validate-scss
SCSS hardening
2018-01-29 16:12:10 +01:00
Morris Jobke a661f043e1
Remove unneeded semicolon and parentheses
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 23:46:40 +01:00
Julius Härtl e4c58fc473
Add typehinting an fix some minor cleanup
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-01-26 20:11:37 +01:00
Julius Härtl 6770213649
Do not rewrite absolute URLs
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-01-26 19:08:45 +01:00
Julius Härtl 68db09ddce
Clear injectect variables when resetting the cache
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-01-26 19:07:30 +01:00
Julius Härtl 5eae4819bf
Make sure that injected variables do not break the CSS generation
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-01-26 17:03:22 +01:00
Julius Härtl 92e93704be
SCSS files are only cached if their size is > 0
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-01-26 17:02:54 +01:00
Morris Jobke 6bbea33133
Simplify ternary operator statements
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 12:36:25 +01:00
Morris Jobke c1e4f9f305
Use type casting instead of *val() method
It should be up to 6x faster

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 11:35:42 +01:00
Abijeet de5467811a Fixes password input being prompted every time.
Fixes #7106

- Echoing the current server time via a JS variable and storing the current time on page load in JS.
- Calculating the diff and taking it into account when deciding whether to show the password confirmation.

Signed-off-by: Abijeet <abijeetpatro@gmail.com>
2018-01-08 23:47:52 +05:30
Bjoern Schiessle 1bcbeb24bc
disable password confirmation with SSO
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-01-02 20:30:37 +01:00
John Molakvoæ (skjnldsv) c0c4443ffc
Fixed tests
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-12-30 05:55:45 +01:00
John Molakvoæ (skjnldsv) 02bfc867ef
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>
2017-12-30 05:55:45 +01:00
John Molakvoæ (skjnldsv) 88b72fd027
Fixup! getWebdir return
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-12-30 05:55:45 +01:00
John Molakvoæ (skjnldsv) dc938628f7
Use OC_Util function for app web path
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-12-30 05:55:44 +01:00
John Molakvoæ (skjnldsv) ad20af619f
getWebDir function
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-12-30 05:55:44 +01:00
John Molakvoæ (skjnldsv) 89ca9cb35c
Fixed webroot for scss files
Fixed tests

Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-12-30 05:55:44 +01:00
John Molakvoæ (skjnldsv) fb6c5cc416
Fixed scss url rewriting
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-12-30 05:55:43 +01:00
Julius Härtl 4c3eb80a91
Hide delete button if the avatar is a generated one
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-12-19 18:49:26 +01:00
John Molakvoæ (skjnldsv) f2d5927ea3
Reduce length of md5 in scss caching
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-12-14 11:11:54 +01:00
Morris Jobke ab0a3fbbbc
Merge pull request #7061 from kyrofa/bugfix/6028/app_path_realpath
{J,CS}SResourceLocator: account for symlinks in app path
2017-11-14 13:58:02 +01:00
Kyle Fazzari d2a2793073
JSResourceLocator: re-use $app_path
Signed-off-by: Kyle Fazzari <kyrofa@ubuntu.com>
2017-11-12 08:08:38 -08:00
Roeland Jago Douma 448fa4f59e
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-08 12:37:35 +01:00
Kyle Fazzari 06ba1a8a02
JSResourceLocator: account for symlinks in app path
Signed-off-by: Kyle Fazzari <kyrofa@ubuntu.com>
2017-11-07 14:54:21 -08:00
Morris Jobke 0eebff152a
Update license headers
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +01:00
Kyle Fazzari b0d296639c
CSSResourceLocator: 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-03 23:52:09 -07:00
John Molakvoæ (skjnldsv) dec713fc92
Do not stop on scss compilation failure
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-09-26 15:29:37 +02:00
John Molakvoæ (skjnldsv) 4a5eeb2ce7
Fixed webroot detection
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-09-22 07:20:31 +02:00
Robin Appelman 5430d73a0e
Fix "webroot not found" when installed to the root of the webserver
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-09-20 14:19:15 +02:00
John Molakvoæ (skjnldsv) 1a0ac912b2
Fix webroot throw
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-09-14 08:41:10 +02:00
Axel Helmert 01d4967130 Fix undefined variable $tmpRoot
Refactoring of webroot detection left an unused variable.

Fixes: #6415
Signed-off-by: Axel Helmert <info@luka.de>
2017-09-12 12:14:27 +02:00
tux-rampage 7a33b9273e Refactor webroot detection in resource locator
The current implementation breaks installations with symlinks to
directories inside the webroot (i.E. apps).

With this change both variants, directory and symlinks, will be detected
correctly.

Fixes: #6028
Signed-off-by: Axel Helmert <axel.helmert@luka.de>
2017-09-06 21:32:48 +02:00
Julius Härtl b09ce70117
Rebuild SCSS files if frontend controller value changes
fixes #6271
2017-09-03 17:32:41 +02:00
Morris Jobke f640b56bfa Cleanup unused methods
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-15 10:09:47 +02:00
Morris Jobke 585e5c6ea5
Logo claim is not used anymore
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-02 23:08:45 +02:00
Morris Jobke 2ebafb06fd Properly handle if the deps file if for some reason empty
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-19 00:10:46 +02:00
Morris Jobke 6a1c4990ab Merge pull request #5252 from derkostka/master
Use realpath to obtain the webroot.
2017-06-21 17:25:12 -05:00
Sebastian Kostka c7ce42e45b Squashed the webroot fix
Signed-off-by: Sebastian Kostka <sebastian.kostka@gmail.com>
2017-06-20 22:15:20 +02:00
Julius Härtl 517dfdda0d
Fix theming app to also use the prefix
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-16 10:51:37 +02:00
Julius Härtl 0789adaf95
Make cache and scss caching depend on the baseUrl
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-15 12:46:24 +02:00
Roeland Jago Douma 32f5c028a0
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:10:00 +02:00
Joas Schilling 4792867357
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:41:08 +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