From 1e45b5075fc678bb81809147abfb3ba8e9047afc Mon Sep 17 00:00:00 2001 From: Arjan Adriaanse Date: Fri, 7 Feb 2020 19:14:16 +0100 Subject: [PATCH] initial commit --- app.env | 3 + config.sh | 9 ++ db.env | 5 + docker-compose.yml | 40 ++++++ nginx.conf | 168 +++++++++++++++++++++++++ themes/README | 17 +++ themes/bij1/core/css/server.css | 86 +++++++++++++ themes/bij1/core/img/favicon-touch.png | Bin 0 -> 2030 bytes themes/bij1/core/img/favicon-touch.svg | 1 + themes/bij1/core/img/favicon.ico | Bin 0 -> 5686 bytes themes/bij1/core/img/favicon.png | Bin 0 -> 592 bytes themes/bij1/core/img/favicon.svg | 1 + themes/bij1/core/img/logo-icon.png | Bin 0 -> 701 bytes themes/bij1/core/img/logo-icon.svg | 1 + themes/bij1/core/img/logo-mail.gif | Bin 0 -> 1950 bytes themes/bij1/core/img/logo.png | Bin 0 -> 3971 bytes themes/bij1/core/img/logo.svg | 1 + themes/bij1/defaults.php | 137 ++++++++++++++++++++ 18 files changed, 469 insertions(+) create mode 100644 app.env create mode 100755 config.sh create mode 100644 db.env create mode 100644 docker-compose.yml create mode 100644 nginx.conf create mode 100644 themes/README create mode 100644 themes/bij1/core/css/server.css create mode 100644 themes/bij1/core/img/favicon-touch.png create mode 100644 themes/bij1/core/img/favicon-touch.svg create mode 100644 themes/bij1/core/img/favicon.ico create mode 100644 themes/bij1/core/img/favicon.png create mode 100644 themes/bij1/core/img/favicon.svg create mode 100644 themes/bij1/core/img/logo-icon.png create mode 100644 themes/bij1/core/img/logo-icon.svg create mode 100644 themes/bij1/core/img/logo-mail.gif create mode 100644 themes/bij1/core/img/logo.png create mode 100644 themes/bij1/core/img/logo.svg create mode 100644 themes/bij1/defaults.php diff --git a/app.env b/app.env new file mode 100644 index 0000000..9674428 --- /dev/null +++ b/app.env @@ -0,0 +1,3 @@ +NEXTCLOUD_ADMIN_USER=admin +NEXTCLOUD_ADMIN_PASSWORD= +NEXTCLOUD_TRUSTED_DOMAINS=kom.bij1.org diff --git a/config.sh b/config.sh new file mode 100755 index 0000000..0f8f754 --- /dev/null +++ b/config.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +conf() { + docker-compose exec --user www-data app php occ config:system:set "$1" --value "$2" +} + +conf theme bij1 +conf default_language nl +conf default_locale nl_NL diff --git a/db.env b/db.env new file mode 100644 index 0000000..8a1fea1 --- /dev/null +++ b/db.env @@ -0,0 +1,5 @@ +MYSQL_ROOT_PASSWORD= +MYSQL_PASSWORD= +MYSQL_DATABASE=nextcloud +MYSQL_USER=nextcloud + diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..91fb91d --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,40 @@ +version: '3' + +services: + db: + image: mariadb + command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW + restart: always + volumes: + - db:/var/lib/mysql + env_file: + - db.env + + app: + image: nextcloud:fpm-alpine + restart: always + volumes: + - nextcloud:/var/www/html + - ./themes:/var/www/html/themes + environment: + - MYSQL_HOST=db + env_file: + - db.env + - app.env + depends_on: + - db + + web: + image: nginx:alpine + restart: always + ports: + - 8080:80 + volumes: + - nextcloud:/var/www/html:ro + - ./nginx.conf:/etc/nginx/nginx.conf + depends_on: + - app + +volumes: + db: + nextcloud: diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..d44c059 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,168 @@ +worker_processes auto; + +error_log /var/log/nginx/error.log warn; +pid /var/run/nginx.pid; + + +events { + worker_connections 1024; +} + + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /var/log/nginx/access.log main; + + sendfile on; + #tcp_nopush on; + + keepalive_timeout 65; + + #gzip on; + + upstream php-handler { + server app:9000; + } + + server { + listen 80; + + # Add headers to serve security related headers + # Before enabling Strict-Transport-Security headers please read into this + # topic first. + #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; + # + # WARNING: Only add the preload option once you read about + # the consequences in https://hstspreload.org/. This option + # will add the domain to a hardcoded list that is shipped + # in all major browsers and getting removed from this list + # could take several months. + add_header Referrer-Policy "no-referrer" always; + add_header X-Content-Type-Options "nosniff" always; + add_header X-Download-Options "noopen" always; + add_header X-Frame-Options "SAMEORIGIN" always; + add_header X-Permitted-Cross-Domain-Policies "none" always; + add_header X-Robots-Tag "none" always; + add_header X-XSS-Protection "1; mode=block" always; + + # Remove X-Powered-By, which is an information leak + fastcgi_hide_header X-Powered-By; + + # Path to the root of your installation + root /var/www/html; + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + # The following 2 rules are only needed for the user_webfinger app. + # Uncomment it if you're planning to use this app. + #rewrite ^/.well-known/host-meta /public.php?service=host-meta last; + #rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last; + + # The following rule is only needed for the Social app. + # Uncomment it if you're planning to use this app. + #rewrite ^/.well-known/webfinger /public.php?service=webfinger last; + + location = /.well-known/carddav { + return 301 $scheme://$host:$server_port/remote.php/dav; + } + + location = /.well-known/caldav { + return 301 $scheme://$host:$server_port/remote.php/dav; + } + + # set max upload size + client_max_body_size 10G; + fastcgi_buffers 64 4K; + + # Enable gzip but do not remove ETag headers + gzip on; + gzip_vary on; + gzip_comp_level 4; + gzip_min_length 256; + gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; + gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; + + # Uncomment if your server is build with the ngx_pagespeed module + # This module is currently not supported. + #pagespeed off; + + location / { + rewrite ^ /index.php; + } + + location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/ { + deny all; + } + location ~ ^\/(?:\.|autotest|occ|issue|indie|db_|console) { + deny all; + } + + location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+)\.php(?:$|\/) { + fastcgi_split_path_info ^(.+?\.php)(\/.*|)$; + set $path_info $fastcgi_path_info; + try_files $fastcgi_script_name =404; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param PATH_INFO $path_info; + # fastcgi_param HTTPS on; + + # Avoid sending the security headers twice + fastcgi_param modHeadersAvailable true; + + # Enable pretty urls + fastcgi_param front_controller_active true; + fastcgi_pass php-handler; + fastcgi_intercept_errors on; + fastcgi_request_buffering off; + } + + location ~ ^\/(?:updater|oc[ms]-provider)(?:$|\/) { + try_files $uri/ =404; + index index.php; + } + + # Adding the cache control header for js, css and map files + # Make sure it is BELOW the PHP block + location ~ \.(?:css|js|woff2?|svg|gif|map)$ { + try_files $uri /index.php$request_uri; + add_header Cache-Control "public, max-age=15778463"; + # Add headers to serve security related headers (It is intended to + # have those duplicated to the ones above) + # Before enabling Strict-Transport-Security headers please read into + # this topic first. + #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; + # + # WARNING: Only add the preload option once you read about + # the consequences in https://hstspreload.org/. This option + # will add the domain to a hardcoded list that is shipped + # in all major browsers and getting removed from this list + # could take several months. + add_header Referrer-Policy "no-referrer" always; + add_header X-Content-Type-Options "nosniff" always; + add_header X-Download-Options "noopen" always; + add_header X-Frame-Options "SAMEORIGIN" always; + add_header X-Permitted-Cross-Domain-Policies "none" always; + add_header X-Robots-Tag "none" always; + add_header X-XSS-Protection "1; mode=block" always; + + # Optional: Don't log access to assets + access_log off; + } + + location ~ \.(?:png|html|ttf|ico|jpg|jpeg|bcmap)$ { + try_files $uri /index.php$request_uri; + # Optional: Don't log access to other assets + access_log off; + } + } +} diff --git a/themes/README b/themes/README new file mode 100644 index 0000000..5e6ea79 --- /dev/null +++ b/themes/README @@ -0,0 +1,17 @@ +Themes can be used to customize the look and feel without the need to patch the source code. This makes it very easy to: + +* Use your own logo (in the top left, in log in and in emails) +* Customize the text strings to replace »Nextcloud« etc. with your name of choice +* Change the main color (used in header and as log in background) +* And more … + + +The process is simple: + +1. Put a folder here with the name of the theme as foldername +2. Activate it by putting 'theme' => 'themename', into the config.php file + + +The folder structure of a theme is exactly the same as the main structure. CSS files are loaded additionally to the default files so you can override properties. Images are replaced. You can also override JS files and PHP templates but we do not recommend that because you will need to adjust them after every update. + +You can also find a basic example here which you can build upon. diff --git a/themes/bij1/core/css/server.css b/themes/bij1/core/css/server.css new file mode 100644 index 0000000..53fdeda --- /dev/null +++ b/themes/bij1/core/css/server.css @@ -0,0 +1,86 @@ +/** + * @author Jan-Christoph Borchardt, http://jancborchardt.net + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see + */ + + +/* header color */ +/* this is the main brand color */ +#body-user #header, +#body-settings #header, +#body-public #header { + background-color: #745bca; +} + +/* log in screen background color */ +/* gradient of the header color and a brighter shade */ +/* can also be a flat color or an image */ +#body-login { + background: #745bca; /* Old browsers */ + background: -moz-linear-gradient(top, #947bea 0%, #745bca 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#947bea), color-stop(100%,#745bca)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #947bea 0%,#745bca 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #947bea 0%,#745bca 100%); /* Opera11.10+ */ + background: -ms-linear-gradient(top, #947bea 0%,#745bca 100%); /* IE10+ */ + background: linear-gradient(top, #947bea 0%,#745bca 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#947bea', endColorstr='#745bca',GradientType=0 ); /* IE6-9 */ +} + +/* primary action button, use sparingly */ +/* header color as border, brighter shade again, here as background */ +.primary, +input[type="submit"].primary, +input[type="button"].primary, +button.primary, +.button.primary, +.primary:active, +input[type="submit"].primary:active, +input[type="button"].primary:active, +button.primary:active, +.button.primary:active { + border-color: #745bca; + background-color: #947bea; +} +.primary:hover, +input[type="submit"].primary:hover, +input[type="button"].primary:hover, +button.primary:hover, +.button.primary:hover, +.primary:focus, +input[type="submit"].primary:focus, +input[type="button"].primary:focus, +button.primary:focus, +.button.primary:focus { + background-color: #8b75e4; +} +.primary:active, input[type="submit"].primary:active, input[type="button"].primary:active, button.primary:active, .button.primary:active, +.primary:disabled, input[type="submit"].primary:disabled, input[type="button"].primary:disabled, button.primary:disabled, .button.primary:disabled, +.primary:disabled:hover, input[type="submit"].primary:disabled:hover, input[type="button"].primary:disabled:hover, button.primary:disabled:hover, .button.primary:disabled:hover, +.primary:disabled:focus, input[type="submit"].primary:disabled:focus, input[type="button"].primary:disabled:focus, button.primary:disabled:focus, .button.primary:disabled:focus { + background-color: #745bca; +} + +/* use logos from theme */ +#header .logo, +#firstrunwizard .logo { + background-image: url('../img/logo.svg'); + width: 256px; + height: 128px; +} +#header .logo-icon { + width: 62px; + height: 34px; +} diff --git a/themes/bij1/core/img/favicon-touch.png b/themes/bij1/core/img/favicon-touch.png new file mode 100644 index 0000000000000000000000000000000000000000..e3a61ae58711a43c03f9242c9df09fa261ed31dd GIT binary patch literal 2030 zcmY+^dpy(o9|!OmqlHom9hDs^raGsPOBY2JD|J{=LN49bMa0M=)(UgUWzBsqkytJ% zl#V--%Vt{`4Ke02w{2K*-G1NBAHT;r-^cU&{=OgY_v`!l>-+dd+Fh_#-uT-_5D27< zw6Q_~Pu#D2gDgP;+I(Gr9zgSRZu56;$2hn9xzI4qZ5S6|Lc_SU`vVnNx%^uB zUv2+q-sbl!*#=Dh1&9IRcFfg(Dsaw!w*O87{jV^P{Qv8~`2nu9fNQiz05@77z@3iu zpg;Dc2VDnr1mEZgzS;2vaElRgn-Pj;gx+D`?l7O;W#aEKpWSCY^I|=JzzXwbMLhf( z;ro>U@av2OU^-*5-La3m5gV_mB*a;zQVhHc)O4i=J! ziZX_ZGr1*M+>&hWJHV^q(wyPG_VO_hA=XFm1s$!0*+|qLfnWA2n=-XFOKYMQQ+rkiMf!n_@G9cy+ibscj zjB$UAk1S5`7WshD#i{Y1QxiX@0sJMw^s;bfSv0#W5-iUNR_25&^P-i7xfSvJ>W_uh zMe*v-#kHlMfc532_0<)CWNlTlwkBBztV<*kDRB9RLoWg!;t34u!bK2R79y{psHD1W zyPEngEfce&&aQ5O*vCPH$mryh)U9!gd4fS($q90(HQmJ!|UBV@;stGKM z*X;CNgQolb)-`D`Hc+QM8I#?yXFxS6DfXKbWYVd;%K*Bv78SeQyrlXs{=ky5x`Y7k zx=eN;>G=>*It}({Jx}mX5^1?<(As*3rc5hbtXO?Oulq3p{v$F5HKc*Miwj2?7Qrhl zttkifK3?w?B=;3Gn#Q_uUUuN2lz=?@_c?ZbmR^vGt6oQH-R%j@>fI@7=)I27@>KlQ zyOc0bO{f#m(RfBu(sHtl#yRol4HHAgs2^k~m27r9>-Kz|GFk!Ma%Lg=k#vx9?AX|` zb6r~E7Uv!DyPZosv#jfa#kTjrV!F3+FlWDzpP+Eu%mLie#6%^?Q>|$#1-8^&Mbny1 z&_@b;HrluZz?vD4&TR3)D0ez$Z9d6O+_)_zziCsYT?8?d8Kx=9R7M2sqvK*^Zw7gX ztNVNb7q0P^e1smZCkKul56M;P5zss!)#wiq_s31KEYNikPsPK@wzzVO?cEArg z)N>lz+Ei%Xg{a-?HrqHoeF)4j6OV(r&-s z9^Qcj#u#hH8w?v;TMptwGtma_TOS}^JTFI7zBr=Jvd7aNt0Qf`N6=)8DL5sUq7b5i zT?B3VJfx_8uQjnYjD|9lnLJ@cBI;1?DJnB++!iJ}6_hGBBtwY-&{fmAP+vYw24R!} zB_F$-LKGo#5g{3ZyzNyjTNHNE|L)3`f?X;nZRTnP1U#XHrL@EsP2rqJogvZH+D>m41HpqP&hKh-o@*Pl+y!8P#p z+l^rgwN5A>Ww1#qs94V2kRnFzD{YV?<86{&pSPsm0Kb7{i<~m`Pg6a?YB16sBzD8B zflR1HfqC|!H0Y%ikgBI9oalpA^-QQsa|#Q6aHA`WH9}=DE2|e9bn7_i4nzS#=RP%rRB0WjoH& z4xN(7oPiviEBF&_T7z>eWy;4*K&;MIXS39{90?*-m9EpC%LlC(}QsFW}m(&CEoO(8BIR+FaJ#~72*F;>o6v^I% zRw$S4lbOXy(>_&glY0t^YV6$xw@_+s)LXSEApAc63L0J|^+MQtkm5RKomHdG^{G>5*^q{$F*A76#nHrw4px-tSEKyg)u_YQVd zxyHnzPcx@fgi(qoKA4&7ROISDINWG5S(K-cuaC%rr5k-YDj}4;ftP_?FB{es`s(|) RMgjjz5E600s>ISA|3CPPHADaa literal 0 HcmV?d00001 diff --git a/themes/bij1/core/img/favicon-touch.svg b/themes/bij1/core/img/favicon-touch.svg new file mode 100644 index 0000000..2c48494 --- /dev/null +++ b/themes/bij1/core/img/favicon-touch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/themes/bij1/core/img/favicon.ico b/themes/bij1/core/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..70b59ad766932de445acd2c0ecbc865faa7df1bf GIT binary patch literal 5686 zcmd^D2Y6Fe6uzJ+ib}=3<3ikfFBJFQ3u=`DqT(oRp>$CKrL97t8&rl>q2fRgWQZV8 z2N^&@R!dq^C?%ZC__(CTQ4@&H-~6?#33RlNKX+Y%-FKP7*ah zS1&DLZN=L0^}vTLc8VxWzAb!~hq2XV6(g(4fc!2G^1D6As;)x18O5S-jD_VW;P)d> ziv^k2Z)XO~L1ru{7xb}nLI(0VT*z*yMauXzRu|?VgEi&&3|7wHQ%%`&gfT{%w0S`~ z+VuI%n$O{6Vp7DVusW)Q9AvNBhp<1u=*T&16a!@7n-16;U1MxHYeM+c-rMeE?E_vP z>lfBT?!T(Gi;lP5!P+@df9XxdS5a9p9&3TFTtP9^WGdm)JJ7BI{wBz1`t-xjh|TpFe<2b^8z0A8a^e zZft69X>GIYR;l-Bv^u?^s(P=nrgq=&Teoem{NvBR{@x*zE0jBT{j_TJ&uiBHvTpr` zjlXXCZS$6;UzUIM^*76wSA4tTyYGMaapnAi!lL4m(y|2$Kl}WPMT?hY&5+KVl|4Hr zH}8{A=giHY_i@7H#H8dYQ&Xm;rln_OPJip|vGL=^Pk3kIyYIa}>4OhHdhYobUVQ20 zS6+SX^*2V3iG4F}1Uq3;l`V8zU9{2ZolKsyY9Z{-uv#C zTztu;mt8*miV;^{b@esZUUz-Wsl!e?{fsluI{Tb+&pZEu3ok+g1|D6E-bfiRE!q1?%0gYEy4vMAb!p`qH^i1 zH?wXck$*>B`2Iup&*jZqWh_2<8;FV-?78R9@9Dtp#yU~`mx~Q^_&!L9xqs8b-+gKe zJpgnm_38V~m}E@ePt+CDTQmYO@cWNVUn4qaG=4r;C*@)CK4xQpy+JLsnT1#}HkBDL zhyK9bH+c_Zbz*Lx@gW|av;;%X5=($h-d+*Gruk4!&c)i^g0J?U$a-V6EthrB;Zqn0n|FKvoFQNxEf oFVOyFYmRyh@aE+b%5+=FbXv-DTg!A?%5+@HbX&@FTgr4>$#h%FbX&@GT*`M} z%XnYQdSc9bW6XSH&4X;vh;q@0bJB@((us7^j(OCMdeo7A)slYIlYiEefYz0Q)|GW=)}6|$-nB#!RyPy>)h4x+}85l z*7Dug^4{3;-`Vrv+VkMs^Wog|<>2+@;q~a`_Uq^O?CALL?)moh{P*?z_xAkw_x$+x z{rUL)`uY9)`u_a;{{R2~i<7`u0000GbW%=J0833yP=tqyy}rM|@$&QZg#?hM0003C zNklAor0x}5L_wi0A}+X8vCw|+|322K#P``MM-_WeqN+VuCH{jJbS_?|v)8LmJw4dG!?)3PT5vFd@^<(; z*m(!SeyiDR4Z^tCGK2aE@ON3bK5%OW$3Q6OQiQ;f5nKX&Ry<(#*lYX@o`F49+W7Lc zF%P=KDFBBR2V%UI1m^(sU>%8`1YHQ@3GpDo5Q%{{r1+2^Kq7S2HzOn_S^(cwi_)IB z!Cd6E9cSN*0By)qWEnRk;IpiAwWyQp0H)wxt=i&$f+}0BP}v?7DQ^!Jhze}6M6p~c eV~%PuzW)iooq7%>qRkip0000 \ No newline at end of file diff --git a/themes/bij1/core/img/logo-icon.png b/themes/bij1/core/img/logo-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4ed70603b25ae020ac54fe5ec8577d82063bbc43 GIT binary patch literal 701 zcmV;u0z&K%16<5H753YSQjsBnL5-;z#ZyD1YlYd>dyZS z*`vN~0A>GH1H{;~Sp3G|Vy+r0kALI_Jm8Hzx*sV{P>^GH3e z{xfJbRNJOc@*cRR!HMj4=sDbrPpIUO?|1}RZp6+-ZwJsDzln(zFAeR*R(OmmwGnC zq`w5vfek=aSJe}F1{L+9`apeeva{3LTLNg-Ol9ed+MN#WR_6-@Z!H0ITR~9OnKa~b z!N68lw5EZIS^@3@y9?%tx}$S+FtYz}1sDMiMFgFROj3qNKkCECX;@L)8znS3M?Xd8 z{8|AHN9O7P#u^0$ZUVa^V?_NKIXW%(t}mijn4Fi5=$Cpq0`f{VrV-siooq0;rWv)* z{O{2|^>LFq27@{Z+>4#Y3@wrTaek;icaePIcQxrd9YPokCg \ No newline at end of file diff --git a/themes/bij1/core/img/logo-mail.gif b/themes/bij1/core/img/logo-mail.gif new file mode 100644 index 0000000000000000000000000000000000000000..431db4e68ae2686abafe77a4378d14497fb39ecb GIT binary patch literal 1950 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 Zo~x?Ru@+=?Zu#`7T-l{dq|<;k{{uB+85RHl literal 0 HcmV?d00001 diff --git a/themes/bij1/core/img/logo.png b/themes/bij1/core/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ac766e29cd896c6b9969ff64b7f385ca2b37de35 GIT binary patch literal 3971 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 t9NMU_H@~+FJnPT>81(Yrgf&xWt \ No newline at end of file diff --git a/themes/bij1/defaults.php b/themes/bij1/defaults.php new file mode 100644 index 0000000..02c2867 --- /dev/null +++ b/themes/bij1/defaults.php @@ -0,0 +1,137 @@ + + * @author Jan-Christoph Borchardt, http://jancborchardt.net + * @copyright Copyright (c) 2016, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see + */ + +class OC_Theme { + + /** + * Returns the base URL + * @return string URL + */ + public function getBaseUrl() { + return 'https://kom.bij1.org'; + } + + /** + * Returns the documentation URL + * @return string URL + */ + public function getDocBaseUrl() { + return 'https://docs.nextcloud.com'; + } + + /** + * Returns the title + * @return string title + */ + public function getTitle() { + return 'Kom BIJ1'; + } + + /** + * Returns the short name of the software + * @return string title + */ + public function getName() { + return 'Kom BIJ1'; + } + + /** + * Returns the short name of the software containing HTML strings + * @return string title + */ + public function getHTMLName() { + return 'Kom BIJ1'; + } + + /** + * Returns entity (e.g. company name) - used for footer, copyright + * @return string entity name + */ + public function getEntity() { + return 'BIJ1'; + } + + /** + * Returns slogan + * @return string slogan + */ + public function getSlogan() { + return 'Your custom cloud, personalized for you!'; + } + + /** + * Returns logo claim + * @return string logo claim + * @deprecated 13.0.0 not used anymore + */ + public function getLogoClaim() { + return ''; + } + + /** + * Returns short version of the footer + * @return string short footer + */ + public function getShortFooter() { + $footer = '© ' . date('Y') . ' ' . $this->getEntity() . '' . + '
' . $this->getSlogan(); + + return $footer; + } + + /** + * Returns long version of the footer + * @return string long footer + */ + public function getLongFooter() { + $footer = '© ' . date('Y') . ' ' . $this->getEntity() . '' . + '
' . $this->getSlogan(); + + return $footer; + } + + /** + * Generate a documentation link for a given key + * @return string documentation link + */ + public function buildDocLinkToKey($key) { + return $this->getDocBaseUrl() . '/server/15/go.php?to=' . $key; + } + + + /** + * Returns mail header color + * @return string + */ + public function getColorPrimary() { + return '#745bca'; + } + + /** + * Returns variables to overload defaults from core/css/variables.scss + * @return array + */ + public function getScssVariables() { + return [ + 'color-primary' => '#745bca' + ]; + } + +}