-
-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Theming app #59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Theming app #59
Conversation
|
Will we also integrate generating branded clients like it was possible with ownBrander? |
|
PR against master → milestone 10. backport will be 9. |
Branding clients is a bit harder, because you need a huge toolchain to build it. So this is limited to the web UI for now. |
|
@schiessle when rebasing this against master, I get an internal server error. Can you check this out and the color picker as well? cc @MorrisJobke @LukasReschke for JS help maybe ;) |
working at it at the moment. Seems to have more influences at the core as expected and also breaks initial installation at the moment. Let's see what i can do. |
2362856 to
ef66221
Compare
|
@jancborchardt please have a look. The basic functionality is now there but we can probably improve the visual presentation. I don't really understand why I can't update the logo directly after it was uploaded: https://github.com/nextcloud/server/pull/59/files#diff-7336f3dab52c02ef94f856620590f56bR34 @blizzz do you have a idea why this doesn't work? |
|
👎 remote code execution. You can upload a PHP file as icon (e.g. phpinfo.php) and open it via |
For one, you need to wrap the path into logos[i].style.background = "url('" + OC.getRootPath() + "/themes/theming-app/core/img/" + value + "')"; |
|
Thanks @blizzz, this works! @LukasReschke What's the best way to prevent people from uploading PHP files als background image? Maybe we can also just block all |
apps/theming/appinfo/install.php
Outdated
| * | ||
| */ | ||
|
|
||
| if(!file_exists(\OC::$SERVERROOT . '/themes/theming-app')) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
isn't themes read-only by default?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, I check it here https://github.com/nextcloud/server/pull/59/files#diff-d1ebf4e994bc54194a285284dda2224aR40
But good point to also add a check here to only enable the theme if we can write to the themes folder.
94c1c71 to
b230bfc
Compare
|
As discussed with @schiessle I'll hijack this branch with some security hardenings for this feature. |
|
Do you already have some kind of specification document for theming? This is the area where I could help - if somebody gives me a hint for a starting point. |
|
@joergmschulz great! 😄 Did you already saw our documentation repository? Would be great to have for the administration documentation a short description of the theming app, with a screenshot and so on: https://github.com/nextcloud/documentation/tree/master/admin_manual Would be great if you could help with this! |
|
@joergmschulz although the theming app ideally should be as self-explanatory as possible. :) Feedback on how it works is always good! For now we stick to the core 5 things:
|
Also adds support for having custom login backgrounds
AppManager has a dependency on Nc being installed
Otherwise dropping something somewhere can by mistake upload the file and make it available
The app is now enabled by default
3c5a548 to
4684741
Compare
|
#59 (comment) all done |
|
Should I also create new issues for the other 2 points in #59 (comment) or are they planned to be fixed as part of this? cc @LukasReschke @schiessle |
|
at least the second point with the non-working button should be fixed here 😁 |
|
Tested and works 👍 |
|
@jancborchardt check fe1089e and 4b79420. Testing appreciated. |
|
Great stuff! 👍 works and looks nicely now |
|
Yeeha, awesome work! :) |
@schiessle let’s get a work-in-progress pull request going here. ;)
I found 2 good color pickers:
Also todo: