diff --git a/common/loginpage/build/Gruntfile.js b/common/loginpage/build/Gruntfile.js
index 293cf6938..350614c80 100644
--- a/common/loginpage/build/Gruntfile.js
+++ b/common/loginpage/build/Gruntfile.js
@@ -6,11 +6,12 @@ module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-copy');
- grunt.loadNpmTasks('grunt-contrib-uglify');
+ grunt.loadNpmTasks('grunt-contrib-uglify-es');
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-htmlmin');
grunt.loadNpmTasks('grunt-text-replace');
+ grunt.loadNpmTasks('grunt-inline');
function doRegisterInitializeAppTask(name, appName, configFile) {
return grunt.registerTask('init-build-' + name, 'Initialize build ' + appName, function(){
@@ -94,7 +95,7 @@ module.exports = function(grunt) {
separate_target: {
options: {
mangle: {
- sort: true
+ // sort: true
}
},
files: {
@@ -121,6 +122,13 @@ module.exports = function(grunt) {
}
},
+ inline: {
+ dist: {
+ src: '../deploy/index.html',
+ dest: '../deploy/index.html'
+ }
+ },
+
clean: {
options: {
force: true
@@ -162,6 +170,7 @@ module.exports = function(grunt) {
doRegisterInitializeAppTask('startpage', 'Desktop start page', 'startpage.json');
- grunt.registerTask('deploy-desktop-startpage', ['desktop-app-extra', 'copy', 'less', 'uglify:separate_target', 'concat', 'clean', 'uglify', 'htmlmin', 'compile-html']);
+ grunt.registerTask('deploy-desktop-startpage', ['desktop-app-extra', 'copy', 'less', 'uglify:separate_target',
+ 'concat', 'clean', 'inline', 'uglify', 'htmlmin', 'compile-html']);
grunt.registerTask('default', ['init-build-startpage','deploy-desktop-startpage']);
};
\ No newline at end of file
diff --git a/common/loginpage/build/package.json b/common/loginpage/build/package.json
index 4f80c4a23..6cf9cc4d2 100644
--- a/common/loginpage/build/package.json
+++ b/common/loginpage/build/package.json
@@ -5,13 +5,14 @@
"private": true,
"dependencies": {
"lodash": "^4.0.0",
- "grunt": "0.4.5",
+ "grunt": "1.0.2",
"grunt-text-replace": "0.4.0",
"grunt-contrib-less": "^1.1.0",
"grunt-contrib-clean": "^0.6.0",
"grunt-contrib-copy": "^0.8.0",
"grunt-contrib-uglify": "^0.11.0",
"grunt-contrib-concat": "^0.5.1",
- "grunt-contrib-htmlmin": "^0.6.0"
+ "grunt-contrib-htmlmin": "^0.6.0",
+ "grunt-inline": "0.3.4"
}
}
diff --git a/common/loginpage/res/img/logo_nextcloud.svg b/common/loginpage/res/img/logo_nextcloud.svg
new file mode 100644
index 000000000..16ba18019
--- /dev/null
+++ b/common/loginpage/res/img/logo_nextcloud.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/common/loginpage/res/img/logo_onlyoffice.svg b/common/loginpage/res/img/logo_onlyoffice.svg
new file mode 100644
index 000000000..89d5c6713
--- /dev/null
+++ b/common/loginpage/res/img/logo_onlyoffice.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/common/loginpage/res/img/logo_owncloud.svg b/common/loginpage/res/img/logo_owncloud.svg
new file mode 100644
index 000000000..3b97a9e68
--- /dev/null
+++ b/common/loginpage/res/img/logo_owncloud.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/common/loginpage/src/index.html b/common/loginpage/src/index.html
index eee5dc248..82dd10522 100644
--- a/common/loginpage/src/index.html
+++ b/common/loginpage/src/index.html
@@ -210,6 +210,15 @@
+
+
+
+
+
+
diff --git a/common/loginpage/src/index.html.deploy b/common/loginpage/src/index.html.deploy
index 331fbddd7..84573bf2c 100644
--- a/common/loginpage/src/index.html.deploy
+++ b/common/loginpage/src/index.html.deploy
@@ -194,6 +194,10 @@
+
+
+
+
diff --git a/common/loginpage/vendor/svg-injector/svg-injector.map.js b/common/loginpage/vendor/svg-injector/svg-injector.map.js
new file mode 100644
index 000000000..02335c0a9
--- /dev/null
+++ b/common/loginpage/vendor/svg-injector/svg-injector.map.js
@@ -0,0 +1 @@
+{"version":3,"file":"./svg-injector.min.js","sources":["./svg-injector.js"],"names":["window","document","uniqueClasses","list","split","hash","i","length","out","hasOwnProperty","unshift","join","isLocal","location","protocol","hasSvgSupport","implementation","hasFeature","forEach","Array","prototype","fn","scope","this","TypeError","len","call","svgCache","injectCount","injectedElements","requestQueue","ranScripts","cloneSvg","sourceSvg","cloneNode","queueRequest","url","callback","push","processRequestQueue","index","setTimeout","loadSvg","undefined","SVGSVGElement","XMLHttpRequest","httpRequest","onreadystatechange","readyState","status","responseXML","statusText","Document","documentElement","DOMParser","Function","xmlDoc","parser","parseFromString","responseText","e","getElementsByTagName","open","overrideMimeType","send","injectElement","el","evalScripts","pngFallback","imgUrl","getAttribute","test","perElementFallback","setAttribute","pop","replace","indexOf","svg","imgId","imgTitle","classMerge","concat","imgStyle","imgData","filter","attributes","at","name","dataAttr","value","element","elementDefs","properties","currentId","newId","iriElementsAndProperties","clipPath","color-profile","cursor","linearGradient","marker","mask","pattern","radialGradient","Object","keys","key","querySelectorAll","elementsLen","id","referencingElements","property","j","referencingElementLen","removeAttribute","script","scriptType","scripts","scriptsToEval","k","scriptsLen","innerText","textContent","removeChild","l","scriptsToEvalLen","styleTags","styleTag","parentNode","replaceChild","SVGInjector","elements","options","done","eachCallback","each","elementsLoaded","module","exports","define","amd"],"mappings":"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"}
\ No newline at end of file
diff --git a/common/loginpage/vendor/svg-injector/svg-injector.min.js b/common/loginpage/vendor/svg-injector/svg-injector.min.js
new file mode 100644
index 000000000..243424bee
--- /dev/null
+++ b/common/loginpage/vendor/svg-injector/svg-injector.min.js
@@ -0,0 +1,9 @@
+/**
+ * SVGInjector v1.1.3 - Fast, caching, dynamic inline SVG DOM injection library
+ * https://github.com/iconic/SVGInjector
+ *
+ * Copyright (c) 2014-2015 Waybury
+ * @license MIT
+ */
+!function(t,e){"use strict";function r(t){t=t.split(" ");for(var e={},r=t.length,n=[];r--;)e.hasOwnProperty(t[r])||(e[t[r]]=1,n.unshift(t[r]));return n.join(" ")}var n="file:"===t.location.protocol,i=e.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"),o=Array.prototype.forEach||function(t,e){if(void 0===this||null===this||"function"!=typeof t)throw new TypeError;var r,n=this.length>>>0;for(r=0;n>r;++r)r in this&&t.call(e,this[r],r,this)},a={},l=0,s=[],u=[],c={},f=function(t){return t.cloneNode(!0)},p=function(t,e){u[t]=u[t]||[],u[t].push(e)},d=function(t){for(var e=0,r=u[t].length;r>e;e++)!function(e){setTimeout(function(){u[t][e](f(a[t]))},0)}(e)},v=function(e,r){if(void 0!==a[e])a[e]instanceof SVGSVGElement?r(f(a[e])):p(e,r);else{if(!t.XMLHttpRequest)return r("Browser does not support XMLHttpRequest"),!1;a[e]={},p(e,r);var i=new XMLHttpRequest;i.onreadystatechange=function(){if(4===i.readyState){if(404===i.status||null===i.responseXML)return r("Unable to load SVG file: "+e),n&&r("Note: SVG injection ajax calls do not work locally without adjusting security setting in your browser. Or consider using a local webserver."),r(),!1;if(!(200===i.status||n&&0===i.status))return r("There was a problem injecting the SVG: "+i.status+" "+i.statusText),!1;if(i.responseXML instanceof Document)a[e]=i.responseXML.documentElement;else if(DOMParser&&DOMParser instanceof Function){var t;try{var o=new DOMParser;t=o.parseFromString(i.responseText,"text/xml")}catch(l){t=void 0}if(!t||t.getElementsByTagName("parsererror").length)return r("Unable to parse SVG file: "+e),!1;a[e]=t.documentElement}d(e)}},i.open("GET",e),i.overrideMimeType&&i.overrideMimeType("text/xml"),i.send()}},h=function(e,n,a,u){var f=e.getAttribute("data-src")||e.getAttribute("src");if(!/\.svg/i.test(f))return void u("Attempted to inject a file with a non-svg extension: "+f);if(!i){var p=e.getAttribute("data-fallback")||e.getAttribute("data-png");return void(p?(e.setAttribute("src",p),u(null)):a?(e.setAttribute("src",a+"/"+f.split("/").pop().replace(".svg",".png")),u(null)):u("This browser does not support SVG and no PNG fallback was defined."))}-1===s.indexOf(e)&&(s.push(e),e.setAttribute("src",""),v(f,function(i){if("undefined"==typeof i||"string"==typeof i)return u(i),!1;var a=e.getAttribute("id");a&&i.setAttribute("id",a);var p=e.getAttribute("title");p&&i.setAttribute("title",p);var d=[].concat(i.getAttribute("class")||[],"injected-svg",e.getAttribute("class")||[]).join(" ");i.setAttribute("class",r(d));var v=e.getAttribute("style");v&&i.setAttribute("style",v);var h=[].filter.call(e.attributes,function(t){return/^data-\w[\w\-]*$/.test(t.name)});o.call(h,function(t){t.name&&t.value&&i.setAttribute(t.name,t.value)});var g,m,b,y,A,w={clipPath:["clip-path"],"color-profile":["color-profile"],cursor:["cursor"],filter:["filter"],linearGradient:["fill","stroke"],marker:["marker","marker-start","marker-mid","marker-end"],mask:["mask"],pattern:["fill","stroke"],radialGradient:["fill","stroke"]};Object.keys(w).forEach(function(t){g=t,b=w[t],m=i.querySelectorAll("defs "+g+"[id]");for(var e=0,r=m.length;r>e;e++){y=m[e].id,A=y+"-"+l;var n;o.call(b,function(t){n=i.querySelectorAll("["+t+'*="'+y+'"]');for(var e=0,r=n.length;r>e;e++)n[e].setAttribute(t,"url(#"+A+")")}),m[e].id=A}}),i.removeAttribute("xmlns:a");for(var x,S,k=i.querySelectorAll("script"),j=[],G=0,T=k.length;T>G;G++)S=k[G].getAttribute("type"),S&&"application/ecmascript"!==S&&"application/javascript"!==S||(x=k[G].innerText||k[G].textContent,j.push(x),i.removeChild(k[G]));if(j.length>0&&("always"===n||"once"===n&&!c[f])){for(var M=0,V=j.length;V>M;M++)new Function(j[M])(t);c[f]=!0}var E=i.querySelectorAll("style");o.call(E,function(t){t.textContent+=""}),e.parentNode.replaceChild(i,e),delete s[s.indexOf(e)],e=null,l++,u(i)}))},g=function(t,e,r){e=e||{};var n=e.evalScripts||"always",i=e.pngFallback||!1,a=e.each;if(void 0!==t.length){var l=0;o.call(t,function(e){h(e,n,i,function(e){a&&"function"==typeof a&&a(e),r&&t.length===++l&&r(l)})})}else t?h(t,n,i,function(e){a&&"function"==typeof a&&a(e),r&&r(1),t=null}):r&&r(0)};"object"==typeof module&&"object"==typeof module.exports?module.exports=exports=g:"function"==typeof define&&define.amd?define(function(){return g}):"object"==typeof t&&(t.SVGInjector=g)}(window,document);
+//# sourceMappingURL=svg-injector.map.js
\ No newline at end of file