Commit 3c36662b authored by Stephan Großberndt's avatar Stephan Großberndt

Merge branch 'gerrit-v3.2' into 'master'

Gerrit v3.2

See merge request !1
parents 878f9663 9d12d8b1
FROM gerritcodereview/gerrit:3.0.13-ubuntu18
FROM gerritcodereview/gerrit:3.2.5-ubuntu20
# Add PHP for hooks
......@@ -6,7 +6,7 @@ USER root
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get update \
&& apt-get install --yes --no-install-recommends php7.2-cli php7.2-curl \
&& apt-get install --yes --no-install-recommends php7.4-cli php7.4-curl \
&& apt-get clean \
&& ln -fs /usr/share/zoneinfo/Europe/Berlin /etc/localtime \
&& dpkg-reconfigure --frontend noninteractive tzdata \
......
......@@ -16,14 +16,15 @@ body {
}
#login_form:before {
background-image: url(/static/typo3_11562277385.cache.svg);
background-image: url(/static/typo3_logo_1604607499.cache.svg);
background-repeat: no-repeat;
background-position: center center;
content: "";
position: absolute;
top: 0;
height: 168px;
width: 350px
top: 50px;
left: 87px;
width: 250px;
height: 70px;
}
#login_form table {
......@@ -194,31 +195,30 @@ body {
}
/* Login Handling */
@element '#login_form' {
/* Background image handling */
$root { height: 100%; }
$root body {
height: 100%;
background-image: url(/static/progressive_image_lake-sF27CHQAzJC535.cache.jpg);
background-position: center center;
background-repeat: no-repeat;
background-attachment: fixed;
background-size: cover;
background-color: #999;
}
/* Hide old components */
$root #gerrit_topmenu { display: none; }
$root #gerrit_header { display: none; }
$root #gerrit_body {
display: flex;
height: 100%;
justify-content: center;
align-items: center;
resize: both;
overflow: auto;
}
$root #gerrit_body h1 {
display: none;
}
/* Background image handling */
html.loginParent { height: 100%; }
html.loginParent body {
height: 100%;
font-family: 'Source Sans Pro', sans-serif;
background-image: url(/static/progressive_image_lake-sF27CHQAzJC535.cache.jpg) !important;
background-position: center center !important;
background-repeat: no-repeat !important;
background-attachment: fixed !important;
background-size: cover !important;
background-color: #999 !important;
}
/* Hide old components */
html.loginParent body #gerrit_topmenu,
html.loginParent body #gerrit_header,
html.loginParent body #gerrit_body h1 {
display: none;
}
html.loginParent body #gerrit_body {
display: flex;
height: 100%;
justify-content: center;
align-items: center;
resize: both;
overflow: auto;
}
<script type="text/javascript" src="/static/bundle_1515450993.cache.js"></script>
\ No newline at end of file
<script type="text/javascript" src="/static/loginform_1604607499.cache.js"></script>
\ No newline at end of file
......@@ -56,11 +56,15 @@
[httpd]
listenUrl = proxy-https://*:8080/
robotsFile = etc/robots.txt
[sshd]
listenAddress = *:29418
threads = 12
[plugins]
allowRemoteAdmin = false
[sendemail]
smtpServer = mail.typo3.org
smtpEncryption = ssl
......
# Directions for web crawlers.
# See http://www.robotstxt.org/
# First deny access for several bots, then define rules for the allowed ones below
# Some bots are known to be trouble, particularly those designed to copy entire sites. Please obey robots.txt.
# (copied from wikipedia.org)
User-agent: sitecheck.internetseer.com
Disallow: /
User-agent: Zealbot
Disallow: /
User-agent: MSIECrawler
Disallow: /
User-agent: SiteSnagger
Disallow: /
User-agent: WebStripper
Disallow: /
User-agent: WebCopier
Disallow: /
User-agent: Fetch
Disallow: /
User-agent: Offline Explorer
Disallow: /
User-agent: Teleport
Disallow: /
User-agent: TeleportPro
Disallow: /
User-agent: WebZIP
Disallow: /
User-agent: linko
Disallow: /
User-agent: HTTrack
Disallow: /
User-agent: Microsoft.URL.Control
Disallow: /
User-agent: Xenu
Disallow: /
User-agent: larbin
Disallow: /
User-agent: libwww
Disallow: /
User-agent: ZyBORG
Disallow: /
User-agent: Download Ninja
Disallow: /
# Misbehaving: requests much too fast:
User-agent: fast
Disallow: /
# additional denied bots as proposed by default robots.txt of Gerrit
User-agent: puf
Disallow: /
User-agent: Nutch
Disallow: /
# All allowed bots are ask to skip /changes as these return JSON code content only, impact performance and are of no value to search engines
User-agent: *
Disallow: /changes/
# All bots are asked to pause at least 5 seconds between two visits
Crawl-Delay: 5
......@@ -16,8 +16,9 @@ $args['message'] = getCommitMessage($args['project'], $args['commit']);
$args['token'] = getenv('HOOK_TOKEN_t3bot');
$urls = [
'https://stage.t3bot.de/hooks/gerrit/?action=' . $args['action'],
'https://www.t3bot.de/hooks/gerrit/?action=' . $args['action'],
'https://slackbot.typo3.dev/hooks/gerrit/?action=' . $args['action'],
'https://slackbot.typo3.org/hooks/gerrit/?action=' . $args['action'],
];
$options = [
......
......@@ -16,8 +16,9 @@ $args['message'] = getCommitMessage($args['project'], $args['commit']);
$args['token'] = getenv('HOOK_TOKEN_t3bot');
$urls = [
'https://stage.t3bot.de/hooks/gerrit/?action=' . $args['action'],
'https://www.t3bot.de/hooks/gerrit/?action=' . $args['action'],
'https://slackbot.typo3.dev/hooks/gerrit/?action=' . $args['action'],
'https://slackbot.typo3.org/hooks/gerrit/?action=' . $args['action'],
];
$options = [
......
LoginForm=function(){var e=null,t=null,n=null;function a(){e=document.getElementById("login_form"),t=document.getElementById("f_user"),n=document.getElementById("f_pass"),setTimeout(function(){var e=document.getElementsByTagName("body");e&&e.length&&(e[0].style.visibility="visible")},500),e&&e.length>0&&(function(){var e=t.parentNode.previousSibling,a=n.parentNode.previousSibling;e&&(t.placeholder=e.textContent.length?e.textContent:"User");a&&(n.placeholder=a.textContent.length?a.textContent:"Password")}(),function(){var e=document.getElementById("error_message");e&&n.parentNode&&n.parentNode.appendChild(e)}())}return window.onload=function(){a()},this}(),function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof module&&module.exports?module.exports=t():e.EQCSS=t()}(this,function(){var EQCSS={data:[],version:"1.7.3"};EQCSS.load=function(){for(var e=document.getElementsByTagName("style"),t=0;t<e.length;t++)"http://www.w3.org/2000/svg"!==e[t].namespaceURI&&null===e[t].getAttribute("data-eqcss-read")&&(e[t].setAttribute("data-eqcss-read","true"),EQCSS.process(e[t].innerHTML));var n=document.getElementsByTagName("script");for(t=0;t<n.length;t++)null===n[t].getAttribute("data-eqcss-read")&&"text/eqcss"===n[t].type&&(n[t].src?function(){var e=new XMLHttpRequest;e.open("GET",n[t].src,!0),e.send(null),e.onreadystatechange=function(){EQCSS.process(e.responseText)}}():EQCSS.process(n[t].innerHTML),n[t].setAttribute("data-eqcss-read","true"));var a=document.getElementsByTagName("link");for(t=0;t<a.length;t++)null===a[t].getAttribute("data-eqcss-read")&&"stylesheet"===a[t].rel&&(a[t].href&&function(){var e=new XMLHttpRequest;e.open("GET",a[t].href,!0),e.send(null),e.onreadystatechange=function(){EQCSS.process(e.responseText)}}(),a[t].setAttribute("data-eqcss-read","true"))},EQCSS.parse=function(e){var t=new Array;return(e=(e=(e=(e=(e=e||"").replace(/\s+/g," ")).replace(/\/\*[\w\W]*?\*\//g,"")).replace(/@element/g,"\n@element")).replace(/(@element.*?\{([^}]*?\{[^}]*?\}[^}]*?)*\}).*/g,"$1")).replace(/(@element.*(?!@element))/g,function(e,n){var a={};n.replace(/(@element)\s*(".*?"|'.*?'|.*?)\s*(and\s*\(|{)/g,function(e,t,n){n=(n=n.replace(/^\s?['](.*)[']/,"$1")).replace(/^\s?["](.*)["]/,"$1"),a.selector=n}),a.conditions=[],n.replace(/and ?\( ?([^:]*) ?: ?([^)]*) ?\)/g,function(e,t,n){var r=null;(r=n.replace(/^(\d*\.?\d+)(\D+)$/,"$2"))===n&&(r=null),n=n.replace(/^(\d*\.?\d+)\D+$/,"$1"),a.conditions.push({measure:t,value:n,unit:r})}),n.replace(/{(.*)}/g,function(e,t){a.style=t}),t.push(a)}),t},EQCSS.register=function(e){if("[object Object]"===Object.prototype.toString.call(e)&&(EQCSS.data.push(e),EQCSS.apply()),"[object Array]"===Object.prototype.toString.call(e)){for(var t=0;t<e.length;t++)EQCSS.data.push(e[t]);EQCSS.apply()}},EQCSS.process=function(e){var t=EQCSS.parse(e);return EQCSS.register(t)},EQCSS.apply=function(){var e,t,n,a,r,o,i,d,l,s,c,u,S,p,h,m;for(e=0;e<EQCSS.data.length;e++)for(a=document.querySelectorAll(EQCSS.data[e].selector),t=0;t<a.length;t++){r="data-eqcss-"+e+"-"+t,a[t].setAttribute(r,""),i="data-eqcss-"+e+"-"+t+"-parent",a[t]!=document.documentElement&&a[t].parentNode.setAttribute(i,""),d="data-eqcss-"+e+"-"+t+"-prev";var f=function(e){for(;e=e.previousSibling;)if(1===e.nodeType)return e}(a[t]);f&&f.setAttribute(d,""),l="data-eqcss-"+e+"-"+t+"-next";var E=function(e){for(;e=e.nextSibling;)if(1===e.nodeType)return e}(a[t]);E&&E.setAttribute(l,""),(o=document.querySelector("#"+r))||((o=document.createElement("style")).id=r,o.setAttribute("data-eqcss-read","true"),document.querySelector("head").appendChild(o)),o=document.querySelector("#"+r),p=!0;e:for(n=0;n<EQCSS.data[e].conditions.length;n++){h=window.getComputedStyle(a[t],null),m=null,a[t]!=document.documentElement&&(m=window.getComputedStyle(a[t].parentNode,null));var g,C=!1;if("vw"===EQCSS.data[e].conditions[n].unit)C=!0,g=parseInt(EQCSS.data[e].conditions[n].value),EQCSS.data[e].conditions[n].recomputed_value=g*window.innerWidth/100;else if("vh"===EQCSS.data[e].conditions[n].unit)C=!0,g=parseInt(EQCSS.data[e].conditions[n].value),EQCSS.data[e].conditions[n].recomputed_value=g*window.innerHeight/100;else if("vmin"===EQCSS.data[e].conditions[n].unit)C=!0,g=parseInt(EQCSS.data[e].conditions[n].value),EQCSS.data[e].conditions[n].recomputed_value=g*Math.min(window.innerWidth,window.innerHeight)/100;else if("vmax"===EQCSS.data[e].conditions[n].unit)C=!0,g=parseInt(EQCSS.data[e].conditions[n].value),EQCSS.data[e].conditions[n].recomputed_value=g*Math.max(window.innerWidth,window.innerHeight)/100;else if(null!=EQCSS.data[e].conditions[n].unit&&"px"!=EQCSS.data[e].conditions[n].unit&&"%"!=EQCSS.data[e].conditions[n].unit){var y=document.createElement("div");y.style.visibility="hidden",y.style.border="1px solid red",y.style.width=EQCSS.data[e].conditions[n].value+EQCSS.data[e].conditions[n].unit;var Q=a[t];a[t]!=document.documentElement&&(Q=a[t].parentNode),Q.appendChild(y),EQCSS.data[e].conditions[n].value=parseInt(window.getComputedStyle(y,null).getPropertyValue("width")),EQCSS.data[e].conditions[n].unit="px",Q.removeChild(y)}var v=C?EQCSS.data[e].conditions[n].recomputed_value:parseInt(EQCSS.data[e].conditions[n].value);switch(EQCSS.data[e].conditions[n].measure){case"min-width":if(!(!0!==C&&"px"!==EQCSS.data[e].conditions[n].unit||(c=parseInt(h.getPropertyValue("width")))>=v)){p=!1;break e}if("%"===EQCSS.data[e].conditions[n].unit&&(c=parseInt(h.getPropertyValue("width")),!(parseInt(m.getPropertyValue("width"))/c<=100/v))){p=!1;break e}break;case"max-width":if(!(!0!==C&&"px"!==EQCSS.data[e].conditions[n].unit||(c=parseInt(h.getPropertyValue("width")))<=v)){p=!1;break e}if("%"===EQCSS.data[e].conditions[n].unit&&(c=parseInt(h.getPropertyValue("width")),!(parseInt(m.getPropertyValue("width"))/c>=100/v))){p=!1;break e}break;case"min-height":if(!(!0!==C&&"px"!==EQCSS.data[e].conditions[n].unit||(u=parseInt(h.getPropertyValue("height")))>=v)){p=!1;break e}if("%"===EQCSS.data[e].conditions[n].unit&&(u=parseInt(h.getPropertyValue("height")),!(parseInt(m.getPropertyValue("height"))/u<=100/v))){p=!1;break e}break;case"max-height":if(!(!0!==C&&"px"!==EQCSS.data[e].conditions[n].unit||(u=parseInt(h.getPropertyValue("height")))<=v)){p=!1;break e}if("%"===EQCSS.data[e].conditions[n].unit&&(u=parseInt(h.getPropertyValue("height")),!(parseInt(m.getPropertyValue("height"))/u>=100/v))){p=!1;break e}break;case"min-scroll-x":var w=a[t],b=w.scrollLeft;if(w.hasScrollListener||(w===document.documentElement||w===document.body?window.addEventListener("scroll",function(){EQCSS.throttle(),w.hasScrollListener=!0}):w.addEventListener("scroll",function(){EQCSS.throttle(),w.hasScrollListener=!0})),!0===C||"px"===EQCSS.data[e].conditions[n].unit){if(!(b>=v)){p=!1;break e}}else if("%"===EQCSS.data[e].conditions[n].unit){var x=a[t].scrollWidth;if(!(b/(x-(a[t]===document.documentElement||a[t]===document.body?window.innerWidth:parseInt(h.getPropertyValue("width"))))*100>=v)){p=!1;break e}}break;case"min-scroll-y":if(w=a[t],b=a[t].scrollTop,w.hasScrollListener||(w===document.documentElement||w===document.body?window.addEventListener("scroll",function(){EQCSS.throttle(),w.hasScrollListener=!0}):w.addEventListener("scroll",function(){EQCSS.throttle(),w.hasScrollListener=!0})),!0===C||"px"===EQCSS.data[e].conditions[n].unit){if(!(b>=v)){p=!1;break e}}else if("%"===EQCSS.data[e].conditions[n].unit&&!(b/((x=a[t].scrollHeight)-(a[t]===document.documentElement||a[t]===document.body?window.innerHeight:parseInt(h.getPropertyValue("height"))))*100>=v)){p=!1;break e}break;case"max-scroll-x":if(w=a[t],b=a[t].scrollLeft,w.hasScrollListener||(w===document.documentElement||w===document.body?window.addEventListener("scroll",function(){EQCSS.throttle(),w.hasScrollListener=!0}):w.addEventListener("scroll",function(){EQCSS.throttle(),w.hasScrollListener=!0})),!0===C||"px"===EQCSS.data[e].conditions[n].unit){if(!(b<=v)){p=!1;break e}}else if("%"===EQCSS.data[e].conditions[n].unit&&!(b/((x=a[t].scrollWidth)-(a[t]===document.documentElement||a[t]===document.body?window.innerWidth:parseInt(h.getPropertyValue("width"))))*100<=v)){p=!1;break e}break;case"max-scroll-y":if(w=a[t],b=a[t].scrollTop,w.hasScrollListener||(w===document.documentElement||w===document.body?window.addEventListener("scroll",function(){EQCSS.throttle(),w.hasScrollListener=!0}):w.addEventListener("scroll",function(){EQCSS.throttle(),w.hasScrollListener=!0})),!0===C||"px"===EQCSS.data[e].conditions[n].unit){if(!(b<=v)){p=!1;break e}}else if("%"===EQCSS.data[e].conditions[n].unit&&!(b/((x=a[t].scrollHeight)-(a[t]===document.documentElement||a[t]===document.body?window.innerHeight:parseInt(h.getPropertyValue("height"))))*100<=v)){p=!1;break e}break;case"min-characters":if(a[t].value){if(!(a[t].value.length>=v)){p=!1;break e}}else if(!(a[t].textContent.length>=v)){p=!1;break e}break;case"max-characters":if(a[t].value){if(!(a[t].value.length<=v)){p=!1;break e}}else if(!(a[t].textContent.length<=v)){p=!1;break e}break;case"min-children":if(!(a[t].children.length>=v)){p=!1;break e}break;case"max-children":if(!(a[t].children.length<=v)){p=!1;break e}break;case"min-lines":if(u=parseInt(h.getPropertyValue("height"))-parseInt(h.getPropertyValue("border-top-width"))-parseInt(h.getPropertyValue("border-bottom-width"))-parseInt(h.getPropertyValue("padding-top"))-parseInt(h.getPropertyValue("padding-bottom")),"normal"===(S=h.getPropertyValue("line-height"))){var k=parseInt(h.getPropertyValue("font-size"));S=1.125*k}else S=parseInt(S);if(!(u/S>=v)){p=!1;break e}break;case"max-lines":if(!((u=parseInt(h.getPropertyValue("height"))-parseInt(h.getPropertyValue("border-top-width"))-parseInt(h.getPropertyValue("border-bottom-width"))-parseInt(h.getPropertyValue("padding-top"))-parseInt(h.getPropertyValue("padding-bottom")))/(S="normal"===(S=h.getPropertyValue("line-height"))?1.125*(k=parseInt(h.getPropertyValue("font-size"))):parseInt(S))+1<=v)){p=!1;break e}break;case"orientation":if("square"===EQCSS.data[e].conditions[n].value&&a[t].offsetWidth!==a[t].offsetHeight){p=!1;break e}if("portrait"===EQCSS.data[e].conditions[n].value&&!(a[t].offsetWidth<a[t].offsetHeight)){p=!1;break e}if("landscape"===EQCSS.data[e].conditions[n].value&&!(a[t].offsetHeight<a[t].offsetWidth)){p=!1;break e}break;case"min-aspect-ratio":var I=EQCSS.data[e].conditions[n].value.split("/")[0],_=EQCSS.data[e].conditions[n].value.split("/")[1];if(!(I/_<=a[t].offsetWidth/a[t].offsetHeight)){p=!1;break e}break;case"max-aspect-ratio":if(I=EQCSS.data[e].conditions[n].value.split("/")[0],_=EQCSS.data[e].conditions[n].value.split("/")[1],!(a[t].offsetWidth/a[t].offsetHeight<=I/_)){p=!1;break e}}}if(!0===p){s=(s=(s=(s=(s=(s=(s=(s=EQCSS.data[e].style).replace(/eval\( *((".*?")|('.*?')) *\)/g,function(e,n){return EQCSS.tryWithEval(a[t],n)})).replace(/(\$|eq_)this/gi,"["+r+"]")).replace(/(\$|eq_)parent/gi,"["+i+"]")).replace(/(\$|eq_)prev/gi,"["+d+"]")).replace(/(\$|eq_)next/gi,"["+l+"]")).replace(/(\$|eq_)root/gi,"html")).replace(/(\d*\.?\d+)(?:\s*)(ew|eh|emin|emax)/gi,function(e,n,r){switch(r){case"ew":return a[t].offsetWidth/100*n+"px";case"eh":return a[t].offsetHeight/100*n+"px";case"emin":return Math.min(a[t].offsetWidth,a[t].offsetHeight)/100*n+"px";case"emax":return Math.max(a[t].offsetWidth,a[t].offsetHeight)/100*n+"px"}});try{o.innerHTML=s}catch(e){o.styleSheet.cssText=s}}else try{o.innerHTML=""}catch(e){o.styleSheet.cssText=""}}},EQCSS.tryWithEval=function(element,string){var $it=element,ret="";try{with($it)ret=eval(string.slice(1,-1))}catch(e){ret=""}return ret},EQCSS.reset=function(){EQCSS.data=[];for(var e=document.querySelectorAll('head style[id^="data-eqcss-"]'),t=0;t<e.length;t++)e[t].parentNode.removeChild(e[t]);for(var n=document.querySelectorAll("*"),a=0;a<n.length;a++)for(var r=0;r<n[a].attributes.length;r++)0===n[a].attributes[r].name.indexOf("data-eqcss-")&&n[a].removeAttribute(n[a].attributes[r].name)},EQCSS.domReady=function(e){var t=!1,n=!0,a=window.document,r=a.documentElement,o=!~navigator.userAgent.indexOf("MSIE 8"),i=o?"addEventListener":"attachEvent",d=o?"removeEventListener":"detachEvent",l=o?"":"on",s=function(n){"readystatechange"===n.type&&"complete"!==a.readyState||(("load"===n.type?window:a)[d](l+n.type,s,!1),!t&&(t=!0)&&e.call(window,n.type||n))},c=function(){try{r.doScroll("left")}catch(e){return void setTimeout(c,50)}s("poll")};if("complete"===a.readyState)e.call(window,"lazy");else{if(!o&&r.doScroll){try{n=!window.frameElement}catch(e){}n&&c()}a[i](l+"DOMContentLoaded",s,!1),a[i](l+"readystatechange",s,!1),window[i](l+"load",s,!1)}};var EQCSS_throttle_available=!0,EQCSS_throttle_queued=!1,EQCSS_mouse_down=!1,EQCSS_timeout=200;EQCSS.throttle=function(){EQCSS_throttle_available?(EQCSS.apply(),EQCSS_throttle_available=!1,setTimeout(function(){EQCSS_throttle_available=!0,EQCSS_throttle_queued&&(EQCSS_throttle_queued=!1,EQCSS.apply())},EQCSS_timeout)):EQCSS_throttle_queued=!0},EQCSS.domReady(function(){EQCSS.load(),EQCSS.throttle()}),window.addEventListener("resize",EQCSS.throttle),window.addEventListener("input",EQCSS.throttle),window.addEventListener("click",EQCSS.throttle),window.addEventListener("mousedown",function(e){1===e.which&&(EQCSS_mouse_down=!0)}),window.addEventListener("mousemove",function(){EQCSS_mouse_down&&EQCSS.throttle()}),window.addEventListener("mouseup",function(){EQCSS_mouse_down=!1,EQCSS.throttle()});function l(e){console.log(e)}return EQCSS});
<!--
Copyright (C) 2019 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Implemented with help of
https://gerrit.wikimedia.org/r/plugins/gitiles/operations/puppet/+/refs/heads/production/modules/gerrit/files/homedir/review_site/static/gerrit-theme.html
https://gerrit-review.googlesource.com/Documentation/pg-plugin-dev.html
https://gerrit-review.googlesource.com/Documentation/config-themes.html
-->
<script>
var doc = document.querySelector("footer.style-scope.gr-app div.style-scope.gr-app");
if (doc) {
appendLink('https://typo3.org/legal-notice/', 'Legal Notice',);
appendLink('https://typo3.org/privacy-policy', 'Privacy Policy',);
}
function appendLink(url, text) {
var a = document.createElement('a');
var linkText = document.createTextNode(text);
a.appendChild(linkText);
a.href = url;
a.target = '_blank';
a.className = 'style-scope gr-app';
a.rel = 'noopener';
var seperator = document.createTextNode(" | ");
doc.appendChild(seperator);
return doc.appendChild(a);
}
</script>
<dom-module>
<dom-module id="typo3-styles">
<script>
Gerrit.install(plugin => {
Gerrit.install(function (plugin) {
plugin.registerStyleModule('app-theme-light', 'typo3-light-style');
plugin.registerStyleModule('app-theme', 'typo3-common-style');
plugin.registerCustomComponent('footer-left', 'typo3-custom-links');
});
</script>
<style>
.gr-app-0 gr-main-header.gr-app {
background-color: white;
padding: 0 0.5em;
border-width: 0 0 3px 0;
border-style: solid;
border-bottom: 0;
box-shadow: 0 3px 3px 2px rgba(0, 0, 0, 0.075), 0 0 2px rgba(0, 0, 0, 0.2);
}
</dom-module>
<dom-module id="typo3-light-style">
<template>
<style>
html {
--header-background-color: white;
}
</style>
</template>
</dom-module>
.gr-main-header-0 .titleText.gr-main-header::after {
content: "";
}
<dom-module id="typo3-common-style">
<template>
<style>
html {
--border-width: 0 0 3px 0;
--border-style: solid;
--header-box-shadow: 0 3px 3px 2px rgba(0, 0, 0, 0.075), 0 0 2px rgba(0, 0, 0, 0.2);
}
</style>
</template>
</dom-module>
.gr-main-header-0 .titleText.gr-main-header::before {
background: no-repeat url(/static/typo3_11562277385.cache.svg);
background-size: 4em 1.8em;
height: 1.8em;
width: 4em;
}
<dom-module id="typo3-custom-links">
<template>
<style>
a {
color: var(--link-color);
}
</style>
| <a href="https://typo3.org/legal-notice/">Legal Notice</a>
| <a href="https://typo3.org/privacy-policy">Privacy Policy</a>
</template>
<script>
Polymer({is: 'typo3-custom-links'});
</script>
</dom-module>
</style>
</dom-module>
\ No newline at end of file
<dom-module id="typo3-header-logo">
<script>
Gerrit.install(plugin => {
const domHook = plugin.hook('header-title', {replace: true});
domHook.onAttached(element => {
const el = element.appendChild(document.createElement('div'));
el.title = 'TYPO3 Code Review';
const logo_name = window.localStorage.getItem('dark-theme') ? 'typo3_logo_dark_1604607499.cache.svg' : 'typo3_logo_1604607499.cache.svg';
el.style.cssText = 'height: 1.8em; width: 4em; background: url(/static/' + logo_name + ') no-repeat left top / 4em 1.8em;';
});
});
</script>
</dom-module>
// Copyright (C) 2018 typo3
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
{
("use strict");
LoginForm = (function() {
var form = null;
var usernameField = null;
var passwordField = null;
function init() {
if (/Sign In/.test(document.title) && /\/login/.test(location.href)) {
document.documentElement.className = "loginParent";
document.cookie = 'GerritAccount=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT; SameSite=Strict; Secure';
}
}
function onLoad() {
form = document.getElementById("login_form");
usernameField = document.getElementById("f_user");
passwordField = document.getElementById("f_pass");
showBody();
if (form && form.length > 0) {
renderPlaceholder();
renderErrorMessage();
}
}
/**
* To prevent that the user sees the old UI and get the flickering we hide
* the body and make it visible again.
*
* @return {void}
*/
function showBody() {
setTimeout(function() {
var body = document.getElementsByTagName("body");
if (body && body.length) {
body[0].style.visibility = "visible";
}
}, 500);
}
function renderPlaceholder() {
var usernameHeader = usernameField.parentNode.previousSibling;
var passwordHeader = passwordField.parentNode.previousSibling;
if (usernameHeader) {
usernameField.placeholder = usernameHeader.textContent.length
? usernameHeader.textContent
: "User";
}
if (passwordHeader) {
passwordField.placeholder = passwordHeader.textContent.length
? passwordHeader.textContent
: "Password";
}
}
/**
* The error message will be rendered outside the login form.
* So this method will move the markup after the password field.
*
* @return {void}
*/
function renderErrorMessage() {
var errorMessageContainer = document.getElementById("error_message");
if (errorMessageContainer && passwordField.parentNode) {
passwordField.parentNode.appendChild(errorMessageContainer);
}
}
init();
window.onload = function() {
onLoad();
};
return this;
})();
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 303.05 84.17" style="enable-background:new 0 0 303.05 84.17;" xml:space="preserve">
<style type="text/css">
.st0{fill:#f49800;}
</style>
<g>
<g>
<polygon points="99.94,28.37 113.57,28.37 113.57,83.56 121.26,83.56 121.26,28.37 134.88,28.37 134.88,21.65 99.94,21.65 "/>
<polygon points="158.9,46.67 147.23,21.65 138.74,21.65 154.57,54.81 154.57,83.56 162.53,83.56 162.53,54.81 178.63,21.65
170.57,21.65 "/>
<path d="M247.43,21.03c-14.59,0-18.48,10.08-18.48,30.87c0,21.66,3.89,32.27,18.48,32.27c14.59,0,18.48-10.61,18.48-32.27
C265.91,31.11,262.02,21.03,247.43,21.03z M247.43,77.72c-7.95,0-10.61-6.38-10.61-25.38c0-19.46,2.66-24.86,10.61-24.86
s10.61,5.4,10.61,24.86C258.04,71.35,255.39,77.72,247.43,77.72z"/>
<path d="M295.18,51.11c4.69-1.69,6.82-6.99,6.82-13c0-13.18-5.23-17.08-14.33-17.08c-4.5,0-9.73,1.33-10.7,1.51v6.45
c2.56-0.53,6.99-1.51,10.88-1.51c4.42,0,6.62,2.83,6.62,9.82c0,3.53-0.34,10.87-7.52,10.87h-6.36v6.46h7.26
c6.28,0,7.6,4.25,7.6,12.29c0,6.82-2.93,10.64-7.43,10.64c-3.9,0-9.37-0.91-11.5-1.35v6.44c0.81,0.19,7.26,1.51,11.59,1.51
c9.82,0,14.94-4.94,14.94-18.13C303.05,57.38,300.58,51.46,295.18,51.11z"/>
<path d="M202.33,21.03c-7.34,0-14.96,0.63-14.96,0.63v61.91h7.7V60.21h7.43c12.56,0,17.16-6.55,17.16-19.99
C219.66,29.34,215.77,21.03,202.33,21.03z M203.38,53.75h-8.31V27.93c0,0,3.45-0.53,8.31-0.53c6.28,0,8.41,4.59,8.41,13.44
C211.79,50.48,208.34,53.75,203.38,53.75z"/>
</g>
<g>
<path class="st0" d="M32.94,8.72c0-4.58,1.08-6.1,2.61-7.42C22.46,2.83,6.76,7.63,1.74,13.74C0.66,15.27,0,17.66,0,20.72
c0,19.41,20.72,63.46,35.33,63.46c6.76,0,18.16-11.11,27.54-26.17c-1.25,0.37-2.24,0.51-3.55,0.51
C48.63,58.51,32.94,21.15,32.94,8.72z"/>
<path class="st0" d="M56.05,0c-5.67,0-7.85,1.09-7.85,6.76c0,12.43,11.12,37.3,20.07,37.3c5.01,0,14.83-18.76,14.83-34.25
C83.1,2.18,69.57,0,56.05,0z"/>
</g>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 303.05 84.17"
style="enable-background:new 0 0 303.05 84.17;" xml:space="preserve">
<style type="text/css">
#logo * {fill: #f49800}
</style>
<g>
<g id="letters">
<polygon points="99.94,28.37 113.57,28.37 113.57,83.56 121.26,83.56 121.26,28.37 134.88,28.37 134.88,21.65 99.94,21.65"/>
<polygon points="158.9,46.67 147.23,21.65 138.74,21.65 154.57,54.81 154.57,83.56 162.53,83.56 162.53,54.81 178.63,21.65 170.57,21.65"/>
<path d="M247.43,21.03c-14.59,0-18.48,10.08-18.48,30.87c0,21.66,3.89,32.27,18.48,32.27c14.59,0,18.48-10.61,18.48-32.27 C265.91,31.11,262.02,21.03,247.43,21.03z M247.43,77.72c-7.95,0-10.61-6.38-10.61-25.38c0-19.46,2.66-24.86,10.61-24.86 s10.61,5.4,10.61,24.86C258.04,71.35,255.39,77.72,247.43,77.72z"/>
<path d="M295.18,51.11c4.69-1.69,6.82-6.99,6.82-13c0-13.18-5.23-17.08-14.33-17.08c-4.5,0-9.73,1.33-10.7,1.51v6.45 c2.56-0.53,6.99-1.51,10.88-1.51c4.42,0,6.62,2.83,6.62,9.82c0,3.53-0.34,10.87-7.52,10.87h-6.36v6.46h7.26 c6.28,0,7.6,4.25,7.6,12.29c0,6.82-2.93,10.64-7.43,10.64c-3.9,0-9.37-0.91-11.5-1.35v6.44c0.81,0.19,7.26,1.51,11.59,1.51 c9.82,0,14.94-4.94,14.94-18.13C303.05,57.38,300.58,51.46,295.18,51.11z"/>
<path d="M202.33,21.03c-7.34,0-14.96,0.63-14.96,0.63v61.91h7.7V60.21h7.43c12.56,0,17.16-6.55,17.16-19.99 C219.66,29.34,215.77,21.03,202.33,21.03z M203.38,53.75h-8.31V27.93c0,0,3.45-0.53,8.31-0.53c6.28,0,8.41,4.59,8.41,13.44 C211.79,50.48,208.34,53.75,203.38,53.75z"/>
</g>
<g id="logo">
<path d="M32.94,8.72c0-4.58,1.08-6.1,2.61-7.42C22.46,2.83,6.76,7.63,1.74,13.74C0.66,15.27,0,17.66,0,20.72 c0,19.41,20.72,63.46,35.33,63.46c6.76,0,18.16-11.11,27.54-26.17c-1.25,0.37-2.24,0.51-3.55,0.51 C48.63,58.51,32.94,21.15,32.94,8.72z"/>
<path d="M56.05,0c-5.67,0-7.85,1.09-7.85,6.76c0,12.43,11.12,37.3,20.07,37.3c5.01,0,14.83-18.76,14.83-34.25 C83.1,2.18,69.57,0,56.05,0z"/>
</g>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 303.05 84.17"
style="enable-background:new 0 0 303.05 84.17;" xml:space="preserve">
<style type="text/css">
#letters * {fill: white}
#logo * {fill: #f49800}
</style>
<g>
<g id="letters">
<polygon points="99.94,28.37 113.57,28.37 113.57,83.56 121.26,83.56 121.26,28.37 134.88,28.37 134.88,21.65 99.94,21.65"/>
<polygon points="158.9,46.67 147.23,21.65 138.74,21.65 154.57,54.81 154.57,83.56 162.53,83.56 162.53,54.81 178.63,21.65 170.57,21.65"/>
<path d="M247.43,21.03c-14.59,0-18.48,10.08-18.48,30.87c0,21.66,3.89,32.27,18.48,32.27c14.59,0,18.48-10.61,18.48-32.27 C265.91,31.11,262.02,21.03,247.43,21.03z M247.43,77.72c-7.95,0-10.61-6.38-10.61-25.38c0-19.46,2.66-24.86,10.61-24.86 s10.61,5.4,10.61,24.86C258.04,71.35,255.39,77.72,247.43,77.72z"/>
<path d="M295.18,51.11c4.69-1.69,6.82-6.99,6.82-13c0-13.18-5.23-17.08-14.33-17.08c-4.5,0-9.73,1.33-10.7,1.51v6.45 c2.56-0.53,6.99-1.51,10.88-1.51c4.42,0,6.62,2.83,6.62,9.82c0,3.53-0.34,10.87-7.52,10.87h-6.36v6.46h7.26 c6.28,0,7.6,4.25,7.6,12.29c0,6.82-2.93,10.64-7.43,10.64c-3.9,0-9.37-0.91-11.5-1.35v6.44c0.81,0.19,7.26,1.51,11.59,1.51 c9.82,0,14.94-4.94,14.94-18.13C303.05,57.38,300.58,51.46,295.18,51.11z"/>
<path d="M202.33,21.03c-7.34,0-14.96,0.63-14.96,0.63v61.91h7.7V60.21h7.43c12.56,0,17.16-6.55,17.16-19.99 C219.66,29.34,215.77,21.03,202.33,21.03z M203.38,53.75h-8.31V27.93c0,0,3.45-0.53,8.31-0.53c6.28,0,8.41,4.59,8.41,13.44 C211.79,50.48,208.34,53.75,203.38,53.75z"/>
</g>
<g id="logo">
<path d="M32.94,8.72c0-4.58,1.08-6.1,2.61-7.42C22.46,2.83,6.76,7.63,1.74,13.74C0.66,15.27,0,17.66,0,20.72 c0,19.41,20.72,63.46,35.33,63.46c6.76,0,18.16-11.11,27.54-26.17c-1.25,0.37-2.24,0.51-3.55,0.51 C48.63,58.51,32.94,21.15,32.94,8.72z"/>
<path d="M56.05,0c-5.67,0-7.85,1.09-7.85,6.76c0,12.43,11.12,37.3,20.07,37.3c5.01,0,14.83-18.76,14.83-34.25 C83.1,2.18,69.57,0,56.05,0z"/>
</g>
</g>
</svg>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment