diff options
-rw-r--r-- | core/Controller/SetupController.php | 1 | ||||
-rw-r--r-- | core/css/jquery-ui-fixes.css (renamed from core/css/jquery-ui-fixes.scss) | 108 | ||||
-rw-r--r-- | core/css/setup.css (renamed from core/css/installation.css) | 536 | ||||
-rw-r--r-- | core/css/styles.scss | 472 | ||||
-rw-r--r-- | lib/private/Template/CSSResourceLocator.php | 17 | ||||
-rw-r--r-- | lib/private/TemplateLayout.php | 27 |
6 files changed, 509 insertions, 652 deletions
diff --git a/core/Controller/SetupController.php b/core/Controller/SetupController.php index bb7c8c4969d..930ec82dbb8 100644 --- a/core/Controller/SetupController.php +++ b/core/Controller/SetupController.php @@ -92,6 +92,7 @@ class SetupController { \OC_Util::addVendorScript('strengthify/jquery.strengthify'); \OC_Util::addVendorStyle('strengthify/strengthify'); + \OC_Util::addStyle('setup'); \OC_Util::addScript('setup'); \OC_Template::printGuestPage('', 'installation', $parameters); } diff --git a/core/css/jquery-ui-fixes.scss b/core/css/jquery-ui-fixes.css index 4cf4f4cdd4a..e8cf2b769b8 100644 --- a/core/css/jquery-ui-fixes.scss +++ b/core/css/jquery-ui-fixes.css @@ -1,124 +1,134 @@ /* Component containers ----------------------------------*/ - .ui-widget { - font-family: 'Lucida Grande', Arial, Verdana, sans-serif; + font-family: "Lucida Grande", Arial, Verdana, sans-serif; font-size: 1em; - button { - font-family: 'Lucida Grande', Arial, Verdana, sans-serif; - } } - +.ui-widget button { + font-family: "Lucida Grande", Arial, Verdana, sans-serif; +} .ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url('images/ui-bg_highlight-soft_100_eeeeee_1x100.png') 50% top repeat-x; color: #333333; - a { - color: #333333; - } } - +.ui-widget-content a { + color: #333333; +} .ui-widget-header { border: 1px solid #0082c9; background: #0082c9; color: #ffffff; - a { - color: #ffffff; - } +} +.ui-widget-header a { + color: #ffffff; } /* Interaction states ----------------------------------*/ - -.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { +.ui-state-default, +.ui-widget-content .ui-state-default, +.ui-widget-header .ui-state-default { border: 1px solid #ddd; background: #f8f8f8 url('images/ui-bg_glass_100_f8f8f8_1x400.png') 50% 50% repeat-x; font-weight: bold; color: #555; } - -.ui-state-default a { +.ui-state-default a, +.ui-state-default a:link, +.ui-state-default a:visited { color: #555; - &:link, &:visited { - color: #555; - } } - -.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { +.ui-state-hover, +.ui-widget-content .ui-state-hover, +.ui-widget-header .ui-state-hover, +.ui-state-focus, +.ui-widget-content .ui-state-focus, +.ui-widget-header .ui-state-focus { border: 1px solid #ddd; background: #ffffff url('images/ui-bg_flat_100_ffffff_40x100.png') 50% 50% repeat-x; font-weight: bold; color: #333; } - -.ui-state-hover a { +.ui-state-hover a, +.ui-state-hover a:hover, +.ui-state-hover a:link, +.ui-state-hover a:visited { color: #333; - &:hover, &:link, &:visited { - color: #333; - } } - -.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active { border: 1px solid #0082c9; background: #f8f8f8 url('images/ui-bg_glass_100_f8f8f8_1x400.png') 50% 50% repeat-x; font-weight: bold; color: #0082c9; } - -.ui-state-active a { +.ui-state-active a, +.ui-state-active a:link, +.ui-state-active a:visited { color: #0082c9; - &:link, &:visited { - color: #0082c9; - } } /* Interaction Cues ----------------------------------*/ - -.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { +.ui-state-highlight, +.ui-widget-content .ui-state-highlight, +.ui-widget-header .ui-state-highlight { border: 1px solid #ddd; background: #f8f8f8 url('images/ui-bg_highlight-hard_100_f8f8f8_1x100.png') 50% top repeat-x; color: #555; } - -.ui-state-highlight a, .ui-widget-content .ui-state-highlight a, .ui-widget-header .ui-state-highlight a { +.ui-state-highlight a, +.ui-widget-content .ui-state-highlight a, +.ui-widget-header .ui-state-highlight a { color: #555; } - -.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error { +.ui-state-error, +.ui-widget-content .ui-state-error, +.ui-widget-header .ui-state-error { border: 1px solid #cd0a0a; background: #b81900 url('images/ui-bg_diagonals-thick_18_b81900_40x40.png') 50% 50% repeat; color: #ffffff; } - -.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a, .ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { +.ui-state-error a, +.ui-widget-content .ui-state-error a, +.ui-widget-header .ui-state-error a { + color: #ffffff; +} +.ui-state-error-text, +.ui-widget-content .ui-state-error-text, +.ui-widget-header .ui-state-error-text { color: #ffffff; } /* Icons ----------------------------------*/ - -.ui-state-default .ui-icon, .ui-state-hover .ui-icon, .ui-state-focus .ui-icon, .ui-state-active .ui-icon { +.ui-state-default .ui-icon { + background-image: url('images/ui-icons_1d2d44_256x240.png'); +} +.ui-state-hover .ui-icon, +.ui-state-focus .ui-icon { + background-image: url('images/ui-icons_1d2d44_256x240.png'); +} +.ui-state-active .ui-icon { background-image: url('images/ui-icons_1d2d44_256x240.png'); } - .ui-state-highlight .ui-icon { background-image: url('images/ui-icons_ffffff_256x240.png'); } - -.ui-state-error .ui-icon, .ui-state-error-text .ui-icon { +.ui-state-error .ui-icon, +.ui-state-error-text .ui-icon { background-image: url('images/ui-icons_ffd27a_256x240.png'); } /* Misc visuals ----------------------------------*/ /* Overlays */ - .ui-widget-overlay { background: #666666 url('images/ui-bg_diagonals-thick_20_666666_40x40.png') 50% 50% repeat; opacity: .5; } - .ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; diff --git a/core/css/installation.css b/core/css/setup.css index 69c98f1ea22..67b155999b7 100644 --- a/core/css/installation.css +++ b/core/css/setup.css @@ -307,61 +307,6 @@ form #datadirField legend { margin: 0 auto; } -/* Show password toggle */ -#show, #dbpassword { - position: absolute; - right: 1em; - top: .8em; - float: right; -} - -#show, #dbpassword, #personal-show { - display: none; -} - -#show + label, #dbpassword + label { - right: 21px; - top: 15px !important; - margin: -14px !important; - padding: 14px !important; -} - -#show:checked + label, #dbpassword:checked + label, #personal-show:checked + label { - -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=80)'; - opacity: .8; -} - -#show + label, #dbpassword + label, #personal-show + label { - position: absolute !important; - height: 20px; - width: 24px; - background-image: url("../img/actions/toggle.svg?v=1"); - background-repeat: no-repeat; - background-position: center; - -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=30)'; - opacity: .3; -} - -#show + label:before, #dbpassword + label:before, #personal-show + label:before { - display: none; -} - -#pass2, input[name='personal-password-clone'] { - padding: .6em 2.5em .4em .4em; - width: 8em; -} - -#personal-show + label { - height: 14px; - margin-top: -25px; - left: 295px; - display: block; -} - -#passwordbutton { - margin-left: .5em; -} - /* LOADER */ #body-login .float-spinner { margin-top: -32px; @@ -596,11 +541,11 @@ form #datadirField legend { /* Update info */ #body-login .update { - width: inherit; - text-align: center; + width: inherit; + text-align: center; } #body-login .update h2 { - margin: 0 0 20px; + margin: 0 0 20px; } #body-login .update a { @@ -610,20 +555,20 @@ form #datadirField legend { /* INPUTS */ input[type="text"], input[type="password"], input[type="search"], input[type="number"], input[type="email"], input[type="tel"], input[type="url"], input[type="time"], input[type="date"], textarea, select, button, .button, input[type="submit"], input[type="button"], #quota, .pager li a { - width: 130px; - margin: 3px 3px 3px 0; - padding: 7px 6px 5px; - font-size: 13px; - background-color: #fff; - color: #333; - border: 1px solid #ddd; - outline: none; - border-radius: 3px; + width: 130px; + margin: 3px 3px 3px 0; + padding: 7px 6px 5px; + font-size: 13px; + background-color: #fff; + color: #333; + border: 1px solid #ddd; + outline: none; + border-radius: 3px; } #body-login input { - font-size: 20px; - margin: 5px; - padding: 11px 10px 9px; + font-size: 20px; + margin: 5px; + padding: 11px 10px 9px; } input[type="submit"], input[type="button"], button, .button { width: auto; @@ -668,47 +613,6 @@ input[type='submit'] { /* larger log in and installation buttons */ } -/* Nicely grouping input field sets */ -.grouptop, .groupmiddle, .groupbottom { - position: relative; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.grouptop input { - margin-bottom: 0 !important; - border-bottom: 0 !important; - border-bottom-left-radius: 0 !important; - border-bottom-right-radius: 0 !important; -} - -.groupmiddle input { - margin-top: 0 !important; - margin-bottom: 0 !important; - border-top: 0 !important; - border-bottom: 0 !important; - border-radius: 0 !important; - box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1) inset !important; -} - -.groupbottom input { - margin-top: 0 !important; - border-top: 0 !important; - border-top-right-radius: 0 !important; - border-top-left-radius: 0 !important; - box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1) inset !important; -} - -.groupbottom input[type=submit] { - box-shadow: none !important; -} - -label.infield { - display: none; -} - /* Primary action button, use sparingly */ .primary { border: 1px solid #0082c9; @@ -798,5 +702,413 @@ button.primary:disabled:focus, .button.primary:disabled:focus { color: #bbb; } input, textarea, select, button { - font-family: 'Open Sans', Frutiger, Calibri, 'Myriad Pro', Myriad, sans-serif; + font-family: 'Open Sans', Frutiger, Calibri, 'Myriad Pro', Myriad, sans-serif; +} + + +/* LOG IN & INSTALLATION ------------------------------------------------------------ */ +/* overrides another !important statement that sets this to unreadable black */ +#datadirContent label { + width: 100%; +} + +/* Nicely grouping input field sets */ +.grouptop, .groupmiddle, .groupbottom { + position: relative; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +#body-login .grouptop input, .grouptop input { + margin-bottom: 0 !important; + border-bottom: 0 !important; + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +#body-login .groupmiddle input, .groupmiddle input { + margin-top: 0 !important; + margin-bottom: 0 !important; + border-top: 0 !important; + border-bottom: 0 !important; + border-radius: 0 !important; + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1) inset !important; +} + +#body-login .groupbottom input, .groupbottom input { + margin-top: 0 !important; + border-top: 0 !important; + border-top-right-radius: 0 !important; + border-top-left-radius: 0 !important; + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1) inset !important; +} + +#body-login .groupbottom input[type=submit] { + box-shadow: none !important; +} + +/* keep the labels for screen readers but hide them since we use placeholders */ +label.infield { + display: none; +} + +/* Show password toggle */ +#show, #dbpassword { + position: absolute; + right: 1em; + top: .8em; + float: right; +} + +#show, #dbpassword, #personal-show { + display: none; +} + +#show + label, #dbpassword + label { + right: 21px; + top: 15px !important; + margin: -14px !important; + padding: 14px !important; +} + +#show:checked + label, #dbpassword:checked + label, #personal-show:checked + label { + -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=80)'; + opacity: .8; +} + +#show + label, #dbpassword + label, #personal-show + label { + position: absolute !important; + height: 20px; + width: 24px; + background-image: url("../img/actions/toggle.svg?v=1"); + background-repeat: no-repeat; + background-position: center; + -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=30)'; + opacity: .3; +} + +#show + label:before, #dbpassword + label:before, #personal-show + label:before { + display: none; +} + +#pass2, input[name='personal-password-clone'] { + padding: .6em 2.5em .4em .4em; + width: 8em; +} + +#personal-show + label { + height: 14px; + margin-top: -25px; + left: 295px; + display: block; +} + +#passwordbutton { + margin-left: .5em; +} + +/* Warnings and errors are the same */ +#body-user .warning, #body-settings .warning { + margin-top: 8px; + padding: 5px; + background: #fdd; + border-radius: 3px; +} + +.warning legend, .warning a { + color: #fff !important; + font-weight: 600 !important; +} + +.error a { + color: #fff !important; + font-weight: 600 !important; +} +.error a.button { + color: #555 !important; + display: inline-block; + text-align: center; +} +.error pre { + white-space: pre-wrap; + text-align: left; +} + +.error-wide { + width: 700px; + margin-left: -200px !important; +} +.error-wide .button { + color: black !important; +} + +.warning-input { + border-color: #ce3702 !important; +} + +/* Alternative Logins */ +#alternative-logins legend { + margin-bottom: 10px; +} +#alternative-logins li { + height: 40px; + display: inline-block; + white-space: nowrap; +} + +#remember_login { + margin: 18px 5px 0 16px !important; +} + +#body-login { + background-attachment: fixed; + /* fix background gradient */ + height: 100%; +} +#body-login #header { + padding-top: 100px; +} +#body-login p.info, #body-login form fieldset legend, #body-login #datadirContent label { + text-align: center; + color: #fff; +} +#body-login form fieldset .warning-info, #body-login form input[type='checkbox'] + label { + text-align: center; + color: #fff; +} +#body-login form .warning input[type='checkbox']:hover + label, #body-login form .warning input[type='checkbox']:focus + label, #body-login form .warning input[type='checkbox'] + label { + color: #fff !important; +} +#body-login .update h2 { + margin: 0 0 20px; +} +#body-login .update a { + color: #fff; + border-bottom: 1px solid #aaa; +} +#body-login .infogroup { + margin-bottom: 15px; +} +#body-login p#message img { + vertical-align: middle; + padding: 5px; +} +#body-login div.buttons { + text-align: center; +} +#body-login p.info { + margin: 0 auto; + padding-top: 20px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +#body-login p.info a { + font-weight: 600; + padding: 13px; + margin: -13px; +} +#body-login form { + position: relative; + width: 280px; + margin: 16px auto; + padding: 0; +} +#body-login form fieldset { + margin-bottom: 20px; + text-align: left; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +#body-login form #sqliteInformation { + margin-top: -20px; + margin-bottom: 20px; +} +#body-login form #adminaccount { + margin-bottom: 15px; +} +#body-login form fieldset legend { + width: 100%; +} +#body-login #datadirContent label { + display: block; + margin: 0; +} +#body-login form #datadirField legend { + margin-bottom: 15px; +} +#body-login #showAdvanced { + padding: 13px; + /* increase clickable area of Advanced dropdown */ +} +#body-login #showAdvanced img { + vertical-align: bottom; + /* adjust position of Advanced dropdown arrow */ + margin-left: -4px; +} +#body-login .icon-info-white { + padding: 10px; +} +#body-login .strengthify-wrapper { + display: inline-block; + position: relative; + left: 15px; + top: -23px; + width: 250px; +} +#body-login .tipsy-inner { + font-weight: bold; + color: #ccc; +} +#body-login input[type='text'], #body-login input[type='password'], #body-login input[type='email'] { + border: none; + font-weight: 300; +} +#body-login .remember-login-container { + display: inline-block; + margin: 10px 0; + text-align: center; + width: 100%; +} +#body-login #forgot-password { + padding: 11px; + float: right; + color: #fff; +} +#body-login .wrapper { + min-height: 100%; + margin: 0 auto -70px; + width: 300px; +} +#body-login footer, #body-login .push { + height: 70px; +} +#body-login form #selectDbType { + text-align: center; + white-space: nowrap; + margin: 0; +} +#body-login form #selectDbType .info { + white-space: normal; +} +#body-login form #selectDbType label { + position: static; + margin: 0 -3px 5px; + font-size: 12px; + background: #f8f8f8; + color: #888; + cursor: pointer; + border: 1px solid #ddd; +} +#body-login form #selectDbType label span { + cursor: pointer; + padding: 10px 20px; +} +#body-login form #selectDbType label.ui-state-hover, #body-login form #selectDbType label.ui-state-active { + color: #000; + background-color: #e8e8e8; +} +#body-login .warning, #body-login .update, #body-login .error { + display: block; + padding: 10px; + background-color: rgba(0, 0, 0, 0.3); + color: #fff; + text-align: left; + border-radius: 3px; + cursor: default; +} +#body-login .update { + width: inherit; + text-align: center; +} +#body-login .update .appList { + list-style: disc; + text-align: left; + margin-left: 25px; + margin-right: 25px; +} +#body-login .v-align { + width: inherit; +} +#body-login .update img.float-spinner { + float: left; +} +#body-login form input[type='checkbox'] + label { + position: relative; + margin: 0; + padding: 14px; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +#body-login form .errors { + background: #fed7d7; + border: 1px solid #f00; + list-style-indent: inside; + margin: 0 0 2em; + padding: 1em; +} +#body-login .success { + background: #d7fed7; + border: 1px solid #0f0; + width: 35%; + margin: 30px auto; + padding: 1em; + text-align: center; +} +#body-login #showAdvanced > img { + padding: 4px; + box-sizing: border-box; +} +#body-login p.info a, #body-login #showAdvanced { + color: #fff; +} +#body-login #remember_login:hover + label, #body-login #remember_login:focus + label { + opacity: .6; +} +#body-login #forgot-password:hover, #body-login #forgot-password:focus { + opacity: .6; +} +#body-login p.info a:hover, #body-login p.info a:focus { + opacity: .6; +} +#body-login input { + font-size: 20px; + margin: 5px; + padding: 11px 10px 9px; +} +#body-login input[type='text'], #body-login input[type='password'] { + width: 249px; +} +#body-login input.login { + width: 269px; + background-position: right 16px center; +} +#body-login input[type='submit'] { + padding: 10px 20px; + /* larger log in and installation buttons */ +} +#body-login ul.error-wide { + margin-top: 35px; +} +#body-login .warning { + margin: 0 7px 5px 4px; +} +#body-login .warning legend { + -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)'; + opacity: 1; +} +#body-login a.warning { + cursor: pointer; +} +#body-login .updateProgress .error { + margin-top: 10px; + margin-bottom: 10px; } diff --git a/core/css/styles.scss b/core/css/styles.scss index affaec14342..28c3fb86c72 100644 --- a/core/css/styles.scss +++ b/core/css/styles.scss @@ -292,478 +292,6 @@ body { opacity: .4; } -/* LOG IN & INSTALLATION ------------------------------------------------------------ */ - -/* Some whitespace to the top */ - -#body-login { - #header { - padding-top: 100px; - } - background-attachment: fixed; - /* fix background gradient */ - height: 100%; - /* fix sticky footer */ - p.info, form fieldset legend, #datadirContent label { - text-align: center; - color: #fff; - } - form { - fieldset .warning-info, input[type='checkbox'] + label { - text-align: center; - color: #fff; - } - .warning input[type='checkbox'] { - &:hover + label, &:focus + label, + label { - color: #fff !important; - } - } - } - .update { - h2 { - margin: 0 0 20px; - } - a { - color: #fff; - border-bottom: 1px solid #aaa; - } - } - .infogroup { - margin-bottom: 15px; - } - p#message img { - vertical-align: middle; - padding: 5px; - } - div.buttons { - text-align: center; - } - p.info { - margin: 0 auto; - padding-top: 20px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - a { - font-weight: 600; - padding: 13px; - margin: -13px; - } - } - form { - position: relative; - width: 280px; - margin: 16px auto; - padding: 0; - fieldset { - margin-bottom: 20px; - text-align: left; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - } - #sqliteInformation { - margin-top: -20px; - margin-bottom: 20px; - } - #adminaccount { - margin-bottom: 15px; - } - fieldset legend { - width: 100%; - } - } -} - -/* Dark subtle label text */ - -/* overrides another !important statement that sets this to unreadable black */ - -#datadirContent label { - width: 100%; -} - -#body-login { - #datadirContent label { - display: block; - margin: 0; - } - form #datadirField legend { - margin-bottom: 15px; - } - #showAdvanced { - padding: 13px; - /* increase clickable area of Advanced dropdown */ - img { - vertical-align: bottom; - /* adjust position of Advanced dropdown arrow */ - margin-left: -4px; - } - } - .icon-info-white { - padding: 10px; - } - .strengthify-wrapper { - display: inline-block; - position: relative; - left: 15px; - top: -23px; - width: 250px; - } - .tipsy-inner { - font-weight: bold; - color: #ccc; - } - input { - &[type='text'], &[type='password'], &[type='email'] { - border: none; - font-weight: 300; - } - } -} - -/* strengthify wrapper */ - -/* tipsy for the strengthify wrapper looks better with following font settings */ - -/* General new input field look */ - -/* Nicely grouping input field sets */ - -.grouptop, .groupmiddle, .groupbottom { - position: relative; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -#body-login .grouptop input, .grouptop input { - margin-bottom: 0 !important; - border-bottom: 0 !important; - border-bottom-left-radius: 0 !important; - border-bottom-right-radius: 0 !important; -} - -#body-login .groupmiddle input, .groupmiddle input { - margin-top: 0 !important; - margin-bottom: 0 !important; - border-top: 0 !important; - border-bottom: 0 !important; - border-radius: 0 !important; - box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1) inset !important; -} - -#body-login .groupbottom input, .groupbottom input { - margin-top: 0 !important; - border-top: 0 !important; - border-top-right-radius: 0 !important; - border-top-left-radius: 0 !important; - box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1) inset !important; -} - -#body-login .groupbottom input[type=submit] { - box-shadow: none !important; -} - -/* keep the labels for screen readers but hide them since we use placeholders */ - -label.infield { - display: none; -} - -#body-login { - form { - input[type='checkbox'] + label { - position: relative; - margin: 0; - padding: 14px; - vertical-align: middle; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - } - .errors { - background: #fed7d7; - border: 1px solid #f00; - list-style-indent: inside; - margin: 0 0 2em; - padding: 1em; - } - } - .success { - background: #d7fed7; - border: 1px solid #0f0; - width: 35%; - margin: 30px auto; - padding: 1em; - text-align: center; - } - #showAdvanced > img { - padding: 4px; - box-sizing: border-box; - } - p.info a, #showAdvanced { - color: #fff; - } - #remember_login { - &:hover + label, &:focus + label { - opacity: .6; - } - } - #forgot-password { - &:hover, &:focus { - opacity: .6; - } - } - p.info a { - &:hover, &:focus { - opacity: .6; - } - } -} - -/* Show password toggle */ - -#show, #dbpassword { - position: absolute; - right: 1em; - top: .8em; - float: right; -} - -#show, #dbpassword, #personal-show { - display: none; -} - -#show + label, #dbpassword + label { - right: 21px; - top: 15px !important; - margin: -14px !important; - padding: 14px !important; -} - -#show:checked + label, #dbpassword:checked + label, #personal-show:checked + label { - -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=80)'; - opacity: .8; -} - -#show + label, #dbpassword + label, #personal-show + label { - position: absolute !important; - height: 20px; - width: 24px; - background-image: url('../img/actions/toggle.svg?v=1'); - background-repeat: no-repeat; - background-position: center; - -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=30)'; - opacity: .3; -} - -#show + label:before, #dbpassword + label:before, #personal-show + label:before { - display: none; -} - -#pass2, input[name='personal-password-clone'] { - padding: .6em 2.5em .4em .4em; - width: 8em; -} - -#personal-show + label { - height: 14px; - margin-top: -25px; - left: 295px; - display: block; -} - -#passwordbutton { - margin-left: .5em; -} - -/* Database selector */ - -#body-login { - form #selectDbType { - text-align: center; - white-space: nowrap; - margin: 0; - .info { - white-space: normal; - } - label { - position: static; - margin: 0 -3px 5px; - font-size: 12px; - background: #f8f8f8; - color: #888; - cursor: pointer; - border: 1px solid #ddd; - span { - cursor: pointer; - padding: 10px 20px; - } - &.ui-state-hover, &.ui-state-active { - color: #000; - background-color: #e8e8e8; - } - } - } - .warning, .update, .error { - display: block; - padding: 10px; - background-color: rgba(0, 0, 0, 0.3); - color: #fff; - text-align: left; - border-radius: 3px; - cursor: default; - } - .update { - width: inherit; - text-align: center; - .appList { - list-style: disc; - text-align: left; - margin-left: 25px; - margin-right: 25px; - } - } - .v-align { - width: inherit; - } - .update img.float-spinner { - float: left; - } -} - -/* Warnings and errors are the same */ - -#body-user .warning, #body-settings .warning { - margin-top: 8px; - padding: 5px; - background: #fdd; - border-radius: 3px; -} - -.warning { - legend, a { - color: #fff !important; - font-weight: 600 !important; - } -} - -.error { - a { - color: #fff !important; - font-weight: 600 !important; - &.button { - color: #555 !important; - display: inline-block; - text-align: center; - } - } - pre { - white-space: pre-wrap; - text-align: left; - } -} - -.error-wide { - width: 700px; - margin-left: -200px !important; - .button { - color: black !important; - } -} - -.warning-input { - border-color: #ce3702 !important; -} - -/* Fixes for log in page, TODO should be removed some time */ - -#body-login { - ul.error-wide { - margin-top: 35px; - } - .warning { - margin: 0 7px 5px 4px; - legend { - -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)'; - opacity: 1; - } - } - a.warning { - cursor: pointer; - } - .updateProgress .error { - margin-top: 10px; - margin-bottom: 10px; - } -} - -/* fixes for update page TODO should be fixed some time in a proper way */ -/* this is just for an error while updating the ownCloud instance */ - -/* Alternative Logins */ - -#alternative-logins { - legend { - margin-bottom: 10px; - } - li { - height: 40px; - display: inline-block; - white-space: nowrap; - } -} - -/* Log in and install button */ - -#body-login input { - font-size: 20px; - margin: 5px; - padding: 11px 10px 9px; - &[type='text'], &[type='password'] { - width: 249px; - } - &.login { - width: 269px; - background-position: right 16px center; - } - &[type='submit'] { - padding: 10px 20px; - /* larger log in and installation buttons */ - } -} - -#remember_login { - margin: 18px 5px 0 16px !important; -} - -#body-login { - .remember-login-container { - display: inline-block; - margin: 10px 0; - text-align: center; - width: 100%; - } - #forgot-password { - padding: 11px; - float: right; - color: #fff; - } - .wrapper { - min-height: 100%; - margin: 0 auto -70px; - width: 300px; - } - footer, .push { - height: 70px; - } -} - /* Sticky footer */ /* round profile photos */ diff --git a/lib/private/Template/CSSResourceLocator.php b/lib/private/Template/CSSResourceLocator.php index 351e6d1366f..6af4e319e36 100644 --- a/lib/private/Template/CSSResourceLocator.php +++ b/lib/private/Template/CSSResourceLocator.php @@ -39,7 +39,7 @@ class CSSResourceLocator extends ResourceLocator { * @param array $party_map * @param SCSSCacher $scssCacher */ - public function __construct(ILogger $logger, $theme, $core_map, $party_map, SCSSCacher $scssCacher) { + public function __construct(ILogger $logger, $theme, $core_map, $party_map, $scssCacher) { $this->scssCacher = $scssCacher; parent::__construct($logger, $theme, $core_map, $party_map); @@ -85,12 +85,17 @@ class CSSResourceLocator extends ResourceLocator { */ protected function cacheAndAppendScssIfExist($root, $file, $webRoot = null) { if (is_file($root.'/'.$file)) { - if($this->scssCacher->process($root, $file)) { - $this->append($root, $this->scssCacher->getCachedSCSS('core', $file), $webRoot, false); - return true; + if($this->scssCacher !== null) { + if($this->scssCacher->process($root, $file)) { + $this->append($root, $this->scssCacher->getCachedSCSS('core', $file), $webRoot, false); + return true; + } else { + $this->logger->error('Failed to compile and/or save '.$root.'/'.$file, ['app' => 'core']); + return false; + } } else { - $this->logger->error('Failed to compile and/or save '.$root.'/'.$file, ['app' => 'core']); - return false; + $this->logger->error('Scss is disabled for '.$root.'/'.$file.', ignoring', ['app' => 'core']); + return true; } } return false; diff --git a/lib/private/TemplateLayout.php b/lib/private/TemplateLayout.php index bc6a485ad43..c3197b00282 100644 --- a/lib/private/TemplateLayout.php +++ b/lib/private/TemplateLayout.php @@ -162,14 +162,11 @@ class TemplateLayout extends \OC_Template { // Add the css files and check if server is already installed to prevent // appdata initialisation before database configuration - if(\OC::$server->getSystemConfig()->getValue('installed', false)) { + // Prevent scss initialisation if an update is needed + if(\OC::$server->getSystemConfig()->getValue('installed', false) && !\OCP\Util::needUpgrade()) { $cssFiles = self::findStylesheetFiles(\OC_Util::$styles); } else { - $cssFiles = array( - [\OC::$SERVERROOT, \OC::$WEBROOT, 'core/css/global.css'], - [\OC::$SERVERROOT, \OC::$WEBROOT, 'core/css/fonts.css'], - [\OC::$SERVERROOT, \OC::$WEBROOT, 'core/css/installation.css'] - ); + $cssFiles = self::findStylesheetFiles(\OC_Util::$styles, false); } $this->assign('cssfiles', array()); $this->assign('printcssfiles', []); @@ -190,16 +187,20 @@ class TemplateLayout extends \OC_Template { * @param array $styles * @return array */ - static public function findStylesheetFiles($styles) { + static public function findStylesheetFiles($styles, $compileScss = true) { // Read the selected theme from the config file $theme = \OC_Util::getTheme(); - $SCSSCacher = new SCSSCacher( - \OC::$server->getLogger(), - \OC::$server->getAppDataDir('css'), - \OC::$server->getURLGenerator(), - \OC::$server->getSystemConfig() - ); + if($compileScss) { + $SCSSCacher = new SCSSCacher( + \OC::$server->getLogger(), + \OC::$server->getAppDataDir('css'), + \OC::$server->getURLGenerator(), + \OC::$server->getSystemConfig() + ); + } else { + $SCSSCacher = null; + } $locator = new \OC\Template\CSSResourceLocator( \OC::$server->getLogger(), |