From e1b853c9d2ec0393b22eff8c5b7f7d222b0dce71 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Mon, 30 Sep 2019 16:16:46 +0200 Subject: [PATCH 001/139] css test --- web/themes/custom/barbell/css/style.css | 3 +++ 1 file changed, 3 insertions(+) diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index e69de29..7cfe2bf 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -0,0 +1,3 @@ +body { + color: blue; +} From 9997b40bdcf60a5d39567d85899737071a3d9d74 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Mon, 30 Sep 2019 16:20:36 +0200 Subject: [PATCH 002/139] css test --- web/themes/custom/barbell/css/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 7cfe2bf..ce7da04 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -1,3 +1,3 @@ -body { +p { color: blue; } From b4dd862e3ecbcc9386f925f24a71b74634f659b3 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Tue, 1 Oct 2019 17:13:17 +0200 Subject: [PATCH 003/139] style initial --- .gitignore | 6 ++ .../brandon-grotesque-bold-587bd6400afd0.woff | Bin 0 -> 42024 bytes ...randon-grotesque-medium-587bd623e472a.woff | Bin 0 -> 42392 bytes ...on-grotesque-medium-cufonfonts-webfont.zip | Bin 0 -> 121446 bytes web/themes/custom/barbell/css/style.css | 89 ++++++++++++++++++ 5 files changed, 95 insertions(+) create mode 100644 web/themes/custom/barbell/css/brandon-grotesque-bold-587bd6400afd0.woff create mode 100644 web/themes/custom/barbell/css/brandon-grotesque-medium-587bd623e472a.woff create mode 100644 web/themes/custom/barbell/css/brandon-grotesque-medium-cufonfonts-webfont.zip diff --git a/.gitignore b/.gitignore index 50d278d..d179fe5 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ /web/themes/contrib/ /web/profiles/contrib/ /web/libraries/ +/modules/ # Ignore sensitive information /web/sites/*/settings.php @@ -22,3 +23,8 @@ # Ignore .env files as they are personal /.env + +/web/themes/custom/barbell/css/style_1.css +/web/themes/custom/barbell/css/example.html +/web/themes/custom/barbell/css/brandon-grotesque-thin-587bd5b76cfba.woff +/web/sites/default/local.services.yml diff --git a/web/themes/custom/barbell/css/brandon-grotesque-bold-587bd6400afd0.woff b/web/themes/custom/barbell/css/brandon-grotesque-bold-587bd6400afd0.woff new file mode 100644 index 0000000000000000000000000000000000000000..566d28f837fcca33946aaedf934ae260566a5774 GIT binary patch literal 42024 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 literal 0 HcmV?d00001 diff --git a/web/themes/custom/barbell/css/brandon-grotesque-medium-587bd623e472a.woff b/web/themes/custom/barbell/css/brandon-grotesque-medium-587bd623e472a.woff new file mode 100644 index 0000000000000000000000000000000000000000..070ea0f99e9a809468f74b96cec57fb03a6d8c34 GIT binary patch literal 42392 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

Lc9|)s(#|R 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 Date: Tue, 1 Oct 2019 17:16:17 +0200 Subject: [PATCH 004/139] ignore --- .gitignore | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitignore b/.gitignore index 50d278d..d179fe5 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ /web/themes/contrib/ /web/profiles/contrib/ /web/libraries/ +/modules/ # Ignore sensitive information /web/sites/*/settings.php @@ -22,3 +23,8 @@ # Ignore .env files as they are personal /.env + +/web/themes/custom/barbell/css/style_1.css +/web/themes/custom/barbell/css/example.html +/web/themes/custom/barbell/css/brandon-grotesque-thin-587bd5b76cfba.woff +/web/sites/default/local.services.yml From 5b80e016858e852183ee256dd1c5e993d0d1c628 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Tue, 1 Oct 2019 17:19:36 +0200 Subject: [PATCH 005/139] style initial --- web/themes/custom/barbell/css/style.css | 90 ++++++++++++++++++++++++- 1 file changed, 88 insertions(+), 2 deletions(-) diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index ce7da04..002c100 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -1,3 +1,89 @@ -p { - color: blue; +:root { + --yellow: #f6b018; } + +* { + box-sizing: border-box; +} + +@font-face { + font-family: 'Brandon Grotesque Medium'; + font-style: normal; + font-weight: normal; + src: local('Brandon Grotesque Medium'), url('brandon-grotesque-medium-587bd623e472a.woff') format('woff'); +} + +@font-face { + font-family: 'Brandon Grotesque Bold'; + font-style: normal; + font-weight: normal; + src: local('Brandon Grotesque Bold'), url('brandon-grotesque-bold-587bd6400afd0.woff') format('woff'); +} + +/* NAVIGATION */ +header div, #block-barbell-branding, #block-barbell-branding a img, #block-barbell-branding div, +header div nav, header div nav h2, header div nav div, +header div nav ul, header div nav ul li, +.language-switcher-language-url, .language-switcher-language-url div, header div div div, ul.links, li.en, li.sr { + display: inline; +} + +header div { + display: grid; + grid-template-columns: 30% auto 10%; + height: 60px; + background: var(--yellow); + width: 100%; + align-items: center; +} + +/* NAV LOGO */ +#block-barbell-branding { + clip-path: polygon(0 0, 100% 0%, 80% 100%, 0% 100%); + width: 100%; + background: black; + height: 60px; + text-align: right; + padding-right: 20px; + vertical-align: middle; +} + +#block-barbell-branding a img { + display: inline-block; + margin-right: 80px; +} + +/* NAV MAIN */ +#block-barbell-main-menu ul li { + color: black; + text-transform: uppercase; + text-decoration: none; + margin-right: 20px; +} + +#block-barbell-main-menu ul li a { + text-decoration: none; + color: black; + font-family: 'Brandon Grotesque Medium'; +} + +/* Language switcher */ +header div div .links { + align-items: center; +} + +#block-languageswitcher ul { + display: inline-grid; + grid-template-columns: 1fr 1fr; + align-content: center; + justify-content: center; +} +.language-link { + font-family: 'Brandon Grotesque Bold'; + text-transform: uppercase; + color: black; + text-decoration: none; + display: inline-grid; + +} + From 953391593931c7a8ddd86a0b242ff7f9bda059bf Mon Sep 17 00:00:00 2001 From: hikeislife Date: Tue, 1 Oct 2019 17:21:45 +0200 Subject: [PATCH 006/139] fonts --- .../brandon-grotesque-bold-587bd6400afd0.woff | Bin 0 -> 42024 bytes .../brandon-grotesque-medium-587bd623e472a.woff | Bin 0 -> 42392 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 web/themes/custom/barbell/css/brandon-grotesque-bold-587bd6400afd0.woff create mode 100644 web/themes/custom/barbell/css/brandon-grotesque-medium-587bd623e472a.woff diff --git a/web/themes/custom/barbell/css/brandon-grotesque-bold-587bd6400afd0.woff b/web/themes/custom/barbell/css/brandon-grotesque-bold-587bd6400afd0.woff new file mode 100644 index 0000000000000000000000000000000000000000..566d28f837fcca33946aaedf934ae260566a5774 GIT binary patch literal 42024 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 literal 0 HcmV?d00001 diff --git a/web/themes/custom/barbell/css/brandon-grotesque-medium-587bd623e472a.woff b/web/themes/custom/barbell/css/brandon-grotesque-medium-587bd623e472a.woff new file mode 100644 index 0000000000000000000000000000000000000000..070ea0f99e9a809468f74b96cec57fb03a6d8c34 GIT binary patch literal 42392 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 Date: Tue, 1 Oct 2019 18:24:48 +0200 Subject: [PATCH 007/139] title --- .gitignore | 2 ++ web/themes/custom/barbell/css/style.css | 30 +++++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/.gitignore b/.gitignore index d179fe5..c4f4163 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,5 @@ /web/themes/custom/barbell/css/example.html /web/themes/custom/barbell/css/brandon-grotesque-thin-587bd5b76cfba.woff /web/sites/default/local.services.yml +/web/themes/custom/barbell/css/Henrik/ +/web/themes/custom/barbell/css/_MACOS/ \ No newline at end of file diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 002c100..b4dd8ed 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -20,6 +20,13 @@ src: local('Brandon Grotesque Bold'), url('brandon-grotesque-bold-587bd6400afd0.woff') format('woff'); } +@font-face { + font-family: 'Henry'; + font-style: normal; + font-weight: normal; + src: local('Henry'), url('Henrik-Regular.otf') format('woff'); +} + /* NAVIGATION */ header div, #block-barbell-branding, #block-barbell-branding a img, #block-barbell-branding div, header div nav, header div nav h2, header div nav div, @@ -87,3 +94,26 @@ header div div .links { } +/* */ +.page-title:before { + content:url('../img/page-title-bcg.png'); + position: relative; + left: 100px; + z-index: -1; + bottom: -12px; +} + +.page-title { + text-align: center; + text-transform: uppercase; + margin: 120px; + font-size: 60px; + position: relative; + font-family: 'Henry'; + left: -30px; +} + +/* .page-title span { + z-index: 50; +} */ + From 28573967b8a374020387851001ef0dd9c4ead5cf Mon Sep 17 00:00:00 2001 From: hikeislife Date: Tue, 1 Oct 2019 18:25:44 +0200 Subject: [PATCH 008/139] title --- web/themes/custom/barbell/css/style.css | 30 +++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 002c100..b4dd8ed 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -20,6 +20,13 @@ src: local('Brandon Grotesque Bold'), url('brandon-grotesque-bold-587bd6400afd0.woff') format('woff'); } +@font-face { + font-family: 'Henry'; + font-style: normal; + font-weight: normal; + src: local('Henry'), url('Henrik-Regular.otf') format('woff'); +} + /* NAVIGATION */ header div, #block-barbell-branding, #block-barbell-branding a img, #block-barbell-branding div, header div nav, header div nav h2, header div nav div, @@ -87,3 +94,26 @@ header div div .links { } +/* */ +.page-title:before { + content:url('../img/page-title-bcg.png'); + position: relative; + left: 100px; + z-index: -1; + bottom: -12px; +} + +.page-title { + text-align: center; + text-transform: uppercase; + margin: 120px; + font-size: 60px; + position: relative; + font-family: 'Henry'; + left: -30px; +} + +/* .page-title span { + z-index: 50; +} */ + From 7beb22287136565ba476e456dabdba57141c7c72 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Tue, 1 Oct 2019 18:32:44 +0200 Subject: [PATCH 009/139] title --- .gitignore | 2 +- .../custom/barbell/css/Henrik-Regular.otf | Bin 0 -> 937772 bytes web/themes/custom/barbell/css/style.css | 2 +- .../custom/barbell/img/page-title-bcg.png | Bin 0 -> 1381 bytes 4 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 web/themes/custom/barbell/css/Henrik-Regular.otf create mode 100644 web/themes/custom/barbell/img/page-title-bcg.png diff --git a/.gitignore b/.gitignore index c4f4163..c9a4c46 100644 --- a/.gitignore +++ b/.gitignore @@ -29,4 +29,4 @@ /web/themes/custom/barbell/css/brandon-grotesque-thin-587bd5b76cfba.woff /web/sites/default/local.services.yml /web/themes/custom/barbell/css/Henrik/ -/web/themes/custom/barbell/css/_MACOS/ \ No newline at end of file +/web/themes/custom/barbell/css/__MACOSX/ \ No newline at end of file diff --git a/web/themes/custom/barbell/css/Henrik-Regular.otf b/web/themes/custom/barbell/css/Henrik-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..1dc58c36332e3ecf22c7f9434a077a5bf31305fa GIT binary patch literal 937772 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

hxnW|pLWMX{NQN`B`S2sD*v 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

5TbQ+_Q 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

RHJ^ZYvolR}~h`H`c(o?MR)F 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

i)&9jqH)**$ML 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

wsM8MH6|erpS0Me!fKRW}m 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≈^up2Q<-{Co0aj3-;^tydW1=t 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%0A87y5i^8=BVUKaGmf&>@{v+gM! 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 NzU4L1+TYhR{{_170Sf>C literal 0 HcmV?d00001 diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index b4dd8ed..de625d9 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -109,7 +109,7 @@ header div div .links { margin: 120px; font-size: 60px; position: relative; - font-family: 'Henry'; + font-family: 'Henry', sans-serif; left: -30px; } diff --git a/web/themes/custom/barbell/img/page-title-bcg.png b/web/themes/custom/barbell/img/page-title-bcg.png new file mode 100644 index 0000000000000000000000000000000000000000..538cf4cf47f97c77b51396f240eff4184fb7efd5 GIT binary patch literal 1381 zcmeAS@N?(olHy`uVBq!ia0vp^Wk77h!3HEZr}#+&DajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_cg49rTIArU1JzCKpT`MG+DAT@dwxdlMoK*Q`S3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`>}qN1>S$`>YGP(=Xy|HbVd&=S;%Me*Vc=qE zWa#V&)9aF-T$-DjR|3v4~Pj*wm=R%;iu*SQ+p9GSugs3TZ4gt@usJXV@SoV zH+T1XF*}MJ{ivwZ)ylHvqva9t4PRJQTANyXTbBfH*szgKc*Bu!d2XkM){@_$~YVTK-i??=PbNn#f`?c?C#g*sz+N;v_MeV{C@ShW*rMUUVB{0w0Pyb zBTAtGIzg;JJv5|T-tY%)ZHwxRbz2qZwee}09KXj^>71SUXX2bz#+C2h!Es2F{kH3> zX9>Yi1XkA72V6PZ_x02-(MvgLA?ANwCqz9BZ(wAwnQgTe~DWM4f D#mn(F literal 0 HcmV?d00001 From 28a6b7351d48b741cd3c3068e809430b70d617ed Mon Sep 17 00:00:00 2001 From: hikeislife Date: Tue, 1 Oct 2019 19:38:32 +0200 Subject: [PATCH 010/139] footer --- web/themes/custom/barbell/css/style.css | 83 +++++++++++++++++++++++-- 1 file changed, 79 insertions(+), 4 deletions(-) diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index de625d9..3325c8d 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -94,7 +94,7 @@ header div div .links { } -/* */ +/* PAGE TITLE */ .page-title:before { content:url('../img/page-title-bcg.png'); position: relative; @@ -113,7 +113,82 @@ header div div .links { left: -30px; } -/* .page-title span { - z-index: 50; -} */ +/* MAIN CONTENT */ +.field--name-body { + margin: 0 150px; + font-family: 'Brandon Grotesque Medium'; + font-size: 22px; + text-align: justify; +} + +.field--name-body p strong { + font-family: 'Brandon Grotesque Bold'; + font-size: 22px; +} + +.field--name-body p img { + margin-left: 70px; +} + +/* BUTTON */ +.node__content { + display: grid; +} + +.field--name-field-link-button { + background: var(--yellow); + color: white; + display: inline-block; + text-transform: uppercase; + padding: 20px 40px; + font-size: 20px; + margin: auto; + margin-top: 70px; + align-content: center; + border-radius: 35px; +} + +.field--name-field-link-button a { + color: white; + text-decoration: none; + font-family: 'Brandon Grotesque Medium'; +} + +/* FOOTER */ +.region-footer { /* black bar wrapper */ + display: grid; + width: 100%; + grid-template-columns: 30% auto 20%; + margin-top: 50px; + height: 80px; + background: black; + align-content: center; +} +#block-yearname { + color: var(--yellow); + /* display: inline-block; + width: 100%; */ +} +#block-yearname div { + width: 100%; + margin: 0; + margin-left: 130px; +} +footer div nav { + display: inline; + color: white; + align-self: center; +} + +footer div nav ul li a { + color: gray; + text-decoration: none; + font-family: 'Brandon Grotesque Medium'; + text-transform: uppercase; + font-size: 10px; +} + +#block-mainnavigation, #block-mainnavigation h2, #block-mainnavigation ul, #block-mainnavigation ul li { + display: inline; +} \ No newline at end of file From 1762c413616ce1bbdb13bbfd6174848aa1fe4be7 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Wed, 2 Oct 2019 14:30:59 +0200 Subject: [PATCH 011/139] site branding --- web/temp/.htaccess | 24 ++++++++++++++++++++++++ web/themes/custom/barbell/css/style.css | 10 ++++++++++ web/themes/custom/barbell/img/logo.png | Bin 0 -> 5798 bytes 3 files changed, 34 insertions(+) create mode 100644 web/temp/.htaccess create mode 100644 web/themes/custom/barbell/img/logo.png diff --git a/web/temp/.htaccess b/web/temp/.htaccess new file mode 100644 index 0000000..0e4a69a --- /dev/null +++ b/web/temp/.htaccess @@ -0,0 +1,24 @@ +# Deny all requests from Apache 2.4+. + + Require all denied + + +# Deny all requests from Apache 2.0-2.2. + + Deny from all + + +# Turn off all options we don't need. +Options -Indexes -ExecCGI -Includes -MultiViews + +# Set the catch-all handler to prevent scripts from being executed. +SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006 + + # Override the handler again if we're run later in the evaluation list. + SetHandler Drupal_Security_Do_Not_Remove_See_SA_2013_003 + + +# If we know how to do it safely, disable the PHP engine entirely. + + php_flag engine off + \ No newline at end of file diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 3325c8d..1327f99 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -53,6 +53,9 @@ header div { text-align: right; padding-right: 20px; vertical-align: middle; + background-image: url('../img/logo.png'); + background-repeat: no-repeat; + background-position: right; } #block-barbell-branding a img { @@ -191,4 +194,11 @@ footer div nav ul li a { #block-mainnavigation, #block-mainnavigation h2, #block-mainnavigation ul, #block-mainnavigation ul li { display: inline; +} + +blockquote p { + text-transform: uppercase; + font-family: 'Henry'; + text-align: center; + font-size: 60px; } \ No newline at end of file diff --git a/web/themes/custom/barbell/img/logo.png b/web/themes/custom/barbell/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..48831917d9735126c06e23f7a39aa33d2a20927f GIT binary patch literal 5798 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 Date: Wed, 2 Oct 2019 17:39:51 +0200 Subject: [PATCH 012/139] 'initial' --- backups/backup-2019-09-28T18-44-55.mysql.gz | Bin 225482 -> 0 bytes modules/backup_migrate/.gitignore | 1 + modules/backup_migrate/LICENSE.txt | 339 + modules/backup_migrate/README.md | 23 + .../backup_migrate/backup_migrate.info.yml | 12 + .../backup_migrate.links.action.yml | 23 + .../backup_migrate.links.menu.yml | 5 + .../backup_migrate.links.task.yml | 54 + modules/backup_migrate/backup_migrate.module | 202 + .../backup_migrate.permissions.yml | 19 + .../backup_migrate/backup_migrate.routing.yml | 215 + .../backup_migrate.services.yml | 7 + modules/backup_migrate/composer.json | 19 + ...ckup_migrate_destination.private_files.yml | 8 + ..._migrate.backup_migrate_schedule.daily.yml | 2 + ...grate.backup_migrate_source.default_db.yml | 6 + ...rate.backup_migrate_source.entire_site.yml | 6 + ...te.backup_migrate_source.private_files.yml | 8 + ...ate.backup_migrate_source.public_files.yml | 8 + .../config/schema/backup_migrate.schema.yml | 108 + .../lib/backup_migrate_core/README.md | 129 + .../backup_migrate_core/src/Config/Config.php | 87 + .../src/Config/ConfigInterface.php | 53 + .../src/Config/ConfigurableInterface.php | 72 + .../src/Config/ConfigurableTrait.php | 165 + .../backup_migrate_core/src/Config/README.md | 76 + .../src/Config/ValidationError.php | 74 + .../src/Config/ValidationErrorInterface.php | 31 + .../BrowserDownloadDestination.php | 91 + .../src/Destination/DebugDestination.php | 80 + .../src/Destination/DestinationBase.php | 104 + .../src/Destination/DestinationInterface.php | 18 + .../src/Destination/DirectoryDestination.php | 277 + .../ListableDestinationInterface.php | 60 + .../Destination/NodeSquirrelDestination.php | 212 + .../src/Destination/README.md | 13 + .../ReadableDestinationInterface.php | 59 + .../RemoteDestinationInterface.php | 18 + .../SidecarMetadataDestinationTrait.php | 126 + .../src/Destination/StreamDestination.php | 79 + .../WritableDestinationInterface.php | 24 + .../src/Exception/BackupMigrateException.php | 45 + .../DestinationNotWritableException.php | 19 + .../src/Exception/HttpClientException.php | 14 + .../src/Exception/IgnorableException.php | 18 + .../src/File/BackupFile.php | 158 + .../src/File/BackupFileInterface.php | 115 + .../src/File/BackupFileReadableInterface.php | 72 + .../src/File/BackupFileWritableInterface.php | 72 + .../backup_migrate_core/src/File/README.md | 63 + .../src/File/ReadableStreamBackupFile.php | 197 + .../src/File/TempFileAdapter.php | 115 + .../src/File/TempFileAdapterInterface.php | 35 + .../src/File/TempFileManager.php | 106 + .../src/File/TempFileManagerInterface.php | 64 + .../src/File/WritableStreamBackupFile.php | 112 + .../src/Filter/CompressionFilter.php | 389 + .../src/Filter/DBExcludeFilter.php | 122 + .../src/Filter/FileExcludeFilter.php | 134 + .../src/Filter/FileNamer.php | 120 + .../src/Filter/MetadataWriter.php | 112 + .../backup_migrate_core/src/Filter/Notify.php | 102 + .../src/Main/BackupMigrate.php | 237 + .../src/Main/BackupMigrateInterface.php | 87 + .../backup_migrate_core/src/Main/README.md | 132 + .../src/Plugin/FileProcessorInterface.php | 36 + .../src/Plugin/FileProcessorTrait.php | 69 + .../src/Plugin/PluginBase.php | 66 + .../src/Plugin/PluginCallerInterface.php | 34 + .../src/Plugin/PluginCallerTrait.php | 46 + .../src/Plugin/PluginInterface.php | 62 + .../src/Plugin/PluginManager.php | 199 + .../src/Plugin/PluginManagerInterface.php | 107 + .../backup_migrate_core/src/Plugin/README.md | 129 + .../src/Service/ArchiveReaderInterface.php | 50 + .../src/Service/ArchiveWriterInterface.php | 48 + .../src/Service/ArchiverInterface.php | 57 + .../src/Service/HTTPClientInterface.php | 48 + .../src/Service/Mailer.php | 41 + .../src/Service/MailerInterface.php | 31 + .../src/Service/NodeSquirrelClient.php | 392 + .../src/Service/PhpCurlHttpClient.php | 98 + .../backup_migrate_core/src/Service/README.md | 35 + .../src/Service/ServiceManager.php | 104 + .../src/Service/ServiceManagerInterface.php | 43 + .../src/Service/StashLogger.php | 50 + .../src/Service/TarArchiveReader.php | 400 + .../src/Service/TarArchiveWriter.php | 212 + .../src/Service/TeeLogger.php | 69 + .../src/Source/DatabaseSource.php | 123 + .../src/Source/DatabaseSourceInterface.php | 28 + .../src/Source/FileDirectorySource.php | 287 + .../src/Source/MySQLiSource.php | 455 + .../backup_migrate_core/src/Source/README.md | 11 + .../src/Source/SourceBase.php | 32 + .../src/Source/SourceInterface.php | 35 + .../src/Translation/PassthroughTranslator.php | 46 + .../src/Translation/TranslatableInteface.php | 30 + .../src/Translation/TranslatableTrait.php | 51 + .../src/Translation/TranslatorInterface.php | 31 + .../src/Config/DrupalConfigHelper.php | 278 + .../src/Controller/BackupController.php | 202 + .../src/Controller/DestinationListBuilder.php | 61 + .../src/Controller/ScheduleListBuilder.php | 82 + .../Controller/SettingsProfileListBuilder.php | 30 + .../src/Controller/SourceListBuilder.php | 37 + .../DrupalBrowserDownloadDestination.php | 30 + .../DrupalBrowserUploadDestination.php | 64 + .../DrupalDirectoryDestination.php | 145 + .../backup_migrate/src/Entity/Destination.php | 49 + .../backup_migrate/src/Entity/Schedule.php | 237 + .../src/Entity/SettingsProfile.php | 56 + modules/backup_migrate/src/Entity/Source.php | 46 + .../src/Entity/WrapperEntityBase.php | 133 + .../BackupMigrateDestinationPlugin.php | 55 + .../Annotation/BackupMigrateSourcePlugin.php | 56 + .../EntityPlugins/DestinationPluginBase.php | 21 + .../DestinationPluginInterface.php | 10 + .../DestinationPluginManager.php | 32 + .../src/EntityPlugins/SourcePluginBase.php | 21 + .../EntityPlugins/SourcePluginInterface.php | 10 + .../src/EntityPlugins/SourcePluginManager.php | 34 + .../src/EntityPlugins/WrapperPluginBase.php | 81 + .../EntityPlugins/WrapperPluginInterface.php | 33 + .../src/Environment/DrupalEnvironment.php | 12 + .../Environment/DrupalSetMessageLogger.php | 51 + .../src/File/DrupalTempFileAdapter.php | 70 + .../Filter/DrupalPublicFileExcludeFilter.php | 37 + .../backup_migrate/src/Filter/DrupalUtils.php | 108 + .../src/Form/BackupDeleteForm.php | 93 + .../Form/BackupMigrateAdvancedBackupForm.php | 107 + .../src/Form/BackupMigrateQuickBackupForm.php | 82 + .../src/Form/BackupMigrateRestoreForm.php | 68 + .../src/Form/BackupRestoreForm.php | 97 + .../src/Form/DestinationForm.php | 26 + .../src/Form/EntityDeleteForm.php | 50 + .../src/Form/ScheduleDeleteForm.php | 53 + .../backup_migrate/src/Form/ScheduleForm.php | 148 + .../src/Form/SettingsProfileDeleteForm.php | 53 + .../src/Form/SettingsProfileForm.php | 70 + .../backup_migrate/src/Form/SourceForm.php | 26 + .../src/Form/WrapperEntityForm.php | 123 + .../DirectoryDestinationPlugin.php | 17 + .../DefaultDBSourcePlugin.php | 82 + .../DrupalFilesSourcePlugin.php | 66 + .../EntireSiteSourcePlugin.php | 54 + .../FileDirectorySourcePlugin.php | 17 + .../BackupMigrateSource/MySQLSourcePlugin.php | 17 + .../src/SettingsProfileInterface.php | 12 + .../src/Source/DrupalMySQLiSource.php | 42 + .../src/Source/DrupalPublicFilesSource.php | 28 + .../src/Source/DrupalSiteArchiveSource.php | 146 + .../Functional/BackupMigrateEnablingTest.php | 39 + .../Functional/BackupMigratePageLoadTest.php | 72 + .../BackupMigratePermissionsTest.php | 188 + .../BackupMigrateQuickBackupTest.php | 65 + modules/fontawesome-8.x-2.14.zip | Bin 0 -> 116387 bytes web/modules/fontawesome/LICENSE.txt | 339 + web/modules/fontawesome/README.txt | 104 + web/modules/fontawesome/composer.json | 15 + .../config/install/fontawesome.settings.yml | 10 + .../config/schema/fontawesome.schema.yml | 37 + web/modules/fontawesome/drush.services.yml | 5 + web/modules/fontawesome/fontawesome.info.yml | 12 + web/modules/fontawesome/fontawesome.install | 105 + .../fontawesome/fontawesome.libraries.yml | 125 + .../fontawesome/fontawesome.links.menu.yml | 5 + web/modules/fontawesome/fontawesome.module | 547 + .../fontawesome/fontawesome.routing.yml | 21 + .../icons/drupalfontawesome.png | Bin 0 -> 457 bytes .../icons/hidpi/drupalfontawesome.png | Bin 0 -> 637 bytes .../plugins/drupalfontawesome/plugin.es6.js | 139 + .../js/plugins/drupalfontawesome/plugin.js | 105 + web/modules/fontawesome/metadata/icons.yml | 36204 ++++++++++++++++ .../fontawesome_media.info.yml | 14 + .../media/Source/FontAwesomeIconMedia.php | 100 + .../src/Commands/FontawesomeCommands.php | 105 + .../src/Controller/AutocompleteController.php | 80 + .../fontawesome/src/Form/EditorIconDialog.php | 463 + .../fontawesome/src/Form/SettingsForm.php | 258 + .../CKEditorPlugin/DrupalFontAwesome.php | 64 + .../FontAwesomeIconFormatter.php | 216 + .../Field/FieldType/FontAwesomeIcon.php | 80 + .../FieldWidget/FontAwesomeIconWidget.php | 527 + .../templates/fontawesomeicon.html.twig | 20 + .../templates/fontawesomeicons.html.twig | 19 + web/sites/default/local.services.yml | 175 + .../custom/barbell/css/Henrik-Regular.otf | Bin 0 -> 937772 bytes .../brandon-grotesque-bold-587bd6400afd0.woff | Bin 0 -> 42024 bytes ...randon-grotesque-medium-587bd623e472a.woff | Bin 0 -> 42392 bytes web/themes/custom/barbell/css/style.css | 257 + .../barbell/img/page-title-bcg-med1.png | Bin 0 -> 2848 bytes 192 files changed, 53181 insertions(+) delete mode 100644 backups/backup-2019-09-28T18-44-55.mysql.gz create mode 100644 modules/backup_migrate/.gitignore create mode 100644 modules/backup_migrate/LICENSE.txt create mode 100644 modules/backup_migrate/README.md create mode 100644 modules/backup_migrate/backup_migrate.info.yml create mode 100644 modules/backup_migrate/backup_migrate.links.action.yml create mode 100644 modules/backup_migrate/backup_migrate.links.menu.yml create mode 100644 modules/backup_migrate/backup_migrate.links.task.yml create mode 100644 modules/backup_migrate/backup_migrate.module create mode 100644 modules/backup_migrate/backup_migrate.permissions.yml create mode 100644 modules/backup_migrate/backup_migrate.routing.yml create mode 100644 modules/backup_migrate/backup_migrate.services.yml create mode 100644 modules/backup_migrate/composer.json create mode 100644 modules/backup_migrate/config/install/backup_migrate.backup_migrate_destination.private_files.yml create mode 100644 modules/backup_migrate/config/install/backup_migrate.backup_migrate_schedule.daily.yml create mode 100644 modules/backup_migrate/config/install/backup_migrate.backup_migrate_source.default_db.yml create mode 100644 modules/backup_migrate/config/install/backup_migrate.backup_migrate_source.entire_site.yml create mode 100644 modules/backup_migrate/config/install/backup_migrate.backup_migrate_source.private_files.yml create mode 100644 modules/backup_migrate/config/install/backup_migrate.backup_migrate_source.public_files.yml create mode 100644 modules/backup_migrate/config/schema/backup_migrate.schema.yml create mode 100644 modules/backup_migrate/lib/backup_migrate_core/README.md create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Config/Config.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Config/ConfigInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Config/ConfigurableInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Config/ConfigurableTrait.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Config/README.md create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Config/ValidationError.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Config/ValidationErrorInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Destination/BrowserDownloadDestination.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Destination/DebugDestination.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Destination/DestinationBase.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Destination/DestinationInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Destination/DirectoryDestination.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Destination/ListableDestinationInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Destination/NodeSquirrelDestination.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Destination/README.md create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Destination/ReadableDestinationInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Destination/RemoteDestinationInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Destination/SidecarMetadataDestinationTrait.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Destination/StreamDestination.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Destination/WritableDestinationInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Exception/BackupMigrateException.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Exception/DestinationNotWritableException.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Exception/HttpClientException.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Exception/IgnorableException.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/File/BackupFile.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/File/BackupFileInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/File/BackupFileReadableInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/File/BackupFileWritableInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/File/README.md create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/File/ReadableStreamBackupFile.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/File/TempFileAdapter.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/File/TempFileAdapterInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/File/TempFileManager.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/File/TempFileManagerInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/File/WritableStreamBackupFile.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Filter/CompressionFilter.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Filter/DBExcludeFilter.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Filter/FileExcludeFilter.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Filter/FileNamer.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Filter/MetadataWriter.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Filter/Notify.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Main/BackupMigrate.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Main/BackupMigrateInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Main/README.md create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Plugin/FileProcessorInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Plugin/FileProcessorTrait.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginBase.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginCallerInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginCallerTrait.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginManager.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginManagerInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Plugin/README.md create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Service/ArchiveReaderInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Service/ArchiveWriterInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Service/ArchiverInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Service/HTTPClientInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Service/Mailer.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Service/MailerInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Service/NodeSquirrelClient.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Service/PhpCurlHttpClient.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Service/README.md create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Service/ServiceManager.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Service/ServiceManagerInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Service/StashLogger.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Service/TarArchiveReader.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Service/TarArchiveWriter.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Service/TeeLogger.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Source/DatabaseSource.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Source/DatabaseSourceInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Source/FileDirectorySource.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Source/MySQLiSource.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Source/README.md create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Source/SourceBase.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Source/SourceInterface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Translation/PassthroughTranslator.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Translation/TranslatableInteface.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Translation/TranslatableTrait.php create mode 100644 modules/backup_migrate/lib/backup_migrate_core/src/Translation/TranslatorInterface.php create mode 100644 modules/backup_migrate/src/Config/DrupalConfigHelper.php create mode 100644 modules/backup_migrate/src/Controller/BackupController.php create mode 100644 modules/backup_migrate/src/Controller/DestinationListBuilder.php create mode 100644 modules/backup_migrate/src/Controller/ScheduleListBuilder.php create mode 100644 modules/backup_migrate/src/Controller/SettingsProfileListBuilder.php create mode 100644 modules/backup_migrate/src/Controller/SourceListBuilder.php create mode 100644 modules/backup_migrate/src/Destination/DrupalBrowserDownloadDestination.php create mode 100644 modules/backup_migrate/src/Destination/DrupalBrowserUploadDestination.php create mode 100644 modules/backup_migrate/src/Destination/DrupalDirectoryDestination.php create mode 100644 modules/backup_migrate/src/Entity/Destination.php create mode 100644 modules/backup_migrate/src/Entity/Schedule.php create mode 100644 modules/backup_migrate/src/Entity/SettingsProfile.php create mode 100644 modules/backup_migrate/src/Entity/Source.php create mode 100644 modules/backup_migrate/src/Entity/WrapperEntityBase.php create mode 100644 modules/backup_migrate/src/EntityPlugins/Annotation/BackupMigrateDestinationPlugin.php create mode 100644 modules/backup_migrate/src/EntityPlugins/Annotation/BackupMigrateSourcePlugin.php create mode 100644 modules/backup_migrate/src/EntityPlugins/DestinationPluginBase.php create mode 100644 modules/backup_migrate/src/EntityPlugins/DestinationPluginInterface.php create mode 100644 modules/backup_migrate/src/EntityPlugins/DestinationPluginManager.php create mode 100644 modules/backup_migrate/src/EntityPlugins/SourcePluginBase.php create mode 100644 modules/backup_migrate/src/EntityPlugins/SourcePluginInterface.php create mode 100644 modules/backup_migrate/src/EntityPlugins/SourcePluginManager.php create mode 100644 modules/backup_migrate/src/EntityPlugins/WrapperPluginBase.php create mode 100644 modules/backup_migrate/src/EntityPlugins/WrapperPluginInterface.php create mode 100644 modules/backup_migrate/src/Environment/DrupalEnvironment.php create mode 100644 modules/backup_migrate/src/Environment/DrupalSetMessageLogger.php create mode 100644 modules/backup_migrate/src/File/DrupalTempFileAdapter.php create mode 100644 modules/backup_migrate/src/Filter/DrupalPublicFileExcludeFilter.php create mode 100644 modules/backup_migrate/src/Filter/DrupalUtils.php create mode 100644 modules/backup_migrate/src/Form/BackupDeleteForm.php create mode 100644 modules/backup_migrate/src/Form/BackupMigrateAdvancedBackupForm.php create mode 100644 modules/backup_migrate/src/Form/BackupMigrateQuickBackupForm.php create mode 100644 modules/backup_migrate/src/Form/BackupMigrateRestoreForm.php create mode 100644 modules/backup_migrate/src/Form/BackupRestoreForm.php create mode 100644 modules/backup_migrate/src/Form/DestinationForm.php create mode 100644 modules/backup_migrate/src/Form/EntityDeleteForm.php create mode 100644 modules/backup_migrate/src/Form/ScheduleDeleteForm.php create mode 100644 modules/backup_migrate/src/Form/ScheduleForm.php create mode 100644 modules/backup_migrate/src/Form/SettingsProfileDeleteForm.php create mode 100644 modules/backup_migrate/src/Form/SettingsProfileForm.php create mode 100644 modules/backup_migrate/src/Form/SourceForm.php create mode 100644 modules/backup_migrate/src/Form/WrapperEntityForm.php create mode 100644 modules/backup_migrate/src/Plugin/BackupMigrateDestination/DirectoryDestinationPlugin.php create mode 100644 modules/backup_migrate/src/Plugin/BackupMigrateSource/DefaultDBSourcePlugin.php create mode 100644 modules/backup_migrate/src/Plugin/BackupMigrateSource/DrupalFilesSourcePlugin.php create mode 100644 modules/backup_migrate/src/Plugin/BackupMigrateSource/EntireSiteSourcePlugin.php create mode 100644 modules/backup_migrate/src/Plugin/BackupMigrateSource/FileDirectorySourcePlugin.php create mode 100644 modules/backup_migrate/src/Plugin/BackupMigrateSource/MySQLSourcePlugin.php create mode 100644 modules/backup_migrate/src/SettingsProfileInterface.php create mode 100644 modules/backup_migrate/src/Source/DrupalMySQLiSource.php create mode 100644 modules/backup_migrate/src/Source/DrupalPublicFilesSource.php create mode 100644 modules/backup_migrate/src/Source/DrupalSiteArchiveSource.php create mode 100644 modules/backup_migrate/tests/src/Functional/BackupMigrateEnablingTest.php create mode 100644 modules/backup_migrate/tests/src/Functional/BackupMigratePageLoadTest.php create mode 100644 modules/backup_migrate/tests/src/Functional/BackupMigratePermissionsTest.php create mode 100644 modules/backup_migrate/tests/src/Functional/BackupMigrateQuickBackupTest.php create mode 100644 modules/fontawesome-8.x-2.14.zip create mode 100644 web/modules/fontawesome/LICENSE.txt create mode 100644 web/modules/fontawesome/README.txt create mode 100644 web/modules/fontawesome/composer.json create mode 100644 web/modules/fontawesome/config/install/fontawesome.settings.yml create mode 100644 web/modules/fontawesome/config/schema/fontawesome.schema.yml create mode 100644 web/modules/fontawesome/drush.services.yml create mode 100644 web/modules/fontawesome/fontawesome.info.yml create mode 100644 web/modules/fontawesome/fontawesome.install create mode 100644 web/modules/fontawesome/fontawesome.libraries.yml create mode 100644 web/modules/fontawesome/fontawesome.links.menu.yml create mode 100644 web/modules/fontawesome/fontawesome.module create mode 100644 web/modules/fontawesome/fontawesome.routing.yml create mode 100644 web/modules/fontawesome/js/plugins/drupalfontawesome/icons/drupalfontawesome.png create mode 100644 web/modules/fontawesome/js/plugins/drupalfontawesome/icons/hidpi/drupalfontawesome.png create mode 100644 web/modules/fontawesome/js/plugins/drupalfontawesome/plugin.es6.js create mode 100644 web/modules/fontawesome/js/plugins/drupalfontawesome/plugin.js create mode 100644 web/modules/fontawesome/metadata/icons.yml create mode 100644 web/modules/fontawesome/modules/fontawesome_media/fontawesome_media.info.yml create mode 100644 web/modules/fontawesome/modules/fontawesome_media/src/Plugin/media/Source/FontAwesomeIconMedia.php create mode 100644 web/modules/fontawesome/src/Commands/FontawesomeCommands.php create mode 100644 web/modules/fontawesome/src/Controller/AutocompleteController.php create mode 100644 web/modules/fontawesome/src/Form/EditorIconDialog.php create mode 100644 web/modules/fontawesome/src/Form/SettingsForm.php create mode 100644 web/modules/fontawesome/src/Plugin/CKEditorPlugin/DrupalFontAwesome.php create mode 100644 web/modules/fontawesome/src/Plugin/Field/FieldFormatter/FontAwesomeIconFormatter.php create mode 100644 web/modules/fontawesome/src/Plugin/Field/FieldType/FontAwesomeIcon.php create mode 100644 web/modules/fontawesome/src/Plugin/Field/FieldWidget/FontAwesomeIconWidget.php create mode 100644 web/modules/fontawesome/templates/fontawesomeicon.html.twig create mode 100644 web/modules/fontawesome/templates/fontawesomeicons.html.twig create mode 100644 web/sites/default/local.services.yml create mode 100644 web/themes/custom/barbell/css/Henrik-Regular.otf create mode 100644 web/themes/custom/barbell/css/brandon-grotesque-bold-587bd6400afd0.woff create mode 100644 web/themes/custom/barbell/css/brandon-grotesque-medium-587bd623e472a.woff create mode 100644 web/themes/custom/barbell/img/page-title-bcg-med1.png diff --git a/backups/backup-2019-09-28T18-44-55.mysql.gz b/backups/backup-2019-09-28T18-44-55.mysql.gz deleted file mode 100644 index fd6d4e820f6bb6c1f91309650b4470b8f80aba4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225482 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§xmW32c_kZv|>=VHJ`QjyW0e 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 + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + 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 General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/modules/backup_migrate/README.md b/modules/backup_migrate/README.md new file mode 100644 index 0000000..76c5e72 --- /dev/null +++ b/modules/backup_migrate/README.md @@ -0,0 +1,23 @@ +# Backup and Migrate for Drupal 8 + +The Drupal 8 rebuild of Backup and Migrate (WIP) + +## Installation + +This module uses composer to manage dependencies. To install from this repository: + +Clone the repository into your Drupal site modules directory: + +`git clone git@github.com:backupmigrate/backup_migrate_drupal.git /path/to/site/modules/backup_migrate` + +Change to the module directory: + +`cd /path/to/site/modules/backup_migrate` + +Install using composer + +`composer install` + +Install the module as usual using Drush or the Drupal UI. + +For more information on using composer see: https://getcomposer.org/ diff --git a/modules/backup_migrate/backup_migrate.info.yml b/modules/backup_migrate/backup_migrate.info.yml new file mode 100644 index 0000000..371efdb --- /dev/null +++ b/modules/backup_migrate/backup_migrate.info.yml @@ -0,0 +1,12 @@ +name: 'Backup and Migrate' +description: 'Backup the Drupal database and files or migrate them to another environment.' +package: Other +type: module +# core: 8.x +configure: backup_migrate.quick_backup + +# Information added by Drupal.org packaging script on 2018-03-29 +version: '8.x-4.0' +core: '8.x' +project: 'backup_migrate' +datestamp: 1522330988 diff --git a/modules/backup_migrate/backup_migrate.links.action.yml b/modules/backup_migrate/backup_migrate.links.action.yml new file mode 100644 index 0000000..60a4950 --- /dev/null +++ b/modules/backup_migrate/backup_migrate.links.action.yml @@ -0,0 +1,23 @@ +entity.backup_migrate_schedule.add: + route_name: 'entity.backup_migrate_schedule.add' + title: 'Add Schedule' + appears_on: + - entity.backup_migrate_schedule.collection + +entity.backup_migrate_settings.add_form: + route_name: 'entity.backup_migrate_settings.add' + title: 'Add Settings Profile' + appears_on: + - entity.backup_migrate_settings.collection + +entity.backup_migrate_destination.add_form: + route_name: 'entity.backup_migrate_destination.add_form' + title: 'Add Backup Destination' + appears_on: + - entity.backup_migrate_destination.collection + +entity.backup_migrate_source.add_form: + route_name: 'entity.backup_migrate_source.add_form' + title: 'Add Backup Source' + appears_on: + - entity.backup_migrate_source.collection diff --git a/modules/backup_migrate/backup_migrate.links.menu.yml b/modules/backup_migrate/backup_migrate.links.menu.yml new file mode 100644 index 0000000..1ba9d54 --- /dev/null +++ b/modules/backup_migrate/backup_migrate.links.menu.yml @@ -0,0 +1,5 @@ +backup_migrate.quick_backup: + title: Backup and Migrate + description: '' + parent: system.admin_config_development + route_name: backup_migrate.quick_backup diff --git a/modules/backup_migrate/backup_migrate.links.task.yml b/modules/backup_migrate/backup_migrate.links.task.yml new file mode 100644 index 0000000..b7b054c --- /dev/null +++ b/modules/backup_migrate/backup_migrate.links.task.yml @@ -0,0 +1,54 @@ +backup_migrate.quick_backup: + title: Backup + route_name: backup_migrate.quick_backup + base_route: backup_migrate.quick_backup + +backup_migrate.restore: + title: Restore + route_name: backup_migrate.restore + base_route: backup_migrate.quick_backup + +backup_migrate.backups: + title: Saved Backups + route_name: backup_migrate.backups + base_route: backup_migrate.quick_backup + +backup_migrate.quick_backup_sub: + title: Quick Backup + route_name: backup_migrate.quick_backup + parent_id: backup_migrate.quick_backup + +backup_migrate.advanced_backup: + title: Advanced Backup + route_name: backup_migrate.advanced_backup + parent_id: backup_migrate.quick_backup + +backup_migrate.schedule: + title: Schedules + route_name: entity.backup_migrate_schedule.collection + base_route: backup_migrate.quick_backup + +backup_migrate.settings: + title: Settings + route_name: entity.backup_migrate_settings.collection + base_route: backup_migrate.quick_backup + +backup_migrate.settings_profiles: + title: Settings Profiles + route_name: entity.backup_migrate_settings.collection + base_route: backup_migrate.quick_backup + parent_id: backup_migrate.settings + + +backup_migrate.destination: + title: Destinations + route_name: entity.backup_migrate_destination.collection + base_route: backup_migrate.quick_backup + parent_id: backup_migrate.settings + + +backup_migrate.source: + title: Sources + route_name: entity.backup_migrate_source.collection + base_route: backup_migrate.quick_backup + parent_id: backup_migrate.settings diff --git a/modules/backup_migrate/backup_migrate.module b/modules/backup_migrate/backup_migrate.module new file mode 100644 index 0000000..91b2ed5 --- /dev/null +++ b/modules/backup_migrate/backup_migrate.module @@ -0,0 +1,202 @@ +addPrefix('BackupMigrate\\Core\\', __DIR__ . '/lib/backup_migrate_core/src'); +$loader->addPrefix('BackupMigrate\\Drupal\\', __DIR__ . '/src'); +$loader->register(); + +define('BACKUP_MIGRATE_MODULE_VERSION', '8.x-4.x-dev'); + +/** + * Back up a source to 1 or more destinations. + * + * @param string $source_id + * @param string|array $destination_id + * @param array $config + */ +function backup_migrate_perform_backup($source_id, $destination_id, $config = []) { + try { + // Retrieve the service. + $bam = backup_migrate_get_service_object($config); + + // Run the backup. + $bam->backup($source_id, $destination_id); + drupal_set_message(t('Backup Complete.')); + } + catch (Exception $e) { + drupal_set_message($e->getMessage(), 'error'); + } +} + +/** + * Restore a source from a destination and file id. + * + * @param string $source_id + * @param string|array $destination_id + * @param string|null $file_id + * @param array $config + * @param string $file_id + */ +function backup_migrate_perform_restore($source_id, $destination_id, $file_id = NULL, $config = []) { + try { + // Retrieve the service. + $bam = backup_migrate_get_service_object($config); + + // Run the backup. + $bam->restore($source_id, $destination_id, $file_id); + drupal_set_message(t('Restore Complete.')); + } + catch (Exception $e) { + drupal_set_message($e->getMessage(), 'error'); + return; + } +} + +/** + * Get a BackupMigrate service object. + * + * @param array $config_array + * An array of configuration arrays, keyed by plugin id. + * @param array $options + * A keyed array of options. + * + * @return \BackupMigrate\Core\Main\BackupMigrate + */ +function backup_migrate_get_service_object($config_array = [], $options = []) { + static $bam = NULL; + + // If the static cached object has not been loaded. + if ($bam === NULL) { + // Create the service object. + $bam = new \BackupMigrate\Core\Main\BackupMigrate(); + + // Allow other modules to alter the object. + \Drupal::moduleHandler()->alter('backup_migrate_service_object', $bam, $options); + } + + // Set the configuration overrides if any were passed in. + if ($config_array) { + $bam->setConfig(new Config($config_array)); + } + + return $bam; +} + +/** + * Implements hook_backup_migrate_service_object_alter(). + * + * Add the core Backup and Migrate plugins to the service object. + * + * @param \BackupMigrate\Core\Main\BackupMigrateInterface $bam + * @param array $options + */ +function backup_migrate_backup_migrate_service_object_alter(BackupMigrateInterface &$bam, $options = []) { + $sources = $bam->sources(); + $destinations = $bam->destinations(); + $plugins = $bam->plugins(); + + $services = $bam->services(); + + // Add a temp file manager which can access the drupal temp directory. + $services->add('TempFileAdapter', + new \BackupMigrate\Drupal\File\DrupalTempFileAdapter(\Drupal::service('file_system'), 'temporary://', 'bam') + ); + + $services->add('TempFileManager', + new \BackupMigrate\Core\File\TempFileManager($services->get('TempFileAdapter')) + ); + + // Add a logger which prints everything to the browser. + $services->add('Logger', + new \BackupMigrate\Drupal\Environment\DrupalSetMessageLogger() + ); + + $services->add('ArchiveReader', new \BackupMigrate\Core\Service\TarArchiveReader()); + $services->add('ArchiveWriter', new \BackupMigrate\Core\Service\TarArchiveWriter()); + + // If this is a nobrowser op (cron) then do not add the browser plugins. + // TODO: Make this better. + if (empty($options['nobrowser'])) { + // Add a download destination. + $user = \Drupal::currentUser(); + if ($user->hasPermission('access backup files')) { + $destinations->add('download', new \BackupMigrate\Drupal\Destination\DrupalBrowserDownloadDestination(new Config(['name' => t('Download')]))); + } + // Add an upload destination. + $destinations->add('upload', new \BackupMigrate\Drupal\Destination\DrupalBrowserUploadDestination(new Config(['name' => t('Upload')]))); + } + + // Add a file naming filter. + $plugins->add('namer', new \BackupMigrate\Core\Filter\FileNamer()); + + // Add a compression filter. + $plugins->add('compressor', new \BackupMigrate\Core\Filter\CompressionFilter()); + + // Add the Drupal utilities filter. + $plugins->add('utils', new \BackupMigrate\Drupal\Filter\DrupalUtils()); + + // Add a file metadata filter. + $plugins->add('metadata', new \BackupMigrate\Core\Filter\MetadataWriter( + new Config([ + 'generator' => 'Backup and Migrate for Drupal (https://www.drupal.org/project/backup_migrate)', + 'generatorurl' => 'https://www.drupal.org/project/backup_migrate', + 'generatorversion' => BACKUP_MIGRATE_MODULE_VERSION + ]) + )); + + // Add the custom configured sources. + foreach (Source::loadMultiple() as $source) { + $source->getPlugin()->alterBackupMigrate($bam, $source->get('id'), $options); + } + + // Add the custom configured destination. + foreach (Destination::loadMultiple() as $destination) { + $destination->getPlugin()->alterBackupMigrate($bam, $destination->get('id'), $options); + } +} + +/** + * Implements hook_cron(). + * + * Runs all of the enabled schedules if they are due to be run.. + */ +function backup_migrate_cron() { + $bam = backup_migrate_get_service_object([], ['nobrowser' => TRUE]); + + $schedules = Schedule::loadMultiple(); + foreach ($schedules as $schedule) { + $schedule->run($bam); + } +} + +/** + * Implements hook_form_alter(). + */ +function backup_migrate_form_alter(&$form, FormStateInterface $form_state, $form_id) { + // Label the items being deleted on uninstall to make the 'entire site' listing less terrifying. + if ($form_id === 'system_modules_uninstall_confirm_form') { + if (isset($form['entity_deletes']['backup_migrate_source'])) { + $form['text']['#markup'] .= '

' . t('Uninstalling Backup and Migrate will delete any custom Backup and Migrate configuration. Previously created backups will not be deleted.') . '

'; + } + if (isset($form['entity_deletes']['backup_migrate_source']['#items']['entire_site'])) { + $form['entity_deletes']['backup_migrate_source']['#items']['entire_site'] = t('Full Site Backup Source'); + } + } +} diff --git a/modules/backup_migrate/backup_migrate.permissions.yml b/modules/backup_migrate/backup_migrate.permissions.yml new file mode 100644 index 0000000..eac6528 --- /dev/null +++ b/modules/backup_migrate/backup_migrate.permissions.yml @@ -0,0 +1,19 @@ +'perform backup': + 'title': 'Perform a backup' + 'description': 'Back up any of the available sources.' + restrict access: true + +'access backup files': + 'title': 'Access backup files' + 'description': 'Access and download the previously created backup files.' + restrict access: true + +'restore from backup': + 'title': 'Restore the site' + 'description': 'Restore the site''s database from a backup file.' + restrict access: true + +'administer backup and migrate': + 'title': 'Administer Backup and Migrate' + 'description': 'Edit Backup and Migrate profiles, schedules and destinations.' + restrict access: true diff --git a/modules/backup_migrate/backup_migrate.routing.yml b/modules/backup_migrate/backup_migrate.routing.yml new file mode 100644 index 0000000..70d1c6e --- /dev/null +++ b/modules/backup_migrate/backup_migrate.routing.yml @@ -0,0 +1,215 @@ +backup_migrate.quick_backup: + path: '/admin/config/development/backup_migrate' + defaults: + _form: '\Drupal\backup_migrate\Form\BackupMigrateQuickBackupForm' + _title: 'Backup and Migrate' + requirements: + _permission: 'perform backup' + +backup_migrate.advanced_backup: + path: '/admin/config/development/backup_migrate/advanced' + defaults: + _form: '\Drupal\backup_migrate\Form\BackupMigrateAdvancedBackupForm' + _title: 'Advanced Backup' + requirements: + _permission: 'perform backup' + +backup_migrate.restore: + path: '/admin/config/development/backup_migrate/restore' + defaults: + _form: '\Drupal\backup_migrate\Form\BackupMigrateRestoreForm' + _title: 'Restore' + requirements: + _permission: 'restore from backup' + + +# Backups +backup_migrate.backups: + path: '/admin/config/development/backup_migrate/backups' + defaults: + _controller: '\Drupal\backup_migrate\Controller\BackupController::listAll' + _title: 'Backups' + requirements: + _permission: 'access backup files' + + +# Schedule +entity.backup_migrate_schedule.collection: + path: '/admin/config/development/backup_migrate/schedule' + defaults: + _entity_list: 'backup_migrate_schedule' + _title: 'Schedule' + requirements: + _permission: 'administer backup and migrate' + +entity.backup_migrate_schedule.add: + path: '/admin/config/development/backup_migrate/schedule/add' + defaults: + _entity_form: backup_migrate_schedule.default + _title: 'Add schedule' + requirements: + _permission: 'administer backup and migrate' + +entity.backup_migrate_schedule.edit_form: + path: '/admin/config/development/backup_migrate/schedule/edit/{backup_migrate_schedule}' + defaults: + _entity_form: backup_migrate_schedule.default + _title: 'Edit schedule' + requirements: + _permission: 'administer backup and migrate' + +entity.backup_migrate_schedule.delete_form: + path: '/admin/config/development/backup_migrate/schedule/delete/{backup_migrate_schedule}' + defaults: + _entity_form: backup_migrate_schedule.delete + _title: 'Delete schedule' + requirements: + _permission: 'administer backup and migrate' + + +# Settings Profile +entity.backup_migrate_settings.collection: + path: '/admin/config/development/backup_migrate/settings' + defaults: + _entity_list: 'backup_migrate_settings' + _title: 'Settings' + requirements: + _permission: 'administer backup and migrate' + +entity.backup_migrate_settings.add: + path: '/admin/config/development/backup_migrate/settings/add' + defaults: + _entity_form: backup_migrate_settings.default + _title: 'Add settings profile' + requirements: + _permission: 'administer backup and migrate' + +entity.backup_migrate_settings.edit_form: + path: '/admin/config/development/backup_migrate/settings/edit/{backup_migrate_settings}' + defaults: + _entity_form: backup_migrate_settings.default + _title: 'Edit settings profile' + requirements: + _permission: 'administer backup and migrate' + +entity.backup_migrate_settings.delete_form: + path: '/admin/config/development/backup_migrate/settings/delete/{backup_migrate_settings}' + defaults: + _entity_form: backup_migrate_settings.delete + _title: 'Delete settings profile' + requirements: + _permission: 'administer backup and migrate' + + +# Backup Destination +entity.backup_migrate_destination.collection: + path: '/admin/config/development/backup_migrate/settings/destination' + defaults: + _entity_list: 'backup_migrate_destination' + _title: 'Backup Destination' + requirements: + _permission: 'administer backup and migrate' + +entity.backup_migrate_destination.add_form: + path: '/admin/config/development/backup_migrate/settings/destination/add' + defaults: + _entity_form: backup_migrate_destination.default + _title: 'Add destination' + requirements: + _permission: 'administer backup and migrate' + +entity.backup_migrate_destination.edit_form: + path: '/admin/config/development/backup_migrate/settings/destination/edit/{backup_migrate_destination}' + defaults: + _entity_form: backup_migrate_destination.default + _title: 'Edit destination' + requirements: + _permission: 'administer backup and migrate' + +entity.backup_migrate_destination.delete_form: + path: '/admin/config/development/backup_migrate/settings/destination/delete/{backup_migrate_destination}' + defaults: + _entity_form: backup_migrate_destination.delete + _title: 'Delete destination' + requirements: + _permission: 'administer backup and migrate' + +entity.backup_migrate_destination.backups: + path: '/admin/config/development/backup_migrate/settings/destination/backups/{backup_migrate_destination}' + defaults: + _controller: '\Drupal\backup_migrate\Controller\BackupController::listDestinationEntityBackups' + _title_callback: '\Drupal\backup_migrate\Controller\BackupController::listDestinationEntityBackupsTitle' + requirements: + _permission: 'administer backup and migrate' + options: + parameters: + backup_migrate_destination: + type: entity:backup_migrate_destination + +entity.backup_migrate_destination.backup_delete: + path: '/admin/config/development/backup_migrate/settings/destination/backups/{backup_migrate_destination}/delete/{backup_id}' + defaults: + _form: '\Drupal\backup_migrate\Form\BackupDeleteForm' + requirements: + _permission: 'administer backup and migrate' + options: + parameters: + backup_migrate_destination: + type: entity:backup_migrate_destination + +entity.backup_migrate_destination.backup_download: + path: '/admin/config/development/backup_migrate/settings/destination/backups/{backup_migrate_destination}/download/{backup_id}' + defaults: + _controller: '\Drupal\backup_migrate\Controller\BackupController::download' + _title: 'Downlod Backup' + requirements: + _permission: 'administer backup and migrate' + options: + parameters: + backup_migrate_destination: + type: entity:backup_migrate_destination + +entity.backup_migrate_destination.backup_restore: + path: '/admin/config/development/backup_migrate/settings/destination/backups/{backup_migrate_destination}/restore/{backup_id}' + defaults: + _form: '\Drupal\backup_migrate\Form\BackupRestoreForm' + requirements: + _permission: 'administer backup and migrate' + options: + parameters: + backup_migrate_destination: + type: entity:backup_migrate_destination + + +# Backup Source +entity.backup_migrate_source.collection: + path: '/admin/config/development/backup_migrate/settings/source' + defaults: + _entity_list: 'backup_migrate_source' + _title: 'Backup sources' + requirements: + _permission: 'administer backup and migrate' + +entity.backup_migrate_source.add_form: + path: '/admin/config/development/backup_migrate/settings/source/add' + defaults: + _entity_form: backup_migrate_source.default + _title: 'Add Backup Source' + requirements: + _permission: 'administer backup and migrate' + +entity.backup_migrate_source.edit_form: + path: '/admin/config/development/backup_migrate/settings/source/edit/{backup_migrate_source}' + defaults: + _entity_form: backup_migrate_source.default + _title: 'Edit source' + requirements: + _permission: 'administer backup and migrate' + +entity.backup_migrate_source.delete_form: + path: '/admin/config/development/backup_migrate/settings/source/delete/{backup_migrate_source}' + defaults: + _entity_form: backup_migrate_source.delete + _title: 'Delete source' + requirements: + _permission: 'administer backup and migrate' diff --git a/modules/backup_migrate/backup_migrate.services.yml b/modules/backup_migrate/backup_migrate.services.yml new file mode 100644 index 0000000..f0ab973 --- /dev/null +++ b/modules/backup_migrate/backup_migrate.services.yml @@ -0,0 +1,7 @@ +services: + plugin.manager.backup_migrate_source: + class: BackupMigrate\Drupal\EntityPlugins\SourcePluginManager + parent: default_plugin_manager + plugin.manager.backup_migrate_destination: + class: BackupMigrate\Drupal\EntityPlugins\DestinationPluginManager + parent: default_plugin_manager diff --git a/modules/backup_migrate/composer.json b/modules/backup_migrate/composer.json new file mode 100644 index 0000000..6ed4d33 --- /dev/null +++ b/modules/backup_migrate/composer.json @@ -0,0 +1,19 @@ +{ + "name": "drupal/backup_migrate", + "description": "Backup and Migrate Drupal Module", + "type": "drupal-module", + "license": "GPL-2.0+", + "homepage": "https://www.drupal.org/project/backup_migrate", + "minimum-stability": "dev", + "authors": [ + { + "name": "Ronan Dowling", + "homepage": "https://www.drupal.org/u/ronan", + "role": "Maintainer" + } + ], + "support": { + "issues": "https://www.drupal.org/project/issues/backup_migrate", + "source": "http://cgit.drupalcode.org/backup_migrate" + } +} diff --git a/modules/backup_migrate/config/install/backup_migrate.backup_migrate_destination.private_files.yml b/modules/backup_migrate/config/install/backup_migrate.backup_migrate_destination.private_files.yml new file mode 100644 index 0000000..e697055 --- /dev/null +++ b/modules/backup_migrate/config/install/backup_migrate.backup_migrate_destination.private_files.yml @@ -0,0 +1,8 @@ +langcode: en +status: true +dependencies: { } +id: private_files +label: 'Private Files Directory' +type: Directory +config: + directory: 'private://backup_migrate/' diff --git a/modules/backup_migrate/config/install/backup_migrate.backup_migrate_schedule.daily.yml b/modules/backup_migrate/config/install/backup_migrate.backup_migrate_schedule.daily.yml new file mode 100644 index 0000000..e142a4a --- /dev/null +++ b/modules/backup_migrate/config/install/backup_migrate.backup_migrate_schedule.daily.yml @@ -0,0 +1,2 @@ +id: daily_schedule +label: Daily Schedule diff --git a/modules/backup_migrate/config/install/backup_migrate.backup_migrate_source.default_db.yml b/modules/backup_migrate/config/install/backup_migrate.backup_migrate_source.default_db.yml new file mode 100644 index 0000000..ad00bef --- /dev/null +++ b/modules/backup_migrate/config/install/backup_migrate.backup_migrate_source.default_db.yml @@ -0,0 +1,6 @@ +langcode: en +status: true +dependencies: { } +id: default_db +label: 'Default Drupal Database' +type: DefaultDB diff --git a/modules/backup_migrate/config/install/backup_migrate.backup_migrate_source.entire_site.yml b/modules/backup_migrate/config/install/backup_migrate.backup_migrate_source.entire_site.yml new file mode 100644 index 0000000..65437ce --- /dev/null +++ b/modules/backup_migrate/config/install/backup_migrate.backup_migrate_source.entire_site.yml @@ -0,0 +1,6 @@ +langcode: en +status: true +dependencies: { } +id: entire_site +label: 'Entire Site' +type: EntireSite diff --git a/modules/backup_migrate/config/install/backup_migrate.backup_migrate_source.private_files.yml b/modules/backup_migrate/config/install/backup_migrate.backup_migrate_source.private_files.yml new file mode 100644 index 0000000..c85b03b --- /dev/null +++ b/modules/backup_migrate/config/install/backup_migrate.backup_migrate_source.private_files.yml @@ -0,0 +1,8 @@ +langcode: en +status: true +dependencies: { } +id: private_files +label: 'Private Files Directory' +type: DrupalFiles +config: + directory: 'private://' diff --git a/modules/backup_migrate/config/install/backup_migrate.backup_migrate_source.public_files.yml b/modules/backup_migrate/config/install/backup_migrate.backup_migrate_source.public_files.yml new file mode 100644 index 0000000..591e4b4 --- /dev/null +++ b/modules/backup_migrate/config/install/backup_migrate.backup_migrate_source.public_files.yml @@ -0,0 +1,8 @@ +langcode: en +status: true +dependencies: { } +id: public_files +label: 'Public Files Directory' +type: DrupalFiles +config: + directory: 'public://' diff --git a/modules/backup_migrate/config/schema/backup_migrate.schema.yml b/modules/backup_migrate/config/schema/backup_migrate.schema.yml new file mode 100644 index 0000000..9a795fa --- /dev/null +++ b/modules/backup_migrate/config/schema/backup_migrate.schema.yml @@ -0,0 +1,108 @@ +# Schema for configuration files of the Backup and Migrate module. + +backup_migrate.profile.*: + type: config_entity + label: 'Backup and Migrate settings profile' + mapping: + name: + type: string + label: + type: label + label: 'Label' + label: + type: string + label: 'Filename' + append_timestamp: + type: boolean + label: 'Append Timestamp' + timestamp_format: + type: string + label: 'Timestamp Format' + +backup_migrate.backup_migrate_schedule.*: + type: config_entity + label: 'Backup and Migrate Schedule' + mapping: + id: + type: string + label: 'ID' + label: + type: label + label: 'Schedule Name' + uuid: + type: string + enabled: + type: boolean + label: 'Enabled' + keep: + type: integer + label: 'Backups to keep' + period: + type: integer + label: 'Frequency' + cron: + type: boolean + label: 'Run on cron' + source_id: + type: string + label: 'Source' + destination_id: + type: string + label: 'Destination' + settings_profile_id: + type: string + label: 'Settings Profile' + +backup_migrate.backup_migrate_settings.*: + type: config_entity + label: 'Backup and Migrate Settings Profile' + mapping: + id: + type: string + label: 'ID' + label: + type: label + label: 'Label' + uuid: + type: string + config: + type: mapping + label: 'Configuration' + +backup_migrate.backup_migrate_destination.*: + type: config_entity + label: 'Backup Destination' + mapping: + id: + type: string + label: 'ID' + label: + type: label + label: 'Label' + uuid: + type: string + type: + type: string + label: 'Destination Type' + config: + type: mapping + label: 'Configuration' + +backup_migrate.backup_migrate_source.*: + type: config_entity + label: 'Backup Source' + mapping: + id: + type: string + label: 'ID' + label: + type: label + label: 'Label' + uuid: + type: string + type: + type: string + label: 'Source Type' + config: + type: mapping + label: 'Configuration' diff --git a/modules/backup_migrate/lib/backup_migrate_core/README.md b/modules/backup_migrate/lib/backup_migrate_core/README.md new file mode 100644 index 0000000..fe49733 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/README.md @@ -0,0 +1,129 @@ +# Backup and Migrate Core + +The core functionality for Backup and Migrate. + +Backup and Migrate Core is a PHP-based library which manages the backing up and restoring of resources such as databases and file directories. It is primarily intended for backing up content managed web sites and was originally written as [a Drupal module](https://www.drupal.org/project/backup_migrate). + +This library represents a ground up refactoring and abstraction which allows the core functionality to be used in plugins for other content management systems or for uses beyond CMS-managed websites. + +## Usage + +The following is a simplified version of how to call the library to perform a backup: + + [ + 'host' => '127.0.0.1', + 'database' => 'mydb', + 'user' => 'myuser', + 'password' => 'mypass', + 'port' => '8889', + ], + // Configure the destination. + 'mybackups' => [ + 'directory' => '~/mybackups', + ], + // Configure the compression filter. + 'compressor' => [ + 'compression' => 'gzip', + ], + // Configure the file namer. + 'name' => [ + 'filename' => 'backup', + 'timestamp' => true, + ], + ] + ); + + // Create a new Backup and Migrate object with this configuration. + $bam = new BackupMigrate(null, null, null, $config); + + // Add the database source. This will read the configuration with the same key + $bam->sources()->add('database1', new MySQLiSource()); + // Add the destination. + $bam->destinations()->add('mybackups', new DirectoryDestination()); + + // Add the filters. + $bam->plugins()->add('compression', new CompressionFilter()); + $bam->plugins()->add('name', new FileNamer()); + + // Backup from the 'database1' db to the 'mybackups' directory. + $bam->backup('databse1', 'mybackups'); + +## Reference Implementation +[Backup and Migrate CLI](https://github.com/backupmigrate/backup_migrate_cli) is a simple command-line tool which consumes the Backup and Migrate Core library. It serves as a simple reference implementation. + +## Concepts + +### Dependency Inversion +As much as possible, Backup and Migrate tries to embrace the [Dependency Inversion Principal](https://en.wikipedia.org/wiki/Dependency_inversion_principle). This means that Backup and Migrate Core relies on the consuming application to pass to it all of the pieces it needs to run. This allows the library to run in a wide variety of environments without requiring a lot of hacky internal business logic. This philosophy is balanced against the desire for a pleasant developer experience so that consuming the library does not an excess of tedious boilerplate glue code. + +### The BackupMigrate Object +This `\BackupMigrate\Core\Main\BackupMigrate` object is the main task-runner of the library. It is the primary object that a consuming application interacts with. It contains two primary operation methods: `backup()` and `restore()` which do exactly what you expect them to. The consuming application is responsible for injecting to this object the following: + +* All plugins (sources, destinations, filters) required to run. +* (Optional) The environment dependency injection container. +* (Optional) All necessary configuration. + +See: [Backup and Migrate](https://github.com/backupmigrate/backup_migrate_core/tree/master/src/Main) + +### Plugins +Plugins are the meat of the library. All of the actual work is done by plugins. Plugins come in three types: + +* **Sources** - Items which can be backed up and restored. (e.g: A MySQL database) +* **Destinations** - Places where backup files can be stored. (e.g: A directory on your server) +* **Filters** - Actions that can be performed on backup files after backup or before restore. (e.g: Gzip compression) + +While these three types of plugin are conceptually separate they are technically identical. + +See: [Plugins](https://github.com/backupmigrate/backup_migrate_core/tree/master/src/Plugin) + +##### Sources +Each backup and restore operation works on a single source. For simplicity more than one source may be added to the BackupMigrate object. The source to be backed up is identified by id when `backup()` or `restore()` is called. + +See: [Sources](https://github.com/backupmigrate/backup_migrate_core/tree/master/src/Source) + +##### Destinations +Destinations act the same way as sources. These are the places where the backup files are sent (during `backup()`) or from which they are loaded (during `restore()`). + +See: [Destinations](https://github.com/backupmigrate/backup_migrate_core/tree/master/src/Destination) + +##### Filters +Filters can alter backup files before `restore()` or after `backup()`. Unlike sources and destinations there can be many filters run per operation. + +#### Plugin Managers +A plugin manager maintains a list of injected plugins and configures them and injects services as needed. Consuming software interacts with the plugin manager by calling `plugins()` on the BackupMigrate object. This is the method used to inject plugins into the controller: + + // Create a new BackupMigrate controller. + $bam = new BackupMigrate(); + + // Add a new custom plugin with the id 'mycustomplugin' + $bam->plugins()->add('mycustomplugin', new CustomPlugin()); + +The controller also has a PluginManager for sources and one for destinations. + + // Add a source + $bam->sources()->add('source_id', new CustomSource()); + + // Add a destination + $bam->destinations()->add('destination_id', new CustomDestination()); + +### Configuration +Backup and Migrate Core has very little configuration management built in. It is the responsibility to inject the necessary configuration into the library as a `ConfigInterface` object. If no configuration object is provided then each plugin will use it's configuration defaults. + +See: [Configuration](https://github.com/backupmigrate/backup_migrate_core/tree/master/src/Config) + +### Services +Services are object that provide some global functionality such as logging or temporary file creation. Services are managed and automatically injected by the service manager. A consuming application can add services by passing them to the service manager of the `BackupMigrate` object: + + + // Create a new BackupMigrate controller. + $bam = new BackupMigrate(); + + // Add a new custom plugin with the id 'mycustomplugin' + $bam->services()->add('Logger', new MyCustomLogger()); + +See: [Configuration](https://github.com/backupmigrate/backup_migrate_core/tree/master/src/Services) diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Config/Config.php b/modules/backup_migrate/lib/backup_migrate_core/src/Config/Config.php new file mode 100644 index 0000000..bf35b80 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Config/Config.php @@ -0,0 +1,87 @@ +fromArray($init->toArray()); + } + elseif (is_array($init)) { + $this->fromArray($init); + } + } + + /** + * Get a setting value. + * + * @param string $key The key for the setting. + * @param mixed $default + * The default to return if the value does not exist. + * + * @return mixed The value of the setting. + */ + public function get($key, $default = NULL) { + return $this->keyIsSet($key) ? $this->config[$key] : $default; + } + + /** + * Set a setting value. + * + * @param string $key The key for the setting. + * @param mixed $value The value for the setting. + */ + public function set($key, $value) { + $this->config[$key] = $value; + } + + + /** + * Determine if the given key has had a value set for it. + * + * @param $key + * + * @return bool + */ + public function keyIsSet($key) { + return isset($this->config[$key]); + } + + /** + * Get all settings as an associative array. + * + * @return array All of the settings in this profile + */ + public function toArray() { + return $this->config; + } + + /** + * Set all from an array. + * + * @param array $values An associative array of settings. + */ + public function fromArray($values) { + $this->config = $values; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Config/ConfigInterface.php b/modules/backup_migrate/lib/backup_migrate_core/src/Config/ConfigInterface.php new file mode 100644 index 0000000..c302a62 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Config/ConfigInterface.php @@ -0,0 +1,53 @@ +init = $init; + + // Set the config to a blank object to populate all values with the initial + // and default values. + $this->setConfig(new Config()); + } + + /** + * Set the configuration for all plugins. + * + * @param ConfigInterface $config + * A configuration object containing only configuration for all plugins + */ + public function setConfig(ConfigInterface $config) { + // Set the configuration object to the one passed in. + $this->config = $config; + + // Add the init/default values to the config object so they will always exist. + // @TODO: Make this cascade happen when the config key is requested. + // That will allow read-only or runtime generation config object to be passed + // This would work by creating a CascadeConfig object which takes an array + // of ConfigInterface objects and queries each in order to find the given key. + $defaults = $this->configDefaults(); + $init = $this->init; + foreach ([$init, $defaults] as $config_object) { + foreach ($config_object->toArray() as $key => $value) { + if (!$this->config->keyIsSet($key)) { + $this->config->set($key, $value); + } + } + } + } + + /** + * Get the configuration object for this item. + * + * @return \BackupMigrate\Core\Config\ConfigInterface + */ + public function config() { + return $this->config ? $this->config : new Config(); + } + + /** + * Get the default values for the plugin. + * + * @return \BackupMigrate\Core\Config\Config + */ + public function configDefaults() { + return new Config(); + } + + /** + * Get a default (blank) schema. + * + * @param array $params + * The parameters including: + * - operation - The operation being performed, will be one of: + * - 'backup': Configuration needed during a backup operation + * - 'restore': Configuration needed during a restore + * - 'initialize': Core configuration always needed by this item + * + * @return array + */ + public function configSchema($params = []) { + return []; + } + + /** + * Get any validation errors in the config. + * + * @param array $params + * + * @return array + */ + public function configErrors($params = []) { + $out = []; + + // Do some basic validation based on length and regex matching. + $schema = $this->configSchema($params); + + // Check each specified field. + foreach ($schema['fields'] as $key => $field) { + $value = $this->confGet($key); + + // Check if it's required. + if (!empty($field['required']) && empty($value)) { + $out[] = new ValidationError($key, $this->t('%title is required.'), ['%title' => $field['title']]); + } + + // Check it for length. + if (!empty($field['min_length']) && strlen($value) < $field['min_length']) { + $out[] = new ValidationError($key, $this->t('%title must be at least %count characters.'), ['%title' => $field['title'], '%count' => $field['min_length']]); + } + if (!empty($field['max_length']) && strlen($value) > $field['max_length']) { + $out[] = new ValidationError($key, $this->t('%title must be at no more than %count characters.'), ['%title' => $field['title'], '%count' => $field['max_length']]); + } + + // Check for the regular expression match. + if (!empty($field['must_match']) && !preg_match($field['must_match'], $value)) { + if (!empty($field['must_match_error'])) { + $out[] = new ValidationError($key, $field['must_match_error'], ['%title' => $field['title']]); + } + else { + $out[] = new ValidationError($key, $this->t('%title contains invalid characters.'), ['%title' => $field['title']]); + } + } + } + return $out; + } + + /** + * Get a specific value from the configuration. + * + * @param string $key The configuration object key to retrieve. + * + * @return mixed The configuration value. + */ + public function confGet($key) { + return $this->config()->get($key); + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Config/README.md b/modules/backup_migrate/lib/backup_migrate_core/src/Config/README.md new file mode 100644 index 0000000..323224b --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Config/README.md @@ -0,0 +1,76 @@ +# Configuration + +Backup and Migrate core is configured by the consuming software when the library is instantiated using a `\BackupMigrate\Core\Config\ConfigInterface` object. This object is a simple key-value store which should contain the configuration for each of the available plugins (sources, destinations and filters). Each plugin should have it's own entry in the config object which contains an array of all of the configuration for that item. The key for this entry must be the same as the key assigned to the plugin when it is added to the `BackupMigrate` object using `->plugins()->add()`. + +Any object that implements the `\BackupMigrate\Core\Config\ConfigInterface` may be used to configure Backup and Migrate. For example, a consuming application may want to implement a class that directly accesses the application's persistence layer to retrieve configuration values. In many cases, however the simple default `\BackupMigrate\Core\Config\Config` will suffice. + +## The Config Class +The built in `\BackupMigrate\Core\Config\Config` is a simple implementation of the configuration interface which can be instantiated using a PHP associative array: + + [ + 'host' => '127.0.0.1', + 'database' => 'mydb', + 'user' => 'myuser', + 'password' => 'mypass', + 'port' => '8889', + ], + // Configure the compression filter. + 'compressor' => [ + 'compression' => 'gzip', + ], + // Add more filter, source and destination configuration. + ] + ); + + $plugins = new PluginManager(); + + // Add the database source. This will read the configuration with the same key ('database1') + plugins->add( + 'database1', + new \BackupMigrate\Core\Source\MySQLiSource() + ); + // Add the compression plugin. + plugins->add( + 'compressor', + new \BackupMigrate\Core\Filter\CompressionFilter() + ); + // Add more filters and a destination. + ... + + + // Create a new Backup and Migrate object with this configuration. + $bam = new BackupMigrate($plugins); + + $bam->backup('database1', 'somedestination'); + +## Initial Config vs. Run-time Config ## + +A plugin may have two types of configuration: initial configuration, added when the plugin is created, and run-time configuration, added later by the plugin manager. Initial configuration can be overriden by run-time configuration but it cannot be overwritten by run-time config. That means that you can reconfigure plugins after the plugin manager has been created but the initial configuration will not be permanently overwriten. + +An example that illustrates the difference is a database source plugin. The database connection information should not change per operation and should be considered initial configuration. The list of tables to exclude during a backup, or whether the tables should be locked during a restore may change from run to run and should be run-time configuration. + +To specify initial configuration pass it to the plugin's constructor: + + // The db credentials are passed in to the constructor and are permanent. + $plugins->add( + 'main_database', + new MySQLiSource(new Config([ + 'database' => '...', + 'username' => '...', + ... + ]) + ); + + // Setting this configuration will not overwrite the db credentials. + $plugins->setConfig(new Config([ + 'main_database' => [ + 'exclude_tables' => [...], + ]); + diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Config/ValidationError.php b/modules/backup_migrate/lib/backup_migrate_core/src/Config/ValidationError.php new file mode 100644 index 0000000..5f95997 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Config/ValidationError.php @@ -0,0 +1,74 @@ +field_key = $field_key; + $this->message = $message; + $this->replacement = $replacement; + } + + /** + * @return string + */ + public function getMessage() { + return $this->message; + } + + /** + * @return array + */ + public function getReplacement() { + return $this->replacement; + } + + /** + * @return string + */ + public function getFieldKey() { + return $this->field_key; + } + + /** + * String representation of the exception. + * + * @return string the string representation of the exception. + */ + public function __toString() { + return strtr($this->getMessage(), $this->getReplacement()); + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Config/ValidationErrorInterface.php b/modules/backup_migrate/lib/backup_migrate_core/src/Config/ValidationErrorInterface.php new file mode 100644 index 0000000..0149418 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Config/ValidationErrorInterface.php @@ -0,0 +1,31 @@ + 'Content-Disposition', 'value' => 'attachment; filename="' . $file->getFullName() . '"'], + ['key' => 'Cache-Control', 'value' => 'no-cache'], + ]; + + // Set a mime-type header. + if ($mime = $file->getMeta('mimetype')) { + $headers[] = ['key' => 'Content-Type', 'value' => $mime]; + } + else { + // Get the mime type for this file if possible. + $mime = 'application/octet-stream'; + $mime = $this->plugins()->call('alterMime', $mime, ['ext' => $file->getExtLast()]); + + $headers[] = ['key' => 'Content-Type', 'value' => $mime]; + } + + // In some circumstances, web-servers will double compress gzipped files. + // This may help aleviate that issue by disabling mod-deflate. + if ($file->getMeta('mimetype') == 'application/x-gzip') { + if (function_exists('apache_setenv')) { + apache_setenv('no-gzip', '1'); + } + $headers[] = ['key' => 'Content-Encoding', 'value' => 'gzip']; + } + if ($size = $file->getMeta('filesize')) { + $headers[] = ['key' => 'Content-Length', 'value' => $size]; + } + + // Suppress the warning you get when the buffer is empty. + @ob_end_clean(); + + if ($file->openForRead()) { + foreach ($headers as $header) { + // To prevent HTTP header injection, we delete new lines that are + // not followed by a space or a tab. + // See http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2 + $header['value'] = preg_replace('/\r?\n(?!\t| )/', '', $header['value']); + header($header['key'] . ': ' . $header['value']); + } + // Transfer file in 1024 byte chunks to save memory usage. + while ($data = $file->readBytes(1024 * 512)) { + print $data; + } + $file->close(); + } + // @TODO Throw exception. + } + + /** + * {@inheritdoc} + */ + public function checkWritable() { + // Check that we're running as a web process via a browser. + // @TODO: we could check if the 'HTTP_ACCEPT' header contains the right mime but that is probably overkill. + if (!isset($_SERVER['REQUEST_METHOD'])) { + throw new DestinationNotWritableException( + "The download destination only works when accessed through a http client." + ); + } + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Destination/DebugDestination.php b/modules/backup_migrate/lib/backup_migrate_core/src/Destination/DebugDestination.php new file mode 100644 index 0000000..6192279 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Destination/DebugDestination.php @@ -0,0 +1,80 @@ +confGet('format') == 'html') { + print '
';
+    }
+
+    // Output the metadata.
+    if ($this->confGet('showmeta')) {
+      print "---------------------\n";
+      print "Metadata: \n";
+      print_r($file->getMetaAll());
+      print "---------------------\n";
+    }
+
+    // Output the body.
+    if ($this->confGet('showbody')) {
+      print "---------------------\n";
+      print "Body: \n";
+
+      $max = $this->confGet('maxbody');
+      $chunk = min($max, 1024);
+      if ($file->openForRead()) {
+        // Transfer file in 1024 byte chunks to save memory usage.
+        while ($max > 0 && $data = $file->readBytes($chunk)) {
+          print $data;
+          $max -= $chunk;
+        }
+        $file->close();
+      }
+      print "---------------------\n";
+    }
+
+    // Quick and dirty way to html format this output.
+    if ($this->confGet('format') == 'html') {
+      print '
'; + } + + exit; + } + + /** + * Get the default values for the plugin. + * + * @return \BackupMigrate\Core\Config\Config + */ + public function configDefaults() { + return new Config([ + 'showmeta' => TRUE, + 'showbody' => TRUE, + 'maxbody' => 1024 * 16, + 'format' => 'text', + ]); + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Destination/DestinationBase.php b/modules/backup_migrate/lib/backup_migrate_core/src/Destination/DestinationBase.php new file mode 100644 index 0000000..cc6223f --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Destination/DestinationBase.php @@ -0,0 +1,104 @@ +_saveFile($file); + $this->_saveFileMetadata($file); + } + + /** + * {@inheritdoc} + */ + public function loadFileMetadata(BackupFileInterface $file) { + // If this file is already loaded, simply return it. + // @TODO: fix this inappropriate use of file metadata. + if (!$file->getMeta('metadata_loaded')) { + $metadata = $this->_loadFileMetadataArray($file); + $file->setMetaMultiple($metadata); + $file->setMeta('metadata_loaded', TRUE); + } + return $file; + } + + /** + * {@inheritdoc} + */ + public function deleteFile($id) { + return $this->_deleteFile($id); + } + + /** + * {@inheritdoc} + */ + public function isRemote() { + return FALSE; + } + + /** + * {@inheritdoc} + */ + public function checkWritable() { + throw new DestinationNotWritableException('The specified destination cannot be written to.'); + } + + /** + * Do the actual delete for a file. + * + * @param string $id The id of the file to delete. + */ + abstract protected function _deleteFile($id); + + /** + * Do the actual file save. Should take care of the actual creation of a file + * in the destination without regard for metadata. + * + * @param \BackupMigrate\Core\File\BackupFileReadableInterface $file + */ + abstract protected function _saveFile(BackupFileReadableInterface $file); + + /** + * Do the metadata save. This function is called to save the data file AND + * the metadata sidecar file. + * + * @param \BackupMigrate\Core\File\BackupFileInterface $file + */ + abstract protected function _saveFileMetadata(BackupFileInterface $file); + + /** + * Load the actual metadata for the file. + * + * @param \BackupMigrate\Core\File\BackupFileInterface $file + */ + abstract protected function _loadFileMetadataArray(BackupFileInterface $file); + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Destination/DestinationInterface.php b/modules/backup_migrate/lib/backup_migrate_core/src/Destination/DestinationInterface.php new file mode 100644 index 0000000..df1f1a4 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Destination/DestinationInterface.php @@ -0,0 +1,18 @@ +_saveFile($file); + $this->_saveFileMetadata($file); + } + + /** + * {@inheritdoc} + */ + public function checkWritable() { + $this->checkDirectory(); + } + + /** + * Get a definition for user-configurable settings. + * + * @param array $params + * + * @return array + */ + public function configSchema($params = []) { + $schema = []; + + // Init settings. + if ($params['operation'] == 'initialize') { + $schema['fields']['directory'] = [ + 'type' => 'text', + 'title' => $this->t('Directory Path'), + ]; + } + + return $schema; + } + + + /** + * Do the actual file save. This function is called to save the data file AND + * the metadata sidecar file. + * + * @param \BackupMigrate\Core\File\BackupFileReadableInterface $file + * + * @throws \BackupMigrate\Core\Exception\BackupMigrateException + */ + function _saveFile(BackupFileReadableInterface $file) { + // Check if the directory exists. + $this->checkDirectory(); + + copy($file->realpath(), $this->_idToPath($file->getFullName())); + // @TODO: use copy/unlink if the temp file and the destination do not share a stream wrapper. + } + + /** + * Check that the directory can be used for backup. + * + * @throws \BackupMigrate\Core\Exception\BackupMigrateException + */ + protected function checkDirectory() { + $dir = $this->confGet('directory'); + + // Check if the directory exists. + if (!file_exists($dir)) { + throw new DestinationNotWritableException( + "The backup file could not be saved to '%dir' because it does not exist.", + ['%dir' => $dir] + ); + } + + // Check if the directory is writable. + if (!is_writable($this->confGet('directory'))) { + throw new DestinationNotWritableException( + "The backup file could not be saved to '%dir' because Backup and Migrate does not have write access to that directory.", + ['%dir' => $dir] + ); + } + } + + /** + * {@inheritdoc} + */ + public function getFile($id) { + if ($this->fileExists($id)) { + $out = new BackupFile(); + $out->setMeta('id', $id); + $out->setFullName($id); + return $out; + } + return NULL; + } + + /** + * {@inheritdoc} + */ + public function loadFileForReading(BackupFileInterface $file) { + // If this file is already readable, simply return it. + if ($file instanceof BackupFileReadableInterface) { + return $file; + } + + $id = $file->getMeta('id'); + if ($this->fileExists($id)) { + return new ReadableStreamBackupFile($this->_idToPath($id)); + } + return NULL; + } + + /** + * {@inheritdoc} + */ + public function listFiles() { + $dir = $this->confGet('directory'); + $out = []; + + // Get the entire list of filenames. + $files = $this->_getAllFileNames(); + + foreach ($files as $file) { + $filepath = $dir . '/' . $file; + $out[$file] = new ReadableStreamBackupFile($filepath); + } + + return $out; + } + + /** + * {@inheritdoc} + */ + public function queryFiles( + $filters = [], + $sort = 'datestamp', + $sort_direction = SORT_DESC, + $count = 100, + $start = 0 + ) { + + // Get the full list of files. + $out = $this->listFiles($count + $start); + foreach ($out as $key => $file) { + $out[$key] = $this->loadFileMetadata($file); + } + + // Filter the output. + if ($filters) { + $out = array_filter($out, function($file) use ($filters) { + foreach ($filters as $key => $value) { + if ($file->getMeta($key) !== $value) { + return FALSE; + } + } + return TRUE; + }); + } + + // Sort the files. + if ($sort && $sort_direction) { + uasort($out, function ($a, $b) use ($sort, $sort_direction) { + if ($sort_direction == SORT_DESC) { + return $b->getMeta($sort) < $b->getMeta($sort); + } + else { + return $b->getMeta($sort) > $b->getMeta($sort); + } + }); + } + + // Slice the return array. + if ($count || $start) { + $out = array_slice($out, $start, $count); + } + + return $out; + } + + + /** + * @return int The number of files in the destination. + */ + public function countFiles() { + $files = $this->_getAllFileNames(); + return count($files); + } + + + /** + * {@inheritdoc} + */ + public function fileExists($id) { + return file_exists($this->_idToPath($id)); + } + + /** + * {@inheritdoc} + */ + public function _deleteFile($id) { + if ($file = $this->getFile($id)) { + if ($file = $this->loadFileForReading($file)) { + return unlink($file->realpath()); + } + } + return FALSE; + } + + /** + * Return a file path for the given file id. + * + * @param $id + * + * @return string + */ + protected function _idToPath($id) { + return rtrim($this->confGet('directory'), '/') . '/' . $id; + } + + /** + * Get the entire file list from this destination. + * + * @return array + */ + protected function _getAllFileNames() { + $files = []; + + // Read the list of files from the directory. + $dir = $this->confGet('directory'); + + /** @var \Drupal\Core\File\FileSystemInterface $fileSystem */ + $fileSystem = \Drupal::service('file_system'); + $scheme = $fileSystem->uriScheme($dir); + + // Ensure the stream is configured. + if (!$fileSystem->validScheme($scheme)) { + drupal_set_message(t('Your @scheme stream is not configured.', [ + '@scheme' => $scheme . '://' + ]), 'warning'); + return $files; + } + + if ($handle = opendir($dir)) { + while (FALSE !== ($file = readdir($handle))) { + $filepath = $dir . '/' . $file; + // Don't show hidden, unreadable or metadata files. + if (substr($file, 0, 1) !== '.' && is_readable($filepath) && substr($file, strlen($file) - 5) !== '.info') { + $files[] = $file; + } + } + } + + return $files; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Destination/ListableDestinationInterface.php b/modules/backup_migrate/lib/backup_migrate_core/src/Destination/ListableDestinationInterface.php new file mode 100644 index 0000000..db2c33f --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Destination/ListableDestinationInterface.php @@ -0,0 +1,60 @@ + 'text', + 'title' => $this->t('Secret Key'), + ]; + } + + return $schema; + } + + /** + * {@inheritdoc} + */ + public function checkWritable() { + return TRUE; + } + + /** + * Do the actual delete for a file. + * + * @param string $id The id of the file to delete. + */ + protected function _deleteFile($id) { + $this->getClient()->deleteFile($id); + } + + /** + * Do the actual file save. Should take care of the actual creation of a file + * in the destination without regard for metadata. + * + * @param \BackupMigrate\Core\File\BackupFileReadableInterface $file + * + * @return null + */ + protected function _saveFile(BackupFileReadableInterface $file) { + $this->getClient()->uploadFile($file); + } + + /** + * Do the metadata save. + * + * @param \BackupMigrate\Core\File\BackupFileInterface $file + */ + protected function _saveFileMetadata(BackupFileInterface $file) { + // Metadata is saved during the file upload process. Nothing to do here. + } + + /** + * Load the actual metadata for the file. + * + * @param \BackupMigrate\Core\File\BackupFileInterface $file + */ + protected function _loadFileMetadataArray(BackupFileInterface $file) { + // Metadata is fetched with the listing. There is no more to be fetched. + } + + /** + * Get a file object representing the file with the given ID from the destination. + * This file item will not necessarily be readable nor will it have extended + * metadata loaded. Use loadForReading and loadFileMetadata to get those. + * + * @TODO: Decide if extended metadata should ALWAYS be loaded here. + * + * @param string $id The unique identifier for the file. Usually the filename. + * + * @return \BackupMigrate\Core\File\BackupFileInterface + * The file if it exists or NULL if it doesn't + */ + public function getFile($id) { + // There is no way to fetch file info for a single file so we load them all. + $files = $this->listFiles(); + if (isset($files[$id])) { + return $files[$id]; + } + return NULL; + } + + /** + * Load the file with the given ID from the destination. + * + * @param \BackupMigrate\Core\File\BackupFileInterface $file + * + * @return \BackupMigrate\Core\File\BackupFileReadableInterface The file if it exists or NULL if it doesn't + */ + public function loadFileForReading(BackupFileInterface $file) { + // TODO: Implement loadFileForReading() method. + } + + /** + * Does the file with the given id (filename) exist in this destination. + * + * @param string $id The id (usually the filename) of the file. + * + * @return bool True if the file exists, false if it does not. + */ + public function fileExists($id) { + return (boolean) $this->getFile($id); + } + + /** + * Return a list of files from the destination. This list should be + * date ordered from newest to oldest. + * + * @param int $count + * @param int $start + * + * @return BackupFileInterface[] + * An array of BackupFileInterface objects representing the files with + * the file ids as keys. The file ids are usually file names but that + * is up to the implementing destination to decide. The returned files + * may not be readable. Use loadFileForReading to get a readable file. + */ + public function listFiles($count = 100, $start = 0) { + $file_list = $this->getClient()->listFiles(); + + $files = []; + foreach ((array) $file_list as $file) { + $out = new BackupFile(); + $out->setMeta('id', $file['filename']); + $out->setMetaMultiple($file); + $out->setFullName($file['filename']); + $files[$file['filename']] = $out; + } + return $files; + } + + /** + * @return int The number of files in the destination. + */ + public function countFiles() { + $file_list = $this->getClient()->listBackups(); + return count($file_list); + } + + /** + * Get the client class. + * + * @return \BackupMigrate\Core\Service\NodeSquirrelClient|null + * + * @throws \BackupMigrate\Core\Exception\BackupMigrateException + */ + protected function getClient() { + if ($this->client == NULL) { + $secret = $this->confGet('secret_key'); + if (!$secret) { + throw new BackupMigrateException('You must enter a secret key in order to use NodeSquirrel.'); + } + $this->client = new NodeSquirrelClient( + $this->confGet('secret_key'), + $this->confGet('api_endpoints', ['api.nodesquirrel.com']) + ); + } + return $this->client; + } + + /** + * Inject the client helper class. + * + * @param \BackupMigrate\Core\Service\NodeSquirrelClient $client + */ + public function setNodeSquirrelClient(NodeSquirrelClient $client) { + $this->client = $client; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Destination/README.md b/modules/backup_migrate/lib/backup_migrate_core/src/Destination/README.md new file mode 100644 index 0000000..5dd8bc2 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Destination/README.md @@ -0,0 +1,13 @@ +# Destinations + +A destination in Backup and Migrate is the place where backup files are sent after they are created or where they are read from during a restore. The simplest example of a destination would be a directory on your web server. + +An object implementing the `\BackupMigrate\Core\Destination\DestinationInterface` can be used as a destination and is responsible for persisting a file using the given id (generally the filename). It is also responsible for returning the same file given the same file id. + +Destinations in Backup and Migrate are implemented as plugins and will have dependencies and configuration injected into them by the Plugin Manager. + +Like other plugins, destinations are passed to the Backup and Migrate object by the consuming application by calling the `add()` method on the plugin manager. + + $backup_migrate->destinations()->add('destination1', new MyDestinationPlugin()); + +A single Backup and Migrate instance can have more than one destination of a given type. Each destination will have a unique key that will be used to pass the configuration to the destination object as well as to specify the destination(s) when running a `backup()` or `restore()` operation. Only one destination will be used during each backup or restore operation. diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Destination/ReadableDestinationInterface.php b/modules/backup_migrate/lib/backup_migrate_core/src/Destination/ReadableDestinationInterface.php new file mode 100644 index 0000000..42c2e69 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Destination/ReadableDestinationInterface.php @@ -0,0 +1,59 @@ +getFullName(); + $filename = $id . '.info'; + if ($this->fileExists($filename)) { + $meta_file = $this->getFile($filename); + $meta_file = $this->loadFileForReading($meta_file); + $info = $this->_INIToArray($meta_file->readAll()); + } + return $info; + } + + /** + * {@inheritdoc} + */ + protected function _saveFileMetadata(BackupFileInterface $file) { + // Get the file metadata and convert to INI format. + $meta = $file->getMetaAll(); + $ini = $this->_arrayToINI($meta); + + // Create an info file. + $meta_file = $this->getTempFileManager()->pushExt($file, 'info'); + $meta_file->write($ini); + + // Save the metadata. + $this->_saveFile($meta_file); + } + + /** + * {@inheritdoc} + */ + public function deleteFile($id) { + $this->_deleteFile($id); + $this->_deleteFile($id . '.info'); + } + + /** + * Parse an INI file's contents. + * + * For simplification this function only parses the simple subset of INI + * syntax generated by SidecarMetadataDestinationTrait::_arrayToINI(); + * + * @param $ini + * + * @return array + */ + protected function _INIToArray($ini) { + $out = []; + $lines = explode("\n", $ini); + foreach ($lines as $line) { + $line = trim($line); + // Skip comments (even though there probably won't be any. + if (substr($line, 0, 1) == ';') { + continue; + } + + // Match the key and value using a simplified syntax. + $matches = []; + if (preg_match('/^([^=]+)\s?=\s?"(.*)"$/', $line, $matches)) { + $key = $matches[1]; + $val = $matches[2]; + + // Break up a key in the form a[b][c] + $keys = explode('[', $key); + $insert = &$out; + foreach ($keys as $part) { + $part = trim($part, ' ]'); + $insert[$part] = ''; + $insert = &$insert[$part]; + } + $insert = $val; + } + } + + return $out; + } + + /** + * @param $data + * @param string $prefix + * @return string + */ + protected function _arrayToINI($data, $prefix = '') { + $content = ""; + foreach ($data as $key => $val) { + if ($prefix) { + $key = $prefix . '[' . $key . ']'; + } + if (is_array($val)) { + $content .= $this->_arrayToINI($val, $key); + } + else { + $content .= $key . " = \"" . $val . "\"\n"; + } + } + return $content; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Destination/StreamDestination.php b/modules/backup_migrate/lib/backup_migrate_core/src/Destination/StreamDestination.php new file mode 100644 index 0000000..905ada7 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Destination/StreamDestination.php @@ -0,0 +1,79 @@ +confGet('streamuri'); + if ($fp_out = fopen($stream_uri, 'w')) { + $file->openForRead(); + while ($data = $file->readBytes(1024 * 512)) { + fwrite($fp_out, $data); + } + fclose($fp_out); + $file->close(); + } + else { + throw new \Exception("Cannot open the file $stream_uri for writing"); + } + } + + /** + * {@inheritdoc} + */ + public function checkWritable() { + $stream_uri = $this->confGet('streamuri'); + + // The stream must exist. + if (!file_exists($stream_uri)) { + throw new DestinationNotWritableException('The file stream !uri does not exist.', ['%uri' => $stream_uri]); + } + + // The stream must be writable. + if (!file_exists($stream_uri)) { + throw new DestinationNotWritableException('The file stream !uri cannot be written to.', ['%uri' => $stream_uri]); + } + } + /** + * {@inheritdoc} + */ + public function getFile($id) { + return NULL; + } + + /** + * {@inheritdoc} + */ + public function loadFileMetadata(BackupFileInterface $file) { + return $file; + } + + /** + * {@inheritdoc} + */ + public function loadFileForReading(BackupFileInterface $file) { + return $file; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Destination/WritableDestinationInterface.php b/modules/backup_migrate/lib/backup_migrate_core/src/Destination/WritableDestinationInterface.php new file mode 100644 index 0000000..13ca6e0 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Destination/WritableDestinationInterface.php @@ -0,0 +1,24 @@ +replacement = $replacement; + $this->message_raw = $message; + + // Send the replaced message to the parent constructor to act as normal in most cases. + parent::__construct(strtr($message, $replacement), $code); + } + + /** + * Get the unmodified message with replacement tokens. + * + * @return null|string + */ + public function getMessageRaw() { + return $this->message_raw; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Exception/DestinationNotWritableException.php b/modules/backup_migrate/lib/backup_migrate_core/src/Exception/DestinationNotWritableException.php new file mode 100644 index 0000000..7da63ec --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Exception/DestinationNotWritableException.php @@ -0,0 +1,19 @@ +metadata[$key]) ? $this->metadata[$key] : NULL; + } + + /** + * Set a metadata value. + * + * @param string $key The key for the metadata item. + * @param mixed $value The value for the metadata item. + */ + public function setMeta($key, $value) { + $this->metadata[$key] = $value; + } + + /** + * Set a metadata value. + * + * @param array $values An array of key-value pairs for the file metadata. + */ + public function setMetaMultiple($values) { + foreach ((array) $values as $key => $value) { + $this->setMeta($key, $value); + } + } + + /** + * Get all metadata. + * + * @param array $values An array of key-value pairs for the file metadata. + * + * @return array + */ + public function getMetaAll() { + return $this->metadata; + } + + /** + * {@inheritdoc} + */ + public function setName($name) { + $this->name = $name; + } + + /** + * {@inheritdoc} + */ + public function getName() { + return $this->name; + } + + /** + * {@inheritdoc} + */ + public function getFullName() { + return rtrim($this->name . '.' . implode($this->getExtList(), '.')); + } + + /** + * {@inheritdoc} + */ + public function setFullName($fullname) { + // Break the file name into name and extension array. + $parts = explode('.', $fullname); + $this->setName(array_shift($parts)); + $this->setExtList($parts); + } + + + /** + * {@inheritdoc} + */ + public function getExtList() { + return $this->ext; + } + + /** + * {@inheritdoc} + */ + public function getExtLast() { + return end($this->ext); + } + + /** + * {@inheritdoc} + */ + public function getExt() { + return implode($this->getExtList(), '.'); + } + + /** + * @param array $ext + * The list of file extensions for the file* The list of file extensions for the file + */ + public function setExtList($ext) { + $this->ext = array_filter($ext); + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/File/BackupFileInterface.php b/modules/backup_migrate/lib/backup_migrate_core/src/File/BackupFileInterface.php new file mode 100644 index 0000000..61b43d3 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/File/BackupFileInterface.php @@ -0,0 +1,115 @@ + '~/mybackups']); + $file = $destination->getFile('databse.mysql'); + + // This object has metadata but the contents cannot neccessarily be read. + if ($file && $file->getMeta('filesize') > 1000) { + + // To read the file we must allow the destination to load it for us if needed. + $file = $destination->loadFileForReading($file); + + // The file contents should now be available to us. + if ($file) { + echo $file->readAll(); + } + } + +### BackupFileWriteableInterface +This subclass can be read from AND written to. Writable files in Backup and Migrate are always temporary files and must be created by the TempFileManager. Source plugins will create an empty temporary file to write the backup to while file filter plugins (like compression or encryption filters) will create a new temporary file and copy the contents from the input file to the new output file. The file that results at the end of the plugin chain will either be used to restore to the source (restore operation) or sent to a destination to be persisted (backup operation). Because plugins are responsible for creating new temporary writable files as needed, they should never require a writable file as input or promise one as a return value. + +## The Temporary File Manager +All writable files must be created by the Temporary File Manager. This class can create a new blank file with a given file extension. The standard flow of file filters is a chain where one filter hands a file to the next which copies the data to a new file and hands that on. For example, the MySQL source generates a new database dump file which gets handed to an encryption filter which copies the metadata to a new file containing the encrypted data. That file is then passed to a compression filter which creates a new compressed version of the file which is finally handed off to a destination for saving. At each step along the way a new file is created with an a new extension appended to the end: + + file.mysql -> file.mysql.aes -> file.mysql.aes.gz + +To facilitate this the Temporary File Manager takes care of the details of copying file metadata and provisioning a new temporary file with the new file extension to write the modified data to. A compressor plugin might do something like this: + + function afterBackup($file_in) { + // Get a new file with '.gz' added to the end of the filename. + $file_out = $this->getTempFileManager()->pushExt($file_in, 'gz'); + if ($this->doCompress($file_in, $file_out)) { + return $file_out; + } + // Compression failed, return the original + return $file_in; + } + +Similarly `$this->getTempFileManager()->popExt()` will pull the last item from the file extension and return a blank file for decompression prior to import. + +See [Plugins](https://github.com/backupmigrate/backup_migrate_core/tree/master/src/Plugin) for details on how to make the Temporary File Manager accessible within a plugin. + +### The Temporary File Adapter ### +While the file manager takes care of the metadata of temporary files, it cannot provision actual on-disk files to write to. That is because that operation will be different depending on where the code is run and is therefore the responsibility of the [Environment](https://github.com/backupmigrate/backup_migrate_core/tree/master/src/Environment) object. The environment provides a service called called the Temporary File Adaptor (an object whose class which implements `\BackupMigrate\Core\Services\TempFileAdapterInterface`). The job of this class is to provision actual temporary files in the host operating system that can be written to and read from. That service is also responsible for tracking all of the files that have been created during the running of an operation and deleting those files when the operation completes. Backup and Migrate core comes with a basic adapter which accepts any writable directory as an argument and creates new temporary files within that directory. This implementation should suffice for most consuming software but can be replaced with another adapter if needed. + +See: [Environment](https://github.com/backupmigrate/backup_migrate_core/tree/master/src/Environment) diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/File/ReadableStreamBackupFile.php b/modules/backup_migrate/lib/backup_migrate_core/src/File/ReadableStreamBackupFile.php new file mode 100644 index 0000000..680644c --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/File/ReadableStreamBackupFile.php @@ -0,0 +1,197 @@ +path = $filepath; + + // Get the basename and extensions. + $this->setFullName(basename($filepath)); + + // Get the basic file stats since this is probably a read-only file option and these won't change. + $this->_loadFileStats(); + } + + /** + * Destructor. + */ + function __destruct() { + // Close the handle if we've opened it. + $this->close(); + } + + /** + * Get the realpath of the file. + * + * @return string The path or stream URI to the file or NULL if the file does not exist. + */ + function realpath() { + if (file_exists($this->path)) { + return $this->path; + } + return NULL; + } + + /** + * Open a file for reading or writing. + * + * @param bool $binary If true open as a binary file + * + * @return resource + * + * @throws \Exception + */ + function openForRead($binary = FALSE) { + if (!$this->isOpen()) { + $path = $this->realpath(); + + if (!is_readable($path)) { + // @TODO: Throw better exception + throw new \Exception('Cannot read file.'); + } + + // Open the file. + $mode = "r" . ($binary ? "b" : ""); + $this->handle = fopen($path, $mode); + if (!$this->handle) { + throw new \Exception('Cannot open file.'); + } + } + // If the file is already open, rewind it. + $this->rewind(); + return $this->handle; + } + + /** + * Close a file when we're done reading/writing. + */ + function close() { + if ($this->isOpen()) { + fclose($this->handle); + $this->handle = NULL; + } + } + + /** + * Is this file open for reading/writing. + * + * Return bool True if the file is open, false if not. + */ + function isOpen() { + return !empty($this->handle) && get_resource_type($this->handle) == 'stream'; + } + + /** + * Read a line from the file. + * + * @param int $size The number of bites to read or 0 to read the whole file + * + * @return string The data read from the file or NULL if the file can't be read or is at the end of the file. + */ + function readBytes($size = 1024, $binary = FALSE) { + if (!$this->isOpen()) { + $this->openForRead($binary); + } + if ($this->handle && !feof($this->handle)) { + return fread($this->handle, $size); + } + return NULL; + } + + + /** + * Read a single line from the file. + * + * @return string The data read from the file or NULL if the file can't be read or is at the end of the file. + */ + public function readLine() { + if (!$this->isOpen()) { + $this->openForRead(); + } + return fgets($this->handle); + } + + /** + * Read a line from the file. + * + * @return string The data read from the file or NULL if the file can't be read. + */ + public function readAll() { + if (!$this->isOpen()) { + $this->openForRead(); + } + $this->rewind(); + return stream_get_contents($this->handle); + } + + /** + * Move the file pointer forward a given number of bytes. + * + * @param int $bytes + * + * @return int + * The number of bytes moved or -1 if the operation failed. + */ + public function seekBytes($bytes) { + if ($this->isOpen()) { + return fseek($this->handle, $bytes); + } + return -1; + } + + /** + * Rewind the file handle to the start of the file. + */ + function rewind() { + if ($this->isOpen()) { + rewind($this->handle); + } + } + + /** + * Get info about the file and load them as metadata. + */ + protected function _loadFileStats() { + clearstatcache(); + $this->setMeta('filesize', filesize($this->realpath())); + $this->setMeta('datestamp', filectime($this->realpath())); + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/File/TempFileAdapter.php b/modules/backup_migrate/lib/backup_migrate_core/src/File/TempFileAdapter.php new file mode 100644 index 0000000..c8d8b29 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/File/TempFileAdapter.php @@ -0,0 +1,115 @@ +dir = $dir; + $this->prefix = $prefix; + $this->tempfiles = []; + // @TODO: check that temp direcory is writeable or throw an exception. + } + + /** + * Destruct the manager. Delete all the temporary files when this manager is destroyed. + */ + public function __destruct() { + $this->deleteAllTempFiles(); + } + + /** + * {@inheritdoc} + */ + public function createTempFile($ext = '') { + // Add a dot to the file extension. + $ext = $ext ? '.' . $ext : ''; + + // Find an unused random file name. + $try = 5; + do { + $out = $this->dir . $this->prefix . mt_rand() . $ext; + $fp = @fopen($out, 'x'); + } while (!$fp && $try-- > 0); + if ($fp) { + fclose($fp); + } + else { + throw new \Exception('Could not create a temporary file to write to.'); + } + + $this->tempfiles[] = $out; + return $out; + } + + /** + * {@inheritdoc} + */ + public function deleteTempFile($filename) { + // Only delete files that were created by this manager. + if (in_array($filename, $this->tempfiles)) { + if (file_exists($filename)) { + if (is_writable($filename)) { + unlink($filename); + } + else { + throw new BackupMigrateException('Could not delete the temp file: %file because it is not writable', ['%file' => $filename]); + } + } + // Remove the item from the list. + $this->tempfiles = array_diff($this->tempfiles, [$filename]); + return; + } + throw new BackupMigrateException('Attempting to delete a temp file not managed by this codebase: %file', ['%file' => $filename]); + } + + /** + * {@inheritdoc} + */ + public function deleteAllTempFiles() { + foreach ($this->tempfiles as $file) { + $this->deleteTempFile($file); + } + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/File/TempFileAdapterInterface.php b/modules/backup_migrate/lib/backup_migrate_core/src/File/TempFileAdapterInterface.php new file mode 100644 index 0000000..f8c8e72 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/File/TempFileAdapterInterface.php @@ -0,0 +1,35 @@ +adapter = $adapter; + } + + /** + * Create a brand new temp file with the given extension (if specified). The + * new file should be writable. + * + * @param string $ext The file extension for this file (optional) + * + * @return BackupFileWritableInterface + */ + public function create($ext = '') { + $file = new WritableStreamBackupFile($this->adapter->createTempFile($ext)); + $file->setExtList(explode('.', $ext)); + return $file; + } + + /** + * Return a new file based on the passed in file with the given file extension. + * This should maintain the metadata of the file passed in with the new file + * extension added after the old one. + * For example: xxx.mysql would become xxx.mysql.gz. + * + * @param \BackupMigrate\Core\File\BackupFileInterface $file + * The file to add the extension to. + * @param $ext + * The new file extension. + * + * @return \BackupMigrate\Core\File\BackupFileWritableInterface + * A new writable backup file with the new extension and all of the metadata + * from the previous file. + */ + public function pushExt(BackupFileInterface $file, $ext) { + // Push the new extension on to the new file. + $parts = $file->getExtList(); + array_push($parts, $ext); + $new_ext = implode($parts, '.'); + + // Copy the file metadata to a new TempFile. + $out = new WritableStreamBackupFile($this->adapter->createTempFile($new_ext)); + + // Copy the file metadata to a new TempFile. + $out->setMetaMultiple($file->getMetaAll()); + $out->setName($file->getName()); + $out->setExtList($parts); + + return $out; + } + + /** + * Return a new file based on the one passed in but with the last part of the + * file extension removed. + * For example: xxx.mysql.gz would become xxx.mysql. + * + * @param \BackupMigrate\Core\File\BackupFileInterface $file + * + * @return \BackupMigrate\Core\File\BackupFileWritableInterface + * A new writable backup file with the last extension removed and + * all of the metadata from the previous file. + */ + public function popExt(BackupFileInterface $file) { + // Pop the last extension from the last of the file. + $parts = $file->getExtList(); + array_pop($parts); + $new_ext = implode($parts, '.'); + + // Create a new temp file with the new extension. + $out = new WritableStreamBackupFile($this->adapter->createTempFile($new_ext)); + + // Copy the file metadata to a new TempFile. + $out->setMetaMultiple($file->getMetaAll()); + $out->setName($file->getName()); + $out->setExtList($parts); + + return $out; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/File/TempFileManagerInterface.php b/modules/backup_migrate/lib/backup_migrate_core/src/File/TempFileManagerInterface.php new file mode 100644 index 0000000..166ef2f --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/File/TempFileManagerInterface.php @@ -0,0 +1,64 @@ +isOpen()) { + $path = $this->realpath(); + + // Check if the file can be read/written. + if ((file_exists($path) && !is_writable($path)) || (!file_exists($path) && !is_writable(dirname($path)))) { + // @TODO: Throw better exception + throw new BackupMigrateException('Cannot write to file: %path', ['%path' => $path]); + } + + // Open the file. + $mode = "w" . ($binary ? "b" : ""); + $this->handle = fopen($path, $mode); + if (!$this->handle) { + throw new BackupMigrateException('Cannot open file: %path', ['%path' => $path]); + } + } + } + + /** + * Write a line to the file. + * + * @param string $data A string to write to the file. + * + * @throws \Exception + */ + function write($data) { + if (!$this->isOpen()) { + $this->openForWrite(); + } + + if ($this->handle) { + if (fwrite($this->handle, $data) === FALSE) { + throw new \Exception('Cannot write to file: ' . $this->realpath()); + } + else { + $this->dirty = TRUE; + } + } + else { + throw new \Exception('File not open for writing.'); + } + } + + + /** + * Update the file time and size when the file is closed. + */ + function close() { + parent::close(); + + // If the file has been modified, update the stats from disk. + if ($this->dirty) { + $this->_loadFileStats(); + $this->dirty = FALSE; + } + } + + /** + * A shorthand function to open the file, write the given contents and close + * the file. Used for small amounts of data that can fit in memory. + * + * @param $data + */ + public function writeAll($data) { + $this->openForWrite(); + $this->write($data); + $this->close(); + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Filter/CompressionFilter.php b/modules/backup_migrate/lib/backup_migrate_core/src/Filter/CompressionFilter.php new file mode 100644 index 0000000..8d417c9 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Filter/CompressionFilter.php @@ -0,0 +1,389 @@ + ['weight' => 100], + * 'restore' => ['weight' => -100], + * ]; + * + * @return array + */ + public function supportedOps() { + return [ + 'getFileTypes' => [], + 'backupSettings' => [], + 'afterBackup' => ['weight' => 100], + 'beforeRestore' => ['weight' => -100], + ]; + } + + /** + * Return the filetypes supported by this filter. + */ + public function getFileTypes() { + return [ + [ + "gzip" => [ + "extension" => "gz", + "filemime" => "application/x-gzip", + 'ops' => [ + 'backup', + 'restore' + ] + ], + "bzip" => [ + "extension" => "bz", + "filemime" => "application/x-bzip", + 'ops' => [ + 'backup', + 'restore' + ] + ], + "bzip2" => [ + "extension" => "bz2", + "filemime" => "application/x-bzip", + 'ops' => [ + 'backup', + 'restore' + ] + ], + "zip" => [ + "extension" => "zip", + "filemime" => "application/zip", + 'ops' => [ + 'backup', + 'restore' + ] + ], + ], + ]; + } + + + /** + * Get a definition for user-configurable settings. + * + * @return array + */ + public function configSchema($params = []) { + $schema = []; + + if ($params['operation'] == 'backup') { + $schema['groups']['file'] = [ + 'title' => 'Backup File', + ]; + $compression_options = $this->_availableCompressionAlgorithms(); + $schema['fields']['compression'] = [ + 'group' => 'file', + 'type' => 'enum', + 'title' => 'Compression', + 'options' => $compression_options, + 'actions' => ['backup'] + ]; + } + + return $schema; + } + + + /** + * Get the default values for the plugin. + * + * @return \BackupMigrate\Core\Config\Config + */ + public function configDefaults() { + return new Config([ + 'compression' => $this->_defaultCompressionAlgorithm(), + ]); + } + + + /** + * Run on a backup. + * + * @param \BackupMigrate\Core\File\BackupFileReadableInterface $file + * + * @return \BackupMigrate\Core\File\BackupFileReadableInterface + */ + public function afterBackup(BackupFileReadableInterface $file) { + $out = $success = FALSE; + if ($this->confGet('compression') == 'gzip') { + $out = $this->getTempFileManager()->pushExt($file, 'gz'); + $success = $this->_gzipEncode($file, $out); + } + if ($this->confGet('compression') == 'bzip') { + $out = $this->getTempFileManager()->pushExt($file, 'bz2'); + $success = $this->_bzipEncode($file, $out); + } + if ($this->confGet('compression') == 'zip') { + $out = $this->getTempFileManager()->pushExt($file, 'zip'); + $success = $this->_ZipEncode($file, $out); + } + + // If the file was successfully compressed. + if ($out && $success) { + $out->setMeta('filesize_uncompressed', $file->getMeta('filesize')); + $out->setMeta('compression', $this->confGet('compression')); + return $out; + } + + // Return the original if we were not able to compress it. + return $file; + } + + /** + * Run on a restore. + * + * @param \BackupMigrate\Core\File\BackupFileReadableInterface $file + * + * @return \BackupMigrate\Core\File\BackupFileReadableInterface + */ + public function beforeRestore(BackupFileReadableInterface $file) { + // If the file is not a supported compression type then simply return the same input file. + $out = $file; + + $type = $file->getExtLast(); + + switch (strtolower($type)) { + case "gz": + case "gzip": + $out = $this->getTempFileManager()->popExt($file); + $this->_gzipDecode($file, $out); + break; + + case "bz": + case "bz2": + case "bzip": + case "bzip2": + $out = $this->getTempFileManager()->popExt($file); + $this->_bzipDecode($file, $out); + break; + + case "zip": + $out = $this->getTempFileManager()->popExt($file); + $this->_ZipDecode($file, $out); + break; + + } + return $out; + } + + + /** + * Gzip encode a file. + * + * @param \BackupMigrate\Core\File\BackupFileReadableInterface $from + * @param \BackupMigrate\Core\File\BackupFileWritableInterface $to + * + * @return bool + */ + protected function _gzipEncode(BackupFileReadableInterface $from, BackupFileWritableInterface $to) { + $success = FALSE; + + if (!$success && function_exists("gzopen")) { + if (($fp_out = gzopen($to->realpath(), 'wb9')) && $from->openForRead()) { + while ($data = $from->readBytes(1024 * 512)) { + gzwrite($fp_out, $data); + } + $success = TRUE; + $from->close(); + gzclose($fp_out); + + // Get the compressed filesize and set it. + $fileszc = filesize(drupal_realpath($to->realpath())); + $to->setMeta('filesize', $fileszc); + } + } + + return $success; + } + + /** + * Gzip decode a file. + * + * @param \BackupMigrate\Core\File\BackupFileReadableInterface $from + * @param \BackupMigrate\Core\File\BackupFileWritableInterface $to + * + * @return bool + */ + protected function _gzipDecode(BackupFileReadableInterface $from, BackupFileWritableInterface $to) { + $success = FALSE; + + if (!$success && function_exists("gzopen")) { + if ($fp_in = gzopen($from->realpath(), 'rb9')) { + while (!feof($fp_in)) { + $to->write(gzread($fp_in, 1024 * 512)); + } + $success = TRUE; + gzclose($fp_in); + $to->close(); + } + } + + return $success; + } + + /** + * BZip encode a file. + * + * @param \BackupMigrate\Core\File\BackupFileReadableInterface $from + * @param \BackupMigrate\Core\File\BackupFileWritableInterface $to + * + * @return bool + */ + protected function _bzipEncode(BackupFileReadableInterface $from, BackupFileWritableInterface $to) { + $success = FALSE; + if (!$success && function_exists("bzopen")) { + if (($fp_out = bzopen($to->realpath(), 'w')) && $from->openForRead()) { + while ($data = $from->readBytes(1024 * 512)) { + bzwrite($fp_out, $data); + } + $success = TRUE; + $from->close(); + bzclose($fp_out); + + // Get the compressed filesize and set it. + $fileszc = filesize(drupal_realpath($to->realpath())); + $to->setMeta('filesize', $fileszc); + } + } + + return $success; + } + + /** + * BZip decode a file. + * + * @param \BackupMigrate\Core\File\BackupFileReadableInterface $from + * @param \BackupMigrate\Core\File\BackupFileWritableInterface $to + * + * @return bool + */ + protected function _bzipDecode(BackupFileReadableInterface $from, BackupFileWritableInterface $to) { + $success = FALSE; + + if (!$success && function_exists("bzopen")) { + if ($fp_in = bzopen($from->realpath(), 'r')) { + while (!feof($fp_in)) { + $to->write(bzread($fp_in, 1024 * 512)); + } + $success = TRUE; + bzclose($fp_in); + $to->close(); + } + } + + return $success; + } + + /** + * Zip encode a file. + * + * @param \BackupMigrate\Core\File\BackupFileReadableInterface $from + * + * @param \BackupMigrate\Core\File\BackupFileWritableInterface $to + * + * @return bool + */ + protected function _ZipEncode(BackupFileReadableInterface $from, BackupFileWritableInterface $to) { + $success = FALSE; + + if (class_exists('ZipArchive')) { + $zip = new \ZipArchive(); + $res = $zip->open(drupal_realpath($to->realpath()), constant("ZipArchive::CREATE")); + if ($res === TRUE) { + $zip->addFile(drupal_realpath($from->realpath()), $from->getFullName()); + } + $success = $zip->close(); + } + // Get the compressed filesize and set it. + $fileszc = filesize(drupal_realpath($to->realpath())); + $to->setMeta('filesize', $fileszc); + + return $success; + } + + /** + * Gzip decode a file. + * + * @param \BackupMigrate\Core\File\BackupFileReadableInterface $from + * @param \BackupMigrate\Core\File\BackupFileWritableInterface $to + * + * @return bool + */ + protected function _ZipDecode(BackupFileReadableInterface $from, BackupFileWritableInterface $to) { + $success = FALSE; + if (class_exists('ZipArchive')) { + $zip = new \ZipArchive(); + if ($zip->open(drupal_realpath($from->realpath()))) { + $filename = ($zip->getNameIndex(0)); + if ($fp_in = $zip->getStream($filename)) { + while (!feof($fp_in)) { + $to->write(fread($fp_in, 1024 * 512)); + } + fclose($fp_in); + $success = $to->close(); + } + } + return $success; + } + } + + /** + * Get the compression options as an options array for a form item. + * + * @return array + */ + protected function _availableCompressionAlgorithms() { + $compression_options = ["none" => ("No Compression")]; + if (function_exists("gzencode")) { + $compression_options['gzip'] = ("GZip"); + } + if (function_exists("bzcompress")) { + $compression_options['bzip'] = ("BZip"); + } + if (class_exists('ZipArchive')) { + $compression_options['zip'] = ("Zip"); + } + return $compression_options; + } + + /** + * Get the default compression algorithm based on those available. + * + * @return string + * The machine name of the algorithm. + */ + protected function _defaultCompressionAlgorithm() { + $available = array_keys($this->_availableCompressionAlgorithms()); + // Remove the 'none' option. + array_shift($available); + $out = array_shift($available); + // Return the first available algorithm or 'none' of none other exist. + return $out ? $out : 'none'; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Filter/DBExcludeFilter.php b/modules/backup_migrate/lib/backup_migrate_core/src/Filter/DBExcludeFilter.php new file mode 100644 index 0000000..994a268 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Filter/DBExcludeFilter.php @@ -0,0 +1,122 @@ +confGet('exclude_tables'); + $nodata = $this->confGet('nodata_tables'); + if (in_array($table['name'], $exclude)) { + $table['exclude'] = TRUE; + } + if (in_array($table['name'], $nodata)) { + $table['nodata'] = TRUE; + } + return $table; + } + + /** + * Get the default values for the plugin. + * + * @return \BackupMigrate\Core\Config\Config + */ + public function configDefaults() { + return new Config([ + 'source' => '', + 'exclude_tables' => [], + 'nodata_tables' => [], + ]); + } + + /** + * Get a definition for user-configurable settings. + * + * @param array $params + * + * @return array + */ + public function configSchema($params = []) { + $schema = []; + + if ($params['operation'] == 'backup') { + $tables = []; + + foreach ($this->sources()->getAll() as $source_key => $source) { + if ($source instanceof DatabaseSourceInterface) { + $tables += $source->getTableNames(); + } + + if ($tables) { + // Backup settings. + $schema['groups']['default'] = [ + 'title' => $this->t('Exclude database tables'), + ]; + + $table_select = [ + 'type' => 'enum', + 'multiple' => TRUE, + 'options' => $tables, + 'actions' => ['backup'], + 'group' => 'default' + ]; + $schema['fields']['exclude_tables'] = $table_select + [ + 'title' => $this->t('Exclude these tables entirely'), + ]; + + $schema['fields']['nodata_tables'] = $table_select + [ + 'title' => $this->t('Exclude data from these tables'), + ]; + + } + } + } + return $schema; + } + + /** + * @return PluginManager + */ + public function sources() { + return $this->source_manager ? $this->source_manager : new PluginManager(); + } + + /** + * @param PluginManager $source_manager + */ + public function setSourceManager($source_manager) { + $this->source_manager = $source_manager; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Filter/FileExcludeFilter.php b/modules/backup_migrate/lib/backup_migrate_core/src/Filter/FileExcludeFilter.php new file mode 100644 index 0000000..e127b30 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Filter/FileExcludeFilter.php @@ -0,0 +1,134 @@ +confGet('source'); + if ($source && $source == $params['source']) { + $exclude = $this->confGet('exclude_filepaths'); + $exclude = $this->compileExcludePatterns($exclude); + + if ($this->matchPath($path, $exclude, $params['base_path'])) { + return NULL; + } + } + return $path; + } + + /** + * Get the default values for the plugin. + * + * @return \BackupMigrate\Core\Config\Config + */ + public function configDefaults() { + return new Config([ + 'source' => '', + 'exclude_filepaths' => [], + ]); + } + + /** + * Convert an array of glob patterns to an array of regex patterns for file name exclusion. + * + * @param array $exclude + * A list of patterns with glob wildcards + * + * @return array + * A list of patterns as regular expressions + */ + private function compileExcludePatterns($exclude) { + if ($this->patterns !== NULL) { + return $this->patterns; + } + foreach ($exclude as $pattern) { + // Convert Glob wildcards to a regex per http://php.net/manual/en/function.fnmatch.php#71725 + $this->patterns[] = "#^" . strtr(preg_quote($pattern, '#'), ['\*' => '.*', '\?' => '.', '\[' => '[', '\]' => ']']) . "$#i"; + } + return $this->patterns; + } + + /** + * Match a path to the list of exclude patterns. + * + * @param string $path + * The path to match. + * @param array $exclude + * An array of regular expressions to match against. + * @param string $base_path + * + * @return bool + */ + private function matchPath($path, $exclude, $base_path = '') { + $path = substr($path, strlen($base_path)); + + if ($exclude) { + foreach ($exclude as $pattern) { + if (preg_match($pattern, $path)) { + return TRUE; + } + } + } + return FALSE; + } + + /** + * Get a definition for user-configurable settings. + * + * @param array $params + * + * @return array + */ + public function configSchema($params = []) { + $schema = []; + + $source = $this->confGet('source'); + + // Backup settings. + if (!empty($source) && $params['operation'] == 'backup') { + $schema['groups']['default'] = [ + 'title' => $this->t('Exclude Files from %source', ['%source' => $source->confGet('name')]), + ]; + // Backup settings. + if ($params['operation'] == 'backup') { + $schema['fields']['exclude_filepaths'] = [ + 'type' => 'text', + 'title' => $this->t('Exclude these files'), + 'multiple' => TRUE, + 'group' => 'default' + ]; + } + } + return $schema; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Filter/FileNamer.php b/modules/backup_migrate/lib/backup_migrate_core/src/Filter/FileNamer.php new file mode 100644 index 0000000..b20a56f --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Filter/FileNamer.php @@ -0,0 +1,120 @@ +moduleExists('token')) { + $must_match = '/^[\w\-_:\[\]]+$/'; + $must_match_err = $this->t('%title must contain only letters, numbers, dashes (-) and underscores (_). And Site Tokens.'); + } + else { + $must_match = '/^[\w\-_:]+$/'; + $must_match_err = $this->t('%title must contain only letters, numbers, dashes (-) and underscores (_).'); + } + // Backup configuration. + if ($params['operation'] == 'backup') { + $schema['groups']['file'] = [ + 'title' => 'Backup File', + ]; + $schema['fields']['filename'] = [ + 'group' => 'file', + 'type' => 'text', + 'title' => 'File Name', + 'must_match' => $must_match, + 'must_match_error' => $must_match_err, + 'min_length' => 1, + // Allow a 200 character backup name leaving a generous 55 characters + // for timestamp and extension. + 'max_length' => 200, + 'required' => TRUE, + ]; + $schema['fields']['timestamp'] = [ + 'group' => 'file', + 'type' => 'boolean', + 'title' => 'Append a timestamp', + ]; + $schema['fields']['timestamp_format'] = [ + 'group' => 'file', + 'type' => 'text', + 'title' => 'Timestamp Format', + 'max_length' => 32, + 'dependencies' => ['timestamp' => TRUE], + 'description' => $this->t('Use
PHP Date formatting.'), + ]; + } + return $schema; + } + + /** + * Get the default values for the plugin. + * + * @return \BackupMigrate\Core\Config\Config + */ + public function configDefaults() { + return new Config([ + 'filename' => 'backup', + 'timestamp' => TRUE, + 'timestamp_format' => 'Y-m-d\TH-i-s', + ]); + } + + /** + * Get a list of supported operations and their weight. + * + * @return array + */ + public function supportedOps() { + return [ + 'afterBackup' => [], + ]; + } + + /** + * Run on a backup. Name the backup file according to the configuration. + * + * @param \BackupMigrate\Core\File\BackupFileReadableInterface $file + * + * @return \BackupMigrate\Core\File\BackupFileReadableInterface + */ + public function afterBackup(BackupFileReadableInterface $file) { + if (\Drupal::moduleHandler()->moduleExists('token')) { + $token = \Drupal::token(); + $name = $token->replace($this->confGet('filename')); + } + else { + $name = $this->confGet('filename'); + } + if ($this->confGet('timestamp')) { + $name .= '-' . gmdate($this->confGet('timestamp_format')); + } + $file->setName($name); + return $file; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Filter/MetadataWriter.php b/modules/backup_migrate/lib/backup_migrate_core/src/Filter/MetadataWriter.php new file mode 100644 index 0000000..0f27e72 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Filter/MetadataWriter.php @@ -0,0 +1,112 @@ + 'Advanced Settings', + ]; + $schema['fields']['description'] = [ + 'group' => 'advanced', + 'type' => 'text', + 'title' => 'Description', + 'multiline' => TRUE, + ]; + } + return $schema; + } + + /** + * Get the default values for the plugin. + * + * @return \BackupMigrate\Core\Config\Config + */ + public function configDefaults() { + return new Config([ + 'description' => '', + 'generator' => 'Backup and Migrate', + 'generatorversion' => defined('BACKUP_MIGRATE_CORE_VERSION') ? constant('BACKUP_MIGRATE_CORE_VERSION') : 'unknown', + 'generatorurl' => 'https://github.com/backupmigrate', + 'bam_sourceid' => '', + ]); + } + + /** + * Generate a list of metadata keys to be stored with the backup. + * + * @return array + */ + protected function getMetaKeys() { + return [ + 'description', + 'generator', + 'generatorversion', + 'generatorurl', + 'bam_sourceid', + 'bam_scheduleid', + ]; + } + + + /** + * Run before the backup/restore begins. + */ + public function setUp($operand, $options) { + if ($options['operation'] == 'backup' && $options['source_id']) { + $this->config()->set('bam_sourceid', $options['source_id']); + if ($source = $this->plugins()->get($options['source_id'])) { + // @TODO Query the source for it's type and name. + } + } + return $operand; + } + + /** + * Run after a backup. Add metadata to the file. + * + * @param \BackupMigrate\Core\File\BackupFileWritableInterface $file + * + * @return \BackupMigrate\Core\File\BackupFileWritableInterface + */ + public function afterBackup(BackupFileWritableInterface $file) { + // Add the various metadata. + foreach ($this->getMetaKeys() as $key) { + $value = $this->confGet($key); + $file->setMeta($key, $value); + } + return $file; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Filter/Notify.php b/modules/backup_migrate/lib/backup_migrate_core/src/Filter/Notify.php new file mode 100644 index 0000000..e5f86a2 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Filter/Notify.php @@ -0,0 +1,102 @@ + ['weight' => -100000], + 'beforeRestore' => ['weight' => -100000], + ]; + } + + /** + * @var StashLogger + */ + protected $logstash; + + public function beforeBackup() { + $this->addLogger(); + } + + public function beforeRestore() { + $this->addLogger(); + } + + public function backupSucceed() { + $this->sendNotification('Backup finished sucessfully'); + } + + public function backupFail(Exception $e) { + + } + + public function restoreSucceed() { + } + + public function restoreFail() { + } + + /** + * @param $subject + * @param $body + * @param $messages + */ + protected function sendNotification($subject) { + $messages = $this->logstash->getAll(); + $body = $subject . "\n"; + if (count($messages)) { + + } + // $body .= + } + + /** + * add our stash logger to the service locator to capture all logged messages. + */ + protected function addLogger() { + $services = $this->plugins()->services(); + + // Get the current logger. + $logger = $services->get('Logger'); + + // Create a new stash logger to save messages. + $this->logstash = new StashLogger(); + + // Add a tee to send logs to both the regular logger and our stash. + $services->add('Logger', new TeeLogger([$logger, $this->logstash])); + + // Add the services back into the plugin manager to re-inject existing plugins + $this->plugins()->setServiceLocator($services); + } + + // @TODO: Add a tee to the logger to capture all messages. + // @TODO: Implement backup/restore fail/succeed ops and send a notification. +} \ No newline at end of file diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Main/BackupMigrate.php b/modules/backup_migrate/lib/backup_migrate_core/src/Main/BackupMigrate.php new file mode 100644 index 0000000..10f68a3 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Main/BackupMigrate.php @@ -0,0 +1,237 @@ +setServiceManager(new ServiceManager()); + $services = $this->services(); + + $services->add('PluginManager', new PluginManager($services)); + $services->add('SourceManager', new PluginManager($services)); + $services->add('DestinationManager', new PluginManager($services)); + + // Add these services back into this object using the service manager. + $services->addClient($this); + } + + /** + * {@inheritdoc} + */ + public function backup($source_id, $destination_id) { + try { + + // Allow the plugins to set up. + $this->plugins()->call('setUp', NULL, ['operation' => 'backup', 'source_id' => $source_id, 'destination_id' => $destination_id]); + + // Get the source and the destination to use. + $source = $this->sources()->get($source_id); + $destinations = []; + + // Allow a single destination or multiple destinations. + foreach ((array) $destination_id as $id) { + $destinations[$id] = $this->destinations()->get($id); + + // Check that the destination is valid. + if (!$destinations[$id]) { + throw new BackupMigrateException('The destination !id does not exist.', ['!id' => $destination_id]); + } + + // Check that the destination can be written to. + // @TODO: Catch exceptions and continue if at least one destination is valid. + $destinations[$id]->checkWritable(); + } + + // Check that the source is valid. + if (!$source) { + throw new BackupMigrateException('The source !id does not exist.', ['!id' => $source_id]); + } + + // Run each of the installed plugins which implements the 'beforeBackup' operation. + $this->plugins()->call('beforeBackup'); + + // Do the actual backup. + $file = $source->exportToFile(); + + // Run each of the installed plugins which implements the 'afterBackup' operation. + $file = $this->plugins()->call('afterBackup', $file); + + // Save the file to each destination. + foreach ($destinations as $destination) { + $destination->saveFile($file); + } + + // Let plugins react to a successful operation. + $this->plugins()->call('backupSucceed', $file); + } + catch (\Exception $e) { + // Let plugins react to a failed operation. + $this->plugins()->call('backupFail', $e); + + // The consuming software needs to deal with this. + throw $e; + } + + // Allow the plugins to tear down. + $this->plugins()->call('tearDown', NULL, ['operation' => 'backup', 'source_id' => $source_id, 'destination_id' => $destination_id]); + + } + + /** + * {@inheritdoc} + */ + public function restore($source_id, $destination_id, $file_id = NULL) { + try { + // Get the source and the destination to use. + $source = $this->sources()->get($source_id); + $destination = $this->destinations()->get($destination_id); + + if (!$source) { + throw new BackupMigrateException('The source !id does not exist.', ['!id' => $source_id]); + } + if (!$destination) { + throw new BackupMigrateException('The destination !id does not exist.', ['!id' => $destination_id]); + } + + // Load the file from the destination. + $file = $destination->getFile($file_id); + if (!$file) { + throw new BackupMigrateException('The file !id does not exist.', ['!id' => $file_id]); + } + + // Prepare the file for reading. + $file = $destination->loadFileForReading($file); + if (!$file) { + throw new BackupMigrateException('The file !id could not be opened for reading.', ['!id' => $file_id]); + } + + // Run each of the installed plugins which implements the 'backup' operation. + $file = $this->plugins()->call('beforeRestore', $file); + + // Do the actual source restore. + $import_result = $source->importFromFile($file); + if(!$import_result) { + throw new BackupMigrateException('The file could not be imported.'); + } + + // Run each of the installed plugins which implements the 'beforeBackup' operation. + $this->plugins()->call('afterRestore'); + + // Let plugins react to a successful operation. + $this->plugins()->call('restoreSucceed', $file); + } + catch (\Exception $e) { + // Let plugins react to a failed operation. + $this->plugins()->call('restoreFail', $e); + + // The consuming software needs to deal with this. + throw $e; + } + } + + /** + * Set the configuration for the service. This simply passes the configuration + * on to the plugin manager as all work is done by plugins. + * + * This can be called after the service is instantiated to pass new configuration + * to the plugins. + * + * @param \BackupMigrate\Core\Config\ConfigInterface $config + */ + public function setConfig(ConfigInterface $config) { + $this->plugins()->setConfig($config); + } + + /** + * Get the list of available destinations. + * + * @return PluginManagerInterface + */ + public function destinations() { + return $this->destinations; + } + + /** + * Set the destinations plugin manager. + * + * @param PluginManagerInterface $destinations + */ + public function setDestinationManager(PluginManagerInterface $destinations) { + $this->destinations = $destinations; + } + + /** + * Get the list of sources. + * + * @return PluginManagerInterface + */ + public function sources() { + return $this->sources; + } + + /** + * Set the sources plugin manager. + * + * @param PluginManagerInterface $sources + */ + public function setSourceManager(PluginManagerInterface $sources) { + $this->sources = $sources; + } + + /** + * Get the service locator. + * + * @return ServiceManager + */ + public function services() { + return $this->services; + } + + /** + * Set the service locator. + * + * @param ServiceManager $services + */ + public function setServiceManager($services) { + $this->services = $services; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Main/BackupMigrateInterface.php b/modules/backup_migrate/lib/backup_migrate_core/src/Main/BackupMigrateInterface.php new file mode 100644 index 0000000..92849e6 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Main/BackupMigrateInterface.php @@ -0,0 +1,87 @@ +plugins()` method. The `add()` +method can then be used to add additional plugins. Each added plugin must be given a unique ID when added. This ID will be used +to configure the plugin and to specify which source and destination are used during the operation. + + + // ... + + // Create a Backup and Migrate Service object + $bam = new BackupMigrate($); + + // Create a service locator + $services = new ServiceManager(); + + // Add necessary services + $services->add('TempFileManager', + new TempFileManager(new TempFileAdapter('/tmp')) + ); + $services->add('Logger', + new Logger() + ); + + // Create a plugin manager + $plugins = new PluginManager($services); + + // Add a source: + $plugins->add('db1', new MySQLiSource()); + + // Add some destinations + $plugins->add('download', new BrowserDownloadDestination()); + $plugins->add('mydirectory', new DirectoryDestination()); + + // Add some filters + $plugins->add('compress', new CompressionFilter()); + $plugins->add('namer', new FileNamer()); + + $bam = new BackupMigrate($plugins); + +See: [Plugins](https://github.com/backupmigrate/backup_migrate_core/tree/master/src/Plugin) + +### Providing Services + +If the consuming application needs to use any plugins that must talk to the greater environment (saving state, emailing +users, creating temporary files) it must provide services to Backup and Migrate that allow it to do so. These services +are contained in an object called the environment. A new environment object should be created and passed to the service +constructor. If you do not pass an environment then a basic one will be created which should work in the simplest +environments. + +Providing an environment. + + use BackupMigrate\Core\Services\BackupMigrate; + use MyAPP\Environment\MyEnvironment; + + // Create a custom environment with whatever services or configuration are needed for the application + $env = new MyEnvironment(...); + + // Pass the environment to the service + $bam = new BackupMigrate($env); + +See: [Environment](https://github.com/backupmigrate/backup_migrate_core/tree/master/src/Environment) + +### Configuring the Object + +The `BackupMigrate` object does not have any configuration but the injected plugins and services may. Services should be configured before they are passed to the `ServiceManager`. Plugins can be configured when they are created and passed to the plugin manager or additional configuration can be passed in by calling `setConfig` on the plugin manager. Often combination of these techniques will be used. Base configuration is passed to the plugin when it is instantiated and run-time configuration is passed in later. + +See: [Configuration](https://github.com/backupmigrate/backup_migrate_core/tree/master/src/Config) + + +## Operations +The Backup and Migrate service provides two main operations: + +* `backup($source_id, $destination_id)` +* `restore($source_id, $destination_id, $file_id)` + +### The Backup Operation + +The `backup()` operation creates a backup file from the specified source, post-processes the file with all installed +filters and saves the file to the specified destination. The parameters for this operation are: + +* **$source_id** ***(string)*** - The id of the source as specified when it is added to the plugin manager. +* **$destination_id** ***(string|array)*** - The id of the destination as specified when it is added to the plugin manager. +This can also be an array of destination ids to send the backup to multiple destinations. + +There is no return value but it may throw an exception if there is an error. + + // ... + + // Create a Backup and Migrate Service object + $bam = new BackupMigrate($plugins); + + // Run the backup. + $bam->backup('db1', 'mydirectory'); + + +### The Restore Operation + +The `restore()` operation loads the specified file from the specified destination, pre-processes the file with all +installed filters and restores the data to the specified source. The parameters are: + +* **$source_id** ***(string)*** - The id of the source as specified when it is added to the plugin manager. +* **$destination_id** ***(string)*** - The id of the destination as specified when it is added to the plugin manager. +* **$file_id** ***(string)*** - The id of the file within the destination. This is usually the file name but can be any +unique string specified by the destination. + + + // ... + + // Create a Backup and Migrate Service object + $bam = new BackupMigrate($plugins); + + // Run the restore. + $bam->restore('db1', 'mydirectory', 'backup.mysql.gz'); diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Plugin/FileProcessorInterface.php b/modules/backup_migrate/lib/backup_migrate_core/src/Plugin/FileProcessorInterface.php new file mode 100644 index 0000000..cb5d93c --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Plugin/FileProcessorInterface.php @@ -0,0 +1,36 @@ +tempfilemanager = $tempfilemanager; + } + + /** + * Get the temp file manager. + * + * @return \BackupMigrate\Core\File\TempFileManagerInterface + */ + public function getTempFileManager() { + return $this->tempfilemanager; + } + + /** + * Provide the file mime for the given file extension if known. + * + * @param string $filemime + * The best guess so far for the file's mime type. + * @param array $params + * A list of parameters where + * 'ext' is the file extension we are testing. + * + * @return string + * The mime type of the file (or the passed in mime type if unknown) + */ + public function alterMime($filemime, $params) { + // Check all of the provided file types for the given extension. + if (method_exists($this, 'getFileTypes')) { + $file_types = $this->getFileTypes(); + foreach ($file_types as $info) { + if (isset($info['extension']) && $info['extension'] == $params['ext'] && isset($info['filemime'])) { + return $info['filemime']; + } + } + } + return $filemime; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginBase.php b/modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginBase.php new file mode 100644 index 0000000..d10c8ac --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginBase.php @@ -0,0 +1,66 @@ + ['weight' => 100], + * 'restore' => ['weight' => -100], + * ]; + * + * @return array + */ + public function supportedOps() { + return []; + } + + /** + * Does this plugin implement the given operation. + * + * @param $op string The name of the operation + * + * @return bool + */ + public function supportsOp($op) { + // If the function has the method then it supports the op. + if (method_exists($this, $op)) { + return TRUE; + } + // If the supported ops array contains the op then it is supported. + $ops = $this->supportedOps(); + return isset($ops[$op]); + } + + /** + * What is the weight of the given operation for this plugin. + * * @param $op string The name of the operation. + * + * @return int + */ + public function opWeight($op) { + $ops = $this->supportedOps(); + if (isset($ops[$op]['weight'])) { + return $ops[$op]['weight']; + } + return 0; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginCallerInterface.php b/modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginCallerInterface.php new file mode 100644 index 0000000..786739a --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginCallerInterface.php @@ -0,0 +1,34 @@ +plugins = $plugins; + } + + /** + * Get the plugin manager. + * + * @return \BackupMigrate\Core\Plugin\PluginManagerInterface + */ + public function plugins() { + // Return the list of plugins or a blank placeholder. + return $this->plugins ? $this->plugins : new PluginManager(); + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginInterface.php b/modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginInterface.php new file mode 100644 index 0000000..18f082e --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginInterface.php @@ -0,0 +1,62 @@ + ['weight' => 100], + * 'restore' => ['weight' => -100], + * ]; + * + * @return array + */ + public function supportedOps(); + + /** + * Does this plugin implement the given operation. + * + * @param $op string The name of the operation + * + * @return bool + */ + public function supportsOp($op); + + /** + * What is the weight of the given operation for this plugin. + * * @param $op string The name of the operation. + * + * @return int + */ + public function opWeight($op); + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginManager.php b/modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginManager.php new file mode 100644 index 0000000..89bc789 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginManager.php @@ -0,0 +1,199 @@ +setServiceManager($services ? $services : new ServiceManager()); + + // Set the configuration or a null object if no config was specified. + $this->setConfig($config ? $config : new Config()); + + // Create an array to store the plugins themselves. + $this->items = []; + } + + + /** + * Set the configuration. Reconfigure all of the installed plugins. + * + * @param \BackupMigrate\Core\Config\ConfigInterface $config + */ + public function setConfig(ConfigInterface $config) { + // Set the configuration object to the one passed in. + $this->config = $config; + + // Pass the appropriate configuration to each of the installed plugins. + foreach ($this->getAll() as $key => $plugin) { + $this->_configurePlugin($plugin, $key); + } + } + + /** + * {@inheritdoc} + */ + public function add($id, PluginInterface $item) { + $this->_preparePlugin($item, $id); + $this->items[$id] = $item; + } + + /** + * {@inheritdoc} + **/ + public function get($id) { + return isset($this->items[$id]) ? $this->items[$id] : NULL; + } + + /** + * {@inheritdoc} + */ + public function getAll() { + return empty($this->items) ? [] : $this->items; + } + + /** + * Get all plugins that implement the given operation. + * + * @param string $op The name of the operation. + * + * @return \BackupMigrate\Core\Plugin\PluginInterface[] + */ + public function getAllByOp($op) { + $out = []; + $weights = []; + + foreach ($this->getAll() as $key => $plugin) { + if ($plugin->supportsOp($op)) { + $out[$key] = $plugin; + $weights[$key] = $plugin->opWeight($op); + } + } + array_multisort($weights, $out); + return $out; + } + + /** + * {@inheritdoc} + */ + public function call($op, $operand = NULL, $params = []) { + + // Run each of the installed plugins which implements the given operation. + foreach ($this->getAllByOp($op) as $plugin) { + $operand = $plugin->{$op}($operand, $params); + } + + return $operand; + } + + /** + * {@inheritdoc} + */ + public function map($op, $params = []) { + $out = []; + + // Run each of the installed plugins which implements the given operation. + foreach ($this->getAllByOp($op) as $key => $plugin) { + $out[$key] = $plugin->{$op}($params); + } + + return $out; + } + + + /** + * Prepare the plugin for use. This is called when a plugin is added to the + * manager and it configures the plugin according to the config object + * injected into the manager. It also injects other dependencies as needed. + * + * @param \BackupMigrate\Core\Plugin\PluginInterface $plugin + * The plugin to prepare for use. + * @param string $id + * The id of the plugin (to extract the correct settings). + */ + protected function _preparePlugin(PluginInterface $plugin, $id) { + // If this plugin can be configured, then pass in the configuration. + $this->_configurePlugin($plugin, $id); + + // Inject the available services. + $this->services()->addClient($plugin); + } + + /** + * Set the configuration for the given plugin. + * + * @param $plugin + * @param $id + */ + protected function _configurePlugin(PluginInterface $plugin, $id) { + // If this plugin can be configured, then pass in the configuration. + if ($plugin instanceof ConfigurableInterface) { + // Configure the plugin with the appropriate subset of the configuration. + $config = $this->confGet($id); + + // Set the config for the plugin. + $plugin->setConfig(new Config($config)); + + // Get the configuration back from the plugin to populate defaults within the manager. + $this->config()->set($id, $plugin->config()); + } + } + + /** + * @return ServiceManagerInterface + */ + public function services() { + return $this->services; + } + + /** + * @param ServiceManagerInterface $services + */ + public function setServiceManager($services) { + $this->services = $services; + + // Inject or re-inject the services. + foreach ($this->getAll() as $key => $plugin) { + $this->services()->addClient($plugin); + } + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginManagerInterface.php b/modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginManagerInterface.php new file mode 100644 index 0000000..a87c171 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Plugin/PluginManagerInterface.php @@ -0,0 +1,107 @@ +plugins()->add('demoplugin', new MyPlugin()); + +To configure this plugin the consuming application would have a section called 'demoplugin' in the plugin manager configuration object: + + $conf = new Config([ + 'demoplugin' => ['foo => 'bar'] + ]); + + $plugins = new PluginManager(NULL, $conf); + $backup_migrate = new BackupMigrate($plugins); + +### Calling Plugins ### +Internally the plugin manager is used to run all plugins for a given operation. This is done using the `call()` method: + + $file = $this->plugins()->call('afterBackup', $file); + +The call method takes 3 parameters: + +* **Operation**: the name of the operation to call +* **Operand**: The object being operated on (optional) +* **Params**: An associative array of additional parameters + +Each plugin that implements the **operation** will be called in order. The **operand** will be passed to the plugin and will be overwritten by the return value from the plugin. In this way plugin operations are chained. A plugin is responsible for returning the operand that was passed in if it does not wish to overwrite it. The **params** array can contain additional information needed to run the operation but it cannot be modified by plugins. + +### Implementing Operations ### +If a plugin wishes to be called for a given operation it simply needs to define a method with the same name as the operation. For example, to compress a backup file after it has been created, the plugin must have a method called `afterBackup()` which takes a file as the operand and returns the a new, compressed file. + +#### Operation Weights #### +The order in which plugins are called cannot be guaranteed. However, if a plugin needs to run in a specific order it may specify a weight for each operation it implements. To specify a weight it must implement a `opWeight()` method which takes an operation name and returns a numerical weight. Plugins are called from lowest to highest and plugins which do not specify a weight are considered to have a weight of `0`. + +To specify the weight of may operations it may be easier to extend the `\BackupMigrate\Core\Plugin\PluginBase` class and override the `supportedOps()` method which returns an array of supported operations and their weight: + + public function supportedOps() { + return [ + 'afterBackup' => ['weight' => 100], + 'beforeRestore' => ['weight' => -100], + ]; + } + +### Calling Other Plugins ### +Plugins can call other plugins using the Plugin Manager. For example, a source plugin might want to expose a line-item filter operation to allow other plugins to alter single values before they are added to the backup file. An encryption plugin may want to delegate the actual work of encrypting to other sub-plugins for better code organization and extendability. + +By default plugins are not given access to the plugin manager. However, if a plugin implements the `\BackupMigrate\Core\Plugin\PluginCallerInterface` then the plugin manager will inject itself into the plugin for use when the plugin is prepared for use. The `\BackupMigrate\Core\Plugin\PluginCallerTrait` can be used to implement the actual requirements of the interface. Plugins with this interface and trait will be able to use `$this->plugins()` to access the plugin manager: + + class MyPlugin implements PluginCallerInterface { + use PluginCallerTrait; + + function someOperation() { + $this->plugins()->call(...); + } + } + +### Accessing Services ### +If a plugin requires the use of a cache, logger, state storage, mailer or any other backing service it must have the service injected into it by the plugin manger. To make a service avaible to the plugin manager it may be added to an object which implenents `ServiceManagerInterface`. That service locater may be passed to the plugin manager though the constructor or it can be passed in later using `setServiceManager()`. + +Any service provided by the service locator will be injected into a plugin when it is added to the plugin manager if the name of the service matches a setter present in the plugin. For example: if a plugin has a method called `setLogger` and the service locator has a service called 'Logger' then the logger service will be injected via the `setLogger` method: + + $services = new ServiceManager(); + $services->add('Logger', new FileLogger('/path/to/log.txt')); + + $plugins = new PluginManager($services); + + // If this plugin has a `setLogger` the logger will be injected. + $plugins->add('test', new TestPlugin()); + +See: [Services](https://github.com/backupmigrate/backup_migrate_core/tree/master/src/Service) + +### Creating New Temporary Files ### +If a plugin needs to create a new temporary file (for example to decompress a backup file). It may request that the TempFileManager be injected by implementing `\BackupMigrate\Core\Plugin\FileProcessorInterface` and using the `\BackupMigrate\Core\Plugin\FileProcessorTrait`. This will allow the following: + + class MyFilePlugin implements FileProcessorInterface { + use FileProcessorTrait; + + function someOperation($file_in) { + $file_out = $this->getTempFileManager()->popExt($file_in); + // ... + + // Return the new file and so it overwrites the old file + // during plugin chaining. + return $file_out; + } + } + + +See: [Backup Files](https://github.com/backupmigrate/backup_migrate_core/tree/master/src/File) + +## Sources and Destinations ## + +Sources and destinations are special case plugins. While they technically identical to filter plugins they are not called using the plugin manager's `call()` method. Only one source and one destination can be use for each backup or restore operation so they are called individually rather than being chained like most plugin operations. These plugin types are different by convention only and are injected and configured in the same way as filters. + +See: [Sources](https://github.com/backupmigrate/backup_migrate_core/tree/master/src/Source), [Destinations](https://github.com/backupmigrate/backup_migrate_core/tree/master/src/Destination) diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Service/ArchiveReaderInterface.php b/modules/backup_migrate/lib/backup_migrate_core/src/Service/ArchiveReaderInterface.php new file mode 100644 index 0000000..291236b --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Service/ArchiveReaderInterface.php @@ -0,0 +1,50 @@ +secret_key = $secret_key; + $this->api_endpoint = $api_endpoints; + } + + /** + * Get the list of backups from the API. + * + * @return \array[] An array of assocative arrays of the file info + */ + public function listFiles() { + return $this->call('backups.listFiles', [$this->getSiteID()]); + } + + /** + * Send a readable backup file to NodeSquirrel if the site limits allow it. + * + * @param \BackupMigrate\Core\File\BackupFileReadableInterface $file + * + * @return \BackupMigrate\Core\File\BackupFileReadableInterface + * + * @throws \BackupMigrate\Core\Exception\BackupMigrateException + */ + public function uploadFile(BackupFileReadableInterface $file) { + $site_id = $this->getSiteID(); + $filename = $file->getFullName(); + $filesize = $file->getMeta('filesize'); + + // Get an upload ticket. + try { + $ticket = $this->call('backups.getUploadTicket', [$site_id, $filename, $filesize, $file->getMetaAll()]); + } + catch (BackupMigrateException $e) { + throw new BackupMigrateException( + 'Could not initiate an upload to NodeSquirrel. Error: %err (code: %code)', + ['%err' => $e->getMessage(), '%code' => $e->getCode()] + ); + } + + // Post the file. + try { + $this->getHttpClient()->postFile($ticket['url'], $file, $ticket['params']); + } + catch (BackupMigrateException $e) { + throw new BackupMigrateException( + 'Could not upload to NodeSquirrel: %err (code: %code)', + ['%err' => $e->getMessage(), '%code' => $e->getCode()] + ); + } + + // Confirm the upload. + try { + $this->call('backups.confirmUpload', [$site_id, $filename, $filesize]); + } + catch (BackupMigrateException $e) { + throw new BackupMigrateException( + 'Could not confirm the upload to NodeSquirrel: %err (code: %code)', + ['%err' => $e->getMessage(), '%code' => $e->getCode()] + ); + } + } + + /** + * Send a delete call to the API. + * + * @param $id + * + * @return mixed + */ + public function deleteFile($id) { + return $this->call('backups.deleteFile', [$this->getSiteID(), $id]); + } + + /** + * Call a method on the API. + * + * @param string $method + * @param array $args + * + * @return mixed + * + * @throws \BackupMigrate\Core\Exception\BackupMigrateException + */ + public function call($method, $args) { + // Add the key authentication arguments if we can. + $args = $this->signRequest($args); + // Call the API using xmlrpc. + return $this->xmlrpcCall($method, $args, $this->getEndpoints()); + } + + /** + * Do the actual call. The args must be signed with a secret key already. + * + * It may call itself to fetch new endpoint URLS if needed. The retry argument + * prevents an infinite loop if new endpoints cannot be retrieved. + * + * @param $method + * @param $args + * @param $endpoints + * @param int $retry + * + * @return mixed + * + * @throws \BackupMigrate\Core\Exception\BackupMigrateException + */ + protected function xmlrpcCall($method, $args, $endpoints, $retry = 3) { + if ($endpoints && --$retry > 0) { + $endpoint = reset($endpoints); + + // Try each available server in order. + while ($endpoint) { + // Add the protocol to the url. + if (strpos($endpoint, 'http') !== 0) { + $endpoint = 'https://' . $endpoint; + } + + // Do the actual call. + try { + // Encode the request. + $post = xmlrpc_encode_request($method, $args); + // Post the request. + $out = $this->getHttpClient()->post($endpoint, $post); + // Decode the response. + $out = xmlrpc_decode($out); + + // Check for xml errors. + if (isset($out['faultCode'])) { + throw new BackupMigrateException($out['faultString'], [], $out['faultCode']); + } + + return $out; + } + catch (BackupMigrateException $e) { + // Deal with errors. + switch ($e->getCode()) { + case '500': + case '503': + case '404': + // Some sort of server error. Try the next one. + $endpoint = next($endpoints); + + // If we're at the end of the line then try refetching the urls. + if (!$endpoint) { + $endpoints = $this->fetchEndpoints(TRUE, $retry); + return $this->xmlrpcCall($method, $args, $endpoints, $retry); + } + break; + + case '300': + // 'Multiple Choices' means that the existing server list needs to be refreshed. + $servers = $this->fetchEndpoints(TRUE, $retry); + return $this->xmlrpcCall($method, $args, $servers, $retry); + + break; + case '401': + case '403': + // Authentication failed. + throw new BackupMigrateException('Couldn\'t log in to NodeSquirrel. The server error was: %err', + ['%err' => $e->getMessage()]); + + break; + default: + // Some sort of client error. Don't try the next server because it'll probably say the same thing. + throw new BackupMigrateException('The NodeSquirrel server returned the following error: %err', + ['%err' => $e->getMessage()]); + break; + } + } + } + } + } + + /** + * @param string $secret_key + */ + public function setSecretKey($secret_key) { + $this->secret_key = $secret_key; + } + + /** + * Do the actual XMLRPC call. + * + * @param $endpoint + * @param $method + * @param $args + * + * @return array + * + * @throws \BackupMigrate\Core\Exception\BackupMigrateException + */ + protected function doXmlrpcCall($endpoint, $method, $args) { + if (!function_exists('xmlrpc_encode')) { + throw new BackupMigrateException('NodeSquirrel requires the php XML-RPC extension.'); + } + + // Encode the request. + $post = xmlrpc_encode_request($method, $args); + // Post the request. + $out = $this->getHttpClient()->postData($endpoint, $post); + // Decode the response. + $out = xmlrpc_decode($out); + return $out; + } + + /** + * Sign a set of method arguments with our secret key. + * + * @param $args + * + * @return bool + */ + protected function signRequest($args) { + $crypto = $this->getCryptoValues(); + $hash = $this->getHash($crypto['time'], $crypto['nonce']); + if ($hash) { + array_unshift($args, $crypto['nonce']); + array_unshift($args, $crypto['time']); + array_unshift($args, $hash); + return $args; + } + else { + return FALSE; + } + } + + /** + * Get a hash to use as a secure 1-time signature for a request. + * + * @param $time + * @param $nonce + * + * @return string + * + * @throws \BackupMigrate\Core\Exception\BackupMigrateException + */ + protected function getHash($time, $nonce) { + if ($private_key = $this->getPrivateKey()) { + $message = $time . ':' . $nonce . ':' . $private_key; + // Use HMAC-SHA1 to authenticate the call. + $hash = base64_encode( + pack('H*', + sha1((str_pad($private_key, 64, chr(0x00)) ^ (str_repeat(chr(0x5c), + 64))) . + pack('H*', + sha1((str_pad($private_key, 64, chr(0x00)) ^ (str_repeat(chr(0x36), + 64))) . + $message)))) + ); + return $hash; + } + throw new BackupMigrateException('You must enter a valid secret key to use NodeSquirrel.', + []); + } + + /** + * Get the variable inputs to the hash function. This let's us stub this with known values during testing. + * + * @return array + */ + protected function getCryptoValues() { + if ($this->crypto_values) { + return $this->crypto_values; + } + return [ + 'nonce' => md5(mt_rand()), + 'time' => time(), + ]; + } + + /** + * Can be used to fix the random/timebased signing values. + * + * Should only be used for testing purposes. + * + * @param $values + */ + public function setCryptoValues($values) { + $this->crypto_values = $values; + } + + /** + * Retrieve the list of servers by making an rpc call to the servers we know about. + */ + function refetchEndpoints($refresh = FALSE, $retry = 3) { + // TODO: Implement this as it needs local caching to be effective. + return []; + } + + /** + * @return \BackupMigrate\Core\Service\HttpClientInterface + * @throws \BackupMigrate\Core\Exception\BackupMigrateException + */ + public function getHttpClient() { + if (!$this->http_client) { + $this->http_client = new PhpCurlHttpClient(); + } + return $this->http_client; + } + + /** + * @param HttpClientInterface $http_client + */ + public function setHttpClient(HttpClientInterface $http_client) { + $this->http_client = $http_client; + } + + + /** + * Get a list of API endpoint urls (without the protocol). + * + * @return mixed + */ + protected function getEndpoints() { + return $this->api_endpoint; + } + + /** + * Get the secret key. + * + * @return string + */ + protected function getSecretKey() { + return $this->secret_key; + } + + /** + * Get the site id from the secret key. + * + * @return mixed + */ + protected function getSiteID() { + list($id,) = explode(':', $this->getSecretKey()); + return $id; + } + + /** + * Get the site id from the secret key. + * + * @return mixed + */ + protected function getPrivateKey() { + list(, $key) = explode(':', $this->getSecretKey()); + return $key; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Service/PhpCurlHttpClient.php b/modules/backup_migrate/lib/backup_migrate_core/src/Service/PhpCurlHttpClient.php new file mode 100644 index 0000000..7532c27 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Service/PhpCurlHttpClient.php @@ -0,0 +1,98 @@ +getCurlResource($url); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, $data); + + return $this->curlExec($ch); + } + + /** + * Post a file along with other data (as an array). + * + * @param $url + * @param \BackupMigrate\Core\File\ReadableStreamBackupFile $file + * @param $data + * + * @return mixed + */ + public function postFile($url, ReadableStreamBackupFile $file, $data) { + $data['file'] = new \CURLFile($file->realpath()); + $data['file']->setPostFilename($file->getFullName()); + return $this->post($url, $data); + } + + /** + * Get the CURL Resource with default options. + * + * @param $url + * + * @return resource + */ + protected function getCurlResource($url) { + $ch = curl_init($url); + curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_FAILONERROR, TRUE); + return $ch; + } + + /** + * Perform the http action and return the body or throw an exception. + * + * @param $ch + * + * @return mixed + * + * @throws \BackupMigrate\Core\Exception\HttpClientException + */ + protected function curlExec($ch) { + $body = curl_exec($ch); + if ($msg = curl_error($ch)) { + $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); + if (!$code) { + $info['code'] = curl_errno($ch); + } + throw new HttpClientException($msg, [], $code); + } + return $body; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Service/README.md b/modules/backup_migrate/lib/backup_migrate_core/src/Service/README.md new file mode 100644 index 0000000..e1bbf8d --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Service/README.md @@ -0,0 +1,35 @@ +# Services # + +If a plugin needs to access the greater environment to write logs, store data, etc. it should rely on service objects which may be injected into the plugin at run time. + +## Service Manager ## + +The `ServiceManagerInterface` defines a very simple service container and dependency injector which stores a keyed list of services available to plugins which need them. The built in `ServiceManager` class implements this interface in the most basic way possible. A consuming application may choose to implement a manager using a more sophisticated dependency management and configuration solution such as [Pimple](http://pimple.sensiolabs.org/), [PHP-DI](http://php-di.org/) or [Symfony's DependencyInjection Component](http://symfony.com/doc/current/components/dependency_injection/introduction.html). The built in locator simply takes a list of already configured services and returns them when requested or automatically injects them as described below. + +## Service Injection ## + +It is not necessary to use automatic service injection. A consuming application can simply instantiate plugins and pass the necessary services directly to them. However, a simple service injection mechanism is provided by the service manager which can make dynamically creating plugins much simpler. + +Plugins can request that a service be injected by defining a setter with called `setServiceName` where 'ServiceName' is replaced with the name of the given service. Here is an pseudo-code example: + + class MyPlugin implements PluginInterface { + + // Logger service setter + public function setLogger(LoggerInterface $logger) { + $this->logger = $logger; + } + + // ... + } + +This plugin will have a logger injected if one is available: + + $bam = new BackupMigrate(); + + // The key 'Logger' must match 'setLogger' + $bam->services()->add('Logger', new MyLogger()); + + // The manager will inject the logger automatically. + $bam->plugins()->add('myplugin', new MyPlugin()); + + \ No newline at end of file diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Service/ServiceManager.php b/modules/backup_migrate/lib/backup_migrate_core/src/Service/ServiceManager.php new file mode 100644 index 0000000..c141f4a --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Service/ServiceManager.php @@ -0,0 +1,104 @@ +services = []; + + // Allow the locator to inject itself. + $this->services['ServiceManager'] = $this; + } + + /** + * Add a fully configured service to the service locator. + * + * @param string $type + * The service type identifier. + * @param mixed $service + * + * @return null + */ + public function add($type, $service) { + $this->services[$type] = $service; + + // Add this service as a client so it can have dependencies injected. + $this->addClient($service); + + // Update any plugins that have already had this service injected. + if (isset($this->clients[$type])) { + foreach ($this->clients[$type] as $client) { + $client->{'set' . $type}($service); + } + } + } + + /** + * Retrieve a service from the locator. + * + * @param string $type + * The service type identifier + * + * @return mixed + */ + public function get($type) { + return $this->services[$type]; + } + + /** + * Get an array of keys for all available services. + * + * @return array + */ + public function keys() { + return array_keys($this->services); + } + + /** + * Inject all available services into the give plugin. + * + * @param object $client + * + * @return mixed|void + */ + public function addClient($client) { + // Inject available services. + foreach ($this->keys() as $type) { + if (method_exists($client, 'set' . $type) && $service = $this->get($type)) { + // Save the plugin so it can be updated if this service is updated. + $this->clients[$type][] = $client; + + $client->{'set' . $type}($service); + } + } + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Service/ServiceManagerInterface.php b/modules/backup_migrate/lib/backup_migrate_core/src/Service/ServiceManagerInterface.php new file mode 100644 index 0000000..1bbcee6 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Service/ServiceManagerInterface.php @@ -0,0 +1,43 @@ +logs[] = ['level' => $level, 'message' => $message, 'context' => $context]; + } + + /** + * Get all of the log messages that were saved to this stash. + * + * @return array + */ + public function getAll() { + return $this->logs; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Service/TarArchiveReader.php b/modules/backup_migrate/lib/backup_migrate_core/src/Service/TarArchiveReader.php new file mode 100644 index 0000000..fe311b6 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Service/TarArchiveReader.php @@ -0,0 +1,400 @@ +archive = $out; + } + + + /** + * Extract all files to the given directory. + * + * @param $directory + * + * @return mixed + */ + public function extractTo($directory) { + $this->archive->openForRead(TRUE); + + $result = $this->extractAllToDirectory($directory); + + $this->archive->close(); + + return $result; + } + + /** + * @param $directory + * The directory to extract the files to. + * @return bool + * @throws \BackupMigrate\Core\Exception\BackupMigrateException + */ + private function extractAllToDirectory($directory) { + clearstatcache(); + + // Read a header block. + while (strlen($block = $this->archive->readBytes(512)) != 0) { + $header = $this->readHeader($block); + if (!$header) { + return FALSE; + } + + if ($header['filename'] == '') { + continue; + } + + // Check for potentially malicious files (containing '..' etc.). + if ($this->maliciousFilename($header['filename'])) { + throw new BackupMigrateException( + 'Malicious .tar detected, file %filename. Will not install in desired directory tree', + ['%filename' => $header['filename']] + ); + } + + // ignore extended / pax headers. + if ($header['typeflag'] == 'x' || $header['typeflag'] == 'g') { + $this->archive->seekBytes(ceil(($header['size'] / 512))); + continue; + } + + // Add the destination directory to the path. + if (substr($header['filename'], 0, 1) == '/') { + $header['filename'] = $directory . $header['filename']; + } + else { + $header['filename'] = $directory . '/' . $header['filename']; + } + + // If the file already exists, make sure we can overwrite it. + if (file_exists($header['filename'])) { + // Cannot overwrite a directory with a file. + if ((@is_dir($header['filename'])) + && ($header['typeflag'] == '') + ) { + throw new BackupMigrateException( + 'File %filename already exists as a directory', + ['%filename' => $header['filename']] + ); + } + // Cannot overwrite a file with a directory. + if (@is_file($header['filename']) && !@is_link($header['filename']) + && ($header['typeflag'] == "5") + ) { + throw new BackupMigrateException( + 'Directory %filename already exists as file', + ['%filename' => $header['filename']] + ); + } + // Cannot overwrite a read-only file. + if (!is_writeable($header['filename'])) { + throw new BackupMigrateException( + 'File %filename already exists and is write protected', + ['%filename' => $header['filename']] + ); + } + } + + // Extract a directory. + if ($header['typeflag'] == "5") { + if (!$this->createDir($header['filename'])) { + throw new BackupMigrateException( + 'Unable to create directory %filename', + ['%filename' => $header['filename']] + ); + } + } + // Extract a file/symlink + else { + if (!$this->createDir(dirname($header['filename']))) { + throw new BackupMigrateException( + 'Unable to create directory for %filename', + ['%filename' => $header['filename']] + ); + } + + // Symlink. + if ($header['typeflag'] == "2") { + if (@file_exists($header['filename'])) { + @unlink($header['filename']); + } + if (!@symlink($header['link'], $header['filename'])) { + throw new BackupMigrateException( + 'Unable to extract symbolic link: %filename', + ['%filename' => $header['filename']] + ); + } + } + // Regular file. + else { + // Open the file for writing. + if (($dest_file = @fopen($header['filename'], "wb")) == 0) { + throw new BackupMigrateException( + 'Error while opening %filename in write binary mode', + ['%filename' => $header['filename']] + ); + } + + // Write the file. + $n = floor($header['size'] / 512); + for ($i = 0; $i < $n; $i++) { + $content = $this->archive->readBytes(512); + fwrite($dest_file, $content, 512); + } + if (($header['size'] % 512) != 0) { + $content = $this->archive->readBytes(512); + fwrite($dest_file, $content, ($header['size'] % 512)); + } + + @fclose($dest_file); + + // Change the file mode, mtime. + @touch($header['filename'], $header['mtime']); + if ($header['mode'] & 0111) { + // make file executable, obey umask. + $mode = fileperms($header['filename']) | (~umask() & 0111); + @chmod($header['filename'], $mode); + } + + clearstatcache(); + + // Check if the file exists. + if (!is_file($header['filename'])) { + throw new BackupMigrateException( + 'Extracted file %filename does not exist. Archive may be corrupted.', + ['%filename' => $header['filename']] + ); + } + + // Check the file size. + $file_size = filesize($header['filename']); + if ($file_size != $header['size']) { + throw new BackupMigrateException( + 'Extracted file %filename does not have the correct file size. File is %actual bytes (%expected bytes expected). Archive may be corrupted', + ['%filename' => $header['filename'], '%expected' => (int) $header['size'], (int) '%actual' => $file_size] + ); + } + } + } + } + + return TRUE; + } + + /** + * Create a directory or return true if it already exists. + * + * @param $directory + * + * @return boolean + */ + private function createDir($directory) { + if ((@is_dir($directory)) || ($directory == '')) { + return TRUE; + } + $parent = dirname($directory); + + if ( + ($parent != $directory) && + ($parent != '') && + (!$this->createDir($parent)) + ) { + return FALSE; + } + if (@!mkdir($directory, 0777)) { + return FALSE; + } + return TRUE; + } + + /** + * Read a tar file header block. + * + * @param $block + * @param array $header + * + * @return array + * + * @throws \BackupMigrate\Core\Exception\BackupMigrateException + */ + private function readHeader($block, $header = []) { + if (strlen($block) == 0) { + $header['filename'] = ''; + return TRUE; + } + + if (strlen($block) != 512) { + $header['filename'] = ''; + throw new BackupMigrateException( + 'Invalid block size: %size bytes', + ['%size' => strlen($block)] + ); + } + + if (!is_array($header)) { + $header = []; + } + + // Calculate the checksum. + $checksum = 0; + // First part of the header. + for ($i = 0; $i < 148; $i++) { + $checksum += ord(substr($block, $i, 1)); + } + // Ignore the checksum value and replace it by ' ' (space). + for ($i = 148; $i < 156; $i++) { + $checksum += ord(' '); + } + // Last part of the header. + for ($i = 156; $i < 512; $i++) { + $checksum += ord(substr($block, $i, 1)); + } + + if (version_compare(PHP_VERSION, "5.5.0-dev") < 0) { + $fmt = "a100filename/a8mode/a8uid/a8gid/a12size/a12mtime/" . + "a8checksum/a1typeflag/a100link/a6magic/a2version/" . + "a32uname/a32gname/a8devmajor/a8devminor/a131prefix"; + } + else { + $fmt = "Z100filename/Z8mode/Z8uid/Z8gid/Z12size/Z12mtime/" . + "Z8checksum/Z1typeflag/Z100link/Z6magic/Z2version/" . + "Z32uname/Z32gname/Z8devmajor/Z8devminor/Z131prefix"; + } + $data = unpack($fmt, $block); + + if (strlen($data["prefix"]) > 0) { + $data["filename"] = "$data[prefix]/$data[filename]"; + } + + // Extract the checksum. + $header['checksum'] = octdec(trim($data['checksum'])); + if ($header['checksum'] != $checksum) { + $header['filename'] = ''; + + // Look for last block (empty block). + if (($checksum == 256) && ($header['checksum'] == 0)) { + return $header; + } + + throw new BackupMigrateException( + 'Invalid checksum for file %filename', + ['%filename' => $data['filename']] + ); + } + + // Extract the properties. + $header['filename'] = rtrim($data['filename'], "\0"); + $header['mode'] = octdec(trim($data['mode'])); + $header['uid'] = octdec(trim($data['uid'])); + $header['gid'] = octdec(trim($data['gid'])); + $header['size'] = octdec(trim($data['size'])); + $header['mtime'] = octdec(trim($data['mtime'])); + if (($header['typeflag'] = $data['typeflag']) == "5") { + $header['size'] = 0; + } + $header['link'] = trim($data['link']); + + // Look for long filename. + if ($header['typeflag'] == 'L') { + $header = $this->readLongHeader($header); + } + + return $header; + } + + /** + * Read a tar file header block for files with long names. + * + * @param $header + * + * @return array + * + * @throws \BackupMigrate\Core\Exception\BackupMigrateException + */ + private function readLongHeader($header) { + $filename = ''; + $filesize = $header['size']; + $n = floor($header['size'] / 512); + for ($i = 0; $i < $n; $i++) { + $content = $this->archive->readBytes(512); + $filename .= $content; + } + if (($header['size'] % 512) != 0) { + $content = $this->archive->readBytes(512); + $filename .= $content; + } + + $filename = rtrim(substr($filename, 0, $filesize), "\0"); + + // Read the next header. + $data = $this->archive->readBytes(512); + $header = $this->readHeader($data, $header); + $header['filename'] = $filename; + + return $header; + } + + /** + * Detect and report a malicious file name. + * + * @param string $file + * + * @return bool + */ + private function maliciousFilename($file) { + if (strpos($file, '/../') !== FALSE) { + return TRUE; + } + if (strpos($file, '../') === 0) { + return TRUE; + } + return FALSE; + } + + /** + * This will be called when all files have been added. It gives the implementation + * a chance to clean up and commit the changes if needed. + * + * @return mixed + */ + public function closeArchive() { + if ($this->archive) { + $this->archive->close(); + } + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Service/TarArchiveWriter.php b/modules/backup_migrate/lib/backup_migrate_core/src/Service/TarArchiveWriter.php new file mode 100644 index 0000000..efcd36b --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Service/TarArchiveWriter.php @@ -0,0 +1,212 @@ +archive = $out; + } + + /** + * {@inheritdoc} + */ + public function addFile($real_path, $new_path = '') { + $this->archive->openForWrite(TRUE); + + $new_path = $new_path ? $new_path : $real_path; + + $this->writeHeader($real_path, $new_path); + + $fp = @fopen($real_path, "rb"); + while (($v_buffer = fread($fp, 512)) != '') { + $v_binary_data = pack("a512", "$v_buffer"); + $this->archive->write($v_binary_data); + } + fclose($fp); + } + + /** + * @param $real_path + * @param $new_path + * @return bool + */ + protected function writeHeader($real_path, $new_path) { + if (strlen($new_path) > 99) { + $this->writeLongHeader($new_path); + } + + $v_info = lstat($real_path); + + $v_uid = sprintf("%6s ", decoct($v_info[4])); + $v_gid = sprintf("%6s ", decoct($v_info[5])); + $v_perms = sprintf("%6s ", decoct($v_info['mode'])); + $v_mtime = sprintf("%11s", decoct($v_info['mtime'])); + + $v_linkname = ''; + + if (@is_link($real_path)) { + $v_typeflag = '2'; + $v_linkname = readlink($real_path); + $v_size = sprintf("%11s ", decoct(0)); + } + elseif (@is_dir($real_path)) { + $v_typeflag = "5"; + $v_size = sprintf("%11s ", decoct(0)); + } + else { + $v_typeflag = ''; + clearstatcache(TRUE, $real_path); + $v_size = sprintf("%11s ", decoct($v_info['size'])); + } + + $v_magic = ''; + $v_version = ''; + $v_uname = ''; + $v_gname = ''; + $v_devmajor = ''; + $v_devminor = ''; + $v_prefix = ''; + + $v_binary_data_first = pack("a100a8a8a8a12A12", + $new_path, $v_perms, $v_uid, + $v_gid, $v_size, $v_mtime); + $v_binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12", + $v_typeflag, $v_linkname, $v_magic, + $v_version, $v_uname, $v_gname, + $v_devmajor, $v_devminor, $v_prefix, ''); + + // ----- Calculate the checksum. + $v_checksum = 0; + // ..... First part of the header. + for ($i = 0; $i < 148; $i++) { + $v_checksum += ord(substr($v_binary_data_first, $i, 1)); + } + // ..... Ignore the checksum value and replace it by ' ' (space). + for ($i = 148; $i < 156; $i++) { + $v_checksum += ord(' '); + } + // ..... Last part of the header. + for ($i = 156, $j = 0; $i < 512; $i++, $j++) { + $v_checksum += ord(substr($v_binary_data_last, $j, 1)); + } + + // ----- Write the first 148 bytes of the header in the archive. + $this->archive->write($v_binary_data_first, 148); + + // ----- Write the calculated checksum. + $v_checksum = sprintf("%6s ", decoct($v_checksum)); + $v_binary_data = pack("a8", $v_checksum); + $this->archive->write($v_binary_data, 8); + + // ----- Write the last 356 bytes of the header in the archive. + $this->archive->write($v_binary_data_last, 356); + } + + /** + * @param $new_path + * @return bool + */ + function writeLongHeader($new_path) { + $v_size = sprintf("%11s ", decoct(strlen($new_path))); + + $v_typeflag = 'L'; + $v_linkname = ''; + $v_magic = ''; + $v_version = ''; + $v_uname = ''; + $v_gname = ''; + $v_devmajor = ''; + $v_devminor = ''; + $v_prefix = ''; + + $v_binary_data_first = pack("a100a8a8a8a12A12", + '././@LongLink', 0, 0, 0, $v_size, 0); + $v_binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12", + $v_typeflag, $v_linkname, $v_magic, + $v_version, $v_uname, $v_gname, + $v_devmajor, $v_devminor, $v_prefix, ''); + + // ----- Calculate the checksum. + $v_checksum = 0; + // ..... First part of the header. + for ($i = 0; $i < 148; $i++) { + $v_checksum += ord(substr($v_binary_data_first, $i, 1)); + } + // ..... Ignore the checksum value and replace it by ' ' (space). + for ($i = 148; $i < 156; $i++) { + $v_checksum += ord(' '); + } + // ..... Last part of the header. + for ($i = 156, $j = 0; $i < 512; $i++, $j++) { + $v_checksum += ord(substr($v_binary_data_last, $j, 1)); + } + + // ----- Write the first 148 bytes of the header in the archive. + $this->archive->write($v_binary_data_first, 148); + + // ----- Write the calculated checksum. + $v_checksum = sprintf("%6s ", decoct($v_checksum)); + $v_binary_data = pack("a8", $v_checksum); + $this->archive->write($v_binary_data, 8); + + // ----- Write the last 356 bytes of the header in the archive. + $this->archive->write($v_binary_data_last, 356); + + // ----- Write the filename as content of the block. + $i = 0; + while (($v_buffer = substr($new_path, (($i++) * 512), 512)) != '') { + $v_binary_data = pack("a512", "$v_buffer"); + $this->archive->write($v_binary_data); + } + } + + /** + * Write a footer to mark the end of the archive. + */ + private function writeFooter() { + // ----- Write the last 0 filled block for end of archive. + $v_binary_data = pack('a1024', ''); + $this->archive->write($v_binary_data); + } + + /** + * {@inheritdoc} + */ + public function closeArchive() { + $this->writeFooter(); + $this->archive->close(); + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Service/TeeLogger.php b/modules/backup_migrate/lib/backup_migrate_core/src/Service/TeeLogger.php new file mode 100644 index 0000000..f4d1582 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Service/TeeLogger.php @@ -0,0 +1,69 @@ +setLoggers($loggers); + } + + /** + * Logs with an arbitrary level. + * + * @param mixed $level + * @param string $message + * @param array $context + * + * @return null + */ + public function log($level, $message, array $context = []) { + foreach ($this->getLoggers() as $logger) { + $logger->log($level, $message, $context); + } + } + + /** + * @return \Psr\Log\LoggerInterface[] + */ + public function getLoggers() { + return $this->loggers; + } + + /** + * @param \Psr\Log\LoggerInterface[] $loggers + */ + public function setLoggers($loggers) { + $this->loggers = $loggers; + } + + /** + * @param \Psr\Log\LoggerInterface $logger + */ + public function addLogger(LoggerInterface $logger) { + $this->loggers[] = $logger; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Source/DatabaseSource.php b/modules/backup_migrate/lib/backup_migrate_core/src/Source/DatabaseSource.php new file mode 100644 index 0000000..594e308 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Source/DatabaseSource.php @@ -0,0 +1,123 @@ + 'text', + 'title' => 'Hostname' + ]; + $schema['fields']['database'] = [ + 'type' => 'text', + 'title' => 'Database' + ]; + $schema['fields']['username'] = [ + 'type' => 'text', + 'title' => 'Username', + ]; + $schema['fields']['password'] = [ + 'type' => 'password', + 'title' => 'Password' + ]; + $schema['fields']['port'] = [ + 'type' => 'number', + 'min' => 1, + 'max' => 65535, + 'title' => 'Port', + ]; + } + + return $schema; + } + + /** + * Get the default values for the plugin. + * + * @return \BackupMigrate\Core\Config\Config + */ + public function configDefaults() { + return new Config([ + 'generator' => 'Backup and Migrate Core', + ]); + } + + /** + * Get a list of tables in this source. + */ + public function getTableNames() { + try { + return $this->_getTableNames(); + } + catch (\Exception $e) { + // Todo: Log this exception. + return []; + } + } + + /** + * Get an array of tables with some info. Each entry must have at least a + * 'name' key containing the table name. + * + * @return array + */ + public function getTables() { + try { + return $this->_getTables(); + } + catch (\Exception $e) { + // Todo: Log this exception. + return []; + } + } + + + /** + * Get the list of tables from this db. + * + * @return array + */ + protected function _getTableNames() { + $out = []; + foreach ($this->_getTables() as $table) { + $out[$table['name']] = $table['name']; + } + return $out; + } + + /** + * Internal overridable function to actually generate table info. + * + * @return array + */ + abstract protected function _getTables(); + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Source/DatabaseSourceInterface.php b/modules/backup_migrate/lib/backup_migrate_core/src/Source/DatabaseSourceInterface.php new file mode 100644 index 0000000..9655b56 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Source/DatabaseSourceInterface.php @@ -0,0 +1,28 @@ + [], + 'importFromFile' => [] + ]; + } + + /** + * {@inheritdoc} + */ + public function exportToFile() { + if ($directory = $this->confGet('directory')) { + // Make sure the directory ends in exactly 1 slash: + if (substr($directory, -1) !== '/') { + $directory = $directory . '/'; + } + + if (!$writer = $this->getArchiveWriter()) { + throw new BackupMigrateException('A file directory source requires an archive writer object.'); + } + $ext = $writer->getFileExt(); + $file = $this->getTempFileManager()->create($ext); + + if ($files = $this->getFilesToBackup($directory)) { + $writer->setArchive($file); + foreach ($files as $new => $real) { + $writer->addFile($real, $new); + } + $writer->closeArchive(); + return $file; + } + throw new BackupMigrateException('The directory %dir does not not have any files to be backed up.', + ['%dir' => $directory]); + } + return FALSE; + } + + /** + * {@inheritdoc} + */ + public function importFromFile(BackupFileReadableInterface $file) { + if ($directory = $this->confGet('directory')) { + // Make sure the directory ends in exactly 1 slash: + if (substr($directory, -1) !== '/') { + $directory = $directory . '/'; + } + + if (!file_exists($directory)) { + throw new BackupMigrateException('The directory %dir does not exist to restore to.', + ['%dir' => $directory]); + } + if (!is_writable($directory)) { + throw new BackupMigrateException('The directory %dir cannot be written to because of the operating system file permissions.', + ['%dir' => $directory]); + } + + if (!$reader = $this->getArchiveReader()) { + throw new BackupMigrateException('A file directory source requires an archive reader object.'); + } + // Check that the file endings match. + if ($reader->getFileExt() !== $file->getExtLast()) { + throw new BackupMigrateException('This source expects a .%ext file.', ['%ext' => $reader->getFileExt()]); + } + + $reader->setArchive($file); + $reader->extractTo($directory); + $reader->closeArchive(); + + return TRUE; + } + return FALSE; + } + + /** + * Get a list if files to be backed up from the given directory. + * + * @param string $dir The name of the directory to list. + * + * @return array + * + * @throws \BackupMigrate\Core\Exception\BackupMigrateException + * @throws \BackupMigrate\Core\Exception\IgnorableException + * + * @internal param $directory + */ + protected function getFilesToBackup($dir) { + // Add a trailing slash if there is none. + if (substr($dir, -1) !== '/') { + $dir .= '/'; + } + + if (!file_exists($dir)) { + throw new BackupMigrateException('Directory %dir does not exist.', + ['%dir' => $dir]); + } + if (!is_dir($dir)) { + throw new BackupMigrateException('The file %dir is not a directory.', + ['%dir' => $dir]); + } + if (!is_readable($dir)) { + throw new BackupMigrateException('Directory %dir could not be read from.', + ['%dir' => $dir]); + } + + // Get a filtered list if files from the directory. + list($out, $errors) = $this->_getFilesFromDirectory($dir); + + // Alert the user to any errors there might have been. + if ($errors) { + $count = count($errors); + $file_list = implode(', ', array_slice($errors, 0, 5)); + if ($count > 5) { + $file_list .= ', ...'; + } + + if (!$this->confGet('ignore_errors')) { + throw new IgnorableException('The backup could not be completed because !count files could not be read: (!files).', + ['!count' => $count, '!files' => $file_list]); + } + else { + // throw new IgnorableException('!count files could not be read: (!files).', ['!files' => $filesmsg]); + // @TODO: Log the ignored files. + } + } + + return $out; + } + + /** + * @param $base_path + * The name of the directory to list. This must always end in '/'. + * @param string $subdir + * @return array + * @internal param string $dir + */ + protected function _getFilesFromDirectory($base_path, $subdir = '') { + $out = $errors = []; + + // Open the directory. + if (!$handle = opendir($base_path . $subdir)) { + $errors[] = $base_path . $subdir; + } + else { + while (($file = readdir($handle)) !== FALSE) { + // If not a dot file and the file name isn't excluded. + if ($file != '.' && $file != '..') { + + // Get the full path of the file. + $path = $base_path . $subdir . $file; + + // Allow filters to modify or exclude this path. + $path = $this->plugins()->call('beforeFileBackup', $path, ['source' => $this, 'base_path' => $base_path]); + if ($path) { + if (is_dir($path)) { + list($sub_files, $sub_errors) = + $this->_getFilesFromDirectory($base_path, $subdir . $file . '/'); + + // Add the directory if it is empty. + if (empty($sub_files)) { + $out[$subdir . $file] = $path; + } + + // Add the sub-files to the output. + $out = array_merge($out, $sub_files); + $errors = array_merge($errors, $sub_errors); + } + else { + if (is_readable($path)) { + $out[$subdir . $file] = $path; + } + else { + $errors[] = $path; + } + } + } + } + } + closedir($handle); + } + + return [$out, $errors]; + } + + /** + * @param \BackupMigrate\Core\Service\ArchiveWriterInterface $writer + */ + public function setArchiveWriter(ArchiveWriterInterface $writer) { + $this->archive_writer = $writer; + } + + /** + * @return \BackupMigrate\Core\Service\ArchiveWriterInterface + */ + public function getArchiveWriter() { + return $this->archive_writer; + } + + /** + * @return \BackupMigrate\Core\Service\ArchiveReaderInterface + */ + public function getArchiveReader() { + return $this->archive_reader; + } + + /** + * @param \BackupMigrate\Core\Service\ArchiveReaderInterface $archive_reader + */ + public function setArchiveReader($archive_reader) { + $this->archive_reader = $archive_reader; + } + + /** + * Get a definition for user-configurable settings. + * + * @param array $params + * + * @return array + */ + public function configSchema($params = []) { + $schema = []; + + // Init settings. + if ($params['operation'] == 'initialize') { + $schema['fields']['directory'] = [ + 'type' => 'text', + 'title' => $this->t('Directory Path'), + ]; + } + + return $schema; + } + + /** + * Get the default values for the plugin. + * + * @return \BackupMigrate\Core\Config\Config + */ + public function configDefaults() { + return new Config([ + 'directory' => '', + ]); + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Source/MySQLiSource.php b/modules/backup_migrate/lib/backup_migrate_core/src/Source/MySQLiSource.php new file mode 100644 index 0000000..d51bc03 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Source/MySQLiSource.php @@ -0,0 +1,455 @@ + [], + 'importFromFile' => [] + ]; + } + + /** + * Export this source to the given temp file. This should be the main + * back up function for this source. + * + * @return \BackupMigrate\Core\File\BackupFileReadableInterface $file + * A backup file with the contents of the source dumped to it.. + */ + public function exportToFile() { + if ($connection = $this->_getConnection()) { + $file = $this->getTempFileManager()->create('mysql'); + + $exclude = (array) $this->confGet('exclude_tables'); + $nodata = (array) $this->confGet('nodata_tables'); + + $file->write($this->_getSQLHeader()); + $tables = $this->_getTables(); + + $lines = 0; + foreach ($tables as $table) { + // @TODO reenable this. + // if (_backup_migrate_check_timeout()) { + // return FALSE; + // } + $table = $this->plugins()->call('beforeDBTableBackup', $table, ['source' => $this]); + if ($table['name'] && !isset($exclude[$table['name']]) && empty($table['exclude'])) { + $file->write($this->_getTableCreateSQL($table)); + $lines++; + if (empty($table['nodata']) && !in_array($table['name'], $nodata)) { + $lines += $this->_dumpTableSQLToFile($file, $table); + } + } + } + + $file->write($this->_getSQLFooter()); + $file->close(); + return $file; + } + else { + // @TODO: Throw exception + return $this->getTempFileManager()->create('mysql'); + } + + } + + /** + * Import to this source from the given backup file. This is the main restore + * function for this source. + * + * @param \BackupMigrate\Core\File\BackupFileReadableInterface $file + * The file to read the backup from. It will not be opened for reading + * + * @return bool|int + */ + public function importFromFile(BackupFileReadableInterface $file) { + $num = 0; + + if ($conn = $this->_getConnection()) { + // Open (or rewind) the file. + $file->openForRead(); + + // Read one line at a time and run the query. + while ($line = $this->_readSQLCommand($file)) { + // if (_backup_migrate_check_timeout()) { + // return FALSE; + // } + if ($line) { + // Execute the sql query from the file. + $conn->query($line); + $num++; + } + } + // Close the file, we're done reading it. + $file->close(); + } + return $num; + } + + + /** + * Get the db connection for the specified db. + * + * @return \mysqli Connection object. + * + * @throws \Exception + */ + protected function _getConnection() { + if (!$this->connection) { + if (!function_exists('mysqli_init') && !extension_loaded('mysqli')) { + throw new BackupMigrateException('Cannot connect to the database becuase the MySQLi extension is missing.'); + } + $this->connection = new \mysqli( + $this->confGet('host'), + $this->confGet('username'), + $this->confGet('password'), + $this->confGet('database'), + $this->confGet('port'), + $this->confGet('socket') + ); + // Throw an error on fail. + if ($this->connection->connect_errno || !$this->connection->ping()) { + throw new BackupMigrateException("Failed to connect to MySQL server."); + } + // Ensure, that the character set is UTF8. + if (!$this->connection->set_charset('utf8mb4')) { + if (!$this->connection->set_charset('utf8')) { + throw new BackupMigrateException('UTF8 is not supported by the MySQL server.'); + } + } + } + return $this->connection; + } + + + /** + * Get the header for the top of the SQL file. + * + * @return string + */ + protected function _getSQLHeader() { + $info = $this->_dbInfo(); + $version = $info['version']; + $host = $this->confGet('host'); + $db = $this->confGet('database'); + $timestamp = gmdate('r'); + $generator = $this->confGet('generator'); + + return <<
readLine()) { + $first2 = substr($line, 0, 2); + $first3 = substr($line, 0, 2); + + // Ignore single line comments. This function doesn't support multiline comments or inline comments. + if ($first2 != '--' && ($first2 != '/*' || $first3 == '/*!')) { + $out .= ' ' . trim($line); + // If a line ends in ; or */ it is a sql command. + if (substr($out, strlen($out) - 1, 1) == ';') { + return trim($out); + } + } + } + return trim($out); + } + + /** + * Lock the list of given tables in the database. + */ + protected function _lockTables($tables) { + if ($tables) { + $tables_escaped = []; + foreach ($tables as $table) { + $tables_escaped[] = '`' . $table . '` WRITE'; + } + $this->query('LOCK TABLES ' . implode(', ', $tables_escaped)); + } + } + + /** + * Unlock all tables in the database. + */ + protected function _unlockTables($settings) { + $this->query('UNLOCK TABLES'); + } + + /** + * Get a list of tables in the db. + */ + protected function _getTables() { + $out = []; + // get auto_increment values and names of all tables. + $tables = $this->query("SHOW TABLE STATUS"); + while ($tables && $table = $tables->fetch_assoc()) { + // Lowercase the keys for consistency. + $table = array_change_key_case($table); + $out[$table['name']] = $table; + } + return $out; + } + + /** + * Get the sql for the structure of the given table. + * + * @param array $table + * + * @return string + */ + protected function _getTableCreateSQL($table) { + $out = ""; + + // If this is a view. + if (empty($table['engine'])) { + // Switch SQL mode to for a simpler version of the create view syntax. + $sql_mode = $this->_fetchValue("SELECT @@SESSION.sql_mode"); + // @TODO: Setting the sql_mode does not seem to work. + $this->query("SET sql_mode = 'ANSI'"); + $create = $this->_fetchAssoc("SHOW CREATE VIEW `" . $table['name'] . "`"); + if ($create) { + // Lowercase the keys for consistency. + $create = array_change_key_case($create); + $out .= "DROP VIEW IF EXISTS `" . $table['name'] . "`;\n"; + $out .= "SET sql_mode = 'ANSI';\n"; + $out .= strtr($create['create view'], "\n", " ") . ";\n"; + $out .= "SET sql_mode = '$sql_mode';\n"; + } + + // Set the SQL_mode back to the original value. + $this->query("SET SQL_mode = '$sql_mode'"); + } + + // This is a regular table. + else { + $create = $this->_fetchAssoc("SHOW CREATE TABLE `" . $table['name'] . "`"); + if ($create) { + // Lowercase the keys for consistency. + $create = array_change_key_case($create); + $out .= "DROP TABLE IF EXISTS `" . $table['name'] . "`;\n"; + // Remove newlines. + $out .= strtr($create['create table'], ["\n" => ' ']); + if ($table['auto_increment']) { + $out .= " AUTO_INCREMENT=" . $table['auto_increment']; + } + $out .= ";\n"; + } + } + + return $out; + } + + /** + * Get the sql to insert the data for a given table. + */ + protected function _dumpTableSQLToFile(BackupFileWritableInterface $file, $table) { + + // If this is a view, do not export any data. + if (empty($table['engine'])) { + return 0; + } + + // Otherwise export the table data. + $rows_per_line = 30; + // $this->confGet('rows_per_line');//variable_get('backup_migrate_data_rows_per_line', 30); + $bytes_per_line = 2000; + // $this->confGet('bytes_per_line'); variable_get('backup_migrate_data_bytes_per_line', 2000); + $lines = 0; + $result = $this->query("SELECT * FROM `" . $table['name'] . "`"); + $rows = $bytes = 0; + + // Escape backslashes, PHP code, special chars. + $search = ['\\', "'", "\x00", "\x0a", "\x0d", "\x1a"]; + $replace = ['\\\\', "''", '\0', '\n', '\r', '\Z']; + + while ($result && $row = $result->fetch_assoc()) { + // DB Escape the values. + $items = []; + foreach ($row as $key => $value) { + $items[] = is_null($value) ? "null" : "'" . str_replace($search, $replace, $value) . "'"; + // @TODO: escape binary data + } + + // If there is a row to be added. + if ($items) { + // Start a new line if we need to. + if ($rows == 0) { + $file->write("INSERT INTO `" . $table['name'] . "` VALUES "); + $bytes = $rows = 0; + } + // Otherwise add a comma to end the previous entry. + else { + $file->write(","); + } + + // Write the data itself. + $sql = implode(',', $items); + $file->write('(' . $sql . ')'); + $bytes += strlen($sql); + $rows++; + + // Finish the last line if we've added enough items. + if ($rows >= $rows_per_line || $bytes >= $bytes_per_line) { + $file->write(";\n"); + $lines++; + $bytes = $rows = 0; + } + } + } + // Finish any unfinished insert statements. + if ($rows > 0) { + $file->write(";\n"); + $lines++; + } + + return $lines; + } + + + /** + * Run a db query on this destination's db. + * + * @param $query + * + * @return bool|\mysqli_result + * + * @throws \Exception + */ + protected function query($query) { + if ($conn = $this->_getConnection()) { + return $conn->query($query); + } + else { + throw new \Exception('Could not run any queries on the database as a connection could not be established'); + } + } + + /** + * Return the first result of the query as an associated array. + * + * @param string $query A SQL query. + * + * @return array + * + * @throws \Exception + */ + protected function _fetchAssoc($query) { + $result = $this->query($query); + if ($result) { + return $result->fetch_assoc(); + } + return []; + } + + + /** + * Return the first field of the first result of a query. + * + * @param string $query A SQL query. + * + * @return null|object + * + * @throws \Exception + */ + protected function _fetchValue($query) { + $result = $this->_fetchAssoc($query); + return reset($result); + } + + + /** + * Get the version info for the given DB. + */ + protected function _dbInfo() { + $conn = $this->_getConnection(); + return [ + 'type' => 'mysql', + 'version' => $conn->server_version, + ]; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Source/README.md b/modules/backup_migrate/lib/backup_migrate_core/src/Source/README.md new file mode 100644 index 0000000..a70f558 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Source/README.md @@ -0,0 +1,11 @@ +# Sources + +A source in Backup and Migrate is a thing that can be backed up. This could be a database or a file directory. An object that implements the `\BackupMigrate\Core\Source\SourceInterface` is responsible for creating a single backup file that represents the specified source. It is also responsible for restoring the to that source from a backup file. + +Sources in Backup and Migrate are implemented as plugins and will have dependencies and configuration injected into them by the Plugin Manager. + +A single Backup and Migrate instance can have more than one source of a given type. Each source will have a unique key that will be used to pass the configuration to the source object and to specify the source when running a `backup()` or `restore()` operation. + +Like other plugins, sources are passed to the Backup and Migrate object by the consuming application by calling the `add()` method on the sources plugin manager. + + $backup_migrate->sources()->add('source1', new MySourcePlugin()); \ No newline at end of file diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Source/SourceBase.php b/modules/backup_migrate/lib/backup_migrate_core/src/Source/SourceBase.php new file mode 100644 index 0000000..54f6a12 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Source/SourceBase.php @@ -0,0 +1,32 @@ + [], + 'importFromFile' => [] + ]; + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Source/SourceInterface.php b/modules/backup_migrate/lib/backup_migrate_core/src/Source/SourceInterface.php new file mode 100644 index 0000000..b11c6c9 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Source/SourceInterface.php @@ -0,0 +1,35 @@ + $value) { + switch (substr($key, 0, 1)) { + case '@': + case '%': + $replacements[$key] = strip_tags($value); + break; + } + } + + return strtr($string, $replacements); + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Translation/TranslatableInteface.php b/modules/backup_migrate/lib/backup_migrate_core/src/Translation/TranslatableInteface.php new file mode 100644 index 0000000..2977694 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Translation/TranslatableInteface.php @@ -0,0 +1,30 @@ +t(...); + * to translate a string (if a translator is available). + * + * Class TranslatableTrait + * + * @package BackupMigrate\Core\Translation + */ +trait TranslatableTrait { + /** + * @var TranslatorInterface; + */ + protected $translator; + + /** + * @param TranslatorInterface $translator + */ + public function setTranslator($translator) { + $this->translator = $translator; + } + + /** + * Translate the given string if there is a translator service available. + * + * @param $string + * @param $replacements + * @param $context + * + * @return mixed + */ + public function t($string, $replacements = [], $context = []) { + // If there is no translation service available use a passthrough to send + // back the original (en-us) string. + if (empty($this->translator)) { + $this->translator = new PassthroughTranslator(); + } + return $this->translator->translate($string, $replacements, $context); + } + +} diff --git a/modules/backup_migrate/lib/backup_migrate_core/src/Translation/TranslatorInterface.php b/modules/backup_migrate/lib/backup_migrate_core/src/Translation/TranslatorInterface.php new file mode 100644 index 0000000..1057b75 --- /dev/null +++ b/modules/backup_migrate/lib/backup_migrate_core/src/Translation/TranslatorInterface.php @@ -0,0 +1,31 @@ +getAll() as $plugin_key => $plugin) { + $schema = $plugin->configSchema(['operation' => $operation]); + $config = $plugin->config(); + + DrupalConfigHelper::addFieldsFromSchema($form, $schema, $config, array_merge($parents, [$plugin_key])); + } + return $form; + + } + + /** + * Build the configuration form for a single plugin, source or destination. + * + * @param \BackupMigrate\Core\Config\ConfigurableInterface $plugin + * The plugin, source or destination to build the form for. + * @param string $operation + * 'backup', 'restore', or 'initialize' depending on the operation being configured for. + * @param array $parents + * + * @return array + */ + static public function buildPluginForm($plugin, $operation, $parents = ['config']) { + $schema = $plugin->configSchema(['operation' => $operation]); + $config = $plugin->config(); + + return DrupalConfigHelper::buildFormFromSchema($schema, $config, $parents); + } + + /** + * @param array $schema + * A configuration schema from one or more Backup and Migrate plugins. + * @param \BackupMigrate\Core\Config\ConfigInterface $config + * The configuration object containing the default values. + * @param array $parents + * The form parents array. + * @return array + * A drupal forms api array. + */ + static public function buildFormFromSchema($schema, ConfigInterface $config, $parents = [], $form = []) { + $form = []; + DrupalConfigHelper::addFieldsFromSchema($form, $schema, $config, $parents); + return $form; + } + + /** + * Add the schema fields to the given form array. + * + * @param array $schema + * A configuration schema from one or more Backup and Migrate plugins. + * @param \BackupMigrate\Core\Config\ConfigInterface $config + * The configuration object containing the default values. + * @param array $parents + * The form parents array. + */ + static public function addFieldsFromSchema(&$form, $schema, ConfigInterface $config, $parents = []) { + // Add the specified groups. + if (isset($schema['groups'])) { + foreach ($schema['groups'] as $group_key => $item) { + // If the group is just called 'default' then use the key from the plugin as the group key. + // @TODO: make this less ugly. + if ($group_key == 'default' && $parents) { + $group_key = end($parents); + } + if (!isset($form[$group_key])) { + $form[$group_key] = [ + '#type' => 'fieldset', + '#title' => $item['title'], + '#tree' => FALSE, + ]; + } + } + } + + // Add each of the fields. + if (isset($schema['fields'])) { + foreach ($schema['fields'] as $field_key => $item) { + $form_item = []; + $value = $config->get($field_key); + + switch ($item['type']) { + case 'text': + $form_item['#type'] = 'textfield'; + if (!empty($item['multiple'])) { + $form_item['#type'] = 'textarea'; + if (!isset($form_item['#description'])) { + $form_item['#description'] = ''; + } + $form_item['#description'] .= ' ' . t('Add one item per line.'); + $form_item['#element_validate'] = ['BackupMigrate\Drupal\Config\DrupalConfigHelper::validateMultiText']; + $value = implode("\n", $value); + } + if (!empty($item['multiline'])) { + $form_item['#type'] = 'textarea'; + } + break; + + case 'password': + $form_item['#type'] = 'password'; + $form_item['#value_callback'] = 'BackupMigrate\Drupal\Config\DrupalConfigHelper::valueCallbackSecret'; + break; + + case 'number': + $form_item['#type'] = 'textfield'; + $form_item['#size'] = 5; + if (!empty($item['max'])) { + $form_item['#size'] = strlen((string) $item['max']) + 3; + } + break; + + case 'boolean': + $form_item['#type'] = 'checkbox'; + break; + + case 'enum': + $form_item['#type'] = 'select'; + $form_item['#multiple'] = !empty($item['multiple']); + if (empty($item['#required']) && empty($item['multiple'])) { + $item['options'] = ['' => '--' . t('None') . '--'] + $item['options']; + } + $form_item['#options'] = $item['options']; + break; + } + + // If there is a form item add it to the form. + if ($form_item) { + // Add the common form elements. + $form_item['#title'] = $item['title']; + $form_item['#parents'] = array_merge($parents, [$field_key]); + $form_item['#required'] = !empty($item['required']); + $form_item['#default_value'] = $value; + + if (!empty($item['description'])) { + $form_item['#description'] = $item['description']; + } + + // Add the field to it's group or directly to the top level of the form. + if (!empty($item['group'])) { + $group_key = $item['group']; + if ($group_key == 'default' && $parents) { + $group_key = end($parents); + } + $form[$group_key][$field_key] = $form_item; + } + else { + $form[$field_key] = $form_item; + } + } + } + } + } + + /** + * Break a multi-line text value into an array. + * + * @param $element + * @param $form_state + */ + public static function validateMultiText(&$element, FormStateInterface &$form_state) { + $form_state->setValueForElement($element, array_map('trim', explode("\n", $element['#value']))); + } + + /** + * A value mapping callback that replaces missing secrets because the Form API + * does not preserve the default values of password inputs. + * + * @param $element + * @param $input + * @param \Drupal\Core\Form\FormStateInterface $form_state + */ + public static function valueCallbackSecret(&$element, $input, FormStateInterface $form_state) { + if (empty($input)) { + return $element['#default_value']; + } + return $input; + } + + /** + * Get a pulldown for the given list of plugins. + * + * @param \BackupMigrate\Core\Config\ConfigurableInterface[]|\BackupMigrate\Core\Plugin\PluginManagerInterface $plugins + * @param $title + * @param null $default_value + * + * @return array + */ + public static function getPluginSelector(PluginManagerInterface $plugins, $title, $default_value = NULL) { + $options = []; + foreach ($plugins->getAll() as $key => $plugin) { + $options[$key] = $plugin->confGet('name', $key); + } + return [ + '#type' => 'select', + '#title' => $title, + '#options' => $options, + '#default_value' => $default_value + ]; + } + + /** + * Get a select form item for the given list of sources. + * + * @param \BackupMigrate\Core\Main\BackupMigrateInterface $bam + * @param $title + * @param null $default_value + * + * @return array + */ + public static function getSourceSelector(BackupMigrateInterface $bam, $title, $default_value = NULL) { + return DrupalConfigHelper::getPluginSelector($bam->sources(), $title, $default_value); + } + + /** + * Get a select form item for the given list of sources. + * + * @param \BackupMigrate\Core\Main\BackupMigrateInterface $bam + * @param $title + * @param null $default_value + * + * @return array + */ + public static function getDestinationSelector(BackupMigrateInterface $bam, $title, $default_value = NULL) { + return DrupalConfigHelper::getPluginSelector($bam->destinations(), $title, $default_value); + } + + + /** + * GEt a pulldown for the list of all settings profiles. + * + * @param $title + * + * @return array + */ + public static function getSettingsProfileSelector($title, $default_value = NULL) { + $options = []; + foreach (SettingsProfile::loadMultiple() as $key => $profile) { + $options[$key] = $profile->get('label'); + } + if ($options) { + return [ + '#type' => 'select', + '#title' => $title, + '#options' => $options, + '#default_value' => $default_value + ]; + } + } + +} diff --git a/modules/backup_migrate/src/Controller/BackupController.php b/modules/backup_migrate/src/Controller/BackupController.php new file mode 100644 index 0000000..5d4de65 --- /dev/null +++ b/modules/backup_migrate/src/Controller/BackupController.php @@ -0,0 +1,202 @@ +getStorage('backup_migrate_destination'); + + $out = []; + foreach ($storage->getQuery()->execute() as $key) { + $entity = $storage->load($key); + $destination = $entity->getObject(); + $label = $destination->confGet('name'); + + $out[$key] = [ + 'title' => [ + '#markup' => '

' . $this->t('Most recent backups in %dest', ['%dest' => $label]) . '

' + ], + 'list' => $this::listDestinationBackups($destination, $key, 5), + ]; + // Add the more link. + if ($entity->access('backups') && $entity->hasLinkTemplate('backups')) { + $out[$key]['link'] = $entity->toLink( + $this->t('View all backups in %dest', ['%dest' => $label]), 'backups' + )->toRenderable(); + } + + } + return $out; + } + + /** + * Get the title for the listing page of a destination entity. + * + * @param \Drupal\backup_migrate\Entity\Destination $backup_migrate_destination + * + * @return \Drupal\Core\StringTranslation\TranslatableMarkup + */ + public function listDestinationEntityBackupsTitle(Destination $backup_migrate_destination) { + return $this->t('Backups in @destination_name', + ['@destination_name' => $backup_migrate_destination->label()]); + } + + /** + * List the backups in the given destination. + * + * @param \Drupal\backup_migrate\Entity\Destination $backup_migrate_destination + * + * @return mixed + */ + public function listDestinationEntityBackups(Destination $backup_migrate_destination) { + $destination = $backup_migrate_destination->getObject(); + return $this->listDestinationBackups($destination, + $backup_migrate_destination->id()); + } + + /** + * List the backups in the given destination. + * + * @param \BackupMigrate\Core\Destination\ListableDestinationInterface $destination + * + * @return mixed + */ + public function listDestinationBackups( + ListableDestinationInterface $destination, + $backup_migrate_destination_id, + $count = NULL + ) { + + // Get a sorted list of files. + $rows = []; + $header = [ + [ + 'data' => $this->t('Name'), + 'class' => [RESPONSIVE_PRIORITY_MEDIUM], + 'field' => 'name' + ], + [ + 'data' => $this->t('Date'), + 'class' => [RESPONSIVE_PRIORITY_MEDIUM], + 'field' => 'datestamp', + 'sort' => 'desc' + ], + [ + 'data' => $this->t('Size'), + 'class' => [RESPONSIVE_PRIORITY_MEDIUM], + 'field' => 'filesize', + 'sort' => 'desc' + ], + [ + 'data' => $this->t('Operations'), + 'class' => [RESPONSIVE_PRIORITY_LOW] + ], + ]; + + $order = tablesort_get_order($header); + $sort = tablesort_get_sort($header); + $php_sort = $sort == 'desc' ? SORT_DESC : SORT_ASC; + + $backups = $destination->queryFiles([], $order['sql'], $php_sort, $count); + + foreach ($backups as $backup_id => $backup) { + $rows[] = [ + 'data' => [ + // Cells. + $backup->getFullName(), + \Drupal::service('date.formatter') + ->format($backup->getMeta('datestamp')), + format_size($backup->getMeta('filesize')), + [ + 'data' => [ + '#type' => 'operations', + '#links' => [ + 'restore' => [ + 'title' => $this->t('Restore'), + 'url' => Url::fromRoute( + 'entity.backup_migrate_destination.backup_restore', + [ + 'backup_migrate_destination' => $backup_migrate_destination_id, + 'backup_id' => $backup_id, + ] + ), + ], + 'download' => [ + 'title' => $this->t('Download'), + 'url' => Url::fromRoute( + 'entity.backup_migrate_destination.backup_download', + [ + 'backup_migrate_destination' => $backup_migrate_destination_id, + 'backup_id' => $backup_id, + ] + ), + ], + 'delete' => [ + 'title' => $this->t('Delete'), + 'url' => Url::fromRoute( + 'entity.backup_migrate_destination.backup_delete', + [ + 'backup_migrate_destination' => $backup_migrate_destination_id, + 'backup_id' => $backup_id, + ] + ), + ], + ], + ], + ], + ], + ]; + } + + $build['backups_table'] = [ + '#type' => 'table', + '#header' => $header, + '#rows' => $rows, + '#empty' => $this->t('There are no backups in this destination.'), + ]; + + return $build; + } + + /** + * Download a backup via the browser. + * + * @param \Drupal\backup_migrate\Entity\Destination $backup_migrate_destination + * + * @param $backup_id + */ + public function download( + Destination $backup_migrate_destination, + $backup_id + ) { + $destination = $backup_migrate_destination->getObject(); + $file = $destination->getFile($backup_id); + $file = $destination->loadFileForReading($file); + + $browser = new DrupalBrowserDownloadDestination(); + $browser->saveFile($file); + } + +} diff --git a/modules/backup_migrate/src/Controller/DestinationListBuilder.php b/modules/backup_migrate/src/Controller/DestinationListBuilder.php new file mode 100644 index 0000000..dc4f469 --- /dev/null +++ b/modules/backup_migrate/src/Controller/DestinationListBuilder.php @@ -0,0 +1,61 @@ +t('Backup Destination'); + $header['id'] = $this->t('Machine name'); + $header['type'] = $this->t('Type'); + return $header + parent::buildHeader(); + } + + /** + * {@inheritdoc} + */ + public function buildRow(EntityInterface $entity) { + $row['label'] = $entity->label(); + $row['id'] = $entity->id(); + $row['type'] = $entity->get('type'); + if ($plugin = $entity->getPlugin()) { + $info = $plugin->getPluginDefinition(); + $row['type'] = $info['title']; + } + + return $row + parent::buildRow($entity); + } + + /** + * Gets this list's default operations. + * + * @param \Drupal\Core\Entity\EntityInterface $entity + * The entity the operations are for. + * + * @return array + * The array structure is identical to the return value of + * self::getOperations(). + */ + public function getDefaultOperations(EntityInterface $entity) { + $operations = parent::getDefaultOperations($entity); + if ($entity->access('backups') && $entity->hasLinkTemplate('backups')) { + $operations['backups'] = [ + 'title' => $this->t('List Backups'), + 'weight' => 100, + 'url' => $entity->toUrl('backups'), + ]; + } + + return $operations; + } + +} diff --git a/modules/backup_migrate/src/Controller/ScheduleListBuilder.php b/modules/backup_migrate/src/Controller/ScheduleListBuilder.php new file mode 100644 index 0000000..64e8192 --- /dev/null +++ b/modules/backup_migrate/src/Controller/ScheduleListBuilder.php @@ -0,0 +1,82 @@ +t('Schedule Name'); + $header['enabled'] = $this->t('Enabled'); + $header['period'] = $this->t('Frequency'); + $header['last_run'] = $this->t('Last Run'); + $header['next_run'] = $this->t('Next Run'); + $header['keep'] = $this->t('Keep'); + return $header + parent::buildHeader(); + } + + /** + * {@inheritdoc} + * + * ScheduleListBuilder save implementation requires instance of Schedule. + * Signature enforced by EntityListBuilder. + * + * @throw InvalidArgumentException + */ + public function buildRow(EntityInterface $entity) { + if (!$entity instanceof Schedule) { + throw new Exception(); + } + $row['label'] = $entity->label(); + $row['enabled'] = $entity->get('enabled') ? $this->t('Yes') : $this->t('No'); + $row['period'] = $entity->getPeriodFormatted(); + + $row['last_run'] = $this->t('Never'); + if ($last_run = $entity->getLastRun()) { + $row['last_run'] = \Drupal::service('date.formatter')->format($last_run, 'small'); + $row['last_run'] .= ' (' . $this->t('@time ago', ['@time' => \Drupal::service('date.formatter')->formatInterval(REQUEST_TIME - $last_run)]) . ')'; + } + + $row['next_run'] = $this->t('Not Scheduled'); + if (!$entity->get('enabled')) { + $row['next_run'] = $this->t('Disabled'); + } + elseif ($next_run = $entity->getNextRun()) { + $interval = \Drupal::service('date.formatter')->formatInterval(abs($next_run - REQUEST_TIME)); + if ($next_run > REQUEST_TIME) { + $row['next_run'] = \Drupal::service('date.formatter')->format($next_run, 'small'); + $row['next_run'] .= ' (' . $this->t('in @time', ['@time' => $interval]) . ')'; + } + else { + $row['next_run'] = $this->t('Next cron run'); + if ($last_run) { + $row['next_run'] .= ' (' . $this->t('was due @time ago', ['@time' => $interval]) . ')'; + } + } + } + + $row['keep'] = \Drupal::translation()->formatPlural($entity->get('keep'), 'Last 1 backup', 'Last @count backups'); + + return $row + parent::buildRow($entity); + } + + /** + * {@inheritdoc} + */ + public function submitForm(array &$form, FormStateInterface $form_state) { + parent::submitForm($form, $form_state); + + drupal_set_message(t('The schedule settings have been updated.')); + } + +} diff --git a/modules/backup_migrate/src/Controller/SettingsProfileListBuilder.php b/modules/backup_migrate/src/Controller/SettingsProfileListBuilder.php new file mode 100644 index 0000000..9a0fb6c --- /dev/null +++ b/modules/backup_migrate/src/Controller/SettingsProfileListBuilder.php @@ -0,0 +1,30 @@ +t('Profile Name'); + return $header + parent::buildHeader(); + } + + /** + * {@inheritdoc} + */ + public function buildRow(EntityInterface $entity) { + $row['label'] = $entity->label(); + // You probably want a few more properties here... + return $row + parent::buildRow($entity); + } + +} diff --git a/modules/backup_migrate/src/Controller/SourceListBuilder.php b/modules/backup_migrate/src/Controller/SourceListBuilder.php new file mode 100644 index 0000000..d7b6d68 --- /dev/null +++ b/modules/backup_migrate/src/Controller/SourceListBuilder.php @@ -0,0 +1,37 @@ +t('Backup Source'); + $header['id'] = $this->t('Machine name'); + $header['type'] = $this->t('Type'); + return $header + parent::buildHeader(); + } + + /** + * {@inheritdoc} + */ + public function buildRow(EntityInterface $entity) { + $row['label'] = $entity->label(); + $row['id'] = $entity->id(); + $row['type'] = $entity->get('type'); + if ($info = $entity->getPluginDefinition()) { + $row['type'] = $info['title']; + } + + return $row + parent::buildRow($entity); + } + +} diff --git a/modules/backup_migrate/src/Destination/DrupalBrowserDownloadDestination.php b/modules/backup_migrate/src/Destination/DrupalBrowserDownloadDestination.php new file mode 100644 index 0000000..87b45c6 --- /dev/null +++ b/modules/backup_migrate/src/Destination/DrupalBrowserDownloadDestination.php @@ -0,0 +1,30 @@ +files->get("files", NULL, TRUE)[$id]; + // Make sure there's an upload to process. + if (!empty($file_upload)) { + $out = new ReadableStreamBackupFile($file_upload->getRealPath()); + $out->setFullName($file_upload->getClientOriginalName()); + return $out; + } + } + + /** + * Load the metadata for the given file however it may be stored. + * + * @param \BackupMigrate\Core\File\BackupFileInterface $file + * + * @return \BackupMigrate\Core\File\BackupFileInterface + */ + public function loadFileMetadata(BackupFileInterface $file) { + return $file; + } + + /** + * Load the file with the given ID from the destination. + * + * @param \BackupMigrate\Core\File\BackupFileInterface $file + * + * @return \BackupMigrate\Core\File\BackupFileReadableInterface The file if it exists or NULL if it doesn't + */ + public function loadFileForReading(BackupFileInterface $file) { + return $file; + } + + + /** + * Does the file with the given id (filename) exist in this destination. + * + * @param string $id The id (usually the filename) of the file. + * + * @return bool True if the file exists, false if it does not. + */ + public function fileExists($id) { + return (boolean) \Drupal::request()->files->has("files[$id]"); + } + +} diff --git a/modules/backup_migrate/src/Destination/DrupalDirectoryDestination.php b/modules/backup_migrate/src/Destination/DrupalDirectoryDestination.php new file mode 100644 index 0000000..1487636 --- /dev/null +++ b/modules/backup_migrate/src/Destination/DrupalDirectoryDestination.php @@ -0,0 +1,145 @@ +checkDirectory(); + + // @TODO Decide what the appropriate file_exists strategy should be. + file_unmanaged_move($file->realpath(), $this->_idToPath($file->getFullName()), FILE_EXISTS_REPLACE); + } + + + /** + * Check that the directory can be used for backup. + * + * @throws \BackupMigrate\Core\Exception\BackupMigrateException + */ + protected function checkDirectory() { + + // @TODO: Figure out if the file is or might be accessible via the web. + $dir = $this->confGet('directory'); + + $is_private = strpos($dir, 'private://') === 0; + + // Attempt to create/prepare the directory if it is in the private directory. + if ($is_private) { + if (!PrivateStream::basePath()) { + throw new BackupMigrateException( + "The backup file could not be saved to '%dir' because your private files system path has not been set.", + ['%dir' => $dir] + ); + } + if (!file_prepare_directory($dir, FILE_CREATE_DIRECTORY && FILE_MODIFY_PERMISSIONS)) { + throw new BackupMigrateException( + "The backup file could not be saved to '%dir' because the directory could not be created or cannot be written to. Please make sure your private files directory is writable by the web server.", + ['%dir' => $dir] + ); + } + } + // Not a private directory. Make sure it is outside the web root. + else { + // If the file is local to the server. + $real = \Drupal::service('file_system')->realpath($dir); + + if ($real) { + // If the file is within the docroot. + $in_root = strpos($real, DRUPAL_ROOT) === 0; + if ($in_root) { + throw new BackupMigrateException( + "The backup file could not be saved to '%dir' because that directory may be publicly accessible via the web. Please save your backups to the private file directory or a directory outside of the web root.", + ['%dir' => $dir] + ); + } + } + } + + // Do the regular exists/writable checks. + parent::checkDirectory(); + + // @TODO: Warn if the realpath cannot be resolved (because we cannot determine if the file is publicly accessible) + } + + + /** + * {@inheritdoc} + */ + public function queryFiles( + $filters = [], + $sort = 'datestamp', + $sort_direction = SORT_DESC, + $count = 100, + $start = 0 + ) { + + // Get the full list of files. + $out = $this->listFiles($count + $start); + foreach ($out as $key => $file) { + $out[$key] = $this->loadFileMetadata($file); + } + + // Filter the output. + if ($filters) { + $out = array_filter($out, function($file) use ($filters) { + foreach ($filters as $key => $value) { + if ($file->getMeta($key) !== $value) { + return FALSE; + } + } + return TRUE; + }); + } + + // Sort the files. + if ($sort && $sort_direction) { + uasort($out, function ($a, $b) use ($sort, $sort_direction) { + if ($sort_direction == SORT_DESC) { + if ($sort == 'name') { + return $a->getFullName() < $b->getFullName(); + } + // @TODO: fix this in core + return $a->getMeta($sort) < $b->getMeta($sort); + } + else { + if ($sort == 'name') { + return $a->getFullName() > $b->getFullName(); + } + // @TODO: fix this in core + return $a->getMeta($sort) > $b->getMeta($sort); + } + }); + } + + // Slice the return array. + if ($count || $start) { + $out = array_slice($out, $start, $count); + } + + return $out; + } + +} diff --git a/modules/backup_migrate/src/Entity/Destination.php b/modules/backup_migrate/src/Entity/Destination.php new file mode 100644 index 0000000..7e8f8e3 --- /dev/null +++ b/modules/backup_migrate/src/Entity/Destination.php @@ -0,0 +1,49 @@ +getNextRun(); + $should_run_now = (REQUEST_TIME >= $next_run_at); + $enabled = $this->get('enabled'); + if ($force || ($should_run_now && $enabled)) { + // Set the last run time before attempting backup. + // This will prevent a failing schedule from retrying on every cron run. + $this->setLastRun(REQUEST_TIME); + + try { + $config = []; + if ($settings_profile_id = $this->get('settings_profile_id')) { + // Load the settings profile if one is selected. + $profile = SettingsProfile::load($settings_profile_id); + if (!$profile) { + throw new BackupMigrateException( + "The settings profile '%profile' does not exist", + ['%profile' => $settings_profile_id]); + } + $config = $profile->get('config'); + } + + \Drupal::logger('backup_migrate')->info( + "Running schedule %name", ['%name' => $this->get('label')]); + // TODO: Set the config (don't just use the defaults). + // Run the backup. + // Set the schedule id in file metadata so that we can delete our own backups later. + // This requires the metadata writer to have knowledge of 'bam_scheduleid' which is + // a somewhat tight coupling that I'd like to unwind. + $config['metadata']['bam_scheduleid'] = $this->id; + $bam->setConfig(new Config($config)); + + $bam->backup($this->get('source_id'), $this->get('destination_id')); + + // Delete old backups. + if ($keep = $this->get('keep')) { + $destination = $bam->destinations()->get($this->get('destination_id')); + + // If the destination can be listed then get the list of files. + if ($destination instanceof ListableDestinationInterface) { + // Get a list of files to delete. Don't attempt to delete more + // than 10 files in one go. + $delete = $destination->queryFiles( + ['bam_scheduleid' => $this->id], + 'datestamp', + SORT_DESC, + 10, + $keep + ); + + foreach ($delete as $file) { + $destination->deleteFile($file->getFullName()); + } + } + } + } + catch (BackupMigrateException $e) { + \Drupal::logger('backup_migrate')->error( + "Scheduled backup '%name' failed: @err", + ['%name' => $this->get('label'), '@err' => $e->getMessage()] + ); + } + } + } + + /** + * @param $timestamp + * The unix time this schedule was last run. + */ + public function setLastRun($timestamp) { + \Drupal::keyValue('backup_migrate_schedule:last_run')->set($this->id(), $timestamp); + } + + /** + * @return int $timestamp + * The unix time this schedule was last run. + */ + public function getLastRun() { + return \Drupal::keyValue('backup_migrate_schedule:last_run')->get($this->id()); + } + + /** + * Get the next time this schedule should run. + * + * @return int + */ + public function getNextRun() { + $last_run_at = $this->getLastRun(); + if ($last_run_at) { + return $last_run_at + $this->get('period'); + } + return REQUEST_TIME - 1; + } + + /** + * Return the schedule frequency formatted for display in human language. + * + * @return \Drupal\Core\StringTranslation\PluralTranslatableMarkup + * + * @throws \BackupMigrate\Core\Exception\BackupMigrateException + */ + public function getPeriodFormatted() { + return Schedule::formatPeriod(Schedule::secondsToPeriod($this->get('period'))); + } + + /** + * Convert a number of of seconds into a period array. + * + * @param int $seconds + * + * @return array An array containing the period definition and the number of them. + * ['number' => 123, 'type' => [...]] + * + * @throws \BackupMigrate\Core\Exception\BackupMigrateException + */ + public static function secondsToPeriod($seconds) { + foreach (array_reverse(Schedule::getPeriodTypes()) as $type) { + if (($seconds % $type['seconds']) === 0) { + return ['number' => $seconds / $type['seconds'], 'type' => $type]; + } + } + + throw new BackupMigrateException('Invalid period.'); + } + + /** + * Convert a period array into seconds. + * + * @param array $period A period array + * + * @return mixed + * + * @throws \BackupMigrate\Core\Exception\BackupMigrateException + */ + public static function periodToSeconds($period) { + return $period['number'] * $period['type']['seconds']; + } + + /** + * Convert a period array into seconds. + * + * @param $period + * + * @return \Drupal\Core\StringTranslation\PluralTranslatableMarkup + */ + public static function formatPeriod($period) { + return \Drupal::translation()->formatPlural($period['number'], $period['type']['singular'], $period['type']['plural']); + } + + /** + * Get a list of available backup periods. Only returns time periods which have a + * (reasonably) consistent number of seconds (ie: no months). + * + * @return array + */ + public static function getPeriodTypes() { + return [ + 'seconds' => ['type' => 'seconds', 'seconds' => 1, 'title' => 'Seconds', 'singular' => 'Once a second', 'plural' => 'Every @count seconds'], + 'minutes' => ['type' => 'minutes', 'seconds' => 60, 'title' => 'Minutes', 'singular' => 'Once a minute', 'plural' => 'Every @count minutes'], + 'hours' => ['type' => 'hours', 'seconds' => 3600, 'title' => 'Hours', 'singular' => 'Hourly', 'plural' => 'Every @count hours'], + 'days' => ['type' => 'days', 'seconds' => 86400, 'title' => 'Days', 'singular' => 'Daily', 'plural' => 'Every @count days'], + 'weeks' => ['type' => 'weeks', 'seconds' => 604800, 'title' => 'Weeks', 'singular' => 'Weekly', 'plural' => 'Every @count weeks'], + ]; + } + + /** + * Get a backup period type given it's key. + * + * @param string $type + * + * @return array + */ + public static function getPeriodType($type) { + return Schedule::getPeriodTypes()[$type]; + } + +} diff --git a/modules/backup_migrate/src/Entity/SettingsProfile.php b/modules/backup_migrate/src/Entity/SettingsProfile.php new file mode 100644 index 0000000..9190d96 --- /dev/null +++ b/modules/backup_migrate/src/Entity/SettingsProfile.php @@ -0,0 +1,56 @@ +getPlugin()) { + return $plugin->getObject(); + } + } + + /** + * Get the type plugin for this source. + * + * @return mixed + * + * @throws \BackupMigrate\Core\Exception\BackupMigrateException + */ + public function getPlugin() { + if ($this->get('type')) { + return $this->getPluginCollection()->get($this->get('type')); + } + return NULL; + } + + /** + * Get the type plugin for this source. + * + * @return mixed + * + * @throws \BackupMigrate\Core\Exception\BackupMigrateException + */ + public function getPluginDefinition() { + if ($plugin = $this->getPlugin()) { + return $plugin->getPluginDefinition(); + } + return []; + } + + /** + * Gets the plugin collections used by this entity. + * + * @return \Drupal\Component\Plugin\LazyPluginCollection[] + * An array of plugin collections, keyed by the property name they use to + * store their configuration. + */ + public function getPluginCollections() { + if ($config = $this->getPluginCollection()) { + return ['config' => $config]; + } + return []; + } + + /** + * @return \Drupal\block\BlockPluginCollection + */ + public function getPluginCollection() { + if ($this->get('type')) { + if (!$this->pluginCollection) { + $config = ['name' => $this->get('label')] + (array) $this->get('config'); + $this->pluginCollection = new DefaultSingleLazyPluginCollection( + $this->getPluginManager(), $this->get('type'), $config); + } + return $this->pluginCollection; + } + return []; + } + + /** + * {@inheritdoc} + */ + public function access($operation, AccountInterface $account = NULL, $return_as_object = FALSE) { + if ($operation == "update" || $operation == "delete") { + $info = $this->getPluginDefinition(); + if (!empty($info['locked'])) { + return FALSE; + } + } + + return parent::access($operation, $account, $return_as_object); + } + + /** + * Return the plugin manager. + * + * @return PluginManagerInterface + */ + abstract public function getPluginManager(); + +} diff --git a/modules/backup_migrate/src/EntityPlugins/Annotation/BackupMigrateDestinationPlugin.php b/modules/backup_migrate/src/EntityPlugins/Annotation/BackupMigrateDestinationPlugin.php new file mode 100644 index 0000000..acc7421 --- /dev/null +++ b/modules/backup_migrate/src/EntityPlugins/Annotation/BackupMigrateDestinationPlugin.php @@ -0,0 +1,55 @@ +destinations()->add($key, $this->getObject()); + } + +} diff --git a/modules/backup_migrate/src/EntityPlugins/DestinationPluginInterface.php b/modules/backup_migrate/src/EntityPlugins/DestinationPluginInterface.php new file mode 100644 index 0000000..68451a5 --- /dev/null +++ b/modules/backup_migrate/src/EntityPlugins/DestinationPluginInterface.php @@ -0,0 +1,10 @@ +alterInfo('backup_migrate_destination_info'); + $this->setCacheBackend($cache_backend, 'backup_migrate_destination_plugins'); + } + +} diff --git a/modules/backup_migrate/src/EntityPlugins/SourcePluginBase.php b/modules/backup_migrate/src/EntityPlugins/SourcePluginBase.php new file mode 100644 index 0000000..f0d7597 --- /dev/null +++ b/modules/backup_migrate/src/EntityPlugins/SourcePluginBase.php @@ -0,0 +1,21 @@ +sources()->add($key, $this->getObject()); + } + +} diff --git a/modules/backup_migrate/src/EntityPlugins/SourcePluginInterface.php b/modules/backup_migrate/src/EntityPlugins/SourcePluginInterface.php new file mode 100644 index 0000000..2c418e3 --- /dev/null +++ b/modules/backup_migrate/src/EntityPlugins/SourcePluginInterface.php @@ -0,0 +1,10 @@ +alterInfo('backup_migrate_source_info'); + $this->setCacheBackend($cache_backend, 'backup_migrate_source_plugins'); + } + +} diff --git a/modules/backup_migrate/src/EntityPlugins/WrapperPluginBase.php b/modules/backup_migrate/src/EntityPlugins/WrapperPluginBase.php new file mode 100644 index 0000000..e709d86 --- /dev/null +++ b/modules/backup_migrate/src/EntityPlugins/WrapperPluginBase.php @@ -0,0 +1,81 @@ +setConfiguration($configuration); + } + + /** + * Get the Backup and Migrate plugin object. + * + * @return BackupMigrate\Core\Plugin\PluginInterface; + */ + public function getObject() { + // If the class to wrap was specified in the annotation then add that class. + $info = $this->getPluginDefinition(); + if ($info['wrapped_class']) { + return new $info['wrapped_class']($this->getConfig()); + } + } + + /** + * {@inheritdoc} + */ + abstract public function alterBackupMigrate(BackupMigrateInterface $bam, $key, $options = []); + + /** + * {@inheritdoc} + */ + public function getConfiguration() { + return $this->configuration; + } + + /** + * {@inheritdoc} + */ + public function setConfiguration(array $configuration) { + $this->configuration = $configuration; + } + + /** + * {@inheritdoc} + */ + public function defaultConfiguration() { + return []; + } + + /** + * {@inheritdoc} + */ + public function calculateDependencies() { + return []; + } + + /** + * Return a Backup and Migrate Config object with the plugin configuration. + * + * @return \BackupMigrate\Core\Config\Config + */ + public function getConfig() { + return new Config($this->getConfiguration()); + } + +} diff --git a/modules/backup_migrate/src/EntityPlugins/WrapperPluginInterface.php b/modules/backup_migrate/src/EntityPlugins/WrapperPluginInterface.php new file mode 100644 index 0000000..994f069 --- /dev/null +++ b/modules/backup_migrate/src/EntityPlugins/WrapperPluginInterface.php @@ -0,0 +1,33 @@ +filesystem = $filesystem; + } + + /** + * {@inheritdoc} + */ + public function createTempFile($ext = '') { + // Add a dot to the file extension. + $ext = $ext ? '.' . $ext : ''; + + $file = $this->filesystem->tempnam($this->dir, $this->prefix); + if (!$file) { + throw new \Exception('Could not create a temporary file to write to.'); + } + + $this->tempfiles[] = $file; + return $file; + } + + /** + * {@inheritdoc} + */ + public function deleteTempFile($filename) { + // Only delete files that were created by this manager. + if (in_array($filename, $this->tempfiles)) { + if (file_exists($filename)) { + if (!$this->filesystem->unlink($filename)) { + throw new \Exception('Could not delete a temporary file.'); + } + } + } + } + +} diff --git a/modules/backup_migrate/src/Filter/DrupalPublicFileExcludeFilter.php b/modules/backup_migrate/src/Filter/DrupalPublicFileExcludeFilter.php new file mode 100644 index 0000000..206d9f3 --- /dev/null +++ b/modules/backup_migrate/src/Filter/DrupalPublicFileExcludeFilter.php @@ -0,0 +1,37 @@ + [ + 'js', + 'css', + 'php', + 'styles', + 'config_*', + '.htaccess', + ], + ]; + + // @TODO: Allow modules to add their own excluded defaults. + return new Config($config); + } + +} diff --git a/modules/backup_migrate/src/Filter/DrupalUtils.php b/modules/backup_migrate/src/Filter/DrupalUtils.php new file mode 100644 index 0000000..345c06e --- /dev/null +++ b/modules/backup_migrate/src/Filter/DrupalUtils.php @@ -0,0 +1,108 @@ + 'Advanced Settings', + ]; + $schema['fields']['site_offline'] = [ + 'group' => 'advanced', + 'type' => 'boolean', + 'title' => $this->t('Take site offline'), + 'description' => $this->t('Take the site offline during backup and show a maintenance message. Site will be taken back online once the backup is complete.'), + ]; + } + return $schema; + } + + /** + * Get the default values for the plugin. + * + * @return \BackupMigrate\Core\Config\Config + */ + public function configDefaults() { + return new Config([ + 'disable_query_log' => TRUE, + 'site_offline' => FALSE, + ]); + } + + + /** + * Run before the backup/restore begins. + */ + public function setUp() { + $this->takeSiteOffline(); + } + + /** + * Run after the operation is complete. + */ + public function tearDown() { + $this->takeSiteOnline(); + } + + /** + * Take the site offline if we need to. + */ + protected function takeSiteOffline() { + // Take the site offline. + if ($this->confGet('site_offline') && !\Drupal::state()->get('system.maintenance_mode')) { + \Drupal::state()->set('system.maintenance_mode', TRUE); + $this->maintenance_mode = TRUE; + } + } + + /** + * Take the site online if it was taken offline for this operation. + */ + protected function takeSiteOnline() { + // Take the site online again. + if ($this->maintenance_mode) { + \Drupal::state()->set('system.maintenance_mode', FALSE); + } + } + + /** + * Ensure, that the restore file does not exceed the server's upload_limit. + * + * @param BackupFileReadableInterface $file + * + * @return BackupFileReadableInterface + */ + public function beforeRestore(BackupFileReadableInterface $file) { + if ($file->getMeta('filesize') > file_upload_max_size()) { + throw new BackupMigrateException('The input file exceeds the servers upload_max_filesize or post_max_size limit.', ['!id' => $file->getMeta('id')]); + } + + return $file; + } + +} diff --git a/modules/backup_migrate/src/Form/BackupDeleteForm.php b/modules/backup_migrate/src/Form/BackupDeleteForm.php new file mode 100644 index 0000000..808ec31 --- /dev/null +++ b/modules/backup_migrate/src/Form/BackupDeleteForm.php @@ -0,0 +1,93 @@ +t('Are you sure you want to delete this backup?'); + } + + /** + * {@inheritdoc} + */ + public function getDescription() { + return $this->t('This will permanently remove %backup_id from %destination_name.', + [ + '%backup_id' => $this->backup_id, + '%destination_name' => $this->destination->label() + ] + ); + } + + /** + * {@inheritdoc} + */ + public function getConfirmText() { + return $this->t('Delete'); + } + + /** + * Returns the route to go to if the user cancels the action. + * + * @return \Drupal\Core\Url + * A URL object. + */ + public function getCancelUrl() { + return $this->destination->toUrl('backups'); + } + + /** + * Returns a unique string identifying the form. + * + * @return string + * The unique string identifying the form. + */ + public function getFormId() { + return 'backup_migrate_backup_delete_confirm'; + } + + public function buildForm(array $form, FormStateInterface $form_state, $backup_migrate_destination = NULL, $backup_id = NULL) { + $this->destination = $backup_migrate_destination; + $this->backup_id = $backup_id; + + return parent::buildForm($form, $form_state); + } + + /** + * Form submission handler. + * + * @param array $form + * An associative array containing the structure of the form. + * @param \Drupal\Core\Form\FormStateInterface $form_state + * The current state of the form. + */ + public function submitForm(array &$form, FormStateInterface $form_state) { + $destination = $this->destination->getObject(); + $destination->deleteFile($this->backup_id); + $form_state->setRedirectUrl($this->getCancelUrl()); + } + +} diff --git a/modules/backup_migrate/src/Form/BackupMigrateAdvancedBackupForm.php b/modules/backup_migrate/src/Form/BackupMigrateAdvancedBackupForm.php new file mode 100644 index 0000000..550fd8f --- /dev/null +++ b/modules/backup_migrate/src/Form/BackupMigrateAdvancedBackupForm.php @@ -0,0 +1,107 @@ + 'fieldset', + "#title" => $this->t("Source"), + "#collapsible" => TRUE, + "#collapsed" => FALSE, + "#tree" => FALSE, + ]; + $form['source']['source_id'] = DrupalConfigHelper::getSourceSelector($bam, t('Backup Source')); + $form['source']['source_id']['#default_value'] = \Drupal::config('backup_migrate.settings')->get('backup_migrate_source_id'); + + $form += DrupalConfigHelper::buildAllPluginsForm($bam->plugins(), 'backup'); + if (\Drupal::moduleHandler()->moduleExists('token')) { + $filename_token = [ + '#theme' => 'token_tree_link', + '#token_types' => ['site'], + '#dialog' => TRUE, + '#click_insert' => TRUE, + '#show_restricted' => TRUE, + '#group' => 'file', + ]; + } + else { + $filename_token = [ + '#type' => 'markup', + '#markup' => 'In order to use tokens for File Name, please install & enable Token module.

' + ]; + } + array_splice($form['file'], 4, 0, ['filename_token' => $filename_token]); + + $form['destination'] = [ + '#type' => 'fieldset', + "#title" => $this->t("Destination"), + "#collapsible" => TRUE, + "#collapsed" => FALSE, + "#tree" => FALSE, + ]; + + $form['destination']['destination_id'] = DrupalConfigHelper::getDestinationSelector($bam, t('Backup Destination')); + $form['destination']['destination_id']['#default_value'] = \Drupal::config('backup_migrate.settings')->get('backup_migrate_destination_id'); + + $form['quickbackup']['submit'] = [ + '#type' => 'submit', + '#value' => $this->t('Backup now'), + '#weight' => 1, + ]; + + return $form; + } + + /** + * {@inheritdoc} + */ + public function validateForm(array &$form, FormStateInterface $form_state) { + parent::validateForm($form, $form_state); + + $bam = backup_migrate_get_service_object($form_state->getValues()); + + // Let the plugins validate their own config data. + if ($plugin_errors = $bam->plugins()->map('configErrors', ['operation' => 'backup'])) { + foreach ($plugin_errors as $plugin_key => $errors) { + foreach ($errors as $error) { + $form_state->setErrorByName($plugin_key . '][' . $error->getFieldKey(), $this->t($error->getMessage(), $error->getReplacement())); + } + } + } + } + + /** + * {@inheritdoc} + */ + public function submitForm(array &$form, FormStateInterface $form_state) { + $config = $form_state->getValues(); + backup_migrate_perform_backup($config['source_id'], $config['destination_id'], $config); + } + +} diff --git a/modules/backup_migrate/src/Form/BackupMigrateQuickBackupForm.php b/modules/backup_migrate/src/Form/BackupMigrateQuickBackupForm.php new file mode 100644 index 0000000..eaa1860 --- /dev/null +++ b/modules/backup_migrate/src/Form/BackupMigrateQuickBackupForm.php @@ -0,0 +1,82 @@ + 'fieldset', + "#title" => $this->t("Quick Backup"), + "#collapsible" => FALSE, + "#collapsed" => FALSE, + "#tree" => FALSE, + ]; + + $form['quickbackup']['source_id'] = DrupalConfigHelper::getSourceSelector($bam, t('Backup Source')); + $form['quickbackup']['destination_id'] = DrupalConfigHelper::getDestinationSelector($bam, t('Backup Destination')); + $form['quickbackup']['settings_profile_id'] = DrupalConfigHelper::getSettingsProfileSelector(t('Settings Profile')); + unset($form['quickbackup']['destination_id']['#options']['upload']); + // Create the service + // $bam = backup_migrate_get_service_object(); + // $bam->setConfig($config); + // $bam->plugins()->get('namer')->confGet('filename'); + // $form['quickbackup']['source_id'] = _backup_migrate_get_source_pulldown(\Drupal::config('backup_migrate.settings')->get('backup_migrate_source_id')); + // $form['quickbackup']['destination'] = _backup_migrate_get_destination_pulldown('manual backup', \Drupal::config('backup_migrate.settings')->get('backup_migrate_destination_id'), \Drupal::config('backup_migrate.settings')->get('backup_migrate_copy_destination_id')); + $form['quickbackup']['submit'] = [ + '#type' => 'submit', + '#value' => $this->t('Backup now'), + '#weight' => 1, + ]; + + return $form; + } + + /** + * {@inheritdoc} + */ + public function validateForm(array &$form, FormStateInterface $form_state) { + parent::validateForm($form, $form_state); + } + + /** + * {@inheritdoc} + */ + public function submitForm(array &$form, FormStateInterface $form_state) { + $values = $form_state->getValues(); + $config = []; + + // Load the settings profile if one is selected. + if (!empty($values['settings_profile_id'])) { + $config = SettingsProfile::load($values['settings_profile_id'])->get('config'); + } + + backup_migrate_perform_backup($values['source_id'], $values['destination_id'], $config); + } + +} diff --git a/modules/backup_migrate/src/Form/BackupMigrateRestoreForm.php b/modules/backup_migrate/src/Form/BackupMigrateRestoreForm.php new file mode 100644 index 0000000..10cf25b --- /dev/null +++ b/modules/backup_migrate/src/Form/BackupMigrateRestoreForm.php @@ -0,0 +1,68 @@ + $this->t('Upload a Backup File'), + '#type' => 'file', + '#description' => $this->t("Upload a backup file created by Backup + and Migrate. For other database or file backups please use another + tool for import. Max file size: %size", + ["%size" => format_size(file_upload_max_size())] + ), + ]; + + $form['source_id'] = DrupalConfigHelper::getPluginSelector( + $bam->sources(), $this->t('Restore To')); + + $form += DrupalConfigHelper::buildAllPluginsForm($bam->plugins(), 'restore'); + + $form['quickbackup']['submit'] = [ + '#type' => 'submit', + '#value' => $this->t('Restore now'), + '#weight' => 1, + ]; + + return $form; + } + + /** + * {@inheritdoc} + */ + public function validateForm(array &$form, FormStateInterface $form_state) { + parent::validateForm($form, $form_state); + } + + /** + * {@inheritdoc} + */ + public function submitForm(array &$form, FormStateInterface $form_state) { + $config = $form_state->getValues(); + backup_migrate_perform_restore($config['source_id'], 'upload', 'backup_migrate_restore_upload', $config); + } + +} diff --git a/modules/backup_migrate/src/Form/BackupRestoreForm.php b/modules/backup_migrate/src/Form/BackupRestoreForm.php new file mode 100644 index 0000000..4e4a461 --- /dev/null +++ b/modules/backup_migrate/src/Form/BackupRestoreForm.php @@ -0,0 +1,97 @@ +t('Are you sure you want to restore this backup?'); + } + + /** + * {@inheritdoc} + */ + public function getConfirmText() { + return $this->t('Restore'); + } + + /** + * Returns the route to go to if the user cancels the action. + * + * @return \Drupal\Core\Url + * A URL object. + */ + public function getCancelUrl() { + return $this->destination->toUrl('backups'); + } + + /** + * Returns a unique string identifying the form. + * + * @return string + * The unique string identifying the form. + */ + public function getFormId() { + return 'backup_migrate_backup_restore_confirm'; + } + + /** + * @param array $form + * @param \Drupal\Core\Form\FormStateInterface $form_state + * @param null $backup_migrate_destination + * @param null $backup_id + * @return array + */ + public function buildForm(array $form, FormStateInterface $form_state, $backup_migrate_destination = NULL, $backup_id = NULL) { + $this->destination = $backup_migrate_destination; + $this->backup_id = $backup_id; + + $bam = backup_migrate_get_service_object(); + $form['source_id'] = DrupalConfigHelper::getPluginSelector($bam->sources(), $this->t('Restore To')); + + $conf_schema = $bam->plugins()->map('configSchema', ['operation' => 'restore']); + $form += DrupalConfigHelper::buildFormFromSchema($conf_schema, $bam->plugins()->config()); + + return parent::buildForm($form, $form_state); + } + + /** + * Form submission handler. + * + * @param array $form + * An associative array containing the structure of the form. + * @param \Drupal\Core\Form\FormStateInterface $form_state + * The current state of the form. + */ + public function submitForm(array &$form, FormStateInterface $form_state) { + $config = $form_state->getValues(); + backup_migrate_perform_restore($config['source_id'], $this->destination->id(), $this->backup_id, $config); + + $form_state->setRedirectUrl($this->getCancelUrl()); + } + +} diff --git a/modules/backup_migrate/src/Form/DestinationForm.php b/modules/backup_migrate/src/Form/DestinationForm.php new file mode 100644 index 0000000..0f03963 --- /dev/null +++ b/modules/backup_migrate/src/Form/DestinationForm.php @@ -0,0 +1,26 @@ +t("Label for the Backup Destination."); + $form['id']['#machine_name']['exists'] = '\Drupal\backup_migrate\Entity\Destination::load'; + + return $form; + } + +} diff --git a/modules/backup_migrate/src/Form/EntityDeleteForm.php b/modules/backup_migrate/src/Form/EntityDeleteForm.php new file mode 100644 index 0000000..caef545 --- /dev/null +++ b/modules/backup_migrate/src/Form/EntityDeleteForm.php @@ -0,0 +1,50 @@ +t( + 'Are you sure you want to delete %name?', + ['%name' => $this->entity->label()] + ); + } + + /** + * {@inheritdoc} + */ + public function getCancelUrl() { + return $this->entity->toUrl('collection'); + } + + /** + * {@inheritdoc} + */ + public function getConfirmText() { + return $this->t('Delete'); + } + + /** + * {@inheritdoc} + */ + public function submitForm(array &$form, FormStateInterface $form_state) { + $this->entity->delete(); + + drupal_set_message( + $this->t('Deleted @label.', ['@label' => $this->entity->label()]) + ); + + $form_state->setRedirectUrl($this->getCancelUrl()); + } + +} diff --git a/modules/backup_migrate/src/Form/ScheduleDeleteForm.php b/modules/backup_migrate/src/Form/ScheduleDeleteForm.php new file mode 100644 index 0000000..59bb4e6 --- /dev/null +++ b/modules/backup_migrate/src/Form/ScheduleDeleteForm.php @@ -0,0 +1,53 @@ +t('Are you sure you want to delete %name?', ['%name' => $this->entity->label()]); + } + + /** + * {@inheritdoc} + */ + public function getCancelUrl() { + return new Url('entity.backup_migrate_schedule.collection'); + } + + /** + * {@inheritdoc} + */ + public function getConfirmText() { + return $this->t('Delete'); + } + + /** + * {@inheritdoc} + */ + public function submitForm(array &$form, FormStateInterface $form_state) { + $this->entity->delete(); + + drupal_set_message( + $this->t('content @type: deleted @label.', + [ + '@type' => $this->entity->bundle(), + '@label' => $this->entity->label() + ] + ) + ); + + $form_state->setRedirectUrl($this->getCancelUrl()); + } + +} diff --git a/modules/backup_migrate/src/Form/ScheduleForm.php b/modules/backup_migrate/src/Form/ScheduleForm.php new file mode 100644 index 0000000..d449912 --- /dev/null +++ b/modules/backup_migrate/src/Form/ScheduleForm.php @@ -0,0 +1,148 @@ +entity; + $form['label'] = [ + '#type' => 'textfield', + '#title' => $this->t('Schedule Name'), + '#maxlength' => 255, + '#default_value' => $backup_migrate_schedule->label(), + '#required' => TRUE, + ]; + + $form['id'] = [ + '#type' => 'machine_name', + '#default_value' => $backup_migrate_schedule->id(), + '#machine_name' => [ + 'exists' => '\Drupal\backup_migrate\Entity\Schedule::load', + ], + '#disabled' => !$backup_migrate_schedule->isNew(), + ]; + + $form['enabled'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Schedule enabled'), + '#default_value' => $backup_migrate_schedule->get('enabled'), + ]; + + $bam = backup_migrate_get_service_object([], ['nobrowser' => TRUE]); + $form['source_id'] = DrupalConfigHelper::getSourceSelector( + $bam, + t('Backup Source'), + $backup_migrate_schedule->get('source_id') + ); + $form['destination_id'] = DrupalConfigHelper::getDestinationSelector( + $bam, + t('Backup Destination'), + $backup_migrate_schedule->get('destination_id') + ); + + $form['settings_profile_id'] = DrupalConfigHelper::getSettingsProfileSelector( + t('Settings Profile'), + $backup_migrate_schedule->get('settings_profile_id') + ); + + $period = Schedule::secondsToPeriod($backup_migrate_schedule->get('period')); + $form['period_container'] = [ + // Reset #parents so the additional container does not appear. + '#parents' => [], + '#type' => 'fieldset', + '#title' => $this->t('Frequency'), + '#field_prefix' => $this->t('Run every'), + '#attributes' => [ + 'class' => [ + 'container-inline', + 'fieldgroup', + 'form-composite' + ] + ], + ]; + $form['period_container']['period_number'] = [ + '#type' => 'number', + '#default_value' => $period['number'], + '#min' => 1, + '#title' => $this->t('Period number'), + '#title_display' => 'invisible', + '#size' => 2, + ]; + $form['period_container']['period_type'] = [ + '#type' => 'select', + '#title' => $this->t('Period type'), + '#title_display' => 'invisible', + '#options' => [], + '#default_value' => $period['type'], + ]; + foreach (Schedule::getPeriodTypes() as $key => $type) { + $form['period_container']['period_type']['#options'][$key] = $type['title']; + } + + $form['keep'] = [ + '#type' => 'textfield', + '#title' => $this->t('Number to keep'), + '#default_value' => $backup_migrate_schedule->get('keep'), + '#description' => $this->t('The number of backups to retain. Once this number is reached, the oldest backup will be deleted to make room for the most recent backup. Leave blank to keep all backups.'), + '#size' => 10, + ]; + + return $form; + } + + /** + * {@inheritdoc} + */ + public function buildEntity(array $form, FormStateInterface $form_state) { + // Save period. + $type = Schedule::getPeriodType($form_state->getValue('period_type')); + $seconds = Schedule::periodToSeconds([ + 'number' => $form_state->getValue('period_number'), + 'type' => $type + ]); + + $form_state->setValue('period', $seconds); + + return parent::buildEntity($form, $form_state); + } + + /** + * {@inheritdoc} + */ + public function save(array $form, FormStateInterface $form_state) { + $backup_migrate_schedule = $this->entity; + $status = $backup_migrate_schedule->save(); + + switch ($status) { + case SAVED_NEW: + drupal_set_message($this->t('Created the %label Schedule.', [ + '%label' => $backup_migrate_schedule->label(), + ])); + break; + + default: + drupal_set_message($this->t('Saved the %label Schedule.', [ + '%label' => $backup_migrate_schedule->label(), + ])); + } + $form_state->setRedirectUrl($backup_migrate_schedule->toUrl('collection')); + } + +} diff --git a/modules/backup_migrate/src/Form/SettingsProfileDeleteForm.php b/modules/backup_migrate/src/Form/SettingsProfileDeleteForm.php new file mode 100644 index 0000000..c9aadd0 --- /dev/null +++ b/modules/backup_migrate/src/Form/SettingsProfileDeleteForm.php @@ -0,0 +1,53 @@ +t('Are you sure you want to delete %name?', ['%name' => $this->entity->label()]); + } + + /** + * {@inheritdoc} + */ + public function getCancelUrl() { + return new Url('entity.backup_migrate_settings.collection'); + } + + /** + * {@inheritdoc} + */ + public function getConfirmText() { + return $this->t('Delete'); + } + + /** + * {@inheritdoc} + */ + public function submitForm(array &$form, FormStateInterface $form_state) { + $this->entity->delete(); + + drupal_set_message( + $this->t('content @type: deleted @label.', + [ + '@type' => $this->entity->bundle(), + '@label' => $this->entity->label() + ] + ) + ); + + $form_state->setRedirectUrl($this->getCancelUrl()); + } + +} diff --git a/modules/backup_migrate/src/Form/SettingsProfileForm.php b/modules/backup_migrate/src/Form/SettingsProfileForm.php new file mode 100644 index 0000000..a27b2fe --- /dev/null +++ b/modules/backup_migrate/src/Form/SettingsProfileForm.php @@ -0,0 +1,70 @@ +entity; + $form['label'] = [ + '#type' => 'textfield', + '#title' => $this->t('Label'), + '#maxlength' => 255, + '#default_value' => $backup_migrate_settings->label(), + '#required' => TRUE, + ]; + + $form['id'] = [ + '#type' => 'machine_name', + '#default_value' => $backup_migrate_settings->id(), + '#machine_name' => [ + 'exists' => '\Drupal\backup_migrate\Entity\SettingsProfile::load', + ], + '#disabled' => !$backup_migrate_settings->isNew(), + ]; + + $bam = backup_migrate_get_service_object($backup_migrate_settings->get('config')); + + $form['config'] = DrupalConfigHelper::buildAllPluginsForm($bam->plugins(), 'backup', ['config']); + + return $form; + } + + /** + * {@inheritdoc} + */ + public function save(array $form, FormStateInterface $form_state) { + $backup_migrate_settings = $this->entity; + + $status = $backup_migrate_settings->save(); + + switch ($status) { + case SAVED_NEW: + drupal_set_message($this->t('Created the %label Settings Profile.', [ + '%label' => $backup_migrate_settings->label(), + ])); + break; + + default: + drupal_set_message($this->t('Saved the %label Settings Profile.', [ + '%label' => $backup_migrate_settings->label(), + ])); + } + $form_state->setRedirectUrl($backup_migrate_settings->toUrl('collection')); + } + +} diff --git a/modules/backup_migrate/src/Form/SourceForm.php b/modules/backup_migrate/src/Form/SourceForm.php new file mode 100644 index 0000000..60c0218 --- /dev/null +++ b/modules/backup_migrate/src/Form/SourceForm.php @@ -0,0 +1,26 @@ +t("Label for the Backup Source."); + $form['id']['#machine_name']['exists'] = '\Drupal\backup_migrate\Entity\Source::load'; + + return $form; + } + +} diff --git a/modules/backup_migrate/src/Form/WrapperEntityForm.php b/modules/backup_migrate/src/Form/WrapperEntityForm.php new file mode 100644 index 0000000..21314d3 --- /dev/null +++ b/modules/backup_migrate/src/Form/WrapperEntityForm.php @@ -0,0 +1,123 @@ + 'textfield', + '#title' => $this->t('Label'), + '#maxlength' => 255, + '#default_value' => $this->entity->label(), + '#required' => TRUE, + ]; + + $form['id'] = [ + '#type' => 'machine_name', + '#default_value' => $this->entity->id(), + '#machine_name' => [], + '#disabled' => !$this->entity->isNew(), + ]; + + if (!$this->entity->get('type')) { + $form['type'] = [ + '#type' => 'radios', + '#title' => $this->t('Type'), + ]; + foreach ($this->entity->getPluginManager()->getDefinitions() as $type) { + if (empty($type['locked'])) { + $form['type']['#options'][$type['id']] = $type['title']; + $form['type'][$type['id']]['#description'] = $type['description']; + } + } + } + else { + $type = $this->entity->getPlugin()->getPluginDefinition(); + $form['type'] = [ + '#type' => 'value', + '#value' => $type['id'], + '#markup' => $this->t("Type: @type", ['@type' => $type['title']]), + ]; + + if ($bam_plugin = $this->entity->getObject()) { + $form['config'] = DrupalConfigHelper::buildPluginForm($bam_plugin, 'initialize', ['config']); + } + } + return $form; + } + + /** + * {@inheritdoc} + */ + protected function actions(array $form, FormStateInterface $form_state) { + $actions = parent::actions($form, $form_state); + + if ($this->entity->isNew()) { + $actions['submit']['#value'] = $this->t('Save and edit'); + } + + return $actions; + } + + /** + * {@inheritdoc} + */ + public function save(array $form, FormStateInterface $form_state) { + $entity = $this->entity; + + $status = $entity->save(); + + switch ($status) { + case SAVED_NEW: + drupal_set_message($this->t('Created %label.', [ + '%label' => $entity->label(), + ])); + $form_state->setRedirectUrl($entity->toUrl('edit-form')); + break; + + default: + drupal_set_message($this->t('Saved %label.', [ + '%label' => $entity->label(), + ])); + $form_state->setRedirectUrl($entity->toUrl('collection')); + break; + } + } + + /** + * Override this function. + * + * Let it store the config which would otherwise be removed for some reason. + * + * @param \Drupal\Core\Entity\EntityInterface $entity + * The entity the current form should operate upon. + * @param array $form + * A nested array of form elements comprising the form. + * @param \Drupal\Core\Form\FormStateInterface $form_state + * The current state of the form. + */ + protected function copyFormValuesToEntity(EntityInterface $entity, array $form, FormStateInterface $form_state) { + $values = $form_state->getValues(); + + foreach ($values as $key => $value) { + $entity->set($key, $value); + } + } + +} diff --git a/modules/backup_migrate/src/Plugin/BackupMigrateDestination/DirectoryDestinationPlugin.php b/modules/backup_migrate/src/Plugin/BackupMigrateDestination/DirectoryDestinationPlugin.php new file mode 100644 index 0000000..269f682 --- /dev/null +++ b/modules/backup_migrate/src/Plugin/BackupMigrateDestination/DirectoryDestinationPlugin.php @@ -0,0 +1,17 @@ +getConfig(); + foreach ($info as $key => $value) { + $conf->set($key, $value); + } + return new DrupalMySQLiSource($conf); + } + + return NULL; + } + + /** + * {@inheritdoc} + */ + public function alterBackupMigrate(BackupMigrateInterface $bam, $key, $options = []) { + if ($source = $this->getObject()) { + $bam->sources()->add($key, $source); + // @TODO: This needs a better solution. + $config = [ + 'exclude_tables' => [], + 'nodata_tables' => [ + 'cache_advagg_minify', + 'cache_bootstrap', + 'cache_config', + 'cache_container', + 'cache_data', + 'cache_default', + 'cache_discovery', + 'cache_discovery_migration', + 'cache_dynamic_page_cache', + 'cache_entity', + 'cache_menu', + 'cache_migrate', + 'cache_render', + 'cache_rest', + 'cache_toolbar', + 'sessions', + 'watchdog', + 'webprofiler', + ], + ]; + + // @TODO: Allow modules to add their own excluded tables. + $bam->plugins()->add('db_exclude', new DBExcludeFilter(new Config($config))); + } + } + +} diff --git a/modules/backup_migrate/src/Plugin/BackupMigrateSource/DrupalFilesSourcePlugin.php b/modules/backup_migrate/src/Plugin/BackupMigrateSource/DrupalFilesSourcePlugin.php new file mode 100644 index 0000000..f0f3d7a --- /dev/null +++ b/modules/backup_migrate/src/Plugin/BackupMigrateSource/DrupalFilesSourcePlugin.php @@ -0,0 +1,66 @@ +getObject(); + $bam->sources()->add($key, $source); + + $config = [ + 'exclude_filepaths' => [], + 'source' => $source + ]; + + switch ($this->getConfig()->get('directory')) { + case 'public://': + $config['exclude_filepaths'] = [ + 'js', + 'css', + 'php', + 'styles', + 'config_*', + '.htaccess', + ]; + break; + + case 'private://': + $config['exclude_filepaths'] = [ + 'backup_migrate', + ]; + break; + } + + // @TODO: Allow modules to add their own excluded defaults. + $bam->plugins()->add($key . '_exclude', new FileExcludeFilter(new Config($config))); + } + +} diff --git a/modules/backup_migrate/src/Plugin/BackupMigrateSource/EntireSiteSourcePlugin.php b/modules/backup_migrate/src/Plugin/BackupMigrateSource/EntireSiteSourcePlugin.php new file mode 100644 index 0000000..e96017c --- /dev/null +++ b/modules/backup_migrate/src/Plugin/BackupMigrateSource/EntireSiteSourcePlugin.php @@ -0,0 +1,54 @@ +getConfig(); + $conf->set('directory', DRUPAL_ROOT); + $this->db_source = new DrupalMySQLiSource(new Config($info)); + return new DrupalSiteArchiveSource($conf, $this->db_source); + } + + return NULL; + } + + /** + * {@inheritdoc} + */ + public function alterBackupMigrate(BackupMigrateInterface $bam, $key, $options = []) { + if ($source = $this->getObject()) { + $bam->sources()->add($key, $source); + $bam->sources()->add('default_db', $this->db_source); + } + } + +} diff --git a/modules/backup_migrate/src/Plugin/BackupMigrateSource/FileDirectorySourcePlugin.php b/modules/backup_migrate/src/Plugin/BackupMigrateSource/FileDirectorySourcePlugin.php new file mode 100644 index 0000000..f053eb6 --- /dev/null +++ b/modules/backup_migrate/src/Plugin/BackupMigrateSource/FileDirectorySourcePlugin.php @@ -0,0 +1,17 @@ +_getConnection()) { + // Open (or rewind) the file. + $file->openForRead(); + + // Read one line at a time and run the query. + while ($line = $this->_readSQLCommand($file)) { + // if (_backup_migrate_check_timeout()) { + // return FALSE; + // } + if ($line) { + // Execute the sql query from the file. + $stmt = $conn->prepare($line); + if(!$stmt) return false; + $stmt->execute(); + $num++; + } + } + // Close the file, we're done reading it. + $file->close(); + } + return $num; + } + +} diff --git a/modules/backup_migrate/src/Source/DrupalPublicFilesSource.php b/modules/backup_migrate/src/Source/DrupalPublicFilesSource.php new file mode 100644 index 0000000..fb92f4c --- /dev/null +++ b/modules/backup_migrate/src/Source/DrupalPublicFilesSource.php @@ -0,0 +1,28 @@ + 'public://', + ]; + + return new Config($config); + } + +} diff --git a/modules/backup_migrate/src/Source/DrupalSiteArchiveSource.php b/modules/backup_migrate/src/Source/DrupalSiteArchiveSource.php new file mode 100644 index 0000000..3d25c23 --- /dev/null +++ b/modules/backup_migrate/src/Source/DrupalSiteArchiveSource.php @@ -0,0 +1,146 @@ +db_source = $db; + } + + /** + * Get a list if files to be backed up from the given directory. Do not + * include files that match the 'exclude_filepaths' setting. + * + * @param string $dir The name of the directory to list. + * + * @return array + * + * @throws \BackupMigrate\Core\Exception\BackupMigrateException + * @throws \BackupMigrate\Core\Exception\IgnorableException + * + * @internal param $directory + */ + protected function getFilesToBackup($dir) { + $files = []; + + // Add the database dump. + // @TODO: realpath contains the wrong filename and the PEAR archiver cannot rename files. + $db = $this->getDbSource()->exportToFile(); + $files['database.sql'] = $db->realpath(); + + // Add the manifest file. + $manifest = $this->getManifestFile(); + $files['MANIFEST.ini'] = $manifest->realpath(); + + // Get all the files in the site. + foreach (parent::getFilesToBackup($dir) as $new => $real) { + // Prepend 'docroot' onto the local path. + $files['docroot/' . $new] = $real; + } + + return $files; + } + + /** + * Import to this source from the given backup file. This is the main restore + * function for this source. + * + * @param BackupFileReadableInterface $file + * The file to read the backup from. It will not be opened for reading + * + * @return bool|void + */ + public function importFromFile(BackupFileReadableInterface $file) { + // TODO: Implement importFromFile() method. + } + + /** + * Get a file which contains the file. + * + * @return \BackupMigrate\Core\File\BackupFileWritableInterface + */ + protected function getManifestFile() { + $out = $this->getTempFileManager()->create('ini'); + + $info = [ + 'Global' => [ + 'datestamp' => time(), + "formatversion" => "2011-07-02", + "generator" => "Backup and Migrate (http://drupal.org/project/backup_migrate)", + "generatorversion" => BACKUP_MIGRATE_MODULE_VERSION, + ], + 'Site 0' => [ + 'version' => \Drupal::VERSION, + 'name' => "Example.com", + 'docroot' => "docroot", + 'sitedir' => "docroot/sites/default", + 'database-file-default' => "database.sql", + 'database-file-driver' => "mysql", + 'files-private' => "docroot/sites/default/private", + 'files-public' => "docroot/sites/default/files" + ] + ]; + + $out->writeAll($this->arrayToINI($info)); + return $out; + } + + + /** + * Translate a 2d array to an INI string which can be written to a file. + * + * @param array $info + * The array to convert. Must be an array of sections each of which is an array of field/value pairs. + * + * @return string + * The data in INI format. + */ + private function arrayToINI($info) { + $content = ""; + foreach ($info as $section => $data) { + $content .= '[' . $section . ']' . "\n"; + foreach ($data as $key => $val) { + $content .= $key . " = \"" . $val . "\"\n"; + } + $content .= "\n"; + } + return $content; + + } + + /** + * @return SourceInterface + */ + public function getDbSource() { + return $this->db_source; + } + +} diff --git a/modules/backup_migrate/tests/src/Functional/BackupMigrateEnablingTest.php b/modules/backup_migrate/tests/src/Functional/BackupMigrateEnablingTest.php new file mode 100644 index 0000000..1a0d696 --- /dev/null +++ b/modules/backup_migrate/tests/src/Functional/BackupMigrateEnablingTest.php @@ -0,0 +1,39 @@ +drupalGet(''); + $this->assertSession()->statusCodeEquals(200); + } + +} diff --git a/modules/backup_migrate/tests/src/Functional/BackupMigratePageLoadTest.php b/modules/backup_migrate/tests/src/Functional/BackupMigratePageLoadTest.php new file mode 100644 index 0000000..9fd9bb6 --- /dev/null +++ b/modules/backup_migrate/tests/src/Functional/BackupMigratePageLoadTest.php @@ -0,0 +1,72 @@ +container->get('router.builder')->rebuild(); + + // Ensure backup_migrate folder exists, the + // `admin/config/development/backup_migrate/backups` path will fail without + // this. + $path = 'private://backup_migrate/'; + file_prepare_directory($path, FILE_CREATE_DIRECTORY); + } + + /** + * Tests if site quick backup function loads. + */ + public function testPages() { + $account = $this->drupalCreateUser([ + 'access backup files', + 'administer backup and migrate', + 'perform backup', + 'restore from backup', + ]); + $this->drupalLogin($account); + + $paths = [ + 'admin/config/development/backup_migrate' => ['text' => 'Quick Backup'], + 'admin/config/development/backup_migrate/advanced' => ['text' => 'Advanced Backup'], + 'admin/config/development/backup_migrate/restore' => ['text' => 'Restore'], + 'admin/config/development/backup_migrate/backups' => ['text' => 'Backups'], + 'admin/config/development/backup_migrate/schedule' => ['text' => 'Schedule'], + 'admin/config/development/backup_migrate/schedule/add' => ['text' => 'Add schedule'], + 'admin/config/development/backup_migrate/settings' => ['text' => 'Settings'], + 'admin/config/development/backup_migrate/settings/add' => ['text' => 'Add settings profile'], + 'admin/config/development/backup_migrate/settings/destination' => ['text' => 'Backup Destination'], + 'admin/config/development/backup_migrate/settings/destination/add' => ['text' => 'Add destination'], + 'admin/config/development/backup_migrate/settings/source' => ['text' => 'Backup sources'], + 'admin/config/development/backup_migrate/settings/source/add' => ['text' => 'Add Backup Source'], + ]; + + foreach ($paths as $path => $settings) { + $this->drupalGet($path); + $this->assertSession()->statusCodeEquals(200); + $this->assertSession()->pageTextContains($settings['text']); + } + } + +} diff --git a/modules/backup_migrate/tests/src/Functional/BackupMigratePermissionsTest.php b/modules/backup_migrate/tests/src/Functional/BackupMigratePermissionsTest.php new file mode 100644 index 0000000..c13ec52 --- /dev/null +++ b/modules/backup_migrate/tests/src/Functional/BackupMigratePermissionsTest.php @@ -0,0 +1,188 @@ +drupalLogin($this->drupalCreateUser($permissions)); + + // Run the path tests. + $this->checkPaths($ok_paths); + } + + /** + * Check a set of paths to see if they are accessible. + * + * @param array $ok_paths + * The paths that are expected return a 200 response, all others are + * expected to return a 403 response. + */ + private function checkPaths(array $ok_paths = []) { + foreach ($this->allPaths as $path) { + $this->drupalGet($path); + if (in_array($path, $ok_paths)) { + $this->assertSession()->statusCodeEquals(200); + } + else { + $this->assertSession()->statusCodeEquals(403); + } + } + } + + /** + * Tests access for anonymous users. + */ + public function testAnonymous() { + // Run the tests without any $ok_paths as they should all be 403. + $this->checkPaths([]); + } + + /** + * Tests access for an authenticated user without any permissions. + */ + public function testAuthenticated() { + // No permissions as the visitor can't do anything. + $permissions = []; + // No paths should be ok. + $ok_paths = []; + + // Run the tests. + $this->checkPathsWithUser($ok_paths, $permissions); + } + + /** + * Tests access for 'administer backup and migrate' permission. + */ + public function testAdminister() { + // The permission(s) to test. + $permissions = [ + 'administer backup and migrate', + ]; + // Only settings pages should work. + $ok_paths = [ + 'admin/config/development/backup_migrate/schedule', + 'admin/config/development/backup_migrate/schedule/add', + 'admin/config/development/backup_migrate/settings', + 'admin/config/development/backup_migrate/settings/add', + 'admin/config/development/backup_migrate/settings/destination', + 'admin/config/development/backup_migrate/settings/destination/add', + 'admin/config/development/backup_migrate/settings/source', + 'admin/config/development/backup_migrate/settings/source/add', + 'admin/config/development/backup_migrate/settings/destination/backups/private_files/delete/none.mysql.gz', + ]; + + // Run the tests. + $this->checkPathsWithUser($ok_paths, $permissions); + } + + /** + * Tests access for 'perform backup' permission. + */ + public function testPerformBackup() { + // The permission(s) to test. + $permissions = [ + 'perform backup', + ]; + // The paths to check. + $ok_paths = [ + 'admin/config/development/backup_migrate', + 'admin/config/development/backup_migrate/advanced', + ]; + + // Run the tests. + $this->checkPathsWithUser($ok_paths, $permissions); + } + + /** + * Tests access for 'restore from backup' permission. + */ + public function testRestoreFromBackup() { + // The permission(s) to test. + $permissions = [ + 'restore from backup', + ]; + // The paths to check. + $ok_paths = [ + 'admin/config/development/backup_migrate/restore', + ]; + + // Run the tests. + $this->checkPathsWithUser($ok_paths, $permissions); + } + + /** + * Tests access for 'access backup files' permission. + */ + public function testAccessBackupFiles() { + // The permission(s) to test. + $permissions = [ + 'access backup files', + ]; + // The paths to check. + $ok_paths = [ + 'admin/config/development/backup_migrate/backups', + ]; + + // Run the tests. + $this->checkPathsWithUser($ok_paths, $permissions); + } + +} diff --git a/modules/backup_migrate/tests/src/Functional/BackupMigrateQuickBackupTest.php b/modules/backup_migrate/tests/src/Functional/BackupMigrateQuickBackupTest.php new file mode 100644 index 0000000..4bb4515 --- /dev/null +++ b/modules/backup_migrate/tests/src/Functional/BackupMigrateQuickBackupTest.php @@ -0,0 +1,65 @@ +drupalLogin($this->drupalCreateUser([ + 'perform backup', + 'access backup files', + 'administer backup and migrate', + ])); + $this->drupalGet('admin/config/development/backup_migrate'); + $this->assertSession()->statusCodeEquals(200); + + // Submit the quick backup form. + $data = [ + 'source_id' => 'default_db', + 'destination_id' => 'private_files', + ]; + $this->submitForm($data, t('Backup now')); + + // Get backups page. + $this->drupalGet('admin/config/development/backup_migrate/backups'); + $this->assertSession()->statusCodeEquals(200); + + // Searching for the existing backups. + $page = $this->getSession()->getPage(); + $table = $page->find('css', 'table'); + $row = $table->find('css', sprintf('tbody tr:contains("%s")', '.mysql.gz')); + $this->assertNotNull($row); + } + +} diff --git a/modules/fontawesome-8.x-2.14.zip b/modules/fontawesome-8.x-2.14.zip new file mode 100644 index 0000000000000000000000000000000000000000..1b6f4464f7708789345d8a37eedd8342bf750439 GIT binary patch literal 116387 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 literal 0 HcmV?d00001 diff --git a/web/modules/fontawesome/LICENSE.txt b/web/modules/fontawesome/LICENSE.txt new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/web/modules/fontawesome/LICENSE.txt @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + 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 General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/web/modules/fontawesome/README.txt b/web/modules/fontawesome/README.txt new file mode 100644 index 0000000..a65dfaf --- /dev/null +++ b/web/modules/fontawesome/README.txt @@ -0,0 +1,104 @@ + +CONTENTS OF THIS FILE +--------------------- + + * Introduction + * Installation + * Usage + * Credits + + +INTRODUCTION 8.2.x version +------------ +Font Awesome (http://fontawesome.com) is the web's most popular icon set and +toolkit. This release of the Font Awesome Icons module supports Font Awesome +versions higher than 5.0. For older versions of Font Awesome, you should +download and install Font Awesome Icons 8.1.x. See the Font Awesome Icons +page on Drupal.org for more information. + +"fontawesome" provides integration of "Font Awesome" with Drupal. Once enabled +"Font Awesome" icon fonts could be used as: + +1. Directly inside of any HTML (node/block/view/panel). Inside HTML you can + place Font Awesome icons just about anywhere with an tag. + + Example for an info icon: + + See more examples of using "Font Awesome" within HTML at: + https://fontawesome.com/how-to-use/on-the-web/referencing-icons/basic-use + + +INSTALLATION +------------ + +1. Using Drush (https://github.com/drush-ops/drush#readme) + + $ drush en fontawesome + + Upon enabling, this will also attempt to download and install the library + in `/libraries/fontawesome`. If, for whatever reason, this process + fails, you can re-run the library install manually by first clearing Drush + caches: + + $ drush cc drush + + and then using another drush command:- + + (Drush 8) + $ drush fa-download + (Drush 9) + $ drush fa:download + +2. Manually + + a. Install the "Font Awesome" library following one of these 2 options: + - run "drush fa-download" (recommended, it will download the right + package and extract it at the right place for you.) + - manual install: Download & extract "Font Awesome" + (http://fontawesome.com) and place inside + "/libraries/fontawesome" directory. The JS file should + be at /libraries/fontawesome/js/all.js + Direct link for downloading latest version (current is v5.10.0) is: + https://use.fontawesome.com/releases/v5.10.0/fontawesome-free-5.10.0-web.zip + b. Enable the module at Administer >> Site building >> Modules. + + +USAGE +_____ +Font Awesome can be used in many ways - you can manually insert Font Awesome +tags wherever you see fit after enabling the module, but there are other ways +as well. See + https://fontawesome.com/how-to-use/on-the-web/referencing-icons/basic-use +for information on basic usage. + +CSS Pseudo-elements - if you are using the older version of Font Awesome, CSS +with webfonts, you can use CSS Pseudo-elements for inserting your icons rather +than the default method. See + https://fontawesome.com/how-to-use/on-the-web/advanced/css-pseudo-elements +for more information on how to add the icons through CSS. + +Font Awesome icon field - this module includes the option to add a Font Awesome +icon field to any of your content types without the need for coding. + +Font Awesome CKEditor plugin - this module includes a CKEditor plugin which +will allow you to insert Font Awesome icons into any CKEditor text field with +the plugin enabled. It can be enabled under + Configuration -> Content authoring -> Text formats and editors +From here, simply add the icon to your active toolbar (it looks like a flag). +Please note that in order to use SVG with JS version of Font Awesome, you will +need to either disable the "Correct faulty and chopped off HTML" filter, or you +will have to add the required SVG tags to the exception list. A list of SVG +tags can be found here: + https://www.w3.org/TR/SVG11/eltindex.html + or + https://developer.mozilla.org/en-US/docs/Web/SVG/Element + + +CREDITS +------- +* Rob Loach (RobLoach) http://robloach.net +* Inder Singh (inders) http://indersingh.com | https://www.drupal.org/u/inders +* Mark Carver https://www.drupal.org/u/mark-carver +* Brian Gilbert https://drupal.org/u/realityloop +* Daniel Moberly https://drupal.org/u/danielmoberly +* Truls S. Yggeseth https://drupal.org/u/truls1502 diff --git a/web/modules/fontawesome/composer.json b/web/modules/fontawesome/composer.json new file mode 100644 index 0000000..88aeda7 --- /dev/null +++ b/web/modules/fontawesome/composer.json @@ -0,0 +1,15 @@ +{ + "name": "drupal/fontawesome", + "description": "The web's most popular icon set and toolkit.", + "type": "drupal-module", + "license": "GPL-2.0+", + "homepage": "https://www.drupal.org/project/fontawesome", + "minimum-stability": "dev", + "extra": { + "drush": { + "services": { + "drush.services.yml": "^9" + } + } + } +} diff --git a/web/modules/fontawesome/config/install/fontawesome.settings.yml b/web/modules/fontawesome/config/install/fontawesome.settings.yml new file mode 100644 index 0000000..fbdde23 --- /dev/null +++ b/web/modules/fontawesome/config/install/fontawesome.settings.yml @@ -0,0 +1,10 @@ +tag: 'i' +method: 'svg' +use_cdn: true +external_svg_location: 'https://use.fontawesome.com/releases/v5.10.0/js/all.js' +use_shim: true +external_shim_location: 'https://use.fontawesome.com/releases/v5.10.0/js/v4-shims.js' +use_solid_file: true +use_regular_file: true +use_light_file: true +use_brands_file: true diff --git a/web/modules/fontawesome/config/schema/fontawesome.schema.yml b/web/modules/fontawesome/config/schema/fontawesome.schema.yml new file mode 100644 index 0000000..39f479a --- /dev/null +++ b/web/modules/fontawesome/config/schema/fontawesome.schema.yml @@ -0,0 +1,37 @@ +fontawesome.settings: + type: config_object + label: 'Font Awesome settings' + mapping: + tag: + type: string + label: 'Tag used for Font Awesome elements' + method: + type: string + label: 'Method used for delivering Font Awesome' + use_cdn: + type: boolean + label: 'Use CDN to serve Font Awesome' + external_svg_location: + type: string + label: 'Location of the external CDN for Font Awesome' + use_shim: + type: boolean + label: 'Use Shim File for v4 compatibility' + external_shim_location: + type: string + label: 'Location of the external CDN for Font Awesome shim file' + allow_pseudo_elements: + type: boolean + label: 'Allow CSS pseudo elements with webfonts' + use_solid_file: + type: boolean + label: 'Use the Font Awesome solid icons file' + use_regular_file: + type: boolean + label: 'Use the Font Awesome regular icons file' + use_light_file: + type: boolean + label: 'Use the Font Awesome light icons file' + use_brands_File: + type: boolean + label: 'Use the Font Awesome brands icons file' diff --git a/web/modules/fontawesome/drush.services.yml b/web/modules/fontawesome/drush.services.yml new file mode 100644 index 0000000..faa5af1 --- /dev/null +++ b/web/modules/fontawesome/drush.services.yml @@ -0,0 +1,5 @@ +services: + fontawesome.commands: + class: \Drupal\fontawesome\Commands\FontawesomeCommands + tags: + - { name: drush.command } diff --git a/web/modules/fontawesome/fontawesome.info.yml b/web/modules/fontawesome/fontawesome.info.yml new file mode 100644 index 0000000..1b68b91 --- /dev/null +++ b/web/modules/fontawesome/fontawesome.info.yml @@ -0,0 +1,12 @@ +name: 'Font Awesome' +type: module +description: 'The most popular icon set and toolkit on the web.' + +# core: 8.x +configure: fontawesome.admin_settings + +# Information added by Drupal.org packaging script on 2019-08-02 +version: '8.x-2.14' +core: '8.x' +project: 'fontawesome' +datestamp: 1564762409 diff --git a/web/modules/fontawesome/fontawesome.install b/web/modules/fontawesome/fontawesome.install new file mode 100644 index 0000000..28fc3f8 --- /dev/null +++ b/web/modules/fontawesome/fontawesome.install @@ -0,0 +1,105 @@ + t('Font Awesome 5'), + ]; + + // Load the configuration settings. + $configuration_settings = \Drupal::config('fontawesome.settings'); + + // Check if Font Awesome is installed. + if (fontawesome_check_installed()) { + // Get the version. + if ($configuration_settings->get('method') == 'webfonts') { + $version = t('Webfonts with CSS'); + } + elseif ($configuration_settings->get('use_cdn')) { + $version = t('CDN SVG with JS'); + } + else { + $version = t('SVG with JS'); + } + + // First check if we're using everything. + if (is_null($configuration_settings->get('use_solid_file')) === TRUE || ($configuration_settings->get('use_solid_file') && $configuration_settings->get('use_regular_file') && $configuration_settings->get('use_light_file') && $configuration_settings->get('use_brands_file'))) { + // Attach the main library. + $loadedMessages = [ + t('All icons loaded'), + ]; + } + // Else we attach the libraries piecemeal. + else { + $loadedMessages = []; + if ($configuration_settings->get('use_solid_file')) { + $loadedMessages[] = t('Solid icons loaded'); + } + if ($configuration_settings->get('use_regular_file')) { + $loadedMessages[] = t('Regular icons loaded'); + } + if ($configuration_settings->get('use_light_file')) { + $loadedMessages[] = t('Light icons loaded'); + } + if ($configuration_settings->get('use_brands_file')) { + $loadedMessages[] = t('Brands icons loaded'); + } + } + + $requirements['fontawesome']['severity'] = REQUIREMENT_OK; + $requirements['fontawesome']['value'] = t('Font Awesome 5 library is installed. Using %version version. (@moreInfoLink)', [ + '%version' => $version, + '@moreInfoLink' => Link::createFromRoute(t('more information'), 'fontawesome.admin_settings')->toString(), + ]); + $requirements['fontawesome']['description'] = [ + '#theme' => 'item_list', + '#items' => $loadedMessages, + '#title' => '', + '#list_type' => 'ul', + '#attributes' => [], + ]; + } + else { + $requirements['fontawesome']['severity'] = REQUIREMENT_ERROR; + $requirements['fontawesome']['value'] = t('Not installed'); + $requirements['fontawesome']['description'] = t('The Font Awesome 5 library could not be found. Please verify Font Awesome 5 is installed correctly or that the CDN has been activated and properly configured. Please see the @adminPage and the Font Awesome module README file for more details.', [ + '@adminPage' => Link::createFromRoute(t('admin page'), 'fontawesome.admin_settings')->toString(), + ]); + } + } + + return $requirements; +} + +/** + * Implements hook_uninstall(). + */ +function fontawesome_uninstall() { + // Delete set variables. + $query = \Drupal::database()->delete('config'); + $query->condition('name', 'fontawesome.settings'); + $query->execute(); + $query = \Drupal::database()->delete('key_value'); + $query->condition('name', 'fontawesome'); + $query->execute(); + + // Icon API module : Delete fontawesome icon bundle & clear cache. + if (\Drupal::moduleHandler()->moduleExists('icon') && ($cache = \Drupal::cache()->get('icon_bundles')) && !empty($cache->data)) { + $fa_icon_bundle = isset($cache->data['fontawesome']) ? $cache->data['fontawesome'] : []; + $fa_icon_bundle['path'] = isset($fa_icon_bundle['path']) ? $fa_icon_bundle['path'] : 'fontawesome'; + icon_bundle_delete($fa_icon_bundle); + } +} diff --git a/web/modules/fontawesome/fontawesome.libraries.yml b/web/modules/fontawesome/fontawesome.libraries.yml new file mode 100644 index 0000000..04976f1 --- /dev/null +++ b/web/modules/fontawesome/fontawesome.libraries.yml @@ -0,0 +1,125 @@ +fontawesome.svg: + remote: &fontawesome_remote https://use.fontawesome.com/releases/v5.10.0/fontawesome-free-5.10.0-web.zip + license: &fontawesome_svg_license + name: CC BY 4.0 + url: https://fontawesome.com/license + gpl-compatible: true + version: &fontawesome_version "5.10.0" + header: true + js: + /libraries/fontawesome/js/all.js: { minified: true, attributes: { defer: true } } + +fontawesome.svg.shim: + version: *fontawesome_version + license: *fontawesome_svg_license + header: true + js: + /libraries/fontawesome/js/v4-shims.js: { minified: true, attributes: { defer: true } } + dependencies: + - fontawesome/fontawesome.svg + +fontawesome.svg.base: + version: *fontawesome_version + license: *fontawesome_svg_license + header: true + js: + /libraries/fontawesome/js/fontawesome.js: { minified: true, attributes: { defer: true } } + +fontawesome.svg.solid: + version: *fontawesome_version + license: *fontawesome_svg_license + header: true + js: + /libraries/fontawesome/js/solid.js: { minified: true, attributes: { defer: true } } + dependencies: + - fontawesome/fontawesome.svg.base + +fontawesome.svg.regular: + version: *fontawesome_version + license: *fontawesome_svg_license + header: true + js: + /libraries/fontawesome/js/regular.js: { minified: true, attributes: { defer: true } } + dependencies: + - fontawesome/fontawesome.svg.base + +fontawesome.svg.light: + version: *fontawesome_version + license: *fontawesome_svg_license + header: true + js: + /libraries/fontawesome/js/light.js: { minified: true, attributes: { defer: true } } + dependencies: + - fontawesome/fontawesome.svg.base + +fontawesome.svg.brands: + version: *fontawesome_version + license: *fontawesome_svg_license + header: true + js: + /libraries/fontawesome/js/brands.js: { minified: true, attributes: { defer: true } } + dependencies: + - fontawesome/fontawesome.svg.base + +fontawesome.webfonts: + remote: *fontawesome_remote + license: &fontawesome_webfonts_license + name: SIL OFL 1.1 + url: https://fontawesome.com/license + gpl-compatible: true + version: *fontawesome_version + css: + theme: + /libraries/fontawesome/css/all.css: { minified: true } + +fontawesome.webfonts.base: + version: *fontawesome_version + license: *fontawesome_webfonts_license + css: + theme: + /libraries/fontawesome/css/fontawesome.css: { minified: true } + +fontawesome.webfonts.solid: + version: *fontawesome_version + license: *fontawesome_webfonts_license + css: + theme: + /libraries/fontawesome/css/solid.css: { minified: true } + dependencies: + - fontawesome/fontawesome.webfonts.base + +fontawesome.webfonts.regular: + version: *fontawesome_version + license: *fontawesome_webfonts_license + css: + theme: + /libraries/fontawesome/css/regular.css: { minified: true } + dependencies: + - fontawesome/fontawesome.webfonts.base + +fontawesome.webfonts.light: + version: *fontawesome_version + license: *fontawesome_webfonts_license + css: + theme: + /libraries/fontawesome/css/light.css: { minified: true } + dependencies: + - fontawesome/fontawesome.webfonts.base + +fontawesome.webfonts.brands: + version: *fontawesome_version + license: *fontawesome_webfonts_license + css: + theme: + /libraries/fontawesome/css/brands.css: { minified: true } + dependencies: + - fontawesome/fontawesome.webfonts.base + +fontawesome.webfonts.shim: + version: *fontawesome_version + license: *fontawesome_webfonts_license + css: + theme: + /libraries/fontawesome/css/v4-shims.css: { minified: true } + dependencies: + - fontawesome/fontawesome.webfonts diff --git a/web/modules/fontawesome/fontawesome.links.menu.yml b/web/modules/fontawesome/fontawesome.links.menu.yml new file mode 100644 index 0000000..5d69684 --- /dev/null +++ b/web/modules/fontawesome/fontawesome.links.menu.yml @@ -0,0 +1,5 @@ +fontawesome.admin_settings: + title: 'Font Awesome Settings' + description: 'Global settings for the display of Font Awesome icons.' + route_name: fontawesome.admin_settings + parent: 'system.admin_config_content' diff --git a/web/modules/fontawesome/fontawesome.module b/web/modules/fontawesome/fontawesome.module new file mode 100644 index 0000000..56f7571 --- /dev/null +++ b/web/modules/fontawesome/fontawesome.module @@ -0,0 +1,547 @@ + ' . t('Font Awesome is an iconic font and CSS toolkit. Font Awesome gives you scalable vector icons that can instantly be customized — size, color, drop shadow, and anything that can be done with the power of CSS. For more information on how to use Font Awesome, see the Font Awesome Examples page.', [ + ':fontawesome_url' => 'https://fontawesome.com', + ':fontawesome_examples_page' => 'https://fontawesome.com/how-to-use/on-the-web/referencing-icons/basic-use', + ]) . '

'; + } +} + +/** + * Implements hook_library_info_alter(). + */ +function fontawesome_library_info_alter(&$libraries, $extension) { + // Modify the Font Awesome library to use external file if user chose. + if ($extension == 'fontawesome') { + // Load the configuration settings. + $configuration_settings = \Drupal::config('fontawesome.settings'); + + // Have to modify the library if the user is using a CDN. + if ($configuration_settings->get('use_cdn')) { + + // First check if we're using everything. + if (isset($libraries['fontawesome.' . $configuration_settings->get('method')])) { + _fontawesome_modify_library($libraries, NULL, $configuration_settings->get('method'), $configuration_settings->get('external_svg_location')); + } + + // Determine the base for the CDN. + $cdnComponents = parse_url($configuration_settings->get('external_svg_location')); + $cdnComponents['path'] = explode('/', $cdnComponents['path']); + unset($cdnComponents['path'][count($cdnComponents['path']) - 1]); + $cdnComponents['path'] = implode('/', $cdnComponents['path']) . '/'; + + if (isset($libraries['fontawesome.' . $configuration_settings->get('method') . '.base'])) { + // Modify settings for the base file. + $cdnBase = $cdnComponents; + $cdnBase['path'] .= 'fontawesome.' . ($configuration_settings->get('method') == 'webfonts' ? 'css' : 'js'); + _fontawesome_modify_library($libraries, 'base', $configuration_settings->get('method'), _fontawesome_unparse_url($cdnBase)); + } + + // Modify settings for individual included files. + foreach (['solid', 'regular', 'light', 'brands'] as $libraryType) { + if (isset($libraries['fontawesome.' . $configuration_settings->get('method') . '.' . $libraryType])) { + $cdnBase = $cdnComponents; + $cdnBase['path'] .= $libraryType . '.' . ($configuration_settings->get('method') == 'webfonts' ? 'css' : 'js'); + _fontawesome_modify_library($libraries, $libraryType, $configuration_settings->get('method'), _fontawesome_unparse_url($cdnBase)); + } + } + + // Modify the shim as well. + if (isset($libraries['fontawesome.' . $configuration_settings->get('method') . '.shim'])) { + _fontawesome_modify_library($libraries, 'shim', $configuration_settings->get('method'), $configuration_settings->get('external_shim_location')); + } + } + + // Allow pseudo-elements in JS if selected. + if ($configuration_settings->get('allow_pseudo_elements') && $configuration_settings->get('method') == 'svg') { + // Modify the libraries to add pseudo elements tag. + foreach ($libraries as $key => &$values) { + if (substr($key, 0, 15) == 'fontawesome.svg') { + $librarySettings = reset($values['js']); + $librarySource = key($values['js']); + // Font Awesome requires this script tag to enable pseudo elements. + $librarySettings['attributes'] = [ + 'data-search-pseudo-elements' => TRUE, + ]; + $values['js'][$librarySource] = $librarySettings; + } + } + } + } +} + +/** + * Modifies library inclusions to use CDN files when necessary. + * + * @param array $libraries + * The libraries inclusion array. + * @param string $librarySuffix + * The suffix of the library being modified. + * @param string $type + * The type of library we are modifying. + * @param string $cdnLocation + * The location of the CDN file being used. + */ +function _fontawesome_modify_library(array &$libraries, $librarySuffix, $type, $cdnLocation) { + // Determine the name of the library. + $libraryName = 'fontawesome.' . $type; + if (!empty($librarySuffix)) { + $libraryName .= '.' . $librarySuffix; + } + + // Handle SVG method. + if ($type == 'svg') { + $librarySettings = array_shift($libraries[$libraryName]['js']); + $libraries[$libraryName]['js'] = [ + $cdnLocation => $librarySettings, + ]; + } + // Handle WebFonts method. + elseif ($type == 'webfonts') { + $librarySettings = array_shift($libraries[$libraryName]['css']['theme']); + $libraries[$libraryName]['css']['theme'] = [ + $cdnLocation => $librarySettings, + ]; + } +} + +/** + * Unparses a CDN URL for use with individual Font Awesome file inclusions. + * + * @param array $parsed + * Array containing URL parsed data. + * + * @return string + * The unparsed URL for the CDN. + */ +function _fontawesome_unparse_url(array $parsed) { + $get = function ($key) use ($parsed) { + return isset($parsed[$key]) ? $parsed[$key] : NULL; + }; + + $pass = $get('pass'); + $user = $get('user'); + $userinfo = $pass !== NULL ? "$user:$pass" : $user; + $port = $get('port'); + $scheme = $get('scheme'); + $query = $get('query'); + $fragment = $get('fragment'); + $authority = ($userinfo !== NULL ? "$userinfo@" : '') . $get('host') . ($port ? ":$port" : ''); + + return (strlen($scheme) ? "$scheme:" : '') . (strlen($authority) ? "//$authority" : '') . $get('path') . (strlen($query) ? "?$query" : '') . (strlen($fragment) ? "#$fragment" : ''); +} + +/** + * Implements hook_ckeditor_css_alter(). + * + * This function allows for the proper functionality of the icons inside the + * CKEditor when using Webfonts with CSS as the Font Awesome display method. + * + * See fontawesome_editor_js_settings_alter() for allowing the use of the icons + * inside CKEditor when using the SVG with JS display method. + */ +function fontawesome_ckeditor_css_alter(&$css, $editor) { + // Attach the main library if we're using the CSS webfonts method.. + if (\Drupal::config('fontawesome.settings')->get('method') == 'webfonts') { + // Load the library. + $fontawesome_library = \Drupal::service('library.discovery')->getLibraryByName('fontawesome', 'fontawesome.webfonts'); + // Attach it's CSS. + $css[] = $fontawesome_library['css'][0]['data']; + + // Attach the shim CSS if needed. + if (Drupal::config('fontawesome.settings')->get('use_shim')) { + // Load the library. + $fontawesome_library_shim = \Drupal::service('library.discovery')->getLibraryByName('fontawesome', 'fontawesome.webfonts.shim'); + // Attach it's CSS. + $css[] = $fontawesome_library_shim['css'][0]['data']; + } + } +} + +/** + * Check to make sure that Font Awesome is installed. + * + * @return bool + * Flag indicating if the library is properly installed. + */ +function fontawesome_check_installed() { + // Load the configuration settings. + $configuration_settings = \Drupal::config('fontawesome.settings'); + + // Throw error if library file not found. + if ($configuration_settings->get('use_cdn')) { + return !empty($configuration_settings->get('external_svg_location')); + } + elseif ($configuration_settings->get('method') == 'webfonts') { + // Webfonts method. + $fontawesome_library = \Drupal::service('library.discovery')->getLibraryByName('fontawesome', 'fontawesome.webfonts'); + return file_exists(DRUPAL_ROOT . '/' . $fontawesome_library['css'][0]['data']); + } + else { + // SVG method. + $fontawesome_library = \Drupal::service('library.discovery')->getLibraryByName('fontawesome', 'fontawesome.svg'); + return file_exists(DRUPAL_ROOT . '/' . $fontawesome_library['js'][0]['data']); + } +} + +/** + * Implements hook_page_attachments(). + * + * Purposefully only load on page requests and not hook_init(). This is + * required so it does not increase the bootstrap time of Drupal when it isn't + * necessary. + */ +function fontawesome_page_attachments(array &$page) { + // Load the configuration settings. + $configuration_settings = \Drupal::config('fontawesome.settings'); + + // Throw error if library file not found. + if (!fontawesome_check_installed()) { + \Drupal::messenger()->addWarning(t('The Font Awesome library could not be found. Please verify Font Awesome is installed correctly or that the CDN has been activated and properly configured. Please see the @adminPage and the Font Awesome module README file for more details.', [ + '@adminPage' => Link::createFromRoute(t('admin page'), 'fontawesome.admin_settings')->toString(), + ])); + return; + } + + // First check if we're using everything. + if (is_null($configuration_settings->get('use_solid_file')) === TRUE || ($configuration_settings->get('use_solid_file') && $configuration_settings->get('use_regular_file') && $configuration_settings->get('use_light_file') && $configuration_settings->get('use_brands_file'))) { + // Attach the main library. + $page['#attached']['library'][] = 'fontawesome/fontawesome.' . $configuration_settings->get('method'); + } + // Else we attach the libraries piecemeal. + else { + if ($configuration_settings->get('use_solid_file')) { + $page['#attached']['library'][] = 'fontawesome/fontawesome.' . $configuration_settings->get('method') . '.solid'; + } + if ($configuration_settings->get('use_regular_file')) { + $page['#attached']['library'][] = 'fontawesome/fontawesome.' . $configuration_settings->get('method') . '.regular'; + } + if ($configuration_settings->get('use_light_file')) { + $page['#attached']['library'][] = 'fontawesome/fontawesome.' . $configuration_settings->get('method') . '.light'; + } + if ($configuration_settings->get('use_brands_file')) { + $page['#attached']['library'][] = 'fontawesome/fontawesome.' . $configuration_settings->get('method') . '.brands'; + } + } + + // Attach the shim file if needed. + if ($configuration_settings->get('use_shim')) { + $page['#attached']['library'][] = 'fontawesome/fontawesome.' . $configuration_settings->get('method') . '.shim'; + } +} + +/** + * Helper function returns the prefix for an icon based on icon type. + * + * @param array $styles + * An array of valid styles for the icon. + * @param string $default + * The value to assign here if it's not a brand icon. + * + * @return string + * A valid prefix for this icon. + */ +function fontawesome_determine_prefix(array $styles, $default = 'fas') { + // Determine the icon style - brands behave differently. + foreach ($styles as $style) { + if ($style == 'brands') { + return 'fab'; + } + } + return $default; +} + +/** + * Implements hook_theme(). + */ +function fontawesome_theme($existing, $type, $theme, $path) { + return [ + 'fontawesomeicons' => [ + 'variables' => [ + 'icons' => NULL, + 'layers' => FALSE, + ], + ], + 'fontawesomeicon' => [ + 'variables' => [ + 'tag' => 'i', + 'name' => NULL, + 'style' => NULL, + 'settings' => NULL, + 'transforms' => NULL, + 'mask' => NULL, + 'css' => NULL, + ], + ], + ]; +} + +/** + * Implements hook_theme_suggestions_HOOK_alter(). + */ +function fontawesome_theme_suggestions_fontawesomeicon(array $variables) { + // Suggest a template with the icon name if it exists. + if (!empty($variables['name'])) { + $suggestions[] = $variables['theme_hook_original'] . '__' . $variables['name']; + } + return $suggestions; +} + +/** + * Implements hook_theme_registry_alter(). + */ +function fontawesome_theme_registry_alter(&$theme_registry) { + /* + * By default, Drupal 8 does not include theme suggestions from inside the + * module in which they were created, so we must add them manually here. + */ + $path = drupal_get_path('module', 'fontawesome'); + $fontawesome_templates = drupal_find_theme_templates($theme_registry, '.html.twig', $path); + foreach ($fontawesome_templates as &$fontawesome_template) { + $fontawesome_template['type'] = 'module'; + } + $theme_registry += $fontawesome_templates; +} + +/** + * Implements hook_icon_providers(). + */ +function fontawesome_icon_providers() { + $providers['fontawesome'] = [ + 'title' => 'Font Awesome', + 'url' => 'http://fontawesome.io', + ]; + return $providers; +} + +/** + * Implements hook_icon_bundle_configure(). + */ +function fontawesome_icon_bundle_configure(&$settings, &$form_state, &$complete_form) { + $bundle = $form_state['bundle']; + if ($bundle['provider'] === 'fontawesome') { + $settings['tag'] = [ + '#type' => 'select', + '#title' => t('HTML Markup'), + '#description' => t('Choose the HTML markup tag that Font Awesome icons should be created with. Typically, this is a %tag tag, however it can be changed to suite the theme requirements.', [ + '%tag' => '<' . $bundle['settings']['tag'] . '>', + ]), + '#options' => array_combine( + ['i', 'span'], + ['i', 'span'] + ), + '#default_value' => $bundle['settings']['tag'], + ]; + } +} + +/** + * Implements hook_preprocess_icon_RENDER_HOOK(). + */ +function fontawesome_preprocess_icon_sprite(&$variables) { + $bundle = &$variables['bundle']; + if ($bundle['provider'] === 'fontawesome') { + // Remove the default "icon" class. + $key = array_search('icon', $variables['attributes']['class']); + if ($key !== FALSE) { + unset($variables['attributes']['class'][$key]); + } + + // TODO: need to add the correct class depending on icon type. + // Add the necessary FA identifier class. + $variables['attributes']['class'][] = 'fas'; + + // Prepend the icon with the FA prefix (which will be used as the class). + $variables['icon'] = 'fa-' . $variables['icon']; + } +} + +/** + * Implements hook_icon_bundles(). + * + * TODO: this is waiting on an 8.x release of Icon API. + */ +function fontawesome_icon_bundles() { + $bundles['fontawesome'] = [ + 'title' => 'Font Awesome', + 'provider' => 'fontawesome', + 'render' => 'sprite', + 'settings' => [ + 'tag' => 'i', + ], + 'icons' => fontawesome_extract_icons(), + ]; + return $bundles; +} + +/** + * Loads the Font Awesome metadata file. + * + * @return string + * The filepath of the metadata file. + */ +function fontawesome_get_metadata_filepath() { + // Attempt to load the icons from the local library's metadata if possible. + $metadataFile = \Drupal::service('file_system')->realpath(DRUPAL_ROOT . '/libraries/fontawesome/metadata/icons.yml'); + // If we can't load the local file, use the included module icons file. + if (!file_exists($metadataFile)) { + $metadataFile = drupal_get_path('module', 'fontawesome') . '/metadata/icons.yml'; + } + return $metadataFile; +} + +/** + * Provides a list of all available Font Awesome icons from metadata. + * + * @return array + * Array containing icons. + */ +function fontawesome_extract_icons() { + // Check for cached icons. + if (!$icons = \Drupal::cache('data')->get('fontawesome.iconlist')) { + + // Parse the metadata file and use it to generate the icon list. + $icons = []; + foreach (Yaml::parse(file_get_contents(fontawesome_get_metadata_filepath())) as $name => $icon) { + // Determine the icon type - brands behave differently. + $type = 'solid'; + foreach ($icon['styles'] as $style) { + if ($style == 'brands') { + $type = 'brands'; + break; + } + } + $icons[$name] = [ + 'name' => $name, + 'type' => $type, + 'label' => $icon['label'], + 'styles' => $icon['styles'], + ]; + } + + // Cache the icons array. + \Drupal::cache('data')->set('fontawesome.iconlist', $icons, strtotime('+1 week'), ['fontawesome', 'iconlist']); + } + else { + $icons = $icons->data; + } + + return (array) $icons; +} + +/** + * Extract metadata for a specific icon. + * + * @param string $findIcon + * The icon for which we want metadata. + * + * @return array + * Array containing icons. + */ +function fontawesome_extract_icon_metadata($findIcon) { + // Parse the metadata file and use it to generate the icon list. + foreach (Yaml::parse(file_get_contents(fontawesome_get_metadata_filepath())) as $name => $icon) { + if ($name == $findIcon) { + // Determine the icon type - brands behave differently. + $type = 'solid'; + foreach ($icon['styles'] as $style) { + if ($style == 'brands') { + $type = 'brands'; + break; + } + } + return [ + 'name' => $name, + 'type' => $type, + 'label' => $icon['label'], + 'styles' => $icon['styles'], + ]; + } + } + + return FALSE; +} + +/** + * Implements hook_entity_presave(). + */ +function fontawesome_entity_presave(EntityInterface $entity) { + if ($entity instanceof ContentEntityInterface) { + // Loop over the fields. + foreach ($entity->getFields() as $fields) { + if ($fields instanceof ItemList) { + // If this is a text field (uses an editor). + if (in_array($fields->getFieldDefinition()->getType(), [ + 'text', + 'text_long', + 'text_with_summary', + ])) { + foreach ($fields as $field) { + // Find and replace SVG strings with original icon HTML. + $fieldValue = $field->getValue(); + $fieldValue['value'] = preg_replace('%/g, '$1'); + // Set the body to the new value. + thisEditor.editor.setData(htmlBody); + }; + + // After CKEditor is ready. + CKEDITOR.on( + 'instanceReady', + (ev) => { + // On initial load, convert icons to SVGs. + Drupal.FontAwesome.tagsToSvg(drupalSettings, ev); + + // On mode change, deal with the changes on the fly. + ev.editor.on('mode', () => { + if (ev.editor.mode === 'source') { + // If we are showing source, turn SVG back to original tags. + Drupal.FontAwesome.svgToTags(ev); + } + else if (ev.editor.mode === 'wysiwyg') { + // If switching back to the display mode, have to load SVGs again. + Drupal.FontAwesome.tagsToSvg(drupalSettings, ev); + } + }); + + // Listen to the event for inserting icons from the plugin. + ev.editor.on('insertedIcon', () => { + // todo: For some reason this throws an 'Uncaught TypeError'. + // Force an update to the content. + ev.editor.setData(ev.editor.getData()); + // Then reload the SVGs. + Drupal.FontAwesome.tagsToSvg(drupalSettings, ev); + }); + }, + ); +})(jQuery, Drupal, drupalSettings, CKEDITOR); diff --git a/web/modules/fontawesome/js/plugins/drupalfontawesome/plugin.js b/web/modules/fontawesome/js/plugins/drupalfontawesome/plugin.js new file mode 100644 index 0000000..8dc78fb --- /dev/null +++ b/web/modules/fontawesome/js/plugins/drupalfontawesome/plugin.js @@ -0,0 +1,105 @@ +/** +* DO NOT EDIT THIS FILE. +* See the following change record for more information, +* https://www.drupal.org/node/2815083 +* @preserve +**/ + +(function ($, Drupal, drupalSettings, CKEDITOR) { + 'use strict'; + + CKEDITOR.plugins.add('drupalfontawesome', { + icons: 'drupalfontawesome', + hidpi: true, + + init: function init(editor) { + editor.addCommand('drupalfontawesome', { + modes: { wysiwyg: 1 }, + canUndo: true, + exec: function exec(execEditor) { + var saveCallback = function saveCallback(returnValues) { + execEditor.fire('saveSnapshot'); + + var selection = execEditor.getSelection(); + var range = selection.getRanges(1)[0]; + + var container = new CKEDITOR.dom.element('span', execEditor.document); + container.addClass('fontawesome-icon-inline'); + var icon = new CKEDITOR.dom.element(returnValues.tag, execEditor.document); + icon.setAttributes(returnValues.attributes); + container.append(icon); + container.appendHtml(' '); + + range.insertNode(container); + range.select(); + + execEditor.fire('saveSnapshot'); + + execEditor.fire('insertedIcon'); + }; + + var dialogSettings = { + title: execEditor.config.drupalFontAwesome_dialogTitleAdd, + dialogClass: 'fontawesome-icon-dialog' + }; + + Drupal.ckeditor.openDialog(execEditor, Drupal.url('fontawesome/dialog/icon/' + execEditor.config.drupal.format), {}, saveCallback, dialogSettings); + } + }); + + if (editor.ui.addButton) { + editor.ui.addButton('DrupalFontAwesome', { + label: Drupal.t('Font Awesome'), + command: 'drupalfontawesome' + }); + } + } + }); + + if ('editor' in drupalSettings && 'fontawesome' in drupalSettings.editor) { + $.each(drupalSettings.editor.fontawesome.allowedEmptyTags, function (_, tag) { + CKEDITOR.dtd.$removeEmpty[tag] = 0; + }); + } + + Drupal.FontAwesome = {}; + + Drupal.FontAwesome.tagsToSvg = function (drupalSettings, thisEditor) { + if ('editor' in drupalSettings && 'fontawesome' in drupalSettings.editor) { + $.each(drupalSettings.editor.fontawesome.fontawesomeLibraries, function (_, library) { + var $script = document.createElement('script'); + var $editorInstance = CKEDITOR.instances[thisEditor.editor.name]; + + $script.src = library; + + $editorInstance.document.getHead().$.appendChild($script); + }); + } + }; + + Drupal.FontAwesome.svgToTags = function (thisEditor) { + var htmlBody = thisEditor.editor.getData(); + + htmlBody = htmlBody.replace(/ $this->t('Title'), + ]; + } + + /** + * {@inheritdoc} + */ + public function getMetadata(MediaInterface $media, $attribute_name) { + /** @var \Drupal\fontawesome\Plugin\Field\FieldType\FontAwesomeIcon $icon */ + $icon = $media + ->get($this->configuration['source_field']) + ->first(); + + // If the source field is not required, it may be empty. + if (!$icon) { + return parent::getMetadata($media, $attribute_name); + } + switch ($attribute_name) { + case 'default_name': + return $icon + ->get('icon_name') + ->getValue(); + + case 'thumbnail_uri': + return $this->getThumbnail($icon); + + default: + return parent::getMetadata($media, $attribute_name); + } + } + + /** + * Gets the thumbnail image URI based on an icon entity. + * + * @param \Drupal\fontawesome\Plugin\Field\FieldType\FontAwesomeIcon $icon + * A Font Awesome Iocn entity. + * + * @return string + * File URI of the thumbnail image or NULL if there is no specific icon. + */ + protected function getThumbnail(FontAwesomeIcon $icon) { + + // Determine the source folder. + switch ($icon->get('style')->getCastedValue()) { + case 'fab': + $srcFolder = 'brands'; + break; + + case 'fal': + $srcFolder = 'light'; + break; + + case 'fas': + $srcFolder = 'solid'; + break; + + case 'far': + default: + $srcFolder = 'regular'; + break; + + case 'fad': + $srcFolder = 'duotone'; + break; + } + + return 'libraries/fontawesome/svgs/' . $srcFolder . '/' . $icon + ->get('icon_name') + ->getValue() . '.svg'; + } + +} diff --git a/web/modules/fontawesome/src/Commands/FontawesomeCommands.php b/web/modules/fontawesome/src/Commands/FontawesomeCommands.php new file mode 100644 index 0000000..1b279cb --- /dev/null +++ b/web/modules/fontawesome/src/Commands/FontawesomeCommands.php @@ -0,0 +1,105 @@ +mkdir($path); + } + if (is_dir($path . '/css')) { + $this->logger()->notice(dt('Font Awesome already present at @path. No download required.', ['@path' => $path])); + return; + } + + // Load the Font Awesome defined library. + if ($fontawesome_library = \Drupal::service('library.discovery')->getLibraryByName('fontawesome', 'fontawesome.svg')) { + + // Download the file. + $client = new Client(); + $destination = tempnam(sys_get_temp_dir(), 'file.') . "tar.gz"; + try { + $client->get($fontawesome_library['remote'], ['save_to' => $destination]); + } + catch (RequestException $e) { + // Remove the directory. + $fs->remove($path); + $this->logger()->error(dt('Drush was unable to download the Font Awesome library from @remote. @exception', [ + '@remote' => $fontawesome_library['remote'], + '@exception' => $e->getMessage(), + ], 'error')); + return; + } + $fs->rename($destination, $path . '/fontawesome.zip'); + if (!file_exists($path . '/fontawesome.zip')) { + // Remove the directory where we tried to install. + $fs->remove($path); + $this->logger()->error(dt('Error: unable to download Fontawesome library from @remote', [ + '@remote' => $fontawesome_library['remote'], + ], 'error')); + return; + } + + // Unzip the file. + $zip = new \ZipArchive(); + $res = $zip->open($path . '/fontawesome.zip'); + if ($res === TRUE) { + $zip->extractTo($path); + $zip->close(); + } + else { + // Remove the directory. + $fs->remove($path); + $this->logger()->error(dt('Error: unable to unzip Fontawesome file.', [], 'error')); + return; + } + + // Remove the downloaded zip file. + $fs->remove($path . '/fontawesome.zip'); + + // Move the file. + $fs->mirror($path . '/fontawesome-free-' . $fontawesome_library['version'] . '-web', $path, NULL, ['override' => TRUE]); + $fs->remove($path . '/fontawesome-free-' . $fontawesome_library['version'] . '-web'); + + // Success. + $this->logger()->notice(dt('Fontawesome library has been successfully downloaded to @path.', [ + '@path' => $path, + ], 'success')); + } + else { + $this->logger()->error(dt('Drush was unable to load the Font Awesome library')); + } + } + +} diff --git a/web/modules/fontawesome/src/Controller/AutocompleteController.php b/web/modules/fontawesome/src/Controller/AutocompleteController.php new file mode 100644 index 0000000..664d96e --- /dev/null +++ b/web/modules/fontawesome/src/Controller/AutocompleteController.php @@ -0,0 +1,80 @@ +query->get('q')) { + $typed_string = Tags::explode($input); + $typed_string = mb_strtolower(array_pop($typed_string)); + + // Load the icon data so we can check for a valid icon. + $iconData = fontawesome_extract_icons(); + + // Check each icon to see if it starts with the typed string. + foreach ($iconData as $icon => $data) { + // If the string is found. + if (strpos($icon, $typed_string) === 0) { + $iconRenders = []; + // Loop over each style. + foreach ($iconData[$icon]['styles'] as $style) { + + // Determine the prefix. + switch ($style) { + + case 'brands': + $iconPrefix = 'fab'; + break; + + case 'light': + $iconPrefix = 'fal'; + break; + + case 'regular': + $iconPrefix = 'far'; + break; + + case 'duotone': + $iconPrefix = 'fad'; + break; + + default: + case 'solid': + $iconPrefix = 'fas'; + break; + } + // Render the icon. + $iconRenders[] = new FormattableMarkup(' ', [ + ':prefix' => $iconPrefix, + ':icon' => $icon, + ]); + } + + $results[] = [ + 'value' => $icon, + 'label' => implode('', $iconRenders) . $icon, + ]; + } + } + } + + return new JsonResponse($results); + } + +} diff --git a/web/modules/fontawesome/src/Form/EditorIconDialog.php b/web/modules/fontawesome/src/Form/EditorIconDialog.php new file mode 100644 index 0000000..8f8fff6 --- /dev/null +++ b/web/modules/fontawesome/src/Form/EditorIconDialog.php @@ -0,0 +1,463 @@ +configFactory = $config_factory; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container) { + return new static( + $container->get('config.factory') + ); + } + + /** + * {@inheritdoc} + */ + public function getFormId() { + return 'fontawesome_icon_dialog'; + } + + /** + * {@inheritdoc} + * + * @param \Drupal\editor\Entity\Editor $editor + * The text editor to which this dialog corresponds. + */ + public function buildForm(array $form, FormStateInterface $form_state, Editor $editor = NULL) { + // Load the configuration settings. + $configuration_settings = $this->configFactory->get('fontawesome.settings'); + + $form['#tree'] = TRUE; + $form['#attached']['library'][] = 'editor/drupal.editor.dialog'; + + $form['#prefix'] = '
'; + $form['#suffix'] = '
'; + + $form['information'] = [ + '#type' => 'container', + '#attributes' => [], + '#children' => $this->t('For more information on icon selection, see @iconLink. If an icon below is displayed with a question mark, it is likely a Font Awesome Pro icon, unavailable with the free version of Font Awesome.', [ + '@iconLink' => Link::fromTextAndUrl($this->t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/icons'))->toString(), + ]), + ]; + + $form['icon_name'] = [ + '#type' => 'textfield', + '#title' => $this->t('Icon Name'), + '#size' => 50, + '#field_prefix' => 'fa-', + '#default_value' => '', + '#description' => $this->t('Name of the Font Awesome Icon. See @iconsLink for valid icon names, or begin typing for an autocomplete list.', [ + '@iconsLink' => Link::fromTextAndUrl($this->t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/icons'))->toString(), + ]), + '#autocomplete_route_name' => 'fontawesome.autocomplete', + '#element_validate' => [ + [static::class, 'validateIconName'], + ], + ]; + + // Build additional settings. + $form['settings'] = [ + '#type' => 'details', + '#open' => FALSE, + '#title' => $this->t('Additional Font Awesome Settings'), + ]; + // Allow user to determine size. + $form['settings']['style'] = [ + '#type' => 'select', + '#title' => $this->t('Style'), + '#description' => $this->t('This changes the style of the icon. Please note that this is not available for all icons, and for some of the icons this is only available in the pro version. If the icon does not render properly in the preview above, the icon does not support that style. Notably, brands do not support any styles. See @iconLink for more information.', [ + '@iconLink' => Link::fromTextAndUrl($this->t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/icons'))->toString(), + ]), + '#options' => [ + 'fas' => $this->t('Solid'), + 'far' => $this->t('Regular'), + 'fal' => $this->t('Light'), + 'fad' => $this->t('Duotone'), + ], + '#default_value' => 'fas', + ]; + // Allow user to determine size. + $form['settings']['size'] = [ + '#type' => 'select', + '#title' => $this->t('Size'), + '#description' => $this->t('This increases icon sizes relative to their container'), + '#options' => [ + '' => $this->t('Default'), + 'fa-xs' => $this->t('Extra Small'), + 'fa-sm' => $this->t('Small'), + 'fa-lg' => $this->t('Large'), + 'fa-2x' => $this->t('2x'), + 'fa-3x' => $this->t('3x'), + 'fa-4x' => $this->t('4x'), + 'fa-5x' => $this->t('5x'), + 'fa-6x' => $this->t('6x'), + 'fa-7x' => $this->t('7x'), + 'fa-8x' => $this->t('8x'), + 'fa-9x' => $this->t('9x'), + 'fa-10x' => $this->t('10x'), + ], + '#default_value' => '', + ]; + // Set icon to fixed width. + $form['settings']['fixed-width'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Fixed Width?'), + '#description' => $this->t('Use to set icons at a fixed width. Great to use when different icon widths throw off vertical alignment. Especially useful in things like nav lists and list groups.'), + '#default_value' => FALSE, + '#return_value' => 'fa-fw', + ]; + // Add border. + $form['settings']['border'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Border?'), + '#description' => $this->t('Adds a border to the icon.'), + '#default_value' => FALSE, + '#return_value' => 'fa-border', + ]; + // Invert color. + $form['settings']['invert'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Invert color?'), + '#description' => $this->t('Inverts the color of the icon (black becomes white, etc.)'), + '#default_value' => FALSE, + '#return_value' => 'fa-inverse', + ]; + // Animated the icon. + $form['settings']['animation'] = [ + '#type' => 'select', + '#title' => $this->t('Animation'), + '#description' => $this->t('Use spin to get any icon to rotate, and pulse to have it rotate with 8 steps. Works especially well with fa-spinner & everything in the @iconLink.', [ + '@iconLink' => Link::fromTextAndUrl($this->t('spinner icons category'), Url::fromUri('https://fontawesome.com/icons?d=gallery&c=spinners'))->toString(), + ]), + '#options' => [ + '' => $this->t('None'), + 'fa-spin' => $this->t('Spin'), + 'fa-pulse' => $this->t('Pulse'), + ], + '#default_value' => '', + ]; + + // Pull the icons. + $form['settings']['pull'] = [ + '#type' => 'select', + '#title' => $this->t('Pull'), + '#description' => $this->t('This setting will pull the icon (float) to one side or the other in relation to its nearby content'), + '#options' => [ + '' => $this->t('None'), + 'fa-pull-left' => $this->t('Left'), + 'fa-pull-right' => $this->t('Right'), + ], + '#default_value' => '', + ]; + + // Build new power-transforms. + $form['settings']['power_transforms'] = [ + '#type' => 'details', + '#open' => FALSE, + '#disabled' => $configuration_settings->get('method') == 'webfonts', + '#title' => $this->t('Power Transforms'), + '#description' => $this->t('See @iconLink for additional information on Power Transforms. Note that these transforms only work with the SVG with JS version of Font Awesome and are disabled for Webfonts. See the @adminLink to set your version of Font Awesome.', [ + '@iconLink' => Link::fromTextAndUrl($this->t('the Font Awesome `Power Transforms` guide'), Url::fromUri('https://fontawesome.com/how-to-use/on-the-web/styling/power-transforms'))->toString(), + '@adminLink' => Link::createFromRoute($this->t('admin page'), 'fontawesome.admin_settings')->toString(), + ]), + ]; + // Rotate the icon. + $form['settings']['power_transforms']['rotate']['value'] = [ + '#type' => 'number', + '#title' => $this->t('Rotate'), + '#field_suffix' => '°', + '#default_value' => '', + '#description' => $this->t('Power Transform rotating effects icon angle without changing or moving the container. To rotate icons use any arbitrary value. Units are degrees with negative numbers allowed.'), + ]; + // Flip the icon. + $form['settings']['power_transforms']['flip-h']['value'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Flip Horizontal?'), + '#default_value' => FALSE, + '#description' => $this->t('Power Transform flipping effects icon reflection without changing or moving the container.'), + '#return_value' => 'h', + ]; + $form['settings']['power_transforms']['flip-v']['value'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Flip Vertical?'), + '#default_value' => FALSE, + '#description' => $this->t('Power Transform flipping effects icon reflection without changing or moving the container.'), + '#return_value' => 'v', + ]; + // Scale the icon. + $form['settings']['power_transforms']['scale'] = [ + '#type' => 'details', + '#open' => TRUE, + '#title' => $this->t('Scale'), + '#description' => $this->t('Power Transform scaling effects icon size without changing or moving the container. This field will scale icons up or down with any arbitrary value, including decimals. Units are 1/16em.'), + ]; + $form['settings']['power_transforms']['scale']['type'] = [ + '#type' => 'select', + '#title' => $this->t('Scale Type'), + '#options' => [ + '' => $this->t('None'), + 'shrink' => $this->t('Shrink'), + 'grow' => $this->t('Grow'), + ], + '#default_value' => '', + '#element_validate' => [ + [static::class, 'validatePowerTransforms'], + ], + ]; + $form['settings']['power_transforms']['scale']['value'] = [ + '#type' => 'number', + '#title' => $this->t('Scale Value'), + '#min' => 0, + '#default_value' => '', + '#states' => [ + 'disabled' => [ + ':input[name="settings[power_transforms][scale][type]"]' => ['value' => ''], + ], + ], + ]; + // Position the icon. + $form['settings']['power_transforms']['position_y'] = [ + '#type' => 'details', + '#open' => TRUE, + '#title' => $this->t('Position (Y Axis)'), + '#description' => $this->t('Power Transform positioning effects icon location without changing or moving the container. This field will move icons up or down with any arbitrary value, including decimals. Units are 1/16em.'), + ]; + $form['settings']['power_transforms']['position_y']['type'] = [ + '#type' => 'select', + '#title' => $this->t('Position Type'), + '#options' => [ + '' => $this->t('None'), + 'up' => $this->t('Up'), + 'down' => $this->t('Down'), + ], + '#default_value' => '', + '#element_validate' => [ + [static::class, 'validatePowerTransforms'], + ], + ]; + $form['settings']['power_transforms']['position_y']['value'] = [ + '#type' => 'number', + '#title' => $this->t('Position Value'), + '#min' => 0, + '#default_value' => '', + '#states' => [ + 'disabled' => [ + ':input[name="settings[power_transforms][position_y][type]"]' => ['value' => ''], + ], + ], + ]; + $form['settings']['power_transforms']['position_x'] = [ + '#type' => 'details', + '#open' => TRUE, + '#title' => $this->t('Position (X Axis)'), + '#description' => $this->t('Power Transform positioning effects icon location without changing or moving the container. This field will move icons up or down with any arbitrary value, including decimals. Units are 1/16em.'), + ]; + $form['settings']['power_transforms']['position_x']['type'] = [ + '#type' => 'select', + '#title' => $this->t('Position Type'), + '#options' => [ + '' => $this->t('None'), + 'left' => $this->t('Left'), + 'right' => $this->t('Right'), + ], + '#default_value' => '', + '#element_validate' => [ + [static::class, 'validatePowerTransforms'], + ], + ]; + $form['settings']['power_transforms']['position_x']['value'] = [ + '#type' => 'number', + '#title' => $this->t('Position Value'), + '#min' => 0, + '#default_value' => '', + '#states' => [ + 'disabled' => [ + ':input[name="settings[power_transforms][position_x][type]"]' => ['value' => ''], + ], + ], + ]; + + $form['actions'] = [ + '#type' => 'actions', + ]; + $form['actions']['save_modal'] = [ + '#type' => 'submit', + '#value' => $this->t('Insert Icon'), + // No regular submit-handler. This form only works via JavaScript. + '#submit' => [], + '#ajax' => [ + 'callback' => '::submitForm', + 'event' => 'click', + ], + ]; + + return $form; + } + + /** + * Validate the Font Awesome power transforms. + */ + public static function validatePowerTransforms($element, FormStateInterface $form_state) { + $value = $element['#value']; + if (strlen($value) == 0) { + $form_state->setValueForElement($element, ''); + return; + } + + // Check the value of the power transform. + $transformSettings = $form_state->getValues(); + foreach (array_slice($element['#parents'], 0, 3) as $key) { + $transformSettings = $transformSettings[$key]; + } + + if (!is_numeric($transformSettings['value'])) { + $form_state->setError($element, t("Invalid value for Font Awesome Power Transform %value. Please see @iconLink for information on correct values.", [ + '%value' => $value, + '@iconLink' => Link::fromTextAndUrl(t('the Font Awesome guide to Power Transforms'), Url::fromUri('https://fontawesome.com/how-to-use/on-the-web/styling/power-transforms'))->toString(), + ])); + } + } + + /** + * Validate the Font Awesome icon name. + */ + public static function validateIconName($element, FormStateInterface $form_state) { + $value = $element['#value']; + if (strlen($value) == 0) { + $form_state->setValueForElement($element, ''); + return; + } + + // Remove the prefix if the user accidentally added it. + if (substr($value, 0, 3) == 'fa-') { + $value = substr($value, 3); + } + + // Load the icon data so we can check for a valid icon. + $iconData = fontawesome_extract_icon_metadata($value); + + if (!isset($iconData['name'])) { + $form_state->setError($element, t("Invalid icon name %value. Please see @iconLink for correct icon names.", [ + '%value' => $value, + '@iconLink' => Link::fromTextAndUrl(t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/icons'))->toString(), + ])); + } + } + + /** + * {@inheritdoc} + */ + public function submitForm(array &$form, FormStateInterface $form_state) { + $response = new AjaxResponse(); + + if ($form_state->getErrors()) { + unset($form['#prefix'], $form['#suffix']); + $form['status_messages'] = [ + '#type' => 'status_messages', + '#weight' => -10, + ]; + $response->addCommand(new HtmlCommand('#fontawesome-icon-dialog-form', $form)); + } + else { + $item = $form_state->getValues(); + + // Remove the prefix if the user accidentally added it. + if (substr($item['icon_name'], 0, 3) == 'fa-') { + $item['icon_name'] = substr($item['icon_name'], 3); + } + + // Massage rotate and flip values to make them format properly. + if (is_numeric($item['settings']['power_transforms']['rotate']['value'])) { + $item['settings']['power_transforms']['rotate']['type'] = 'rotate'; + } + else { + unset($item['settings']['power_transforms']['rotate']); + } + if (!empty($item['settings']['power_transforms']['flip-h']['value'])) { + $item['settings']['power_transforms']['flip-h']['type'] = 'flip'; + } + else { + unset($item['settings']['power_transforms']['flip-h']); + } + if (!empty($item['settings']['power_transforms']['flip-v']['value'])) { + $item['settings']['power_transforms']['flip-v']['type'] = 'flip'; + } + else { + unset($item['settings']['power_transforms']['flip-v']); + } + // Determine the icon style - brands don't allow style. + $metadata = fontawesome_extract_icon_metadata($item['icon_name']); + $item['style'] = fontawesome_determine_prefix($metadata['styles'], $item['settings']['style']); + unset($item['settings']['style']); + + // Remove blank data. + $item['settings'] = array_filter($item['settings']); + + // Get power transforms. + $item['power_transforms'] = []; + foreach ($item['settings']['power_transforms'] as $transform) { + if (!empty($transform['type'])) { + $item['power_transforms'][] = $transform['type'] . '-' . $transform['value']; + } + } + unset($item['settings']['power_transforms']); + + // Set the icon attributes. + $icon_attributes = [ + 'attributes' => [ + 'class' => [ + trim($item['style'] . ' fa-' . $item['icon_name'] . ' ' . implode(' ', $item['settings'])), + ], + ], + ]; + // If there are power transforms, add them. + if (count($item['power_transforms']) > 0) { + $icon_attributes['attributes']['data-fa-transform'] = [implode(' ', $item['power_transforms'])]; + } + + // Load the configuration settings. + $configuration_settings = $this->configFactory->get('fontawesome.settings'); + + // Set the user-selected tag type being used. + $icon_attributes['tag'] = empty($configuration_settings->get('tag')) ? 'i' : $configuration_settings->get('tag'); + + $response->addCommand(new EditorDialogSave($icon_attributes)); + $response->addCommand(new CloseModalDialogCommand()); + } + + return $response; + } + +} diff --git a/web/modules/fontawesome/src/Form/SettingsForm.php b/web/modules/fontawesome/src/Form/SettingsForm.php new file mode 100644 index 0000000..afbeda2 --- /dev/null +++ b/web/modules/fontawesome/src/Form/SettingsForm.php @@ -0,0 +1,258 @@ +libraryDiscovery = $library_discovery; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container) { + return new static( + $container->get('library.discovery') + ); + } + + /** + * {@inheritdoc} + */ + public function getFormId() { + return 'fontawesome_admin_settings_form'; + } + + /** + * {@inheritdoc} + */ + protected function getEditableConfigNames() { + return [ + 'fontawesome.settings', + ]; + } + + /** + * {@inheritdoc} + */ + public function buildForm(array $form, FormStateInterface $form_state) { + // Get current settings. + $fontawesome_config = $this->config('fontawesome.settings'); + + // Load the fontawesome libraries so we can use its definitions here. + $fontawesome_library = $this->libraryDiscovery->getLibraryByName('fontawesome', 'fontawesome.svg'); + + $form['tag'] = [ + '#type' => 'select', + '#title' => $this->t('Font Awesome Tag'), + '#options' => [ + 'i' => $this->t('<i>'), + 'span' => $this->t('<span>'), + ], + '#default_value' => empty($fontawesome_config->get('tag')) ? 'i' : $fontawesome_config->get('tag'), + '#description' => $this->t('Font Awesome works with any consistent HTML element. By default, Font Awesome uses the <i> tag for its icons. However, in some cases you may want to use a different tag for your Font Awesome icons, such as a <span> tag. Changing the value here will change the way the tags are inserted into your site. Manually created Font Awesome tags can use any HTML element you like. Note that changing this setting will require clearing the site cache.'), + ]; + + $form['method'] = [ + '#type' => 'select', + '#title' => $this->t('Font Awesome Method'), + '#options' => [ + 'svg' => $this->t('SVG with JS'), + 'webfonts' => $this->t('Web Fonts with CSS'), + ], + '#default_value' => $fontawesome_config->get('method'), + '#description' => $this->t('This setting controls the way Font Awesome works. SVG with JS is the modern, easy, and powerful version with the most backwards compatibility. Web Fonts with CSS is the classic Font Awesome icon method that you have seen in earlier versions of Font Awesome. We recommend SVG with JS. Please note that the Webfonts with CSS version does not allow backwards compatibility with Font Awesome 4. That means you will need to check your code base to be certain that the icons are all updated to work with version 5. See @gettingStartedLink for more information.', [ + '@gettingStartedLink' => Link::fromTextAndUrl($this->t('the Font Awesome guide'), Url::fromUri('https://fontawesome.com/start'))->toString(), + ]), + ]; + + $form['allow_pseudo_elements'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Allow CSS pseudo-elements?'), + '#description' => $this->t('If you do not want to add icons directly in code, you can add them through CSS pseudo-elements. Font Awesome has leveraged the ::before pseudo-element to add icons to a page since the very beginning. For more information on how to use pseudo-elements, see the @pseudoElementsLink. Note that this feature is always available with the Webfonts version of Font Awesome. If you turn this feature on for SVG with JS, it will slow your site down noticeably.', [ + '@pseudoElementsLink' => Link::fromTextAndUrl($this->t('Font Awesome guide to pseudo-elements'), Url::fromUri('https://fontawesome.com/how-to-use/on-the-web/advanced/css-pseudo-elements'))->toString(), + ]), + '#default_value' => $fontawesome_config->get('allow_pseudo_elements'), + ]; + + $form['external'] = [ + '#type' => 'details', + '#open' => TRUE, + '#title' => $this->t('External file configuration'), + '#description' => $this->t('These settings control the method by which the Font Awesome library is loaded. You can choose to use an external (full URL) or local (relative path) library by selecting a URL / path below, or you can use a local version of the file by leaving the box unchecked and downloading the library :remoteurl and installing locally at %installpath. See the README for more information.', [ + ':remoteurl' => $fontawesome_library['remote'], + '%installpath' => '/libraries', + ]), + 'use_cdn' => [ + '#type' => 'checkbox', + '#title' => $this->t('Use external file (CDN) / local file?'), + '#description' => $this->t('Checking this box will cause the Font Awesome library to be loaded from the given source rather than from the local library file.'), + '#default_value' => $fontawesome_config->get('use_cdn'), + ], + 'external_svg_location' => [ + '#type' => 'textfield', + '#title' => $this->t('External File Location'), + '#default_value' => $fontawesome_config->get('external_svg_location'), + '#size' => 80, + '#description' => $this->t('Enter a source URL for the external Font Awesome library file you wish to use. Note that this is designed for use with the SVG with JS method. Use for the Webfonts method at your own risk. This URL should point to the Font Awesome JS svg file when using SVG with JS or it should point to the Font Awesome CSS file when using Web Fonts with CSS. Leave blank to use the default Font Awesome CDN.'), + '#states' => [ + 'disabled' => [ + ':input[name="use_cdn"]' => ['checked' => FALSE], + ], + 'visible' => [ + ':input[name="use_cdn"]' => ['checked' => TRUE], + ], + ], + ], + ]; + + $form['partial'] = [ + '#type' => 'details', + '#open' => FALSE, + '#title' => $this->t('Partial file configuration'), + '#description' => $this->t('By default, Font Awesome loads all of the icons. However, you can choose to load only some of the icon files if you only want a subset of the available icons. This method can result in reduced file size. These files will be assumed to exist in the same directory as the parent all.js/all.css file.'), + 'use_solid_file' => [ + '#type' => 'checkbox', + '#title' => $this->t('Load solid icons'), + '#description' => $this->t('Checking this box will cause the Font Awesome library to load the file containing the solid icon declarations (solid.js/solid.css)'), + '#default_value' => is_null($fontawesome_config->get('use_solid_file')) === TRUE ? TRUE : $fontawesome_config->get('use_solid_file'), + ], + 'use_regular_file' => [ + '#type' => 'checkbox', + '#title' => $this->t('Load regular icons'), + '#description' => $this->t('Checking this box will cause the Font Awesome library to load the file containing the regular icon declarations (regular.js/regular.css)'), + '#default_value' => is_null($fontawesome_config->get('use_regular_file')) === TRUE ? TRUE : $fontawesome_config->get('use_regular_file'), + ], + 'use_light_file' => [ + '#type' => 'checkbox', + '#title' => $this->t('Load light icons'), + '#description' => $this->t('Checking this box will cause the Font Awesome library to load the file containing the light icon declarations (light.js/light.css). Note that this a Pro-only feature.'), + '#default_value' => is_null($fontawesome_config->get('use_light_file')) === TRUE ? TRUE : $fontawesome_config->get('use_light_file'), + ], + 'use_brands_file' => [ + '#type' => 'checkbox', + '#title' => $this->t('Load brand icons'), + '#description' => $this->t('Checking this box will cause the Font Awesome library to load the file containing the brands icon declarations (brands.js/brands.css)'), + '#default_value' => is_null($fontawesome_config->get('use_brands_file')) === TRUE ? TRUE : $fontawesome_config->get('use_brands_file'), + ], + ]; + + $form['shim'] = [ + '#type' => 'details', + '#open' => TRUE, + '#title' => $this->t('Version 4 Backwards Compatibility'), + '#description' => $this->t('Version 5 of Font Awesome has some changes which require modifications to the way you declare many of your icons. The settings below are designed to ease that transition. See @upgradingLink for more information.', [ + '@upgradingLink' => Link::fromTextAndUrl($this->t('the Font Awesome guide to upgrading version 4 to version 5'), Url::fromUri('https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4'))->toString(), + ]), + 'use_shim' => [ + '#type' => 'checkbox', + '#title' => $this->t('Use version 4 shim file?'), + '#description' => $this->t('Rather than editing all of your Font Awesome declarations to use the new Font Awesome syntax, you can choose to include a shim file above. This file will allow you to use Font Awesome version 5 with Font Awesome version 4 syntax. This prevents you from needing to modify your existing code and syntax.'), + '#default_value' => $fontawesome_config->get('use_shim'), + ], + 'external_shim_location' => [ + '#type' => 'textfield', + '#title' => $this->t('External / local Library Location'), + '#default_value' => $fontawesome_config->get('external_shim_location'), + '#size' => 80, + '#description' => $this->t('Enter a source URL for the external / local (relative path) Font Awesome v4 shim file you wish to use. This URL should point to the Font Awesome JS shim file. Leave blank to use the default Font Awesome CDN.'), + '#states' => [ + 'disabled' => [ + ':input[name="use_cdn"]' => ['checked' => FALSE], + ':input[name="use_shim"]' => ['checked' => FALSE], + ], + 'visible' => [ + ':input[name="use_cdn"]' => ['checked' => TRUE], + ':input[name="use_shim"]' => ['checked' => TRUE], + ], + ], + ], + ]; + + return parent::buildForm($form, $form_state); + } + + /** + * {@inheritdoc} + */ + public function validateForm(array &$form, FormStateInterface $form_state) { + $values = $form_state->getValues(); + + // Validate URL. + if (!empty($values['fontawesome_external_location']) && !UrlHelper::isValid($values['fontawesome_external_location'])) { + $form_state->setErrorByName('fontawesome_external_location', $this->t('Invalid external library location.')); + } + } + + /** + * {@inheritdoc} + */ + public function submitForm(array &$form, FormStateInterface $form_state) { + $values = $form_state->getValues(); + + // Load the fontawesome libraries so we can use its definitions here. + $fontawesome_library = $this->libraryDiscovery->getLibraryByName('fontawesome', 'fontawesome.svg'); + + // Clear the library cache so we use the updated information. + $this->libraryDiscovery->clearCachedDefinitions(); + + // Set external file defaults. + $default_location = 'https://use.fontawesome.com/releases/v' . $fontawesome_library['version'] . '/'; + $default_svg_location = $default_location . 'js/all.js'; + $default_webfonts_location = $default_location . 'css/all.css'; + $default_svg_shimfile_location = $default_location . 'js/v4-shims.js'; + $default_webfonts_shimfile_location = $default_location . 'css/v4-shims.css'; + + // Use default values if CDN is checked and the locations are blank. + if ($values['use_cdn']) { + if (empty($values['external_svg_location']) || $values['external_svg_location'] == $default_webfonts_location || $values['external_svg_location'] == $default_svg_location) { + // Choose the default depending on method. + $values['external_svg_location'] = ($values['method'] == 'webfonts') ? $default_webfonts_location : $default_svg_location; + } + if ($values['use_shim'] && (empty($values['external_shim_location']) || $values['external_shim_location'] == $default_webfonts_shimfile_location || $values['external_shim_location'] == $default_svg_shimfile_location)) { + // Choose the default depending on method. + $values['external_shim_location'] = ($values['method'] == 'webfonts') ? $default_webfonts_shimfile_location : $default_svg_shimfile_location; + } + } + + // Save the updated settings. + $this->config('fontawesome.settings') + ->set('tag', $values['tag']) + ->set('method', $values['method']) + ->set('use_cdn', $values['use_cdn']) + ->set('external_svg_location', (string) $values['external_svg_location']) + ->set('use_shim', $values['use_shim']) + ->set('external_shim_location', (string) $values['external_shim_location']) + ->set('allow_pseudo_elements', $values['allow_pseudo_elements']) + ->set('use_solid_file', $values['use_solid_file']) + ->set('use_regular_file', $values['use_regular_file']) + ->set('use_light_file', $values['use_light_file']) + ->set('use_brands_file', $values['use_brands_file']) + ->save(); + + parent::submitForm($form, $form_state); + } + +} diff --git a/web/modules/fontawesome/src/Plugin/CKEditorPlugin/DrupalFontAwesome.php b/web/modules/fontawesome/src/Plugin/CKEditorPlugin/DrupalFontAwesome.php new file mode 100644 index 0000000..9969a5a --- /dev/null +++ b/web/modules/fontawesome/src/Plugin/CKEditorPlugin/DrupalFontAwesome.php @@ -0,0 +1,64 @@ + $this->t('Insert Font Awesome Icon'), + ]; + } + + /** + * {@inheritdoc} + */ + public function getButtons() { + return [ + 'DrupalFontAwesome' => [ + 'label' => $this->t('Font Awesome'), + 'image' => drupal_get_path('module', 'fontawesome') . '/js/plugins/drupalfontawesome/icons/drupalfontawesome.png', + ], + ]; + } + + /** + * {@inheritdoc} + */ + public function isEnabled(Editor $editor) { + // Assume that someone installing this module probably wants the help. + return TRUE; + } + +} diff --git a/web/modules/fontawesome/src/Plugin/Field/FieldFormatter/FontAwesomeIconFormatter.php b/web/modules/fontawesome/src/Plugin/Field/FieldFormatter/FontAwesomeIconFormatter.php new file mode 100644 index 0000000..f702d57 --- /dev/null +++ b/web/modules/fontawesome/src/Plugin/Field/FieldFormatter/FontAwesomeIconFormatter.php @@ -0,0 +1,216 @@ +configFactory = $config_factory; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { + return new static( + $plugin_id, + $plugin_definition, + $configuration['field_definition'], + $configuration['settings'], + $configuration['label'], + $configuration['view_mode'], + $configuration['third_party_settings'], + $container->get('config.factory') + ); + } + + /** + * {@inheritdoc} + */ + public function settingsForm(array $form, FormStateInterface $form_state) { + // Load the configuration settings. + $configuration_settings = $this->configFactory->get('fontawesome.settings'); + + // Setting for optional download link. + $elements['layers'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Display multi-value fields as layers?'), + '#default_value' => $this->getSetting('layers'), + '#description' => $this->t('Layers are the new way to place icons and text visually on top of each other, replacing the Font Awesome classic icons stacks. With this new approach you can use more than 2 icons. Layers are awesome when you don’t want your page’s background to show through, or when you do want to use multiple colors, layer several icons, layer text, or layer counters onto an icon. Note that layers only work with the SVG version of Font Awesome. For more information, see @layersLink.', [ + '@layersLink' => Link::fromTextAndUrl($this->t('the Font Awesome guide to layers'), Url::fromUri('https://fontawesome.com/how-to-use/on-the-web/styling/layering'))->toString(), + ]), + // Disable power transforms for webfonts. + '#disabled' => $configuration_settings->get('method') == 'webfonts', + ]; + + return $elements; + } + + /** + * {@inheritdoc} + */ + public function settingsSummary() { + $settings = $this->getSettings(); + + $summary = []; + + // Load the configuration settings. + $configuration_settings = $this->configFactory->get('fontawesome.settings'); + + // Show whether or not we are layering the icons. + $summary[] = $this->t('Display multi-value fields as layers: @layersSetting', [ + '@layersSetting' => (($settings['layers'] && $configuration_settings->get('method') != 'webfonts') ? 'Yes' : 'No'), + ]); + + return $summary; + } + + /** + * {@inheritdoc} + */ + public static function defaultSettings() { + return [ + 'layers' => FALSE, + ] + parent::defaultSettings(); + } + + /** + * {@inheritdoc} + */ + public function viewElements(FieldItemListInterface $items, $langcode) { + // Early opt-out if the field is empty. + if (count($items) <= 0) { + return []; + } + + // Load the configuration settings. + $configurationSettings = $this->configFactory->get('fontawesome.settings'); + + // Attach the libraries as needed. + $fontawesomeLibraries = []; + if ($configurationSettings->get('method') == 'webfonts') { + // Webfonts method. + $fontawesomeLibraries[] = 'fontawesome/fontawesome.webfonts'; + + // Attach the shim file if needed. + if ($configurationSettings->get('use_shim')) { + $fontawesomeLibraries[] = 'fontawesome/fontawesome.webfonts.shim'; + } + } + else { + // SVG method. + $fontawesomeLibraries[] = 'fontawesome/fontawesome.svg'; + + // Attach the shim file if needed. + if ($configurationSettings->get('use_shim')) { + $fontawesomeLibraries[] = 'fontawesome/fontawesome.svg.shim'; + } + } + + // Loop over each icon and build data. + $icons = []; + foreach ($items as $item) { + // Get the icon settings. + $iconSettings = unserialize($item->get('settings')->getValue()); + $cssStyles = []; + + // Format mask. + $iconMask = ''; + if (!empty($iconSettings['masking']['mask'])) { + $iconMask = $iconSettings['masking']['style'] . ' fa-' . $iconSettings['masking']['mask']; + } + unset($iconSettings['masking']); + + // Format power transforms. + $iconTransforms = []; + $powerTransforms = $iconSettings['power_transforms']; + foreach ($powerTransforms as $transform) { + if (!empty($transform['type'])) { + $iconTransforms[] = $transform['type'] . '-' . $transform['value']; + } + } + unset($iconSettings['power_transforms']); + + // Move duotone settings into the render. + if (isset($iconSettings['duotone'])) { + // Handle swap opacity flag. + if (!empty($iconSettings['duotone']['swap-opacity'])) { + $iconSettings['swap-opacity'] = $iconSettings['duotone']['swap-opacity']; + } + // Handle custom CSS styles. + if (!empty($iconSettings['duotone']['opacity']['primary'])) { + $cssStyles[] = '--fa-primary-opacity: ' . $iconSettings['duotone']['opacity']['primary'] . ';'; + } + if (!empty($iconSettings['duotone']['opacity']['secondary'])) { + $cssStyles[] = '--fa-secondary-opacity: ' . $iconSettings['duotone']['opacity']['secondary'] . ';'; + } + if (!empty($iconSettings['duotone']['color']['primary'])) { + $cssStyles[] = '--fa-primary-color: ' . $iconSettings['duotone']['color']['primary'] . ';'; + } + if (!empty($iconSettings['duotone']['color']['secondary'])) { + $cssStyles[] = '--fa-secondary-color: ' . $iconSettings['duotone']['color']['secondary'] . ';'; + } + + unset($iconSettings['duotone']); + } + + $icons[] = [ + '#theme' => 'fontawesomeicon', + '#tag' => $configurationSettings->get('tag'), + '#name' => 'fa-' . $item->get('icon_name')->getValue(), + '#style' => $item->get('style')->getValue(), + '#settings' => implode(' ', array_filter($iconSettings)), + '#transforms' => implode(' ', $iconTransforms), + '#mask' => $iconMask, + '#css' => implode(' ', $cssStyles), + ]; + } + + // Get the icon settings. + $settings = $this->getSettings(); + + return [ + [ + '#theme' => 'fontawesomeicons', + '#icons' => $icons, + '#layers' => $settings['layers'], + ], + '#attached' => [ + 'library' => $fontawesomeLibraries, + ], + ]; + } + +} diff --git a/web/modules/fontawesome/src/Plugin/Field/FieldType/FontAwesomeIcon.php b/web/modules/fontawesome/src/Plugin/Field/FieldType/FontAwesomeIcon.php new file mode 100644 index 0000000..0b037a5 --- /dev/null +++ b/web/modules/fontawesome/src/Plugin/Field/FieldType/FontAwesomeIcon.php @@ -0,0 +1,80 @@ + [ + 'icon_name' => [ + 'type' => 'text', + 'size' => 'normal', + 'not null' => TRUE, + ], + 'style' => [ + 'type' => 'text', + 'size' => 'tiny', + 'not null' => TRUE, + ], + 'settings' => [ + 'type' => 'text', + 'size' => 'normal', + 'not null' => FALSE, + ], + ], + ]; + } + + /** + * {@inheritdoc} + */ + public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) { + $properties = []; + $properties['icon_name'] = DataDefinition::create('string') + ->setLabel(t('Icon Name')) + ->setDescription(t('The name of the icon')); + $properties['style'] = DataDefinition::create('string') + ->setLabel(t('Icon Style')) + ->setDescription(t('The style of the icon')); + $properties['settings'] = DataDefinition::create('string') + ->setLabel(t('Icon Settings')) + ->setDescription(t('The additional class settings for the icon')); + + return $properties; + } + + /** + * {@inheritdoc} + */ + public function isEmpty() { + $icon_name = $this->get('icon_name')->getValue(); + return $icon_name === NULL || $icon_name === ''; + } + +} diff --git a/web/modules/fontawesome/src/Plugin/Field/FieldWidget/FontAwesomeIconWidget.php b/web/modules/fontawesome/src/Plugin/Field/FieldWidget/FontAwesomeIconWidget.php new file mode 100644 index 0000000..e73d5f6 --- /dev/null +++ b/web/modules/fontawesome/src/Plugin/Field/FieldWidget/FontAwesomeIconWidget.php @@ -0,0 +1,527 @@ +configFactory = $config_factory; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { + return new static( + $plugin_id, + $plugin_definition, + $configuration['field_definition'], + $configuration['settings'], + $configuration['third_party_settings'], + $container->get('config.factory') + ); + } + + /** + * {@inheritdoc} + */ + public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, FormStateInterface $form_state) { + $field_name = $this->fieldDefinition->getName(); + + // Load the configuration settings. + $configuration_settings = $this->configFactory->get('fontawesome.settings'); + + $cardinality = $this->fieldDefinition->getFieldStorageDefinition()->getCardinality(); + $element['icon_name'] = [ + '#type' => 'textfield', + '#title' => $cardinality == 1 ? $this->fieldDefinition->getLabel() : $this->t('Icon Name'), + '#required' => $element['#required'], + '#size' => 50, + '#field_prefix' => 'fa-', + '#default_value' => $items[$delta]->get('icon_name')->getValue(), + '#description' => $this->t('Name of the Font Awesome Icon. See @iconsLink for valid icon names, or begin typing for an autocomplete list. Note that all four versions of the icon will be shown - Light, Regular, Solid, and Duotone respectively. If the icon shows a question mark, that icon version is not supported in your version of Fontawesome.', [ + '@iconsLink' => Link::fromTextAndUrl($this->t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/icons'))->toString(), + ]), + '#autocomplete_route_name' => 'fontawesome.autocomplete', + '#element_validate' => [ + [static::class, 'validateIconName'], + ], + ]; + + // Get current settings. + $iconSettings = unserialize($items[$delta]->get('settings')->getValue()); + // Build additional settings. + $element['settings'] = [ + '#type' => 'details', + '#open' => FALSE, + '#title' => $this->t('Additional Font Awesome Settings'), + ]; + + // Allow user to determine style. + $element['settings']['style'] = [ + '#type' => 'select', + '#title' => $this->t('Style'), + '#description' => $this->t('This changes the style of the icon. Please note that this is not available for all icons, and for some of the icons this is only available in the pro version. If the icon does not render properly in the , the icon does not support that style. Notably, brands do not support any styles. See @iconLink for more information.', [ + '@iconLink' => Link::fromTextAndUrl($this->t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/icons'))->toString(), + ]), + '#options' => [ + 'fas' => $this->t('Solid'), + 'far' => $this->t('Regular'), + 'fal' => $this->t('Light'), + 'fad' => $this->t('Duotone'), + ], + '#default_value' => $items[$delta]->get('style')->getValue(), + ]; + // Remove style options if they aren't being loaded. + if (!$configuration_settings->get('use_solid_file')) { + unset($element['settings']['style']['#options']['fas']); + } + if (!$configuration_settings->get('use_regular_file')) { + unset($element['settings']['style']['#options']['far']); + } + if (!$configuration_settings->get('use_light_file')) { + unset($element['settings']['style']['#options']['fal']); + } + + // Allow user to determine size. + $element['settings']['size'] = [ + '#type' => 'select', + '#title' => $this->t('Size'), + '#description' => $this->t('This increases icon sizes relative to their container'), + '#options' => [ + '' => $this->t('Default'), + 'fa-xs' => $this->t('Extra Small'), + 'fa-sm' => $this->t('Small'), + 'fa-lg' => $this->t('Large'), + 'fa-2x' => $this->t('2x'), + 'fa-3x' => $this->t('3x'), + 'fa-4x' => $this->t('4x'), + 'fa-5x' => $this->t('5x'), + 'fa-6x' => $this->t('6x'), + 'fa-7x' => $this->t('7x'), + 'fa-8x' => $this->t('8x'), + 'fa-9x' => $this->t('9x'), + 'fa-10x' => $this->t('10x'), + ], + '#default_value' => isset($iconSettings['size']) ? $iconSettings['size'] : '', + ]; + // Set icon to fixed width. + $element['settings']['fixed-width'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Fixed Width?'), + '#description' => $this->t('Use to set icons at a fixed width. Great to use when different icon widths throw off vertical alignment. Especially useful in things like nav lists and list groups.'), + '#default_value' => isset($iconSettings['fixed-width']) ? $iconSettings['fixed-width'] : FALSE, + '#return_value' => 'fa-fw', + ]; + // Add border. + $element['settings']['border'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Border?'), + '#description' => $this->t('Adds a border to the icon.'), + '#default_value' => isset($iconSettings['border']) ? $iconSettings['border'] : FALSE, + '#return_value' => 'fa-border', + ]; + // Invert color. + $element['settings']['invert'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Invert color?'), + '#description' => $this->t('Inverts the color of the icon (black becomes white, etc.)'), + '#default_value' => isset($iconSettings['invert']) ? $iconSettings['invert'] : FALSE, + '#return_value' => 'fa-inverse', + ]; + // Animated the icon. + $element['settings']['animation'] = [ + '#type' => 'select', + '#title' => $this->t('Animation'), + '#description' => $this->t('Use spin to get any icon to rotate, and pulse to have it rotate with 8 steps. Works especially well with fa-spinner & everything in the @iconLink.', [ + '@iconLink' => Link::fromTextAndUrl($this->t('spinner icons category'), Url::fromUri('https://fontawesome.com/icons?c=spinner-icons'))->toString(), + ]), + '#options' => [ + '' => $this->t('None'), + 'fa-spin' => $this->t('Spin'), + 'fa-pulse' => $this->t('Pulse'), + ], + '#default_value' => isset($iconSettings['animation']) ? $iconSettings['animation'] : '', + ]; + + // Pull the icons. + $element['settings']['pull'] = [ + '#type' => 'select', + '#title' => $this->t('Pull'), + '#description' => $this->t('This setting will pull the icon (float) to one side or the other in relation to its nearby content'), + '#options' => [ + '' => $this->t('None'), + 'fa-pull-left' => $this->t('Left'), + 'fa-pull-right' => $this->t('Right'), + ], + '#default_value' => isset($iconSettings['pull']) ? $iconSettings['pull'] : '', + ]; + + // Allow user to edit duotone. + $element['settings']['duotone'] = [ + '#type' => 'details', + '#open' => FALSE, + // Disable power transforms for webfonts. + '#title' => $this->t('Duotone Settings'), + '#description' => $this->t('Duotone provides a version of every icon in Font Awesome that has two distinct shades of color. They’re great for adding more of your brand or an illustrative quality to the icons in your project. See @duotoneLink for more information. Note that duotone only works with the Pro version of Font Awesome.', [ + '@duotoneLink' => Link::fromTextAndUrl($this->t('the Font Awesome guide to duotone'), Url::fromUri('https://fontawesome.com/how-to-use/on-the-web/styling/duotone-icons'))->toString(), + ]), + ]; + $element['settings']['duotone']['swap-opacity'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Swap Opacity?'), + '#description' => $this->t('Use to swap the default opacity of each duotone icon’s layers. This will make an icon’s primary layer have the default opacity of 40% rather than its secondary layer.'), + '#default_value' => isset($iconSettings['duotone']['swap-opacity']) ? $iconSettings['duotone']['swap-opacity'] : '', + '#return_value' => 'fa-swap-opacity', + ]; + // Manual opacity. + $element['settings']['duotone']['opacity'] = [ + '#type' => 'details', + '#open' => TRUE, + // Disable power transforms for webfonts. + '#title' => $this->t('Layer Opacity'), + '#description' => $this->t('By default the secondary layer in a duotone icon is set to 40% opacity (via an opacity 0.4; rule in Font Awesome’s support CSS). You can explicitly set the opacity of a duotone icon’s layer by using CSS custom properties either in your style sheets or by setting them manually below. New to custom properties? Here are some @cssLink.', [ + '@cssLink' => Link::fromTextAndUrl($this->t('places to set them'), Url::fromUri('https://fontawesome.com/how-to-use/on-the-web/styling/duotone-icons#using-in-a-project'))->toString(), + ]), + ]; + $element['settings']['duotone']['opacity']['primary'] = [ + '#type' => 'number', + '#title' => $this->t('Primary Layer Opacity'), + '#step' => 0.01, + '#default_value' => isset($iconSettings['duotone']['opacity']['primary']) ? $iconSettings['duotone']['opacity']['primary'] : '', + '#description' => $this->t('Opacity of the primary duotone layer.'), + ]; + $element['settings']['duotone']['opacity']['secondary'] = [ + '#type' => 'number', + '#title' => $this->t('Secondary Layer Opacity'), + '#step' => 0.01, + '#default_value' => isset($iconSettings['duotone']['opacity']['secondary']) ? $iconSettings['duotone']['opacity']['secondary'] : '', + '#description' => $this->t('Opacity of the secondary duotone layer.'), + ]; + // Manual opacity. + $element['settings']['duotone']['color'] = [ + '#type' => 'details', + '#open' => TRUE, + // Disable power transforms for webfonts. + '#title' => $this->t('Layer Color'), + '#description' => $this->t('Like all other Font Awesome icons, duotone icons automatically inherit CSS size and color. A duotone icon consists of a primary and secondary layer. By default, The secondary layer is given an opacity of 40% so that it appears as a lighter shade of the icon’s inherited or directly set color. Using CSS custom properties, we’ve also added some color hooks to a duotone icon’s primary and secondary layers. New to custom properties? Here are some @cssLink.', [ + '@cssLink' => Link::fromTextAndUrl($this->t('places to set them'), Url::fromUri('https://fontawesome.com/how-to-use/on-the-web/styling/duotone-icons#using-in-a-project'))->toString(), + ]), + ]; + $element['settings']['duotone']['color']['primary'] = [ + '#type' => 'color', + '#title' => $this->t('Primary Layer Color'), + '#step' => 0.01, + '#default_value' => isset($iconSettings['duotone']['color']['primary']) ? $iconSettings['duotone']['color']['primary'] : '', + '#description' => $this->t('Opacity of the primary duotone layer.'), + ]; + $element['settings']['duotone']['color']['secondary'] = [ + '#type' => 'color', + '#title' => $this->t('Secondary Layer Color'), + '#step' => 0.01, + '#default_value' => isset($iconSettings['duotone']['color']['secondary']) ? $iconSettings['duotone']['color']['secondary'] : '', + '#description' => $this->t('Opacity of the secondary duotone layer.'), + ]; + + // Allow user to add masking. + $element['settings']['masking'] = [ + '#type' => 'details', + '#open' => FALSE, + // Disable power transforms for webfonts. + '#disabled' => $configuration_settings->get('method') == 'webfonts', + '#title' => $this->t('Icon Mask'), + '#description' => $this->t('Masking is used to combine two icons to create one single-color shape. Use it with Power Transforms for some really awesome effects. Masks are great when you do want your background color to show through. See @maskingLink for more information. Note that masking only works with the SVG version of Font Awesome.', [ + '@maskingLink' => Link::fromTextAndUrl($this->t('the Font Awesome guide to masking'), Url::fromUri('https://fontawesome.com/how-to-use/svg-with-js#masking'))->toString(), + ]), + ]; + $element['settings']['masking']['mask'] = [ + '#type' => 'textfield', + '#title' => $this->t('Icon Name'), + '#size' => 50, + '#field_prefix' => 'fa-', + '#default_value' => isset($iconSettings['masking']['mask']) ? $iconSettings['masking']['mask'] : '', + '#description' => $this->t('Name of the Font Awesome Icon. See @iconsLink for valid icon names, or begin typing for an autocomplete list.', [ + '@iconsLink' => Link::fromTextAndUrl($this->t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/icons'))->toString(), + ]), + '#autocomplete_route_name' => 'fontawesome.autocomplete', + '#element_validate' => [ + [static::class, 'validateIconName'], + ], + ]; + $element['settings']['masking']['style'] = [ + '#type' => 'select', + '#title' => $this->t('Style'), + '#description' => $this->t('This changes the style of the masking icon. Please note that this is not available for all icons, and for some of the icons this is only available in the pro version. If the icon does not render properly in the preview above, the icon does not support that style. Notably, brands do not support any styles. See @iconLink for more information.', [ + '@iconLink' => Link::fromTextAndUrl($this->t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/icons'))->toString(), + ]), + '#options' => [ + 'fas' => $this->t('Solid'), + 'far' => $this->t('Regular'), + 'fal' => $this->t('Light'), + 'fad' => $this->t('Duotone'), + ], + '#default_value' => isset($iconSettings['masking']['style']) ? $iconSettings['masking']['style'] : '', + ]; + + // Build new power-transforms. + $element['settings']['power_transforms'] = [ + '#type' => 'details', + '#open' => FALSE, + // Disable power transforms for webfonts. + '#disabled' => $configuration_settings->get('method') == 'webfonts', + '#title' => $this->t('Power Transforms'), + '#description' => $this->t('See @iconLink for additional information on Power Transforms. Note that these transforms only work with the SVG with JS version of Font Awesome and are disabled for Webfonts. See the @adminLink to set your version of Font Awesome.', [ + '@iconLink' => Link::fromTextAndUrl($this->t('the Font Awesome `How to use` guide'), Url::fromUri('https://fontawesome.com/how-to-use/svg-with-js'))->toString(), + '@adminLink' => Link::createFromRoute($this->t('admin page'), 'fontawesome.admin_settings')->toString(), + ]), + ]; + // Rotate the icon. + $element['settings']['power_transforms']['rotate']['value'] = [ + '#type' => 'number', + '#title' => $this->t('Rotate'), + '#step' => 0.01, + '#field_suffix' => '°', + '#default_value' => isset($iconSettings['power_transforms']['rotate']['value']) ? $iconSettings['power_transforms']['rotate']['value'] : '', + '#description' => $this->t('Power Transform rotating effects icon angle without changing or moving the container. To rotate icons use any arbitrary value. Units are degrees with negative numbers allowed.'), + ]; + // Flip the icon. + $element['settings']['power_transforms']['flip-h']['value'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Flip Horizontal?'), + '#default_value' => isset($iconSettings['power_transforms']['flip-h']['value']) ? $iconSettings['power_transforms']['flip-h']['value'] : FALSE, + '#description' => $this->t('Power Transform flipping effects icon reflection without changing or moving the container.'), + '#return_value' => 'h', + ]; + $element['settings']['power_transforms']['flip-v']['value'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Flip Vertical?'), + '#default_value' => isset($iconSettings['power_transforms']['flip-v']['value']) ? $iconSettings['power_transforms']['flip-v']['value'] : FALSE, + '#description' => $this->t('Power Transform flipping effects icon reflection without changing or moving the container.'), + '#return_value' => 'v', + ]; + // Scale the icon. + $element['settings']['power_transforms']['scale'] = [ + '#type' => 'details', + '#open' => TRUE, + '#title' => $this->t('Scale'), + '#description' => $this->t('Power Transform scaling effects icon size without changing or moving the container. This field will scale icons up or down with any arbitrary value, including decimals. Units are 1/16em.'), + '#element_validate' => [ + [static::class, 'validatePowerTransforms'], + ], + ]; + $element['settings']['power_transforms']['scale']['type'] = [ + '#type' => 'select', + '#title' => $this->t('Scale Type'), + '#options' => [ + '' => $this->t('None'), + 'shrink' => $this->t('Shrink'), + 'grow' => $this->t('Grow'), + ], + '#default_value' => isset($iconSettings['power_transforms']['scale']['type']) ? $iconSettings['power_transforms']['scale']['type'] : '', + ]; + $element['settings']['power_transforms']['scale']['value'] = [ + '#type' => 'number', + '#title' => $this->t('Scale Value'), + '#min' => 0, + '#step' => 0.01, + '#default_value' => isset($iconSettings['power_transforms']['scale']['value']) ? $iconSettings['power_transforms']['scale']['value'] : '', + '#states' => [ + 'disabled' => [ + ':input[name="' . $field_name . '[' . $delta . '][settings][power_transforms][scale][type]"]' => ['value' => ''], + ], + ], + ]; + // Position the icon. + $element['settings']['power_transforms']['position_y'] = [ + '#type' => 'details', + '#open' => TRUE, + '#title' => $this->t('Position (Y Axis)'), + '#description' => $this->t('Power Transform positioning effects icon location without changing or moving the container. This field will move icons up or down with any arbitrary value, including decimals. Units are 1/16em.'), + '#element_validate' => [ + [static::class, 'validatePowerTransforms'], + ], + ]; + $element['settings']['power_transforms']['position_y']['type'] = [ + '#type' => 'select', + '#title' => $this->t('Position Type'), + '#options' => [ + '' => $this->t('None'), + 'up' => $this->t('Up'), + 'down' => $this->t('Down'), + ], + '#default_value' => isset($iconSettings['power_transforms']['position_y']['type']) ? $iconSettings['power_transforms']['position_y']['type'] : '', + ]; + $element['settings']['power_transforms']['position_y']['value'] = [ + '#type' => 'number', + '#title' => $this->t('Position Value'), + '#min' => 0, + '#step' => 0.01, + '#default_value' => isset($iconSettings['power_transforms']['position_y']['value']) ? $iconSettings['power_transforms']['position_y']['value'] : '', + '#states' => [ + 'disabled' => [ + ':input[name="' . $field_name . '[' . $delta . '][settings][power_transforms][position_y][type]"]' => ['value' => ''], + ], + ], + ]; + $element['settings']['power_transforms']['position_x'] = [ + '#type' => 'details', + '#open' => TRUE, + '#title' => $this->t('Position (X Axis)'), + '#description' => $this->t('Power Transform positioning effects icon location without changing or moving the container. This field will move icons up or down with any arbitrary value, including decimals. Units are 1/16em.'), + '#element_validate' => [ + [static::class, 'validatePowerTransforms'], + ], + ]; + $element['settings']['power_transforms']['position_x']['type'] = [ + '#type' => 'select', + '#title' => $this->t('Position Type'), + '#options' => [ + '' => $this->t('None'), + 'left' => $this->t('Left'), + 'right' => $this->t('Right'), + ], + '#default_value' => isset($iconSettings['power_transforms']['position_x']['type']) ? $iconSettings['power_transforms']['position_x']['type'] : '', + ]; + $element['settings']['power_transforms']['position_x']['value'] = [ + '#type' => 'number', + '#title' => $this->t('Position Value'), + '#min' => 0, + '#step' => 0.01, + '#default_value' => isset($iconSettings['power_transforms']['position_x']['value']) ? $iconSettings['power_transforms']['position_x']['value'] : '', + '#states' => [ + 'disabled' => [ + ':input[name="' . $field_name . '[' . $delta . '][settings][power_transforms][position_x][type]"]' => ['value' => ''], + ], + ], + ]; + + return $element; + } + + /** + * Validate the Font Awesome power transforms. + */ + public static function validatePowerTransforms($element, FormStateInterface $form_state) { + $values = $form_state->getValue($element['#parents']); + + if (!empty($values['type']) && empty($values['value'])) { + $form_state->setError($element, t('Missing value for Font Awesome Power Transform %value. Please see @iconLink for information on correct values.', [ + '%value' => $values['type'], + '@iconLink' => Link::fromTextAndUrl(t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/how-to-use/svg-with-js'))->toString(), + ])); + } + elseif (empty($values['type']) && !empty($values['value'])) { + $form_state->setError($element, t('Missing type value for Font Awesome Power Transform. Please see @iconLink for information on correct values.', [ + '@iconLink' => Link::fromTextAndUrl(t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/how-to-use/svg-with-js'))->toString(), + ])); + } + if (!empty($values['value']) && !is_numeric($values['value'])) { + $form_state->setError($element, t("Invalid value for Font Awesome Power Transform %value. Please see @iconLink for information on correct values.", [ + '%value' => $values['type'], + '@iconLink' => Link::fromTextAndUrl(t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/how-to-use/svg-with-js'))->toString(), + ])); + } + } + + /** + * Validate the Font Awesome icon name. + */ + public static function validateIconName($element, FormStateInterface $form_state) { + $value = $element['#value']; + if (strlen($value) == 0) { + $form_state->setValueForElement($element, ''); + return; + } + + // Load the icon data so we can check for a valid icon. + $iconData = fontawesome_extract_icon_metadata($value); + + if (!isset($iconData['name'])) { + $form_state->setError($element, t("Invalid icon name %value. Please see @iconLink for correct icon names.", [ + '%value' => $value, + '@iconLink' => Link::fromTextAndUrl(t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/icons'))->toString(), + ])); + } + } + + /** + * {@inheritdoc} + */ + public function massageFormValues(array $values, array $form, FormStateInterface $form_state) { + // Load the icon data so we can determine the icon type. + $metadata = fontawesome_extract_icons(); + + // Loop over each item and set the data properly. + foreach ($values as &$item) { + // Remove the prefix if the user accidentally added it. + if (substr($item['icon_name'], 0, 3) == 'fa-') { + $item['icon_name'] = substr($item['icon_name'], 3); + } + + if (!empty($item['settings']['masking']['style'])) { + $item['settings']['masking']['style'] = isset($metadata[$item['icon_name']]['styles']) ? fontawesome_determine_prefix($metadata[$item['icon_name']]['styles'], $item['settings']['masking']['style']) : 'fas'; + } + + // Massage rotate and flip values to make them format properly. + if (is_numeric($item['settings']['power_transforms']['rotate']['value'])) { + $item['settings']['power_transforms']['rotate']['type'] = 'rotate'; + } + else { + unset($item['settings']['power_transforms']['rotate']); + } + if (!empty($item['settings']['power_transforms']['flip-h']['value'])) { + $item['settings']['power_transforms']['flip-h']['type'] = 'flip'; + } + else { + unset($item['settings']['power_transforms']['flip-h']); + } + if (!empty($item['settings']['power_transforms']['flip-v']['value'])) { + $item['settings']['power_transforms']['flip-v']['type'] = 'flip'; + } + else { + unset($item['settings']['power_transforms']['flip-v']); + } + // Determine the icon style - brands don't allow style. + $item['style'] = isset($metadata[$item['icon_name']]['styles']) ? fontawesome_determine_prefix($metadata[$item['icon_name']]['styles'], $item['settings']['style']) : 'fas'; + unset($item['settings']['style']); + + $item['settings'] = serialize(array_filter($item['settings'])); + } + + return $values; + } + +} diff --git a/web/modules/fontawesome/templates/fontawesomeicon.html.twig b/web/modules/fontawesome/templates/fontawesomeicon.html.twig new file mode 100644 index 0000000..8dd612b --- /dev/null +++ b/web/modules/fontawesome/templates/fontawesomeicon.html.twig @@ -0,0 +1,20 @@ +{# +/** + * @file + * Default implementation for Font Awesome Icon field. + * + * Available variables: + * - tag: the HTML tag being used to create the icon. + * - icon: the name of the icon being used for templating. + * - style: the Font Awesome style for the icon. + * - settings: the additional Font Awesome style settings. + * - transforms: Font Awesome power transforms. + * - mask: Font Awesome mask. + * - css: Additional inline CSS styles (for duotone, etc). + * + * @ingroup themeable + */ +#} +
+ <{{tag }} class="{{ style }} {{ name }} {{ settings }}" data-fa-transform="{{ transforms }}" data-fa-mask="{{ mask }}" style="{{ css }}"> +
diff --git a/web/modules/fontawesome/templates/fontawesomeicons.html.twig b/web/modules/fontawesome/templates/fontawesomeicons.html.twig new file mode 100644 index 0000000..079bb2b --- /dev/null +++ b/web/modules/fontawesome/templates/fontawesomeicons.html.twig @@ -0,0 +1,19 @@ +{# +/** + * @file + * Default implementation for Font Awesome icons. + * + * Available variables: + * - icons: a list of Font Awesome icons to be rendered. + * - layers: flag indicating if icons are printing as layers. + * + * @ingroup themeable + */ +#} +
+ {% if layers == '1' %} + {{ icons }} + {% else %} + {{ icons }} + {% endif %} +
diff --git a/web/sites/default/local.services.yml b/web/sites/default/local.services.yml new file mode 100644 index 0000000..6404bb7 --- /dev/null +++ b/web/sites/default/local.services.yml @@ -0,0 +1,175 @@ +parameters: + session.storage.options: + # Default ini options for sessions. + # + # Some distributions of Linux (most notably Debian) ship their PHP + # installations with garbage collection (gc) disabled. Since Drupal depends + # on PHP's garbage collection for clearing sessions, ensure that garbage + # collection occurs by using the most common settings. + # @default 1 + gc_probability: 1 + # @default 100 + gc_divisor: 100 + # + # Set session lifetime (in seconds), i.e. the time from the user's last + # visit to the active session may be deleted by the session garbage + # collector. When a session is deleted, authenticated users are logged out, + # and the contents of the user's $_SESSION variable is discarded. + # @default 200000 + gc_maxlifetime: 200000 + # + # Set session cookie lifetime (in seconds), i.e. the time from the session + # is created to the cookie expires, i.e. when the browser is expected to + # discard the cookie. The value 0 means "until the browser is closed". + # @default 2000000 + cookie_lifetime: 2000000 + # + # Drupal automatically generates a unique session cookie name based on the + # full domain name used to access the site. This mechanism is sufficient + # for most use-cases, including multi-site deployments. However, if it is + # desired that a session can be reused across different subdomains, the + # cookie domain needs to be set to the shared base domain. Doing so assures + # that users remain logged in as they cross between various subdomains. + # To maximize compatibility and normalize the behavior across user agents, + # the cookie domain should start with a dot. + # + # @default none + # cookie_domain: '.example.com' + # + twig.config: + # Twig debugging: + # + # When debugging is enabled: + # - The markup of each Twig template is surrounded by HTML comments that + # contain theming information, such as template file name suggestions. + # - Note that this debugging markup will cause automated tests that directly + # check rendered HTML to fail. When running automated tests, 'debug' + # should be set to FALSE. + # - The dump() function can be used in Twig templates to output information + # about template variables. + # - Twig templates are automatically recompiled whenever the source code + # changes (see auto_reload below). + # + # For more information about debugging Twig templates, see + # https://www.drupal.org/node/1906392. + # + # Not recommended in production environments + # @default false + debug: true + # Twig auto-reload: + # + # Automatically recompile Twig templates whenever the source code changes. + # If you don't provide a value for auto_reload, it will be determined + # based on the value of debug. + # + # Not recommended in production environments + # @default null + auto_reload: null + # Twig cache: + # + # By default, Twig templates will be compiled and stored in the filesystem + # to increase performance. Disabling the Twig cache will recompile the + # templates from source each time they are used. In most cases the + # auto_reload setting above should be enabled rather than disabling the + # Twig cache. + # + # Not recommended in production environments + # @default true + cache: true + renderer.config: + # Renderer required cache contexts: + # + # The Renderer will automatically associate these cache contexts with every + # render array, hence varying every render array by these cache contexts. + # + # @default ['languages:language_interface', 'theme', 'user.permissions'] + required_cache_contexts: + ["languages:language_interface", "theme", "user.permissions"] + # Renderer automatic placeholdering conditions: + # + # Drupal allows portions of the page to be automatically deferred when + # rendering to improve cache performance. That is especially helpful for + # cache contexts that vary widely, such as the active user. On some sites + # those may be different, however, such as sites with only a handful of + # users. If you know what the high-cardinality cache contexts are for your + # site, specify those here. If you're not sure, the defaults are fairly safe + # in general. + # + # For more information about rendering optimizations see + # https://www.drupal.org/developing/api/8/render/arrays/cacheability#optimizing + auto_placeholder_conditions: + # Max-age at or below which caching is not considered worthwhile. + # + # Disable by setting to -1. + # + # @default 0 + max-age: 0 + # Cache contexts with a high cardinality. + # + # Disable by setting to []. + # + # @default ['session', 'user'] + contexts: ["session", "user"] + # Tags with a high invalidation frequency. + # + # Disable by setting to []. + # + # @default [] + tags: [] + # Cacheability debugging: + # + # Responses with cacheability metadata (CacheableResponseInterface instances) + # get X-Drupal-Cache-Tags and X-Drupal-Cache-Contexts headers. + # + # For more information about debugging cacheable responses, see + # https://www.drupal.org/developing/api/8/response/cacheable-response-interface + # + # Not recommended in production environments + # @default false + http.response.debug_cacheability_headers: false + factory.keyvalue: + {} + # Default key/value storage service to use. + # @default keyvalue.database + # default: keyvalue.database + # Collection-specific overrides. + # state: keyvalue.database + factory.keyvalue.expirable: + {} + # Default key/value expirable storage service to use. + # @default keyvalue.database.expirable + # default: keyvalue.database.expirable + # Allowed protocols for URL generation. + filter_protocols: + - http + - https + - ftp + - news + - nntp + - tel + - telnet + - mailto + - irc + - ssh + - sftp + - webcal + - rtsp + + # Configure Cross-Site HTTP requests (CORS). + # Read https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS + # for more information about the topic in general. + # Note: By default the configuration is disabled. + cors.config: + enabled: false + # Specify allowed headers, like 'x-allowed-header'. + allowedHeaders: [] + # Specify allowed request methods, specify ['*'] to allow all possible ones. + allowedMethods: [] + # Configure requests allowed from specific origins. + allowedOrigins: ["*"] + # Sets the Access-Control-Expose-Headers header. + exposedHeaders: false + # Sets the Access-Control-Max-Age header. + maxAge: false + # Sets the Access-Control-Allow-Credentials header. + supportsCredentials: false diff --git a/web/themes/custom/barbell/css/Henrik-Regular.otf b/web/themes/custom/barbell/css/Henrik-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..1dc58c36332e3ecf22c7f9434a077a5bf31305fa GIT binary patch literal 937772 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

hxnW|pLWMX{NQN`B`S2sD*v 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

5TbQ+_Q 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

RHJ^ZYvolR}~h`H`c(o?MR)F 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

i)&9jqH)**$ML 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

wsM8MH6|erpS0Me!fKRW}m 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≈^up2Q<-{Co0aj3-;^tydW1=t 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%0A87y5i^8=BVUKaGmf&>@{v+gM! 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 NzU4L1+TYhR{{_170Sf>C literal 0 HcmV?d00001 diff --git a/web/themes/custom/barbell/css/brandon-grotesque-bold-587bd6400afd0.woff b/web/themes/custom/barbell/css/brandon-grotesque-bold-587bd6400afd0.woff new file mode 100644 index 0000000000000000000000000000000000000000..566d28f837fcca33946aaedf934ae260566a5774 GIT binary patch literal 42024 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 literal 0 HcmV?d00001 diff --git a/web/themes/custom/barbell/css/brandon-grotesque-medium-587bd623e472a.woff b/web/themes/custom/barbell/css/brandon-grotesque-medium-587bd623e472a.woff new file mode 100644 index 0000000000000000000000000000000000000000..070ea0f99e9a809468f74b96cec57fb03a6d8c34 GIT binary patch literal 42392 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 literal 0 HcmV?d00001 From ee80ab326e4da190b539997533b4811ae95724c2 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Thu, 3 Oct 2019 13:31:58 +0200 Subject: [PATCH 013/139] font awesome --- web/modules/fontawesome/LICENSE.txt | 339 + web/modules/fontawesome/README.txt | 104 + web/modules/fontawesome/composer.json | 15 + .../config/install/fontawesome.settings.yml | 10 + .../config/schema/fontawesome.schema.yml | 37 + web/modules/fontawesome/drush.services.yml | 5 + web/modules/fontawesome/fontawesome.info.yml | 12 + web/modules/fontawesome/fontawesome.install | 105 + .../fontawesome/fontawesome.libraries.yml | 125 + .../fontawesome/fontawesome.links.menu.yml | 5 + web/modules/fontawesome/fontawesome.module | 547 + .../fontawesome/fontawesome.routing.yml | 21 + .../icons/drupalfontawesome.png | Bin 0 -> 457 bytes .../icons/hidpi/drupalfontawesome.png | Bin 0 -> 637 bytes .../plugins/drupalfontawesome/plugin.es6.js | 139 + .../js/plugins/drupalfontawesome/plugin.js | 105 + web/modules/fontawesome/metadata/icons.yml | 36204 ++++++++++++++++ .../fontawesome_media.info.yml | 14 + .../media/Source/FontAwesomeIconMedia.php | 100 + .../src/Commands/FontawesomeCommands.php | 105 + .../src/Controller/AutocompleteController.php | 80 + .../fontawesome/src/Form/EditorIconDialog.php | 463 + .../fontawesome/src/Form/SettingsForm.php | 258 + .../CKEditorPlugin/DrupalFontAwesome.php | 64 + .../FontAwesomeIconFormatter.php | 216 + .../Field/FieldType/FontAwesomeIcon.php | 80 + .../FieldWidget/FontAwesomeIconWidget.php | 527 + .../templates/fontawesomeicon.html.twig | 20 + .../templates/fontawesomeicons.html.twig | 19 + web/themes/custom/barbell/css/style.css | 52 +- .../custom/barbell/img/page-title-bcg-big.png | Bin 0 -> 1504 bytes .../custom/barbell/img/page-title-bcg-med.png | Bin 0 -> 2848 bytes 32 files changed, 39765 insertions(+), 6 deletions(-) create mode 100644 web/modules/fontawesome/LICENSE.txt create mode 100644 web/modules/fontawesome/README.txt create mode 100644 web/modules/fontawesome/composer.json create mode 100644 web/modules/fontawesome/config/install/fontawesome.settings.yml create mode 100644 web/modules/fontawesome/config/schema/fontawesome.schema.yml create mode 100644 web/modules/fontawesome/drush.services.yml create mode 100644 web/modules/fontawesome/fontawesome.info.yml create mode 100644 web/modules/fontawesome/fontawesome.install create mode 100644 web/modules/fontawesome/fontawesome.libraries.yml create mode 100644 web/modules/fontawesome/fontawesome.links.menu.yml create mode 100644 web/modules/fontawesome/fontawesome.module create mode 100644 web/modules/fontawesome/fontawesome.routing.yml create mode 100644 web/modules/fontawesome/js/plugins/drupalfontawesome/icons/drupalfontawesome.png create mode 100644 web/modules/fontawesome/js/plugins/drupalfontawesome/icons/hidpi/drupalfontawesome.png create mode 100644 web/modules/fontawesome/js/plugins/drupalfontawesome/plugin.es6.js create mode 100644 web/modules/fontawesome/js/plugins/drupalfontawesome/plugin.js create mode 100644 web/modules/fontawesome/metadata/icons.yml create mode 100644 web/modules/fontawesome/modules/fontawesome_media/fontawesome_media.info.yml create mode 100644 web/modules/fontawesome/modules/fontawesome_media/src/Plugin/media/Source/FontAwesomeIconMedia.php create mode 100644 web/modules/fontawesome/src/Commands/FontawesomeCommands.php create mode 100644 web/modules/fontawesome/src/Controller/AutocompleteController.php create mode 100644 web/modules/fontawesome/src/Form/EditorIconDialog.php create mode 100644 web/modules/fontawesome/src/Form/SettingsForm.php create mode 100644 web/modules/fontawesome/src/Plugin/CKEditorPlugin/DrupalFontAwesome.php create mode 100644 web/modules/fontawesome/src/Plugin/Field/FieldFormatter/FontAwesomeIconFormatter.php create mode 100644 web/modules/fontawesome/src/Plugin/Field/FieldType/FontAwesomeIcon.php create mode 100644 web/modules/fontawesome/src/Plugin/Field/FieldWidget/FontAwesomeIconWidget.php create mode 100644 web/modules/fontawesome/templates/fontawesomeicon.html.twig create mode 100644 web/modules/fontawesome/templates/fontawesomeicons.html.twig create mode 100644 web/themes/custom/barbell/img/page-title-bcg-big.png create mode 100644 web/themes/custom/barbell/img/page-title-bcg-med.png diff --git a/web/modules/fontawesome/LICENSE.txt b/web/modules/fontawesome/LICENSE.txt new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/web/modules/fontawesome/LICENSE.txt @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + 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 General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/web/modules/fontawesome/README.txt b/web/modules/fontawesome/README.txt new file mode 100644 index 0000000..a65dfaf --- /dev/null +++ b/web/modules/fontawesome/README.txt @@ -0,0 +1,104 @@ + +CONTENTS OF THIS FILE +--------------------- + + * Introduction + * Installation + * Usage + * Credits + + +INTRODUCTION 8.2.x version +------------ +Font Awesome (http://fontawesome.com) is the web's most popular icon set and +toolkit. This release of the Font Awesome Icons module supports Font Awesome +versions higher than 5.0. For older versions of Font Awesome, you should +download and install Font Awesome Icons 8.1.x. See the Font Awesome Icons +page on Drupal.org for more information. + +"fontawesome" provides integration of "Font Awesome" with Drupal. Once enabled +"Font Awesome" icon fonts could be used as: + +1. Directly inside of any HTML (node/block/view/panel). Inside HTML you can + place Font Awesome icons just about anywhere with an tag. + + Example for an info icon: + + See more examples of using "Font Awesome" within HTML at: + https://fontawesome.com/how-to-use/on-the-web/referencing-icons/basic-use + + +INSTALLATION +------------ + +1. Using Drush (https://github.com/drush-ops/drush#readme) + + $ drush en fontawesome + + Upon enabling, this will also attempt to download and install the library + in `/libraries/fontawesome`. If, for whatever reason, this process + fails, you can re-run the library install manually by first clearing Drush + caches: + + $ drush cc drush + + and then using another drush command:- + + (Drush 8) + $ drush fa-download + (Drush 9) + $ drush fa:download + +2. Manually + + a. Install the "Font Awesome" library following one of these 2 options: + - run "drush fa-download" (recommended, it will download the right + package and extract it at the right place for you.) + - manual install: Download & extract "Font Awesome" + (http://fontawesome.com) and place inside + "/libraries/fontawesome" directory. The JS file should + be at /libraries/fontawesome/js/all.js + Direct link for downloading latest version (current is v5.10.0) is: + https://use.fontawesome.com/releases/v5.10.0/fontawesome-free-5.10.0-web.zip + b. Enable the module at Administer >> Site building >> Modules. + + +USAGE +_____ +Font Awesome can be used in many ways - you can manually insert Font Awesome +tags wherever you see fit after enabling the module, but there are other ways +as well. See + https://fontawesome.com/how-to-use/on-the-web/referencing-icons/basic-use +for information on basic usage. + +CSS Pseudo-elements - if you are using the older version of Font Awesome, CSS +with webfonts, you can use CSS Pseudo-elements for inserting your icons rather +than the default method. See + https://fontawesome.com/how-to-use/on-the-web/advanced/css-pseudo-elements +for more information on how to add the icons through CSS. + +Font Awesome icon field - this module includes the option to add a Font Awesome +icon field to any of your content types without the need for coding. + +Font Awesome CKEditor plugin - this module includes a CKEditor plugin which +will allow you to insert Font Awesome icons into any CKEditor text field with +the plugin enabled. It can be enabled under + Configuration -> Content authoring -> Text formats and editors +From here, simply add the icon to your active toolbar (it looks like a flag). +Please note that in order to use SVG with JS version of Font Awesome, you will +need to either disable the "Correct faulty and chopped off HTML" filter, or you +will have to add the required SVG tags to the exception list. A list of SVG +tags can be found here: + https://www.w3.org/TR/SVG11/eltindex.html + or + https://developer.mozilla.org/en-US/docs/Web/SVG/Element + + +CREDITS +------- +* Rob Loach (RobLoach) http://robloach.net +* Inder Singh (inders) http://indersingh.com | https://www.drupal.org/u/inders +* Mark Carver https://www.drupal.org/u/mark-carver +* Brian Gilbert https://drupal.org/u/realityloop +* Daniel Moberly https://drupal.org/u/danielmoberly +* Truls S. Yggeseth https://drupal.org/u/truls1502 diff --git a/web/modules/fontawesome/composer.json b/web/modules/fontawesome/composer.json new file mode 100644 index 0000000..88aeda7 --- /dev/null +++ b/web/modules/fontawesome/composer.json @@ -0,0 +1,15 @@ +{ + "name": "drupal/fontawesome", + "description": "The web's most popular icon set and toolkit.", + "type": "drupal-module", + "license": "GPL-2.0+", + "homepage": "https://www.drupal.org/project/fontawesome", + "minimum-stability": "dev", + "extra": { + "drush": { + "services": { + "drush.services.yml": "^9" + } + } + } +} diff --git a/web/modules/fontawesome/config/install/fontawesome.settings.yml b/web/modules/fontawesome/config/install/fontawesome.settings.yml new file mode 100644 index 0000000..fbdde23 --- /dev/null +++ b/web/modules/fontawesome/config/install/fontawesome.settings.yml @@ -0,0 +1,10 @@ +tag: 'i' +method: 'svg' +use_cdn: true +external_svg_location: 'https://use.fontawesome.com/releases/v5.10.0/js/all.js' +use_shim: true +external_shim_location: 'https://use.fontawesome.com/releases/v5.10.0/js/v4-shims.js' +use_solid_file: true +use_regular_file: true +use_light_file: true +use_brands_file: true diff --git a/web/modules/fontawesome/config/schema/fontawesome.schema.yml b/web/modules/fontawesome/config/schema/fontawesome.schema.yml new file mode 100644 index 0000000..39f479a --- /dev/null +++ b/web/modules/fontawesome/config/schema/fontawesome.schema.yml @@ -0,0 +1,37 @@ +fontawesome.settings: + type: config_object + label: 'Font Awesome settings' + mapping: + tag: + type: string + label: 'Tag used for Font Awesome elements' + method: + type: string + label: 'Method used for delivering Font Awesome' + use_cdn: + type: boolean + label: 'Use CDN to serve Font Awesome' + external_svg_location: + type: string + label: 'Location of the external CDN for Font Awesome' + use_shim: + type: boolean + label: 'Use Shim File for v4 compatibility' + external_shim_location: + type: string + label: 'Location of the external CDN for Font Awesome shim file' + allow_pseudo_elements: + type: boolean + label: 'Allow CSS pseudo elements with webfonts' + use_solid_file: + type: boolean + label: 'Use the Font Awesome solid icons file' + use_regular_file: + type: boolean + label: 'Use the Font Awesome regular icons file' + use_light_file: + type: boolean + label: 'Use the Font Awesome light icons file' + use_brands_File: + type: boolean + label: 'Use the Font Awesome brands icons file' diff --git a/web/modules/fontawesome/drush.services.yml b/web/modules/fontawesome/drush.services.yml new file mode 100644 index 0000000..faa5af1 --- /dev/null +++ b/web/modules/fontawesome/drush.services.yml @@ -0,0 +1,5 @@ +services: + fontawesome.commands: + class: \Drupal\fontawesome\Commands\FontawesomeCommands + tags: + - { name: drush.command } diff --git a/web/modules/fontawesome/fontawesome.info.yml b/web/modules/fontawesome/fontawesome.info.yml new file mode 100644 index 0000000..1b68b91 --- /dev/null +++ b/web/modules/fontawesome/fontawesome.info.yml @@ -0,0 +1,12 @@ +name: 'Font Awesome' +type: module +description: 'The most popular icon set and toolkit on the web.' + +# core: 8.x +configure: fontawesome.admin_settings + +# Information added by Drupal.org packaging script on 2019-08-02 +version: '8.x-2.14' +core: '8.x' +project: 'fontawesome' +datestamp: 1564762409 diff --git a/web/modules/fontawesome/fontawesome.install b/web/modules/fontawesome/fontawesome.install new file mode 100644 index 0000000..28fc3f8 --- /dev/null +++ b/web/modules/fontawesome/fontawesome.install @@ -0,0 +1,105 @@ + t('Font Awesome 5'), + ]; + + // Load the configuration settings. + $configuration_settings = \Drupal::config('fontawesome.settings'); + + // Check if Font Awesome is installed. + if (fontawesome_check_installed()) { + // Get the version. + if ($configuration_settings->get('method') == 'webfonts') { + $version = t('Webfonts with CSS'); + } + elseif ($configuration_settings->get('use_cdn')) { + $version = t('CDN SVG with JS'); + } + else { + $version = t('SVG with JS'); + } + + // First check if we're using everything. + if (is_null($configuration_settings->get('use_solid_file')) === TRUE || ($configuration_settings->get('use_solid_file') && $configuration_settings->get('use_regular_file') && $configuration_settings->get('use_light_file') && $configuration_settings->get('use_brands_file'))) { + // Attach the main library. + $loadedMessages = [ + t('All icons loaded'), + ]; + } + // Else we attach the libraries piecemeal. + else { + $loadedMessages = []; + if ($configuration_settings->get('use_solid_file')) { + $loadedMessages[] = t('Solid icons loaded'); + } + if ($configuration_settings->get('use_regular_file')) { + $loadedMessages[] = t('Regular icons loaded'); + } + if ($configuration_settings->get('use_light_file')) { + $loadedMessages[] = t('Light icons loaded'); + } + if ($configuration_settings->get('use_brands_file')) { + $loadedMessages[] = t('Brands icons loaded'); + } + } + + $requirements['fontawesome']['severity'] = REQUIREMENT_OK; + $requirements['fontawesome']['value'] = t('Font Awesome 5 library is installed. Using %version version. (@moreInfoLink)', [ + '%version' => $version, + '@moreInfoLink' => Link::createFromRoute(t('more information'), 'fontawesome.admin_settings')->toString(), + ]); + $requirements['fontawesome']['description'] = [ + '#theme' => 'item_list', + '#items' => $loadedMessages, + '#title' => '', + '#list_type' => 'ul', + '#attributes' => [], + ]; + } + else { + $requirements['fontawesome']['severity'] = REQUIREMENT_ERROR; + $requirements['fontawesome']['value'] = t('Not installed'); + $requirements['fontawesome']['description'] = t('The Font Awesome 5 library could not be found. Please verify Font Awesome 5 is installed correctly or that the CDN has been activated and properly configured. Please see the @adminPage and the Font Awesome module README file for more details.', [ + '@adminPage' => Link::createFromRoute(t('admin page'), 'fontawesome.admin_settings')->toString(), + ]); + } + } + + return $requirements; +} + +/** + * Implements hook_uninstall(). + */ +function fontawesome_uninstall() { + // Delete set variables. + $query = \Drupal::database()->delete('config'); + $query->condition('name', 'fontawesome.settings'); + $query->execute(); + $query = \Drupal::database()->delete('key_value'); + $query->condition('name', 'fontawesome'); + $query->execute(); + + // Icon API module : Delete fontawesome icon bundle & clear cache. + if (\Drupal::moduleHandler()->moduleExists('icon') && ($cache = \Drupal::cache()->get('icon_bundles')) && !empty($cache->data)) { + $fa_icon_bundle = isset($cache->data['fontawesome']) ? $cache->data['fontawesome'] : []; + $fa_icon_bundle['path'] = isset($fa_icon_bundle['path']) ? $fa_icon_bundle['path'] : 'fontawesome'; + icon_bundle_delete($fa_icon_bundle); + } +} diff --git a/web/modules/fontawesome/fontawesome.libraries.yml b/web/modules/fontawesome/fontawesome.libraries.yml new file mode 100644 index 0000000..04976f1 --- /dev/null +++ b/web/modules/fontawesome/fontawesome.libraries.yml @@ -0,0 +1,125 @@ +fontawesome.svg: + remote: &fontawesome_remote https://use.fontawesome.com/releases/v5.10.0/fontawesome-free-5.10.0-web.zip + license: &fontawesome_svg_license + name: CC BY 4.0 + url: https://fontawesome.com/license + gpl-compatible: true + version: &fontawesome_version "5.10.0" + header: true + js: + /libraries/fontawesome/js/all.js: { minified: true, attributes: { defer: true } } + +fontawesome.svg.shim: + version: *fontawesome_version + license: *fontawesome_svg_license + header: true + js: + /libraries/fontawesome/js/v4-shims.js: { minified: true, attributes: { defer: true } } + dependencies: + - fontawesome/fontawesome.svg + +fontawesome.svg.base: + version: *fontawesome_version + license: *fontawesome_svg_license + header: true + js: + /libraries/fontawesome/js/fontawesome.js: { minified: true, attributes: { defer: true } } + +fontawesome.svg.solid: + version: *fontawesome_version + license: *fontawesome_svg_license + header: true + js: + /libraries/fontawesome/js/solid.js: { minified: true, attributes: { defer: true } } + dependencies: + - fontawesome/fontawesome.svg.base + +fontawesome.svg.regular: + version: *fontawesome_version + license: *fontawesome_svg_license + header: true + js: + /libraries/fontawesome/js/regular.js: { minified: true, attributes: { defer: true } } + dependencies: + - fontawesome/fontawesome.svg.base + +fontawesome.svg.light: + version: *fontawesome_version + license: *fontawesome_svg_license + header: true + js: + /libraries/fontawesome/js/light.js: { minified: true, attributes: { defer: true } } + dependencies: + - fontawesome/fontawesome.svg.base + +fontawesome.svg.brands: + version: *fontawesome_version + license: *fontawesome_svg_license + header: true + js: + /libraries/fontawesome/js/brands.js: { minified: true, attributes: { defer: true } } + dependencies: + - fontawesome/fontawesome.svg.base + +fontawesome.webfonts: + remote: *fontawesome_remote + license: &fontawesome_webfonts_license + name: SIL OFL 1.1 + url: https://fontawesome.com/license + gpl-compatible: true + version: *fontawesome_version + css: + theme: + /libraries/fontawesome/css/all.css: { minified: true } + +fontawesome.webfonts.base: + version: *fontawesome_version + license: *fontawesome_webfonts_license + css: + theme: + /libraries/fontawesome/css/fontawesome.css: { minified: true } + +fontawesome.webfonts.solid: + version: *fontawesome_version + license: *fontawesome_webfonts_license + css: + theme: + /libraries/fontawesome/css/solid.css: { minified: true } + dependencies: + - fontawesome/fontawesome.webfonts.base + +fontawesome.webfonts.regular: + version: *fontawesome_version + license: *fontawesome_webfonts_license + css: + theme: + /libraries/fontawesome/css/regular.css: { minified: true } + dependencies: + - fontawesome/fontawesome.webfonts.base + +fontawesome.webfonts.light: + version: *fontawesome_version + license: *fontawesome_webfonts_license + css: + theme: + /libraries/fontawesome/css/light.css: { minified: true } + dependencies: + - fontawesome/fontawesome.webfonts.base + +fontawesome.webfonts.brands: + version: *fontawesome_version + license: *fontawesome_webfonts_license + css: + theme: + /libraries/fontawesome/css/brands.css: { minified: true } + dependencies: + - fontawesome/fontawesome.webfonts.base + +fontawesome.webfonts.shim: + version: *fontawesome_version + license: *fontawesome_webfonts_license + css: + theme: + /libraries/fontawesome/css/v4-shims.css: { minified: true } + dependencies: + - fontawesome/fontawesome.webfonts diff --git a/web/modules/fontawesome/fontawesome.links.menu.yml b/web/modules/fontawesome/fontawesome.links.menu.yml new file mode 100644 index 0000000..5d69684 --- /dev/null +++ b/web/modules/fontawesome/fontawesome.links.menu.yml @@ -0,0 +1,5 @@ +fontawesome.admin_settings: + title: 'Font Awesome Settings' + description: 'Global settings for the display of Font Awesome icons.' + route_name: fontawesome.admin_settings + parent: 'system.admin_config_content' diff --git a/web/modules/fontawesome/fontawesome.module b/web/modules/fontawesome/fontawesome.module new file mode 100644 index 0000000..56f7571 --- /dev/null +++ b/web/modules/fontawesome/fontawesome.module @@ -0,0 +1,547 @@ + ' . t('Font Awesome is an iconic font and CSS toolkit. Font Awesome gives you scalable vector icons that can instantly be customized — size, color, drop shadow, and anything that can be done with the power of CSS. For more information on how to use Font Awesome, see the Font Awesome Examples page.', [ + ':fontawesome_url' => 'https://fontawesome.com', + ':fontawesome_examples_page' => 'https://fontawesome.com/how-to-use/on-the-web/referencing-icons/basic-use', + ]) . '

'; + } +} + +/** + * Implements hook_library_info_alter(). + */ +function fontawesome_library_info_alter(&$libraries, $extension) { + // Modify the Font Awesome library to use external file if user chose. + if ($extension == 'fontawesome') { + // Load the configuration settings. + $configuration_settings = \Drupal::config('fontawesome.settings'); + + // Have to modify the library if the user is using a CDN. + if ($configuration_settings->get('use_cdn')) { + + // First check if we're using everything. + if (isset($libraries['fontawesome.' . $configuration_settings->get('method')])) { + _fontawesome_modify_library($libraries, NULL, $configuration_settings->get('method'), $configuration_settings->get('external_svg_location')); + } + + // Determine the base for the CDN. + $cdnComponents = parse_url($configuration_settings->get('external_svg_location')); + $cdnComponents['path'] = explode('/', $cdnComponents['path']); + unset($cdnComponents['path'][count($cdnComponents['path']) - 1]); + $cdnComponents['path'] = implode('/', $cdnComponents['path']) . '/'; + + if (isset($libraries['fontawesome.' . $configuration_settings->get('method') . '.base'])) { + // Modify settings for the base file. + $cdnBase = $cdnComponents; + $cdnBase['path'] .= 'fontawesome.' . ($configuration_settings->get('method') == 'webfonts' ? 'css' : 'js'); + _fontawesome_modify_library($libraries, 'base', $configuration_settings->get('method'), _fontawesome_unparse_url($cdnBase)); + } + + // Modify settings for individual included files. + foreach (['solid', 'regular', 'light', 'brands'] as $libraryType) { + if (isset($libraries['fontawesome.' . $configuration_settings->get('method') . '.' . $libraryType])) { + $cdnBase = $cdnComponents; + $cdnBase['path'] .= $libraryType . '.' . ($configuration_settings->get('method') == 'webfonts' ? 'css' : 'js'); + _fontawesome_modify_library($libraries, $libraryType, $configuration_settings->get('method'), _fontawesome_unparse_url($cdnBase)); + } + } + + // Modify the shim as well. + if (isset($libraries['fontawesome.' . $configuration_settings->get('method') . '.shim'])) { + _fontawesome_modify_library($libraries, 'shim', $configuration_settings->get('method'), $configuration_settings->get('external_shim_location')); + } + } + + // Allow pseudo-elements in JS if selected. + if ($configuration_settings->get('allow_pseudo_elements') && $configuration_settings->get('method') == 'svg') { + // Modify the libraries to add pseudo elements tag. + foreach ($libraries as $key => &$values) { + if (substr($key, 0, 15) == 'fontawesome.svg') { + $librarySettings = reset($values['js']); + $librarySource = key($values['js']); + // Font Awesome requires this script tag to enable pseudo elements. + $librarySettings['attributes'] = [ + 'data-search-pseudo-elements' => TRUE, + ]; + $values['js'][$librarySource] = $librarySettings; + } + } + } + } +} + +/** + * Modifies library inclusions to use CDN files when necessary. + * + * @param array $libraries + * The libraries inclusion array. + * @param string $librarySuffix + * The suffix of the library being modified. + * @param string $type + * The type of library we are modifying. + * @param string $cdnLocation + * The location of the CDN file being used. + */ +function _fontawesome_modify_library(array &$libraries, $librarySuffix, $type, $cdnLocation) { + // Determine the name of the library. + $libraryName = 'fontawesome.' . $type; + if (!empty($librarySuffix)) { + $libraryName .= '.' . $librarySuffix; + } + + // Handle SVG method. + if ($type == 'svg') { + $librarySettings = array_shift($libraries[$libraryName]['js']); + $libraries[$libraryName]['js'] = [ + $cdnLocation => $librarySettings, + ]; + } + // Handle WebFonts method. + elseif ($type == 'webfonts') { + $librarySettings = array_shift($libraries[$libraryName]['css']['theme']); + $libraries[$libraryName]['css']['theme'] = [ + $cdnLocation => $librarySettings, + ]; + } +} + +/** + * Unparses a CDN URL for use with individual Font Awesome file inclusions. + * + * @param array $parsed + * Array containing URL parsed data. + * + * @return string + * The unparsed URL for the CDN. + */ +function _fontawesome_unparse_url(array $parsed) { + $get = function ($key) use ($parsed) { + return isset($parsed[$key]) ? $parsed[$key] : NULL; + }; + + $pass = $get('pass'); + $user = $get('user'); + $userinfo = $pass !== NULL ? "$user:$pass" : $user; + $port = $get('port'); + $scheme = $get('scheme'); + $query = $get('query'); + $fragment = $get('fragment'); + $authority = ($userinfo !== NULL ? "$userinfo@" : '') . $get('host') . ($port ? ":$port" : ''); + + return (strlen($scheme) ? "$scheme:" : '') . (strlen($authority) ? "//$authority" : '') . $get('path') . (strlen($query) ? "?$query" : '') . (strlen($fragment) ? "#$fragment" : ''); +} + +/** + * Implements hook_ckeditor_css_alter(). + * + * This function allows for the proper functionality of the icons inside the + * CKEditor when using Webfonts with CSS as the Font Awesome display method. + * + * See fontawesome_editor_js_settings_alter() for allowing the use of the icons + * inside CKEditor when using the SVG with JS display method. + */ +function fontawesome_ckeditor_css_alter(&$css, $editor) { + // Attach the main library if we're using the CSS webfonts method.. + if (\Drupal::config('fontawesome.settings')->get('method') == 'webfonts') { + // Load the library. + $fontawesome_library = \Drupal::service('library.discovery')->getLibraryByName('fontawesome', 'fontawesome.webfonts'); + // Attach it's CSS. + $css[] = $fontawesome_library['css'][0]['data']; + + // Attach the shim CSS if needed. + if (Drupal::config('fontawesome.settings')->get('use_shim')) { + // Load the library. + $fontawesome_library_shim = \Drupal::service('library.discovery')->getLibraryByName('fontawesome', 'fontawesome.webfonts.shim'); + // Attach it's CSS. + $css[] = $fontawesome_library_shim['css'][0]['data']; + } + } +} + +/** + * Check to make sure that Font Awesome is installed. + * + * @return bool + * Flag indicating if the library is properly installed. + */ +function fontawesome_check_installed() { + // Load the configuration settings. + $configuration_settings = \Drupal::config('fontawesome.settings'); + + // Throw error if library file not found. + if ($configuration_settings->get('use_cdn')) { + return !empty($configuration_settings->get('external_svg_location')); + } + elseif ($configuration_settings->get('method') == 'webfonts') { + // Webfonts method. + $fontawesome_library = \Drupal::service('library.discovery')->getLibraryByName('fontawesome', 'fontawesome.webfonts'); + return file_exists(DRUPAL_ROOT . '/' . $fontawesome_library['css'][0]['data']); + } + else { + // SVG method. + $fontawesome_library = \Drupal::service('library.discovery')->getLibraryByName('fontawesome', 'fontawesome.svg'); + return file_exists(DRUPAL_ROOT . '/' . $fontawesome_library['js'][0]['data']); + } +} + +/** + * Implements hook_page_attachments(). + * + * Purposefully only load on page requests and not hook_init(). This is + * required so it does not increase the bootstrap time of Drupal when it isn't + * necessary. + */ +function fontawesome_page_attachments(array &$page) { + // Load the configuration settings. + $configuration_settings = \Drupal::config('fontawesome.settings'); + + // Throw error if library file not found. + if (!fontawesome_check_installed()) { + \Drupal::messenger()->addWarning(t('The Font Awesome library could not be found. Please verify Font Awesome is installed correctly or that the CDN has been activated and properly configured. Please see the @adminPage and the Font Awesome module README file for more details.', [ + '@adminPage' => Link::createFromRoute(t('admin page'), 'fontawesome.admin_settings')->toString(), + ])); + return; + } + + // First check if we're using everything. + if (is_null($configuration_settings->get('use_solid_file')) === TRUE || ($configuration_settings->get('use_solid_file') && $configuration_settings->get('use_regular_file') && $configuration_settings->get('use_light_file') && $configuration_settings->get('use_brands_file'))) { + // Attach the main library. + $page['#attached']['library'][] = 'fontawesome/fontawesome.' . $configuration_settings->get('method'); + } + // Else we attach the libraries piecemeal. + else { + if ($configuration_settings->get('use_solid_file')) { + $page['#attached']['library'][] = 'fontawesome/fontawesome.' . $configuration_settings->get('method') . '.solid'; + } + if ($configuration_settings->get('use_regular_file')) { + $page['#attached']['library'][] = 'fontawesome/fontawesome.' . $configuration_settings->get('method') . '.regular'; + } + if ($configuration_settings->get('use_light_file')) { + $page['#attached']['library'][] = 'fontawesome/fontawesome.' . $configuration_settings->get('method') . '.light'; + } + if ($configuration_settings->get('use_brands_file')) { + $page['#attached']['library'][] = 'fontawesome/fontawesome.' . $configuration_settings->get('method') . '.brands'; + } + } + + // Attach the shim file if needed. + if ($configuration_settings->get('use_shim')) { + $page['#attached']['library'][] = 'fontawesome/fontawesome.' . $configuration_settings->get('method') . '.shim'; + } +} + +/** + * Helper function returns the prefix for an icon based on icon type. + * + * @param array $styles + * An array of valid styles for the icon. + * @param string $default + * The value to assign here if it's not a brand icon. + * + * @return string + * A valid prefix for this icon. + */ +function fontawesome_determine_prefix(array $styles, $default = 'fas') { + // Determine the icon style - brands behave differently. + foreach ($styles as $style) { + if ($style == 'brands') { + return 'fab'; + } + } + return $default; +} + +/** + * Implements hook_theme(). + */ +function fontawesome_theme($existing, $type, $theme, $path) { + return [ + 'fontawesomeicons' => [ + 'variables' => [ + 'icons' => NULL, + 'layers' => FALSE, + ], + ], + 'fontawesomeicon' => [ + 'variables' => [ + 'tag' => 'i', + 'name' => NULL, + 'style' => NULL, + 'settings' => NULL, + 'transforms' => NULL, + 'mask' => NULL, + 'css' => NULL, + ], + ], + ]; +} + +/** + * Implements hook_theme_suggestions_HOOK_alter(). + */ +function fontawesome_theme_suggestions_fontawesomeicon(array $variables) { + // Suggest a template with the icon name if it exists. + if (!empty($variables['name'])) { + $suggestions[] = $variables['theme_hook_original'] . '__' . $variables['name']; + } + return $suggestions; +} + +/** + * Implements hook_theme_registry_alter(). + */ +function fontawesome_theme_registry_alter(&$theme_registry) { + /* + * By default, Drupal 8 does not include theme suggestions from inside the + * module in which they were created, so we must add them manually here. + */ + $path = drupal_get_path('module', 'fontawesome'); + $fontawesome_templates = drupal_find_theme_templates($theme_registry, '.html.twig', $path); + foreach ($fontawesome_templates as &$fontawesome_template) { + $fontawesome_template['type'] = 'module'; + } + $theme_registry += $fontawesome_templates; +} + +/** + * Implements hook_icon_providers(). + */ +function fontawesome_icon_providers() { + $providers['fontawesome'] = [ + 'title' => 'Font Awesome', + 'url' => 'http://fontawesome.io', + ]; + return $providers; +} + +/** + * Implements hook_icon_bundle_configure(). + */ +function fontawesome_icon_bundle_configure(&$settings, &$form_state, &$complete_form) { + $bundle = $form_state['bundle']; + if ($bundle['provider'] === 'fontawesome') { + $settings['tag'] = [ + '#type' => 'select', + '#title' => t('HTML Markup'), + '#description' => t('Choose the HTML markup tag that Font Awesome icons should be created with. Typically, this is a %tag tag, however it can be changed to suite the theme requirements.', [ + '%tag' => '<' . $bundle['settings']['tag'] . '>', + ]), + '#options' => array_combine( + ['i', 'span'], + ['i', 'span'] + ), + '#default_value' => $bundle['settings']['tag'], + ]; + } +} + +/** + * Implements hook_preprocess_icon_RENDER_HOOK(). + */ +function fontawesome_preprocess_icon_sprite(&$variables) { + $bundle = &$variables['bundle']; + if ($bundle['provider'] === 'fontawesome') { + // Remove the default "icon" class. + $key = array_search('icon', $variables['attributes']['class']); + if ($key !== FALSE) { + unset($variables['attributes']['class'][$key]); + } + + // TODO: need to add the correct class depending on icon type. + // Add the necessary FA identifier class. + $variables['attributes']['class'][] = 'fas'; + + // Prepend the icon with the FA prefix (which will be used as the class). + $variables['icon'] = 'fa-' . $variables['icon']; + } +} + +/** + * Implements hook_icon_bundles(). + * + * TODO: this is waiting on an 8.x release of Icon API. + */ +function fontawesome_icon_bundles() { + $bundles['fontawesome'] = [ + 'title' => 'Font Awesome', + 'provider' => 'fontawesome', + 'render' => 'sprite', + 'settings' => [ + 'tag' => 'i', + ], + 'icons' => fontawesome_extract_icons(), + ]; + return $bundles; +} + +/** + * Loads the Font Awesome metadata file. + * + * @return string + * The filepath of the metadata file. + */ +function fontawesome_get_metadata_filepath() { + // Attempt to load the icons from the local library's metadata if possible. + $metadataFile = \Drupal::service('file_system')->realpath(DRUPAL_ROOT . '/libraries/fontawesome/metadata/icons.yml'); + // If we can't load the local file, use the included module icons file. + if (!file_exists($metadataFile)) { + $metadataFile = drupal_get_path('module', 'fontawesome') . '/metadata/icons.yml'; + } + return $metadataFile; +} + +/** + * Provides a list of all available Font Awesome icons from metadata. + * + * @return array + * Array containing icons. + */ +function fontawesome_extract_icons() { + // Check for cached icons. + if (!$icons = \Drupal::cache('data')->get('fontawesome.iconlist')) { + + // Parse the metadata file and use it to generate the icon list. + $icons = []; + foreach (Yaml::parse(file_get_contents(fontawesome_get_metadata_filepath())) as $name => $icon) { + // Determine the icon type - brands behave differently. + $type = 'solid'; + foreach ($icon['styles'] as $style) { + if ($style == 'brands') { + $type = 'brands'; + break; + } + } + $icons[$name] = [ + 'name' => $name, + 'type' => $type, + 'label' => $icon['label'], + 'styles' => $icon['styles'], + ]; + } + + // Cache the icons array. + \Drupal::cache('data')->set('fontawesome.iconlist', $icons, strtotime('+1 week'), ['fontawesome', 'iconlist']); + } + else { + $icons = $icons->data; + } + + return (array) $icons; +} + +/** + * Extract metadata for a specific icon. + * + * @param string $findIcon + * The icon for which we want metadata. + * + * @return array + * Array containing icons. + */ +function fontawesome_extract_icon_metadata($findIcon) { + // Parse the metadata file and use it to generate the icon list. + foreach (Yaml::parse(file_get_contents(fontawesome_get_metadata_filepath())) as $name => $icon) { + if ($name == $findIcon) { + // Determine the icon type - brands behave differently. + $type = 'solid'; + foreach ($icon['styles'] as $style) { + if ($style == 'brands') { + $type = 'brands'; + break; + } + } + return [ + 'name' => $name, + 'type' => $type, + 'label' => $icon['label'], + 'styles' => $icon['styles'], + ]; + } + } + + return FALSE; +} + +/** + * Implements hook_entity_presave(). + */ +function fontawesome_entity_presave(EntityInterface $entity) { + if ($entity instanceof ContentEntityInterface) { + // Loop over the fields. + foreach ($entity->getFields() as $fields) { + if ($fields instanceof ItemList) { + // If this is a text field (uses an editor). + if (in_array($fields->getFieldDefinition()->getType(), [ + 'text', + 'text_long', + 'text_with_summary', + ])) { + foreach ($fields as $field) { + // Find and replace SVG strings with original icon HTML. + $fieldValue = $field->getValue(); + $fieldValue['value'] = preg_replace('%/g, '$1'); + // Set the body to the new value. + thisEditor.editor.setData(htmlBody); + }; + + // After CKEditor is ready. + CKEDITOR.on( + 'instanceReady', + (ev) => { + // On initial load, convert icons to SVGs. + Drupal.FontAwesome.tagsToSvg(drupalSettings, ev); + + // On mode change, deal with the changes on the fly. + ev.editor.on('mode', () => { + if (ev.editor.mode === 'source') { + // If we are showing source, turn SVG back to original tags. + Drupal.FontAwesome.svgToTags(ev); + } + else if (ev.editor.mode === 'wysiwyg') { + // If switching back to the display mode, have to load SVGs again. + Drupal.FontAwesome.tagsToSvg(drupalSettings, ev); + } + }); + + // Listen to the event for inserting icons from the plugin. + ev.editor.on('insertedIcon', () => { + // todo: For some reason this throws an 'Uncaught TypeError'. + // Force an update to the content. + ev.editor.setData(ev.editor.getData()); + // Then reload the SVGs. + Drupal.FontAwesome.tagsToSvg(drupalSettings, ev); + }); + }, + ); +})(jQuery, Drupal, drupalSettings, CKEDITOR); diff --git a/web/modules/fontawesome/js/plugins/drupalfontawesome/plugin.js b/web/modules/fontawesome/js/plugins/drupalfontawesome/plugin.js new file mode 100644 index 0000000..8dc78fb --- /dev/null +++ b/web/modules/fontawesome/js/plugins/drupalfontawesome/plugin.js @@ -0,0 +1,105 @@ +/** +* DO NOT EDIT THIS FILE. +* See the following change record for more information, +* https://www.drupal.org/node/2815083 +* @preserve +**/ + +(function ($, Drupal, drupalSettings, CKEDITOR) { + 'use strict'; + + CKEDITOR.plugins.add('drupalfontawesome', { + icons: 'drupalfontawesome', + hidpi: true, + + init: function init(editor) { + editor.addCommand('drupalfontawesome', { + modes: { wysiwyg: 1 }, + canUndo: true, + exec: function exec(execEditor) { + var saveCallback = function saveCallback(returnValues) { + execEditor.fire('saveSnapshot'); + + var selection = execEditor.getSelection(); + var range = selection.getRanges(1)[0]; + + var container = new CKEDITOR.dom.element('span', execEditor.document); + container.addClass('fontawesome-icon-inline'); + var icon = new CKEDITOR.dom.element(returnValues.tag, execEditor.document); + icon.setAttributes(returnValues.attributes); + container.append(icon); + container.appendHtml(' '); + + range.insertNode(container); + range.select(); + + execEditor.fire('saveSnapshot'); + + execEditor.fire('insertedIcon'); + }; + + var dialogSettings = { + title: execEditor.config.drupalFontAwesome_dialogTitleAdd, + dialogClass: 'fontawesome-icon-dialog' + }; + + Drupal.ckeditor.openDialog(execEditor, Drupal.url('fontawesome/dialog/icon/' + execEditor.config.drupal.format), {}, saveCallback, dialogSettings); + } + }); + + if (editor.ui.addButton) { + editor.ui.addButton('DrupalFontAwesome', { + label: Drupal.t('Font Awesome'), + command: 'drupalfontawesome' + }); + } + } + }); + + if ('editor' in drupalSettings && 'fontawesome' in drupalSettings.editor) { + $.each(drupalSettings.editor.fontawesome.allowedEmptyTags, function (_, tag) { + CKEDITOR.dtd.$removeEmpty[tag] = 0; + }); + } + + Drupal.FontAwesome = {}; + + Drupal.FontAwesome.tagsToSvg = function (drupalSettings, thisEditor) { + if ('editor' in drupalSettings && 'fontawesome' in drupalSettings.editor) { + $.each(drupalSettings.editor.fontawesome.fontawesomeLibraries, function (_, library) { + var $script = document.createElement('script'); + var $editorInstance = CKEDITOR.instances[thisEditor.editor.name]; + + $script.src = library; + + $editorInstance.document.getHead().$.appendChild($script); + }); + } + }; + + Drupal.FontAwesome.svgToTags = function (thisEditor) { + var htmlBody = thisEditor.editor.getData(); + + htmlBody = htmlBody.replace(/ $this->t('Title'), + ]; + } + + /** + * {@inheritdoc} + */ + public function getMetadata(MediaInterface $media, $attribute_name) { + /** @var \Drupal\fontawesome\Plugin\Field\FieldType\FontAwesomeIcon $icon */ + $icon = $media + ->get($this->configuration['source_field']) + ->first(); + + // If the source field is not required, it may be empty. + if (!$icon) { + return parent::getMetadata($media, $attribute_name); + } + switch ($attribute_name) { + case 'default_name': + return $icon + ->get('icon_name') + ->getValue(); + + case 'thumbnail_uri': + return $this->getThumbnail($icon); + + default: + return parent::getMetadata($media, $attribute_name); + } + } + + /** + * Gets the thumbnail image URI based on an icon entity. + * + * @param \Drupal\fontawesome\Plugin\Field\FieldType\FontAwesomeIcon $icon + * A Font Awesome Iocn entity. + * + * @return string + * File URI of the thumbnail image or NULL if there is no specific icon. + */ + protected function getThumbnail(FontAwesomeIcon $icon) { + + // Determine the source folder. + switch ($icon->get('style')->getCastedValue()) { + case 'fab': + $srcFolder = 'brands'; + break; + + case 'fal': + $srcFolder = 'light'; + break; + + case 'fas': + $srcFolder = 'solid'; + break; + + case 'far': + default: + $srcFolder = 'regular'; + break; + + case 'fad': + $srcFolder = 'duotone'; + break; + } + + return 'libraries/fontawesome/svgs/' . $srcFolder . '/' . $icon + ->get('icon_name') + ->getValue() . '.svg'; + } + +} diff --git a/web/modules/fontawesome/src/Commands/FontawesomeCommands.php b/web/modules/fontawesome/src/Commands/FontawesomeCommands.php new file mode 100644 index 0000000..1b279cb --- /dev/null +++ b/web/modules/fontawesome/src/Commands/FontawesomeCommands.php @@ -0,0 +1,105 @@ +mkdir($path); + } + if (is_dir($path . '/css')) { + $this->logger()->notice(dt('Font Awesome already present at @path. No download required.', ['@path' => $path])); + return; + } + + // Load the Font Awesome defined library. + if ($fontawesome_library = \Drupal::service('library.discovery')->getLibraryByName('fontawesome', 'fontawesome.svg')) { + + // Download the file. + $client = new Client(); + $destination = tempnam(sys_get_temp_dir(), 'file.') . "tar.gz"; + try { + $client->get($fontawesome_library['remote'], ['save_to' => $destination]); + } + catch (RequestException $e) { + // Remove the directory. + $fs->remove($path); + $this->logger()->error(dt('Drush was unable to download the Font Awesome library from @remote. @exception', [ + '@remote' => $fontawesome_library['remote'], + '@exception' => $e->getMessage(), + ], 'error')); + return; + } + $fs->rename($destination, $path . '/fontawesome.zip'); + if (!file_exists($path . '/fontawesome.zip')) { + // Remove the directory where we tried to install. + $fs->remove($path); + $this->logger()->error(dt('Error: unable to download Fontawesome library from @remote', [ + '@remote' => $fontawesome_library['remote'], + ], 'error')); + return; + } + + // Unzip the file. + $zip = new \ZipArchive(); + $res = $zip->open($path . '/fontawesome.zip'); + if ($res === TRUE) { + $zip->extractTo($path); + $zip->close(); + } + else { + // Remove the directory. + $fs->remove($path); + $this->logger()->error(dt('Error: unable to unzip Fontawesome file.', [], 'error')); + return; + } + + // Remove the downloaded zip file. + $fs->remove($path . '/fontawesome.zip'); + + // Move the file. + $fs->mirror($path . '/fontawesome-free-' . $fontawesome_library['version'] . '-web', $path, NULL, ['override' => TRUE]); + $fs->remove($path . '/fontawesome-free-' . $fontawesome_library['version'] . '-web'); + + // Success. + $this->logger()->notice(dt('Fontawesome library has been successfully downloaded to @path.', [ + '@path' => $path, + ], 'success')); + } + else { + $this->logger()->error(dt('Drush was unable to load the Font Awesome library')); + } + } + +} diff --git a/web/modules/fontawesome/src/Controller/AutocompleteController.php b/web/modules/fontawesome/src/Controller/AutocompleteController.php new file mode 100644 index 0000000..664d96e --- /dev/null +++ b/web/modules/fontawesome/src/Controller/AutocompleteController.php @@ -0,0 +1,80 @@ +query->get('q')) { + $typed_string = Tags::explode($input); + $typed_string = mb_strtolower(array_pop($typed_string)); + + // Load the icon data so we can check for a valid icon. + $iconData = fontawesome_extract_icons(); + + // Check each icon to see if it starts with the typed string. + foreach ($iconData as $icon => $data) { + // If the string is found. + if (strpos($icon, $typed_string) === 0) { + $iconRenders = []; + // Loop over each style. + foreach ($iconData[$icon]['styles'] as $style) { + + // Determine the prefix. + switch ($style) { + + case 'brands': + $iconPrefix = 'fab'; + break; + + case 'light': + $iconPrefix = 'fal'; + break; + + case 'regular': + $iconPrefix = 'far'; + break; + + case 'duotone': + $iconPrefix = 'fad'; + break; + + default: + case 'solid': + $iconPrefix = 'fas'; + break; + } + // Render the icon. + $iconRenders[] = new FormattableMarkup(' ', [ + ':prefix' => $iconPrefix, + ':icon' => $icon, + ]); + } + + $results[] = [ + 'value' => $icon, + 'label' => implode('', $iconRenders) . $icon, + ]; + } + } + } + + return new JsonResponse($results); + } + +} diff --git a/web/modules/fontawesome/src/Form/EditorIconDialog.php b/web/modules/fontawesome/src/Form/EditorIconDialog.php new file mode 100644 index 0000000..8f8fff6 --- /dev/null +++ b/web/modules/fontawesome/src/Form/EditorIconDialog.php @@ -0,0 +1,463 @@ +configFactory = $config_factory; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container) { + return new static( + $container->get('config.factory') + ); + } + + /** + * {@inheritdoc} + */ + public function getFormId() { + return 'fontawesome_icon_dialog'; + } + + /** + * {@inheritdoc} + * + * @param \Drupal\editor\Entity\Editor $editor + * The text editor to which this dialog corresponds. + */ + public function buildForm(array $form, FormStateInterface $form_state, Editor $editor = NULL) { + // Load the configuration settings. + $configuration_settings = $this->configFactory->get('fontawesome.settings'); + + $form['#tree'] = TRUE; + $form['#attached']['library'][] = 'editor/drupal.editor.dialog'; + + $form['#prefix'] = '
'; + $form['#suffix'] = '
'; + + $form['information'] = [ + '#type' => 'container', + '#attributes' => [], + '#children' => $this->t('For more information on icon selection, see @iconLink. If an icon below is displayed with a question mark, it is likely a Font Awesome Pro icon, unavailable with the free version of Font Awesome.', [ + '@iconLink' => Link::fromTextAndUrl($this->t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/icons'))->toString(), + ]), + ]; + + $form['icon_name'] = [ + '#type' => 'textfield', + '#title' => $this->t('Icon Name'), + '#size' => 50, + '#field_prefix' => 'fa-', + '#default_value' => '', + '#description' => $this->t('Name of the Font Awesome Icon. See @iconsLink for valid icon names, or begin typing for an autocomplete list.', [ + '@iconsLink' => Link::fromTextAndUrl($this->t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/icons'))->toString(), + ]), + '#autocomplete_route_name' => 'fontawesome.autocomplete', + '#element_validate' => [ + [static::class, 'validateIconName'], + ], + ]; + + // Build additional settings. + $form['settings'] = [ + '#type' => 'details', + '#open' => FALSE, + '#title' => $this->t('Additional Font Awesome Settings'), + ]; + // Allow user to determine size. + $form['settings']['style'] = [ + '#type' => 'select', + '#title' => $this->t('Style'), + '#description' => $this->t('This changes the style of the icon. Please note that this is not available for all icons, and for some of the icons this is only available in the pro version. If the icon does not render properly in the preview above, the icon does not support that style. Notably, brands do not support any styles. See @iconLink for more information.', [ + '@iconLink' => Link::fromTextAndUrl($this->t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/icons'))->toString(), + ]), + '#options' => [ + 'fas' => $this->t('Solid'), + 'far' => $this->t('Regular'), + 'fal' => $this->t('Light'), + 'fad' => $this->t('Duotone'), + ], + '#default_value' => 'fas', + ]; + // Allow user to determine size. + $form['settings']['size'] = [ + '#type' => 'select', + '#title' => $this->t('Size'), + '#description' => $this->t('This increases icon sizes relative to their container'), + '#options' => [ + '' => $this->t('Default'), + 'fa-xs' => $this->t('Extra Small'), + 'fa-sm' => $this->t('Small'), + 'fa-lg' => $this->t('Large'), + 'fa-2x' => $this->t('2x'), + 'fa-3x' => $this->t('3x'), + 'fa-4x' => $this->t('4x'), + 'fa-5x' => $this->t('5x'), + 'fa-6x' => $this->t('6x'), + 'fa-7x' => $this->t('7x'), + 'fa-8x' => $this->t('8x'), + 'fa-9x' => $this->t('9x'), + 'fa-10x' => $this->t('10x'), + ], + '#default_value' => '', + ]; + // Set icon to fixed width. + $form['settings']['fixed-width'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Fixed Width?'), + '#description' => $this->t('Use to set icons at a fixed width. Great to use when different icon widths throw off vertical alignment. Especially useful in things like nav lists and list groups.'), + '#default_value' => FALSE, + '#return_value' => 'fa-fw', + ]; + // Add border. + $form['settings']['border'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Border?'), + '#description' => $this->t('Adds a border to the icon.'), + '#default_value' => FALSE, + '#return_value' => 'fa-border', + ]; + // Invert color. + $form['settings']['invert'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Invert color?'), + '#description' => $this->t('Inverts the color of the icon (black becomes white, etc.)'), + '#default_value' => FALSE, + '#return_value' => 'fa-inverse', + ]; + // Animated the icon. + $form['settings']['animation'] = [ + '#type' => 'select', + '#title' => $this->t('Animation'), + '#description' => $this->t('Use spin to get any icon to rotate, and pulse to have it rotate with 8 steps. Works especially well with fa-spinner & everything in the @iconLink.', [ + '@iconLink' => Link::fromTextAndUrl($this->t('spinner icons category'), Url::fromUri('https://fontawesome.com/icons?d=gallery&c=spinners'))->toString(), + ]), + '#options' => [ + '' => $this->t('None'), + 'fa-spin' => $this->t('Spin'), + 'fa-pulse' => $this->t('Pulse'), + ], + '#default_value' => '', + ]; + + // Pull the icons. + $form['settings']['pull'] = [ + '#type' => 'select', + '#title' => $this->t('Pull'), + '#description' => $this->t('This setting will pull the icon (float) to one side or the other in relation to its nearby content'), + '#options' => [ + '' => $this->t('None'), + 'fa-pull-left' => $this->t('Left'), + 'fa-pull-right' => $this->t('Right'), + ], + '#default_value' => '', + ]; + + // Build new power-transforms. + $form['settings']['power_transforms'] = [ + '#type' => 'details', + '#open' => FALSE, + '#disabled' => $configuration_settings->get('method') == 'webfonts', + '#title' => $this->t('Power Transforms'), + '#description' => $this->t('See @iconLink for additional information on Power Transforms. Note that these transforms only work with the SVG with JS version of Font Awesome and are disabled for Webfonts. See the @adminLink to set your version of Font Awesome.', [ + '@iconLink' => Link::fromTextAndUrl($this->t('the Font Awesome `Power Transforms` guide'), Url::fromUri('https://fontawesome.com/how-to-use/on-the-web/styling/power-transforms'))->toString(), + '@adminLink' => Link::createFromRoute($this->t('admin page'), 'fontawesome.admin_settings')->toString(), + ]), + ]; + // Rotate the icon. + $form['settings']['power_transforms']['rotate']['value'] = [ + '#type' => 'number', + '#title' => $this->t('Rotate'), + '#field_suffix' => '°', + '#default_value' => '', + '#description' => $this->t('Power Transform rotating effects icon angle without changing or moving the container. To rotate icons use any arbitrary value. Units are degrees with negative numbers allowed.'), + ]; + // Flip the icon. + $form['settings']['power_transforms']['flip-h']['value'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Flip Horizontal?'), + '#default_value' => FALSE, + '#description' => $this->t('Power Transform flipping effects icon reflection without changing or moving the container.'), + '#return_value' => 'h', + ]; + $form['settings']['power_transforms']['flip-v']['value'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Flip Vertical?'), + '#default_value' => FALSE, + '#description' => $this->t('Power Transform flipping effects icon reflection without changing or moving the container.'), + '#return_value' => 'v', + ]; + // Scale the icon. + $form['settings']['power_transforms']['scale'] = [ + '#type' => 'details', + '#open' => TRUE, + '#title' => $this->t('Scale'), + '#description' => $this->t('Power Transform scaling effects icon size without changing or moving the container. This field will scale icons up or down with any arbitrary value, including decimals. Units are 1/16em.'), + ]; + $form['settings']['power_transforms']['scale']['type'] = [ + '#type' => 'select', + '#title' => $this->t('Scale Type'), + '#options' => [ + '' => $this->t('None'), + 'shrink' => $this->t('Shrink'), + 'grow' => $this->t('Grow'), + ], + '#default_value' => '', + '#element_validate' => [ + [static::class, 'validatePowerTransforms'], + ], + ]; + $form['settings']['power_transforms']['scale']['value'] = [ + '#type' => 'number', + '#title' => $this->t('Scale Value'), + '#min' => 0, + '#default_value' => '', + '#states' => [ + 'disabled' => [ + ':input[name="settings[power_transforms][scale][type]"]' => ['value' => ''], + ], + ], + ]; + // Position the icon. + $form['settings']['power_transforms']['position_y'] = [ + '#type' => 'details', + '#open' => TRUE, + '#title' => $this->t('Position (Y Axis)'), + '#description' => $this->t('Power Transform positioning effects icon location without changing or moving the container. This field will move icons up or down with any arbitrary value, including decimals. Units are 1/16em.'), + ]; + $form['settings']['power_transforms']['position_y']['type'] = [ + '#type' => 'select', + '#title' => $this->t('Position Type'), + '#options' => [ + '' => $this->t('None'), + 'up' => $this->t('Up'), + 'down' => $this->t('Down'), + ], + '#default_value' => '', + '#element_validate' => [ + [static::class, 'validatePowerTransforms'], + ], + ]; + $form['settings']['power_transforms']['position_y']['value'] = [ + '#type' => 'number', + '#title' => $this->t('Position Value'), + '#min' => 0, + '#default_value' => '', + '#states' => [ + 'disabled' => [ + ':input[name="settings[power_transforms][position_y][type]"]' => ['value' => ''], + ], + ], + ]; + $form['settings']['power_transforms']['position_x'] = [ + '#type' => 'details', + '#open' => TRUE, + '#title' => $this->t('Position (X Axis)'), + '#description' => $this->t('Power Transform positioning effects icon location without changing or moving the container. This field will move icons up or down with any arbitrary value, including decimals. Units are 1/16em.'), + ]; + $form['settings']['power_transforms']['position_x']['type'] = [ + '#type' => 'select', + '#title' => $this->t('Position Type'), + '#options' => [ + '' => $this->t('None'), + 'left' => $this->t('Left'), + 'right' => $this->t('Right'), + ], + '#default_value' => '', + '#element_validate' => [ + [static::class, 'validatePowerTransforms'], + ], + ]; + $form['settings']['power_transforms']['position_x']['value'] = [ + '#type' => 'number', + '#title' => $this->t('Position Value'), + '#min' => 0, + '#default_value' => '', + '#states' => [ + 'disabled' => [ + ':input[name="settings[power_transforms][position_x][type]"]' => ['value' => ''], + ], + ], + ]; + + $form['actions'] = [ + '#type' => 'actions', + ]; + $form['actions']['save_modal'] = [ + '#type' => 'submit', + '#value' => $this->t('Insert Icon'), + // No regular submit-handler. This form only works via JavaScript. + '#submit' => [], + '#ajax' => [ + 'callback' => '::submitForm', + 'event' => 'click', + ], + ]; + + return $form; + } + + /** + * Validate the Font Awesome power transforms. + */ + public static function validatePowerTransforms($element, FormStateInterface $form_state) { + $value = $element['#value']; + if (strlen($value) == 0) { + $form_state->setValueForElement($element, ''); + return; + } + + // Check the value of the power transform. + $transformSettings = $form_state->getValues(); + foreach (array_slice($element['#parents'], 0, 3) as $key) { + $transformSettings = $transformSettings[$key]; + } + + if (!is_numeric($transformSettings['value'])) { + $form_state->setError($element, t("Invalid value for Font Awesome Power Transform %value. Please see @iconLink for information on correct values.", [ + '%value' => $value, + '@iconLink' => Link::fromTextAndUrl(t('the Font Awesome guide to Power Transforms'), Url::fromUri('https://fontawesome.com/how-to-use/on-the-web/styling/power-transforms'))->toString(), + ])); + } + } + + /** + * Validate the Font Awesome icon name. + */ + public static function validateIconName($element, FormStateInterface $form_state) { + $value = $element['#value']; + if (strlen($value) == 0) { + $form_state->setValueForElement($element, ''); + return; + } + + // Remove the prefix if the user accidentally added it. + if (substr($value, 0, 3) == 'fa-') { + $value = substr($value, 3); + } + + // Load the icon data so we can check for a valid icon. + $iconData = fontawesome_extract_icon_metadata($value); + + if (!isset($iconData['name'])) { + $form_state->setError($element, t("Invalid icon name %value. Please see @iconLink for correct icon names.", [ + '%value' => $value, + '@iconLink' => Link::fromTextAndUrl(t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/icons'))->toString(), + ])); + } + } + + /** + * {@inheritdoc} + */ + public function submitForm(array &$form, FormStateInterface $form_state) { + $response = new AjaxResponse(); + + if ($form_state->getErrors()) { + unset($form['#prefix'], $form['#suffix']); + $form['status_messages'] = [ + '#type' => 'status_messages', + '#weight' => -10, + ]; + $response->addCommand(new HtmlCommand('#fontawesome-icon-dialog-form', $form)); + } + else { + $item = $form_state->getValues(); + + // Remove the prefix if the user accidentally added it. + if (substr($item['icon_name'], 0, 3) == 'fa-') { + $item['icon_name'] = substr($item['icon_name'], 3); + } + + // Massage rotate and flip values to make them format properly. + if (is_numeric($item['settings']['power_transforms']['rotate']['value'])) { + $item['settings']['power_transforms']['rotate']['type'] = 'rotate'; + } + else { + unset($item['settings']['power_transforms']['rotate']); + } + if (!empty($item['settings']['power_transforms']['flip-h']['value'])) { + $item['settings']['power_transforms']['flip-h']['type'] = 'flip'; + } + else { + unset($item['settings']['power_transforms']['flip-h']); + } + if (!empty($item['settings']['power_transforms']['flip-v']['value'])) { + $item['settings']['power_transforms']['flip-v']['type'] = 'flip'; + } + else { + unset($item['settings']['power_transforms']['flip-v']); + } + // Determine the icon style - brands don't allow style. + $metadata = fontawesome_extract_icon_metadata($item['icon_name']); + $item['style'] = fontawesome_determine_prefix($metadata['styles'], $item['settings']['style']); + unset($item['settings']['style']); + + // Remove blank data. + $item['settings'] = array_filter($item['settings']); + + // Get power transforms. + $item['power_transforms'] = []; + foreach ($item['settings']['power_transforms'] as $transform) { + if (!empty($transform['type'])) { + $item['power_transforms'][] = $transform['type'] . '-' . $transform['value']; + } + } + unset($item['settings']['power_transforms']); + + // Set the icon attributes. + $icon_attributes = [ + 'attributes' => [ + 'class' => [ + trim($item['style'] . ' fa-' . $item['icon_name'] . ' ' . implode(' ', $item['settings'])), + ], + ], + ]; + // If there are power transforms, add them. + if (count($item['power_transforms']) > 0) { + $icon_attributes['attributes']['data-fa-transform'] = [implode(' ', $item['power_transforms'])]; + } + + // Load the configuration settings. + $configuration_settings = $this->configFactory->get('fontawesome.settings'); + + // Set the user-selected tag type being used. + $icon_attributes['tag'] = empty($configuration_settings->get('tag')) ? 'i' : $configuration_settings->get('tag'); + + $response->addCommand(new EditorDialogSave($icon_attributes)); + $response->addCommand(new CloseModalDialogCommand()); + } + + return $response; + } + +} diff --git a/web/modules/fontawesome/src/Form/SettingsForm.php b/web/modules/fontawesome/src/Form/SettingsForm.php new file mode 100644 index 0000000..afbeda2 --- /dev/null +++ b/web/modules/fontawesome/src/Form/SettingsForm.php @@ -0,0 +1,258 @@ +libraryDiscovery = $library_discovery; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container) { + return new static( + $container->get('library.discovery') + ); + } + + /** + * {@inheritdoc} + */ + public function getFormId() { + return 'fontawesome_admin_settings_form'; + } + + /** + * {@inheritdoc} + */ + protected function getEditableConfigNames() { + return [ + 'fontawesome.settings', + ]; + } + + /** + * {@inheritdoc} + */ + public function buildForm(array $form, FormStateInterface $form_state) { + // Get current settings. + $fontawesome_config = $this->config('fontawesome.settings'); + + // Load the fontawesome libraries so we can use its definitions here. + $fontawesome_library = $this->libraryDiscovery->getLibraryByName('fontawesome', 'fontawesome.svg'); + + $form['tag'] = [ + '#type' => 'select', + '#title' => $this->t('Font Awesome Tag'), + '#options' => [ + 'i' => $this->t('<i>'), + 'span' => $this->t('<span>'), + ], + '#default_value' => empty($fontawesome_config->get('tag')) ? 'i' : $fontawesome_config->get('tag'), + '#description' => $this->t('Font Awesome works with any consistent HTML element. By default, Font Awesome uses the <i> tag for its icons. However, in some cases you may want to use a different tag for your Font Awesome icons, such as a <span> tag. Changing the value here will change the way the tags are inserted into your site. Manually created Font Awesome tags can use any HTML element you like. Note that changing this setting will require clearing the site cache.'), + ]; + + $form['method'] = [ + '#type' => 'select', + '#title' => $this->t('Font Awesome Method'), + '#options' => [ + 'svg' => $this->t('SVG with JS'), + 'webfonts' => $this->t('Web Fonts with CSS'), + ], + '#default_value' => $fontawesome_config->get('method'), + '#description' => $this->t('This setting controls the way Font Awesome works. SVG with JS is the modern, easy, and powerful version with the most backwards compatibility. Web Fonts with CSS is the classic Font Awesome icon method that you have seen in earlier versions of Font Awesome. We recommend SVG with JS. Please note that the Webfonts with CSS version does not allow backwards compatibility with Font Awesome 4. That means you will need to check your code base to be certain that the icons are all updated to work with version 5. See @gettingStartedLink for more information.', [ + '@gettingStartedLink' => Link::fromTextAndUrl($this->t('the Font Awesome guide'), Url::fromUri('https://fontawesome.com/start'))->toString(), + ]), + ]; + + $form['allow_pseudo_elements'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Allow CSS pseudo-elements?'), + '#description' => $this->t('If you do not want to add icons directly in code, you can add them through CSS pseudo-elements. Font Awesome has leveraged the ::before pseudo-element to add icons to a page since the very beginning. For more information on how to use pseudo-elements, see the @pseudoElementsLink. Note that this feature is always available with the Webfonts version of Font Awesome. If you turn this feature on for SVG with JS, it will slow your site down noticeably.', [ + '@pseudoElementsLink' => Link::fromTextAndUrl($this->t('Font Awesome guide to pseudo-elements'), Url::fromUri('https://fontawesome.com/how-to-use/on-the-web/advanced/css-pseudo-elements'))->toString(), + ]), + '#default_value' => $fontawesome_config->get('allow_pseudo_elements'), + ]; + + $form['external'] = [ + '#type' => 'details', + '#open' => TRUE, + '#title' => $this->t('External file configuration'), + '#description' => $this->t('These settings control the method by which the Font Awesome library is loaded. You can choose to use an external (full URL) or local (relative path) library by selecting a URL / path below, or you can use a local version of the file by leaving the box unchecked and downloading the library :remoteurl and installing locally at %installpath. See the README for more information.', [ + ':remoteurl' => $fontawesome_library['remote'], + '%installpath' => '/libraries', + ]), + 'use_cdn' => [ + '#type' => 'checkbox', + '#title' => $this->t('Use external file (CDN) / local file?'), + '#description' => $this->t('Checking this box will cause the Font Awesome library to be loaded from the given source rather than from the local library file.'), + '#default_value' => $fontawesome_config->get('use_cdn'), + ], + 'external_svg_location' => [ + '#type' => 'textfield', + '#title' => $this->t('External File Location'), + '#default_value' => $fontawesome_config->get('external_svg_location'), + '#size' => 80, + '#description' => $this->t('Enter a source URL for the external Font Awesome library file you wish to use. Note that this is designed for use with the SVG with JS method. Use for the Webfonts method at your own risk. This URL should point to the Font Awesome JS svg file when using SVG with JS or it should point to the Font Awesome CSS file when using Web Fonts with CSS. Leave blank to use the default Font Awesome CDN.'), + '#states' => [ + 'disabled' => [ + ':input[name="use_cdn"]' => ['checked' => FALSE], + ], + 'visible' => [ + ':input[name="use_cdn"]' => ['checked' => TRUE], + ], + ], + ], + ]; + + $form['partial'] = [ + '#type' => 'details', + '#open' => FALSE, + '#title' => $this->t('Partial file configuration'), + '#description' => $this->t('By default, Font Awesome loads all of the icons. However, you can choose to load only some of the icon files if you only want a subset of the available icons. This method can result in reduced file size. These files will be assumed to exist in the same directory as the parent all.js/all.css file.'), + 'use_solid_file' => [ + '#type' => 'checkbox', + '#title' => $this->t('Load solid icons'), + '#description' => $this->t('Checking this box will cause the Font Awesome library to load the file containing the solid icon declarations (solid.js/solid.css)'), + '#default_value' => is_null($fontawesome_config->get('use_solid_file')) === TRUE ? TRUE : $fontawesome_config->get('use_solid_file'), + ], + 'use_regular_file' => [ + '#type' => 'checkbox', + '#title' => $this->t('Load regular icons'), + '#description' => $this->t('Checking this box will cause the Font Awesome library to load the file containing the regular icon declarations (regular.js/regular.css)'), + '#default_value' => is_null($fontawesome_config->get('use_regular_file')) === TRUE ? TRUE : $fontawesome_config->get('use_regular_file'), + ], + 'use_light_file' => [ + '#type' => 'checkbox', + '#title' => $this->t('Load light icons'), + '#description' => $this->t('Checking this box will cause the Font Awesome library to load the file containing the light icon declarations (light.js/light.css). Note that this a Pro-only feature.'), + '#default_value' => is_null($fontawesome_config->get('use_light_file')) === TRUE ? TRUE : $fontawesome_config->get('use_light_file'), + ], + 'use_brands_file' => [ + '#type' => 'checkbox', + '#title' => $this->t('Load brand icons'), + '#description' => $this->t('Checking this box will cause the Font Awesome library to load the file containing the brands icon declarations (brands.js/brands.css)'), + '#default_value' => is_null($fontawesome_config->get('use_brands_file')) === TRUE ? TRUE : $fontawesome_config->get('use_brands_file'), + ], + ]; + + $form['shim'] = [ + '#type' => 'details', + '#open' => TRUE, + '#title' => $this->t('Version 4 Backwards Compatibility'), + '#description' => $this->t('Version 5 of Font Awesome has some changes which require modifications to the way you declare many of your icons. The settings below are designed to ease that transition. See @upgradingLink for more information.', [ + '@upgradingLink' => Link::fromTextAndUrl($this->t('the Font Awesome guide to upgrading version 4 to version 5'), Url::fromUri('https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4'))->toString(), + ]), + 'use_shim' => [ + '#type' => 'checkbox', + '#title' => $this->t('Use version 4 shim file?'), + '#description' => $this->t('Rather than editing all of your Font Awesome declarations to use the new Font Awesome syntax, you can choose to include a shim file above. This file will allow you to use Font Awesome version 5 with Font Awesome version 4 syntax. This prevents you from needing to modify your existing code and syntax.'), + '#default_value' => $fontawesome_config->get('use_shim'), + ], + 'external_shim_location' => [ + '#type' => 'textfield', + '#title' => $this->t('External / local Library Location'), + '#default_value' => $fontawesome_config->get('external_shim_location'), + '#size' => 80, + '#description' => $this->t('Enter a source URL for the external / local (relative path) Font Awesome v4 shim file you wish to use. This URL should point to the Font Awesome JS shim file. Leave blank to use the default Font Awesome CDN.'), + '#states' => [ + 'disabled' => [ + ':input[name="use_cdn"]' => ['checked' => FALSE], + ':input[name="use_shim"]' => ['checked' => FALSE], + ], + 'visible' => [ + ':input[name="use_cdn"]' => ['checked' => TRUE], + ':input[name="use_shim"]' => ['checked' => TRUE], + ], + ], + ], + ]; + + return parent::buildForm($form, $form_state); + } + + /** + * {@inheritdoc} + */ + public function validateForm(array &$form, FormStateInterface $form_state) { + $values = $form_state->getValues(); + + // Validate URL. + if (!empty($values['fontawesome_external_location']) && !UrlHelper::isValid($values['fontawesome_external_location'])) { + $form_state->setErrorByName('fontawesome_external_location', $this->t('Invalid external library location.')); + } + } + + /** + * {@inheritdoc} + */ + public function submitForm(array &$form, FormStateInterface $form_state) { + $values = $form_state->getValues(); + + // Load the fontawesome libraries so we can use its definitions here. + $fontawesome_library = $this->libraryDiscovery->getLibraryByName('fontawesome', 'fontawesome.svg'); + + // Clear the library cache so we use the updated information. + $this->libraryDiscovery->clearCachedDefinitions(); + + // Set external file defaults. + $default_location = 'https://use.fontawesome.com/releases/v' . $fontawesome_library['version'] . '/'; + $default_svg_location = $default_location . 'js/all.js'; + $default_webfonts_location = $default_location . 'css/all.css'; + $default_svg_shimfile_location = $default_location . 'js/v4-shims.js'; + $default_webfonts_shimfile_location = $default_location . 'css/v4-shims.css'; + + // Use default values if CDN is checked and the locations are blank. + if ($values['use_cdn']) { + if (empty($values['external_svg_location']) || $values['external_svg_location'] == $default_webfonts_location || $values['external_svg_location'] == $default_svg_location) { + // Choose the default depending on method. + $values['external_svg_location'] = ($values['method'] == 'webfonts') ? $default_webfonts_location : $default_svg_location; + } + if ($values['use_shim'] && (empty($values['external_shim_location']) || $values['external_shim_location'] == $default_webfonts_shimfile_location || $values['external_shim_location'] == $default_svg_shimfile_location)) { + // Choose the default depending on method. + $values['external_shim_location'] = ($values['method'] == 'webfonts') ? $default_webfonts_shimfile_location : $default_svg_shimfile_location; + } + } + + // Save the updated settings. + $this->config('fontawesome.settings') + ->set('tag', $values['tag']) + ->set('method', $values['method']) + ->set('use_cdn', $values['use_cdn']) + ->set('external_svg_location', (string) $values['external_svg_location']) + ->set('use_shim', $values['use_shim']) + ->set('external_shim_location', (string) $values['external_shim_location']) + ->set('allow_pseudo_elements', $values['allow_pseudo_elements']) + ->set('use_solid_file', $values['use_solid_file']) + ->set('use_regular_file', $values['use_regular_file']) + ->set('use_light_file', $values['use_light_file']) + ->set('use_brands_file', $values['use_brands_file']) + ->save(); + + parent::submitForm($form, $form_state); + } + +} diff --git a/web/modules/fontawesome/src/Plugin/CKEditorPlugin/DrupalFontAwesome.php b/web/modules/fontawesome/src/Plugin/CKEditorPlugin/DrupalFontAwesome.php new file mode 100644 index 0000000..9969a5a --- /dev/null +++ b/web/modules/fontawesome/src/Plugin/CKEditorPlugin/DrupalFontAwesome.php @@ -0,0 +1,64 @@ + $this->t('Insert Font Awesome Icon'), + ]; + } + + /** + * {@inheritdoc} + */ + public function getButtons() { + return [ + 'DrupalFontAwesome' => [ + 'label' => $this->t('Font Awesome'), + 'image' => drupal_get_path('module', 'fontawesome') . '/js/plugins/drupalfontawesome/icons/drupalfontawesome.png', + ], + ]; + } + + /** + * {@inheritdoc} + */ + public function isEnabled(Editor $editor) { + // Assume that someone installing this module probably wants the help. + return TRUE; + } + +} diff --git a/web/modules/fontawesome/src/Plugin/Field/FieldFormatter/FontAwesomeIconFormatter.php b/web/modules/fontawesome/src/Plugin/Field/FieldFormatter/FontAwesomeIconFormatter.php new file mode 100644 index 0000000..f702d57 --- /dev/null +++ b/web/modules/fontawesome/src/Plugin/Field/FieldFormatter/FontAwesomeIconFormatter.php @@ -0,0 +1,216 @@ +configFactory = $config_factory; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { + return new static( + $plugin_id, + $plugin_definition, + $configuration['field_definition'], + $configuration['settings'], + $configuration['label'], + $configuration['view_mode'], + $configuration['third_party_settings'], + $container->get('config.factory') + ); + } + + /** + * {@inheritdoc} + */ + public function settingsForm(array $form, FormStateInterface $form_state) { + // Load the configuration settings. + $configuration_settings = $this->configFactory->get('fontawesome.settings'); + + // Setting for optional download link. + $elements['layers'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Display multi-value fields as layers?'), + '#default_value' => $this->getSetting('layers'), + '#description' => $this->t('Layers are the new way to place icons and text visually on top of each other, replacing the Font Awesome classic icons stacks. With this new approach you can use more than 2 icons. Layers are awesome when you don’t want your page’s background to show through, or when you do want to use multiple colors, layer several icons, layer text, or layer counters onto an icon. Note that layers only work with the SVG version of Font Awesome. For more information, see @layersLink.', [ + '@layersLink' => Link::fromTextAndUrl($this->t('the Font Awesome guide to layers'), Url::fromUri('https://fontawesome.com/how-to-use/on-the-web/styling/layering'))->toString(), + ]), + // Disable power transforms for webfonts. + '#disabled' => $configuration_settings->get('method') == 'webfonts', + ]; + + return $elements; + } + + /** + * {@inheritdoc} + */ + public function settingsSummary() { + $settings = $this->getSettings(); + + $summary = []; + + // Load the configuration settings. + $configuration_settings = $this->configFactory->get('fontawesome.settings'); + + // Show whether or not we are layering the icons. + $summary[] = $this->t('Display multi-value fields as layers: @layersSetting', [ + '@layersSetting' => (($settings['layers'] && $configuration_settings->get('method') != 'webfonts') ? 'Yes' : 'No'), + ]); + + return $summary; + } + + /** + * {@inheritdoc} + */ + public static function defaultSettings() { + return [ + 'layers' => FALSE, + ] + parent::defaultSettings(); + } + + /** + * {@inheritdoc} + */ + public function viewElements(FieldItemListInterface $items, $langcode) { + // Early opt-out if the field is empty. + if (count($items) <= 0) { + return []; + } + + // Load the configuration settings. + $configurationSettings = $this->configFactory->get('fontawesome.settings'); + + // Attach the libraries as needed. + $fontawesomeLibraries = []; + if ($configurationSettings->get('method') == 'webfonts') { + // Webfonts method. + $fontawesomeLibraries[] = 'fontawesome/fontawesome.webfonts'; + + // Attach the shim file if needed. + if ($configurationSettings->get('use_shim')) { + $fontawesomeLibraries[] = 'fontawesome/fontawesome.webfonts.shim'; + } + } + else { + // SVG method. + $fontawesomeLibraries[] = 'fontawesome/fontawesome.svg'; + + // Attach the shim file if needed. + if ($configurationSettings->get('use_shim')) { + $fontawesomeLibraries[] = 'fontawesome/fontawesome.svg.shim'; + } + } + + // Loop over each icon and build data. + $icons = []; + foreach ($items as $item) { + // Get the icon settings. + $iconSettings = unserialize($item->get('settings')->getValue()); + $cssStyles = []; + + // Format mask. + $iconMask = ''; + if (!empty($iconSettings['masking']['mask'])) { + $iconMask = $iconSettings['masking']['style'] . ' fa-' . $iconSettings['masking']['mask']; + } + unset($iconSettings['masking']); + + // Format power transforms. + $iconTransforms = []; + $powerTransforms = $iconSettings['power_transforms']; + foreach ($powerTransforms as $transform) { + if (!empty($transform['type'])) { + $iconTransforms[] = $transform['type'] . '-' . $transform['value']; + } + } + unset($iconSettings['power_transforms']); + + // Move duotone settings into the render. + if (isset($iconSettings['duotone'])) { + // Handle swap opacity flag. + if (!empty($iconSettings['duotone']['swap-opacity'])) { + $iconSettings['swap-opacity'] = $iconSettings['duotone']['swap-opacity']; + } + // Handle custom CSS styles. + if (!empty($iconSettings['duotone']['opacity']['primary'])) { + $cssStyles[] = '--fa-primary-opacity: ' . $iconSettings['duotone']['opacity']['primary'] . ';'; + } + if (!empty($iconSettings['duotone']['opacity']['secondary'])) { + $cssStyles[] = '--fa-secondary-opacity: ' . $iconSettings['duotone']['opacity']['secondary'] . ';'; + } + if (!empty($iconSettings['duotone']['color']['primary'])) { + $cssStyles[] = '--fa-primary-color: ' . $iconSettings['duotone']['color']['primary'] . ';'; + } + if (!empty($iconSettings['duotone']['color']['secondary'])) { + $cssStyles[] = '--fa-secondary-color: ' . $iconSettings['duotone']['color']['secondary'] . ';'; + } + + unset($iconSettings['duotone']); + } + + $icons[] = [ + '#theme' => 'fontawesomeicon', + '#tag' => $configurationSettings->get('tag'), + '#name' => 'fa-' . $item->get('icon_name')->getValue(), + '#style' => $item->get('style')->getValue(), + '#settings' => implode(' ', array_filter($iconSettings)), + '#transforms' => implode(' ', $iconTransforms), + '#mask' => $iconMask, + '#css' => implode(' ', $cssStyles), + ]; + } + + // Get the icon settings. + $settings = $this->getSettings(); + + return [ + [ + '#theme' => 'fontawesomeicons', + '#icons' => $icons, + '#layers' => $settings['layers'], + ], + '#attached' => [ + 'library' => $fontawesomeLibraries, + ], + ]; + } + +} diff --git a/web/modules/fontawesome/src/Plugin/Field/FieldType/FontAwesomeIcon.php b/web/modules/fontawesome/src/Plugin/Field/FieldType/FontAwesomeIcon.php new file mode 100644 index 0000000..0b037a5 --- /dev/null +++ b/web/modules/fontawesome/src/Plugin/Field/FieldType/FontAwesomeIcon.php @@ -0,0 +1,80 @@ + [ + 'icon_name' => [ + 'type' => 'text', + 'size' => 'normal', + 'not null' => TRUE, + ], + 'style' => [ + 'type' => 'text', + 'size' => 'tiny', + 'not null' => TRUE, + ], + 'settings' => [ + 'type' => 'text', + 'size' => 'normal', + 'not null' => FALSE, + ], + ], + ]; + } + + /** + * {@inheritdoc} + */ + public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) { + $properties = []; + $properties['icon_name'] = DataDefinition::create('string') + ->setLabel(t('Icon Name')) + ->setDescription(t('The name of the icon')); + $properties['style'] = DataDefinition::create('string') + ->setLabel(t('Icon Style')) + ->setDescription(t('The style of the icon')); + $properties['settings'] = DataDefinition::create('string') + ->setLabel(t('Icon Settings')) + ->setDescription(t('The additional class settings for the icon')); + + return $properties; + } + + /** + * {@inheritdoc} + */ + public function isEmpty() { + $icon_name = $this->get('icon_name')->getValue(); + return $icon_name === NULL || $icon_name === ''; + } + +} diff --git a/web/modules/fontawesome/src/Plugin/Field/FieldWidget/FontAwesomeIconWidget.php b/web/modules/fontawesome/src/Plugin/Field/FieldWidget/FontAwesomeIconWidget.php new file mode 100644 index 0000000..e73d5f6 --- /dev/null +++ b/web/modules/fontawesome/src/Plugin/Field/FieldWidget/FontAwesomeIconWidget.php @@ -0,0 +1,527 @@ +configFactory = $config_factory; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { + return new static( + $plugin_id, + $plugin_definition, + $configuration['field_definition'], + $configuration['settings'], + $configuration['third_party_settings'], + $container->get('config.factory') + ); + } + + /** + * {@inheritdoc} + */ + public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, FormStateInterface $form_state) { + $field_name = $this->fieldDefinition->getName(); + + // Load the configuration settings. + $configuration_settings = $this->configFactory->get('fontawesome.settings'); + + $cardinality = $this->fieldDefinition->getFieldStorageDefinition()->getCardinality(); + $element['icon_name'] = [ + '#type' => 'textfield', + '#title' => $cardinality == 1 ? $this->fieldDefinition->getLabel() : $this->t('Icon Name'), + '#required' => $element['#required'], + '#size' => 50, + '#field_prefix' => 'fa-', + '#default_value' => $items[$delta]->get('icon_name')->getValue(), + '#description' => $this->t('Name of the Font Awesome Icon. See @iconsLink for valid icon names, or begin typing for an autocomplete list. Note that all four versions of the icon will be shown - Light, Regular, Solid, and Duotone respectively. If the icon shows a question mark, that icon version is not supported in your version of Fontawesome.', [ + '@iconsLink' => Link::fromTextAndUrl($this->t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/icons'))->toString(), + ]), + '#autocomplete_route_name' => 'fontawesome.autocomplete', + '#element_validate' => [ + [static::class, 'validateIconName'], + ], + ]; + + // Get current settings. + $iconSettings = unserialize($items[$delta]->get('settings')->getValue()); + // Build additional settings. + $element['settings'] = [ + '#type' => 'details', + '#open' => FALSE, + '#title' => $this->t('Additional Font Awesome Settings'), + ]; + + // Allow user to determine style. + $element['settings']['style'] = [ + '#type' => 'select', + '#title' => $this->t('Style'), + '#description' => $this->t('This changes the style of the icon. Please note that this is not available for all icons, and for some of the icons this is only available in the pro version. If the icon does not render properly in the , the icon does not support that style. Notably, brands do not support any styles. See @iconLink for more information.', [ + '@iconLink' => Link::fromTextAndUrl($this->t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/icons'))->toString(), + ]), + '#options' => [ + 'fas' => $this->t('Solid'), + 'far' => $this->t('Regular'), + 'fal' => $this->t('Light'), + 'fad' => $this->t('Duotone'), + ], + '#default_value' => $items[$delta]->get('style')->getValue(), + ]; + // Remove style options if they aren't being loaded. + if (!$configuration_settings->get('use_solid_file')) { + unset($element['settings']['style']['#options']['fas']); + } + if (!$configuration_settings->get('use_regular_file')) { + unset($element['settings']['style']['#options']['far']); + } + if (!$configuration_settings->get('use_light_file')) { + unset($element['settings']['style']['#options']['fal']); + } + + // Allow user to determine size. + $element['settings']['size'] = [ + '#type' => 'select', + '#title' => $this->t('Size'), + '#description' => $this->t('This increases icon sizes relative to their container'), + '#options' => [ + '' => $this->t('Default'), + 'fa-xs' => $this->t('Extra Small'), + 'fa-sm' => $this->t('Small'), + 'fa-lg' => $this->t('Large'), + 'fa-2x' => $this->t('2x'), + 'fa-3x' => $this->t('3x'), + 'fa-4x' => $this->t('4x'), + 'fa-5x' => $this->t('5x'), + 'fa-6x' => $this->t('6x'), + 'fa-7x' => $this->t('7x'), + 'fa-8x' => $this->t('8x'), + 'fa-9x' => $this->t('9x'), + 'fa-10x' => $this->t('10x'), + ], + '#default_value' => isset($iconSettings['size']) ? $iconSettings['size'] : '', + ]; + // Set icon to fixed width. + $element['settings']['fixed-width'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Fixed Width?'), + '#description' => $this->t('Use to set icons at a fixed width. Great to use when different icon widths throw off vertical alignment. Especially useful in things like nav lists and list groups.'), + '#default_value' => isset($iconSettings['fixed-width']) ? $iconSettings['fixed-width'] : FALSE, + '#return_value' => 'fa-fw', + ]; + // Add border. + $element['settings']['border'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Border?'), + '#description' => $this->t('Adds a border to the icon.'), + '#default_value' => isset($iconSettings['border']) ? $iconSettings['border'] : FALSE, + '#return_value' => 'fa-border', + ]; + // Invert color. + $element['settings']['invert'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Invert color?'), + '#description' => $this->t('Inverts the color of the icon (black becomes white, etc.)'), + '#default_value' => isset($iconSettings['invert']) ? $iconSettings['invert'] : FALSE, + '#return_value' => 'fa-inverse', + ]; + // Animated the icon. + $element['settings']['animation'] = [ + '#type' => 'select', + '#title' => $this->t('Animation'), + '#description' => $this->t('Use spin to get any icon to rotate, and pulse to have it rotate with 8 steps. Works especially well with fa-spinner & everything in the @iconLink.', [ + '@iconLink' => Link::fromTextAndUrl($this->t('spinner icons category'), Url::fromUri('https://fontawesome.com/icons?c=spinner-icons'))->toString(), + ]), + '#options' => [ + '' => $this->t('None'), + 'fa-spin' => $this->t('Spin'), + 'fa-pulse' => $this->t('Pulse'), + ], + '#default_value' => isset($iconSettings['animation']) ? $iconSettings['animation'] : '', + ]; + + // Pull the icons. + $element['settings']['pull'] = [ + '#type' => 'select', + '#title' => $this->t('Pull'), + '#description' => $this->t('This setting will pull the icon (float) to one side or the other in relation to its nearby content'), + '#options' => [ + '' => $this->t('None'), + 'fa-pull-left' => $this->t('Left'), + 'fa-pull-right' => $this->t('Right'), + ], + '#default_value' => isset($iconSettings['pull']) ? $iconSettings['pull'] : '', + ]; + + // Allow user to edit duotone. + $element['settings']['duotone'] = [ + '#type' => 'details', + '#open' => FALSE, + // Disable power transforms for webfonts. + '#title' => $this->t('Duotone Settings'), + '#description' => $this->t('Duotone provides a version of every icon in Font Awesome that has two distinct shades of color. They’re great for adding more of your brand or an illustrative quality to the icons in your project. See @duotoneLink for more information. Note that duotone only works with the Pro version of Font Awesome.', [ + '@duotoneLink' => Link::fromTextAndUrl($this->t('the Font Awesome guide to duotone'), Url::fromUri('https://fontawesome.com/how-to-use/on-the-web/styling/duotone-icons'))->toString(), + ]), + ]; + $element['settings']['duotone']['swap-opacity'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Swap Opacity?'), + '#description' => $this->t('Use to swap the default opacity of each duotone icon’s layers. This will make an icon’s primary layer have the default opacity of 40% rather than its secondary layer.'), + '#default_value' => isset($iconSettings['duotone']['swap-opacity']) ? $iconSettings['duotone']['swap-opacity'] : '', + '#return_value' => 'fa-swap-opacity', + ]; + // Manual opacity. + $element['settings']['duotone']['opacity'] = [ + '#type' => 'details', + '#open' => TRUE, + // Disable power transforms for webfonts. + '#title' => $this->t('Layer Opacity'), + '#description' => $this->t('By default the secondary layer in a duotone icon is set to 40% opacity (via an opacity 0.4; rule in Font Awesome’s support CSS). You can explicitly set the opacity of a duotone icon’s layer by using CSS custom properties either in your style sheets or by setting them manually below. New to custom properties? Here are some @cssLink.', [ + '@cssLink' => Link::fromTextAndUrl($this->t('places to set them'), Url::fromUri('https://fontawesome.com/how-to-use/on-the-web/styling/duotone-icons#using-in-a-project'))->toString(), + ]), + ]; + $element['settings']['duotone']['opacity']['primary'] = [ + '#type' => 'number', + '#title' => $this->t('Primary Layer Opacity'), + '#step' => 0.01, + '#default_value' => isset($iconSettings['duotone']['opacity']['primary']) ? $iconSettings['duotone']['opacity']['primary'] : '', + '#description' => $this->t('Opacity of the primary duotone layer.'), + ]; + $element['settings']['duotone']['opacity']['secondary'] = [ + '#type' => 'number', + '#title' => $this->t('Secondary Layer Opacity'), + '#step' => 0.01, + '#default_value' => isset($iconSettings['duotone']['opacity']['secondary']) ? $iconSettings['duotone']['opacity']['secondary'] : '', + '#description' => $this->t('Opacity of the secondary duotone layer.'), + ]; + // Manual opacity. + $element['settings']['duotone']['color'] = [ + '#type' => 'details', + '#open' => TRUE, + // Disable power transforms for webfonts. + '#title' => $this->t('Layer Color'), + '#description' => $this->t('Like all other Font Awesome icons, duotone icons automatically inherit CSS size and color. A duotone icon consists of a primary and secondary layer. By default, The secondary layer is given an opacity of 40% so that it appears as a lighter shade of the icon’s inherited or directly set color. Using CSS custom properties, we’ve also added some color hooks to a duotone icon’s primary and secondary layers. New to custom properties? Here are some @cssLink.', [ + '@cssLink' => Link::fromTextAndUrl($this->t('places to set them'), Url::fromUri('https://fontawesome.com/how-to-use/on-the-web/styling/duotone-icons#using-in-a-project'))->toString(), + ]), + ]; + $element['settings']['duotone']['color']['primary'] = [ + '#type' => 'color', + '#title' => $this->t('Primary Layer Color'), + '#step' => 0.01, + '#default_value' => isset($iconSettings['duotone']['color']['primary']) ? $iconSettings['duotone']['color']['primary'] : '', + '#description' => $this->t('Opacity of the primary duotone layer.'), + ]; + $element['settings']['duotone']['color']['secondary'] = [ + '#type' => 'color', + '#title' => $this->t('Secondary Layer Color'), + '#step' => 0.01, + '#default_value' => isset($iconSettings['duotone']['color']['secondary']) ? $iconSettings['duotone']['color']['secondary'] : '', + '#description' => $this->t('Opacity of the secondary duotone layer.'), + ]; + + // Allow user to add masking. + $element['settings']['masking'] = [ + '#type' => 'details', + '#open' => FALSE, + // Disable power transforms for webfonts. + '#disabled' => $configuration_settings->get('method') == 'webfonts', + '#title' => $this->t('Icon Mask'), + '#description' => $this->t('Masking is used to combine two icons to create one single-color shape. Use it with Power Transforms for some really awesome effects. Masks are great when you do want your background color to show through. See @maskingLink for more information. Note that masking only works with the SVG version of Font Awesome.', [ + '@maskingLink' => Link::fromTextAndUrl($this->t('the Font Awesome guide to masking'), Url::fromUri('https://fontawesome.com/how-to-use/svg-with-js#masking'))->toString(), + ]), + ]; + $element['settings']['masking']['mask'] = [ + '#type' => 'textfield', + '#title' => $this->t('Icon Name'), + '#size' => 50, + '#field_prefix' => 'fa-', + '#default_value' => isset($iconSettings['masking']['mask']) ? $iconSettings['masking']['mask'] : '', + '#description' => $this->t('Name of the Font Awesome Icon. See @iconsLink for valid icon names, or begin typing for an autocomplete list.', [ + '@iconsLink' => Link::fromTextAndUrl($this->t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/icons'))->toString(), + ]), + '#autocomplete_route_name' => 'fontawesome.autocomplete', + '#element_validate' => [ + [static::class, 'validateIconName'], + ], + ]; + $element['settings']['masking']['style'] = [ + '#type' => 'select', + '#title' => $this->t('Style'), + '#description' => $this->t('This changes the style of the masking icon. Please note that this is not available for all icons, and for some of the icons this is only available in the pro version. If the icon does not render properly in the preview above, the icon does not support that style. Notably, brands do not support any styles. See @iconLink for more information.', [ + '@iconLink' => Link::fromTextAndUrl($this->t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/icons'))->toString(), + ]), + '#options' => [ + 'fas' => $this->t('Solid'), + 'far' => $this->t('Regular'), + 'fal' => $this->t('Light'), + 'fad' => $this->t('Duotone'), + ], + '#default_value' => isset($iconSettings['masking']['style']) ? $iconSettings['masking']['style'] : '', + ]; + + // Build new power-transforms. + $element['settings']['power_transforms'] = [ + '#type' => 'details', + '#open' => FALSE, + // Disable power transforms for webfonts. + '#disabled' => $configuration_settings->get('method') == 'webfonts', + '#title' => $this->t('Power Transforms'), + '#description' => $this->t('See @iconLink for additional information on Power Transforms. Note that these transforms only work with the SVG with JS version of Font Awesome and are disabled for Webfonts. See the @adminLink to set your version of Font Awesome.', [ + '@iconLink' => Link::fromTextAndUrl($this->t('the Font Awesome `How to use` guide'), Url::fromUri('https://fontawesome.com/how-to-use/svg-with-js'))->toString(), + '@adminLink' => Link::createFromRoute($this->t('admin page'), 'fontawesome.admin_settings')->toString(), + ]), + ]; + // Rotate the icon. + $element['settings']['power_transforms']['rotate']['value'] = [ + '#type' => 'number', + '#title' => $this->t('Rotate'), + '#step' => 0.01, + '#field_suffix' => '°', + '#default_value' => isset($iconSettings['power_transforms']['rotate']['value']) ? $iconSettings['power_transforms']['rotate']['value'] : '', + '#description' => $this->t('Power Transform rotating effects icon angle without changing or moving the container. To rotate icons use any arbitrary value. Units are degrees with negative numbers allowed.'), + ]; + // Flip the icon. + $element['settings']['power_transforms']['flip-h']['value'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Flip Horizontal?'), + '#default_value' => isset($iconSettings['power_transforms']['flip-h']['value']) ? $iconSettings['power_transforms']['flip-h']['value'] : FALSE, + '#description' => $this->t('Power Transform flipping effects icon reflection without changing or moving the container.'), + '#return_value' => 'h', + ]; + $element['settings']['power_transforms']['flip-v']['value'] = [ + '#type' => 'checkbox', + '#title' => $this->t('Flip Vertical?'), + '#default_value' => isset($iconSettings['power_transforms']['flip-v']['value']) ? $iconSettings['power_transforms']['flip-v']['value'] : FALSE, + '#description' => $this->t('Power Transform flipping effects icon reflection without changing or moving the container.'), + '#return_value' => 'v', + ]; + // Scale the icon. + $element['settings']['power_transforms']['scale'] = [ + '#type' => 'details', + '#open' => TRUE, + '#title' => $this->t('Scale'), + '#description' => $this->t('Power Transform scaling effects icon size without changing or moving the container. This field will scale icons up or down with any arbitrary value, including decimals. Units are 1/16em.'), + '#element_validate' => [ + [static::class, 'validatePowerTransforms'], + ], + ]; + $element['settings']['power_transforms']['scale']['type'] = [ + '#type' => 'select', + '#title' => $this->t('Scale Type'), + '#options' => [ + '' => $this->t('None'), + 'shrink' => $this->t('Shrink'), + 'grow' => $this->t('Grow'), + ], + '#default_value' => isset($iconSettings['power_transforms']['scale']['type']) ? $iconSettings['power_transforms']['scale']['type'] : '', + ]; + $element['settings']['power_transforms']['scale']['value'] = [ + '#type' => 'number', + '#title' => $this->t('Scale Value'), + '#min' => 0, + '#step' => 0.01, + '#default_value' => isset($iconSettings['power_transforms']['scale']['value']) ? $iconSettings['power_transforms']['scale']['value'] : '', + '#states' => [ + 'disabled' => [ + ':input[name="' . $field_name . '[' . $delta . '][settings][power_transforms][scale][type]"]' => ['value' => ''], + ], + ], + ]; + // Position the icon. + $element['settings']['power_transforms']['position_y'] = [ + '#type' => 'details', + '#open' => TRUE, + '#title' => $this->t('Position (Y Axis)'), + '#description' => $this->t('Power Transform positioning effects icon location without changing or moving the container. This field will move icons up or down with any arbitrary value, including decimals. Units are 1/16em.'), + '#element_validate' => [ + [static::class, 'validatePowerTransforms'], + ], + ]; + $element['settings']['power_transforms']['position_y']['type'] = [ + '#type' => 'select', + '#title' => $this->t('Position Type'), + '#options' => [ + '' => $this->t('None'), + 'up' => $this->t('Up'), + 'down' => $this->t('Down'), + ], + '#default_value' => isset($iconSettings['power_transforms']['position_y']['type']) ? $iconSettings['power_transforms']['position_y']['type'] : '', + ]; + $element['settings']['power_transforms']['position_y']['value'] = [ + '#type' => 'number', + '#title' => $this->t('Position Value'), + '#min' => 0, + '#step' => 0.01, + '#default_value' => isset($iconSettings['power_transforms']['position_y']['value']) ? $iconSettings['power_transforms']['position_y']['value'] : '', + '#states' => [ + 'disabled' => [ + ':input[name="' . $field_name . '[' . $delta . '][settings][power_transforms][position_y][type]"]' => ['value' => ''], + ], + ], + ]; + $element['settings']['power_transforms']['position_x'] = [ + '#type' => 'details', + '#open' => TRUE, + '#title' => $this->t('Position (X Axis)'), + '#description' => $this->t('Power Transform positioning effects icon location without changing or moving the container. This field will move icons up or down with any arbitrary value, including decimals. Units are 1/16em.'), + '#element_validate' => [ + [static::class, 'validatePowerTransforms'], + ], + ]; + $element['settings']['power_transforms']['position_x']['type'] = [ + '#type' => 'select', + '#title' => $this->t('Position Type'), + '#options' => [ + '' => $this->t('None'), + 'left' => $this->t('Left'), + 'right' => $this->t('Right'), + ], + '#default_value' => isset($iconSettings['power_transforms']['position_x']['type']) ? $iconSettings['power_transforms']['position_x']['type'] : '', + ]; + $element['settings']['power_transforms']['position_x']['value'] = [ + '#type' => 'number', + '#title' => $this->t('Position Value'), + '#min' => 0, + '#step' => 0.01, + '#default_value' => isset($iconSettings['power_transforms']['position_x']['value']) ? $iconSettings['power_transforms']['position_x']['value'] : '', + '#states' => [ + 'disabled' => [ + ':input[name="' . $field_name . '[' . $delta . '][settings][power_transforms][position_x][type]"]' => ['value' => ''], + ], + ], + ]; + + return $element; + } + + /** + * Validate the Font Awesome power transforms. + */ + public static function validatePowerTransforms($element, FormStateInterface $form_state) { + $values = $form_state->getValue($element['#parents']); + + if (!empty($values['type']) && empty($values['value'])) { + $form_state->setError($element, t('Missing value for Font Awesome Power Transform %value. Please see @iconLink for information on correct values.', [ + '%value' => $values['type'], + '@iconLink' => Link::fromTextAndUrl(t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/how-to-use/svg-with-js'))->toString(), + ])); + } + elseif (empty($values['type']) && !empty($values['value'])) { + $form_state->setError($element, t('Missing type value for Font Awesome Power Transform. Please see @iconLink for information on correct values.', [ + '@iconLink' => Link::fromTextAndUrl(t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/how-to-use/svg-with-js'))->toString(), + ])); + } + if (!empty($values['value']) && !is_numeric($values['value'])) { + $form_state->setError($element, t("Invalid value for Font Awesome Power Transform %value. Please see @iconLink for information on correct values.", [ + '%value' => $values['type'], + '@iconLink' => Link::fromTextAndUrl(t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/how-to-use/svg-with-js'))->toString(), + ])); + } + } + + /** + * Validate the Font Awesome icon name. + */ + public static function validateIconName($element, FormStateInterface $form_state) { + $value = $element['#value']; + if (strlen($value) == 0) { + $form_state->setValueForElement($element, ''); + return; + } + + // Load the icon data so we can check for a valid icon. + $iconData = fontawesome_extract_icon_metadata($value); + + if (!isset($iconData['name'])) { + $form_state->setError($element, t("Invalid icon name %value. Please see @iconLink for correct icon names.", [ + '%value' => $value, + '@iconLink' => Link::fromTextAndUrl(t('the Font Awesome icon list'), Url::fromUri('https://fontawesome.com/icons'))->toString(), + ])); + } + } + + /** + * {@inheritdoc} + */ + public function massageFormValues(array $values, array $form, FormStateInterface $form_state) { + // Load the icon data so we can determine the icon type. + $metadata = fontawesome_extract_icons(); + + // Loop over each item and set the data properly. + foreach ($values as &$item) { + // Remove the prefix if the user accidentally added it. + if (substr($item['icon_name'], 0, 3) == 'fa-') { + $item['icon_name'] = substr($item['icon_name'], 3); + } + + if (!empty($item['settings']['masking']['style'])) { + $item['settings']['masking']['style'] = isset($metadata[$item['icon_name']]['styles']) ? fontawesome_determine_prefix($metadata[$item['icon_name']]['styles'], $item['settings']['masking']['style']) : 'fas'; + } + + // Massage rotate and flip values to make them format properly. + if (is_numeric($item['settings']['power_transforms']['rotate']['value'])) { + $item['settings']['power_transforms']['rotate']['type'] = 'rotate'; + } + else { + unset($item['settings']['power_transforms']['rotate']); + } + if (!empty($item['settings']['power_transforms']['flip-h']['value'])) { + $item['settings']['power_transforms']['flip-h']['type'] = 'flip'; + } + else { + unset($item['settings']['power_transforms']['flip-h']); + } + if (!empty($item['settings']['power_transforms']['flip-v']['value'])) { + $item['settings']['power_transforms']['flip-v']['type'] = 'flip'; + } + else { + unset($item['settings']['power_transforms']['flip-v']); + } + // Determine the icon style - brands don't allow style. + $item['style'] = isset($metadata[$item['icon_name']]['styles']) ? fontawesome_determine_prefix($metadata[$item['icon_name']]['styles'], $item['settings']['style']) : 'fas'; + unset($item['settings']['style']); + + $item['settings'] = serialize(array_filter($item['settings'])); + } + + return $values; + } + +} diff --git a/web/modules/fontawesome/templates/fontawesomeicon.html.twig b/web/modules/fontawesome/templates/fontawesomeicon.html.twig new file mode 100644 index 0000000..8dd612b --- /dev/null +++ b/web/modules/fontawesome/templates/fontawesomeicon.html.twig @@ -0,0 +1,20 @@ +{# +/** + * @file + * Default implementation for Font Awesome Icon field. + * + * Available variables: + * - tag: the HTML tag being used to create the icon. + * - icon: the name of the icon being used for templating. + * - style: the Font Awesome style for the icon. + * - settings: the additional Font Awesome style settings. + * - transforms: Font Awesome power transforms. + * - mask: Font Awesome mask. + * - css: Additional inline CSS styles (for duotone, etc). + * + * @ingroup themeable + */ +#} +
+ <{{tag }} class="{{ style }} {{ name }} {{ settings }}" data-fa-transform="{{ transforms }}" data-fa-mask="{{ mask }}" style="{{ css }}"> +
diff --git a/web/modules/fontawesome/templates/fontawesomeicons.html.twig b/web/modules/fontawesome/templates/fontawesomeicons.html.twig new file mode 100644 index 0000000..079bb2b --- /dev/null +++ b/web/modules/fontawesome/templates/fontawesomeicons.html.twig @@ -0,0 +1,19 @@ +{# +/** + * @file + * Default implementation for Font Awesome icons. + * + * Available variables: + * - icons: a list of Font Awesome icons to be rendered. + * - layers: flag indicating if icons are printing as layers. + * + * @ingroup themeable + */ +#} +
+ {% if layers == '1' %} + {{ icons }} + {% else %} + {{ icons }} + {% endif %} +
diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 1327f99..2ffbf82 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -37,7 +37,7 @@ header div nav ul, header div nav ul li, header div { display: grid; - grid-template-columns: 30% auto 10%; + grid-template-columns: 300px auto 10%; height: 60px; background: var(--yellow); width: 100%; @@ -53,9 +53,9 @@ header div { text-align: right; padding-right: 20px; vertical-align: middle; - background-image: url('../img/logo.png'); + /* background-image: url('../img/logo.png'); background-repeat: no-repeat; - background-position: right; + background-position: right; */ } #block-barbell-branding a img { @@ -134,11 +134,11 @@ header div div .links { } /* BUTTON */ -.node__content { +.node__content, #block-zakazitetrening div { display: grid; } -.field--name-field-link-button { +.field--name-field-link-button, #block-zakazitetrening div p { background: var(--yellow); color: white; display: inline-block; @@ -151,7 +151,7 @@ header div div .links { border-radius: 35px; } -.field--name-field-link-button a { +.field--name-field-link-button a, #block-zakazitetrening div p a { color: white; text-decoration: none; font-family: 'Brandon Grotesque Medium'; @@ -196,9 +196,49 @@ footer div nav ul li a { display: inline; } + +/**/ blockquote p { text-transform: uppercase; font-family: 'Henry'; text-align: center; font-size: 60px; +} + +/* POČETNA */ +.slider-link div div a { + text-transform: uppercase; + text-decoration: none; +} + +.slide .front-slider .slider-image .slider-content .slider-link { + text-align: center; +} +.slide .front-slider .slider-image .slider-content .slider-link div { + background: transparent!important; + border: 2px solid var(--yellow); + text-align: center; +} + +.slide .front-slider .slider-image .slider-content .slider-link div .field__item { + border: none; +} + +h2 span:before { + content:url('../img/page-title-bcg.png'); + position: relative; + left: 100px; + z-index: -1; + bottom: -12px; +} + +h2 span { + text-align: center; + text-transform: uppercase; + color: white; + margin: 120px; + font-size: 60px; + position: relative; + font-family: 'Henry', sans-serif; + left: -30px; } \ No newline at end of file diff --git a/web/themes/custom/barbell/img/page-title-bcg-big.png b/web/themes/custom/barbell/img/page-title-bcg-big.png new file mode 100644 index 0000000000000000000000000000000000000000..b4fc440e8587fa266e713250677fac8551f138bc GIT binary patch literal 1504 zcmdT^U2NM_6uzlT2wlonZ4+e->bao7AhDe`USl<_(m3rha4BhE9Y0c?__i^ff3V%f ztw30SfNFvVgw!D_9;nbHG<8A~T7V%cG$aNpzYm)Rlk&#H5HO)KBv9bouIYFnykptN zzW4jicfNb?k>^H+hgw^9v>=39v-_kRyx)Q6;ZP9bmA6kl2d|sm%$PfBPPk>o#wewl z1x#mkWfJGGqRu>V7WX1VF4k`2q)_47GxvT+wWOQaSFS10Z(d1lKJ_A zj~H50lgxp*%*j?7m$ZGeHXfZF&KGB=iV2nJ@1uJ?5d?JXDzv8`G91xMGHbdbe3NOG zq1PzxRFb)BYD^xX)25B-c(f~0zxamV;Y}@ZDlu5Mz7k^^1XO zwmKo^q`~!CFiJ8d*R@2JEtkvDa#z%}Cs{s`NDz%!ECP&(Gh?`l7crd9x`KqAqODo3 zW*Rh6R0`&_n`FT0)g|cGhOFVNZxd`7>nRq?M>(>jI#HJYo2u&@Y{$*vYkvP#*vZdW zn9X6woVJT_a1))RlqIHZthlC~H_b!!T^uQyuIZFai%yRU^qmJZLp96JU2A+<7PE%q zDn=1!r6dCiQB6}tscRseN@voUIKP+YGl`xI7aNcgoRs1dLYx!oxsq9&*0JH%bJc6P zQo~%*3c3ZAC2VVlu{vm*I=!}JQETia)lhFeS8eQNpkXcxW>|8t|2XLS6m$>y+-O@E zY&1SLpxbR|>xGUZDTJExSt*tGF8p}@Jy}X^Y5wZsD%}*izGKd!n?DWS{^ZBIp8aHJ ztw8TuO4j)JulpZgJ-YbK$=S#DA6$9u)UnUMQ!bvkuyXk5rIW9pn}4f6<~|ia{)6(x zEkFHXP~7ra|AnOv0Z|KK@5*@;wqn(TTd43aull=(!rbyG^~N@S8GRY>VrLN5ds8(_ zzy*JZfDU!rb^zIc*A3w5ZPf<|_=P4%V5=rRBR literal 0 HcmV?d00001 diff --git a/web/themes/custom/barbell/img/page-title-bcg-med.png b/web/themes/custom/barbell/img/page-title-bcg-med.png new file mode 100644 index 0000000000000000000000000000000000000000..64d82906e5e557b493d74f4f6a07d4fd6b9b3a7b GIT binary patch literal 2848 zcmaJ@X;f3!8cl#O8jwK{5R5^r2uVl?L&6LR5Fk+o2^B;l2^uhiNg!8-${-GCp;%M| z1rbCBq0%;>kYZBAv=wBiKwo^u-~d&$TrGvrI=o=jz8}wb*S+@)Yw!Ji-#PoNb&hPI zg~N^Qj3E#RoDxBb)wXroFUC+``yX5qt=BfTB66ZAj+ZVHGXyM1Fq5~Fg`jX4yI8R- z26NxuA6b47h%S;HpD0SCMibL`95iDYg9bQ!EgJ&y3k3L#v`m%=v6Hon&Gkpl^2u4>Jqj6 z62UAP|-{a5$6}ffDZH ziWmTjD|C9VKw=5g1Z=*D&Eq1L6&X8uSt5U=Hq*aL;P5}la)s}fNxNVefWgOL(eBG7 zy$4dM{~yZXd_W6Dv8;dc{hz|Z_8<+019Ewj26|fj0o*Hk(QG#*%}5upS{~ zPb>+GB@;s2@m`^1A3Oo)iSr?axxeRM}DWu?dK>74+5-)zMl|p=R7m?F)zAM7@Pyd&W8|;G28w<__FzSO`N>ou8 z4^$Uyen|7g`MIU7<-l0>^kB5TWyyEAHx9Hfl#fNXQg*cyd_Se^s3yD`=4~HV^>W7R z{-h4JDU{^QQ|(#Xa?>BSACsUn_b1j!7QU10_Ydr!oj}V4MOja~7J4O1h-tG1%$^Y? zJTpIRLD{)*R8nUvYrs6!5#_~QDeD~pCw-=751cAXoLz-ZjHoqk%X$5@xr}Ex*}0Q5 zro_EkW0OZ{{8v(>Ea}_qwWGr`NQc1gY=tsrig+^SYpXN53h3GkO4kYQw%jPn^`ult zx#*>i=_RO?kQp^PIJ!sEv+kEHnEC|duFhD=oZXyjX1{SP#}Ishnf)bNQ-&Bfb%~IW z8)^m)3-BaVWgSY-rI-WM;Wctc^Ua~0ui=}A8feeqDzdYhqj)5fM@fE! zk%!3IqRW7@kj*!HmA~M^SF+LiQ!Qh1SL_79b-PfXpen=Lbo%fi@{RZJdcBwd>i1#y zF2Yl+)oh=3`h0y_!C~)K#Qlr9o2{>L;-^ z8#Y9Sd8+dD4PI~Vb|qitRmo;a!g?d=r(Cd+)Q6MRq(X+XBx0+AnGC7zgEv*p5t^UC z+qPjKUfPBVN2XL&9*V@}tpc7@PF*csh>Nqo7_tA42qL=vhRK)nsg#oP)TH3nKk}V6 zdfKdY8h4~a9J3_C6{kbj=WP{99;{H0`aH74dyP4ztWr~J4)lc#tsjYNxq9X17a2y< z;VnBdAj9K79myBhQC0(HRWhM{hRe{R3zWC%NQ>7I_GF>AT-|bZdVt1-t5H!9j0;Er zee`BSTF3cv7JmGsvmgJ9mEZ>W@W3%Vt-e1%*SJTi)1y3IdC1fPqO#HjpfdZdda6t7 zL7%Ck6F^@aNx$W!UCn1Oweyn`pN{ozzeUw~)|7qjuUZQ*p|MC|zGT?7HO@ZoPir?5 z5PxQKb`8pB!L#&0xn9zt)HU8lSE6$91>MFDM~}Z*xdV);O!APNy3=PS>J>_s&%Kd) z$iwGygeIi%FhL(AjwElno*NDY8lBEgJ!-sd2G9fRvE`Z5}?g76gm?a!Kvri*-qhl?@BwR7jI zrh%DNh22fq+5-c3WsXd)uY_*kpKzJl5Fgn=D*v53w?>ie2GYGA{W9^(@ zMrV^jQ{A>`R;nd1XNmcHqrY(lV;r*TxS~4 zN_B+#-7_!mQF=tmT*GC#JGY5oaNx_4-M!~*%{R5r+x%Ysc%H=ljiB&;&>2a3R0C&G8yFLGC#f><9 zkXEfEz#g|uu*$5Y#3?7xu|~O4{N>bX8dM5(R#Pvk#|_pREjT=JD|@2?>~nkt*I12-K%IqW zy8wU5#8!d5cEgLo%t*=F``_HN?3ke$tK{ki__07-VR+peXrCKO{kc8NpeH|nN%Y-> z*^1i82bJZ~9027%{@Zz`tw+%uZK|OBb$EZ^in?42HGCtayxJt^l}%H`_%&R#I!1`S zs3%qIu8alkAo7_fSc$_AcIbQA<~+Cd=S literal 0 HcmV?d00001 From d04d59076f1943bfa8ab5d85378cd143a9b43188 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Thu, 3 Oct 2019 14:56:15 +0200 Subject: [PATCH 014/139] title, txt, img style --- .../custom/barbell/barbell.libraries.yml | 3 ++- .../custom/barbell/css/funkcTreninzi.css | 5 ++++ web/themes/custom/barbell/css/style.css | 23 ++++++++++--------- 3 files changed, 19 insertions(+), 12 deletions(-) create mode 100644 web/themes/custom/barbell/css/funkcTreninzi.css diff --git a/web/themes/custom/barbell/barbell.libraries.yml b/web/themes/custom/barbell/barbell.libraries.yml index f619934..d50d577 100644 --- a/web/themes/custom/barbell/barbell.libraries.yml +++ b/web/themes/custom/barbell/barbell.libraries.yml @@ -11,4 +11,5 @@ base: global-styling: css: theme: - css/style.css: {} \ No newline at end of file + css/style.css: {} + css/funkcTreninzi.css: {} diff --git a/web/themes/custom/barbell/css/funkcTreninzi.css b/web/themes/custom/barbell/css/funkcTreninzi.css new file mode 100644 index 0000000..1c71239 --- /dev/null +++ b/web/themes/custom/barbell/css/funkcTreninzi.css @@ -0,0 +1,5 @@ +/* IMG */ +.field--name-body p .align-right { + margin-left: 70px; + background: lightblue; +} diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index f80b11d..64bdc9c 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -1,3 +1,4 @@ +/* NAVIGATION */ :root { --yellow: #f6b018; } @@ -146,7 +147,7 @@ header div div .links { letter-spacing: 2px; } -/* MAIN CONTENT */ +/* MAIN TXT (all, except home page) */ .field--name-body { margin: 0 13%; font-family: "Brandon Grotesque Medium"; @@ -154,21 +155,20 @@ header div div .links { text-align: justify; } +/* bold prices txt */ .field--name-body p strong { font-family: "Brandon Grotesque Bold"; font-size: 30px; } -.field--name-body p img { - margin-left: 70px; -} - -/* BUTTON */ -.node__content { +/* BUTTON (all, except home page)*/ +.node__content, +#block-zakazitetrening div { display: grid; } -.field--name-field-link-button { +.field--name-field-link-button, +#block-zakazitetrening div p { background: var(--yellow); color: white; display: inline-block; @@ -181,7 +181,8 @@ header div div .links { border-radius: 45px; } -.field--name-field-link-button a { +.field--name-field-link-button a, +#block-zakazitetrening div p a { color: white; text-decoration: none; font-family: "Brandon Grotesque Medium"; @@ -201,14 +202,14 @@ header div div .links { #block-yearname { color: var(--yellow); - /* display: inline-block; - width: 100%; */ } + #block-yearname div { width: 100%; margin: 0; margin-left: 130px; } + footer div nav { display: inline; color: white; From cc7008a04aaf95d54cf6fd11f96a0820198bf180 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Thu, 3 Oct 2019 15:04:32 +0200 Subject: [PATCH 015/139] front page initial style --- web/themes/custom/barbell/css/frontPage.css | 57 +++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 web/themes/custom/barbell/css/frontPage.css diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css new file mode 100644 index 0000000..c4ceb54 --- /dev/null +++ b/web/themes/custom/barbell/css/frontPage.css @@ -0,0 +1,57 @@ +/* POČETNA */ +.slider-link div div a { + text-transform: uppercase; + text-decoration: none; +} + +.slide .front-slider .slider-image .slider-content .slider-link { + text-align: center; +} +.slide .front-slider .slider-image .slider-content .slider-link div { + background: transparent!important; + border: 2px solid var(--yellow); + text-align: center; +} + +.slide .front-slider .slider-image .slider-content .slider-link div .field__item { + border: none; +} + +h2 span:before { + content:url('../img/page-title-bcg.png'); + position: relative; + left: 100px; + z-index: -1; + bottom: -12px; +} + +h2 span { + text-align: center; + text-transform: uppercase; + color: white; + margin: 120px; + font-size: 60px; + position: relative; + font-family: 'Henry', sans-serif; + left: -30px; +} + +#block-sociallinks div { + width: 70%; + display: flex; + align-items: center; + justify-content: space-around; + font-size: 39px; + color: whitesmoke !important; +} + +#block-sociallinks div a { + color: whitesmoke !important; +} + +#block-mainnavigation, +#block-mainnavigation h2, +#block-mainnavigation ul, +#block-mainnavigation ul li { + display: inline; +} From 8d3615a90c05c66972463b4941cab2b405900832 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Thu, 3 Oct 2019 15:06:56 +0200 Subject: [PATCH 016/139] conflict res --- .gitignore | 2 + .../custom/barbell/barbell.libraries.yml | 1 + web/themes/custom/barbell/css/style.css | 86 ------------------- 3 files changed, 3 insertions(+), 86 deletions(-) diff --git a/.gitignore b/.gitignore index c9a4c46..eee0745 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ /web/profiles/contrib/ /web/libraries/ /modules/ +/1modules/ # Ignore sensitive information /web/sites/*/settings.php @@ -28,5 +29,6 @@ /web/themes/custom/barbell/css/example.html /web/themes/custom/barbell/css/brandon-grotesque-thin-587bd5b76cfba.woff /web/sites/default/local.services.yml +/web/sites/default/1local.services.yml /web/themes/custom/barbell/css/Henrik/ /web/themes/custom/barbell/css/__MACOSX/ \ No newline at end of file diff --git a/web/themes/custom/barbell/barbell.libraries.yml b/web/themes/custom/barbell/barbell.libraries.yml index d50d577..4d6563b 100644 --- a/web/themes/custom/barbell/barbell.libraries.yml +++ b/web/themes/custom/barbell/barbell.libraries.yml @@ -13,3 +13,4 @@ global-styling: theme: css/style.css: {} css/funkcTreninzi.css: {} + css/frontPage.css: {} diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index fc2b7d2..2aee40f 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -165,35 +165,7 @@ header div div .links { font-size: 30px; } -<<<<<<< HEAD -.field--name-body p img { - margin-left: 70px; -} - -/* BUTTON */ - -.node__content, #block-zakazitetrening div { - display: grid; -} - -.field--name-field-link-button, #block-zakazitetrening div p { - background: var(--yellow); - color: white; - display: inline-block; - text-transform: uppercase; - padding: 20px 40px; - font-size: 20px; - margin: auto; - margin-top: 70px; - align-content: center; - border-radius: 35px; -} -.field--name-field-link-button a, #block-zakazitetrening div p a { - color: white; - text-decoration: none; - font-family: 'Brandon Grotesque Medium'; -======= /* BUTTON (all, except home page)*/ .node__content, #block-zakazitetrening div { @@ -219,7 +191,6 @@ header div div .links { color: white; text-decoration: none; font-family: "Brandon Grotesque Medium"; ->>>>>>> d04d59076f1943bfa8ab5d85378cd143a9b43188 } /* FOOTER */ @@ -271,61 +242,4 @@ blockquote p { font-size: 60px; } -/* POČETNA */ -.slider-link div div a { - text-transform: uppercase; - text-decoration: none; -} - -.slide .front-slider .slider-image .slider-content .slider-link { - text-align: center; -} -.slide .front-slider .slider-image .slider-content .slider-link div { - background: transparent!important; - border: 2px solid var(--yellow); - text-align: center; -} - -.slide .front-slider .slider-image .slider-content .slider-link div .field__item { - border: none; -} - -h2 span:before { - content:url('../img/page-title-bcg.png'); - position: relative; - left: 100px; - z-index: -1; - bottom: -12px; -} - -h2 span { - text-align: center; - text-transform: uppercase; - color: white; - margin: 120px; - font-size: 60px; - position: relative; - font-family: 'Henry', sans-serif; - left: -30px; -} - -#block-sociallinks div { - width: 70%; - display: flex; - align-items: center; - justify-content: space-around; - font-size: 39px; - color: whitesmoke !important; -} - -#block-sociallinks div a { - color: whitesmoke !important; -} - -#block-mainnavigation, -#block-mainnavigation h2, -#block-mainnavigation ul, -#block-mainnavigation ul li { - display: inline; -} From 6f8067918c30403038241dfa94d90fa32f537cf4 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Thu, 3 Oct 2019 15:10:28 +0200 Subject: [PATCH 017/139] title, txt, img style --- web/themes/custom/barbell/css/style.css | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 64bdc9c..5ad42b3 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -249,7 +249,10 @@ footer div nav ul li a { display: inline; } -/***BLOCKQUOTE***/ +/* ******************************************** */ +/* ******************************************** */ + +/* BLOCKQUOTE */ blockquote p { text-transform: uppercase; font-family: "Henry"; From 9de49fc54d845a2aa801ca657405ac2fbce59fd2 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Thu, 3 Oct 2019 17:11:42 +0200 Subject: [PATCH 018/139] yellow stripes --- .../custom/barbell/css/funkcTreninzi.css | 8 ++++- web/themes/custom/barbell/css/style.css | 31 +++++++++++++------ 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/web/themes/custom/barbell/css/funkcTreninzi.css b/web/themes/custom/barbell/css/funkcTreninzi.css index 1c71239..c61a3a7 100644 --- a/web/themes/custom/barbell/css/funkcTreninzi.css +++ b/web/themes/custom/barbell/css/funkcTreninzi.css @@ -1,5 +1,11 @@ -/* IMG */ +/* INDIVIDUALNI TRENINZI IMG right */ .field--name-body p .align-right { margin-left: 70px; background: lightblue; } + +/* INDIVIDUALNI TRENINZI IMG left */ +.field--name-body p .align-left { + margin-right: 18px; + background: lightblue; +} diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index e257064..fa90ea7 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -132,26 +132,30 @@ header div div .links { } /* PAGE TITLE */ -.page-title .field--name-title:before { - content: url("../img/page-title-bcg-med1.png"); - position: absolute; - left: 253px; - z-index: -1; - bottom: -17px; -} - .page-title { text-align: center; text-transform: uppercase; margin: 120px; font-size: 76px; - position: relative; font-family: "Henry", sans-serif; letter-spacing: 2px; } +.field--name-title { + position: relative; +} + +/* YELLOW STRIPES */ +.page-title .field--name-title:before { + content: url("../img/page-title-bcg-med1.png"); + position: absolute; + left: -25px; + z-index: -1; + bottom: -29px; +} + /* MAIN TXT (all, except home page) */ -.field--name-body { +.field--name-body p { margin: 0 13%; font-family: "Brandon Grotesque Medium"; font-size: 28px; @@ -250,3 +254,10 @@ blockquote p { text-align: center; font-size: 60px; } + +/* +++++++++++ KONTAKT +++++++++++ */ + +.front-kontakt-holder { + display: grid; + grid-template-columns: 1fr 1fr; +} From b87f94e4b96f1b75cde4e981e00987bd52fa9101 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Thu, 3 Oct 2019 17:16:39 +0200 Subject: [PATCH 019/139] programi styles --- .../custom/barbell/barbell.libraries.yml | 1 + web/themes/custom/barbell/css/frontPage.css | 111 ++++++++++++++---- web/themes/custom/barbell/css/social.css | 19 +++ web/themes/custom/barbell/css/style.css | 12 +- 4 files changed, 114 insertions(+), 29 deletions(-) create mode 100644 web/themes/custom/barbell/css/social.css diff --git a/web/themes/custom/barbell/barbell.libraries.yml b/web/themes/custom/barbell/barbell.libraries.yml index 4d6563b..f8e77ff 100644 --- a/web/themes/custom/barbell/barbell.libraries.yml +++ b/web/themes/custom/barbell/barbell.libraries.yml @@ -14,3 +14,4 @@ global-styling: css/style.css: {} css/funkcTreninzi.css: {} css/frontPage.css: {} + css/social.css: {} diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index c4ceb54..b54acfa 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -1,21 +1,27 @@ /* POČETNA */ -.slider-link div div a { + +/* slider */ +#hero-section { + background: black; /* where the image should be just for visibility sake */ +} + + +/* .slider-link div div a { text-transform: uppercase; text-decoration: none; -} +} */ + + -.slide .front-slider .slider-image .slider-content .slider-link { - text-align: center; -} -.slide .front-slider .slider-image .slider-content .slider-link div { - background: transparent!important; - border: 2px solid var(--yellow); - text-align: center; -} .slide .front-slider .slider-image .slider-content .slider-link div .field__item { border: none; } +#slick-views-front-slider-block-1-1-slider { + padding-top: 1px; + margin-top: -1px; + } + h2 span:before { content:url('../img/page-title-bcg.png'); @@ -24,9 +30,12 @@ h2 span:before { z-index: -1; bottom: -12px; } - -h2 span { +h2 { text-align: center; + margin: 180px auto 20px; +} +h2 span { + z-index: 1; text-transform: uppercase; color: white; margin: 120px; @@ -36,22 +45,72 @@ h2 span { left: -30px; } -#block-sociallinks div { - width: 70%; - display: flex; - align-items: center; - justify-content: space-around; - font-size: 39px; - color: whitesmoke !important; +/* this is white narrow text between title and button */ +.slider-desc div p { + color: white; + margin: 0 100px; +} + +/* SLIDER BUTTON */ +.slide .front-slider .slider-image .slider-content .slider-link { + text-align: center; +} + +.slide .front-slider .slider-image .slider-content .slider-link div { + background: transparent!important; + border: 2px solid var(--yellow); + text-align: center; + padding: 10px 60px; } -#block-sociallinks div a { - color: whitesmoke !important; +/* MAIN CONTENT */ +.node__content div { + margin-top: 80px; + text-align: center; } -#block-mainnavigation, -#block-mainnavigation h2, -#block-mainnavigation ul, -#block-mainnavigation ul li { - display: inline; +/* PROGRAMI */ + +.view-programi .view-content { + display: grid; + grid-template-columns: repeat(4, 200px); + grid-gap: 20px; + justify-items: space-between; + margin: -70px 150px 40px; } + +.view-content .views-row { + border: 2px solid var(--yellow); + color: black; +} + +.view-content .views-row:hover { + border: 2px solid black; + background: black; +} + +.view-content .views-row:hover .program-link { + color: white; +} + +.program-thumb { + margin: 10px; + text-align: center; +} + +.program-title span { + font-family: 'Henrik'; + font-size: 26px; + +} + +.program-link { + color: black; + text-decoration: none; +} + +.program-description div { + margin: 0; + text-align: center; + font-size: 20px; +} \ No newline at end of file diff --git a/web/themes/custom/barbell/css/social.css b/web/themes/custom/barbell/css/social.css new file mode 100644 index 0000000..02c3023 --- /dev/null +++ b/web/themes/custom/barbell/css/social.css @@ -0,0 +1,19 @@ +#block-sociallinks div { + width: 70%; + display: flex; + align-items: center; + justify-content: space-around; + font-size: 39px; + color: whitesmoke !important; + } + + #block-sociallinks div a { + color: whitesmoke !important; + } + + #block-mainnavigation, + #block-mainnavigation h2, + #block-mainnavigation ul, + #block-mainnavigation ul li { + display: inline; + } \ No newline at end of file diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index e257064..c51c8c3 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -132,7 +132,8 @@ header div div .links { } /* PAGE TITLE */ -.page-title .field--name-title:before { +.page-title .field--name-title:before, +#after_content div div h2:before { content: url("../img/page-title-bcg-med1.png"); position: absolute; left: 253px; @@ -140,7 +141,8 @@ header div div .links { bottom: -17px; } -.page-title { +.page-title, +#after_content div div h2 { text-align: center; text-transform: uppercase; margin: 120px; @@ -179,11 +181,15 @@ header div div .links { padding: 25px 50px; font-size: 27px; margin: auto; - margin-top: 70px; + align-content: center; border-radius: 45px; } +#block-zakazitetrening div p { + margin-top: 70px; +} + .field--name-field-link-button a, #block-zakazitetrening div p a { color: white; From 279736d03e38b5b1105e8565d1b90d8687bcbb2b Mon Sep 17 00:00:00 2001 From: hikeislife Date: Thu, 3 Oct 2019 18:44:28 +0200 Subject: [PATCH 020/139] blog styles initial --- .../custom/barbell/barbell.libraries.yml | 1 + web/themes/custom/barbell/css/blog.css | 30 +++++++++++++++++++ web/themes/custom/barbell/css/frontPage.css | 21 +++++++++---- web/themes/custom/barbell/css/style.css | 13 +++++--- 4 files changed, 56 insertions(+), 9 deletions(-) create mode 100644 web/themes/custom/barbell/css/blog.css diff --git a/web/themes/custom/barbell/barbell.libraries.yml b/web/themes/custom/barbell/barbell.libraries.yml index f8e77ff..df78e01 100644 --- a/web/themes/custom/barbell/barbell.libraries.yml +++ b/web/themes/custom/barbell/barbell.libraries.yml @@ -15,3 +15,4 @@ global-styling: css/funkcTreninzi.css: {} css/frontPage.css: {} css/social.css: {} + css/blog.css: {} diff --git a/web/themes/custom/barbell/css/blog.css b/web/themes/custom/barbell/css/blog.css new file mode 100644 index 0000000..9dd2475 --- /dev/null +++ b/web/themes/custom/barbell/css/blog.css @@ -0,0 +1,30 @@ +#block-barbell-page-title { + height: 200px; + width: 100vw; +} + +#block-barbell-page-title h1.page-title { + margin-right: 230px; +} + +#block-barbell-page-title h1.page-title:before { + display: inline-block; + content: url("../img/page-title-bcg-med1.png"); + position: relative; + z-index: -1; + bottom: -15px; + left: 130px; +} + +#block-barbell-content { + margin: 100px; + width: 100vw; +} + +#block-barbell-content div div .view-content { + display: grid; + grid-template-columns: repeat(4, 1fr); + grid-gap: 20px; + justify-content: space-between; + +} \ No newline at end of file diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index b54acfa..a4dbaf6 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -37,7 +37,7 @@ h2 { h2 span { z-index: 1; text-transform: uppercase; - color: white; + color: whitesmoke; margin: 120px; font-size: 60px; position: relative; @@ -45,9 +45,9 @@ h2 span { left: -30px; } -/* this is white narrow text between title and button */ +/* this is whitesmoke narrow text between title and button */ .slider-desc div p { - color: white; + color: whitesmoke; margin: 0 100px; } @@ -70,12 +70,23 @@ h2 span { } /* PROGRAMI */ +#after_content div div { + text-align: center; +} +#after_content div div h2 { + display: inline-block; +} +#after_content div div h2:before { + bottom: -15px; + left: 123px; + position: relative; +} .view-programi .view-content { display: grid; grid-template-columns: repeat(4, 200px); grid-gap: 20px; - justify-items: space-between; + justify-content: space-between; margin: -70px 150px 40px; } @@ -90,7 +101,7 @@ h2 span { } .view-content .views-row:hover .program-link { - color: white; + color: whitesmoke; } .program-thumb { diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 9c809f9..59eb9ad 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -1,4 +1,3 @@ -/* NAVIGATION */ :root { --yellow: #f6b018; } @@ -7,6 +6,10 @@ box-sizing: border-box; } +html, body, header div { + width: 100vw; +} + @font-face { font-family: "Brandon Grotesque Medium"; font-style: normal; @@ -54,7 +57,7 @@ header div { grid-template-columns: 300px auto 10%; height: 60px; background: var(--yellow); - width: 100%; + width: 100vw; align-items: center; } @@ -152,9 +155,11 @@ header div div .links { #after_content div div h2:before { content: url("../img/page-title-bcg-med1.png"); position: absolute; - left: -25px; z-index: -1; - bottom: -29px; +} +.page-title .field--name-title:before { + left: -25px; + bottom: -29px; } /* MAIN TXT (all, except home page) */ From 8f52ba1ea0c6ec86cf9a5626e3497618af1917c1 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Thu, 3 Oct 2019 18:45:22 +0200 Subject: [PATCH 021/139] kontakt box --- web/themes/custom/barbell/css/style.css | 76 +++++++++++++++++++++---- 1 file changed, 64 insertions(+), 12 deletions(-) diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index fa90ea7..53f9f69 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -132,7 +132,8 @@ header div div .links { } /* PAGE TITLE */ -.page-title { +.page-title, +.kontakt-block-content h3 { text-align: center; text-transform: uppercase; margin: 120px; @@ -141,12 +142,14 @@ header div div .links { letter-spacing: 2px; } -.field--name-title { +.field--name-title, +.kontakt-block-content h3 { position: relative; } /* YELLOW STRIPES */ -.page-title .field--name-title:before { +.page-title .field--name-title:before, +.kontakt-block-content h3:before { content: url("../img/page-title-bcg-med1.png"); position: absolute; left: -25px; @@ -154,6 +157,15 @@ header div div .links { bottom: -29px; } +.kontakt-block-content h3 { + display: inline-block; +} + +.kontakt-block-content h3:before { + left: -39px; + bottom: -21px; +} + /* MAIN TXT (all, except home page) */ .field--name-body p { margin: 0 13%; @@ -236,21 +248,13 @@ footer div nav ul li a { align-items: center; } -/**/ -blockquote p { - text-transform: uppercase; - font-family: "Henry"; - text-align: center; - font-size: 60px; -} - /* ******************************************** */ /* ******************************************** */ /* BLOCKQUOTE */ blockquote p { text-transform: uppercase; - font-family: "Henry"; + font-family: "Henry", sans-serif; text-align: center; font-size: 60px; } @@ -261,3 +265,51 @@ blockquote p { display: grid; grid-template-columns: 1fr 1fr; } + +.kontakt-block-content { + font-family: "Brandon Grotesque Bold", sans-serif; + color: whitesmoke; + text-align: center; + background: gray; +} + +.kontakt-block-content h3 { + font-family: "Henry", sans-serif; + margin: 220px 0 80px; + z-index: 1; +} + +.kontakt-block-content .tel { + margin-bottom: 35px; +} + +.kontakt-block-content .tel a { + color: whitesmoke; + text-decoration: none; + font-size: 43px; +} + +.kontakt-block-content .address { + font-size: 33px; + margin-bottom: 50px; +} + +.kontakt-block-content .email { + margin-bottom: 80px; +} + +.kontakt-block-content .email a { + color: var(--yellow); + text-decoration: none; + font-size: 32px; + margin-bottom: 80px; +} + +.kontakt-block-content .socials { + font-size: 42px; + margin-bottom: 60px; +} + +.kontakt-block-content .socials span { + margin: 0 5px; +} From 7214d2115fa80f6f1d0b93ca3bc91549de17788a Mon Sep 17 00:00:00 2001 From: hikeislife Date: Thu, 3 Oct 2019 19:33:36 +0200 Subject: [PATCH 022/139] minor style changes --- web/themes/custom/barbell/css/blog.css | 29 ++++++++++++++++++++++++- web/themes/custom/barbell/css/style.css | 10 +++++++-- 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/web/themes/custom/barbell/css/blog.css b/web/themes/custom/barbell/css/blog.css index 9dd2475..c7462f7 100644 --- a/web/themes/custom/barbell/css/blog.css +++ b/web/themes/custom/barbell/css/blog.css @@ -18,7 +18,6 @@ #block-barbell-content { margin: 100px; - width: 100vw; } #block-barbell-content div div .view-content { @@ -27,4 +26,32 @@ grid-gap: 20px; justify-content: space-between; +} + +.article-thumb { + text-align: center; + color: black; +} + +.article-thumb a { + text-decoration: none; + color: black; + font-family: "Brandon Grotesque Medium"; +} + +.article-image { + background: dimgray; +} + +.article-image div img { + width: 100%; +} + +.article-info-wrapper { + padding: 10px; +} + +.article-info-wrapper .article-date div time { + color: var(--gray); + font-size: 12px; } \ No newline at end of file diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 6b3ad31..4d9f194 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -1,5 +1,6 @@ :root { --yellow: #f6b018; + --gray: #919191; } * { @@ -7,9 +8,9 @@ } html, -body, -header div { +body, .layout-container { width: 100vw; + /* overflow-x: hidden; */ } @font-face { @@ -104,7 +105,12 @@ header div div .links { .language-switcher-language-url { display: flex; align-items: center; + width: 10px; + right: -20px; } +#block-languageswitcher ul { + right: 60px; + } #block-languageswitcher ul { position: relative; From 8e37a050693840e633e800949fdc2eec0422f65a Mon Sep 17 00:00:00 2001 From: hikeislife Date: Fri, 4 Oct 2019 12:38:53 +0200 Subject: [PATCH 023/139] tim css added --- web/themes/custom/barbell/barbell.libraries.yml | 1 + web/themes/custom/barbell/css/blog.css | 3 ++- web/themes/custom/barbell/css/style.css | 3 ++- web/themes/custom/barbell/css/tim.css | 3 +++ 4 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 web/themes/custom/barbell/css/tim.css diff --git a/web/themes/custom/barbell/barbell.libraries.yml b/web/themes/custom/barbell/barbell.libraries.yml index df78e01..8c16db8 100644 --- a/web/themes/custom/barbell/barbell.libraries.yml +++ b/web/themes/custom/barbell/barbell.libraries.yml @@ -16,3 +16,4 @@ global-styling: css/frontPage.css: {} css/social.css: {} css/blog.css: {} + css/tim.css: {} diff --git a/web/themes/custom/barbell/css/blog.css b/web/themes/custom/barbell/css/blog.css index c7462f7..e8b6bf2 100644 --- a/web/themes/custom/barbell/css/blog.css +++ b/web/themes/custom/barbell/css/blog.css @@ -1,4 +1,5 @@ -#block-barbell-page-title { +.path-blog #block-barbell-page-title, +.path-vesti #block-barbell-page-title { height: 200px; width: 100vw; } diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 4d9f194..2eb2f07 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -8,7 +8,8 @@ } html, -body, .layout-container { +body, +.layout-container { width: 100vw; /* overflow-x: hidden; */ } diff --git a/web/themes/custom/barbell/css/tim.css b/web/themes/custom/barbell/css/tim.css new file mode 100644 index 0000000..190969b --- /dev/null +++ b/web/themes/custom/barbell/css/tim.css @@ -0,0 +1,3 @@ +.path-tim div div main div div #block-barbell-content div .view-tim .view-content { + grid-template-columns: 200px 200px; +} \ No newline at end of file From 77bf3176bf10ff926f147dc7324217ec5fe15876 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Fri, 4 Oct 2019 12:47:56 +0200 Subject: [PATCH 024/139] nav overflow --- web/themes/custom/barbell/css/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 6b3ad31..8b592d0 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -155,7 +155,7 @@ header div div .links { /* YELLOW STRIPES */ .page-title .field--name-title:before, -head .kontakt-block-content h3:before, +.kontakt-block-content h3:before, #after_content div div h2:before { content: url("../img/page-title-bcg-med1.png"); position: absolute; From e5aed91d1d881be4da5cbb661dbfd278a40f86d7 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Fri, 4 Oct 2019 12:59:29 +0200 Subject: [PATCH 025/139] overflow --- web/themes/custom/barbell/css/frontPage.css | 9 +++++---- web/themes/custom/barbell/css/style.css | 2 +- web/themes/custom/barbell/css/tim.css | 10 ++++++++++ 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index a4dbaf6..734aa15 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -25,10 +25,10 @@ h2 span:before { content:url('../img/page-title-bcg.png'); - position: relative; - left: 100px; + position: absolute; + left: -25px; z-index: -1; - bottom: -12px; + bottom: -17px; } h2 { text-align: center; @@ -48,7 +48,8 @@ h2 span { /* this is whitesmoke narrow text between title and button */ .slider-desc div p { color: whitesmoke; - margin: 0 100px; + width: 800px; + margin: 0 auto; } /* SLIDER BUTTON */ diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 2eb2f07..2e7e950 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -11,7 +11,7 @@ html, body, .layout-container { width: 100vw; - /* overflow-x: hidden; */ + overflow-x: hidden; } @font-face { diff --git a/web/themes/custom/barbell/css/tim.css b/web/themes/custom/barbell/css/tim.css index 190969b..b001737 100644 --- a/web/themes/custom/barbell/css/tim.css +++ b/web/themes/custom/barbell/css/tim.css @@ -1,3 +1,13 @@ .path-tim div div main div div #block-barbell-content div .view-tim .view-content { grid-template-columns: 200px 200px; + grid-gap: 20px; + justify-content: none; +} + +.view-tim .view-content div div a { + +} + +.view-tim .view-content div div a .tim-image div img { + width: 100%; } \ No newline at end of file From e0bd85fa2ade29b8df5fd0f92b2ec00b6b587d75 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Fri, 4 Oct 2019 13:00:09 +0200 Subject: [PATCH 026/139] nav overflow --- web/themes/custom/barbell/css/frontPage.css | 125 ++++++++++---------- web/themes/custom/barbell/css/style.css | 9 +- 2 files changed, 68 insertions(+), 66 deletions(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index a4dbaf6..7597c73 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -2,126 +2,129 @@ /* slider */ #hero-section { - background: black; /* where the image should be just for visibility sake */ + background: black; /* where the image should be just for visibility sake */ } - /* .slider-link div div a { text-transform: uppercase; text-decoration: none; } */ - - - -.slide .front-slider .slider-image .slider-content .slider-link div .field__item { - border: none; +.slide + .front-slider + .slider-image + .slider-content + .slider-link + div + .field__item { + border: none; } + #slick-views-front-slider-block-1-1-slider { - padding-top: 1px; - margin-top: -1px; - } - + padding-top: 1px; + margin-top: -1px; +} h2 span:before { - content:url('../img/page-title-bcg.png'); - position: relative; - left: 100px; - z-index: -1; - bottom: -12px; + content: url("../img/page-title-bcg.png"); + position: absolute; + left: 100px; + z-index: -1; + bottom: -12px; } + h2 { - text-align: center; - margin: 180px auto 20px; + text-align: center; + margin: 180px auto 20px; } + h2 span { - z-index: 1; - text-transform: uppercase; - color: whitesmoke; - margin: 120px; - font-size: 60px; - position: relative; - font-family: 'Henry', sans-serif; - left: -30px; + z-index: 1; + text-transform: uppercase; + color: whitesmoke; + margin: 120px; + font-size: 60px; + position: relative; + font-family: "Henry", sans-serif; + left: -30px; } /* this is whitesmoke narrow text between title and button */ .slider-desc div p { - color: whitesmoke; - margin: 0 100px; + color: whitesmoke; + margin: 0 100px; } /* SLIDER BUTTON */ .slide .front-slider .slider-image .slider-content .slider-link { - text-align: center; + text-align: center; } .slide .front-slider .slider-image .slider-content .slider-link div { - background: transparent!important; - border: 2px solid var(--yellow); - text-align: center; - padding: 10px 60px; + background: transparent !important; + border: 2px solid var(--yellow); + text-align: center; + padding: 10px 60px; } /* MAIN CONTENT */ .node__content div { - margin-top: 80px; - text-align: center; + margin-top: 80px; + text-align: center; } /* PROGRAMI */ #after_content div div { - text-align: center; + text-align: center; } #after_content div div h2 { - display: inline-block; + display: inline-block; } #after_content div div h2:before { - bottom: -15px; - left: 123px; - position: relative; + bottom: -15px; + left: 123px; + position: relative; } .view-programi .view-content { - display: grid; - grid-template-columns: repeat(4, 200px); - grid-gap: 20px; - justify-content: space-between; - margin: -70px 150px 40px; + display: grid; + grid-template-columns: repeat(4, 200px); + grid-gap: 20px; + justify-content: space-between; + margin: -70px 150px 40px; } .view-content .views-row { - border: 2px solid var(--yellow); - color: black; + border: 2px solid var(--yellow); + color: black; } .view-content .views-row:hover { - border: 2px solid black; - background: black; + border: 2px solid black; + background: black; } .view-content .views-row:hover .program-link { - color: whitesmoke; + color: whitesmoke; } .program-thumb { - margin: 10px; - text-align: center; + margin: 10px; + text-align: center; } .program-title span { - font-family: 'Henrik'; - font-size: 26px; - + font-family: "Henrik"; + font-size: 26px; } .program-link { - color: black; - text-decoration: none; + color: black; + text-decoration: none; } .program-description div { - margin: 0; - text-align: center; - font-size: 20px; -} \ No newline at end of file + margin: 0; + text-align: center; + font-size: 20px; +} diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 46f0151..d31ffb9 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -8,10 +8,9 @@ } html, -body, +body, .layout-container { width: 100vw; - /* overflow-x: hidden; */ } @font-face { @@ -107,11 +106,11 @@ header div div .links { display: flex; align-items: center; width: 10px; - right: -20px; + right: -20px; } #block-languageswitcher ul { - right: 60px; - } + right: 60px; +} #block-languageswitcher ul { position: relative; From e1331bafe01f780836bed55ea673eb6c13d7b58f Mon Sep 17 00:00:00 2001 From: hikeislife Date: Fri, 4 Oct 2019 13:24:19 +0200 Subject: [PATCH 027/139] front page --- web/themes/custom/barbell/css/frontPage.css | 7 +++---- web/themes/custom/barbell/css/tim.css | 3 ++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index 734aa15..e6f80fc 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -24,7 +24,7 @@ h2 span:before { - content:url('../img/page-title-bcg.png'); + content:url('../img/page-title-bcg-med1.png'); position: absolute; left: -25px; z-index: -1; @@ -39,17 +39,16 @@ h2 span { text-transform: uppercase; color: whitesmoke; margin: 120px; - font-size: 60px; + font-size: 76px; position: relative; font-family: 'Henry', sans-serif; - left: -30px; } /* this is whitesmoke narrow text between title and button */ .slider-desc div p { color: whitesmoke; width: 800px; - margin: 0 auto; + margin: 30px auto; } /* SLIDER BUTTON */ diff --git a/web/themes/custom/barbell/css/tim.css b/web/themes/custom/barbell/css/tim.css index b001737..f37b64f 100644 --- a/web/themes/custom/barbell/css/tim.css +++ b/web/themes/custom/barbell/css/tim.css @@ -1,7 +1,8 @@ .path-tim div div main div div #block-barbell-content div .view-tim .view-content { - grid-template-columns: 200px 200px; + grid-template-columns: 1fr 1fr; grid-gap: 20px; justify-content: none; + margin: 0 auto; } .view-tim .view-content div div a { From d74dcccbb77b7c44d497654c375925fbb3479c64 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Fri, 4 Oct 2019 13:25:52 +0200 Subject: [PATCH 028/139] front --- web/themes/custom/barbell/css/frontPage.css | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index 3f2d1ec..e2839b6 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -26,19 +26,11 @@ } h2 span:before { -<<<<<<< HEAD content: url("../img/page-title-bcg.png"); position: absolute; - left: 100px; + left: -25px; z-index: -1; - bottom: -12px; -======= - content:url('../img/page-title-bcg.png'); - position: absolute; - left: -25px; - z-index: -1; - bottom: -17px; ->>>>>>> e5aed91d1d881be4da5cbb661dbfd278a40f86d7 + bottom: -17px; } h2 { @@ -59,14 +51,9 @@ h2 span { /* this is whitesmoke narrow text between title and button */ .slider-desc div p { -<<<<<<< HEAD color: whitesmoke; - margin: 0 100px; -======= - color: whitesmoke; - width: 800px; - margin: 0 auto; ->>>>>>> e5aed91d1d881be4da5cbb661dbfd278a40f86d7 + width: 800px; + margin: 0 auto; } /* SLIDER BUTTON */ From 02a883fbe4d7ad2f429a3db4c9daaf5fcb539cce Mon Sep 17 00:00:00 2001 From: hikeislife Date: Fri, 4 Oct 2019 14:12:36 +0200 Subject: [PATCH 029/139] front page restructuring --- web/themes/custom/barbell/css/frontPage.css | 20 ++++++++++++-------- web/themes/custom/barbell/css/style.css | 2 +- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index e6f80fc..5197376 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -11,8 +11,10 @@ text-decoration: none; } */ - - +/* DEVELOPMENTAL */ +.slide--1 { + display: none; +} .slide .front-slider .slider-image .slider-content .slider-link div .field__item { border: none; @@ -20,19 +22,20 @@ #slick-views-front-slider-block-1-1-slider { padding-top: 1px; margin-top: -1px; + height: calc(100vh - 73px); } h2 span:before { content:url('../img/page-title-bcg-med1.png'); position: absolute; - left: -25px; + left: -39px; z-index: -1; - bottom: -17px; + bottom: -28px; } h2 { text-align: center; - margin: 180px auto 20px; + margin: 32vh auto 20px; } h2 span { z-index: 1; @@ -40,6 +43,7 @@ h2 span { color: whitesmoke; margin: 120px; font-size: 76px; + left: 20px; position: relative; font-family: 'Henry', sans-serif; } @@ -47,8 +51,8 @@ h2 span { /* this is whitesmoke narrow text between title and button */ .slider-desc div p { color: whitesmoke; - width: 800px; - margin: 30px auto; + width: 700px; + margin: 25px auto; } /* SLIDER BUTTON */ @@ -60,7 +64,7 @@ h2 span { background: transparent!important; border: 2px solid var(--yellow); text-align: center; - padding: 10px 60px; + padding: 10px 53px; } /* MAIN CONTENT */ diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 2e7e950..8a9503d 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -106,7 +106,7 @@ header div div .links { .language-switcher-language-url { display: flex; align-items: center; - width: 10px; + width: 0; right: -20px; } #block-languageswitcher ul { From 2977882180a25cb0d79559cf5b187763801a5f90 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Fri, 4 Oct 2019 14:13:28 +0200 Subject: [PATCH 030/139] front --- web/themes/custom/barbell/css/frontPage.css | 30 ++++++++------------- web/themes/custom/barbell/css/style.css | 6 ++--- 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index 6af4008..f419336 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -26,19 +26,11 @@ } h2 span:before { -<<<<<<< HEAD - content: url("../img/page-title-bcg.png"); + content: url("../img/page-title-bcg-med1.png"); position: absolute; left: -25px; z-index: -1; bottom: -17px; -======= - content:url('../img/page-title-bcg-med1.png'); - position: absolute; - left: -25px; - z-index: -1; - bottom: -17px; ->>>>>>> e1331bafe01f780836bed55ea673eb6c13d7b58f } h2 { @@ -47,20 +39,20 @@ h2 { } h2 span { - z-index: 1; - text-transform: uppercase; - color: whitesmoke; - margin: 120px; - font-size: 76px; - position: relative; - font-family: 'Henry', sans-serif; + z-index: 1; + text-transform: uppercase; + color: whitesmoke; + margin: 120px; + font-size: 76px; + position: relative; + font-family: "Henry", sans-serif; } /* this is whitesmoke narrow text between title and button */ .slider-desc div p { - color: whitesmoke; - width: 800px; - margin: 30px auto; + color: whitesmoke; + width: 800px; + margin: 30px auto; } /* SLIDER BUTTON */ diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 8c4b628..46658cb 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -58,8 +58,8 @@ li.sr { header div { display: grid; - grid-template-columns: 300px auto 10%; - height: 60px; + grid-template-columns: 33% auto 7%; + height: 73px; background: var(--yellow); width: 100vw; align-items: center; @@ -70,7 +70,7 @@ header div { clip-path: polygon(0 0, 100% 0%, 80% 100%, 0% 100%); width: 100%; background: black; - height: 60px; + height: 100%; text-align: right; padding-right: 20px; vertical-align: middle; From a8fd2c95c8968898d42cafc7d3f3bbf03834635c Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Fri, 4 Oct 2019 14:22:24 +0200 Subject: [PATCH 031/139] front --- web/themes/custom/barbell/css/style.css | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 15337cf..a709ac1 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -59,7 +59,7 @@ li.sr { header div { display: grid; grid-template-columns: 33% auto 7%; - height: 73px; + height: 75px; background: var(--yellow); width: 100vw; align-items: center; @@ -67,7 +67,7 @@ header div { /* NAV LOGO */ #block-barbell-branding { - clip-path: polygon(0 0, 100% 0%, 80% 100%, 0% 100%); + clip-path: polygon(0 0, 100% 0%, 84% 100%, 0% 100%); width: 100%; background: black; height: 100%; @@ -106,13 +106,8 @@ header div div .links { .language-switcher-language-url { display: flex; align-items: center; -<<<<<<< HEAD - width: 10px; - right: -20px; -======= width: 0; - right: -20px; ->>>>>>> 02a883fbe4d7ad2f429a3db4c9daaf5fcb539cce + right: -20px; } #block-languageswitcher ul { right: 60px; From e25fe3ee3c01a8e06b04eaaba17661f8361fbe19 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Fri, 4 Oct 2019 14:22:36 +0200 Subject: [PATCH 032/139] calc change --- web/themes/custom/barbell/css/frontPage.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index 5197376..f15537b 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -22,7 +22,7 @@ #slick-views-front-slider-block-1-1-slider { padding-top: 1px; margin-top: -1px; - height: calc(100vh - 73px); + height: calc(100vh - 75px); } From 791e642aa6ae2ac6d60c221f94a2d99e5d2a53d3 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Fri, 4 Oct 2019 14:49:57 +0200 Subject: [PATCH 033/139] footer gap solved --- web/themes/custom/barbell/css/style.css | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index a709ac1..4cf3578 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -14,6 +14,11 @@ body, overflow-x: hidden; } +/* FOOTER EXTRA SPACE SOLUTION */ +#block-mainnavigation-menu { + display: none !important; +} + @font-face { font-family: "Brandon Grotesque Medium"; font-style: normal; @@ -233,7 +238,6 @@ header div div .links { display: grid; width: 100%; grid-template-columns: 30% auto 20%; - margin-top: 50px; height: 120px; background: black; align-content: center; From 47916b4dbd4805ff8d68e9a3459b1dc8f9da2689 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Fri, 4 Oct 2019 17:51:39 +0200 Subject: [PATCH 034/139] programi initial --- .../custom/barbell/barbell.libraries.yml | 1 + web/themes/custom/barbell/css/blog.css | 6 +- web/themes/custom/barbell/css/frontPage.css | 20 ++++-- web/themes/custom/barbell/css/style.css | 6 +- web/themes/custom/barbell/css/tim.css | 67 +++++++++++++++++- web/themes/custom/barbell/img/logo.png | Bin 5798 -> 5676 bytes 6 files changed, 91 insertions(+), 9 deletions(-) diff --git a/web/themes/custom/barbell/barbell.libraries.yml b/web/themes/custom/barbell/barbell.libraries.yml index 8c16db8..b890d07 100644 --- a/web/themes/custom/barbell/barbell.libraries.yml +++ b/web/themes/custom/barbell/barbell.libraries.yml @@ -17,3 +17,4 @@ global-styling: css/social.css: {} css/blog.css: {} css/tim.css: {} + css/programi.css: {} diff --git a/web/themes/custom/barbell/css/blog.css b/web/themes/custom/barbell/css/blog.css index e8b6bf2..0bb9eeb 100644 --- a/web/themes/custom/barbell/css/blog.css +++ b/web/themes/custom/barbell/css/blog.css @@ -21,7 +21,8 @@ margin: 100px; } -#block-barbell-content div div .view-content { +.path-blog div .layout-container main .layout-content div #block-barbell-content div div .view-content, +.path-vesti div .layout-container main .layout-content div #block-barbell-content div div .view-content { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 20px; @@ -39,6 +40,9 @@ color: black; font-family: "Brandon Grotesque Medium"; } +.article-thumb a:hover .article-info-wrapper .article-title { + color: whitesmoke; +} .article-image { background: dimgray; diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index e3624eb..91620d6 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -71,7 +71,7 @@ h2 span { .slide .front-slider .slider-image .slider-content .slider-link div { background: transparent !important; - border: 2px solid var(--yellow); + border: 3px solid var(--yellow); text-align: center; padding: 10px 53px; } @@ -95,16 +95,16 @@ h2 span { position: relative; } -.view-programi .view-content { +.path-frontpage .view-programi .view-content { display: grid; - grid-template-columns: repeat(4, 200px); - grid-gap: 20px; + grid-template-columns: repeat(4, 230px); justify-content: space-between; margin: -70px 150px 40px; + height: 230px; } .view-content .views-row { - border: 2px solid var(--yellow); + border: 3px solid var(--yellow); color: black; } @@ -136,4 +136,14 @@ h2 span { margin: 0; text-align: center; font-size: 20px; + font-family: 'Brandon Grotesque Medium', sans-serif; } + + +.program-description div:before { + content: ' '; + display: block; + border-bottom: 3px solid var(--yellow); + width: 70px; + margin: 20px auto; +} \ No newline at end of file diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 4cf3578..b6a7fe2 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -260,13 +260,17 @@ footer div nav { } footer div nav ul li a { - color: gray; + color: dimgray; text-decoration: none; font-family: "Brandon Grotesque Medium"; text-transform: uppercase; font-size: 13px; } +footer div nav ul.menu a.is-active { + color: dimgray; +} + #block-sociallinks { display: flex; align-items: center; diff --git a/web/themes/custom/barbell/css/tim.css b/web/themes/custom/barbell/css/tim.css index f37b64f..88aabca 100644 --- a/web/themes/custom/barbell/css/tim.css +++ b/web/themes/custom/barbell/css/tim.css @@ -1,14 +1,77 @@ .path-tim div div main div div #block-barbell-content div .view-tim .view-content { grid-template-columns: 1fr 1fr; - grid-gap: 20px; + grid-gap: 100px; justify-content: none; margin: 0 auto; } -.view-tim .view-content div div a { +/* HR style */ +.box-division { + color: var(--yellow); + border: 2px solid; + width: 70px; + margin: 20px auto; + } + +.view-tim .view-content div div a:hover div { + color: whitesmoke; } .view-tim .view-content div div a .tim-image div img { width: 100%; +} + +.view-tim { + width: 1000px; + margin: 0 auto; +} + +.tim-thumb { + + text-align: center; + font-family: 'Brandon Grotesque Medium'; +} + +.tim-link { + color: black; + text-decoration: none; +} + +.tim-title { + font-family: 'Henry', sans-serif; + text-transform: uppercase; + font-size: 40px; + margin-top: 30px; +} + +.tim-description { + font-size: 28px; + margin-bottom: 50px; + +} + +.tim-description::before { + content: ' '; + display: block; + border-bottom: 3px solid var(--yellow); + width: 70px; + margin: 20px auto; +} + +.tim-description div { + padding: 10px; +} + +/* uklanjanje bordera sa slike */ +.path-tim div div main .layout-content div div div .view-tim .view-content .views-row { + border: none; +} + +.tim-info-wrapper { + border: 3px solid var(--yellow); +} + +.tim-image { + margin: 0 0 -6px 0; } \ No newline at end of file diff --git a/web/themes/custom/barbell/img/logo.png b/web/themes/custom/barbell/img/logo.png index 48831917d9735126c06e23f7a39aa33d2a20927f..4391b87e2bf47b0dd35b50b103577fe576ab36bf 100644 GIT binary patch delta 5070 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 Date: Fri, 4 Oct 2019 17:52:02 +0200 Subject: [PATCH 035/139] programi init --- web/themes/custom/barbell/css/programi.css | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 web/themes/custom/barbell/css/programi.css diff --git a/web/themes/custom/barbell/css/programi.css b/web/themes/custom/barbell/css/programi.css new file mode 100644 index 0000000..a0e7556 --- /dev/null +++ b/web/themes/custom/barbell/css/programi.css @@ -0,0 +1,9 @@ +.path-programi .dialog-off-canvas-main-canvas .layout-container main div div #block-barbell-content div div div { + display: grid; + grid-template-columns: 1fr 1fr; +} + +.program-thumb a { + display: grid; + grid-template-columns: 1fr 1fr; +} \ No newline at end of file From 295b63acce975c43456b56a458be7497a05f5988 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Fri, 4 Oct 2019 17:52:16 +0200 Subject: [PATCH 036/139] tim --- web/themes/custom/barbell/css/blog.css | 59 ++++++++++---------- web/themes/custom/barbell/css/frontPage.css | 16 +++--- web/themes/custom/barbell/css/style.css | 15 +++-- web/themes/custom/barbell/img/logo.png | Bin 5798 -> 5676 bytes 4 files changed, 48 insertions(+), 42 deletions(-) diff --git a/web/themes/custom/barbell/css/blog.css b/web/themes/custom/barbell/css/blog.css index e8b6bf2..6bea8ac 100644 --- a/web/themes/custom/barbell/css/blog.css +++ b/web/themes/custom/barbell/css/blog.css @@ -1,58 +1,59 @@ .path-blog #block-barbell-page-title, .path-vesti #block-barbell-page-title { - height: 200px; - width: 100vw; + height: 200px; + width: 100vw; } -#block-barbell-page-title h1.page-title { - margin-right: 230px; +.path-blog #block-barbell-page-title h1.page-title { + margin-right: 230px; } -#block-barbell-page-title h1.page-title:before { - display: inline-block; - content: url("../img/page-title-bcg-med1.png"); - position: relative; - z-index: -1; - bottom: -15px; - left: 130px; +/*YELLOW STRIPES FOR BLOG AND VESTI*/ +.path-blog #block-barbell-page-title h1.page-title:before, +.path-vesti #block-barbell-page-title h1.page-title:before { + display: inline-block; + content: url("../img/page-title-bcg-med1.png"); + position: relative; + z-index: -1; + bottom: -15px; + left: 135px; } #block-barbell-content { - margin: 100px; + margin: 100px; } #block-barbell-content div div .view-content { - display: grid; - grid-template-columns: repeat(4, 1fr); - grid-gap: 20px; - justify-content: space-between; - + display: grid; + grid-template-columns: repeat(4, 1fr); + grid-gap: 20px; + justify-content: space-between; } -.article-thumb { - text-align: center; - color: black; +.article-thumb { + text-align: center; + color: black; } .article-thumb a { - text-decoration: none; - color: black; - font-family: "Brandon Grotesque Medium"; + text-decoration: none; + color: black; + font-family: "Brandon Grotesque Medium"; } .article-image { - background: dimgray; + background: dimgray; } .article-image div img { - width: 100%; + width: 100%; } .article-info-wrapper { - padding: 10px; + padding: 10px; } .article-info-wrapper .article-date div time { - color: var(--gray); - font-size: 12px; -} \ No newline at end of file + color: var(--gray); + font-size: 12px; +} diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index e3624eb..51aecb3 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -26,12 +26,10 @@ } #slick-views-front-slider-block-1-1-slider { - padding-top: 1px; - margin-top: -1px; - height: calc(100vh - 75px); - } - - + padding-top: 1px; + margin-top: -1px; + height: calc(100vh - 75px); +} h2 span:before { content: url("../img/page-title-bcg-med1.png"); @@ -77,11 +75,15 @@ h2 span { } /* MAIN CONTENT */ -.node__content div { +.path-frontpage .node__content div { margin-top: 80px; text-align: center; } +.path-frontpage .field--name-body p { + text-align: center; +} + /* PROGRAMI */ #after_content div div { text-align: center; diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 4cf3578..872c3fa 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -86,7 +86,9 @@ header div { #block-barbell-branding a img { display: inline-block; - margin-right: 80px; + margin-right: 62px; + width: 290px; + padding: 19px 0; } /* NAV MAIN */ @@ -101,6 +103,7 @@ header div { text-decoration: none; color: black; font-family: "Brandon Grotesque Medium"; + font-size: 17px; } /* Language switcher */ @@ -205,6 +208,7 @@ header div div .links { .node__content, #block-zakazitetrening div { display: grid; + position: relative; } .field--name-field-link-button, @@ -216,8 +220,6 @@ header div div .links { padding: 25px 50px; font-size: 27px; margin: auto; - - align-content: center; border-radius: 45px; } @@ -278,9 +280,10 @@ footer div nav ul li a { /* BLOCKQUOTE */ blockquote p { text-transform: uppercase; - font-family: "Henry", sans-serif; - text-align: center; - font-size: 60px; + font-family: "Henry", sans-serif !important; + text-align: center !important; + font-size: 74px !important; + margin: 80px 0 90px !important; } /* +++++++++++ KONTAKT +++++++++++ */ diff --git a/web/themes/custom/barbell/img/logo.png b/web/themes/custom/barbell/img/logo.png index 48831917d9735126c06e23f7a39aa33d2a20927f..4391b87e2bf47b0dd35b50b103577fe576ab36bf 100644 GIT binary patch delta 5070 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 Date: Sat, 5 Oct 2019 16:05:17 +0200 Subject: [PATCH 037/139] tim --- web/themes/custom/barbell/css/blog.css | 38 +++++++--- web/themes/custom/barbell/css/style.css | 2 +- web/themes/custom/barbell/css/tim.css | 93 +++++++++++++++---------- 3 files changed, 83 insertions(+), 50 deletions(-) diff --git a/web/themes/custom/barbell/css/blog.css b/web/themes/custom/barbell/css/blog.css index 2fe3a3a..5f0c187 100644 --- a/web/themes/custom/barbell/css/blog.css +++ b/web/themes/custom/barbell/css/blog.css @@ -1,22 +1,38 @@ .path-blog #block-barbell-page-title, -.path-vesti #block-barbell-page-title { - height: 200px; - width: 100vw; +.path-vesti #block-barbell-page-title, +.path-tim #block-barbell-page-title, +.path-programi #block-barbell-page-title { + /* height: 200px; + width: 100vw; */ + text-align: center; + margin-top: 150px; + margin-bottom: 120px; } -.path-blog #block-barbell-page-title h1.page-title { +/* .path-blog #block-barbell-page-title h1.page-title { margin-right: 230px; +} */ + +/*NO-SPAN TAGGED TITLES and YELLOW STRIPES FOR NO-SPAN TAGGED TITLES*/ +.path-blog h1.page-title, +.path-vesti h1.page-title, +.path-tim h1.page-title, +.path-programi h1.page-title { + display: inline-block !important; + margin: 0 auto; + position: relative; } -/*YELLOW STRIPES FOR BLOG AND VESTI*/ -.path-blog #block-barbell-page-title h1.page-title:before, -.path-vesti #block-barbell-page-title h1.page-title:before { - display: inline-block; +.path-blog .page-title:before, +.path-vesti .page-title:before, +.path-tim .page-title:before, +.path-programi .page-title:before { content: url("../img/page-title-bcg-med1.png"); - position: relative; + position: absolute; z-index: -1; - bottom: -15px; - left: 135px; + bottom: -19px; + left: -38px; + color: red; } #block-barbell-content { diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 2e03dd9..26ebc4c 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -178,7 +178,7 @@ header div div .links { } .page-title .field--name-title:before { left: -25px; - bottom: -29px; + bottom: -27px; } .kontakt-block-content h3 { diff --git a/web/themes/custom/barbell/css/tim.css b/web/themes/custom/barbell/css/tim.css index 88aabca..5915bb2 100644 --- a/web/themes/custom/barbell/css/tim.css +++ b/web/themes/custom/barbell/css/tim.css @@ -1,77 +1,94 @@ -.path-tim div div main div div #block-barbell-content div .view-tim .view-content { - grid-template-columns: 1fr 1fr; - grid-gap: 100px; - justify-content: none; - margin: 0 auto; +.path-tim + div + div + main + div + div + #block-barbell-content + div + .view-tim + .view-content { + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: 55px; + /* justify-content: none; */ + /* margin: 0 auto; */ } /* HR style */ .box-division { - color: var(--yellow); - border: 2px solid; - width: 70px; - margin: 20px auto; - } - + color: var(--yellow); + border: 2px solid; + width: 70px; + margin: 20px auto; +} .view-tim .view-content div div a:hover div { - color: whitesmoke; + color: whitesmoke; } .view-tim .view-content div div a .tim-image div img { - width: 100%; + width: 100%; } .view-tim { - width: 1000px; - margin: 0 auto; + width: 1000px; + margin: 0 auto; } .tim-thumb { - - text-align: center; - font-family: 'Brandon Grotesque Medium'; + text-align: center; + font-family: "Brandon Grotesque Medium"; } .tim-link { - color: black; - text-decoration: none; + color: black; + text-decoration: none; } .tim-title { - font-family: 'Henry', sans-serif; - text-transform: uppercase; - font-size: 40px; - margin-top: 30px; + font-family: "Henry", sans-serif; + text-transform: uppercase; + font-size: 40px; + margin-top: 30px; } .tim-description { - font-size: 28px; - margin-bottom: 50px; - + font-size: 28px; + margin-bottom: 50px; } .tim-description::before { - content: ' '; - display: block; - border-bottom: 3px solid var(--yellow); - width: 70px; - margin: 20px auto; + content: " "; + display: block; + border-bottom: 3px solid var(--yellow); + width: 70px; + margin: 20px auto; } .tim-description div { - padding: 10px; + padding: 10px; } /* uklanjanje bordera sa slike */ -.path-tim div div main .layout-content div div div .view-tim .view-content .views-row { - border: none; +.path-tim + div + div + main + .layout-content + div + div + div + .view-tim + .view-content + .views-row { + border: none; } .tim-info-wrapper { - border: 3px solid var(--yellow); + border: 3px solid var(--yellow); } .tim-image { - margin: 0 0 -6px 0; -} \ No newline at end of file + margin: 0 0 -6px 0; +} From 1edf1df1afe708070a73b1d7a9bf746b1a89509c Mon Sep 17 00:00:00 2001 From: hikeislife Date: Sat, 5 Oct 2019 20:25:38 +0200 Subject: [PATCH 038/139] programi css --- web/themes/custom/barbell/css/programi.css | 77 ++++++++++++++++++++-- 1 file changed, 70 insertions(+), 7 deletions(-) diff --git a/web/themes/custom/barbell/css/programi.css b/web/themes/custom/barbell/css/programi.css index a0e7556..d14a58e 100644 --- a/web/themes/custom/barbell/css/programi.css +++ b/web/themes/custom/barbell/css/programi.css @@ -1,9 +1,72 @@ -.path-programi .dialog-off-canvas-main-canvas .layout-container main div div #block-barbell-content div div div { - display: grid; - grid-template-columns: 1fr 1fr; +:root { + --each: 400px; /* širina celog jednog program boxa */ + --oneHalf: 200px; /* širina slike / texta unutar jednog boxa */ + } + + /* spoljni grid koji drži po dva programa u jednom redu */ + .path-programi .view-content { + display: grid; + grid-template-columns: var(--each) var(--each); + justify-content: space-around; + } + + .path-programi .view-content .views-row { + height: 233px; + overflow: hidden; + } + + /* div pojedinog programa */ + .path-programi .view-content .views-row .program-thumb { + margin: 0; + } + + .path-programi .view-content .views-row .program-thumb .program-link { + display: grid; + grid-template-columns: var(--oneHalf) var(--oneHalf); + } + + /* LEVA SLIKA */ + .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-image { + clip-path: polygon(0 0, 100% 0%, 75% 100%, 0% 100%); + background: var(--yellow); + + } + .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-image img { + overflow: hidden; + } + +/* LEVI TEXT */ +.path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-title { + position: relative; + right: 10px; + padding: 10px; } -.program-thumb a { - display: grid; - grid-template-columns: 1fr 1fr; -} \ No newline at end of file +/* DESNI TEXT */ +.path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-title { + /* position: relative; + right: 10px; */ + padding: 10px; +} + + /* OKRETANJE PARNIH PROGRAMA NA DRUGU STRANU */ + .path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-image { + background: var(--yellow); + grid-column: 2/3; + clip-path: polygon(0 0, 100% 0%, 100% 100%, 25% 100%); + } + + .path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-info-wrapper { + grid-column: 1/2; + grid-row: 1/2; + } + + /* .path-programi .view-content .views-row { + border: 3px solid transparent; + color: black; + } + + .path-programi .view-content .views-row:hover { + border: 3px solid transparent!important; + background: transparent; + } */ \ No newline at end of file From a169965bd02a915c1791ea50c65da04dc0f962ba Mon Sep 17 00:00:00 2001 From: hikeislife Date: Mon, 7 Oct 2019 13:53:45 +0200 Subject: [PATCH 039/139] programi --- web/themes/custom/barbell/css/programi.css | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/web/themes/custom/barbell/css/programi.css b/web/themes/custom/barbell/css/programi.css index d14a58e..a852ddb 100644 --- a/web/themes/custom/barbell/css/programi.css +++ b/web/themes/custom/barbell/css/programi.css @@ -18,16 +18,18 @@ /* div pojedinog programa */ .path-programi .view-content .views-row .program-thumb { margin: 0; + height: 100%; } .path-programi .view-content .views-row .program-thumb .program-link { display: grid; grid-template-columns: var(--oneHalf) var(--oneHalf); + height: 100%; } /* LEVA SLIKA */ .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-image { - clip-path: polygon(0 0, 100% 0%, 75% 100%, 0% 100%); + clip-path: polygon(0 0, 100% 0%, 15% 100%, 0% 100%); background: var(--yellow); } @@ -53,7 +55,7 @@ .path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-image { background: var(--yellow); grid-column: 2/3; - clip-path: polygon(0 0, 100% 0%, 100% 100%, 25% 100%); + clip-path: polygon(0 0, 100% 0%, 100% 100%, 85% 100%); } .path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-info-wrapper { @@ -61,12 +63,13 @@ grid-row: 1/2; } - /* .path-programi .view-content .views-row { + .path-programi .view-content .views-row { border: 3px solid transparent; color: black; } .path-programi .view-content .views-row:hover { + backgrond: black; border: 3px solid transparent!important; - background: transparent; - } */ \ No newline at end of file + /*background: transparent;*/ + } \ No newline at end of file From ffb0e5d5c6ccf62ab49a595f6ae26188ff1a3694 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Mon, 7 Oct 2019 17:47:46 +0200 Subject: [PATCH 040/139] detalji --- web/themes/custom/barbell/css/frontPage.css | 18 +++++++++--------- web/themes/custom/barbell/css/style.css | 21 +++++++++++++++------ 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index eb28f3e..d10c715 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -36,7 +36,7 @@ h2 span:before { position: absolute; left: -39px; z-index: -1; - bottom: -28px; + bottom: -26px; } h2 { @@ -60,6 +60,7 @@ h2 span { color: whitesmoke; width: 700px; margin: 25px auto; + font-size: 30px; } /* SLIDER BUTTON */ @@ -138,14 +139,13 @@ h2 span { margin: 0; text-align: center; font-size: 20px; - font-family: 'Brandon Grotesque Medium', sans-serif; + font-family: "Brandon Grotesque Medium", sans-serif; } - .program-description div:before { - content: ' '; - display: block; - border-bottom: 3px solid var(--yellow); - width: 70px; - margin: 20px auto; -} \ No newline at end of file + content: " "; + display: block; + border-bottom: 3px solid var(--yellow); + width: 70px; + margin: 20px auto; +} diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 26ebc4c..29e3174 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -194,7 +194,7 @@ header div div .links { .field--name-body p { margin: 0 13%; font-family: "Brandon Grotesque Medium"; - font-size: 28px; + font-size: 24px; text-align: justify; } @@ -219,12 +219,17 @@ header div div .links { text-transform: uppercase; padding: 25px 50px; font-size: 27px; - margin: auto; + margin: 90px auto 90px; border-radius: 45px; } +.path-frontpage .field--name-field-link-button, #block-zakazitetrening div p { - margin-top: 70px; + margin: 0 auto 90px; +} + +#block-zakazitetrening div p { + margin-top: 70px auto 70px; } .field--name-field-link-button a, @@ -235,12 +240,16 @@ header div div .links { } /* FOOTER */ +footer { + height: 100px; +} + .region-footer { /* black bar wrapper */ display: grid; width: 100%; + height: 100%; grid-template-columns: 30% auto 20%; - height: 120px; background: black; align-content: center; } @@ -252,7 +261,7 @@ header div div .links { #block-yearname div { width: 100%; margin: 0; - margin-left: 130px; + margin-top: 3px; } footer div nav { @@ -287,7 +296,7 @@ blockquote p { font-family: "Henry", sans-serif !important; text-align: center !important; font-size: 74px !important; - margin: 80px 0 90px !important; + margin: 80px 0 0 !important; } /* +++++++++++ KONTAKT +++++++++++ */ From 159feec5b626d90a207e64aa51778f1f29048043 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Thu, 10 Oct 2019 17:28:23 +0200 Subject: [PATCH 041/139] txt margin --- .../brandon-grotesque-bold-587bd6400afd0.woff | Bin 42024 -> 39852 bytes web/themes/custom/barbell/css/style.css | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/web/themes/custom/barbell/css/brandon-grotesque-bold-587bd6400afd0.woff b/web/themes/custom/barbell/css/brandon-grotesque-bold-587bd6400afd0.woff index 566d28f837fcca33946aaedf934ae260566a5774..d40945c96c0a834c80996d524b0841dba5bbc9a9 100644 GIT binary patch delta 39104 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 literal 42024 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 diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 29e3174..7adea00 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -192,7 +192,7 @@ header div div .links { /* MAIN TXT (all, except home page) */ .field--name-body p { - margin: 0 13%; + margin: 0 11%; font-family: "Brandon Grotesque Medium"; font-size: 24px; text-align: justify; From 188d6cf916cc1e804ce642a32fbd99c8b9fab38f Mon Sep 17 00:00:00 2001 From: hikeislife Date: Thu, 10 Oct 2019 17:34:01 +0200 Subject: [PATCH 042/139] css --- web/themes/custom/barbell/css/frontPage.css | 22 +++++++++++++++++++++ web/themes/custom/barbell/css/programi.css | 6 ++++++ 2 files changed, 28 insertions(+) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index d10c715..f05e03a 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -149,3 +149,25 @@ h2 span { width: 70px; margin: 20px auto; } + +.path-frontpage .slick__arrow { + text-align: center; + padding-bottom: 10px; +} + +.slick-prev, .slick-next { + content: ' '!important; + background: var(--yellow); + visibility: hidden; +} + +.slick-prev:before, .slick-next:before { + content: ' '; + background: var(--yellow); + width: 20px; + height: 20px; + border-radius: 50%; + z-index: 10; + visibility: visible; + display: inline-block; +} \ No newline at end of file diff --git a/web/themes/custom/barbell/css/programi.css b/web/themes/custom/barbell/css/programi.css index a852ddb..7f7d710 100644 --- a/web/themes/custom/barbell/css/programi.css +++ b/web/themes/custom/barbell/css/programi.css @@ -1,6 +1,7 @@ :root { --each: 400px; /* širina celog jednog program boxa */ --oneHalf: 200px; /* širina slike / texta unutar jednog boxa */ + --text: 350px; } /* spoljni grid koji drži po dva programa u jednom redu */ @@ -26,6 +27,11 @@ grid-template-columns: var(--oneHalf) var(--oneHalf); height: 100%; } + /* .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-info-wrapper { + position: absolute; + border: 3px solid var(--yellow); + height: 100%; + } */ /* LEVA SLIKA */ .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-image { From ddde7c9a814e5891143f2b9656b9ae2fb26ba010 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Fri, 11 Oct 2019 13:27:16 +0200 Subject: [PATCH 043/139] title font --- .../brandon-grotesque-bold-587bd6400afd0.woff | Bin 39852 -> 0 bytes web/themes/custom/barbell/css/frontPage.css | 2 +- web/themes/custom/barbell/css/style.css | 9 +++++---- 3 files changed, 6 insertions(+), 5 deletions(-) delete mode 100644 web/themes/custom/barbell/css/brandon-grotesque-bold-587bd6400afd0.woff diff --git a/web/themes/custom/barbell/css/brandon-grotesque-bold-587bd6400afd0.woff b/web/themes/custom/barbell/css/brandon-grotesque-bold-587bd6400afd0.woff deleted file mode 100644 index d40945c96c0a834c80996d524b0841dba5bbc9a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39852 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

$!`WQIJ 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 Date: Fri, 11 Oct 2019 13:28:37 +0200 Subject: [PATCH 044/139] composer --- composer.json | 1 + composer.lock | 49 +++++++++++++++++++-- web/themes/custom/barbell/css/frontPage.css | 16 ++++--- 3 files changed, 57 insertions(+), 9 deletions(-) diff --git a/composer.json b/composer.json index e7e2e4f..bcd571f 100644 --- a/composer.json +++ b/composer.json @@ -28,6 +28,7 @@ "drupal/core": "^8.7.0", "drupal/devel": "2.x-dev", "drupal/entity_clone": "1.x-dev", + "drupal/responsive_menus": "1.x-dev", "drupal/slick": "^2.0", "drupal/slick_views": "^2.0", "drush/drush": "^9.0.0", diff --git a/composer.lock b/composer.lock index 2d84f2b..7af6840 100644 --- a/composer.lock +++ b/composer.lock @@ -1,10 +1,10 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "16af204ccc56b44b3e0e911f86404b47", + "content-hash": "b60eedeb90f7d5f21cf0902031aa5c4c", "packages": [ { "name": "alchemy/zippy", @@ -3004,6 +3004,48 @@ }, "time": "2019-04-29T12:18:02+00:00" }, + { + "name": "drupal/responsive_menus", + "version": "dev-1.x", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/responsive_menus.git", + "reference": "d58325af394be9e59da176981f60f37466ef3b48" + }, + "require": { + "drupal/core": "~8.0" + }, + "type": "drupal-module", + "extra": { + "branch-alias": { + "dev-1.x": "1.x-dev" + }, + "drupal": { + "version": "8.x-1.x-dev", + "datestamp": "1471448909", + "security-coverage": { + "status": "not-covered", + "message": "Dev releases are not covered by Drupal security advisories." + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "jwjoshuawalker", + "homepage": "https://www.drupal.org/user/433663" + } + ], + "description": "Responsify any menu using CSS Selectors.", + "homepage": "https://www.drupal.org/project/responsive_menus", + "support": { + "source": "https://git.drupalcode.org/project/responsive_menus" + }, + "time": "2016-08-17T15:48:24+00:00" + }, { "name": "drupal/slick", "version": "2.0.0-rc4", @@ -8996,7 +9038,8 @@ "stability-flags": { "drupal/backup_migrate": 20, "drupal/devel": 20, - "drupal/entity_clone": 20 + "drupal/entity_clone": 20, + "drupal/responsive_menus": 20 }, "prefer-stable": true, "prefer-lowest": false, diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index f05e03a..775f400 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -100,15 +100,19 @@ h2 span { .path-frontpage .view-programi .view-content { display: grid; - grid-template-columns: repeat(4, 230px); - justify-content: space-between; - margin: -70px 150px 40px; - height: 230px; + /* grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); */ + /* grid-template-columns: repeat(4, minmax(1fr, 230px)); */ + grid-template-columns: repeat(4, 1fr); + grid-gap: 25px; + margin: -70px 170px 40px; + /* height: 230px; */ } .view-content .views-row { border: 3px solid var(--yellow); color: black; + width: 300px; + height: 300px; } .view-content .views-row:hover { @@ -127,7 +131,7 @@ h2 span { .program-title span { font-family: "Henrik"; - font-size: 26px; + font-size: 36px; } .program-link { @@ -138,7 +142,7 @@ h2 span { .program-description div { margin: 0; text-align: center; - font-size: 20px; + font-size: 29px; font-family: "Brandon Grotesque Medium", sans-serif; } From d85e43d1e537089b477e770b557399e46d344c6d Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Fri, 11 Oct 2019 13:35:06 +0200 Subject: [PATCH 045/139] title font --- web/themes/custom/barbell/css/Brandon_blk.otf | Bin 0 -> 90892 bytes .../brandon-grotesque-bold-587bd6400afd0.otf | Bin 0 -> 90892 bytes web/themes/custom/barbell/css/style.css | 6 ++---- 3 files changed, 2 insertions(+), 4 deletions(-) create mode 100644 web/themes/custom/barbell/css/Brandon_blk.otf create mode 100644 web/themes/custom/barbell/css/brandon-grotesque-bold-587bd6400afd0.otf diff --git a/web/themes/custom/barbell/css/Brandon_blk.otf b/web/themes/custom/barbell/css/Brandon_blk.otf new file mode 100644 index 0000000000000000000000000000000000000000..936deceed9e9491b2851f18896e99732b18a5fd4 GIT binary patch literal 90892 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 Date: Fri, 11 Oct 2019 13:38:57 +0200 Subject: [PATCH 046/139] title font --- web/themes/custom/barbell/css/style.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index ed9b406..921f271 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -31,14 +31,14 @@ body, font-family: "Brandon Grotesque Bold"; font-style: normal; font-weight: normal; - src: local("Brandon Grotesque Bold"), url("Brandon_blk.otf") format("otf"); + src: local("Brandon Grotesque Bold"), url("Brandon_blk.otf") format("woff"); } @font-face { font-family: "Henry"; font-style: normal; font-weight: normal; - src: local("Henry"), url("Brandon_blk.otf") format("otf"); + src: local("Henry"), url("Brandon_blk.otf") format("woff"); } /* NAVIGATION */ From f2eef857a3fa6f392aa0373744d3aa0bab2e7619 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Fri, 11 Oct 2019 13:39:19 +0200 Subject: [PATCH 047/139] henry --- web/themes/custom/barbell/css/frontPage.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index 6ab43f7..b2f4d50 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -130,7 +130,8 @@ h2 span { } .program-title span { - font-family: "Henrik"; + font-family: "Henry"; + text-transform: uppercase; font-size: 36px; } From 825934533f46f1067f763ddd6dcc796ccb2fbcb6 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Fri, 11 Oct 2019 13:46:05 +0200 Subject: [PATCH 048/139] title font --- web/themes/custom/barbell/css/frontPage.css | 14 ++++++++------ web/themes/custom/barbell/css/style.css | 1 + 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index 825f4e8..aa0a4b9 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -126,7 +126,7 @@ h2 span { } .program-title span { - font-family: "Henrik"; + font-family: "Henry"; font-size: 26px; } @@ -155,14 +155,16 @@ h2 span { padding-bottom: 10px; } -.slick-prev, .slick-next { - content: ' '!important; +.slick-prev, +.slick-next { + content: " " !important; background: var(--yellow); visibility: hidden; } -.slick-prev:before, .slick-next:before { - content: ' '; +.slick-prev:before, +.slick-next:before { + content: " "; background: var(--yellow); width: 20px; height: 20px; @@ -170,4 +172,4 @@ h2 span { z-index: 10; visibility: visible; display: inline-block; -} \ No newline at end of file +} diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 921f271..4b317f7 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -201,6 +201,7 @@ header div div .links { .field--name-body p strong { font-family: "Brandon Grotesque Bold"; font-size: 30px; + letter-spacing: 1px; } /* BUTTON (all, except home page)*/ From b3f58faf37e748a4cb4e2cf9a6082b10432d43b3 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Fri, 11 Oct 2019 14:00:19 +0200 Subject: [PATCH 049/139] programi css conflict --- web/themes/custom/barbell/css/frontPage.css | 13 +++++++------ web/themes/custom/barbell/css/programi.css | 11 +++++++++++ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index 8759dc2..a3604d7 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -108,7 +108,7 @@ h2 span { /* height: 230px; */ } -.view-content .views-row { +.path-frontpage .view-content .views-row { border: 3px solid var(--yellow); color: black; width: 300px; @@ -124,30 +124,31 @@ h2 span { color: whitesmoke; } -.program-thumb { +.path-frontpage .program-thumb { margin: 10px; text-align: center; } -.program-title span { +.path-frontpage .program-title span { font-family: "Henry"; font-size: 36px; text-transform: uppercase; } -.program-link { +.path-frontpage .program-link { color: black; text-decoration: none; } -.program-description div { +.path-frontpage .program-description div { margin: 0; text-align: center; font-size: 29px; font-family: "Brandon Grotesque Medium", sans-serif; } -.program-description div:before { +.path-frontpage .program-description div:before, +.path-programi .program-description div:before { content: " "; display: block; border-bottom: 3px solid var(--yellow); diff --git a/web/themes/custom/barbell/css/programi.css b/web/themes/custom/barbell/css/programi.css index 7f7d710..216d944 100644 --- a/web/themes/custom/barbell/css/programi.css +++ b/web/themes/custom/barbell/css/programi.css @@ -4,6 +4,17 @@ --text: 350px; } + .path-programi .program-title span { + font-family: "Henry"; + font-size: 26px; + text-transform: uppercase; + } + + .path-programi .program-link { + color: black; + text-decoration: none; + } + /* spoljni grid koji drži po dva programa u jednom redu */ .path-programi .view-content { display: grid; From 7e44a2124e8eceb4cd6201cb0fe58b4b011bd64b Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Fri, 11 Oct 2019 16:42:15 +0200 Subject: [PATCH 050/139] map --- web/themes/custom/barbell/css/blog.css | 8 +++---- web/themes/custom/barbell/css/frontPage.css | 8 +++---- web/themes/custom/barbell/css/style.css | 23 ++++++++++++++------- 3 files changed, 24 insertions(+), 15 deletions(-) diff --git a/web/themes/custom/barbell/css/blog.css b/web/themes/custom/barbell/css/blog.css index 5f0c187..5052f5a 100644 --- a/web/themes/custom/barbell/css/blog.css +++ b/web/themes/custom/barbell/css/blog.css @@ -27,16 +27,16 @@ .path-vesti .page-title:before, .path-tim .page-title:before, .path-programi .page-title:before { - content: url("../img/page-title-bcg-med1.png"); + content: url("../img/yellow-stripes-78.png"); position: absolute; z-index: -1; - bottom: -19px; - left: -38px; + bottom: -16px; + left: -30px; color: red; } #block-barbell-content { - margin: 100px; + /* margin: 100px; */ } .path-blog diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index a3604d7..4638557 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -32,11 +32,11 @@ } h2 span:before { - content: url("../img/page-title-bcg-med1.png"); + content: url("../img/yellow-stripes-78.png"); position: absolute; - left: -39px; + left: -29px; z-index: -1; - bottom: -26px; + bottom: -16px; } h2 { @@ -49,7 +49,7 @@ h2 span { text-transform: uppercase; color: whitesmoke; margin: 120px; - font-size: 76px; + font-size: 64px; left: 20px; position: relative; font-family: "Brandon Grotesque Bold", sans-serif; diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 4b317f7..b97b76e 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -138,7 +138,7 @@ header div div .links { position: absolute; font-weight: bold; font-size: 20px; - left: 86px; + left: 89px; top: 1px; } @@ -157,7 +157,7 @@ header div div .links { text-align: center; text-transform: uppercase; margin: 120px; - font-size: 76px; + font-size: 64px; font-family: "Henry", sans-serif; letter-spacing: 2px; } @@ -171,13 +171,13 @@ header div div .links { .page-title .field--name-title:before, .kontakt-block-content h3:before, #after_content div div h2:before { - content: url("../img/page-title-bcg-med1.png"); + content: url("../img/yellow-stripes-78.png"); position: absolute; z-index: -1; } .page-title .field--name-title:before { - left: -25px; - bottom: -27px; + left: -32px; + bottom: -15px; } .kontakt-block-content h3 { @@ -193,7 +193,7 @@ header div div .links { .field--name-body p { margin: 0 11%; font-family: "Brandon Grotesque Medium"; - font-size: 24px; + font-size: 29px; text-align: justify; } @@ -301,11 +301,20 @@ blockquote p { /* +++++++++++ KONTAKT +++++++++++ */ -.front-kontakt-holder { +#pre_footer { display: grid; grid-template-columns: 1fr 1fr; } +#pre_footer .pre_footer_right, +.pre_footer_right div { + height: 100%; +} + +.front-kontakt-holder { + height: 100%; +} + .kontakt-block-content { font-family: "Brandon Grotesque Bold", sans-serif; color: whitesmoke; From a5101db9a0090ff411dae3246f589b0961a9bd49 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Fri, 11 Oct 2019 17:33:46 +0200 Subject: [PATCH 051/139] front page small screen initial --- web/themes/custom/barbell/css/blog.css | 3 +- web/themes/custom/barbell/css/frontPage.css | 41 ++++++++++++ web/themes/custom/barbell/css/social.css | 10 +++ web/themes/custom/barbell/css/style.css | 71 +++++++++++++++++++++ 4 files changed, 124 insertions(+), 1 deletion(-) diff --git a/web/themes/custom/barbell/css/blog.css b/web/themes/custom/barbell/css/blog.css index 5f0c187..6c7669c 100644 --- a/web/themes/custom/barbell/css/blog.css +++ b/web/themes/custom/barbell/css/blog.css @@ -35,7 +35,8 @@ color: red; } -#block-barbell-content { +.path-blog #block-barbell-content, +.path-vesti #block-barbell-content { margin: 100px; } diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index a3604d7..9eea3f8 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -39,6 +39,14 @@ h2 span:before { bottom: -26px; } +@media only screen and (max-width: 768px) { + h2 span:before { + content: url("../img/page-title-bcg.png"); + bottom: -15px; + left: -25px; + } +} + h2 { text-align: center; margin: 32vh auto 20px; @@ -54,6 +62,13 @@ h2 span { position: relative; font-family: "Brandon Grotesque Bold", sans-serif; } +@media only screen and (max-width: 768px) { + h2 span { + margin: 0; + font-size: 45px; + } + +} /* this is whitesmoke narrow text between title and button */ .slider-desc div p { @@ -62,6 +77,12 @@ h2 span { margin: 25px auto; font-size: 30px; } +@media only screen and (max-width: 768px) { + .slider-desc div p { + width: 90vw; + margin-bottom: 10px !important; + } +} /* SLIDER BUTTON */ .slide .front-slider .slider-image .slider-content .slider-link { @@ -75,6 +96,12 @@ h2 span { padding: 10px 53px; } +@media only screen and (max-width: 768px) { + .slide .front-slider .slider-image .slider-content .slider-link div { + padding: 10px 20px; + } +} + /* MAIN CONTENT */ .path-frontpage .node__content div { margin-top: 80px; @@ -85,6 +112,13 @@ h2 span { text-align: center; } +@media only screen and (max-width: 768px) { + .path-frontpage .field--name-body p { + margin: 0 20px; + font-size: 18px; + } +} + /* PROGRAMI */ #after_content div div { text-align: center; @@ -97,6 +131,13 @@ h2 span { left: 123px; position: relative; } +@media only screen and (max-width: 768px) { + .path-frontpage #after_content div div h2 { + margin: 0; + font-size: 45px; + } + +} .path-frontpage .view-programi .view-content { display: grid; diff --git a/web/themes/custom/barbell/css/social.css b/web/themes/custom/barbell/css/social.css index 02c3023..bb91108 100644 --- a/web/themes/custom/barbell/css/social.css +++ b/web/themes/custom/barbell/css/social.css @@ -16,4 +16,14 @@ #block-mainnavigation ul, #block-mainnavigation ul li { display: inline; + } + + @media only screen and (max-width: 768px) { + #block-mainnavigation ul li { + display: block; + + } + #block-mainnavigation ul { + margin: 20px; + } } \ No newline at end of file diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 4b317f7..9a644f1 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -162,6 +162,15 @@ header div div .links { letter-spacing: 2px; } +@media only screen and (max-width: 768px) { + .page-title, + .kontakt-block-content h3, + #after_content div div h2 { + margin: 0; + font-size: 45px; + } +} + .field--name-title, .kontakt-block-content h3 { position: relative; @@ -175,11 +184,21 @@ header div div .links { position: absolute; z-index: -1; } + +@media only screen and (max-width: 768px) { + .page-title .field--name-title:before, + .kontakt-block-content h3:before, + #after_content div div h2:before { + content: url("../img/page-title-bcg.png"); + } +} .page-title .field--name-title:before { left: -25px; bottom: -27px; } + + .kontakt-block-content h3 { display: inline-block; } @@ -189,6 +208,14 @@ header div div .links { bottom: -21px; } +@media only screen and (max-width: 768px) { + .page-title .field--name-title:before, + .kontakt-block-content h3:before { + left: -25px; + bottom: -15px; + } +} + /* MAIN TXT (all, except home page) */ .field--name-body p { margin: 0 11%; @@ -223,6 +250,13 @@ header div div .links { border-radius: 45px; } +@media only screen and (max-width: 768px) { + .field--name-field-link-button, + #block-zakazitetrening div p { + font-size: 20px; + } +} + .path-frontpage .field--name-field-link-button, #block-zakazitetrening div p { margin: 0 auto 90px; @@ -254,10 +288,23 @@ footer { align-content: center; } +@media only screen and (max-width: 768px) { + .region-footer { + height: unset; + } +} + #block-yearname { color: var(--yellow); } +@media only screen and (max-width: 768px) { + #block-yearname { + align-self: center; + display: grid; + } +} + #block-yearname div { width: 100%; margin: 0; @@ -306,6 +353,12 @@ blockquote p { grid-template-columns: 1fr 1fr; } +@media only screen and (max-width: 768px) { + .front-kontakt-holder { + grid-template-columns: 1fr; + } +} + .kontakt-block-content { font-family: "Brandon Grotesque Bold", sans-serif; color: whitesmoke; @@ -329,11 +382,23 @@ blockquote p { font-size: 43px; } +@media only screen and (max-width: 768px) { + .kontakt-block-content .tel a { + font-size: 30px; + } +} + .kontakt-block-content .address { font-size: 33px; margin-bottom: 50px; } +@media only screen and (max-width: 768px) { + .kontakt-block-content .address { + font-size: 24px; + } +} + .kontakt-block-content .email { margin-bottom: 80px; } @@ -345,6 +410,12 @@ blockquote p { margin-bottom: 80px; } +@media only screen and (max-width: 768px) { + .kontakt-block-content .email a { + font-size: 28px; + } +} + .kontakt-block-content .socials { font-size: 42px; margin-bottom: 60px; From 9ee7dd6302958a86ef547263a963c1a3dae95c8b Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Sat, 12 Oct 2019 18:05:08 +0200 Subject: [PATCH 052/139] fp programi --- web/themes/custom/barbell/css/frontPage.css | 39 ++++++++++++++++----- 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index bab737f..c3d9b97 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -63,11 +63,10 @@ h2 span { font-family: "Brandon Grotesque Bold", sans-serif; } @media only screen and (max-width: 768px) { - h2 span { + h2 span { margin: 0; font-size: 45px; } - } /* this is whitesmoke narrow text between title and button */ @@ -125,37 +124,40 @@ h2 span { } #after_content div div h2 { display: inline-block; + position: relative; } #after_content div div h2:before { bottom: -15px; - left: 123px; - position: relative; + left: -22px; } @media only screen and (max-width: 768px) { .path-frontpage #after_content div div h2 { margin: 0; font-size: 45px; } - } .path-frontpage .view-programi .view-content { display: grid; - /* grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); */ - /* grid-template-columns: repeat(4, minmax(1fr, 230px)); */ grid-template-columns: repeat(4, 1fr); grid-gap: 25px; margin: -70px 170px 40px; - /* height: 230px; */ + justify-content: center; } .path-frontpage .view-content .views-row { border: 3px solid var(--yellow); + margin: 0 auto; color: black; width: 300px; height: 300px; } +.path-frontpage .view-programi .view-content:nth-child(1), +.path-frontpage .view-programi .view-content:nth-child(2) { + grid-column: 1/2; +} + .view-content .views-row:hover { border: 2px solid black; background: black; @@ -220,3 +222,24 @@ h2 span { visibility: visible; display: inline-block; } + +@media only screen and (min-width: 1200px) and (max-width: 1600px) { + .path-frontpage .view-programi .view-content { + grid-gap: 25px; + margin: -70px 12% 40px; + } + + .path-frontpage .view-content .views-row { + width: 250px; + height: 250px; + } + + .path-frontpage .program-title span { + font-size: 29px; + } + + .path-frontpage .program-description div { + font-size: 25px; + line-height: 27px; + } +} From 82b741b31cebd334d17888c315b3687f80cfdcf6 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Sat, 12 Oct 2019 18:09:43 +0200 Subject: [PATCH 053/139] fp programi --- web/themes/custom/barbell/css/frontPage.css | 3 +++ 1 file changed, 3 insertions(+) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index c3d9b97..efb5791 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -122,14 +122,17 @@ h2 span { #after_content div div { text-align: center; } + #after_content div div h2 { display: inline-block; position: relative; } + #after_content div div h2:before { bottom: -15px; left: -22px; } + @media only screen and (max-width: 768px) { .path-frontpage #after_content div div h2 { margin: 0; From 6d626e85867d6ddc99f6d3b7d9bdca73c0f968d4 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Sat, 12 Oct 2019 19:32:26 +0200 Subject: [PATCH 054/139] fp programi --- web/themes/custom/barbell/css/frontPage.css | 91 ++++++++++++++++++++- web/themes/custom/barbell/css/style.css | 9 +- 2 files changed, 92 insertions(+), 8 deletions(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index efb5791..92c850e 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -135,7 +135,7 @@ h2 span { @media only screen and (max-width: 768px) { .path-frontpage #after_content div div h2 { - margin: 0; + /* margin: 0; */ font-size: 45px; } } @@ -226,6 +226,16 @@ h2 span { display: inline-block; } +@media only screen and (min-width: 320px) and (max-width: 992px) { + .path-frontpage .view-programi .view-content { + grid-template-columns: repeat(2, 1fr); + grid-template-rows: auto auto; + grid-gap: 25px; + margin: -70px 170px 40px; + justify-content: center; + } +} + @media only screen and (min-width: 1200px) and (max-width: 1600px) { .path-frontpage .view-programi .view-content { grid-gap: 25px; @@ -246,3 +256,82 @@ h2 span { line-height: 27px; } } + +@media only screen and (min-width: 992px) and (max-width: 1200px) { + .path-frontpage .view-content .views-row { + width: 200px; + height: 200px; + } + + .path-frontpage .program-title span { + font-size: 24px; + } + + .path-frontpage .program-description div { + font-size: 19px; + line-height: 20px; + } +} + +@media only screen and (min-width: 768px) and (max-width: 992px) { + .path-frontpage .view-content .views-row { + width: 250px; + height: 250px; + } + + .path-frontpage .program-title span { + font-size: 29px; + } + + .path-frontpage .program-description div { + font-size: 25px; + line-height: 27px; + } +} + +@media only screen and (min-width: 480px) and (max-width: 768px) { + .path-frontpage .view-programi .view-content { + grid-gap: 15px; + margin: -70px 12% 40px; + } + + .path-frontpage .view-content .views-row { + width: 200px; + height: 200px; + } + + .path-frontpage .program-title span { + font-size: 23px; + } + + .path-frontpage .program-description div { + font-size: 19px; + line-height: 20px; + } +} + +@media only screen and (min-width: 320px) and (max-width: 480px) { + .path-frontpage .view-programi .view-content { + grid-gap: 15px; + margin: -70px 12% 40px; + } + + .path-frontpage .view-content .views-row { + width: 140px; + height: 150px; + } + + .path-frontpage .program-title span { + font-size: 14px; + } + + .path-frontpage .program-description div { + font-size: 14px; + line-height: 14px; + } + + .path-frontpage .program-description div:before, + .path-programi .program-description div:before { + margin: 10px auto; + } +} diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 9af1a94..0fe789b 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -156,7 +156,7 @@ header div div .links { #after_content div div h2 { text-align: center; text-transform: uppercase; - margin: 120px; + margin: 145px auto; font-size: 64px; font-family: "Henry", sans-serif; letter-spacing: 2px; @@ -166,7 +166,7 @@ header div div .links { .page-title, .kontakt-block-content h3, #after_content div div h2 { - margin: 0; + /* margin: 0; */ font-size: 45px; } } @@ -197,8 +197,6 @@ header div div .links { bottom: -15px; } - - .kontakt-block-content h3 { display: inline-block; } @@ -353,9 +351,6 @@ blockquote p { grid-template-columns: 1fr 1fr; } - - - #pre_footer .pre_footer_right, .pre_footer_right div { height: 100%; From e43308bc36fbdf1c699284ddef7e92697677ab4c Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Sat, 12 Oct 2019 19:57:08 +0200 Subject: [PATCH 055/139] fp programi, kontakt, mapa --- web/themes/custom/barbell/css/frontPage.css | 6 +++++- web/themes/custom/barbell/css/style.css | 23 +++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index 92c850e..4d7de51 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -144,7 +144,7 @@ h2 span { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 25px; - margin: -70px 170px 40px; + margin: -40px 170px 100px; justify-content: center; } @@ -226,6 +226,8 @@ h2 span { display: inline-block; } +/* PROGRAM BOXES */ + @media only screen and (min-width: 320px) and (max-width: 992px) { .path-frontpage .view-programi .view-content { grid-template-columns: repeat(2, 1fr); @@ -335,3 +337,5 @@ h2 span { margin: 10px auto; } } + +/* // PROGRAM BOXES ENDS */ diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 0fe789b..d64b578 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -365,6 +365,11 @@ blockquote p { grid-template-columns: 1fr; height: unset; } + + #pre_footer .pre_footer_right, + .pre_footer_right div { + height: 175px; + } } .kontakt-block-content { @@ -432,3 +437,21 @@ blockquote p { .kontakt-block-content .socials span { margin: 0 5px; } + +/* CONTACT - MAP */ +@media only screen and (min-width: 768px) and (max-width: 992px) { + .page-title, + .kontakt-block-content h3, + #after_content div div h2 { + /* margin: 0; */ + font-size: 53px; + } + + .kontakt-block-content .tel a { + font-size: 38px; + } + + .kontakt-block-content .address { + font-size: 28px; + } +} From 42da08f9991a0917be520177d3860e71e52c0e0a Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Sat, 12 Oct 2019 20:39:37 +0200 Subject: [PATCH 056/139] fp programi, kontakt, mapa --- web/themes/custom/barbell/css/frontPage.css | 8 ++- web/themes/custom/barbell/css/social.css | 66 ++++++++++++++------- web/themes/custom/barbell/css/style.css | 3 - 3 files changed, 50 insertions(+), 27 deletions(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index 4d7de51..a9d2b1c 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -111,10 +111,16 @@ h2 span { text-align: center; } +@media only screen and (max-width: 992px) { + .path-frontpage .field--name-body p { + font-size: 24px; + } +} + @media only screen and (max-width: 768px) { .path-frontpage .field--name-body p { margin: 0 20px; - font-size: 18px; + font-size: 22px; } } diff --git a/web/themes/custom/barbell/css/social.css b/web/themes/custom/barbell/css/social.css index bb91108..e45fc0e 100644 --- a/web/themes/custom/barbell/css/social.css +++ b/web/themes/custom/barbell/css/social.css @@ -1,29 +1,49 @@ #block-sociallinks div { - width: 70%; - display: flex; - align-items: center; - justify-content: space-around; - font-size: 39px; - color: whitesmoke !important; + width: 70%; + display: flex; + align-items: center; + justify-content: space-around; + font-size: 39px; + color: whitesmoke !important; +} + +#block-sociallinks div a { + color: whitesmoke !important; +} + +#block-mainnavigation, +#block-mainnavigation h2, +#block-mainnavigation ul, +#block-mainnavigation ul li { + display: inline; +} + +@media only screen and (max-width: 768px) { + #block-mainnavigation ul li { + display: block; + padding-left: 35px; + } + #block-mainnavigation ul { + margin: 20px; } - +} + +@media only screen and (max-width: 992px) { #block-sociallinks div a { - color: whitesmoke !important; + margin: 0 12px; } - - #block-mainnavigation, - #block-mainnavigation h2, - #block-mainnavigation ul, - #block-mainnavigation ul li { - display: inline; +} + +@media only screen and (max-width: 768px) { + #block-sociallinks { + margin-right: 30px; + } + + #block-sociallinks div { + font-size: 30px; } - @media only screen and (max-width: 768px) { - #block-mainnavigation ul li { - display: block; - - } - #block-mainnavigation ul { - margin: 20px; - } - } \ No newline at end of file + #block-sociallinks div a { + margin: 0 4px; + } +} diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index d64b578..31dcad7 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -332,9 +332,6 @@ footer div nav ul.menu a.is-active { align-items: center; } -/* ******************************************** */ -/* ******************************************** */ - /* BLOCKQUOTE */ blockquote p { text-transform: uppercase; From 82f1510d472d1d03375dce27e352a31fab22166b Mon Sep 17 00:00:00 2001 From: hikeislife Date: Sat, 12 Oct 2019 22:20:31 +0200 Subject: [PATCH 057/139] blog layout --- web/themes/custom/barbell/css/blog.css | 85 +++++++++++++++++++------- 1 file changed, 62 insertions(+), 23 deletions(-) diff --git a/web/themes/custom/barbell/css/blog.css b/web/themes/custom/barbell/css/blog.css index 8dc0a2d..0f2861d 100644 --- a/web/themes/custom/barbell/css/blog.css +++ b/web/themes/custom/barbell/css/blog.css @@ -38,49 +38,88 @@ .path-blog #block-barbell-content, .path-vesti #block-barbell-content { margin: 100px; +} +@media only screen and (min-width: 320px) and (max-width: 700px) { + .path-blog #block-barbell-content, + .path-vesti #block-barbell-content { + margin: 20px; + } +} +.path-blog div .layout-container main .layout-content, +.path-vesti div .layout-container main .layout-content { + margin: 0 7%; +} +@media only screen and (min-width: 320px) and (max-width: 700px) { + .path-blog div .layout-container main .layout-content, + .path-vesti div .layout-container main .layout-content { + margin: 0 2vw; + } +} +.path-blog .image-style-medium, +.path-vesti .image-style-medium { + padding-top: 100%!important; } -.path-blog - div - .layout-container - main - .layout-content - div - #block-barbell-content - div - div - .view-content, -.path-vesti - div - .layout-container - main - .layout-content - div - #block-barbell-content - div - div - .view-content { +.path-blog div .layout-container main .layout-content div #block-barbell-content div div .view-content, +.path-vesti div .layout-container main .layout-content div #block-barbell-content div div .view-content { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 20px; justify-content: space-between; } +@media only screen and (min-width: 320px) and (max-width: 1100px) { + .path-blog div .layout-container main .layout-content div #block-barbell-content div div .view-content, + .path-vesti div .layout-container main .layout-content div #block-barbell-content div div .view-content { + grid-template-columns: repeat(3, 1fr); + } +} + +@media only screen and (min-width: 320px) and (max-width: 900px) { + .path-blog div .layout-container main .layout-content div #block-barbell-content div div .view-content, + .path-vesti div .layout-container main .layout-content div #block-barbell-content div div .view-content { + grid-template-columns: repeat(2, 1fr); + } +} -.article-thumb { +@media only screen and (min-width: 320px) and (max-width: 700px) { + .path-blog div .layout-container main .layout-content div #block-barbell-content div div .view-content, + .path-vesti div .layout-container main .layout-content div #block-barbell-content div div .view-content { + grid-template-columns: 1fr; + } +} + +.path-blog .article-thumb { text-align: center; color: black; } +.path-blog .views-row { + border: 2px solid var(--yellow); +} + + .article-thumb a { text-decoration: none; color: black; font-family: "Brandon Grotesque Medium"; } -.article-thumb a:hover .article-info-wrapper .article-title { +.path-blog .article-thumb a:hover .article-info-wrapper .article-title, +.path-vesti .article-thumb a:hover .article-info-wrapper .article-title { color: whitesmoke; } +.path-blog .article-thumb .article-info-wrapper .article-title span, +.path-vesti .article-thumb .article-title .article-info-wrapper .article-title span { + font-size: 4.65vmin; +} +@media only screen and (min-width: 320px) and (max-width: 1500px) { + .path-blog .article-thumb .article-info-wrapper .article-title span, + .path-vesti .article-thumb .article-title .article-info-wrapper .article-title span { + font-size: 4vmin; + } +} + .article-image { background: dimgray; } @@ -95,5 +134,5 @@ .article-info-wrapper .article-date div time { color: var(--gray); - font-size: 12px; + font-size: 30px; } From 6fdaf70a9e0483a0e8f07cdb9a007f2b0c96e3c2 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Sat, 12 Oct 2019 22:33:30 +0200 Subject: [PATCH 058/139] sync with vesti --- web/themes/custom/barbell/css/blog.css | 29 +++++++++++++++++++------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/web/themes/custom/barbell/css/blog.css b/web/themes/custom/barbell/css/blog.css index 0f2861d..03185f4 100644 --- a/web/themes/custom/barbell/css/blog.css +++ b/web/themes/custom/barbell/css/blog.css @@ -9,11 +9,8 @@ margin-bottom: 120px; } -/* .path-blog #block-barbell-page-title h1.page-title { - margin-right: 230px; -} */ -/*NO-SPAN TAGGED TITLES and YELLOW STRIPES FOR NO-SPAN TAGGED TITLES*/ +/* NO-SPAN TAGGED TITLES and YELLOW STRIPES FOR NO-SPAN TAGGED TITLES */ .path-blog h1.page-title, .path-vesti h1.page-title, .path-tim h1.page-title, @@ -89,11 +86,13 @@ } } -.path-blog .article-thumb { +.path-blog .article-thumb, +.path-vesti .article-thumb { text-align: center; color: black; } -.path-blog .views-row { +.path-blog .views-row, +.path-vesti .views-row { border: 2px solid var(--yellow); } @@ -109,16 +108,30 @@ color: whitesmoke; } +/* Article title */ .path-blog .article-thumb .article-info-wrapper .article-title span, -.path-vesti .article-thumb .article-title .article-info-wrapper .article-title span { +.path-vesti .article-thumb .article-info-wrapper .article-title span { font-size: 4.65vmin; } @media only screen and (min-width: 320px) and (max-width: 1500px) { .path-blog .article-thumb .article-info-wrapper .article-title span, - .path-vesti .article-thumb .article-title .article-info-wrapper .article-title span { + .path-vesti .article-thumb .article-info-wrapper .article-title span { font-size: 4vmin; } } +@media only screen and (min-width: 320px) and (max-width: 1000px) { + .path-blog .article-thumb .article-info-wrapper .article-title span, + .path-vesti .article-thumb .article-info-wrapper .article-title span { + font-size: 3vmin; + } +} + +@media only screen and (min-width: 320px) and (max-width: 700px) { + .path-blog .article-thumb .article-info-wrapper .article-title span, + .path-vesti .article-thumb .article-info-wrapper .article-title span { + font-size: 6vmin; + } +} .article-image { background: dimgray; From 5a1f6ebc9fad5e8801768fbda66a1b55f5a9d194 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Sun, 13 Oct 2019 13:47:00 +0200 Subject: [PATCH 059/139] new stripes --- .../custom/barbell/img/page-title-bcg-70.png | Bin 0 -> 2628 bytes .../custom/barbell/img/page-title-bcg-75.png | Bin 0 -> 2795 bytes .../custom/barbell/img/yellow-stripes-78.png | Bin 0 -> 2461 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 web/themes/custom/barbell/img/page-title-bcg-70.png create mode 100644 web/themes/custom/barbell/img/page-title-bcg-75.png create mode 100644 web/themes/custom/barbell/img/yellow-stripes-78.png diff --git a/web/themes/custom/barbell/img/page-title-bcg-70.png b/web/themes/custom/barbell/img/page-title-bcg-70.png new file mode 100644 index 0000000000000000000000000000000000000000..925f2cc414fc5baf10b295013b48f347faa2e692 GIT binary patch literal 2628 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 X*(cd%v!OfGzn>&xAfd)9^6-BE{)?jA literal 0 HcmV?d00001 diff --git a/web/themes/custom/barbell/img/yellow-stripes-78.png b/web/themes/custom/barbell/img/yellow-stripes-78.png new file mode 100644 index 0000000000000000000000000000000000000000..ebbcca117bd83efedde55daf77cbd58998b85428 GIT binary patch literal 2461 zcmaJ@d0Z1`8lDh|7zirmkfRbJE^;K{N+7A6NmvsaK+d2D2_!-^7s)_^S_~kvq6mm9 zDq6vVN@X$4Dnh6baG_zfT2NyEskMNJi*i*eg1UnhcmG&-elzoZ^ZlOZd7tG|#3TcM~002ebM2&{V6VMf5f`INm=~uAOU<=Y%V2pS>DCbCdKnPcy%0ttIoOE6^ zkHgK$?B;C*062yp%K}-+)>yn}Q z;xZnCeh&e624Ma$#bQRGDPk!PO~CnJ(>%Sr&_p86%a=eTdU>F|J-xi~p3q6edijzG zM6$OZ`on>NqDi^i$1n-6OTuf;R z$YlP1s8IM3Ed!%@|MB}jg=Mih5*|L9ClhB$)1ZypzHTv;giMk0IG|V>D;5iusu-0a z2F0=ru>?(tA)+@V@I_p)T;}>7&t#J6A{odLrSa(001TvnqPM>fkw6TiQM~=U zyl5m6(LaO|<`d=@N+Njs6G%&3syHo6$P)A(K#{3DDLw6 z==Uj;`JeVe{iNOpF87mOh_p{~@sJt(;>P~hMlUTv-Lp9T*tXEa$HwQ0pl+8!ZC!nS z;wbzx@%?SO-V7v#I(s_?ZxU}&EUv2$b``yq*Fkvw_a zJ}FsFs*}9QtQ=k8W8SpzM7rTc;Y22BNb2}F?B|iA9a%0(hb^*`WX-EwxTkRwd6B)R zVpB_y`^^oiap35IF(XnP;L3gs*u&4Xlmn_Jbei@_j5f5>3a-pFZq>}-&+f0kG4d5$ zc{<_sqjxT^9+o_>O*yx(KHPVWTG!^Td=tewMTaYy$9DFdvzYsPHL>$HQvb~r{~?60 z;lA|U8e_}n2sc&;y`aPn5L~ffZw}T!QJVzPX?@QK*6BujUNl5mt^M_KhC04-rPiem z{bO<0Y`(ccakY)Y(lzB{m5~+$9)rjS*9F1Dk^0^hMR^`BRzPCGppABqyqt37#`$Fp zY(h>>i4)K=Bn|RsUq>q6gphv^KBs3B#4}fet-*2~l*)_EO%2A{(A_!rL-iQbqp+{f z(=On8jo3qNXV+cItM4AMc;$>`te^dyf&ebjhl^If#fAYlU9-v`Xh%iGm?loj3h&wW z;$OBp4|tqLV)kl-ZMt!}&guRCgn@?{qwQt1x8G-|u!TsXusXkl`tnBhU9PZ~w$?YQ z-M4YmZ%Cq3ym6;-Vg=;JNKQeh!&W+A**<-IscZq zc5NQK@%%Ewdbr&onEl~@75T&_CZdOTmnXINTWK~04l6!$P>uP+Owm=a2W(TL;}bab z8OAqxJ?@5)CVa=qanDKTshmdhLS&b6&}g}bw`2WD#w?0ez!#Lm!vOm!g8X9W-uojH z3@fv3!;h*>O7vT>W=9p{>O`38Ai`~ppDU#mUmV{Ze-XT!eD2`)LO>N#V!AG*i`Ypj z#Hk+y+teY}Sa9=n?_SJlY%YQi9Z0ob87!Zk6cmDcJQ0E}fPDiwZG=?2#A@P(?Nxzr z<>0*rw#mSHxc)rADutnlm+IQ1&|71S4xQ-LwCd&iVneshRCgv!`TOzc@Jr~ixC46P6Jzq=Ns6AXWPph=Z28P z>Ywr`E8ZnAtm-MgW>VuS$^eFd-i_ThoN%Wtr3HqneOUs#_j!^>*}}6KH3zxnZ6>Ye4~^wV zdUQ&7*T6IduFNWX{1+o{J=-qucwwZ|j<4#>k!o%CgP+(*u(C(yCv2)x-3#ldt^26t zh}^GLZSv$YoV4N@x&wDl1D2oJSbD8+GAOm3$tWdML6P;e;dz9IJI1kZxoNUPOu}Y& zu01YNvoM}>s(wCRJNmjt@G{HhYKB^li`)Qf6aXrR`}|nbKKt)n_rRgIZ{I^2BG3?z zOdLTTi!-V>!A<8ZEX4N6za27!R|q#`m(PT0bQ**JuX}q8JDp;TY79068q^so$D?6= zg$qB7WELW`8JbPps{EjR`jcnl5-YCD=c+8&r6@puEH%zn-L_auL!x@hl}g-lEvEkM z%0AfKj3&bq>*AO=Ji}j=`)!5~ZHHWE-n>wKkG36Uung~| Date: Mon, 14 Oct 2019 14:07:59 +0200 Subject: [PATCH 060/139] blog css --- web/themes/custom/barbell/css/blog.css | 1 + 1 file changed, 1 insertion(+) diff --git a/web/themes/custom/barbell/css/blog.css b/web/themes/custom/barbell/css/blog.css index 03185f4..05fd07b 100644 --- a/web/themes/custom/barbell/css/blog.css +++ b/web/themes/custom/barbell/css/blog.css @@ -42,6 +42,7 @@ margin: 20px; } } + .path-blog div .layout-container main .layout-content, .path-vesti div .layout-container main .layout-content { margin: 0 7%; From c2731eb75b13fd1b3ecb21ecf89053e4f03bfe4c Mon Sep 17 00:00:00 2001 From: hikeislife Date: Mon, 14 Oct 2019 14:36:31 +0200 Subject: [PATCH 061/139] yearname justification --- web/themes/custom/barbell/css/style.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 31dcad7..768f66d 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -292,8 +292,9 @@ footer { } } -#block-yearname { +#block-yearname div p { color: var(--yellow); + text-align: left; } @media only screen and (max-width: 768px) { From 459e2d127e6161266255d795503227a3a589f019 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Mon, 14 Oct 2019 15:12:35 +0200 Subject: [PATCH 062/139] master merge --- composer.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/composer.json b/composer.json index 31c475a..20ab815 100644 --- a/composer.json +++ b/composer.json @@ -28,10 +28,7 @@ "drupal/core": "^8.7.0", "drupal/devel": "2.x-dev", "drupal/entity_clone": "1.x-dev", -<<<<<<< HEAD -======= "drupal/fontawesome": "^2.14", ->>>>>>> master "drupal/responsive_menus": "1.x-dev", "drupal/slick": "^2.0", "drupal/slick_lightbox": "^1.0", From 211b11263d364e03a53591d94e38c6800cde6d05 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Mon, 14 Oct 2019 15:32:41 +0200 Subject: [PATCH 063/139] missed conflict --- composer.lock | 5 ----- 1 file changed, 5 deletions(-) diff --git a/composer.lock b/composer.lock index 9cb2b6f..4c29a83 100644 --- a/composer.lock +++ b/composer.lock @@ -4,11 +4,6 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], -<<<<<<< HEAD - "content-hash": "b60eedeb90f7d5f21cf0902031aa5c4c", -======= - "content-hash": "7a45619b75813915b6b1fd3a185b06f4", ->>>>>>> master "packages": [ { "name": "alchemy/zippy", From 711f6e0e909f2163dd5458d3b6d38c9741d7e94a Mon Sep 17 00:00:00 2001 From: hikeislife Date: Mon, 14 Oct 2019 15:50:53 +0200 Subject: [PATCH 064/139] remining conflicts --- composer.lock | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/composer.lock b/composer.lock index 4c29a83..9da60f6 100644 --- a/composer.lock +++ b/composer.lock @@ -3004,8 +3004,6 @@ "time": "2019-04-29T12:18:02+00:00" }, { -<<<<<<< HEAD -======= "name": "drupal/fontawesome", "version": "2.14.0", "source": { @@ -3070,17 +3068,12 @@ } }, { ->>>>>>> master "name": "drupal/responsive_menus", "version": "dev-1.x", "source": { "type": "git", "url": "https://git.drupalcode.org/project/responsive_menus.git", -<<<<<<< HEAD - "reference": "d58325af394be9e59da176981f60f37466ef3b48" -======= "reference": "969d9cbe0c569d90d1d7c793425b395277f233f3" ->>>>>>> master }, "require": { "drupal/core": "~8.0" @@ -3114,11 +3107,7 @@ "support": { "source": "https://git.drupalcode.org/project/responsive_menus" }, -<<<<<<< HEAD - "time": "2016-08-17T15:48:24+00:00" -======= "time": "2019-10-08T22:40:34+00:00" ->>>>>>> master }, { "name": "drupal/slick", From 0495c7a80a9ad9cea2d4ca3a24b6d359fcd72f14 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Wed, 16 Oct 2019 15:37:46 +0200 Subject: [PATCH 065/139] style --- composer.lock | 271 +- web/themes/custom/barbell/barbell.svg | 4574 +++++++++++++++++++ web/themes/custom/barbell/css/frontPage.css | 10 +- web/themes/custom/barbell/css/social.css | 6 + web/themes/custom/barbell/css/style.css | 161 +- web/themes/custom/barbell/logo.svg | 4574 +++++++++++++++++++ 6 files changed, 9384 insertions(+), 212 deletions(-) create mode 100644 web/themes/custom/barbell/barbell.svg create mode 100644 web/themes/custom/barbell/logo.svg diff --git a/composer.lock b/composer.lock index 9da60f6..e54e4da 100644 --- a/composer.lock +++ b/composer.lock @@ -4,6 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], + "content-hash": "7a45619b75813915b6b1fd3a185b06f4", "packages": [ { "name": "alchemy/zippy", @@ -1557,16 +1558,16 @@ }, { "name": "doctrine/annotations", - "version": "v1.7.0", + "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "fa4c4e861e809d6a1103bd620cce63ed91aedfeb" + "reference": "904dca4eb10715b92569fbcd79e201d5c349b6bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/fa4c4e861e809d6a1103bd620cce63ed91aedfeb", - "reference": "fa4c4e861e809d6a1103bd620cce63ed91aedfeb", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/904dca4eb10715b92569fbcd79e201d5c349b6bc", + "reference": "904dca4eb10715b92569fbcd79e201d5c349b6bc", "shasum": "" }, "require": { @@ -1575,7 +1576,7 @@ }, "require-dev": { "doctrine/cache": "1.*", - "phpunit/phpunit": "^7.5@dev" + "phpunit/phpunit": "^7.5" }, "type": "library", "extra": { @@ -1621,7 +1622,7 @@ "docblock", "parser" ], - "time": "2019-08-08T18:11:40+00:00" + "time": "2019-10-01T18:55:10+00:00" }, { "name": "doctrine/cache", @@ -2319,17 +2320,17 @@ }, { "name": "drupal/blazy", - "version": "2.0.0-rc4", + "version": "2.0.0-rc5", "source": { "type": "git", "url": "https://git.drupalcode.org/project/blazy.git", - "reference": "8.x-2.0-rc4" + "reference": "8.x-2.0-rc5" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/blazy-8.x-2.0-rc4.zip", - "reference": "8.x-2.0-rc4", - "shasum": "5b464535cc2a27f66903c7d0fd32a1cb1b8a5c08" + "url": "https://ftp.drupal.org/files/projects/blazy-8.x-2.0-rc5.zip", + "reference": "8.x-2.0-rc5", + "shasum": "cc60f84ae6e9eac75d6ceed88da2ed0456a6d7ec" }, "require": { "drupal/core": "^8.6" @@ -2340,8 +2341,8 @@ "dev-2.x": "2.x-dev" }, "drupal": { - "version": "8.x-2.0-rc4", - "datestamp": "1567239185", + "version": "8.x-2.0-rc5", + "datestamp": "1569670984", "security-coverage": { "status": "not-covered", "message": "RC releases are not covered by Drupal security advisories." @@ -2638,16 +2639,16 @@ }, { "name": "drupal/core", - "version": "8.7.7", + "version": "8.7.8", "source": { "type": "git", "url": "https://github.com/drupal/core.git", - "reference": "32e1d7a67bbc28f07dc43d9ff692c0e90a4aeb92" + "reference": "476f491b85306c09101106d9b66a5dbe73c21bf0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core/zipball/32e1d7a67bbc28f07dc43d9ff692c0e90a4aeb92", - "reference": "32e1d7a67bbc28f07dc43d9ff692c0e90a4aeb92", + "url": "https://api.github.com/repos/drupal/core/zipball/476f491b85306c09101106d9b66a5dbe73c21bf0", + "reference": "476f491b85306c09101106d9b66a5dbe73c21bf0", "shasum": "" }, "require": { @@ -2685,7 +2686,7 @@ "symfony/http-kernel": "~3.4.14", "symfony/polyfill-iconv": "^1.0", "symfony/process": "~3.4.0", - "symfony/psr-http-message-bridge": "^1.0", + "symfony/psr-http-message-bridge": "^1.1.2", "symfony/routing": "~3.4.0", "symfony/serializer": "~3.4.0", "symfony/translation": "~3.4.0", @@ -2879,7 +2880,7 @@ "GPL-2.0-or-later" ], "description": "Drupal is an open source content management platform powering millions of websites and applications.", - "time": "2019-09-04T10:26:35+00:00" + "time": "2019-10-02T18:41:30+00:00" }, { "name": "drupal/devel", @@ -4775,7 +4776,7 @@ }, { "name": "symfony/class-loader", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/class-loader.git", @@ -4831,16 +4832,16 @@ }, { "name": "symfony/config", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "24a60c0d7ad98a0fa5d1f892e9286095a389404f" + "reference": "717ad66b5257e9752ae3c5722b5810bb4c40b236" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/24a60c0d7ad98a0fa5d1f892e9286095a389404f", - "reference": "24a60c0d7ad98a0fa5d1f892e9286095a389404f", + "url": "https://api.github.com/repos/symfony/config/zipball/717ad66b5257e9752ae3c5722b5810bb4c40b236", + "reference": "717ad66b5257e9752ae3c5722b5810bb4c40b236", "shasum": "" }, "require": { @@ -4891,20 +4892,20 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2019-08-26T07:52:57+00:00" + "time": "2019-09-19T15:32:51+00:00" }, { "name": "symfony/console", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "4510f04e70344d70952566e4262a0b11df39cb10" + "reference": "4727d7f3c99b9dea0ae70ed4f34645728aa90453" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/4510f04e70344d70952566e4262a0b11df39cb10", - "reference": "4510f04e70344d70952566e4262a0b11df39cb10", + "url": "https://api.github.com/repos/symfony/console/zipball/4727d7f3c99b9dea0ae70ed4f34645728aa90453", + "reference": "4727d7f3c99b9dea0ae70ed4f34645728aa90453", "shasum": "" }, "require": { @@ -4963,20 +4964,20 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2019-08-26T07:52:58+00:00" + "time": "2019-10-06T19:52:09+00:00" }, { "name": "symfony/css-selector", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "e18c5c4b35e7f17513448a25d02f7af34a4bdb41" + "reference": "f819f71ae3ba6f396b4c015bd5895de7d2f1f85f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/e18c5c4b35e7f17513448a25d02f7af34a4bdb41", - "reference": "e18c5c4b35e7f17513448a25d02f7af34a4bdb41", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/f819f71ae3ba6f396b4c015bd5895de7d2f1f85f", + "reference": "f819f71ae3ba6f396b4c015bd5895de7d2f1f85f", "shasum": "" }, "require": { @@ -5016,20 +5017,20 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "time": "2019-08-20T13:31:17+00:00" + "time": "2019-10-01T11:57:37+00:00" }, { "name": "symfony/debug", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "0b600300918780001e2821db77bc28b677794486" + "reference": "b3e7ce815d82196435d16dc458023f8fb6b36ceb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/0b600300918780001e2821db77bc28b677794486", - "reference": "0b600300918780001e2821db77bc28b677794486", + "url": "https://api.github.com/repos/symfony/debug/zipball/b3e7ce815d82196435d16dc458023f8fb6b36ceb", + "reference": "b3e7ce815d82196435d16dc458023f8fb6b36ceb", "shasum": "" }, "require": { @@ -5072,20 +5073,20 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2019-08-20T13:31:17+00:00" + "time": "2019-09-19T15:32:51+00:00" }, { "name": "symfony/dependency-injection", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "2709bc2978ceb90f5180181f777f8a09125f2d89" + "reference": "9cf81798f857205c5bbb4c8c7895f838d40b0c4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/2709bc2978ceb90f5180181f777f8a09125f2d89", - "reference": "2709bc2978ceb90f5180181f777f8a09125f2d89", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/9cf81798f857205c5bbb4c8c7895f838d40b0c4b", + "reference": "9cf81798f857205c5bbb4c8c7895f838d40b0c4b", "shasum": "" }, "require": { @@ -5143,20 +5144,20 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "time": "2019-08-26T16:07:57+00:00" + "time": "2019-09-27T15:47:48+00:00" }, { "name": "symfony/dom-crawler", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "8558d1bc4554f5cb0b66e50377457967a8969263" + "reference": "29cffc38a38f2a8ed7e494c9cea2f890a40c2359" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/8558d1bc4554f5cb0b66e50377457967a8969263", - "reference": "8558d1bc4554f5cb0b66e50377457967a8969263", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/29cffc38a38f2a8ed7e494c9cea2f890a40c2359", + "reference": "29cffc38a38f2a8ed7e494c9cea2f890a40c2359", "shasum": "" }, "require": { @@ -5200,11 +5201,11 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "time": "2019-08-26T07:52:58+00:00" + "time": "2019-08-30T17:42:32+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", @@ -5267,7 +5268,7 @@ }, { "name": "symfony/filesystem", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", @@ -5317,16 +5318,16 @@ }, { "name": "symfony/finder", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "1fcad80b440abcd1451767349906b6f9d3961d37" + "reference": "2b6a666d6ff7fb65d10b97d817c8e7930944afb9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/1fcad80b440abcd1451767349906b6f9d3961d37", - "reference": "1fcad80b440abcd1451767349906b6f9d3961d37", + "url": "https://api.github.com/repos/symfony/finder/zipball/2b6a666d6ff7fb65d10b97d817c8e7930944afb9", + "reference": "2b6a666d6ff7fb65d10b97d817c8e7930944afb9", "shasum": "" }, "require": { @@ -5362,20 +5363,20 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2019-08-14T09:39:58+00:00" + "time": "2019-09-01T21:32:23+00:00" }, { "name": "symfony/http-foundation", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "b3d57a1c325f39f703b249bed7998ce8c64236b4" + "reference": "233f40cbebd595ffd91ddf291355f8a930a13777" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/b3d57a1c325f39f703b249bed7998ce8c64236b4", - "reference": "b3d57a1c325f39f703b249bed7998ce8c64236b4", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/233f40cbebd595ffd91ddf291355f8a930a13777", + "reference": "233f40cbebd595ffd91ddf291355f8a930a13777", "shasum": "" }, "require": { @@ -5416,20 +5417,20 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2019-08-26T07:50:50+00:00" + "time": "2019-10-02T16:15:21+00:00" }, { "name": "symfony/http-kernel", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "f6d35bb306b26812df007525f5757a8b0e95857e" + "reference": "1103850c7f34bf9c0bf8c0e6e9aab9b1f2308f01" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f6d35bb306b26812df007525f5757a8b0e95857e", - "reference": "f6d35bb306b26812df007525f5757a8b0e95857e", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1103850c7f34bf9c0bf8c0e6e9aab9b1f2308f01", + "reference": "1103850c7f34bf9c0bf8c0e6e9aab9b1f2308f01", "shasum": "" }, "require": { @@ -5505,7 +5506,7 @@ ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", - "time": "2019-08-26T16:36:29+00:00" + "time": "2019-10-07T14:41:56+00:00" }, { "name": "symfony/polyfill-ctype", @@ -5799,16 +5800,16 @@ }, { "name": "symfony/process", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "d822cb654000a95b7855362c0d5b127f6a6d8baa" + "reference": "344dc588b163ff58274f1769b90b75237f32ed16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/d822cb654000a95b7855362c0d5b127f6a6d8baa", - "reference": "d822cb654000a95b7855362c0d5b127f6a6d8baa", + "url": "https://api.github.com/repos/symfony/process/zipball/344dc588b163ff58274f1769b90b75237f32ed16", + "reference": "344dc588b163ff58274f1769b90b75237f32ed16", "shasum": "" }, "require": { @@ -5844,7 +5845,7 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2019-08-26T07:52:58+00:00" + "time": "2019-09-25T14:09:38+00:00" }, { "name": "symfony/psr-http-message-bridge", @@ -5913,7 +5914,7 @@ }, { "name": "symfony/routing", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", @@ -5989,16 +5990,16 @@ }, { "name": "symfony/serializer", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "758c3cb8cd4a949ee76ee457450abdc80ea82aa1" + "reference": "14e29c5977dbae8beb8f56b098b2d1a313f201eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/758c3cb8cd4a949ee76ee457450abdc80ea82aa1", - "reference": "758c3cb8cd4a949ee76ee457450abdc80ea82aa1", + "url": "https://api.github.com/repos/symfony/serializer/zipball/14e29c5977dbae8beb8f56b098b2d1a313f201eb", + "reference": "14e29c5977dbae8beb8f56b098b2d1a313f201eb", "shasum": "" }, "require": { @@ -6064,20 +6065,20 @@ ], "description": "Symfony Serializer Component", "homepage": "https://symfony.com", - "time": "2019-08-26T07:52:58+00:00" + "time": "2019-09-30T23:11:46+00:00" }, { "name": "symfony/translation", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "49a884e9ac297f99c56052bad30b2af89f716ee1" + "reference": "dd313664be0588560acacb252543b585f5408547" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/49a884e9ac297f99c56052bad30b2af89f716ee1", - "reference": "49a884e9ac297f99c56052bad30b2af89f716ee1", + "url": "https://api.github.com/repos/symfony/translation/zipball/dd313664be0588560acacb252543b585f5408547", + "reference": "dd313664be0588560acacb252543b585f5408547", "shasum": "" }, "require": { @@ -6134,20 +6135,20 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2019-08-26T07:52:58+00:00" + "time": "2019-09-27T05:57:25+00:00" }, { "name": "symfony/validator", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "4dde4e74331ffa897c31e4423d02ae08d56f7784" + "reference": "ce65fe341eb87fb34c80f9e4f12edc6472d1a74b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/4dde4e74331ffa897c31e4423d02ae08d56f7784", - "reference": "4dde4e74331ffa897c31e4423d02ae08d56f7784", + "url": "https://api.github.com/repos/symfony/validator/zipball/ce65fe341eb87fb34c80f9e4f12edc6472d1a74b", + "reference": "ce65fe341eb87fb34c80f9e4f12edc6472d1a74b", "shasum": "" }, "require": { @@ -6220,20 +6221,20 @@ ], "description": "Symfony Validator Component", "homepage": "https://symfony.com", - "time": "2019-08-26T07:52:58+00:00" + "time": "2019-10-07T09:27:57+00:00" }, { "name": "symfony/var-dumper", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "641043e0f3e615990a0f29479f9c117e8a6698c6" + "reference": "bde8957fc415fdc6964f33916a3755737744ff05" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/641043e0f3e615990a0f29479f9c117e8a6698c6", - "reference": "641043e0f3e615990a0f29479f9c117e8a6698c6", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/bde8957fc415fdc6964f33916a3755737744ff05", + "reference": "bde8957fc415fdc6964f33916a3755737744ff05", "shasum": "" }, "require": { @@ -6296,20 +6297,20 @@ "debug", "dump" ], - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-10-04T19:48:13+00:00" }, { "name": "symfony/yaml", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "3dc414b7db30695bae671a1d86013d03f4ae9834" + "reference": "768f817446da74a776a31eea335540f9dcb53942" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/3dc414b7db30695bae671a1d86013d03f4ae9834", - "reference": "3dc414b7db30695bae671a1d86013d03f4ae9834", + "url": "https://api.github.com/repos/symfony/yaml/zipball/768f817446da74a776a31eea335540f9dcb53942", + "reference": "768f817446da74a776a31eea335540f9dcb53942", "shasum": "" }, "require": { @@ -6355,7 +6356,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2019-08-20T13:31:17+00:00" + "time": "2019-09-10T10:38:46+00:00" }, { "name": "twig/twig", @@ -6658,16 +6659,16 @@ }, { "name": "zaporylie/composer-drupal-optimizations", - "version": "1.1.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/zaporylie/composer-drupal-optimizations.git", - "reference": "173c198fd7c9aefa5e5b68cd755ee63eb0abf7e8" + "reference": "fb231d92adc862a2c9276bccbc90f684816dc75d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zaporylie/composer-drupal-optimizations/zipball/173c198fd7c9aefa5e5b68cd755ee63eb0abf7e8", - "reference": "173c198fd7c9aefa5e5b68cd755ee63eb0abf7e8", + "url": "https://api.github.com/repos/zaporylie/composer-drupal-optimizations/zipball/fb231d92adc862a2c9276bccbc90f684816dc75d", + "reference": "fb231d92adc862a2c9276bccbc90f684816dc75d", "shasum": "" }, "require": { @@ -6697,7 +6698,7 @@ } ], "description": "Composer plugin to improve composer performance for Drupal projects", - "time": "2019-02-20T10:00:17+00:00" + "time": "2019-10-02T17:01:11+00:00" }, { "name": "zendframework/zend-diactoros", @@ -7298,16 +7299,16 @@ }, { "name": "instaclick/php-webdriver", - "version": "1.4.5", + "version": "1.4.6", "source": { "type": "git", "url": "https://github.com/instaclick/php-webdriver.git", - "reference": "6fa959452e774dcaed543faad3a9d1a37d803327" + "reference": "bd9405077ca04129a73059a06873bedb5e138402" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/instaclick/php-webdriver/zipball/6fa959452e774dcaed543faad3a9d1a37d803327", - "reference": "6fa959452e774dcaed543faad3a9d1a37d803327", + "url": "https://api.github.com/repos/instaclick/php-webdriver/zipball/bd9405077ca04129a73059a06873bedb5e138402", + "reference": "bd9405077ca04129a73059a06873bedb5e138402", "shasum": "" }, "require": { @@ -7353,7 +7354,7 @@ "webdriver", "webtest" ], - "time": "2017-06-30T04:02:48+00:00" + "time": "2019-09-23T15:50:44+00:00" }, { "name": "jcalderonzumba/gastonjs", @@ -7884,22 +7885,22 @@ }, { "name": "phpspec/prophecy", - "version": "1.8.1", + "version": "1.9.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76" + "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/1927e75f4ed19131ec9bcc3b002e07fb1173ee76", - "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/f6811d96d97bdf400077a0cc100ae56aa32b9203", + "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.2", "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", "sebastian/comparator": "^1.1|^2.0|^3.0", "sebastian/recursion-context": "^1.0|^2.0|^3.0" }, @@ -7943,7 +7944,7 @@ "spy", "stub" ], - "time": "2019-06-13T12:50:23+00:00" + "time": "2019-10-03T11:07:50+00:00" }, { "name": "phpunit/php-code-coverage", @@ -8899,16 +8900,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.4.2", + "version": "3.5.0", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8" + "reference": "0afebf16a2e7f1e434920fa976253576151effe9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8", - "reference": "b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/0afebf16a2e7f1e434920fa976253576151effe9", + "reference": "0afebf16a2e7f1e434920fa976253576151effe9", "shasum": "" }, "require": { @@ -8946,20 +8947,20 @@ "phpcs", "standards" ], - "time": "2019-04-10T23:49:02+00:00" + "time": "2019-09-26T23:12:26+00:00" }, { "name": "symfony/browser-kit", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "9e5dddb637b13db82e35695a8603fe6e118cc119" + "reference": "78b7611c45039e8ce81698be319851529bf040b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/9e5dddb637b13db82e35695a8603fe6e118cc119", - "reference": "9e5dddb637b13db82e35695a8603fe6e118cc119", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/78b7611c45039e8ce81698be319851529bf040b1", + "reference": "78b7611c45039e8ce81698be319851529bf040b1", "shasum": "" }, "require": { @@ -9005,20 +9006,20 @@ ], "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-09-10T11:25:17+00:00" }, { "name": "symfony/phpunit-bridge", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "028617b04ae19d99d89089626ac969d161244ebc" + "reference": "cbea8818e9f34e4e9d780bd22bdda21b57d4d5c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/028617b04ae19d99d89089626ac969d161244ebc", - "reference": "028617b04ae19d99d89089626ac969d161244ebc", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/cbea8818e9f34e4e9d780bd22bdda21b57d4d5c7", + "reference": "cbea8818e9f34e4e9d780bd22bdda21b57d4d5c7", "shasum": "" }, "require": { @@ -9070,7 +9071,7 @@ ], "description": "Symfony PHPUnit Bridge", "homepage": "https://symfony.com", - "time": "2019-08-20T13:31:17+00:00" + "time": "2019-09-30T20:33:19+00:00" }, { "name": "theseer/tokenizer", @@ -9114,16 +9115,16 @@ }, { "name": "webflo/drupal-core-require-dev", - "version": "8.7.7", + "version": "8.7.8", "source": { "type": "git", "url": "https://github.com/webflo/drupal-core-require-dev.git", - "reference": "f535c939fee065b202ed5a84b15aa5385ba49d5e" + "reference": "593123300b3cf9974fa0742282af90fa72ac06fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webflo/drupal-core-require-dev/zipball/f535c939fee065b202ed5a84b15aa5385ba49d5e", - "reference": "f535c939fee065b202ed5a84b15aa5385ba49d5e", + "url": "https://api.github.com/repos/webflo/drupal-core-require-dev/zipball/593123300b3cf9974fa0742282af90fa72ac06fc", + "reference": "593123300b3cf9974fa0742282af90fa72ac06fc", "shasum": "" }, "require": { @@ -9131,7 +9132,7 @@ "behat/mink-goutte-driver": "^1.2", "behat/mink-selenium2-driver": "1.3.x-dev", "drupal/coder": "^8.3.1", - "drupal/core": "8.7.7", + "drupal/core": "8.7.8", "jcalderonzumba/gastonjs": "^1.0.2", "jcalderonzumba/mink-phantomjs-driver": "^0.3.1", "justinrainbow/json-schema": "^5.2", @@ -9148,7 +9149,7 @@ "GPL-2.0-or-later" ], "description": "require-dev dependencies from drupal/core", - "time": "2019-09-04T10:31:38+00:00" + "time": "2019-10-02T19:31:42+00:00" } ], "aliases": [], diff --git a/web/themes/custom/barbell/barbell.svg b/web/themes/custom/barbell/barbell.svg new file mode 100644 index 0000000..f3619e5 --- /dev/null +++ b/web/themes/custom/barbell/barbell.svg @@ -0,0 +1,4574 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index a9d2b1c..21fa00c 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -5,6 +5,11 @@ background: black; /* where the image should be just for visibility sake */ } +.slider-content { + display: flex; + flex-direction: column; +} + /* .slider-link div div a { text-transform: uppercase; text-decoration: none; @@ -48,8 +53,10 @@ h2 span:before { } h2 { - text-align: center; + /* text-align: center; */ margin: 32vh auto 20px; + display: inline-block; + min-width: 250px; } h2 span { @@ -58,7 +65,6 @@ h2 span { color: whitesmoke; margin: 120px; font-size: 64px; - left: 20px; position: relative; font-family: "Brandon Grotesque Bold", sans-serif; } diff --git a/web/themes/custom/barbell/css/social.css b/web/themes/custom/barbell/css/social.css index e45fc0e..4ec0235 100644 --- a/web/themes/custom/barbell/css/social.css +++ b/web/themes/custom/barbell/css/social.css @@ -47,3 +47,9 @@ margin: 0 4px; } } + +@media only screen and (max-width: 576px) { + #block-sociallinks div { + flex-direction: column; + } +} diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index bb13ece..96e98d5 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -1,48 +1,61 @@ :root { - --yellow: #f6b018; - --gray: #919191; + --yellow: #f6b018; + --gray: #919191; } * { - box-sizing: border-box; + box-sizing: border-box; } @font-face { - font-family: 'Brandon Grotesque Medium'; - font-style: normal; - font-weight: normal; - src: local('Brandon Grotesque Medium'), url('brandon-grotesque-medium-587bd623e472a.woff') format('woff'); + font-family: "Brandon Grotesque Medium"; + font-style: normal; + font-weight: normal; + src: local("Brandon Grotesque Medium"), + url("brandon-grotesque-medium-587bd623e472a.woff") format("woff"); } @font-face { - font-family: 'Brandon Grotesque Bold'; - font-style: normal; - font-weight: normal; - src: local('Brandon Grotesque Bold'), url('brandon-grotesque-bold-587bd6400afd0.woff') format('woff'); + font-family: "Brandon Grotesque Bold"; + font-style: normal; + font-weight: normal; + src: local("Brandon Grotesque Bold"), + url("brandon-grotesque-bold-587bd6400afd0.woff") format("woff"); } @font-face { - font-family: 'Henry'; - font-style: normal; - font-weight: normal; - src: local('Henry'), url('Henrik-Regular.otf') format('woff'); + font-family: "Henry"; + font-style: normal; + font-weight: normal; + src: local("Henry"), url("Henrik-Regular.otf") format("woff"); } /* NAVIGATION */ -header div, #block-barbell-branding, #block-barbell-branding a img, #block-barbell-branding div, -header div nav, header div nav h2, header div nav div, -header div nav ul, header div nav ul li, -.language-switcher-language-url, .language-switcher-language-url div, header div div div, ul.links, li.en, li.sr { - display: inline; +header div, +#block-barbell-branding, +#block-barbell-branding a img, +#block-barbell-branding div, +header div nav, +header div nav h2, +header div nav div, +header div nav ul, +header div nav ul li, +.language-switcher-language-url, +.language-switcher-language-url div, +header div div div, +ul.links, +li.en, +li.sr { + display: inline; } header div { - display: grid; - grid-template-columns: 30% auto 10%; - height: 60px; - background: var(--yellow); - width: 100%; - align-items: center; + display: grid; + grid-template-columns: 30% auto 10%; + height: 60px; + background: var(--yellow); + width: 100%; + align-items: center; } * { @@ -113,18 +126,18 @@ header div { /* NAV LOGO */ #block-barbell-branding { - clip-path: polygon(0 0, 100% 0%, 80% 100%, 0% 100%); - width: 100%; - background: black; - height: 60px; - text-align: right; - padding-right: 20px; - vertical-align: middle; -} - -#block-barbell-branding a img { - display: inline-block; - margin-right: 80px; + clip-path: polygon(0 0, 100% 0%, 86% 100%, 0% 100%); + width: 100%; + background: black; + height: 100%; + text-align: right; + padding-right: 20px; + vertical-align: middle; +} + +#block-barbell-branding a img { + display: inline-block; + margin-right: 80px; clip-path: polygon(0 0, 100% 0%, 84% 100%, 0% 100%); width: 100%; background: black; @@ -139,25 +152,25 @@ header div { #block-barbell-branding a img { display: inline-block; - margin-right: 62px; - width: 290px; - padding: 19px 0; + margin-right: 0px; + width: 370px; + padding: 0px 0; } /* NAV MAIN */ #block-barbell-main-menu ul li { - color: black; - text-transform: uppercase; - text-decoration: none; - margin-right: 20px; + color: black; + text-transform: uppercase; + text-decoration: none; + margin-right: 20px; } #block-barbell-main-menu ul li a { - text-decoration: none; - color: black; - font-family: 'Brandon Grotesque Medium'; - text-transform: uppercase; - margin-right: 20px; + text-decoration: none; + color: black; + font-family: "Brandon Grotesque Medium"; + text-transform: uppercase; + margin-right: 20px; } #block-barbell-main-menu ul li a { @@ -169,41 +182,40 @@ header div { /* Language switcher */ header div div .links { - align-items: center; + align-items: center; } #block-languageswitcher ul { - display: inline-grid; - grid-template-columns: 1fr 1fr; - align-content: center; - justify-content: center; + display: inline-grid; + grid-template-columns: 1fr 1fr; + align-content: center; + justify-content: center; } .language-link { - font-family: 'Brandon Grotesque Bold'; - text-transform: uppercase; - color: black; - text-decoration: none; - display: inline-grid; - + font-family: "Brandon Grotesque Bold"; + text-transform: uppercase; + color: black; + text-decoration: none; + display: inline-grid; } /* */ .page-title:before { - content:url('../img/page-title-bcg.png'); - position: relative; - left: 100px; - z-index: -1; - bottom: -12px; + content: url("../img/page-title-bcg.png"); + position: relative; + left: 100px; + z-index: -1; + bottom: -12px; } .page-title { - text-align: center; - text-transform: uppercase; - margin: 120px; - font-size: 60px; - position: relative; - font-family: 'Henry'; - left: -30px; + text-align: center; + text-transform: uppercase; + margin: 120px; + font-size: 60px; + position: relative; + font-family: "Henry"; + left: -30px; } /* .page-title span { @@ -395,7 +407,6 @@ footer { #block-yearname div p { color: var(--yellow); text-align: left; - } @media only screen and (max-width: 768px) { @@ -553,4 +564,4 @@ blockquote p { .kontakt-block-content .address { font-size: 28px; } -} \ No newline at end of file +} diff --git a/web/themes/custom/barbell/logo.svg b/web/themes/custom/barbell/logo.svg new file mode 100644 index 0000000..0425619 --- /dev/null +++ b/web/themes/custom/barbell/logo.svg @@ -0,0 +1,4574 @@ + + + + + + + + + + + + + + + + + + + + + From 307d5cc1dfe925bf353c99aceae40f2b9dd96860 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Wed, 16 Oct 2019 15:39:11 +0200 Subject: [PATCH 066/139] raspored styles initial --- composer.lock | 271 +++++++++--------- .../custom/barbell/barbell.libraries.yml | 1 + web/themes/custom/barbell/css/blog.css | 35 ++- web/themes/custom/barbell/css/frontPage.css | 30 +- web/themes/custom/barbell/css/raspored.css | 72 +++++ web/themes/custom/barbell/css/style.css | 1 + 6 files changed, 260 insertions(+), 150 deletions(-) create mode 100644 web/themes/custom/barbell/css/raspored.css diff --git a/composer.lock b/composer.lock index 9da60f6..e54e4da 100644 --- a/composer.lock +++ b/composer.lock @@ -4,6 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], + "content-hash": "7a45619b75813915b6b1fd3a185b06f4", "packages": [ { "name": "alchemy/zippy", @@ -1557,16 +1558,16 @@ }, { "name": "doctrine/annotations", - "version": "v1.7.0", + "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "fa4c4e861e809d6a1103bd620cce63ed91aedfeb" + "reference": "904dca4eb10715b92569fbcd79e201d5c349b6bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/fa4c4e861e809d6a1103bd620cce63ed91aedfeb", - "reference": "fa4c4e861e809d6a1103bd620cce63ed91aedfeb", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/904dca4eb10715b92569fbcd79e201d5c349b6bc", + "reference": "904dca4eb10715b92569fbcd79e201d5c349b6bc", "shasum": "" }, "require": { @@ -1575,7 +1576,7 @@ }, "require-dev": { "doctrine/cache": "1.*", - "phpunit/phpunit": "^7.5@dev" + "phpunit/phpunit": "^7.5" }, "type": "library", "extra": { @@ -1621,7 +1622,7 @@ "docblock", "parser" ], - "time": "2019-08-08T18:11:40+00:00" + "time": "2019-10-01T18:55:10+00:00" }, { "name": "doctrine/cache", @@ -2319,17 +2320,17 @@ }, { "name": "drupal/blazy", - "version": "2.0.0-rc4", + "version": "2.0.0-rc5", "source": { "type": "git", "url": "https://git.drupalcode.org/project/blazy.git", - "reference": "8.x-2.0-rc4" + "reference": "8.x-2.0-rc5" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/blazy-8.x-2.0-rc4.zip", - "reference": "8.x-2.0-rc4", - "shasum": "5b464535cc2a27f66903c7d0fd32a1cb1b8a5c08" + "url": "https://ftp.drupal.org/files/projects/blazy-8.x-2.0-rc5.zip", + "reference": "8.x-2.0-rc5", + "shasum": "cc60f84ae6e9eac75d6ceed88da2ed0456a6d7ec" }, "require": { "drupal/core": "^8.6" @@ -2340,8 +2341,8 @@ "dev-2.x": "2.x-dev" }, "drupal": { - "version": "8.x-2.0-rc4", - "datestamp": "1567239185", + "version": "8.x-2.0-rc5", + "datestamp": "1569670984", "security-coverage": { "status": "not-covered", "message": "RC releases are not covered by Drupal security advisories." @@ -2638,16 +2639,16 @@ }, { "name": "drupal/core", - "version": "8.7.7", + "version": "8.7.8", "source": { "type": "git", "url": "https://github.com/drupal/core.git", - "reference": "32e1d7a67bbc28f07dc43d9ff692c0e90a4aeb92" + "reference": "476f491b85306c09101106d9b66a5dbe73c21bf0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core/zipball/32e1d7a67bbc28f07dc43d9ff692c0e90a4aeb92", - "reference": "32e1d7a67bbc28f07dc43d9ff692c0e90a4aeb92", + "url": "https://api.github.com/repos/drupal/core/zipball/476f491b85306c09101106d9b66a5dbe73c21bf0", + "reference": "476f491b85306c09101106d9b66a5dbe73c21bf0", "shasum": "" }, "require": { @@ -2685,7 +2686,7 @@ "symfony/http-kernel": "~3.4.14", "symfony/polyfill-iconv": "^1.0", "symfony/process": "~3.4.0", - "symfony/psr-http-message-bridge": "^1.0", + "symfony/psr-http-message-bridge": "^1.1.2", "symfony/routing": "~3.4.0", "symfony/serializer": "~3.4.0", "symfony/translation": "~3.4.0", @@ -2879,7 +2880,7 @@ "GPL-2.0-or-later" ], "description": "Drupal is an open source content management platform powering millions of websites and applications.", - "time": "2019-09-04T10:26:35+00:00" + "time": "2019-10-02T18:41:30+00:00" }, { "name": "drupal/devel", @@ -4775,7 +4776,7 @@ }, { "name": "symfony/class-loader", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/class-loader.git", @@ -4831,16 +4832,16 @@ }, { "name": "symfony/config", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "24a60c0d7ad98a0fa5d1f892e9286095a389404f" + "reference": "717ad66b5257e9752ae3c5722b5810bb4c40b236" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/24a60c0d7ad98a0fa5d1f892e9286095a389404f", - "reference": "24a60c0d7ad98a0fa5d1f892e9286095a389404f", + "url": "https://api.github.com/repos/symfony/config/zipball/717ad66b5257e9752ae3c5722b5810bb4c40b236", + "reference": "717ad66b5257e9752ae3c5722b5810bb4c40b236", "shasum": "" }, "require": { @@ -4891,20 +4892,20 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2019-08-26T07:52:57+00:00" + "time": "2019-09-19T15:32:51+00:00" }, { "name": "symfony/console", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "4510f04e70344d70952566e4262a0b11df39cb10" + "reference": "4727d7f3c99b9dea0ae70ed4f34645728aa90453" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/4510f04e70344d70952566e4262a0b11df39cb10", - "reference": "4510f04e70344d70952566e4262a0b11df39cb10", + "url": "https://api.github.com/repos/symfony/console/zipball/4727d7f3c99b9dea0ae70ed4f34645728aa90453", + "reference": "4727d7f3c99b9dea0ae70ed4f34645728aa90453", "shasum": "" }, "require": { @@ -4963,20 +4964,20 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2019-08-26T07:52:58+00:00" + "time": "2019-10-06T19:52:09+00:00" }, { "name": "symfony/css-selector", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "e18c5c4b35e7f17513448a25d02f7af34a4bdb41" + "reference": "f819f71ae3ba6f396b4c015bd5895de7d2f1f85f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/e18c5c4b35e7f17513448a25d02f7af34a4bdb41", - "reference": "e18c5c4b35e7f17513448a25d02f7af34a4bdb41", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/f819f71ae3ba6f396b4c015bd5895de7d2f1f85f", + "reference": "f819f71ae3ba6f396b4c015bd5895de7d2f1f85f", "shasum": "" }, "require": { @@ -5016,20 +5017,20 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "time": "2019-08-20T13:31:17+00:00" + "time": "2019-10-01T11:57:37+00:00" }, { "name": "symfony/debug", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "0b600300918780001e2821db77bc28b677794486" + "reference": "b3e7ce815d82196435d16dc458023f8fb6b36ceb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/0b600300918780001e2821db77bc28b677794486", - "reference": "0b600300918780001e2821db77bc28b677794486", + "url": "https://api.github.com/repos/symfony/debug/zipball/b3e7ce815d82196435d16dc458023f8fb6b36ceb", + "reference": "b3e7ce815d82196435d16dc458023f8fb6b36ceb", "shasum": "" }, "require": { @@ -5072,20 +5073,20 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2019-08-20T13:31:17+00:00" + "time": "2019-09-19T15:32:51+00:00" }, { "name": "symfony/dependency-injection", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "2709bc2978ceb90f5180181f777f8a09125f2d89" + "reference": "9cf81798f857205c5bbb4c8c7895f838d40b0c4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/2709bc2978ceb90f5180181f777f8a09125f2d89", - "reference": "2709bc2978ceb90f5180181f777f8a09125f2d89", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/9cf81798f857205c5bbb4c8c7895f838d40b0c4b", + "reference": "9cf81798f857205c5bbb4c8c7895f838d40b0c4b", "shasum": "" }, "require": { @@ -5143,20 +5144,20 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "time": "2019-08-26T16:07:57+00:00" + "time": "2019-09-27T15:47:48+00:00" }, { "name": "symfony/dom-crawler", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "8558d1bc4554f5cb0b66e50377457967a8969263" + "reference": "29cffc38a38f2a8ed7e494c9cea2f890a40c2359" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/8558d1bc4554f5cb0b66e50377457967a8969263", - "reference": "8558d1bc4554f5cb0b66e50377457967a8969263", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/29cffc38a38f2a8ed7e494c9cea2f890a40c2359", + "reference": "29cffc38a38f2a8ed7e494c9cea2f890a40c2359", "shasum": "" }, "require": { @@ -5200,11 +5201,11 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "time": "2019-08-26T07:52:58+00:00" + "time": "2019-08-30T17:42:32+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", @@ -5267,7 +5268,7 @@ }, { "name": "symfony/filesystem", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", @@ -5317,16 +5318,16 @@ }, { "name": "symfony/finder", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "1fcad80b440abcd1451767349906b6f9d3961d37" + "reference": "2b6a666d6ff7fb65d10b97d817c8e7930944afb9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/1fcad80b440abcd1451767349906b6f9d3961d37", - "reference": "1fcad80b440abcd1451767349906b6f9d3961d37", + "url": "https://api.github.com/repos/symfony/finder/zipball/2b6a666d6ff7fb65d10b97d817c8e7930944afb9", + "reference": "2b6a666d6ff7fb65d10b97d817c8e7930944afb9", "shasum": "" }, "require": { @@ -5362,20 +5363,20 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2019-08-14T09:39:58+00:00" + "time": "2019-09-01T21:32:23+00:00" }, { "name": "symfony/http-foundation", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "b3d57a1c325f39f703b249bed7998ce8c64236b4" + "reference": "233f40cbebd595ffd91ddf291355f8a930a13777" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/b3d57a1c325f39f703b249bed7998ce8c64236b4", - "reference": "b3d57a1c325f39f703b249bed7998ce8c64236b4", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/233f40cbebd595ffd91ddf291355f8a930a13777", + "reference": "233f40cbebd595ffd91ddf291355f8a930a13777", "shasum": "" }, "require": { @@ -5416,20 +5417,20 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2019-08-26T07:50:50+00:00" + "time": "2019-10-02T16:15:21+00:00" }, { "name": "symfony/http-kernel", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "f6d35bb306b26812df007525f5757a8b0e95857e" + "reference": "1103850c7f34bf9c0bf8c0e6e9aab9b1f2308f01" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f6d35bb306b26812df007525f5757a8b0e95857e", - "reference": "f6d35bb306b26812df007525f5757a8b0e95857e", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1103850c7f34bf9c0bf8c0e6e9aab9b1f2308f01", + "reference": "1103850c7f34bf9c0bf8c0e6e9aab9b1f2308f01", "shasum": "" }, "require": { @@ -5505,7 +5506,7 @@ ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", - "time": "2019-08-26T16:36:29+00:00" + "time": "2019-10-07T14:41:56+00:00" }, { "name": "symfony/polyfill-ctype", @@ -5799,16 +5800,16 @@ }, { "name": "symfony/process", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "d822cb654000a95b7855362c0d5b127f6a6d8baa" + "reference": "344dc588b163ff58274f1769b90b75237f32ed16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/d822cb654000a95b7855362c0d5b127f6a6d8baa", - "reference": "d822cb654000a95b7855362c0d5b127f6a6d8baa", + "url": "https://api.github.com/repos/symfony/process/zipball/344dc588b163ff58274f1769b90b75237f32ed16", + "reference": "344dc588b163ff58274f1769b90b75237f32ed16", "shasum": "" }, "require": { @@ -5844,7 +5845,7 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2019-08-26T07:52:58+00:00" + "time": "2019-09-25T14:09:38+00:00" }, { "name": "symfony/psr-http-message-bridge", @@ -5913,7 +5914,7 @@ }, { "name": "symfony/routing", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", @@ -5989,16 +5990,16 @@ }, { "name": "symfony/serializer", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "758c3cb8cd4a949ee76ee457450abdc80ea82aa1" + "reference": "14e29c5977dbae8beb8f56b098b2d1a313f201eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/758c3cb8cd4a949ee76ee457450abdc80ea82aa1", - "reference": "758c3cb8cd4a949ee76ee457450abdc80ea82aa1", + "url": "https://api.github.com/repos/symfony/serializer/zipball/14e29c5977dbae8beb8f56b098b2d1a313f201eb", + "reference": "14e29c5977dbae8beb8f56b098b2d1a313f201eb", "shasum": "" }, "require": { @@ -6064,20 +6065,20 @@ ], "description": "Symfony Serializer Component", "homepage": "https://symfony.com", - "time": "2019-08-26T07:52:58+00:00" + "time": "2019-09-30T23:11:46+00:00" }, { "name": "symfony/translation", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "49a884e9ac297f99c56052bad30b2af89f716ee1" + "reference": "dd313664be0588560acacb252543b585f5408547" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/49a884e9ac297f99c56052bad30b2af89f716ee1", - "reference": "49a884e9ac297f99c56052bad30b2af89f716ee1", + "url": "https://api.github.com/repos/symfony/translation/zipball/dd313664be0588560acacb252543b585f5408547", + "reference": "dd313664be0588560acacb252543b585f5408547", "shasum": "" }, "require": { @@ -6134,20 +6135,20 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2019-08-26T07:52:58+00:00" + "time": "2019-09-27T05:57:25+00:00" }, { "name": "symfony/validator", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "4dde4e74331ffa897c31e4423d02ae08d56f7784" + "reference": "ce65fe341eb87fb34c80f9e4f12edc6472d1a74b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/4dde4e74331ffa897c31e4423d02ae08d56f7784", - "reference": "4dde4e74331ffa897c31e4423d02ae08d56f7784", + "url": "https://api.github.com/repos/symfony/validator/zipball/ce65fe341eb87fb34c80f9e4f12edc6472d1a74b", + "reference": "ce65fe341eb87fb34c80f9e4f12edc6472d1a74b", "shasum": "" }, "require": { @@ -6220,20 +6221,20 @@ ], "description": "Symfony Validator Component", "homepage": "https://symfony.com", - "time": "2019-08-26T07:52:58+00:00" + "time": "2019-10-07T09:27:57+00:00" }, { "name": "symfony/var-dumper", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "641043e0f3e615990a0f29479f9c117e8a6698c6" + "reference": "bde8957fc415fdc6964f33916a3755737744ff05" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/641043e0f3e615990a0f29479f9c117e8a6698c6", - "reference": "641043e0f3e615990a0f29479f9c117e8a6698c6", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/bde8957fc415fdc6964f33916a3755737744ff05", + "reference": "bde8957fc415fdc6964f33916a3755737744ff05", "shasum": "" }, "require": { @@ -6296,20 +6297,20 @@ "debug", "dump" ], - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-10-04T19:48:13+00:00" }, { "name": "symfony/yaml", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "3dc414b7db30695bae671a1d86013d03f4ae9834" + "reference": "768f817446da74a776a31eea335540f9dcb53942" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/3dc414b7db30695bae671a1d86013d03f4ae9834", - "reference": "3dc414b7db30695bae671a1d86013d03f4ae9834", + "url": "https://api.github.com/repos/symfony/yaml/zipball/768f817446da74a776a31eea335540f9dcb53942", + "reference": "768f817446da74a776a31eea335540f9dcb53942", "shasum": "" }, "require": { @@ -6355,7 +6356,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2019-08-20T13:31:17+00:00" + "time": "2019-09-10T10:38:46+00:00" }, { "name": "twig/twig", @@ -6658,16 +6659,16 @@ }, { "name": "zaporylie/composer-drupal-optimizations", - "version": "1.1.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/zaporylie/composer-drupal-optimizations.git", - "reference": "173c198fd7c9aefa5e5b68cd755ee63eb0abf7e8" + "reference": "fb231d92adc862a2c9276bccbc90f684816dc75d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zaporylie/composer-drupal-optimizations/zipball/173c198fd7c9aefa5e5b68cd755ee63eb0abf7e8", - "reference": "173c198fd7c9aefa5e5b68cd755ee63eb0abf7e8", + "url": "https://api.github.com/repos/zaporylie/composer-drupal-optimizations/zipball/fb231d92adc862a2c9276bccbc90f684816dc75d", + "reference": "fb231d92adc862a2c9276bccbc90f684816dc75d", "shasum": "" }, "require": { @@ -6697,7 +6698,7 @@ } ], "description": "Composer plugin to improve composer performance for Drupal projects", - "time": "2019-02-20T10:00:17+00:00" + "time": "2019-10-02T17:01:11+00:00" }, { "name": "zendframework/zend-diactoros", @@ -7298,16 +7299,16 @@ }, { "name": "instaclick/php-webdriver", - "version": "1.4.5", + "version": "1.4.6", "source": { "type": "git", "url": "https://github.com/instaclick/php-webdriver.git", - "reference": "6fa959452e774dcaed543faad3a9d1a37d803327" + "reference": "bd9405077ca04129a73059a06873bedb5e138402" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/instaclick/php-webdriver/zipball/6fa959452e774dcaed543faad3a9d1a37d803327", - "reference": "6fa959452e774dcaed543faad3a9d1a37d803327", + "url": "https://api.github.com/repos/instaclick/php-webdriver/zipball/bd9405077ca04129a73059a06873bedb5e138402", + "reference": "bd9405077ca04129a73059a06873bedb5e138402", "shasum": "" }, "require": { @@ -7353,7 +7354,7 @@ "webdriver", "webtest" ], - "time": "2017-06-30T04:02:48+00:00" + "time": "2019-09-23T15:50:44+00:00" }, { "name": "jcalderonzumba/gastonjs", @@ -7884,22 +7885,22 @@ }, { "name": "phpspec/prophecy", - "version": "1.8.1", + "version": "1.9.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76" + "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/1927e75f4ed19131ec9bcc3b002e07fb1173ee76", - "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/f6811d96d97bdf400077a0cc100ae56aa32b9203", + "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.2", "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", "sebastian/comparator": "^1.1|^2.0|^3.0", "sebastian/recursion-context": "^1.0|^2.0|^3.0" }, @@ -7943,7 +7944,7 @@ "spy", "stub" ], - "time": "2019-06-13T12:50:23+00:00" + "time": "2019-10-03T11:07:50+00:00" }, { "name": "phpunit/php-code-coverage", @@ -8899,16 +8900,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.4.2", + "version": "3.5.0", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8" + "reference": "0afebf16a2e7f1e434920fa976253576151effe9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8", - "reference": "b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/0afebf16a2e7f1e434920fa976253576151effe9", + "reference": "0afebf16a2e7f1e434920fa976253576151effe9", "shasum": "" }, "require": { @@ -8946,20 +8947,20 @@ "phpcs", "standards" ], - "time": "2019-04-10T23:49:02+00:00" + "time": "2019-09-26T23:12:26+00:00" }, { "name": "symfony/browser-kit", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "9e5dddb637b13db82e35695a8603fe6e118cc119" + "reference": "78b7611c45039e8ce81698be319851529bf040b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/9e5dddb637b13db82e35695a8603fe6e118cc119", - "reference": "9e5dddb637b13db82e35695a8603fe6e118cc119", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/78b7611c45039e8ce81698be319851529bf040b1", + "reference": "78b7611c45039e8ce81698be319851529bf040b1", "shasum": "" }, "require": { @@ -9005,20 +9006,20 @@ ], "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-09-10T11:25:17+00:00" }, { "name": "symfony/phpunit-bridge", - "version": "v3.4.31", + "version": "v3.4.32", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "028617b04ae19d99d89089626ac969d161244ebc" + "reference": "cbea8818e9f34e4e9d780bd22bdda21b57d4d5c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/028617b04ae19d99d89089626ac969d161244ebc", - "reference": "028617b04ae19d99d89089626ac969d161244ebc", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/cbea8818e9f34e4e9d780bd22bdda21b57d4d5c7", + "reference": "cbea8818e9f34e4e9d780bd22bdda21b57d4d5c7", "shasum": "" }, "require": { @@ -9070,7 +9071,7 @@ ], "description": "Symfony PHPUnit Bridge", "homepage": "https://symfony.com", - "time": "2019-08-20T13:31:17+00:00" + "time": "2019-09-30T20:33:19+00:00" }, { "name": "theseer/tokenizer", @@ -9114,16 +9115,16 @@ }, { "name": "webflo/drupal-core-require-dev", - "version": "8.7.7", + "version": "8.7.8", "source": { "type": "git", "url": "https://github.com/webflo/drupal-core-require-dev.git", - "reference": "f535c939fee065b202ed5a84b15aa5385ba49d5e" + "reference": "593123300b3cf9974fa0742282af90fa72ac06fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webflo/drupal-core-require-dev/zipball/f535c939fee065b202ed5a84b15aa5385ba49d5e", - "reference": "f535c939fee065b202ed5a84b15aa5385ba49d5e", + "url": "https://api.github.com/repos/webflo/drupal-core-require-dev/zipball/593123300b3cf9974fa0742282af90fa72ac06fc", + "reference": "593123300b3cf9974fa0742282af90fa72ac06fc", "shasum": "" }, "require": { @@ -9131,7 +9132,7 @@ "behat/mink-goutte-driver": "^1.2", "behat/mink-selenium2-driver": "1.3.x-dev", "drupal/coder": "^8.3.1", - "drupal/core": "8.7.7", + "drupal/core": "8.7.8", "jcalderonzumba/gastonjs": "^1.0.2", "jcalderonzumba/mink-phantomjs-driver": "^0.3.1", "justinrainbow/json-schema": "^5.2", @@ -9148,7 +9149,7 @@ "GPL-2.0-or-later" ], "description": "require-dev dependencies from drupal/core", - "time": "2019-09-04T10:31:38+00:00" + "time": "2019-10-02T19:31:42+00:00" } ], "aliases": [], diff --git a/web/themes/custom/barbell/barbell.libraries.yml b/web/themes/custom/barbell/barbell.libraries.yml index b890d07..e6d978f 100644 --- a/web/themes/custom/barbell/barbell.libraries.yml +++ b/web/themes/custom/barbell/barbell.libraries.yml @@ -18,3 +18,4 @@ global-styling: css/blog.css: {} css/tim.css: {} css/programi.css: {} + css/raspored.css: {} diff --git a/web/themes/custom/barbell/css/blog.css b/web/themes/custom/barbell/css/blog.css index f9240f5..b5662c8 100644 --- a/web/themes/custom/barbell/css/blog.css +++ b/web/themes/custom/barbell/css/blog.css @@ -29,7 +29,7 @@ z-index: -1; bottom: -16px; left: -30px; - color: red; + /* color: red; */ } .path-blog #block-barbell-content, @@ -42,10 +42,7 @@ margin: 20px; } } -<<<<<<< HEAD -======= ->>>>>>> master .path-blog div .layout-container main .layout-content, .path-vesti div .layout-container main .layout-content { margin: 0 7%; @@ -69,26 +66,36 @@ grid-gap: 20px; justify-content: space-between; } -@media only screen and (min-width: 320px) and (max-width: 1100px) { +@media only screen and (max-width: 1100px) { .path-blog div .layout-container main .layout-content div #block-barbell-content div div .view-content, .path-vesti div .layout-container main .layout-content div #block-barbell-content div div .view-content { grid-template-columns: repeat(3, 1fr); + margin: 0 2vw; + } + .path-blog #block-barbell-content, .path-vesti #block-barbell-content { + margin: 0; + } + .path-blog .article-thumb .article-info-wrapper .article-title span, + .path-vesti .article-thumb .article-info-wrapper .article-title span { + font-size: 1.7rem; + line-height: 24px; } } -@media only screen and (min-width: 320px) and (max-width: 900px) { +@media only screen and (max-width: 576px) { .path-blog div .layout-container main .layout-content div #block-barbell-content div div .view-content, .path-vesti div .layout-container main .layout-content div #block-barbell-content div div .view-content { grid-template-columns: repeat(2, 1fr); + margin: 0 2px; } } -@media only screen and (min-width: 320px) and (max-width: 700px) { +/* @media only screen and (min-width: 320px) and (max-width: 700px) { .path-blog div .layout-container main .layout-content div #block-barbell-content div div .view-content, .path-vesti div .layout-container main .layout-content div #block-barbell-content div div .view-content { grid-template-columns: 1fr; } -} +} */ .path-blog .article-thumb, .path-vesti .article-thumb { @@ -98,6 +105,8 @@ .path-blog .views-row, .path-vesti .views-row { border: 2px solid var(--yellow); + position: relative; + padding-bottom: 40px; } @@ -107,8 +116,8 @@ color: black; font-family: "Brandon Grotesque Medium"; } -.path-blog .article-thumb a:hover .article-info-wrapper .article-title, -.path-vesti .article-thumb a:hover .article-info-wrapper .article-title { +.path-blog .views-row:hover .article-title span, +.path-vesti .views-row:hover .article-title span { color: whitesmoke; } @@ -151,5 +160,9 @@ .article-info-wrapper .article-date div time { color: var(--gray); - font-size: 30px; + font-size: 2vw; + position: absolute; + bottom: 8px; + left: 50%; + transform: translate(-50%); } diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index a9d2b1c..b9b9881 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -212,15 +212,37 @@ h2 span { text-align: center; padding-bottom: 10px; } +.slick-dots { + width: 100vw; + text-align: center; +} +.slick-dots li { + display: inline-block; + text-align: center; +} -.slick-prev, +.slick-dots button { + text-indent: -9999px; + width: 20px; + height: 20px; + border-radius: 50px; + margin: 0 7px; + background: var(--black); + border: var(--black); +} +.slick-active button { + background: var(--yellow); + border: var(--yellow); +} + +/* .slick-prev, .slick-next { content: " " !important; background: var(--yellow); visibility: hidden; -} +} */ -.slick-prev:before, +/* .slick-prev:before, .slick-next:before { content: " "; background: var(--yellow); @@ -230,7 +252,7 @@ h2 span { z-index: 10; visibility: visible; display: inline-block; -} +} */ /* PROGRAM BOXES */ diff --git a/web/themes/custom/barbell/css/raspored.css b/web/themes/custom/barbell/css/raspored.css new file mode 100644 index 0000000..47fba51 --- /dev/null +++ b/web/themes/custom/barbell/css/raspored.css @@ -0,0 +1,72 @@ +.node__content > div:nth-child(1) > table:nth-child(1) { + width: 85%!important; + margin: 0 auto 50px; + border-spacing: 11px; + border-collapse: separate; + border-color: transparent; +} + +td, th { + border-color: transparent; + padding: 0; + text-align: center; + +} + +td div { + display: inline-grid; + align-content: center; + text-align: center; +} +th { + background-color: var(--yellow); +} +tr td { + height:170px; + width: 16%; + /* background: #e3e3e3; */ + background-image: url(../img/empty-raspored.png); + background-size: cover; + background-repeat: round; + border: none; +} +thead > tr { + height: 40px; + overflow-y: hidden; +} +thead > tr > th { + padding: 10px; + display: table-cell; + height: 20px; + font-family: 'Brandon Grotesque Medium'; +} +tr > th, +thead > tr > th:first-child { + width: 77px; + margin: 0; + font-size: 1.6rem; + display: inline-block; +} + +thead > tr > th:first-child { + padding: 45%; +} +tr > th { + padding: 91% 5px; +} +.raspored-as, +.raspored-ft, +.raspored-se { + width: 100%; + height: 100%; + margin: 0; +} +.raspored-as { + background: #e3e3e3; +} +.raspored-ft { + background: #e3e3e3; +} +.raspored-se { + background: #e3e3e3; +} diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index bb13ece..50a511b 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -1,6 +1,7 @@ :root { --yellow: #f6b018; --gray: #919191; + --black: #231f20; } * { From 6e717a11369330bcff6dc7383596dc72d56f1e3b Mon Sep 17 00:00:00 2001 From: hikeislife Date: Wed, 16 Oct 2019 18:23:19 +0200 Subject: [PATCH 067/139] raspored --- .gitignore | 11 ++-- .../custom/barbell/barbell.libraries.yml | 1 + web/themes/custom/barbell/css/raspored.css | 22 ++++++- web/themes/custom/barbell/css/style.css | 5 -- web/themes/custom/barbell/img/asics.png | Bin 0 -> 3053 bytes web/themes/custom/barbell/img/asics.webp | Bin 0 -> 1224 bytes .../custom/barbell/img/empty-raspored.png | Bin 0 -> 2317 bytes web/themes/custom/barbell/img/fe.webp | Bin 0 -> 1254 bytes web/themes/custom/barbell/img/se.webp | Bin 0 -> 1102 bytes web/themes/custom/barbell/js/main.js | 7 ++ web/themes/custom/barbell/js/raspored.js | 60 ++++++++++++++++++ 11 files changed, 95 insertions(+), 11 deletions(-) create mode 100644 web/themes/custom/barbell/img/asics.png create mode 100644 web/themes/custom/barbell/img/asics.webp create mode 100644 web/themes/custom/barbell/img/empty-raspored.png create mode 100644 web/themes/custom/barbell/img/fe.webp create mode 100644 web/themes/custom/barbell/img/se.webp create mode 100644 web/themes/custom/barbell/js/raspored.js diff --git a/.gitignore b/.gitignore index f7f384f..9e95291 100644 --- a/.gitignore +++ b/.gitignore @@ -35,8 +35,11 @@ /web/sites/default/local.services.yml /web/sites/default/1local.services.yml /web/themes/custom/barbell/css/Henrik/ -<<<<<<< HEAD /web/themes/custom/barbell/css/__MACOSX/ -======= -/web/themes/custom/barbell/css/__MACOSX/ ->>>>>>> master + +# Kata +.vscode/ +web/themes/custom/barbell/img/aics.png +web/themes/custom/barbell/img/barbell logo.psd +web/themes/custom/barbell/img/se.png +web/themes/custom/barbell/img/fe.png diff --git a/web/themes/custom/barbell/barbell.libraries.yml b/web/themes/custom/barbell/barbell.libraries.yml index e6d978f..9ef68f5 100644 --- a/web/themes/custom/barbell/barbell.libraries.yml +++ b/web/themes/custom/barbell/barbell.libraries.yml @@ -2,6 +2,7 @@ base: version: 1.x js: js/main.js: {} + js/raspored.js: {} dependencies: - core/drupal - core/jquery diff --git a/web/themes/custom/barbell/css/raspored.css b/web/themes/custom/barbell/css/raspored.css index 47fba51..fc0de94 100644 --- a/web/themes/custom/barbell/css/raspored.css +++ b/web/themes/custom/barbell/css/raspored.css @@ -14,8 +14,6 @@ td, th { } td div { - display: inline-grid; - align-content: center; text-align: center; } th { @@ -61,12 +59,32 @@ tr > th { height: 100%; margin: 0; } + .raspored-as { background: #e3e3e3; } + .raspored-ft { background: #e3e3e3; } + .raspored-se { background: #e3e3e3; } + +.rasporedText { + font-family: "Brandon Grotesque Bold" !important; + text-align: center !important; + font-size: 22px !important; + margin: 0 !important; + padding: 0 10px !important; +} + +.rasporedImgWrapper { + height: 60%; +} + +.rasporedImgWrapper img { + height: 86%; + padding-top: 13px; +} \ No newline at end of file diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index e480e55..ceaca86 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -1,12 +1,7 @@ :root { -<<<<<<< HEAD --yellow: #f6b018; --gray: #919191; --black: #231f20; -======= - --yellow: #f6b018; - --gray: #919191; ->>>>>>> 0495c7a80a9ad9cea2d4ca3a24b6d359fcd72f14 } * { diff --git a/web/themes/custom/barbell/img/asics.png b/web/themes/custom/barbell/img/asics.png new file mode 100644 index 0000000000000000000000000000000000000000..4f0defac56b30984ebaaa90544285bfacd6fa2d6 GIT binary patch literal 3053 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 literal 0 HcmV?d00001 diff --git a/web/themes/custom/barbell/img/asics.webp b/web/themes/custom/barbell/img/asics.webp new file mode 100644 index 0000000000000000000000000000000000000000..ad31178081c99c40505194708d3bb3f86c386457 GIT binary patch literal 1224 zcmV;(1ULIqNk&G%1ONb6MM6+kP&il$0000G0000(003kF06|PpNFD?L00E$OYum9m z)_=Y4TP5?xs%_i0ZQJeGw$0kMZQHhu*f~GkzVC^M2_UNjXQZUKie+20((bi>q^*+=$ zdN{qO4fLDx)qa2Ji5oW_L2C~Re%>n}9=P4dXQI~Mk6`i`(fVhV!2YK#>do^oU6S&r z{lVF%YgiJ@PaxU`?hm@|z{1<1G@92~*9#l4fc%e{r#@XbtU!P2&HPKcPjPzGZPchy zo$|$|>545JnF*k=wq49KFY%k|!rqwx?s~N?W7d+etTyhqq$|6r7Ge=KFF^b@P~1RHu2Sjk zM4k+VXE~i10ma)zotUZuoPI0Xz7=Xf^1lUao2~;${VBw*xAXuH`}`jOYx7$)Pak53 zSQ8j)09c#flA$mg+ux3(hJd$hr~%_y?JSsK4)=qNg(u5R{c2yj27G1gbx0rf5&2tv zdmvpU-jwH}RB~D3``i6`OX`HFMvxv!vYxtgC5D=sD>a1_ONgEY8mf>kvn_|phobMv zY?V8ZJQ+f&#{`*$^<^*7{@qQPkh~H_su7ujm899zcV`L|ujC`;)(|$=lzkSI?-VBW zcLWzadJ61<^4(&jaf)Cf>CFCWER@r#kSzY~PG=(!%G=-7R*#BuQ z9~q7S8~ciAfkMi%0TEZ%&wEO&AnOZ2xJK~!Ngn&!i!KTB29y0m zMX11YGJKzClgAzMj(Wz!4-OGUE#qNYE{DkTaTW(BD>y{d=r{-Ig~B zYksfE_#3Vl(P<3y=yrb1CA_Hb0AR%INB{u-?FUHz|Nk0Z>Hn<@FaPRv8Grw&)QA7|Iw3!NP%r;hKmY&{j!Ihq literal 0 HcmV?d00001 diff --git a/web/themes/custom/barbell/img/empty-raspored.png b/web/themes/custom/barbell/img/empty-raspored.png new file mode 100644 index 0000000000000000000000000000000000000000..01168dc642731479551d89a33526a23a7abf57fd GIT binary patch literal 2317 zcmaJ@YgiL!7ETi;x*!@Y$W3GnN>wC7f&>!?*N`=qWCejx&`1aa1d>chf|-C;z$yr6 zrMuJ>^wDZz`w%f=RZvD(NYsi7Euf$%B~(F4DN)uNmOeXJvHh{`JTvos=bQJu=RKDn zvwOYpua5Ta_5=dKk-wH3hp&zJlRTS@zhBfheTFY?+UO+h1|&nPlc-@rL^_fNgM5V~ z6OMx=>H6Gja0r1wqRQfvv`K;(wiHp&B-0ogs!-wH1VTs{s**@^U@e#iXUdcu>Uhh) zsh}*KLlp%I`~|8gI7_xRUkz`_7sgBTbEK?vYFH>3g0gV}1+0~Ts6wvPuu%^64KEwt zPai{6@C`(p!=e5zDoL;&j6&2f7)T57lls%?Ad^X>uMT7~>8n77Kb-;j<2TcfzM37# zWHW-mw-*(UrcTdb$8mXYW8oHunx)mM*bt=C>1etD8lujG=qwg%nuEdc!x4TOy;3Vd z{gfK-83rz_k*Z}Xtqf6u(~OcdBu~qs;!1x{L7{p_tJJ(L6J9U~m8c*(&3`(j8K6M$ z|Dg)SJG4d{2mhh>e-dlr^(q*OgEdH=T8cL=!+ScEiXEkfC0axsk0A1yDz48$w1_4P zQGrn#nBa1eOqq`8G%McV1p+o-snJT5Qkc)>P;myDOqR|Lj9ASI3Svd^{24qtJ({(~ zKQJOHh{a??GFYo41EXhrxrj7R0V}mLzUhDXa^LGaJqijH9+?ZPWn18Mo*GerZ&GH< z-mfL%y?k$d)8DTp^1Z$gE(V%z?4KGvbA(UN^!DA@;>Nqdhn4uWtMRdRPW5FI2tW~^ z8xfD*{rOOeFeQS*g;M=fqpu;Mr*<9>do3YVqG6uR zM0)l-Bh?sJvI;XAjV6aJ&qwwS|U;&TVRHGIe)AVMeZ)&B4;;Z^_8S{UMl$V#d&uGz$HSk%Uaf}HmWK}k9r4VHzJ=wN-3Kb{jt?e` z9vNxh5r#8eyJU!u7~H$lrSyjmOJ0e>1Fee0E?lS`m}kz)L4gyuA3uKl=%6Sz(bhh4 zt81dM5(f&G8e%F%AKUikdDzv*0nzsr79cI2d_#V=Lw}~{>*YlvE5|UWG}aky+KsjB z!acIkpROFN=(H9Kw%o}Kg($}keSG9RCj>@|TrW5v|Iq^ouQ-UgqJFAr@NXqY`v<@4 zCt=|gzZHopML-JgE`MQ-Q-3lXUeRS+Ihr4aEEGqJ#~$B2T~g#awrD_Ja`97%*m>YH*70k96HtM zU@n+rbT~T)dzuF{1j{)uv2ZL?xx;dkCpKA6TPTCT(C#)vx09P8Mz%v&HCEnFFnjV} zyB_VVX>32*f8ljr^CY;Q>BH?e7t%oWO1!Sb{qks z=w=}YKjq&gm<9L9udxFydPgI5oHiT_g2L-TT>F6vt-8&V*;<}JHsA6#j<2}R6XU54 z+pd(?2C&A5U43zD6sYk=uDKfe7W<3lkJ7gzd^5b6;;q3 z-=f|`H{y^_W$&0Jro$IKmawa^IlIv($q~7&pkNmVoY10XSx3sy#AKSRiwr7>!Egs(liz2=E08k-U#@h*zItyl4LvTLn&CW zFIc|JmM@(fc_vT0ZQE2q=;7^vxW~_YoqPG=^OM3@|EUFeK%)cGRNh^9zPK--uh0dz tFFMbfO@v0tX(sDA(*x|ASyS^<3152JP1tkxaHoGz_|Zb{iOAIA{{l|?z?T33 literal 0 HcmV?d00001 diff --git a/web/themes/custom/barbell/img/fe.webp b/web/themes/custom/barbell/img/fe.webp new file mode 100644 index 0000000000000000000000000000000000000000..e13016ff12563de9b8f4f734d2fad30cdd84ffb2 GIT binary patch literal 1254 zcmVtL`HbuUE3}xN!`{5 z_P>^-5XrF^`rpe-Gzq4^O2|_o$_Vchh;t8&j_%XCHD$#)*S@Q!kZIy5lQ z|NX7~%SLr|FP$v`%Mh@hR;b;!J0b9cUj&T*e0_Xj-zX0G`E*r-j@SY<5qyZdDsl5e1vKl403H8gEigrF)IeJ!{gUoTadMq47v{tDa&$k;J8 z%3umv-J>lypH!;>G#e9@@qsm(qp}%MsYBr!cj}OOf&yvYg5ObvfQIs3lZN#adb zr~mW?D;G`el#A>gyA{CYR(4Hva`lUZ@@;~Gp(cS@nRw$}Q2`s{s4D85gZfudqH4i< zzp9ZdCwXLpm%Wl%O6b`Bs!2qYxo=8YQmlypV`~z%;3se%AW>6%0;f-ES(bzKNxxi@B>uw#;KRyBNu+Rx zGb1jK%O*l!rvQi;B*6e@0ks5Z@4Vvz6mnjW0FHM~L;Qb_+Bq+&05sKU@g<--w;6m+ z&S?Ha6+%Mh?zib;n9axi<2*AE5q(hImBJdVDna%yRjUL^3grjVe4uJ6NDRYvlp}|M;SK16WGh z%`7uX(gXmIQ*XYdlqiJ(d?x(|mJFh_0dP|AN=(U0MQG7v~0KhlB!wOtW zFGlQ77G%=N5~+fJ-*`eagL070JZSzLlT?Jos&}#M;sodb{#_jctW%+%T@jde6=0H0 zU>utmeI`tpyI{e@3CjKjNx(Wbp>8%J*K45kqJI-sP&goh000262LPP`Dq{dv06sAi zheDzu43Yp40fJgW8~_SH0AMI0S>!P>2y1+haCHk=@)2rY8>y(xnT2R_U`o)ODySZG zr2A5 literal 0 HcmV?d00001 diff --git a/web/themes/custom/barbell/img/se.webp b/web/themes/custom/barbell/img/se.webp new file mode 100644 index 0000000000000000000000000000000000000000..c189d29a8d18ccc744b0fccc4a695e99a131e016 GIT binary patch literal 1102 zcmV-U1hM;4Nk&FS1ONb6MM6+kP&il$0000G0001D002w?06|PpNUH+?00E$F+qP-D z8k@0g+qP{xxwdWFwr$(Kv2EMQF30E(YtAvp8gqR>L`(oF9q{y@D;B;qkRrU*|1keh zGqMI{VBb(yD%9^WwwHUc_iHj$Gyo2Dtp=m!y{-ioL`QhN8EPDqUR$w^o^b` z1-_1+4+JnHa_*GKJ1-tF{Uv}Muibg))88yxvEuJ9-hArb`(FL><0t1-^eDDcL^kVz zlHO43!&-pFRlK3@MQZSO(i{3&4{i!2-eyeFRR5yqzWe#%io6FD<@OS*aOUU7fd8ry zQO&oD5Zu;-j$UP3KhJpa?kBSK?;~=QLtasXH@@kkwJ( zv=px45Y>FTP!Beja;ggPYgvh@^P%|`r#^Ds8BK550o}*Sx=fWTX&Ji^`tNk;=bn-W($o5fK8Pd6_0wgx0Fn569D{~w#2@K z-&e@cjRCx2c@WxvJL#}3Cey)y8x0pidr{2_H|%GjuS}}QP&|o<+U2SHhltYWZsa^J zL%R&f>O%B2)L%xy_@o84WkTPXu)l7-B6Y=e4Mg;=r64VHiv=qlg8F4-zsrKwG97Ks zJN77eka3=Em<(-_dZ)>*@J293*rp0yBXurSd^kU>%8WL)GleRikjbq|L|u1=vyGS) zY%_)Ec9|C_SZ7NppL6K6WsFpry%LA28L07zFm7k9w{(}H$pX3k$a+o~V_CmgYKze) zPR9q4J-#l48mu==r%Ar*K8Nq?5%&_gEyTXhG(Q9yT*xT=dI0fj6p1~{yU6rx7<7ka z$;GwEd5zd$-UQRkP~zVP77r%Lx1~-cdEHI*LZR{>9A7v!Mxu91{Z9P4h6Cj5B~o8H zqz%7$bEec92Ra&fE^08!VQ=8t$T{BCP_1s7i0UFZ)tjrukbTpv$LD8&g8649uQGJ= z=5smr;+2N#zBI^FVb1N?v18M?4sYJ~SXxfo2k`MZWwi^u$fR`L0zaGR z+Tck&RjuLYiMXm8)a0z$&3c_w|EeKt)fe{;D@n0Si*3biRVA}DbRp{lw$Dj*7igSj zEAjK;d;ob1YU#Q_#Z9(g$%^Gk`|~PZ<@xxRir;-ZsA7j_<)E@K8-yG6CIA5b{)sZ5_eW#@|Litge{gv3|8*Kuk6-`&#RxOM U_Fv_{|M}AZY=8grrT_o{0I)S35C8xG literal 0 HcmV?d00001 diff --git a/web/themes/custom/barbell/js/main.js b/web/themes/custom/barbell/js/main.js index e69de29..4499fd7 100644 --- a/web/themes/custom/barbell/js/main.js +++ b/web/themes/custom/barbell/js/main.js @@ -0,0 +1,7 @@ +Drupal.behaviors.exampleModule = { + attach: function (context, settings) { + //$('.example', context).click(function () { + console.log('test') + //}); + } +}; \ No newline at end of file diff --git a/web/themes/custom/barbell/js/raspored.js b/web/themes/custom/barbell/js/raspored.js new file mode 100644 index 0000000..6841c15 --- /dev/null +++ b/web/themes/custom/barbell/js/raspored.js @@ -0,0 +1,60 @@ +Drupal.behaviors.exampleModule = { + attach: function (context, settings) { + + var td = document.querySelectorAll('td div') + td = [...td] + var text = '' + var icon = '' + td.forEach(x => { + if (x.classList[0] === 'raspored-ft') { + text = 'FUNKCIONALNI TRENING' + icon = '/barbell/web/themes/custom/barbell/img/fe.webp' + } + else if (x.classList[0] === 'raspored-se') { + text = 'SNAGA I ESTETIKA' + icon = '/barbell/web/themes/custom/barbell/img/se.webp' + } + else if (x.classList[0] === 'raspored-as') { + text = 'ASICS ŠKOLA TRČANJA' + icon = '/barbell/web/themes/custom/barbell/img/asics.webp' + } + + + (function fixContent() { + removeInitialContent() + createNewContent() + })() + + + function removeInitialContent() { + console.log(x) + x.innerHTML = '' + console.log(x) + } + + function createNewContent() { + var imgContainer = document.createElement('div') + var img = document.createElement('img') + var titleContainer = document.createElement('div') + var title = document.createElement('p') + + x.appendChild(imgContainer) + x.appendChild(titleContainer) + titleContainer.appendChild(title) + imgContainer.appendChild(img) + + title.className = "rasporedText" + imgContainer.className = "rasporedImgWrapper" + + + title.innerHTML = text + img.src = icon + } + + console.log(x) + }) + + + } +}; + From 9b32b58eb832343b51381a25d09cab1398e5d0b3 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Wed, 16 Oct 2019 21:05:09 +0200 Subject: [PATCH 068/139] programi fixes --- web/themes/custom/barbell/css/frontPage.css | 3 + web/themes/custom/barbell/css/programi.css | 116 ++++++++++++++---- .../templates/node--program--teaser.html.twig | 6 +- 3 files changed, 97 insertions(+), 28 deletions(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index 584d7e7..ee2f9a9 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -211,6 +211,9 @@ h2 span { display: block; border-bottom: 3px solid var(--yellow); width: 70px; +} + +.path-frontpage .program-description div:before { margin: 20px auto; } diff --git a/web/themes/custom/barbell/css/programi.css b/web/themes/custom/barbell/css/programi.css index 216d944..de467e7 100644 --- a/web/themes/custom/barbell/css/programi.css +++ b/web/themes/custom/barbell/css/programi.css @@ -1,12 +1,12 @@ :root { - --each: 400px; /* širina celog jednog program boxa */ - --oneHalf: 200px; /* širina slike / texta unutar jednog boxa */ + --each: 600px; /* širina celog jednog program boxa */ + --oneHalf: 300px; /* širina slike / texta unutar jednog boxa */ --text: 350px; } .path-programi .program-title span { font-family: "Henry"; - font-size: 26px; + font-size: 38px; text-transform: uppercase; } @@ -20,13 +20,25 @@ display: grid; grid-template-columns: var(--each) var(--each); justify-content: space-around; + margin-bottom: 190px; } .path-programi .view-content .views-row { - height: 233px; + height: 320px; overflow: hidden; } +/* removes hover from other pages */ +.path-programi .view-content .views-row:hover { + border: none; +} + +.path-programi .view-content .views-row:hover .program-info-wrapper, +.path-programi .view-content .views-row:hover .program-info-wrapper-mini { + background: black; +} + + /* div pojedinog programa */ .path-programi .view-content .views-row .program-thumb { margin: 0; @@ -38,17 +50,10 @@ grid-template-columns: var(--oneHalf) var(--oneHalf); height: 100%; } - /* .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-info-wrapper { - position: absolute; - border: 3px solid var(--yellow); - height: 100%; - } */ /* LEVA SLIKA */ .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-image { - clip-path: polygon(0 0, 100% 0%, 15% 100%, 0% 100%); - background: var(--yellow); - + clip-path: polygon(0 0, 100% 0%, 40% 100%, 0% 100%); } .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-image img { overflow: hidden; @@ -56,23 +61,53 @@ /* LEVI TEXT */ .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-title { - position: relative; - right: 10px; - padding: 10px; + padding: 27px; + text-align: right; +} + +.path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-title span { + text-align: right; + display: inline-block; + width: 74%; } /* DESNI TEXT */ -.path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-title { +.path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-title { /* position: relative; right: 10px; */ - padding: 10px; + /*margin: 27px 30px;*/ + +} + +.path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-title span { + width: 67%; + display: inline-block; + margin: 27px; +} + +.path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-description div { + width: 80%; + padding: 0 27px; + font-size: 30px; +} + +.path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-description { + text-align: right; +} +.path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-description div { + margin: -18px 27px; + font-size: 30px; +} + +/* TODO: remove this before publishing */ +.path-programi .view-content .views-row .program-thumb .program-link .program-image { + background: dimgray; } /* OKRETANJE PARNIH PROGRAMA NA DRUGU STRANU */ .path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-image { - background: var(--yellow); grid-column: 2/3; - clip-path: polygon(0 0, 100% 0%, 100% 100%, 85% 100%); + clip-path: polygon(0 0, 100% 0%, 100% 100%, 60% 100%); } .path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-info-wrapper { @@ -81,12 +116,41 @@ } .path-programi .view-content .views-row { - border: 3px solid transparent; - color: black; + margin: 30px 0; } - .path-programi .view-content .views-row:hover { - backgrond: black; - border: 3px solid transparent!important; - /*background: transparent;*/ - } \ No newline at end of file +.path-programi .views-row:nth-child(odd) .program-info-wrapper { + position: relative; + left: -60%; + clip-path: polygon(37% 0, 100% 0, 100% 100%, 0 100%); +} + +.path-programi .views-row:nth-child(odd) .program-info-wrapper-mini { + background: whitesmoke; + margin: 4px; + clip-path: polygon(37% 0, 100% 0, 100% 100%, .5% 100%); + height: 97.5%; +} + +.path-programi .views-row:nth-child(even) .program-info-wrapper { + clip-path: polygon(0 0, 63% 0, 100% 100%, 0 100%); +} + +.path-programi .views-row:nth-child(even) .program-info-wrapper-mini { + clip-path: polygon(.8% 1.2%, 62.5% 1.2%, 98.5% 100%, .8% 100%); + background: whitesmoke; + height: 98.7%; +} + +.path-programi .program-info-wrapper { + background: var(--yellow); + width: 160%; +} + +.path-programi .views-row:nth-child(odd) .program-description div::before { + margin: 17px 0 19px auto; +} + +.path-programi .views-row:nth-child(even) .program-description div::before { + margin: 4px auto 19px 0; +} \ No newline at end of file diff --git a/web/themes/custom/barbell/templates/node--program--teaser.html.twig b/web/themes/custom/barbell/templates/node--program--teaser.html.twig index e50796a..f2374ba 100644 --- a/web/themes/custom/barbell/templates/node--program--teaser.html.twig +++ b/web/themes/custom/barbell/templates/node--program--teaser.html.twig @@ -76,8 +76,10 @@

-
{{ label }}
-
{{ content.body }}
+
+
{{ label }}
+
{{ content.body }}
+
From 4fb869f1abf5d99b44fdce16465c449ca42e2d36 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Thu, 17 Oct 2019 13:10:36 +0200 Subject: [PATCH 069/139] style --- web/themes/custom/barbell/css/blog.css | 115 ++++++++++++++++---- web/themes/custom/barbell/css/frontPage.css | 74 ++++++++++++- web/themes/custom/barbell/css/style.css | 7 +- 3 files changed, 164 insertions(+), 32 deletions(-) diff --git a/web/themes/custom/barbell/css/blog.css b/web/themes/custom/barbell/css/blog.css index b5662c8..3451ecf 100644 --- a/web/themes/custom/barbell/css/blog.css +++ b/web/themes/custom/barbell/css/blog.css @@ -9,7 +9,6 @@ margin-bottom: 120px; } - /* NO-SPAN TAGGED TITLES and YELLOW STRIPES FOR NO-SPAN TAGGED TITLES */ .path-blog h1.page-title, .path-vesti h1.page-title, @@ -34,7 +33,7 @@ .path-blog #block-barbell-content, .path-vesti #block-barbell-content { - margin: 100px; + margin: 100px 0; } @media only screen and (min-width: 320px) and (max-width: 700px) { .path-blog #block-barbell-content, @@ -56,23 +55,60 @@ .path-blog .image-style-medium, .path-vesti .image-style-medium { - padding-top: 100%!important; -} - -.path-blog div .layout-container main .layout-content div #block-barbell-content div div .view-content, -.path-vesti div .layout-container main .layout-content div #block-barbell-content div div .view-content { + padding-top: 100% !important; +} + +.path-blog + div + .layout-container + main + .layout-content + div + #block-barbell-content + div + div + .view-content, +.path-vesti + div + .layout-container + main + .layout-content + div + #block-barbell-content + div + div + .view-content { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 20px; justify-content: space-between; } @media only screen and (max-width: 1100px) { - .path-blog div .layout-container main .layout-content div #block-barbell-content div div .view-content, - .path-vesti div .layout-container main .layout-content div #block-barbell-content div div .view-content { + .path-blog + div + .layout-container + main + .layout-content + div + #block-barbell-content + div + div + .view-content, + .path-vesti + div + .layout-container + main + .layout-content + div + #block-barbell-content + div + div + .view-content { grid-template-columns: repeat(3, 1fr); margin: 0 2vw; } - .path-blog #block-barbell-content, .path-vesti #block-barbell-content { + .path-blog #block-barbell-content, + .path-vesti #block-barbell-content { margin: 0; } .path-blog .article-thumb .article-info-wrapper .article-title span, @@ -83,8 +119,26 @@ } @media only screen and (max-width: 576px) { - .path-blog div .layout-container main .layout-content div #block-barbell-content div div .view-content, - .path-vesti div .layout-container main .layout-content div #block-barbell-content div div .view-content { + .path-blog + div + .layout-container + main + .layout-content + div + #block-barbell-content + div + div + .view-content, + .path-vesti + div + .layout-container + main + .layout-content + div + #block-barbell-content + div + div + .view-content { grid-template-columns: repeat(2, 1fr); margin: 0 2px; } @@ -109,8 +163,6 @@ padding-bottom: 40px; } - - .article-thumb a { text-decoration: none; color: black; @@ -124,25 +176,28 @@ /* Article title */ .path-blog .article-thumb .article-info-wrapper .article-title span, .path-vesti .article-thumb .article-info-wrapper .article-title span { - font-size: 4.65vmin; + font-size: 30px; + line-height: 30px; + display: inline-block; + width: 100%; } -@media only screen and (min-width: 320px) and (max-width: 1500px) { +@media only screen and (min-width: 1000px) and (max-width: 1500px) { .path-blog .article-thumb .article-info-wrapper .article-title span, .path-vesti .article-thumb .article-info-wrapper .article-title span { - font-size: 4vmin; + font-size: 28px; } -} -@media only screen and (min-width: 320px) and (max-width: 1000px) { +} +@media only screen and (min-width: 768px) and (max-width: 1000px) { .path-blog .article-thumb .article-info-wrapper .article-title span, .path-vesti .article-thumb .article-info-wrapper .article-title span { - font-size: 3vmin; + font-size: 26px; } -} +} -@media only screen and (min-width: 320px) and (max-width: 700px) { +@media only screen and (min-width: 320px) and (max-width: 768px) { .path-blog .article-thumb .article-info-wrapper .article-title span, .path-vesti .article-thumb .article-info-wrapper .article-title span { - font-size: 6vmin; + font-size: 23px; } } @@ -160,9 +215,21 @@ .article-info-wrapper .article-date div time { color: var(--gray); - font-size: 2vw; + font-size: 24px; position: absolute; bottom: 8px; left: 50%; transform: translate(-50%); } + +@media only screen and (max-width: 1200px) { + .article-info-wrapper .article-date div time { + font-size: 23px; + } +} + +@media only screen and (max-width: 992px) { + .article-info-wrapper .article-date div time { + font-size: 21px; + } +} diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index 584d7e7..82daa7b 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -34,6 +34,7 @@ padding-top: 1px; margin-top: -1px; height: calc(100vh - 75px); + position: relative; } h2 span:before { @@ -221,8 +222,11 @@ h2 span { .slick-dots { width: 100vw; text-align: center; + position: absolute; + bottom: 0; + padding-left: 0; } -.slick-dots li { +.slick-dots li { display: inline-block; text-align: center; } @@ -231,7 +235,7 @@ h2 span { text-indent: -9999px; width: 20px; height: 20px; - border-radius: 50px; + border-radius: 50px; margin: 0 7px; background: var(--black); border: var(--black); @@ -373,3 +377,69 @@ h2 span { } /* // PROGRAM BOXES ENDS */ + +/* NAV RESPO */ + +@media only screen and (min-width: 320px) and (max-width: 1250px) { + header div { + grid-template-columns: 415px auto; + width: 100vw; + justify-content: space-between; + } + + #block-barbell-branding a img { + margin-right: -15px; + } + + .language-switcher-language-url { + display: flex; + justify-content: flex-end; + width: 100%; + /* right: -20px; */ + /* align-content: center; */ + height: 99%; + } + + #block-languageswitcher ul { + padding-left: 0px; + } + + .en:after { + left: 48px; + } + + /* NAV */ + header div nav { + /* display: none; */ + position: absolute; + /* top: -60vh; */ + display: flex; + justify-content: center; + align-items: center; + width: 100vw; + height: 60vh; + /* border: 1px solid var(--yellow); */ + background: #171717; + z-index: 9999; + } + + header div nav ul { + display: block; + height: 80%; + } + + #block-barbell-main-menu ul li { + display: block; + margin: 17px 0; + text-align: center; + } + + #block-barbell-main-menu ul li a { + color: whitesmoke; + font-size: 30px; + font-family: "roboto"; + font-weight: 100; + } +} + +/* NAV RESPO ENDS */ diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index e480e55..9ee5f38 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -1,12 +1,7 @@ :root { -<<<<<<< HEAD - --yellow: #f6b018; - --gray: #919191; - --black: #231f20; -======= --yellow: #f6b018; --gray: #919191; ->>>>>>> 0495c7a80a9ad9cea2d4ca3a24b6d359fcd72f14 + --black: #231f20; } * { From 01a9ed8ad4035bde46875e8ba0aa5d7f2c1a987d Mon Sep 17 00:00:00 2001 From: hikeislife Date: Thu, 17 Oct 2019 13:13:50 +0200 Subject: [PATCH 070/139] raspored --- web/themes/custom/barbell/js/raspored.js | 27 ++++++++---------------- 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/web/themes/custom/barbell/js/raspored.js b/web/themes/custom/barbell/js/raspored.js index 6841c15..2414331 100644 --- a/web/themes/custom/barbell/js/raspored.js +++ b/web/themes/custom/barbell/js/raspored.js @@ -1,10 +1,11 @@ Drupal.behaviors.exampleModule = { attach: function (context, settings) { - var td = document.querySelectorAll('td div') + let td = document.querySelectorAll('td div') td = [...td] - var text = '' - var icon = '' + let text = '' + let icon = '' + td.forEach(x => { if (x.classList[0] === 'raspored-ft') { text = 'FUNKCIONALNI TRENING' @@ -19,24 +20,20 @@ Drupal.behaviors.exampleModule = { icon = '/barbell/web/themes/custom/barbell/img/asics.webp' } - (function fixContent() { removeInitialContent() createNewContent() })() - function removeInitialContent() { - console.log(x) x.innerHTML = '' - console.log(x) } function createNewContent() { - var imgContainer = document.createElement('div') - var img = document.createElement('img') - var titleContainer = document.createElement('div') - var title = document.createElement('p') + const imgContainer = document.createElement('div') + const img = document.createElement('img') + const titleContainer = document.createElement('div') + const title = document.createElement('p') x.appendChild(imgContainer) x.appendChild(titleContainer) @@ -46,15 +43,9 @@ Drupal.behaviors.exampleModule = { title.className = "rasporedText" imgContainer.className = "rasporedImgWrapper" - title.innerHTML = text img.src = icon } - - console.log(x) }) - - } -}; - +}; \ No newline at end of file From 0aecb317ee152341d5de1997f67ba0e0fc65e52a Mon Sep 17 00:00:00 2001 From: hikeislife Date: Thu, 17 Oct 2019 17:07:45 +0200 Subject: [PATCH 071/139] treninzi respo --- web/themes/custom/barbell/css/programi.css | 141 ++++++++++++++++++--- web/themes/custom/barbell/css/raspored.css | 2 +- web/themes/custom/barbell/js/main.js | 4 +- 3 files changed, 122 insertions(+), 25 deletions(-) diff --git a/web/themes/custom/barbell/css/programi.css b/web/themes/custom/barbell/css/programi.css index de467e7..1649590 100644 --- a/web/themes/custom/barbell/css/programi.css +++ b/web/themes/custom/barbell/css/programi.css @@ -4,11 +4,29 @@ --text: 350px; } +.path-programi .program-title span { + font-family: "Henry"; + font-size: 38px; + text-transform: uppercase; +} + +@media only screen and (max-width: 1300px) { + .path-programi .program-title span { + font-size: 23px; + } +} + +@media only screen and (max-width: 900px) { .path-programi .program-title span { - font-family: "Henry"; font-size: 38px; - text-transform: uppercase; } +} + +@media only screen and (max-width: 650px) { + .path-programi .program-title span { + font-size: 18px; + } +} .path-programi .program-link { color: black; @@ -16,17 +34,54 @@ } /* spoljni grid koji drži po dva programa u jednom redu */ +.path-programi .view-content { + display: grid; + grid-template-columns: var(--each) var(--each); + justify-content: space-around; + margin-bottom: 190px; +} + +@media only screen and (max-width: 1300px) { .path-programi .view-content { - display: grid; - grid-template-columns: var(--each) var(--each); - justify-content: space-around; - margin-bottom: 190px; + display: grid; + grid-template-columns: repeat(2, 400px); + grid-gap: 6%; + margin: 0 6% 190px; + } +} + +@media only screen and (max-width: 900px) { + .path-programi .view-content { + display: block; } +} +.path-programi .view-content .views-row { + height: 320px; + overflow: hidden; +} + +@media only screen and (max-width: 1300px) { .path-programi .view-content .views-row { - height: 320px; - overflow: hidden; + height: 234px; } +} + +@media only screen and (max-width: 900px) { + .path-programi .view-content .views-row { + height: 320px; + width: 600px; + margin: 0 auto 50px !important; + } +} + +@media only screen and (max-width: 650px) { + .path-programi .view-content .views-row { + height: 234px; + width: 400px; + margin: 0 auto 50px !important; + } +} /* removes hover from other pages */ .path-programi .view-content .views-row:hover { @@ -47,7 +102,7 @@ .path-programi .view-content .views-row .program-thumb .program-link { display: grid; - grid-template-columns: var(--oneHalf) var(--oneHalf); + grid-template-columns: repeat(2, 50%); height: 100%; } @@ -61,8 +116,8 @@ /* LEVI TEXT */ .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-title { - padding: 27px; - text-align: right; + padding: 27px; + text-align: right; } .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-title span { @@ -71,32 +126,60 @@ width: 74%; } -/* DESNI TEXT */ -.path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-title { - /* position: relative; - right: 10px; */ - /*margin: 27px 30px;*/ - -} - .path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-title span { width: 67%; display: inline-block; margin: 27px; } +@media only screen and (max-width: 1300px) { + .path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-title span { + width: 61%; + } +} + .path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-description div { width: 80%; padding: 0 27px; +} + +@media only screen and (max-width: 650px) { + .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-title, + .path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-title span { + padding: 15px !important; + margin: 0 !important; + } +} + + +.path-programi .view-content .views-row .program-thumb .program-link .program-description div { font-size: 30px; } + +@media only screen and (max-width: 1300px) { + .path-programi .view-content .views-row .program-thumb .program-link .program-description div { + font-size: 19px; + } +} + +@media only screen and (max-width: 900px) { + .path-programi .view-content .views-row .program-thumb .program-link .program-description div { + font-size: 30px; + } +} + +@media only screen and (max-width: 650px) { + .path-programi .view-content .views-row .program-thumb .program-link .program-description div { + font-size: 16px; + } +} + .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-description { text-align: right; } .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-description div { margin: -18px 27px; - font-size: 30px; } /* TODO: remove this before publishing */ @@ -115,9 +198,16 @@ grid-row: 1/2; } +.path-programi .view-content .views-row { + margin: 30px 0; +} + +@media only screen and (max-width: 650px) { .path-programi .view-content .views-row { - margin: 30px 0; + width: calc(100% - 20px); + margin: 40px 10px !important; } +} .path-programi .views-row:nth-child(odd) .program-info-wrapper { position: relative; @@ -132,6 +222,15 @@ height: 97.5%; } +@media only screen and (max-width: 1300px) { + .path-programi .views-row:nth-child(odd) .program-info-wrapper-mini { + position: relative; + top: -1px; + left: 1px; + clip-path: polygon(36.9% 0, 100% 0, 100% 100%, 0 100%); + } +} + .path-programi .views-row:nth-child(even) .program-info-wrapper { clip-path: polygon(0 0, 63% 0, 100% 100%, 0 100%); } diff --git a/web/themes/custom/barbell/css/raspored.css b/web/themes/custom/barbell/css/raspored.css index fc0de94..9825d3c 100644 --- a/web/themes/custom/barbell/css/raspored.css +++ b/web/themes/custom/barbell/css/raspored.css @@ -23,7 +23,7 @@ tr td { height:170px; width: 16%; /* background: #e3e3e3; */ - background-image: url(../img/empty-raspored.png); + background-image: url("../img/empty-raspored.png"); background-size: cover; background-repeat: round; border: none; diff --git a/web/themes/custom/barbell/js/main.js b/web/themes/custom/barbell/js/main.js index 4499fd7..744428d 100644 --- a/web/themes/custom/barbell/js/main.js +++ b/web/themes/custom/barbell/js/main.js @@ -1,7 +1,5 @@ Drupal.behaviors.exampleModule = { attach: function (context, settings) { - //$('.example', context).click(function () { - console.log('test') - //}); + console.log('test') } }; \ No newline at end of file From 12b9b2f4d48f9a6b4c0639b8f89fcfe126dbb8e2 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Thu, 17 Oct 2019 18:43:21 +0200 Subject: [PATCH 072/139] style --- .../custom/barbell/barbell.libraries.yml | 3 +- web/themes/custom/barbell/css/frontPage.css | 74 ++++++++++- web/themes/custom/barbell/img/hamburger.png | Bin 0 -> 7209 bytes web/themes/custom/barbell/js/main.js | 119 +++++++++++++++++- web/themes/custom/barbell/js/nav.js | 67 ++++++++++ web/themes/custom/barbell/js/raspored.js | 69 +++++----- 6 files changed, 284 insertions(+), 48 deletions(-) create mode 100644 web/themes/custom/barbell/img/hamburger.png create mode 100644 web/themes/custom/barbell/js/nav.js diff --git a/web/themes/custom/barbell/barbell.libraries.yml b/web/themes/custom/barbell/barbell.libraries.yml index 9ef68f5..6d8b9b4 100644 --- a/web/themes/custom/barbell/barbell.libraries.yml +++ b/web/themes/custom/barbell/barbell.libraries.yml @@ -2,7 +2,8 @@ base: version: 1.x js: js/main.js: {} - js/raspored.js: {} + # js/raspored.js: {} + # js/nav.js: {} dependencies: - core/drupal - core/jquery diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index 6785bca..e1bb9fb 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -378,12 +378,16 @@ h2 span { margin: 10px auto; } } - /* // PROGRAM BOXES ENDS */ /* NAV RESPO */ +@media only screen and (max-width: 1500px) { + #block-barbell-main-menu ul li { + margin-right: 10px; + } +} -@media only screen and (min-width: 320px) and (max-width: 1250px) { +@media only screen and (min-width: 320px) and (max-width: 1365px) { header div { grid-template-columns: 415px auto; width: 100vw; @@ -398,8 +402,6 @@ h2 span { display: flex; justify-content: flex-end; width: 100%; - /* right: -20px; */ - /* align-content: center; */ height: 99%; } @@ -411,11 +413,32 @@ h2 span { left: 48px; } + .hamburgerHolder { + width: 60px; + padding: 9px 0; + position: relative; + top: -1px; + margin-right: 15px; + } + + .hamburgerHolder:hover { + cursor: pointer; + } + + #block-languageswitcher ul { + right: 15px; + } + + .hamburgerHolder img { + width: 100%; + height: auto; + } + /* NAV */ header div nav { /* display: none; */ position: absolute; - /* top: -60vh; */ + top: -60vh; display: flex; justify-content: center; align-items: center; @@ -424,6 +447,7 @@ h2 span { /* border: 1px solid var(--yellow); */ background: #171717; z-index: 9999; + transition: all 0.5s ease-out; } header div nav ul { @@ -440,9 +464,47 @@ h2 span { #block-barbell-main-menu ul li a { color: whitesmoke; font-size: 30px; - font-family: "roboto"; + font-family: "roboto", sans-serif; font-weight: 100; } + + /* X-CLOSE */ + + .xHolder { + display: block; + width: 47px; + height: 48px; + position: fixed; + background: #171717; + top: 40px; + right: 45px; + border: none; + transition: all 0.6s ease-in; + } + + .xPara:hover { + cursor: pointer; + } + + .xPara { + position: relative; + top: -1px; + width: 100%; + height: 100%; + text-align: center; + color: whitesmoke; + margin: 0; + font-size: 1px; + opacity: 0; + transition: all 0.6s ease-in; + } + + /* X-CLOSE ENDS*/ } /* NAV RESPO ENDS */ + +/* TEMPORARY */ +.xHolder { + display: none; +} diff --git a/web/themes/custom/barbell/img/hamburger.png b/web/themes/custom/barbell/img/hamburger.png new file mode 100644 index 0000000000000000000000000000000000000000..05c0f9e3507d98af6842ab387b92d37e2299d981 GIT binary patch literal 7209 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 { + xPara.style.fontSize = "43px"; + xPara.style.opacity = "1"; + }, 300); + + setTimeout(() => { + xHolder.style.border = "1px solid whitesmoke"; + }, 900); + + function closeNav() { + nav.style.top = "-60vh"; + xHolder.style.display = "none"; + + // setTimeout(() => { + xPara.style.fontSize = "1px"; + xPara.style.opacity = "0"; + // }, 300); + + // setTimeout(() => { + xHolder.style.border = "none"; + // }, 900); + } + + var navLinks = document.querySelectorAll( + "#block-barbell-main-menu ul li" + ); + + navLinks.forEach(link => + link.addEventListener("click", function() { + if (nav.style.top == "0") { + closeNav(); + } + }) + ); + + xHolder.addEventListener("click", closeNav); + }); + + // TEMPORARY + // xPara.style.opacity = "0"; + // xHolder.style.opacity = "0"; + // TEMPORARY + })(); + + let raspored = (function() { + let td = document.querySelectorAll("td div"); + td = [...td]; + let text = ""; + let icon = ""; + + td.forEach(x => { + if (x.classList[0] === "raspored-ft") { + text = "FUNKCIONALNI TRENING"; + icon = "/barbell/web/themes/custom/barbell/img/fe.webp"; + } else if (x.classList[0] === "raspored-se") { + text = "SNAGA I ESTETIKA"; + icon = "/barbell/web/themes/custom/barbell/img/se.webp"; + } else if (x.classList[0] === "raspored-as") { + text = "ASICS ŠKOLA TRČANJA"; + icon = "/barbell/web/themes/custom/barbell/img/asics.webp"; + } + + (function fixContent() { + removeInitialContent(); + createNewContent(); + })(); + + function removeInitialContent() { + x.innerHTML = ""; + } + + function createNewContent() { + const imgContainer = document.createElement("div"); + const img = document.createElement("img"); + const titleContainer = document.createElement("div"); + const title = document.createElement("p"); + + x.appendChild(imgContainer); + x.appendChild(titleContainer); + titleContainer.appendChild(title); + imgContainer.appendChild(img); + + title.className = "rasporedText"; + imgContainer.className = "rasporedImgWrapper"; + + title.innerHTML = text; + img.src = icon; + } + }); + })(); } -}; \ No newline at end of file +}; diff --git a/web/themes/custom/barbell/js/nav.js b/web/themes/custom/barbell/js/nav.js new file mode 100644 index 0000000..89ecdfe --- /dev/null +++ b/web/themes/custom/barbell/js/nav.js @@ -0,0 +1,67 @@ +Drupal.behaviors.exampleModule = { + attach: function(context, settings) { + var langSwitch = document.querySelector("#block-languageswitcher"); + var hamburgerHolder = document.createElement("div"); + var hamburgerImg = document.createElement("img"); + hamburgerImg.src = "/barbell/web/themes/custom/barbell/img/hamburger.png"; + hamburgerHolder.classList.add("hamburgerHolder"); + hamburgerHolder.appendChild(hamburgerImg); + langSwitch.appendChild(hamburgerHolder); + + var nav = document.querySelector("header div nav"); + var xHolder = document.createElement("div"); + var xPara = document.createElement("p"); + xPara.innerHTML = "X"; + xHolder.appendChild(xPara); + nav.appendChild(xHolder); + xHolder.classList.add("xHolder"); + xPara.classList.add("xPara"); + + hamburgerHolder.addEventListener("click", function() { + nav.style.top = "0"; + xHolder.style.display = "block"; + + setTimeout(() => { + xPara.style.fontSize = "43px"; + xPara.style.opacity = "1"; + }, 300); + + setTimeout(() => { + xHolder.style.border = "1px solid whitesmoke"; + }, 900); + + function closeNav() { + nav.style.top = "-60vh"; + xHolder.style.display = "none"; + + // setTimeout(() => { + xPara.style.fontSize = "1px"; + xPara.style.opacity = "0"; + // }, 300); + + // setTimeout(() => { + xHolder.style.border = "none"; + // }, 900); + } + + var navLinks = document.querySelectorAll( + "#block-barbell-main-menu ul li" + ); + + navLinks.forEach(link => + link.addEventListener("click", function() { + if (nav.style.top == "0") { + closeNav(); + } + }) + ); + + xHolder.addEventListener("click", closeNav); + }); + + // TEMPORARY + // xPara.style.opacity = "0"; + // xHolder.style.opacity = "0"; + // TEMPORARY + } +}; diff --git a/web/themes/custom/barbell/js/raspored.js b/web/themes/custom/barbell/js/raspored.js index 2414331..7496e9b 100644 --- a/web/themes/custom/barbell/js/raspored.js +++ b/web/themes/custom/barbell/js/raspored.js @@ -1,51 +1,48 @@ Drupal.behaviors.exampleModule = { - attach: function (context, settings) { - - let td = document.querySelectorAll('td div') - td = [...td] - let text = '' - let icon = '' + attach: function(context, settings) { + let td = document.querySelectorAll("td div"); + td = [...td]; + let text = ""; + let icon = ""; td.forEach(x => { - if (x.classList[0] === 'raspored-ft') { - text = 'FUNKCIONALNI TRENING' - icon = '/barbell/web/themes/custom/barbell/img/fe.webp' - } - else if (x.classList[0] === 'raspored-se') { - text = 'SNAGA I ESTETIKA' - icon = '/barbell/web/themes/custom/barbell/img/se.webp' - } - else if (x.classList[0] === 'raspored-as') { - text = 'ASICS ŠKOLA TRČANJA' - icon = '/barbell/web/themes/custom/barbell/img/asics.webp' + if (x.classList[0] === "raspored-ft") { + text = "FUNKCIONALNI TRENING"; + icon = "/barbell/web/themes/custom/barbell/img/fe.webp"; + } else if (x.classList[0] === "raspored-se") { + text = "SNAGA I ESTETIKA"; + icon = "/barbell/web/themes/custom/barbell/img/se.webp"; + } else if (x.classList[0] === "raspored-as") { + text = "ASICS ŠKOLA TRČANJA"; + icon = "/barbell/web/themes/custom/barbell/img/asics.webp"; } (function fixContent() { - removeInitialContent() - createNewContent() - })() + removeInitialContent(); + createNewContent(); + })(); function removeInitialContent() { - x.innerHTML = '' + x.innerHTML = ""; } function createNewContent() { - const imgContainer = document.createElement('div') - const img = document.createElement('img') - const titleContainer = document.createElement('div') - const title = document.createElement('p') + const imgContainer = document.createElement("div"); + const img = document.createElement("img"); + const titleContainer = document.createElement("div"); + const title = document.createElement("p"); + + x.appendChild(imgContainer); + x.appendChild(titleContainer); + titleContainer.appendChild(title); + imgContainer.appendChild(img); - x.appendChild(imgContainer) - x.appendChild(titleContainer) - titleContainer.appendChild(title) - imgContainer.appendChild(img) + title.className = "rasporedText"; + imgContainer.className = "rasporedImgWrapper"; - title.className = "rasporedText" - imgContainer.className = "rasporedImgWrapper" - - title.innerHTML = text - img.src = icon + title.innerHTML = text; + img.src = icon; } - }) + }); } -}; \ No newline at end of file +}; From 9c22a28d3bc372479a8ce0f7353fa84adc9e014d Mon Sep 17 00:00:00 2001 From: hikeislife Date: Thu, 17 Oct 2019 18:45:21 +0200 Subject: [PATCH 073/139] galerija css --- web/themes/custom/barbell/barbell.libraries.yml | 1 + web/themes/custom/barbell/css/galerija.css | 13 +++++++++++++ web/themes/custom/barbell/js/raspored.js | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 web/themes/custom/barbell/css/galerija.css diff --git a/web/themes/custom/barbell/barbell.libraries.yml b/web/themes/custom/barbell/barbell.libraries.yml index 9ef68f5..050bcba 100644 --- a/web/themes/custom/barbell/barbell.libraries.yml +++ b/web/themes/custom/barbell/barbell.libraries.yml @@ -20,3 +20,4 @@ global-styling: css/tim.css: {} css/programi.css: {} css/raspored.css: {} + css/galerija.css: {} diff --git a/web/themes/custom/barbell/css/galerija.css b/web/themes/custom/barbell/css/galerija.css new file mode 100644 index 0000000..b597502 --- /dev/null +++ b/web/themes/custom/barbell/css/galerija.css @@ -0,0 +1,13 @@ +.page-node-type-galerija #block-barbell-content { + width: 100%; +} + +[class*="block-column-"] > .grid , +.item-list > [class*="block-column-"] > .grid { + margin: 0 -8px !important; + padding: 0; +} + +.b-lazy { + border: 1px solid black; +} \ No newline at end of file diff --git a/web/themes/custom/barbell/js/raspored.js b/web/themes/custom/barbell/js/raspored.js index 2414331..c9faddf 100644 --- a/web/themes/custom/barbell/js/raspored.js +++ b/web/themes/custom/barbell/js/raspored.js @@ -1,7 +1,7 @@ Drupal.behaviors.exampleModule = { attach: function (context, settings) { - let td = document.querySelectorAll('td div') + (let td = document.querySelectorAll('td div') td = [...td] let text = '' let icon = '' From 0c29a95441df8f5ec4bd1c8915beb3df22a3ade5 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Thu, 17 Oct 2019 18:49:14 +0200 Subject: [PATCH 074/139] js --- .../custom/barbell/barbell.libraries.yml | 2 - web/themes/custom/barbell/js/nav.js | 67 ------------------- web/themes/custom/barbell/js/raspored.js | 49 -------------- 3 files changed, 118 deletions(-) delete mode 100644 web/themes/custom/barbell/js/nav.js delete mode 100644 web/themes/custom/barbell/js/raspored.js diff --git a/web/themes/custom/barbell/barbell.libraries.yml b/web/themes/custom/barbell/barbell.libraries.yml index ae1e172..ecaf8f5 100644 --- a/web/themes/custom/barbell/barbell.libraries.yml +++ b/web/themes/custom/barbell/barbell.libraries.yml @@ -2,8 +2,6 @@ base: version: 1.x js: js/main.js: {} - # js/raspored.js: {} - # js/nav.js: {} dependencies: - core/drupal - core/jquery diff --git a/web/themes/custom/barbell/js/nav.js b/web/themes/custom/barbell/js/nav.js deleted file mode 100644 index 89ecdfe..0000000 --- a/web/themes/custom/barbell/js/nav.js +++ /dev/null @@ -1,67 +0,0 @@ -Drupal.behaviors.exampleModule = { - attach: function(context, settings) { - var langSwitch = document.querySelector("#block-languageswitcher"); - var hamburgerHolder = document.createElement("div"); - var hamburgerImg = document.createElement("img"); - hamburgerImg.src = "/barbell/web/themes/custom/barbell/img/hamburger.png"; - hamburgerHolder.classList.add("hamburgerHolder"); - hamburgerHolder.appendChild(hamburgerImg); - langSwitch.appendChild(hamburgerHolder); - - var nav = document.querySelector("header div nav"); - var xHolder = document.createElement("div"); - var xPara = document.createElement("p"); - xPara.innerHTML = "X"; - xHolder.appendChild(xPara); - nav.appendChild(xHolder); - xHolder.classList.add("xHolder"); - xPara.classList.add("xPara"); - - hamburgerHolder.addEventListener("click", function() { - nav.style.top = "0"; - xHolder.style.display = "block"; - - setTimeout(() => { - xPara.style.fontSize = "43px"; - xPara.style.opacity = "1"; - }, 300); - - setTimeout(() => { - xHolder.style.border = "1px solid whitesmoke"; - }, 900); - - function closeNav() { - nav.style.top = "-60vh"; - xHolder.style.display = "none"; - - // setTimeout(() => { - xPara.style.fontSize = "1px"; - xPara.style.opacity = "0"; - // }, 300); - - // setTimeout(() => { - xHolder.style.border = "none"; - // }, 900); - } - - var navLinks = document.querySelectorAll( - "#block-barbell-main-menu ul li" - ); - - navLinks.forEach(link => - link.addEventListener("click", function() { - if (nav.style.top == "0") { - closeNav(); - } - }) - ); - - xHolder.addEventListener("click", closeNav); - }); - - // TEMPORARY - // xPara.style.opacity = "0"; - // xHolder.style.opacity = "0"; - // TEMPORARY - } -}; diff --git a/web/themes/custom/barbell/js/raspored.js b/web/themes/custom/barbell/js/raspored.js deleted file mode 100644 index a11c230..0000000 --- a/web/themes/custom/barbell/js/raspored.js +++ /dev/null @@ -1,49 +0,0 @@ -Drupal.behaviors.exampleModule = { - - attach: function (context, settings) { - (let td = document.querySelectorAll('td div') - td = [...td] - let text = '' - let icon = '' - - td.forEach(x => { - if (x.classList[0] === "raspored-ft") { - text = "FUNKCIONALNI TRENING"; - icon = "/barbell/web/themes/custom/barbell/img/fe.webp"; - } else if (x.classList[0] === "raspored-se") { - text = "SNAGA I ESTETIKA"; - icon = "/barbell/web/themes/custom/barbell/img/se.webp"; - } else if (x.classList[0] === "raspored-as") { - text = "ASICS ŠKOLA TRČANJA"; - icon = "/barbell/web/themes/custom/barbell/img/asics.webp"; - } - - (function fixContent() { - removeInitialContent(); - createNewContent(); - })(); - - function removeInitialContent() { - x.innerHTML = ""; - } - - function createNewContent() { - const imgContainer = document.createElement("div"); - const img = document.createElement("img"); - const titleContainer = document.createElement("div"); - const title = document.createElement("p"); - - x.appendChild(imgContainer); - x.appendChild(titleContainer); - titleContainer.appendChild(title); - imgContainer.appendChild(img); - - title.className = "rasporedText"; - imgContainer.className = "rasporedImgWrapper"; - - title.innerHTML = text; - img.src = icon; - } - }); - } -}; From 39ebb32a994720fa432d0426e7bb199792454aeb Mon Sep 17 00:00:00 2001 From: hikeislife Date: Fri, 18 Oct 2019 17:12:52 +0200 Subject: [PATCH 075/139] removal of inline styles --- web/themes/custom/barbell/js/main.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/web/themes/custom/barbell/js/main.js b/web/themes/custom/barbell/js/main.js index 2c02a28..9e3faab 100644 --- a/web/themes/custom/barbell/js/main.js +++ b/web/themes/custom/barbell/js/main.js @@ -112,5 +112,20 @@ Drupal.behaviors.exampleModule = { } }); })(); + + const removeInlineStyles = (() => { + if (document.querySelector('.path-tim')) { + const timPage = document.querySelector('.view-content') + let imgs = timPage.querySelectorAll('img') + imgs = [...imgs] + imgs.forEach(x => { + x.attributes.removeNamedItem("width"); + x.attributes.removeNamedItem("height"); + console.log(x) + }) + } + + + })(); } }; From 5c3bc7f5fa0931e1a9a377b63c4c69f796d76250 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Fri, 18 Oct 2019 17:18:55 +0200 Subject: [PATCH 076/139] respo nav & header top --- web/themes/custom/barbell/css/frontPage.css | 90 +++++++++++++++++++-- web/themes/custom/barbell/js/main.js | 13 +-- 2 files changed, 90 insertions(+), 13 deletions(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index e1bb9fb..25ae73f 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -69,6 +69,7 @@ h2 span { position: relative; font-family: "Brandon Grotesque Bold", sans-serif; } + @media only screen and (max-width: 768px) { h2 span { margin: 0; @@ -83,7 +84,12 @@ h2 span { margin: 25px auto; font-size: 30px; } + @media only screen and (max-width: 768px) { + /* .slider-content h2 { + margin: 22vh auto 20px; + } */ + .slider-desc div p { width: 90vw; margin-bottom: 10px !important; @@ -438,12 +444,12 @@ h2 span { header div nav { /* display: none; */ position: absolute; - top: -60vh; + top: -70vh; display: flex; justify-content: center; align-items: center; width: 100vw; - height: 60vh; + height: 70vh; /* border: 1px solid var(--yellow); */ background: #171717; z-index: 9999; @@ -463,7 +469,7 @@ h2 span { #block-barbell-main-menu ul li a { color: whitesmoke; - font-size: 30px; + font-size: 27px; font-family: "roboto", sans-serif; font-weight: 100; } @@ -472,14 +478,14 @@ h2 span { .xHolder { display: block; - width: 47px; - height: 48px; - position: fixed; + width: 39px; + height: 40px; + position: absolute; background: #171717; top: 40px; right: 45px; border: none; - transition: all 0.6s ease-in; + transition: all 0.4s ease-in; } .xPara:hover { @@ -496,12 +502,80 @@ h2 span { margin: 0; font-size: 1px; opacity: 0; - transition: all 0.6s ease-in; + transition: all 0.4s ease-in; } /* X-CLOSE ENDS*/ } +@media only screen and (max-width: 600px) { + header div { + grid-template-columns: 65% auto; + height: 65px; + } + + .hamburgerHolder { + width: 46px; + padding: 11px 0; + margin-right: 15px; + } + + .language-switcher-language-url { + height: 98%; + } + + #block-languageswitcher ul li { + margin: 0 5px; + font-size: 16px; + } + + .en:after { + left: 40px; + top: 0; + } + + #block-barbell-branding { + text-align: center; + } + + #block-barbell-branding a img { + width: 270px; + margin-left: 10px; + } + + .xHolder { + top: 20px; + right: 25px; + } +} + +@media only screen and (max-width: 400px) { + .hamburgerHolder { + width: 46px; + margin-right: 17px; + } + + #block-languageswitcher ul { + right: 5px; + } + + #block-languageswitcher ul li { + margin: 0 6px 0 0; + font-size: 14px; + } + + .en:after { + left: 30px; + top: 0; + font-size: 17px; + } + + #block-barbell-branding a img { + width: 220px; + margin-left: 7px; + } +} + /* NAV RESPO ENDS */ /* TEMPORARY */ diff --git a/web/themes/custom/barbell/js/main.js b/web/themes/custom/barbell/js/main.js index 2c02a28..e5ad1ee 100644 --- a/web/themes/custom/barbell/js/main.js +++ b/web/themes/custom/barbell/js/main.js @@ -20,19 +20,22 @@ Drupal.behaviors.exampleModule = { hamburgerHolder.addEventListener("click", function() { nav.style.top = "0"; - xHolder.style.display = "block"; setTimeout(() => { - xPara.style.fontSize = "43px"; + xHolder.style.display = "block"; + }, 200); + + setTimeout(() => { + xPara.style.fontSize = "35px"; xPara.style.opacity = "1"; - }, 300); + }, 230); setTimeout(() => { xHolder.style.border = "1px solid whitesmoke"; - }, 900); + }, 550); function closeNav() { - nav.style.top = "-60vh"; + nav.style.top = "-70vh"; xHolder.style.display = "none"; // setTimeout(() => { From 6b2608bf484ab587424b6101e82dc95c8a71b63f Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Fri, 18 Oct 2019 19:17:09 +0200 Subject: [PATCH 077/139] hamburger --- web/themes/custom/barbell/css/frontPage.css | 78 +++++++++++++++++---- web/themes/custom/barbell/js/main.js | 24 +++---- 2 files changed, 75 insertions(+), 27 deletions(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index 25ae73f..dd14e49 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -33,7 +33,7 @@ #slick-views-front-slider-block-1-1-slider { padding-top: 1px; margin-top: -1px; - height: calc(100vh - 75px); + height: calc(100vh - 73px); position: relative; } @@ -54,7 +54,7 @@ h2 span:before { } h2 { - /* text-align: center; */ + text-align: center; margin: 32vh auto 20px; display: inline-block; min-width: 250px; @@ -86,10 +86,6 @@ h2 span { } @media only screen and (max-width: 768px) { - /* .slider-content h2 { - margin: 22vh auto 20px; - } */ - .slider-desc div p { width: 90vw; margin-bottom: 10px !important; @@ -386,6 +382,10 @@ h2 span { } /* // PROGRAM BOXES ENDS */ +.hamburgerHolder { + display: none !important; +} + /* NAV RESPO */ @media only screen and (max-width: 1500px) { #block-barbell-main-menu ul li { @@ -408,7 +408,7 @@ h2 span { display: flex; justify-content: flex-end; width: 100%; - height: 99%; + height: 98%; } #block-languageswitcher ul { @@ -420,6 +420,7 @@ h2 span { } .hamburgerHolder { + display: inline-block !important; width: 60px; padding: 9px 0; position: relative; @@ -442,15 +443,13 @@ h2 span { /* NAV */ header div nav { - /* display: none; */ - position: absolute; - top: -70vh; + position: fixed; + top: -100vh; display: flex; justify-content: center; align-items: center; width: 100vw; - height: 70vh; - /* border: 1px solid var(--yellow); */ + height: 100vh; background: #171717; z-index: 9999; transition: all 0.5s ease-out; @@ -463,7 +462,7 @@ h2 span { #block-barbell-main-menu ul li { display: block; - margin: 17px 0; + margin: 15px 0; text-align: center; } @@ -511,7 +510,7 @@ h2 span { @media only screen and (max-width: 600px) { header div { grid-template-columns: 65% auto; - height: 65px; + /* height: 65px; */ } .hamburgerHolder { @@ -576,6 +575,57 @@ h2 span { } } +@media only screen and (orientation: landscape) { + header div nav ul { + margin-top: -40px; + } + + main-menu ul li { + margin: 10px 0; + } + + #block-barbell-main-menu ul li a { + font-size: 20px; + } + + #slick-views-front-slider-block-1-1-slider { + height: auto; + position: relative; + } + + .slider-content h2 { + margin: 7vh auto 20px; + font-size: 40px; + } + + .slider-content h2 span { + font-size: 40px; + } + + .path-frontpage .field--name-body p { + margin: 0 20px; + font-size: 19px; + } + + .slide .front-slider .slider-image .slider-content .slider-link div { + padding: 3px 9px; + } + + .path-frontpage .field--name-field-link-button, + #block-zakazitetrening div p { + margin: 0 auto 50px; + } + + #slick-views-front-slider-block-1-1-slider { + height: calc(100vh - 74px); + } + + .slick-dots button { + width: 16px; + height: 16px; + } +} + /* NAV RESPO ENDS */ /* TEMPORARY */ diff --git a/web/themes/custom/barbell/js/main.js b/web/themes/custom/barbell/js/main.js index 718e2cf..b5b6fc3 100644 --- a/web/themes/custom/barbell/js/main.js +++ b/web/themes/custom/barbell/js/main.js @@ -35,7 +35,7 @@ Drupal.behaviors.exampleModule = { }, 550); function closeNav() { - nav.style.top = "-70vh"; + nav.style.top = "-100vh"; xHolder.style.display = "none"; // setTimeout(() => { @@ -117,18 +117,16 @@ Drupal.behaviors.exampleModule = { })(); const removeInlineStyles = (() => { - if (document.querySelector('.path-tim')) { - const timPage = document.querySelector('.view-content') - let imgs = timPage.querySelectorAll('img') - imgs = [...imgs] - imgs.forEach(x => { - x.attributes.removeNamedItem("width"); - x.attributes.removeNamedItem("height"); - console.log(x) - }) - } - - + if (document.querySelector(".path-tim")) { + const timPage = document.querySelector(".view-content"); + let imgs = timPage.querySelectorAll("img"); + imgs = [...imgs]; + imgs.forEach(x => { + x.attributes.removeNamedItem("width"); + x.attributes.removeNamedItem("height"); + console.log(x); + }); + } })(); } }; From b61ccefc972859ff82fd1ba2432f1358adc924c2 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Fri, 18 Oct 2019 19:17:22 +0200 Subject: [PATCH 078/139] tim style --- web/themes/custom/barbell/css/tim.css | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/web/themes/custom/barbell/css/tim.css b/web/themes/custom/barbell/css/tim.css index 5915bb2..f1c519a 100644 --- a/web/themes/custom/barbell/css/tim.css +++ b/web/themes/custom/barbell/css/tim.css @@ -11,8 +11,9 @@ display: grid; grid-template-columns: 1fr 1fr; grid-gap: 55px; - /* justify-content: none; */ - /* margin: 0 auto; */ + justify-content: space-between; + width: 100vh; + margin: 0 auto; } /* HR style */ @@ -31,10 +32,10 @@ width: 100%; } -.view-tim { +/* .view-tim { width: 1000px; margin: 0 auto; -} +} */ .tim-thumb { text-align: center; @@ -58,6 +59,10 @@ margin-bottom: 50px; } +.path-tim #block-barbell-page-title { + margin: 150px auto 120px; +} + .tim-description::before { content: " "; display: block; From e20182e0c101841229f425f58069a7b9222d744b Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Mon, 21 Oct 2019 14:09:34 +0200 Subject: [PATCH 079/139] raspored --- web/themes/custom/barbell/css/frontPage.css | 2 +- web/themes/custom/barbell/css/raspored.css | 125 ++++++++++++++++---- 2 files changed, 103 insertions(+), 24 deletions(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index dd14e49..dc1ee06 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -575,7 +575,7 @@ h2 span { } } -@media only screen and (orientation: landscape) { +@media only screen and (max-height: 570px) { header div nav ul { margin-top: -40px; } diff --git a/web/themes/custom/barbell/css/raspored.css b/web/themes/custom/barbell/css/raspored.css index 9825d3c..391c097 100644 --- a/web/themes/custom/barbell/css/raspored.css +++ b/web/themes/custom/barbell/css/raspored.css @@ -1,62 +1,88 @@ .node__content > div:nth-child(1) > table:nth-child(1) { - width: 85%!important; - margin: 0 auto 50px; - border-spacing: 11px; - border-collapse: separate; - border-color: transparent; + width: 85% !important; + margin: 0 auto 50px; + border-spacing: 11px; + border-collapse: separate; + border-color: transparent; +} + +tbody tr { + height: 170px !important; } -td, th { +td, +th { border-color: transparent; padding: 0; text-align: center; - } td div { text-align: center; + padding: 7px; } + th { background-color: var(--yellow); } + tr td { - height:170px; - width: 16%; + position: relative; + height: 100%; + width: 16.3%; /* background: #e3e3e3; */ background-image: url("../img/empty-raspored.png"); background-size: cover; background-repeat: round; border: none; } + thead > tr { height: 40px; overflow-y: hidden; } -thead > tr > th { + +thead > tr > th:nth-child(1n + 2) { + min-width: 190px !important; padding: 10px; display: table-cell; - height: 20px; - font-family: 'Brandon Grotesque Medium'; + height: 20px !important; + font-family: "Brandon Grotesque Medium"; +} + +thead tr th:nth-child(1) { + width: 77px !important; + height: 58px !important; } + tr > th, thead > tr > th:first-child { width: 77px; + height: 100%; margin: 0; font-size: 1.6rem; display: inline-block; } -thead > tr > th:first-child { - padding: 45%; +thead tr th:first-child { + width: 77px; + padding: 0 45%; } + tr > th { - padding: 91% 5px; + padding: 90% 5px; } + .raspored-as, .raspored-ft, .raspored-se { - width: 100%; - height: 100%; + position: absolute; + top: 0; + right: 0; + left: 0; + bottom: 0; + /* width: 100%; */ + /* height: 100%; */ margin: 0; } @@ -75,16 +101,69 @@ tr > th { .rasporedText { font-family: "Brandon Grotesque Bold" !important; text-align: center !important; - font-size: 22px !important; + font-size: 21px !important; margin: 0 !important; - padding: 0 10px !important; + vertical-align: middle; + line-height: 22px; } .rasporedImgWrapper { - height: 60%; + height: 66.6%; + display: flex; + justify-content: center; + align-items: center; } .rasporedImgWrapper img { - height: 86%; - padding-top: 13px; -} \ No newline at end of file + height: auto; + width: 100px; +} + +@media only screen and (max-width: 1300px) { + thead > tr > th:nth-child(1n + 2) { + min-width: 150px !important; + } + + .rasporedText { + font-size: 15px !important; + margin: 0 !important; + padding: 0 10px !important; + } + + tr > th, + thead > tr > th:first-child { + width: 77px; + margin: 0; + font-size: 1.1rem; + } +} + +@media only screen and (max-width: 1060px) { + thead > tr > th:nth-child(1n + 2) { + min-width: 100px !important; + } + + tr > th, + thead > tr > th:first-child { + width: 48px; + margin: 0; + font-size: 0.7rem; + } + + thead tr th:nth-child(1) { + width: 48px !important; + height: 48px !important; + } + + .rasporedText { + font-size: 12px !important; + margin: 0 !important; + padding: 0 0px !important; + line-height: 15px; + } + + .rasporedImgWrapper img { + height: auto; + width: 50px; + } +} From dfb4318beb282fa7e44ebc1f3170855786fbcb6e Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Mon, 21 Oct 2019 14:24:08 +0200 Subject: [PATCH 080/139] raspored --- web/themes/custom/barbell/css/raspored.css | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/web/themes/custom/barbell/css/raspored.css b/web/themes/custom/barbell/css/raspored.css index 391c097..cb9271e 100644 --- a/web/themes/custom/barbell/css/raspored.css +++ b/web/themes/custom/barbell/css/raspored.css @@ -119,6 +119,10 @@ tr > th { width: 100px; } +.raspored-as img { + width: 70px; +} + @media only screen and (max-width: 1300px) { thead > tr > th:nth-child(1n + 2) { min-width: 150px !important; @@ -136,6 +140,10 @@ tr > th { margin: 0; font-size: 1.1rem; } + + .raspored-as img { + width: 60px; + } } @media only screen and (max-width: 1060px) { @@ -156,7 +164,7 @@ tr > th { } .rasporedText { - font-size: 12px !important; + font-size: 10px !important; margin: 0 !important; padding: 0 0px !important; line-height: 15px; @@ -166,4 +174,8 @@ tr > th { height: auto; width: 50px; } + + .raspored-as img { + width: 35px; + } } From 1d24b82f3f2e96794da1aa7c2181279955d802e5 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Mon, 21 Oct 2019 15:47:52 +0200 Subject: [PATCH 081/139] style --- web/themes/custom/barbell/css/frontPage.css | 2 +- web/themes/custom/barbell/css/style.css | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index dc1ee06..c2ca243 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -575,7 +575,7 @@ h2 span { } } -@media only screen and (max-height: 570px) { +@media only screen and (max-width: 480px) and (orientation: landscape) { header div nav ul { margin-top: -40px; } diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 9ee5f38..7d43e2e 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -70,6 +70,10 @@ body, overflow-x: hidden; } +.layout-container { + position: relative; +} + /* FOOTER EXTRA SPACE SOLUTION */ #block-mainnavigation-menu { display: none !important; @@ -387,6 +391,10 @@ header div div .links { /* FOOTER */ footer { height: 100px; + margin-bottom: -100px; + position: absolute; + width: 100%; + bottom: 0; } .region-footer { @@ -542,7 +550,7 @@ blockquote p { .kontakt-block-content .socials { font-size: 42px; - margin-bottom: 60px; + padding-bottom: 60px; } .kontakt-block-content .socials span { From 12aae579b75f512bf17548aede0362e9f2e89613 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Mon, 21 Oct 2019 16:20:33 +0200 Subject: [PATCH 082/139] removal of all inline styles on images --- web/themes/custom/barbell/css/blog.css | 7 ++++--- web/themes/custom/barbell/js/main.js | 10 ++++++---- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/web/themes/custom/barbell/css/blog.css b/web/themes/custom/barbell/css/blog.css index 3451ecf..a54584c 100644 --- a/web/themes/custom/barbell/css/blog.css +++ b/web/themes/custom/barbell/css/blog.css @@ -35,6 +35,7 @@ .path-vesti #block-barbell-content { margin: 100px 0; } + @media only screen and (min-width: 320px) and (max-width: 700px) { .path-blog #block-barbell-content, .path-vesti #block-barbell-content { @@ -52,11 +53,11 @@ margin: 0 2vw; } } - +/* .path-blog .image-style-medium, .path-vesti .image-style-medium { padding-top: 100% !important; -} +} */ .path-blog div @@ -105,7 +106,7 @@ div .view-content { grid-template-columns: repeat(3, 1fr); - margin: 0 2vw; + margin: 0 2vw 7em; } .path-blog #block-barbell-content, .path-vesti #block-barbell-content { diff --git a/web/themes/custom/barbell/js/main.js b/web/themes/custom/barbell/js/main.js index b5b6fc3..6ca11d6 100644 --- a/web/themes/custom/barbell/js/main.js +++ b/web/themes/custom/barbell/js/main.js @@ -117,16 +117,18 @@ Drupal.behaviors.exampleModule = { })(); const removeInlineStyles = (() => { - if (document.querySelector(".path-tim")) { - const timPage = document.querySelector(".view-content"); - let imgs = timPage.querySelectorAll("img"); + //align-right + //if (document.querySelector(".path-tim")) { + const regionOfRelevantImages = document.querySelector("main"); + let imgs = regionOfRelevantImages.querySelectorAll("img"); imgs = [...imgs]; imgs.forEach(x => { x.attributes.removeNamedItem("width"); x.attributes.removeNamedItem("height"); + if (x.classList.contains('align-right')) x.classList.remove('align-right') console.log(x); }); - } + //} })(); } }; From 3f9f9e8811ed62e7ddda9e0180812a4bf16440fe Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Mon, 21 Oct 2019 21:11:30 +0200 Subject: [PATCH 083/139] style --- web/themes/custom/barbell/css/blog.css | 8 +- web/themes/custom/barbell/css/frontPage.css | 6 +- web/themes/custom/barbell/css/style.css | 85 +++++++++++++++++---- 3 files changed, 81 insertions(+), 18 deletions(-) diff --git a/web/themes/custom/barbell/css/blog.css b/web/themes/custom/barbell/css/blog.css index 3451ecf..648926b 100644 --- a/web/themes/custom/barbell/css/blog.css +++ b/web/themes/custom/barbell/css/blog.css @@ -26,9 +26,13 @@ content: url("../img/yellow-stripes-78.png"); position: absolute; z-index: -1; - bottom: -16px; + top: 4px; left: -30px; - /* color: red; */ +} + +.path-tim .page-title:before { + bottom: -16px; + left: -34px; } .path-blog #block-barbell-content, diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index c2ca243..5f14898 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -42,13 +42,13 @@ h2 span:before { position: absolute; left: -29px; z-index: -1; - bottom: -16px; + top: 2px; } @media only screen and (max-width: 768px) { h2 span:before { content: url("../img/page-title-bcg.png"); - bottom: -15px; + top: 0; left: -25px; } } @@ -144,7 +144,7 @@ h2 span { } #after_content div div h2:before { - bottom: -15px; + top: 3px; left: -22px; } diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index 7d43e2e..c2c99b7 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -204,7 +204,6 @@ header div div .links { display: inline-grid; } -/* */ .page-title:before { content: url("../img/page-title-bcg.png"); position: relative; @@ -213,6 +212,10 @@ header div div .links { bottom: -12px; } +.path-node .page-title::before { + content: none; +} + .page-title { text-align: center; text-transform: uppercase; @@ -220,13 +223,8 @@ header div div .links { font-size: 60px; position: relative; font-family: "Henry"; - left: -30px; } -/* .page-title span { - z-index: 50; -} */ - .language-switcher-language-url { display: flex; align-items: center; @@ -284,7 +282,7 @@ header div div .links { .kontakt-block-content h3, #after_content div div h2 { /* margin: 0; */ - font-size: 45px; + font-size: 36px; } } @@ -302,16 +300,27 @@ header div div .links { z-index: -1; } -@media only screen and (max-width: 768px) { +.page-title .field--name-title:before { + left: -32px; + top: 4px; +} + +@media only screen and (max-width: 992px) { .page-title .field--name-title:before, .kontakt-block-content h3:before, #after_content div div h2:before { content: url("../img/page-title-bcg.png"); + top: 4px; + left: -25px; } } -.page-title .field--name-title:before { - left: -32px; - bottom: -15px; + +@media only screen and (max-width: 768px) { + .page-title .field--name-title:before, + .kontakt-block-content h3:before, + #after_content div div h2:before { + content: url("../img/page-title-bcg.png"); + } } .kontakt-block-content h3 { @@ -327,7 +336,7 @@ header div div .links { .page-title .field--name-title:before, .kontakt-block-content h3:before { left: -25px; - bottom: -15px; + top: -4px; } } @@ -557,7 +566,7 @@ blockquote p { margin: 0 5px; } -/* CONTACT - MAP */ +/* CONTACT - MAP, SOME TITLES */ @media only screen and (min-width: 768px) and (max-width: 992px) { .page-title, .kontakt-block-content h3, @@ -573,4 +582,54 @@ blockquote p { .kontakt-block-content .address { font-size: 28px; } + + /* vesti naslov */ + .path-vesti .page-title:before, + .path-tim .page-title:before, + .path-programi .page-title:before { + content: url(../img/page-title-bcg.png) !important; + top: 4px !important; + left: -26px !important; + } + + /* blog naslov */ + .path-blog .page-title:before, + .path-tim .page-title:before, + .path-programi .page-title:before { + content: url(../img/page-title-bcg.png) !important; + top: 5px !important; + left: -21px !important; + } + + /* tim naslov */ + /* .path-tim .page-title:before { + content: url(../img/page-title-bcg.png) !important; + bottom: -10px !important; + left: -21px !important; + } */ +} + +@media only screen and (max-width: 768px) { + /* vesti naslov */ + .path-vesti .page-title:before, + .path-programi .page-title:before { + content: url(../img/page-title-bcg.png) !important; + top: 0px !important; + left: -26px !important; + } + + /* blog naslov */ + .path-blog .page-title:before, + .path-programi .page-title:before { + content: url(../img/page-title-bcg.png) !important; + top: 0px !important; + left: -22px !important; + } + + /* tim naslov */ + .path-tim .page-title:before { + content: url(../img/page-title-bcg.png) !important; + bottom: -14px !important; + left: -28px !important; + } } From 97ed0a3dbae51b8cc79d9881167559d5f385606c Mon Sep 17 00:00:00 2001 From: hikeislife Date: Tue, 22 Oct 2019 10:52:07 +0200 Subject: [PATCH 084/139] programi styles --- web/themes/custom/barbell/css/frontPage.css | 2 +- web/themes/custom/barbell/css/programi.css | 312 +++++++++++++++----- 2 files changed, 246 insertions(+), 68 deletions(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index c2ca243..e75a883 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -176,7 +176,7 @@ h2 span { grid-column: 1/2; } -.view-content .views-row:hover { +.path-frontpage .view-content .views-row:hover { border: 2px solid black; background: black; } diff --git a/web/themes/custom/barbell/css/programi.css b/web/themes/custom/barbell/css/programi.css index 1649590..e0324cc 100644 --- a/web/themes/custom/barbell/css/programi.css +++ b/web/themes/custom/barbell/css/programi.css @@ -1,15 +1,177 @@ -:root { - --each: 600px; /* širina celog jednog program boxa */ - --oneHalf: 300px; /* širina slike / texta unutar jednog boxa */ - --text: 350px; - } +/* TODO: remove this before publishing */ +.path-programi .view-content .views-row .program-thumb .program-link .program-image { + background: dimgray; +} + +/* Basic layout of one box */ + +.path-programi .view-content .views-row .program-thumb .program-link { + display: grid; + grid-template-columns: repeat(2, 50%); + height: 100%; + margin-bottom: 3em; +} + +/* OKRETANJE PARNIH PROGRAMA NA DRUGU STRANU */ +.path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-image { + grid-column: 2/3; + grid-row: 1/2; + /*clip-path: polygon(0 0, 100% 0%, 100% 100%, 60% 100%);*/ +} + +/* OUTER INFO WRAPPER */ + +.path-programi .views-row .program-info-wrapper { + width: 160%; + z-index: 5; + background: var(--yellow); + padding: 3px; +} + +.path-programi .views-row:nth-child(odd) .program-info-wrapper { + position: relative; + left: -60%; + clip-path: polygon(37% 0, 100% 0, 100% 100%, 0 100%); + text-align: right; +} + +.path-programi .views-row:nth-child(even) .program-info-wrapper { + clip-path: polygon(0 0, 63% 0, 100% 102%, 0 100%); +} + +.path-programi .views-row:hover .program-info-wrapper, +.path-programi .views-row:hover .program-info-wrapper-mini { + background: black; +} + +/* INNER INFO WRAPPER */ + +.path-programi .views-row .program-info-wrapper-mini { + background: whitesmoke; + padding: 1em .7em; +} +.path-programi .views-row:nth-child(odd) .program-info-wrapper-mini { + clip-path: polygon(37% 0, 100% 0, 100% 100%, 1.5% 100%); + display: flex; + flex-direction: column; + align-items: end; + /* height: 97.5%; */ +} + +.path-programi .views-row:nth-child(even) .program-info-wrapper-mini { + clip-path: polygon(0 0, 63% 0, 98.5% 101%, 0 100%); + /* height: 98.7%; */ +} + +.path-programi .program-link { + color: black; + text-decoration: none; +} .path-programi .program-title span { font-family: "Henry"; - font-size: 38px; + font-size: 24px; text-transform: uppercase; + display: inline-block; + width: 70%; +} + +.path-programi .program-description div { + width: 80%; +} + +.path-programi .views-row:nth-child(odd) .program-description div:before { + margin: 1em 1em 1em auto; +} + +.path-programi .views-row:nth-child(even) .program-description div:before { + margin: 1em auto 1em 1em; } +.path-programi .program-description { + font-size: 1.2rem; +} + +.path-programi .views-row:nth-child(odd) .program-description { + display: flex; + flex-direction: column; + align-items: end; +} + +@media only screen and (min-width: 25em) { + .path-programi .views-row { + width: 25em; + margin: 0 auto; + } +} + +@media only screen and (min-width: 38em) { /*608*/ + .path-programi .views-row { + width: 37.5em; + } + + .path-programi .program-title span { + font-size: 2.375em; + } + + .path-programi .program-description { + font-size: 1.6rem; + } +} + +@media only screen and (min-width: 52em) {/*832*/ + .path-programi .views-row { + width: 25em; + margin: 0 auto; + } + + .path-programi .view-content { + display: grid; + grid-template-columns: 1fr 1fr; + justify-content: space-around; + margin-bottom: 190px; + } + + .path-programi .views-row { + height: 13em; + margin-bottom: 3em; + } + + .path-programi .program-thumb, .path-programi .program-thumb .program-info-wrapper-mini { + height: 100%; + } + + .path-programi .program-title span, + .path-programi .program-description { + font-size: 1.2rem; + } +} + +@media only screen and (min-width: 76em) { /*1216*/ + .path-programi .views-row { + width: 37.5em; + } + + .path-programi .program-title span { + font-size: 2.375em; + } + + .path-programi .program-description { + font-size: 1.6rem; + } + + .path-programi .views-row { + height: 20em; + margin-bottom: 5em; + } +} + +/*:root { + --each: 600px; + --oneHalf: 300px; + --text: 350px; + } + @media only screen and (max-width: 1300px) { .path-programi .program-title span { font-size: 23px; @@ -22,24 +184,16 @@ } } -@media only screen and (max-width: 650px) { +@media only screen and (max-width: 700px) { .path-programi .program-title span { font-size: 18px; } } - .path-programi .program-link { - color: black; - text-decoration: none; - } + /* spoljni grid koji drži po dva programa u jednom redu */ -.path-programi .view-content { - display: grid; - grid-template-columns: var(--each) var(--each); - justify-content: space-around; - margin-bottom: 190px; -} +/* @media only screen and (max-width: 1300px) { .path-programi .view-content { @@ -75,39 +229,32 @@ } } -@media only screen and (max-width: 650px) { +@media only screen and (max-width: 700px) { .path-programi .view-content .views-row { height: 234px; - width: 400px; margin: 0 auto 50px !important; + width: calc(100% - 20px); } } /* removes hover from other pages */ -.path-programi .view-content .views-row:hover { +/*.path-programi .view-content .views-row:hover { border: none; } -.path-programi .view-content .views-row:hover .program-info-wrapper, -.path-programi .view-content .views-row:hover .program-info-wrapper-mini { - background: black; -} + /* div pojedinog programa */ - .path-programi .view-content .views-row .program-thumb { + /*.path-programi .view-content .views-row .program-thumb { margin: 0; height: 100%; } - .path-programi .view-content .views-row .program-thumb .program-link { - display: grid; - grid-template-columns: repeat(2, 50%); - height: 100%; - } + /* LEVA SLIKA */ - .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-image { + /* .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-image { clip-path: polygon(0 0, 100% 0%, 40% 100%, 0% 100%); } .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-image img { @@ -115,7 +262,7 @@ } /* LEVI TEXT */ -.path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-title { +/*.path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-title { padding: 27px; text-align: right; } @@ -151,7 +298,6 @@ } } - .path-programi .view-content .views-row .program-thumb .program-link .program-description div { font-size: 30px; } @@ -169,7 +315,7 @@ } } -@media only screen and (max-width: 650px) { +@media only screen and (max-width: 700px) { .path-programi .view-content .views-row .program-thumb .program-link .program-description div { font-size: 16px; } @@ -178,20 +324,33 @@ .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-description { text-align: right; } -.path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-description div { - margin: -18px 27px; -} -/* TODO: remove this before publishing */ -.path-programi .view-content .views-row .program-thumb .program-link .program-image { - background: dimgray; +.path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-description { + display: grid; + width: 80%; + justify-content: right; } - /* OKRETANJE PARNIH PROGRAMA NA DRUGU STRANU */ - .path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-image { - grid-column: 2/3; - clip-path: polygon(0 0, 100% 0%, 100% 100%, 60% 100%); +@media only screen and (max-width: 700px) { + .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-description { + width: 93%; } + .path-programi .views-row:nth-child(odd) .program-info-wrapper-mini { + top: 0; + left: 0; + clip-path: polygon(37% 0, 100% 0, 100% 100%, .5% 100%); + display: grid; + justify-items: right; + } +} +.path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-description div:before { + position: relative; + right: 26px; +} + + + + .path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-info-wrapper { grid-column: 1/2; @@ -202,25 +361,11 @@ margin: 30px 0; } -@media only screen and (max-width: 650px) { - .path-programi .view-content .views-row { - width: calc(100% - 20px); - margin: 40px 10px !important; - } +div.views-row > div > a > div:nth-child(2) > div > div:nth-child(2) > div { + margin-right: 27px; } -.path-programi .views-row:nth-child(odd) .program-info-wrapper { - position: relative; - left: -60%; - clip-path: polygon(37% 0, 100% 0, 100% 100%, 0 100%); -} -.path-programi .views-row:nth-child(odd) .program-info-wrapper-mini { - background: whitesmoke; - margin: 4px; - clip-path: polygon(37% 0, 100% 0, 100% 100%, .5% 100%); - height: 97.5%; -} @media only screen and (max-width: 1300px) { .path-programi .views-row:nth-child(odd) .program-info-wrapper-mini { @@ -231,15 +376,15 @@ } } -.path-programi .views-row:nth-child(even) .program-info-wrapper { - clip-path: polygon(0 0, 63% 0, 100% 100%, 0 100%); +@media only screen and (max-width: 900px) { + .path-programi .views-row:nth-child(odd) .program-info-wrapper-mini { + top: 0; + left: 0; + clip-path: polygon(37% 0, 100% 0, 100% 100%, .5% 100%); + } } -.path-programi .views-row:nth-child(even) .program-info-wrapper-mini { - clip-path: polygon(.8% 1.2%, 62.5% 1.2%, 98.5% 100%, .8% 100%); - background: whitesmoke; - height: 98.7%; -} + .path-programi .program-info-wrapper { background: var(--yellow); @@ -250,6 +395,39 @@ margin: 17px 0 19px auto; } +@media only screen and (max-width: 700px) { + .path-programi .views-row:nth-child(odd) .program-description div::before { + margin: -68px 0 19px auto; + } +} + .path-programi .views-row:nth-child(even) .program-description div::before { margin: 4px auto 19px 0; +} +@media only screen and (max-width: 700px) { + .path-programi .views-row:nth-child(even) .program-description div::before { + margin: 4px 10px 19px 16px; + } + + div.views-row:nth-child(2) > div:nth-child(1) > a:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(2) { + margin-left: -12px; + } + + div.views-row:nth-child(2) > div:nth-child(1) > a:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) { + width: 60%; + } + + div.views-row > div > a > div:nth-child(2) > div > div:nth-child(2) > div { + margin-right: 17px; + } + + .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-description { + display: flex; + justify-content: right; + width: 80%; + } + .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-description div:before { + position: relative; + right: 16px; + } } \ No newline at end of file From 7b438c6d9225196a0c2b65e5d70f232980dd545b Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Tue, 22 Oct 2019 12:38:20 +0200 Subject: [PATCH 085/139] style --- web/themes/custom/barbell/css/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index c2c99b7..b76395a 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -622,7 +622,7 @@ blockquote p { .path-blog .page-title:before, .path-programi .page-title:before { content: url(../img/page-title-bcg.png) !important; - top: 0px !important; + top: -3px !important; left: -22px !important; } From 38c28134bd178f398aa3d5bb08a26174e4769601 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Tue, 22 Oct 2019 13:21:44 +0200 Subject: [PATCH 086/139] alingnment in chrome fixed for programi --- web/themes/custom/barbell/css/programi.css | 38 ++++------------------ 1 file changed, 7 insertions(+), 31 deletions(-) diff --git a/web/themes/custom/barbell/css/programi.css b/web/themes/custom/barbell/css/programi.css index e0324cc..e9215aa 100644 --- a/web/themes/custom/barbell/css/programi.css +++ b/web/themes/custom/barbell/css/programi.css @@ -16,11 +16,9 @@ .path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-image { grid-column: 2/3; grid-row: 1/2; - /*clip-path: polygon(0 0, 100% 0%, 100% 100%, 60% 100%);*/ } /* OUTER INFO WRAPPER */ - .path-programi .views-row .program-info-wrapper { width: 160%; z-index: 5; @@ -45,22 +43,20 @@ } /* INNER INFO WRAPPER */ - .path-programi .views-row .program-info-wrapper-mini { background: whitesmoke; padding: 1em .7em; } + .path-programi .views-row:nth-child(odd) .program-info-wrapper-mini { clip-path: polygon(37% 0, 100% 0, 100% 100%, 1.5% 100%); display: flex; flex-direction: column; - align-items: end; - /* height: 97.5%; */ + align-items: flex-end; } .path-programi .views-row:nth-child(even) .program-info-wrapper-mini { clip-path: polygon(0 0, 63% 0, 98.5% 101%, 0 100%); - /* height: 98.7%; */ } .path-programi .program-link { @@ -77,7 +73,7 @@ } .path-programi .program-description div { - width: 80%; + align-self: end; } .path-programi .views-row:nth-child(odd) .program-description div:before { @@ -95,9 +91,11 @@ .path-programi .views-row:nth-child(odd) .program-description { display: flex; flex-direction: column; - align-items: end; + align-self: flex-end; + width: 80%; } +/* MEDIA QUERIES */ @media only screen and (min-width: 25em) { .path-programi .views-row { width: 25em; @@ -166,11 +164,7 @@ } } -/*:root { - --each: 600px; - --oneHalf: 300px; - --text: 350px; - } +/* @media only screen and (max-width: 1300px) { .path-programi .program-title span { @@ -190,11 +184,6 @@ } } - - - /* spoljni grid koji drži po dva programa u jednom redu */ -/* - @media only screen and (max-width: 1300px) { .path-programi .view-content { display: grid; @@ -242,17 +231,12 @@ border: none; } - - - /* div pojedinog programa */ /*.path-programi .view-content .views-row .program-thumb { margin: 0; height: 100%; } - - /* LEVA SLIKA */ /* .path-programi .view-content .views-row:nth-child(odd) .program-thumb .program-link .program-image { clip-path: polygon(0 0, 100% 0%, 40% 100%, 0% 100%); @@ -348,10 +332,6 @@ right: 26px; } - - - - .path-programi .view-content .views-row:nth-child(even) .program-thumb .program-link .program-info-wrapper { grid-column: 1/2; grid-row: 1/2; @@ -365,8 +345,6 @@ div.views-row > div > a > div:nth-child(2) > div > div:nth-child(2) > div { margin-right: 27px; } - - @media only screen and (max-width: 1300px) { .path-programi .views-row:nth-child(odd) .program-info-wrapper-mini { position: relative; @@ -384,8 +362,6 @@ div.views-row > div > a > div:nth-child(2) > div > div:nth-child(2) > div { } } - - .path-programi .program-info-wrapper { background: var(--yellow); width: 160%; From 97fff7a6070ae15bc46f5ba6c199f192610056ae Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Tue, 22 Oct 2019 16:46:43 +0200 Subject: [PATCH 087/139] raspored --- web/themes/custom/barbell/css/raspored.css | 123 +++++++++++++++++++++ web/themes/custom/barbell/css/style.css | 2 +- web/themes/custom/barbell/js/main.js | 75 ++++++++++--- 3 files changed, 181 insertions(+), 19 deletions(-) diff --git a/web/themes/custom/barbell/css/raspored.css b/web/themes/custom/barbell/css/raspored.css index cb9271e..c2b0cac 100644 --- a/web/themes/custom/barbell/css/raspored.css +++ b/web/themes/custom/barbell/css/raspored.css @@ -179,3 +179,126 @@ tr > th { width: 35px; } } + +@media only screen and (max-width: 768px) { + .node__content > div:nth-child(1) > table:nth-child(1) { + width: 97% !important; + } + + .rasporedAllWrapper { + display: flex; + flex-direction: column; + } + + .rasporedAllWrapper table { + order: 2; + } + + .legendaWrapper { + /* margin: 0 auto; */ + } + + .legendaWrapper ul { + list-style: none; + padding-left: 10px; + } + + .legendaWrapper ul li { + display: flex; + flex-direction: row; + align-items: center; + } + + .legendaWrapper img { + width: 55px; + margin: 13px; + } + + .legendaWrapper span { + font-size: 15px; + } + + .legendaWrapper ul li:last-of-type img { + width: 44px; + } + + .legendaWrapper ul li:last-of-type span { + position: relative; + left: 12px; + } + + .rasporedTitleHolder { + display: none; + } + + .rasporedImgWrapper { + height: 100%; + display: flex; + justify-content: center; + align-items: center; + } + + thead > tr > th:nth-child(1n + 2) { + min-width: 50px !important; + } + + tr > th { + padding: 40% 5px; + } + + .rasporedImgWrapper img { + width: 35px; + } + + .raspored-as img { + width: 24px; + } +} + +@media only screen and (max-width: 430px) { + .legendaWrapper ul { + padding-left: 10px; + } + + .legendaWrapper img { + width: 47px; + margin: 7px; + } + + .legendaWrapper ul li:last-of-type img { + width: 38px; + } + + .legendaWrapper span { + font-size: 14px; + } + + .node__content > div:nth-child(1) > table:nth-child(1) { + width: 95% !important; + } + + thead > tr > th:nth-child(1n + 2) { + padding: 0px; + min-width: 30px !important; + } + + tr > th, + thead > tr > th:first-child { + width: 40px; + margin: 0; + font-size: 0.7rem; + } + + thead tr th:nth-child(1) { + width: 40px !important; + height: 40px !important; + } + + .rasporedImgWrapper img { + width: 28px; + } + + .raspored-as img { + width: 19px; + } +} diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index b76395a..6ad83a8 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -329,7 +329,7 @@ header div div .links { .kontakt-block-content h3:before { left: -39px; - bottom: -21px; + bottom: -17px; } @media only screen and (max-width: 768px) { diff --git a/web/themes/custom/barbell/js/main.js b/web/themes/custom/barbell/js/main.js index 6ca11d6..b50cd4d 100644 --- a/web/themes/custom/barbell/js/main.js +++ b/web/themes/custom/barbell/js/main.js @@ -62,11 +62,22 @@ Drupal.behaviors.exampleModule = { xHolder.addEventListener("click", closeNav); }); + })(); - // TEMPORARY - // xPara.style.opacity = "0"; - // xHolder.style.opacity = "0"; - // TEMPORARY + const removeInlineStyles = (() => { + //align-right + //if (document.querySelector(".path-tim")) { + const regionOfRelevantImages = document.querySelector("main"); + let imgs = regionOfRelevantImages.querySelectorAll("img"); + imgs = [...imgs]; + imgs.forEach(x => { + x.attributes.removeNamedItem("width"); + x.attributes.removeNamedItem("height"); + if (x.classList.contains("align-right")) + x.classList.remove("align-right"); + console.log(x); + }); + //} })(); let raspored = (function() { @@ -107,6 +118,7 @@ Drupal.behaviors.exampleModule = { titleContainer.appendChild(title); imgContainer.appendChild(img); + titleContainer.className = "rasporedTitleHolder"; title.className = "rasporedText"; imgContainer.className = "rasporedImgWrapper"; @@ -116,19 +128,46 @@ Drupal.behaviors.exampleModule = { }); })(); - const removeInlineStyles = (() => { - //align-right - //if (document.querySelector(".path-tim")) { - const regionOfRelevantImages = document.querySelector("main"); - let imgs = regionOfRelevantImages.querySelectorAll("img"); - imgs = [...imgs]; - imgs.forEach(x => { - x.attributes.removeNamedItem("width"); - x.attributes.removeNamedItem("height"); - if (x.classList.contains('align-right')) x.classList.remove('align-right') - console.log(x); - }); - //} - })(); + function rasporedLegendaIskraceniDani() { + // skraceni dani + let days = document.querySelectorAll("thead th"); + days = [...days]; + days.shift(); + days.forEach(it => (it.innerHTML = it.innerHTML.substring(0, 3))); + + // raspored legenda + let vrstaTreninga = [ + "FUNKCIONALNI TRENING", + "SNAGA I ESTETIKA", + "ASICS ŠKOLA TRČANJA" + ]; + let ikonaTreninga = [ + "/barbell/web/themes/custom/barbell/img/fe.webp", + "/barbell/web/themes/custom/barbell/img/se.webp", + "/barbell/web/themes/custom/barbell/img/asics.webp" + ]; + let rasporedTable = document.querySelector("table"); + var rasporedTableParent = rasporedTable.parentElement; + let legendaWrapper = document.createElement("div"); + legendaWrapper.className = "legendaWrapper"; + let legendaUl = document.createElement("ul"); + for (let i = 0; i < 3; i++) { + let legendaLi = document.createElement("li"); + let legendaImg = document.createElement("img"); + let legendaSpan = document.createElement("span"); + legendaImg.src = ikonaTreninga[i]; + legendaSpan.innerHTML = vrstaTreninga[i]; + legendaLi.appendChild(legendaImg); + legendaLi.appendChild(legendaSpan); + legendaUl.appendChild(legendaLi); + legendaWrapper.appendChild(legendaUl); + } + rasporedTableParent.appendChild(legendaWrapper); + rasporedTableParent.classList.add("rasporedAllWrapper"); + } + + if (window.innerWidth <= 768) { + rasporedLegendaIskraceniDani(); + } } }; From 505e007f25c3ba183e63c2f74554cd61bd001f74 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Tue, 22 Oct 2019 16:48:07 +0200 Subject: [PATCH 088/139] programi layout fine tuning --- web/themes/custom/barbell/css/blog.css | 13 +--- web/themes/custom/barbell/css/frontPage.css | 4 +- web/themes/custom/barbell/css/programi.css | 75 +++++++++++++++------ web/themes/custom/barbell/css/style.css | 11 +-- web/themes/custom/barbell/js/main.js | 13 ++-- 5 files changed, 71 insertions(+), 45 deletions(-) diff --git a/web/themes/custom/barbell/css/blog.css b/web/themes/custom/barbell/css/blog.css index 3d0413d..af8c4d0 100644 --- a/web/themes/custom/barbell/css/blog.css +++ b/web/themes/custom/barbell/css/blog.css @@ -90,7 +90,7 @@ } @media only screen and (max-width: 1100px) { .path-blog - div + /*div*/ .layout-container main .layout-content @@ -99,16 +99,7 @@ div div .view-content, - .path-vesti - div - .layout-container - main - .layout-content - div - #block-barbell-content - div - div - .view-content { + .path-vesti div .layout-container main .layout-content div #block-barbell-content div div .view-content { grid-template-columns: repeat(3, 1fr); margin: 0 2vw 7em; } diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index c1de3db..1ade4a3 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -176,7 +176,9 @@ h2 span { grid-column: 1/2; } -.path-frontpage .view-content .views-row:hover { +.path-frontpage .view-content .views-row:hover, +.path-blog .view-content .views-row:hover, +.path-vesti .view-content .views-row:hover { border: 2px solid black; background: black; } diff --git a/web/themes/custom/barbell/css/programi.css b/web/themes/custom/barbell/css/programi.css index e9215aa..1f2ac02 100644 --- a/web/themes/custom/barbell/css/programi.css +++ b/web/themes/custom/barbell/css/programi.css @@ -1,15 +1,18 @@ /* TODO: remove this before publishing */ .path-programi .view-content .views-row .program-thumb .program-link .program-image { - background: dimgray; + border: 1px solid dimgray; } /* Basic layout of one box */ -.path-programi .view-content .views-row .program-thumb .program-link { +.path-programi .program-link { display: grid; grid-template-columns: repeat(2, 50%); height: 100%; - margin-bottom: 3em; + width: 95vw; + margin: 3em auto; + color: black; + text-decoration: none; } /* OKRETANJE PARNIH PROGRAMA NA DRUGU STRANU */ @@ -45,31 +48,34 @@ /* INNER INFO WRAPPER */ .path-programi .views-row .program-info-wrapper-mini { background: whitesmoke; - padding: 1em .7em; + padding: 0.3em; + font-family: "Brandon Grotesque Medium"; } .path-programi .views-row:nth-child(odd) .program-info-wrapper-mini { - clip-path: polygon(37% 0, 100% 0, 100% 100%, 1.5% 100%); + clip-path: polygon(37.5% 0, 100% 0, 100% 100%, 1.3% 100%); display: flex; flex-direction: column; align-items: flex-end; } .path-programi .views-row:nth-child(even) .program-info-wrapper-mini { - clip-path: polygon(0 0, 63% 0, 98.5% 101%, 0 100%); + clip-path: polygon(0 0, 62.5% 0, 98.7% 101%, 0 100%); } -.path-programi .program-link { - color: black; - text-decoration: none; +.path-programi .program-title { + width: 65%; } .path-programi .program-title span { font-family: "Henry"; - font-size: 24px; + font-size: 4vw; text-transform: uppercase; display: inline-block; - width: 70%; +} + +.path-programi .program-description { + font-size: 4vw; } .path-programi .program-description div { @@ -86,25 +92,44 @@ .path-programi .program-description { font-size: 1.2rem; + width: 80%; } .path-programi .views-row:nth-child(odd) .program-description { display: flex; flex-direction: column; align-self: flex-end; - width: 80%; } /* MEDIA QUERIES */ -@media only screen and (min-width: 25em) { - .path-programi .views-row { +@media only screen and (min-width: 27em) { + .path-programi .program-link { width: 25em; - margin: 0 auto; + } + + .path-programi .program-title { + width: 69%; + } + + .path-programi .program-title span { + font-size: 1.5em; + } + + .path-programi .program-description { + font-size: 1.2rem; + } + + .path-programi .views-row .program-info-wrapper-mini { + padding: 1em .7em; + } + + .path-programi .views-row:nth-child(odd) .program-info-wrapper-mini { + clip-path: polygon(37.5% 0, 100% 0, 100% 100%, 1% 100%); } } -@media only screen and (min-width: 38em) { /*608*/ - .path-programi .views-row { +@media only screen and (min-width: 39em) { /*608*/ + .path-programi .program-link { width: 37.5em; } @@ -117,10 +142,10 @@ } } -@media only screen and (min-width: 52em) {/*832*/ - .path-programi .views-row { +@media only screen and (min-width: 53em) {/*832*/ + .path-programi .program-link { width: 25em; - margin: 0 auto; + /* margin: 0 auto; */ } .path-programi .view-content { @@ -146,7 +171,7 @@ } @media only screen and (min-width: 76em) { /*1216*/ - .path-programi .views-row { + .path-programi .program-link { width: 37.5em; } @@ -162,6 +187,14 @@ height: 20em; margin-bottom: 5em; } + + .path-programi .views-row:nth-child(odd) .program-info-wrapper-mini { + clip-path: polygon(37.3% 0, 100% 0, 100% 100%, .5% 100%); + } + + .path-programi .views-row:nth-child(even) .program-info-wrapper-mini { + clip-path: polygon(0 0, 62.7% 0, 99% 101%, 0 100%); + } } /* diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index b76395a..52b53bc 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -74,11 +74,6 @@ body, position: relative; } -/* FOOTER EXTRA SPACE SOLUTION */ -#block-mainnavigation-menu { - display: none !important; -} - @font-face { font-family: "Brandon Grotesque Medium"; font-style: normal; @@ -397,6 +392,12 @@ header div div .links { font-family: "Brandon Grotesque Medium"; } +/* FOOTER EXTRA SPACE SOLUTION */ +#block-mainnavigation-menu { + display: none !important; +} + + /* FOOTER */ footer { height: 100px; diff --git a/web/themes/custom/barbell/js/main.js b/web/themes/custom/barbell/js/main.js index 6ca11d6..24399d9 100644 --- a/web/themes/custom/barbell/js/main.js +++ b/web/themes/custom/barbell/js/main.js @@ -117,16 +117,15 @@ Drupal.behaviors.exampleModule = { })(); const removeInlineStyles = (() => { - //align-right - //if (document.querySelector(".path-tim")) { - const regionOfRelevantImages = document.querySelector("main"); + const regionOfRelevantImages = document.querySelector("main"); let imgs = regionOfRelevantImages.querySelectorAll("img"); imgs = [...imgs]; imgs.forEach(x => { - x.attributes.removeNamedItem("width"); - x.attributes.removeNamedItem("height"); - if (x.classList.contains('align-right')) x.classList.remove('align-right') - console.log(x); + if (x.attributes.length - 1) { + x.attributes.removeNamedItem("width"); + x.attributes.removeNamedItem("height"); + if (x.classList.contains('align-right')) x.classList.remove('align-right') + } }); //} })(); From 82b263d3d5c03bb14119786116f05a9222dad396 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Wed, 23 Oct 2019 13:36:17 +0200 Subject: [PATCH 089/139] style --- web/themes/custom/barbell/css/frontPage.css | 2 +- web/themes/custom/barbell/css/tim.css | 83 +++++++++++++++++++-- 2 files changed, 78 insertions(+), 7 deletions(-) diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index c1de3db..3d7aa9b 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -570,7 +570,7 @@ h2 span { } #block-barbell-branding a img { - width: 220px; + width: 217px; margin-left: 7px; } } diff --git a/web/themes/custom/barbell/css/tim.css b/web/themes/custom/barbell/css/tim.css index f1c519a..77ae223 100644 --- a/web/themes/custom/barbell/css/tim.css +++ b/web/themes/custom/barbell/css/tim.css @@ -1,21 +1,23 @@ -.path-tim +/* .path-tim div div main div div #block-barbell-content - div - .view-tim - .view-content { + div */ +.view-tim .view-content { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 55px; - justify-content: space-between; - width: 100vh; + width: 70vw; margin: 0 auto; } +.view-tim { + margin-bottom: 130px; +} + /* HR style */ .box-division { color: var(--yellow); @@ -97,3 +99,72 @@ .tim-image { margin: 0 0 -6px 0; } + +@media only screen and (min-width: 992px) and (max-width: 1325px) { + .view-tim .view-content { + width: 80vw; + } + + .tim-title { + font-size: 35px; + } +} + +@media only screen and (min-width: 768px) and (max-width: 992px) { + .view-tim .view-content { + width: 90vw; + grid-gap: 30px; + } + + .tim-title { + font-size: 30px; + } +} + +@media only screen and (min-width: 576px) and (max-width: 768px) { + .view-tim .view-content { + width: 90vw; + grid-gap: 30px; + } + + .tim-title { + font-size: 22px; + } + + .tim-description { + font-size: 22px; + margin-bottom: 20px; + } +} + +@media only screen and (min-width: 480px) and (max-width: 576px) { + .view-tim .view-content { + width: 90vw; + grid-gap: 30px; + } + + .tim-title { + font-size: 18px; + } + + .tim-description { + font-size: 20px; + margin-bottom: 15px; + } +} + +@media only screen and (min-width: 320px) and (max-width: 480px) { + .view-tim .view-content { + width: 98vw; + grid-gap: 5px; + } + + .tim-title { + font-size: 14px; + } + + .tim-description { + font-size: 17px; + margin-bottom: 5px; + } +} From f1e24f4753ae4b69ab0e46dfca50480731c379bc Mon Sep 17 00:00:00 2001 From: hikeislife Date: Wed, 23 Oct 2019 13:38:19 +0200 Subject: [PATCH 090/139] blog --- web/themes/custom/barbell/css/blog.css | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/web/themes/custom/barbell/css/blog.css b/web/themes/custom/barbell/css/blog.css index af8c4d0..1e2f337 100644 --- a/web/themes/custom/barbell/css/blog.css +++ b/web/themes/custom/barbell/css/blog.css @@ -229,3 +229,23 @@ font-size: 21px; } } + + +.page-node-type-article article img { + width: 100%; + height: auto; + margin: 1em 0; +} + +.page-node-type-article #block-zakazitetrening { + padding-top: 5em; +} + +@media only screen and (min-width: 850px) { + .page-node-type-article article img { + margin: .5em 0 0 1em; + width: 50%; + float: right; + + } +} \ No newline at end of file From 32937d863ac43cb7b0394828d3f22d71bb57a6e8 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Wed, 23 Oct 2019 15:26:43 +0200 Subject: [PATCH 091/139] pages css --- .../custom/barbell/barbell.libraries.yml | 1 + web/themes/custom/barbell/css/blog.css | 20 ------------------- web/themes/custom/barbell/js/main.js | 2 +- 3 files changed, 2 insertions(+), 21 deletions(-) diff --git a/web/themes/custom/barbell/barbell.libraries.yml b/web/themes/custom/barbell/barbell.libraries.yml index ecaf8f5..82f9d65 100644 --- a/web/themes/custom/barbell/barbell.libraries.yml +++ b/web/themes/custom/barbell/barbell.libraries.yml @@ -20,3 +20,4 @@ global-styling: css/programi.css: {} css/raspored.css: {} css/galerija.css: {} + css/pojedine_strane.css: {} diff --git a/web/themes/custom/barbell/css/blog.css b/web/themes/custom/barbell/css/blog.css index 1e2f337..bc81d89 100644 --- a/web/themes/custom/barbell/css/blog.css +++ b/web/themes/custom/barbell/css/blog.css @@ -228,24 +228,4 @@ .article-info-wrapper .article-date div time { font-size: 21px; } -} - - -.page-node-type-article article img { - width: 100%; - height: auto; - margin: 1em 0; -} - -.page-node-type-article #block-zakazitetrening { - padding-top: 5em; -} - -@media only screen and (min-width: 850px) { - .page-node-type-article article img { - margin: .5em 0 0 1em; - width: 50%; - float: right; - - } } \ No newline at end of file diff --git a/web/themes/custom/barbell/js/main.js b/web/themes/custom/barbell/js/main.js index 15cfb5c..46f3d81 100644 --- a/web/themes/custom/barbell/js/main.js +++ b/web/themes/custom/barbell/js/main.js @@ -74,7 +74,7 @@ Drupal.behaviors.exampleModule = { if (x.attributes.length - 1) { x.attributes.removeNamedItem("width"); x.attributes.removeNamedItem("height"); - if (x.classList.contains('align-right')) x.classList.remove('align-right') + //if (x.classList.contains('align-right')) x.classList.remove('align-right') } }); //} From c7a25ff91537c3a523ab604517c34eb6d5503eda Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Wed, 23 Oct 2019 15:26:46 +0200 Subject: [PATCH 092/139] gallery --- web/themes/custom/barbell/css/galerija.css | 34 ++++++++++++++++++---- web/themes/custom/barbell/css/raspored.css | 4 --- web/themes/custom/barbell/js/main.js | 5 +++- 3 files changed, 32 insertions(+), 11 deletions(-) diff --git a/web/themes/custom/barbell/css/galerija.css b/web/themes/custom/barbell/css/galerija.css index b597502..42f27c8 100644 --- a/web/themes/custom/barbell/css/galerija.css +++ b/web/themes/custom/barbell/css/galerija.css @@ -1,13 +1,35 @@ .page-node-type-galerija #block-barbell-content { width: 100%; + margin-bottom: 150px; } -[class*="block-column-"] > .grid , +[class*="block-column-"], +.item-list > [class*="block-column-"] { + column-gap: 0; +} + +[class*="block-column-"] > .grid, .item-list > [class*="block-column-"] > .grid { - margin: 0 -8px !important; - padding: 0; + margin-bottom: -8px !important; +} + +.blazy img { + width: 100%; + height: auto; + background: lightblue; } -.b-lazy { - border: 1px solid black; -} \ No newline at end of file +.blazy li, +.blazy div, +.blazy a { + display: inline-block !important; + width: 100% !important; +} + +.blazy a:hover { + cursor: pointer; +} + +.slick-lightbox-close:before { + font-size: 50px; +} diff --git a/web/themes/custom/barbell/css/raspored.css b/web/themes/custom/barbell/css/raspored.css index c2b0cac..8fb8fce 100644 --- a/web/themes/custom/barbell/css/raspored.css +++ b/web/themes/custom/barbell/css/raspored.css @@ -194,10 +194,6 @@ tr > th { order: 2; } - .legendaWrapper { - /* margin: 0 auto; */ - } - .legendaWrapper ul { list-style: none; padding-left: 10px; diff --git a/web/themes/custom/barbell/js/main.js b/web/themes/custom/barbell/js/main.js index 15cfb5c..e637546 100644 --- a/web/themes/custom/barbell/js/main.js +++ b/web/themes/custom/barbell/js/main.js @@ -74,7 +74,8 @@ Drupal.behaviors.exampleModule = { if (x.attributes.length - 1) { x.attributes.removeNamedItem("width"); x.attributes.removeNamedItem("height"); - if (x.classList.contains('align-right')) x.classList.remove('align-right') + if (x.classList.contains("align-right")) + x.classList.remove("align-right"); } }); //} @@ -169,5 +170,7 @@ Drupal.behaviors.exampleModule = { if (window.innerWidth <= 768) { rasporedLegendaIskraceniDani(); } + + // Back to top galerija } }; From 5b52c14b22083a11ca9bb99665e548cdd01d1caa Mon Sep 17 00:00:00 2001 From: hikeislife Date: Wed, 23 Oct 2019 15:35:11 +0200 Subject: [PATCH 093/139] test --- web/themes/custom/barbell/css/galerija.css | 34 +++- web/themes/custom/barbell/css/raspored.css | 4 - web/themes/custom/barbell/js/main.js | 173 --------------------- 3 files changed, 28 insertions(+), 183 deletions(-) delete mode 100644 web/themes/custom/barbell/js/main.js diff --git a/web/themes/custom/barbell/css/galerija.css b/web/themes/custom/barbell/css/galerija.css index b597502..42f27c8 100644 --- a/web/themes/custom/barbell/css/galerija.css +++ b/web/themes/custom/barbell/css/galerija.css @@ -1,13 +1,35 @@ .page-node-type-galerija #block-barbell-content { width: 100%; + margin-bottom: 150px; } -[class*="block-column-"] > .grid , +[class*="block-column-"], +.item-list > [class*="block-column-"] { + column-gap: 0; +} + +[class*="block-column-"] > .grid, .item-list > [class*="block-column-"] > .grid { - margin: 0 -8px !important; - padding: 0; + margin-bottom: -8px !important; +} + +.blazy img { + width: 100%; + height: auto; + background: lightblue; } -.b-lazy { - border: 1px solid black; -} \ No newline at end of file +.blazy li, +.blazy div, +.blazy a { + display: inline-block !important; + width: 100% !important; +} + +.blazy a:hover { + cursor: pointer; +} + +.slick-lightbox-close:before { + font-size: 50px; +} diff --git a/web/themes/custom/barbell/css/raspored.css b/web/themes/custom/barbell/css/raspored.css index c2b0cac..8fb8fce 100644 --- a/web/themes/custom/barbell/css/raspored.css +++ b/web/themes/custom/barbell/css/raspored.css @@ -194,10 +194,6 @@ tr > th { order: 2; } - .legendaWrapper { - /* margin: 0 auto; */ - } - .legendaWrapper ul { list-style: none; padding-left: 10px; diff --git a/web/themes/custom/barbell/js/main.js b/web/themes/custom/barbell/js/main.js deleted file mode 100644 index 46f3d81..0000000 --- a/web/themes/custom/barbell/js/main.js +++ /dev/null @@ -1,173 +0,0 @@ -Drupal.behaviors.exampleModule = { - attach: function(context, settings) { - let navigacija = (function() { - var langSwitch = document.querySelector("#block-languageswitcher"); - var hamburgerHolder = document.createElement("div"); - var hamburgerImg = document.createElement("img"); - hamburgerImg.src = "/barbell/web/themes/custom/barbell/img/hamburger.png"; - hamburgerHolder.classList.add("hamburgerHolder"); - hamburgerHolder.appendChild(hamburgerImg); - langSwitch.appendChild(hamburgerHolder); - - var nav = document.querySelector("header div nav"); - var xHolder = document.createElement("div"); - var xPara = document.createElement("p"); - xPara.innerHTML = "X"; - xHolder.appendChild(xPara); - nav.appendChild(xHolder); - xHolder.classList.add("xHolder"); - xPara.classList.add("xPara"); - - hamburgerHolder.addEventListener("click", function() { - nav.style.top = "0"; - - setTimeout(() => { - xHolder.style.display = "block"; - }, 200); - - setTimeout(() => { - xPara.style.fontSize = "35px"; - xPara.style.opacity = "1"; - }, 230); - - setTimeout(() => { - xHolder.style.border = "1px solid whitesmoke"; - }, 550); - - function closeNav() { - nav.style.top = "-100vh"; - xHolder.style.display = "none"; - - // setTimeout(() => { - xPara.style.fontSize = "1px"; - xPara.style.opacity = "0"; - // }, 300); - - // setTimeout(() => { - xHolder.style.border = "none"; - // }, 900); - } - - var navLinks = document.querySelectorAll( - "#block-barbell-main-menu ul li" - ); - - navLinks.forEach(link => - link.addEventListener("click", function() { - if (nav.style.top == "0") { - closeNav(); - } - }) - ); - - xHolder.addEventListener("click", closeNav); - }); - })(); - - const removeInlineStyles = (() => { - //align-right - //if (document.querySelector(".path-tim")) { - const regionOfRelevantImages = document.querySelector("main"); - let imgs = regionOfRelevantImages.querySelectorAll("img"); - imgs = [...imgs]; - imgs.forEach(x => { - if (x.attributes.length - 1) { - x.attributes.removeNamedItem("width"); - x.attributes.removeNamedItem("height"); - //if (x.classList.contains('align-right')) x.classList.remove('align-right') - } - }); - //} - })(); - - let raspored = (function() { - let td = document.querySelectorAll("td div"); - td = [...td]; - let text = ""; - let icon = ""; - - td.forEach(x => { - if (x.classList[0] === "raspored-ft") { - text = "FUNKCIONALNI TRENING"; - icon = "/barbell/web/themes/custom/barbell/img/fe.webp"; - } else if (x.classList[0] === "raspored-se") { - text = "SNAGA I ESTETIKA"; - icon = "/barbell/web/themes/custom/barbell/img/se.webp"; - } else if (x.classList[0] === "raspored-as") { - text = "ASICS ŠKOLA TRČANJA"; - icon = "/barbell/web/themes/custom/barbell/img/asics.webp"; - } - - (function fixContent() { - removeInitialContent(); - createNewContent(); - })(); - - function removeInitialContent() { - x.innerHTML = ""; - } - - function createNewContent() { - const imgContainer = document.createElement("div"); - const img = document.createElement("img"); - const titleContainer = document.createElement("div"); - const title = document.createElement("p"); - - x.appendChild(imgContainer); - x.appendChild(titleContainer); - titleContainer.appendChild(title); - imgContainer.appendChild(img); - - titleContainer.className = "rasporedTitleHolder"; - title.className = "rasporedText"; - imgContainer.className = "rasporedImgWrapper"; - - title.innerHTML = text; - img.src = icon; - } - }); - })(); - - function rasporedLegendaIskraceniDani() { - // skraceni dani - let days = document.querySelectorAll("thead th"); - days = [...days]; - days.shift(); - days.forEach(it => (it.innerHTML = it.innerHTML.substring(0, 3))); - - // raspored legenda - let vrstaTreninga = [ - "FUNKCIONALNI TRENING", - "SNAGA I ESTETIKA", - "ASICS ŠKOLA TRČANJA" - ]; - let ikonaTreninga = [ - "/barbell/web/themes/custom/barbell/img/fe.webp", - "/barbell/web/themes/custom/barbell/img/se.webp", - "/barbell/web/themes/custom/barbell/img/asics.webp" - ]; - let rasporedTable = document.querySelector("table"); - var rasporedTableParent = rasporedTable.parentElement; - let legendaWrapper = document.createElement("div"); - legendaWrapper.className = "legendaWrapper"; - let legendaUl = document.createElement("ul"); - for (let i = 0; i < 3; i++) { - let legendaLi = document.createElement("li"); - let legendaImg = document.createElement("img"); - let legendaSpan = document.createElement("span"); - legendaImg.src = ikonaTreninga[i]; - legendaSpan.innerHTML = vrstaTreninga[i]; - legendaLi.appendChild(legendaImg); - legendaLi.appendChild(legendaSpan); - legendaUl.appendChild(legendaLi); - legendaWrapper.appendChild(legendaUl); - } - rasporedTableParent.appendChild(legendaWrapper); - rasporedTableParent.classList.add("rasporedAllWrapper"); - } - - if (window.innerWidth <= 768) { - rasporedLegendaIskraceniDani(); - } - } -}; From 8f03f238c3bc63df0b4da332744e9a7ef8d074e0 Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Wed, 23 Oct 2019 17:21:34 +0200 Subject: [PATCH 094/139] style --- web/themes/custom/barbell/css/galerija.css | 10 +-- web/themes/custom/barbell/css/programi.css | 4 +- web/themes/custom/barbell/css/raspored.css | 15 +++- .../custom/barbell/templates/page.html.twig | 71 +++++++++++-------- 4 files changed, 60 insertions(+), 40 deletions(-) diff --git a/web/themes/custom/barbell/css/galerija.css b/web/themes/custom/barbell/css/galerija.css index 42f27c8..2a61c52 100644 --- a/web/themes/custom/barbell/css/galerija.css +++ b/web/themes/custom/barbell/css/galerija.css @@ -19,9 +19,9 @@ background: lightblue; } -.blazy li, -.blazy div, -.blazy a { +.page-node-type-galerija .blazy li, +.page-node-type-galerija .blazy div, +.page-node-type-galerija .blazy a { display: inline-block !important; width: 100% !important; } @@ -30,6 +30,6 @@ cursor: pointer; } -.slick-lightbox-close:before { +/* .slick-lightbox-close:before { font-size: 50px; -} +} */ diff --git a/web/themes/custom/barbell/css/programi.css b/web/themes/custom/barbell/css/programi.css index 1f2ac02..5179e28 100644 --- a/web/themes/custom/barbell/css/programi.css +++ b/web/themes/custom/barbell/css/programi.css @@ -40,8 +40,8 @@ clip-path: polygon(0 0, 63% 0, 100% 102%, 0 100%); } -.path-programi .views-row:hover .program-info-wrapper, -.path-programi .views-row:hover .program-info-wrapper-mini { +.path-programi a:hover .program-info-wrapper, +.path-programi a:hover .program-info-wrapper-mini { background: black; } diff --git a/web/themes/custom/barbell/css/raspored.css b/web/themes/custom/barbell/css/raspored.css index 8fb8fce..bbc5f54 100644 --- a/web/themes/custom/barbell/css/raspored.css +++ b/web/themes/custom/barbell/css/raspored.css @@ -6,9 +6,9 @@ border-color: transparent; } -tbody tr { +/* tbody tr { height: 170px !important; -} +} */ td, th { @@ -167,7 +167,7 @@ tr > th { font-size: 10px !important; margin: 0 !important; padding: 0 0px !important; - line-height: 15px; + line-height: 13px; } .rasporedImgWrapper img { @@ -223,6 +223,10 @@ tr > th { left: 12px; } + tbody tr { + height: 0 !important; + } + .rasporedTitleHolder { display: none; } @@ -238,6 +242,11 @@ tr > th { min-width: 50px !important; } + td div { + text-align: center; + padding: 2px; + } + tr > th { padding: 40% 5px; } diff --git a/web/themes/custom/barbell/templates/page.html.twig b/web/themes/custom/barbell/templates/page.html.twig index b684f0a..c2d4c29 100644 --- a/web/themes/custom/barbell/templates/page.html.twig +++ b/web/themes/custom/barbell/templates/page.html.twig @@ -44,38 +44,49 @@ #}
-
- {{ page.header }} -
- {% if page.hero %} -
- {{ page.hero }} -
- {% endif %} +
+ {{ page.header }} +
+ {% if page.hero %} +
+ {{ page.hero }} +
+ {% endif %} -
- {# link is in html.html.twig #} +
+ + {# link is in html.html.twig #} -
- {{ page.content }} -
{# /.layout-content #} -
- {% if page.after_content %} -
- {{ page.after_content }} -
- {% endif %} +
+ {{ page.content }} +
+ {# /.layout-content #} +
+ {% if page.after_content %} +
+ {{ page.after_content }} +
+ {% endif %} - {% if page.pre_footer_left or page.pre_footer_right %} - {# /.layout-container #} +
+{# /.layout-container #} From a998393d61fc30d809106bcd22f79237d8158b69 Mon Sep 17 00:00:00 2001 From: hikeislife Date: Wed, 23 Oct 2019 18:36:37 +0200 Subject: [PATCH 095/139] individual pages styles --- web/themes/custom/barbell/css/frontPage.css | 4 +- web/themes/custom/barbell/css/galerija.css | 4 +- .../custom/barbell/css/pojedine_strane.css | 76 +++++++++++++++++++ web/themes/custom/barbell/css/programi.css | 19 +++-- web/themes/custom/barbell/css/style.css | 11 +++ web/themes/custom/barbell/css/tim.css | 6 +- 6 files changed, 104 insertions(+), 16 deletions(-) create mode 100644 web/themes/custom/barbell/css/pojedine_strane.css diff --git a/web/themes/custom/barbell/css/frontPage.css b/web/themes/custom/barbell/css/frontPage.css index bbe3486..5be2a04 100644 --- a/web/themes/custom/barbell/css/frontPage.css +++ b/web/themes/custom/barbell/css/frontPage.css @@ -179,8 +179,8 @@ h2 span { .path-frontpage .view-content .views-row:hover, .path-blog .view-content .views-row:hover, .path-vesti .view-content .views-row:hover { - border: 2px solid black; - background: black; + border: 2px solid var(--black); + background: var(--black); } .view-content .views-row:hover .program-link { diff --git a/web/themes/custom/barbell/css/galerija.css b/web/themes/custom/barbell/css/galerija.css index 42f27c8..979e02a 100644 --- a/web/themes/custom/barbell/css/galerija.css +++ b/web/themes/custom/barbell/css/galerija.css @@ -1,4 +1,4 @@ -.page-node-type-galerija #block-barbell-content { +/* .page-node-type-galerija #block-barbell-content { width: 100%; margin-bottom: 150px; } @@ -32,4 +32,4 @@ .slick-lightbox-close:before { font-size: 50px; -} +} */ diff --git a/web/themes/custom/barbell/css/pojedine_strane.css b/web/themes/custom/barbell/css/pojedine_strane.css new file mode 100644 index 0000000..0af07d8 --- /dev/null +++ b/web/themes/custom/barbell/css/pojedine_strane.css @@ -0,0 +1,76 @@ +.page-node-type-article article img { + width: 100%; + height: auto; + margin: 1em 0; +} + +.page-node-type-article #block-zakazitetrening { + padding-top: 5em; +} + +.align-left { + width: 100%; + height: auto; +} + + + +@media only screen and (max-width: 360px) { + .field--name-field-link-button div, + .page-node-type-article #block-zakazitetrening p { + margin: 0 2em 2em; + font-size: 16px; + text-align: center; + padding: 1.2em 1em; + } + .field--name-field-link-button { + padding: 0; + } + .field--name-field-link-button div { + padding: 0; + margin: 1em 2em; + } + + /* .page-node-type-tim p { + margin: 0 2em 0 1em; + width: calc(100% - 4em); + } */ +} + +@media only screen and (min-width: 992px) { + .page-node-type-article article img { + margin: .5em 0 0 1em; + width: 50%; + float: right; + } + + .align-left { + width: 50%; + float: left; + } +} + +@media only screen and (min-width: 1200px) { + #block-barbell-content p { + font-size: 40px; + margin: -1em 220px 2em; + } +} + +@media only screen and (min-width: 1600px) { + .page-node-type-article article img { + width: 45%; + margin-left: 2.5em; + } + + .align-left { + width: 45%; + margin-right: 1em; + } + + #block-barbell-content p { + width: 1500px; + margin: -1em auto 2em; + } +} + diff --git a/web/themes/custom/barbell/css/programi.css b/web/themes/custom/barbell/css/programi.css index 1f2ac02..f2990c6 100644 --- a/web/themes/custom/barbell/css/programi.css +++ b/web/themes/custom/barbell/css/programi.css @@ -40,9 +40,18 @@ clip-path: polygon(0 0, 63% 0, 100% 102%, 0 100%); } -.path-programi .views-row:hover .program-info-wrapper, -.path-programi .views-row:hover .program-info-wrapper-mini { - background: black; +.path-programi .program-link:hover .program-info-wrapper, +.path-programi .program-link:hover .program-info-wrapper-mini { + background: var(--black); +} + +.path-programi .views-row:hover .program-description, +.path-programi .views-row:hover .program-title { + color: black; +} +.path-programi .program-link:hover .program-description, +.path-programi .program-link:hover .program-title { + color: whitesmoke; } /* INNER INFO WRAPPER */ @@ -259,10 +268,6 @@ } } -/* removes hover from other pages */ -/*.path-programi .view-content .views-row:hover { - border: none; -} /* div pojedinog programa */ /*.path-programi .view-content .views-row .program-thumb { diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index e254ffe..cb8ed42 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -473,6 +473,17 @@ blockquote p { margin: 80px 0 0 !important; } +blockquote p:before, +blockquote p:after { + content: '"' +} + +@media only screen and (max-width: 360px) { + blockquote p { + font-size: 42px !important; + } +} + /* +++++++++++ KONTAKT +++++++++++ */ #pre_footer { diff --git a/web/themes/custom/barbell/css/tim.css b/web/themes/custom/barbell/css/tim.css index 77ae223..9471672 100644 --- a/web/themes/custom/barbell/css/tim.css +++ b/web/themes/custom/barbell/css/tim.css @@ -28,17 +28,13 @@ .view-tim .view-content div div a:hover div { color: whitesmoke; + background: var(--black); } .view-tim .view-content div div a .tim-image div img { width: 100%; } -/* .view-tim { - width: 1000px; - margin: 0 auto; -} */ - .tim-thumb { text-align: center; font-family: "Brandon Grotesque Medium"; From 2e3aeea1638912238cd445863bc6822b09b0769a Mon Sep 17 00:00:00 2001 From: hikeislife Date: Wed, 23 Oct 2019 18:58:24 +0200 Subject: [PATCH 096/139] conflict res --- web/themes/custom/barbell/css/pojedine_strane.css | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/web/themes/custom/barbell/css/pojedine_strane.css b/web/themes/custom/barbell/css/pojedine_strane.css index b8e5bec..140b1a4 100644 --- a/web/themes/custom/barbell/css/pojedine_strane.css +++ b/web/themes/custom/barbell/css/pojedine_strane.css @@ -14,9 +14,12 @@ } @media only screen and (max-width: 360px) { - .field--name-field-link-button div, .page-node-type-article #block-zakazitetrening p { margin: 0 2em 2em; + } + .page-node-type-program .field--name-field-link-button div, + .page-node-type-tim .field--name-field-link-button div, + .page-node-type-article #block-zakazitetrening p { font-size: 16px; text-align: center; padding: 1.2em 1em; @@ -26,10 +29,10 @@ padding: 0; } - .field--name-field-link-button div { + /* .page-node-type-tim .field--name-field-link-button div { padding: 0; margin: 1em 2em; - } + } */ } @media only screen and (min-width: 992px) { From 2aec92c2a38422ae71a3eef3d44cea28169641fc Mon Sep 17 00:00:00 2001 From: IgorMilatovic Date: Wed, 23 Oct 2019 19:12:17 +0200 Subject: [PATCH 097/139] scroll-top button --- web/themes/custom/barbell/css/style.css | 45 ++++++++++++++ web/themes/custom/barbell/js/main.js | 60 +++++++++++++------ .../custom/barbell/templates/page.html.twig | 21 ++++--- 3 files changed, 99 insertions(+), 27 deletions(-) diff --git a/web/themes/custom/barbell/css/style.css b/web/themes/custom/barbell/css/style.css index e254ffe..0e7b57f 100644 --- a/web/themes/custom/barbell/css/style.css +++ b/web/themes/custom/barbell/css/style.css @@ -397,6 +397,51 @@ header div div .links { display: none !important; } +/* BACK TO TOP BUTTON */ +.scroll-top-button { + background: white; + display: none; + position: fixed; + bottom: 90px; + right: 20px; + z-index: 9999; +} + +.scroll-top-button p { + text-align: center; + margin: 0; +} + +.scroll-top-button p:nth-child(1) { + font-size: 30px; + padding: 0 15px; +} + +.scroll-top-button p:nth-child(2) { + font-size: 16px; + padding: 0 0; +} + +.fa-angle-up { + color: black !important; +} + +@media only screen and (max-width: 768px) { + .scroll-top-button { + bottom: 5px; + right: 10px; + } + + .scroll-top-button p:nth-child(1) { + font-size: 20px; + padding: 0 15px; + } + + .scroll-top-button p:nth-child(2) { + font-size: 10px; + padding: 0 0; + } +} /* FOOTER */ footer { diff --git a/web/themes/custom/barbell/js/main.js b/web/themes/custom/barbell/js/main.js index e637546..635d5f2 100644 --- a/web/themes/custom/barbell/js/main.js +++ b/web/themes/custom/barbell/js/main.js @@ -147,30 +147,54 @@ Drupal.behaviors.exampleModule = { "/barbell/web/themes/custom/barbell/img/se.webp", "/barbell/web/themes/custom/barbell/img/asics.webp" ]; - let rasporedTable = document.querySelector("table"); - var rasporedTableParent = rasporedTable.parentElement; - let legendaWrapper = document.createElement("div"); - legendaWrapper.className = "legendaWrapper"; - let legendaUl = document.createElement("ul"); - for (let i = 0; i < 3; i++) { - let legendaLi = document.createElement("li"); - let legendaImg = document.createElement("img"); - let legendaSpan = document.createElement("span"); - legendaImg.src = ikonaTreninga[i]; - legendaSpan.innerHTML = vrstaTreninga[i]; - legendaLi.appendChild(legendaImg); - legendaLi.appendChild(legendaSpan); - legendaUl.appendChild(legendaLi); - legendaWrapper.appendChild(legendaUl); + if (document.querySelector("table")) { + let rasporedTable = document.querySelector("table"); + var rasporedTableParent = rasporedTable.parentElement; + let legendaWrapper = document.createElement("div"); + legendaWrapper.className = "legendaWrapper"; + let legendaUl = document.createElement("ul"); + for (let i = 0; i < 3; i++) { + let legendaLi = document.createElement("li"); + let legendaImg = document.createElement("img"); + let legendaSpan = document.createElement("span"); + legendaImg.src = ikonaTreninga[i]; + legendaSpan.innerHTML = vrstaTreninga[i]; + legendaLi.appendChild(legendaImg); + legendaLi.appendChild(legendaSpan); + legendaUl.appendChild(legendaLi); + legendaWrapper.appendChild(legendaUl); + } + rasporedTableParent.appendChild(legendaWrapper); + rasporedTableParent.classList.add("rasporedAllWrapper"); } - rasporedTableParent.appendChild(legendaWrapper); - rasporedTableParent.classList.add("rasporedAllWrapper"); } if (window.innerWidth <= 768) { rasporedLegendaIskraceniDani(); } - // Back to top galerija + //SCROLL TO TOP + // scroll back to top button + let scrollTopButton = document.querySelector(".scroll-top-button"); + + // show / hide button + showHideButton = () => { + window.pageYOffset < 150 + ? (scrollTopButton.style.display = "none") + : (scrollTopButton.style.display = "block"); + }; + document.addEventListener("scroll", showHideButton); + + // scroll to top + window.addEventListener("load", function() { + document + .querySelector(".scroll-top-button") + .addEventListener("click", function(e) { + e.preventDefault(); + document + .querySelector("header") + .scrollIntoView({ behavior: "smooth" }); + }); + }); } }; diff --git a/web/themes/custom/barbell/templates/page.html.twig b/web/themes/custom/barbell/templates/page.html.twig index c2d4c29..59e6c8a 100644 --- a/web/themes/custom/barbell/templates/page.html.twig +++ b/web/themes/custom/barbell/templates/page.html.twig @@ -74,16 +74,19 @@ {% endif %} - -
-

- -

-

back to top

-
- {% if page.footer %} -

u0H=aCUY0u-Q822k|*LF#zZsjCe909$a18rD;0Fca?ZG zfc5VCgbzAnDBSEp)%k3F$DhQ;q%|yq%8@`7dqGF{R(|GznBesA6}BX)$+WBPuqWP^ zepzk5awz}_rJ74DYQQK+(CX@)Ta1uIL)7SxxL$uOpPS)oy!0TmFVX)iENk?S;>y|~ zGo_W?5RQ_ww5{CI2xzPLkx1J!>g^Bwa&!r4y7`BRew-GkupQJQW};H~CPqLRuV%)r zIV_!BT;ws|UE37gFpK7jaFJ_x^u|B6CyMJ9rlVVE6ANHy{gm?tigh<(H7_#885zGA z<&Tg*`P@RA)X*TM{19Y0%OWTnNIFV;I+-$+O&jj&aMJMF6cg!HPG=!m4wOEru=_J* zpyNfwEj6ogNbW|%XZPukgefrP#CE^$$zh7j(oBLD+1M<$sIGnLqvE`Buo%k0U#-PR zek6aYYf%w#qf_a+3%lLVs)<~Z6vv`@q$J3KC-BQX#ndAY2uN&?4*$h#CN>&-_lWp| z!rlLB=*84^5OyJR`>nbJ)l6U+MPj5Ix0IQR&H6aVe=Q2?m}jOI0gu}_0_|fiWv_uy z5+$2^WB2QFB62mSFun@AI1KrbS=2a6g__hA*bRNNdnXl2hNDse1rado5~M@&;ZxLy zO6Fh?w%-1HHXiDf2_^~8-e4T^u5KJ3-95cil1M|xNM8}h%@)D}PL^u;j;dJv2<83sK8B7ih z4Pb7xjh?lz-u|U!vC$q_PiuDjK{&xjd%foXkAD;Z)?U3UCN_eCjb)l791I~09`eh! zXalUL>!011h|`q@BdjQo1dfXGeCReHZr_3K|CMaF-hDzf`>6r<&#tAX>wl}jbkVWX zi09YamzSr5W>Ym)IZZ&EX3fZv7?c8yin14t^8#~i%MI~h);(n%-2|h;j#mTLH9wW? zLh{&q^9M^#l@ICPV0QD(EgduDY>FUc>}7sY=w2N7Xma@8k7I$G45p}e?{a}NwWo?(iN4wOTzw!uV zH6)R~fvFK=NO0akG2x;UlQY2Ni>C z-_z3X)M}y0l;^J)<(PYx>|e;kn1~4(=yf~hmO5!+bx3kK4?k%4R zCq_x#vK%;O_oA=H4~eoiO9)`1D1NZLv0$90Ncc$U?mbuw5SFq!%A#Rbm>tV#6jdv>^%f@pH*Xy7oumus@iU=6+;%!)4$~mWu9rnq;0G3E@jAzr z(92aqr)3*$i4S;+^K)E?z4hjQLh7XkC~$^gVe?e7&ri--hK8oax6UeV?GEAB1r}&4 zxVXFi*KrBuGB{wE2>K}S>1v@7y8!gv8owUnb?EK^4?|jDiZj5MuRR5)qYgOV$zyX6 zdb*b_jM>Z+a-zjxLYo*m&e`1rmtQqA3|Bm#?UDNt(;`qdDIFCj$z?)(W=+G4#UG#> zz34g@O2`+W^i1J*x-j#%-dTF&aW4(~G1UQ0|Be)t&KOJAX!f~-bp@7t{w%-JSYndH z*W01S-9-xB?g!@0K0!gBlB?`Ocd00&?|t;`+J^U@Z*)- zIR4)oOZQB)x!Hb93BTfhcn7W#zJnwrSjq`H!qN{5BXb3{0v#k;%Aa=bhsl%GdoFShoQO!$b%wr6AV0apb?bvcJa&}! zdIm2v&drJ9F3OK7YOtaLNoQ6BxQ7DrUIeA~7WJ`+qebAE4TNqO(_Kz1>Zzd)q$!v+ z|J;Lv3D-g{G~vGMf;zQWvkHuqc-EJPLY&+Mc6%7d)NYEfL z7OJoH?&G*c&_VO_=j(C3{V~NiiA|m1<(Dmse|kDf4t5B19j7y-Pq&}MhKv~iZ%Fj> z?%l_Sn*d-YTjCb5-QE1lXB_s#K7Wuk|CN20Ym?)ai0uG7d$s?-?1fzFmuDBCJ|!KvmrGCYkl}q4v<^VZa2)u~C2o>bBjzGzu>m02pXbYRwGSUP{TvLcfC37N$s1hUWF| zyW~_OzHge27iSs@LYI`;z&W?N#Tuq`h#%p5A38X^wFSOtpwwzdq*W79ZQIz=<;!~-H8Ep9&XOCFmV3Ep@Izl7(8 zLFLyv1~scxp-9>mfxhS2sh4!$Of5&Nqx_`t1S81=V%b77A=6%Nj$@f{E`t|Kl=F@+ z#?%1>d&=-={7}H->j+iIj1x*=1BbW=7U65ytB)W14EL-|fhLSvDoj)Q5db4p6S1Yq zhWaxCV_fDu?ykSiIP?IX9LO;1wSEIA+v)~dql8PgxXM`(DATN;HnSFx7U~Lx0-!yv zdw%^_P+*ky+sp|3tM*vs1df9}^0xU)?Uw_S^`0uy`loZ#`Y==OfMfy(;W`LutDjT? z(A{V~&fDFM?FkHZX_c^RaPJT;*$BU_UzN+;OFX$!Wwv=NyW#IoQ!*UH z=z&GrK6F-@*{+#4v&=&V7&`ouSz0n|5@*zY72^x~@z6`t19A4g^9p$+jSH+jG!$9n z(xe%jNimSQ@|V**#&_Gswrw$rAgw!Go4nKM=B0T%u=Pzie1>O8eJDMd;zxNUwI0j^ zUvjX-y$Yr97qJeWN?Kwb+;t549B%GL*^f~Mr<-qZhdZMXoiH<3OVd9{anIUz`AU5- zH5xj2?`6LgeJ%x(-FxuEOR&9EiPY6BvNf{20gZ1y-3ZX7S=(9P2mAIWsmDnj&e|R@ zyw;9Oz>O)XlOy&v!?6BxC6s+w@(uES$`PXkcQg0SFSt&UhGcOjH#tBYmX#j4VttMcXxXTVk4@2~r#yzVZSjL(1Z-RY~vsRdCV3Jbn zIg3CaffxY5Ni&W`%|z$X7!ff2ix9N%D~YycvGLz3-=NGvF7eC)6)AfaV!L1BAyu^c zTDg`*ar0iecc*2*_vsdo@?Ouy@1X1)WSwjtzNWe-SIqoO^ry{z)xZ)tBnIxdyZ)&5 z(&)7x0X_@ZsXfuq5*d~e@h`MYp@_FBfl+nMlM4+m6}f`^izdeGeFu z;Kq!s^wa&bi{|$5!gNy$r|Unx2vatqhh%&=U(rJT%xZ{`{!$!-J%p#8JUyVpk)R3S z__%+=@Elp5;b)2RhxdY+2_EloiNQ2wXSoI!OiSff5S(sq&(QQ0ar`Jko;eR_@cH!G zpGi}emI*Nxy+HfoeVeI+r1e)ZisN}0!rtqBjy^CRO;t}*mJ&`i0rb=LeJ-C79-Q3A z9wT>+NdJEsG8R7_+e~D${?UMg;K)Mdj22C%AbDUloYRA6Z`ZmK^p7`VH+Y1Vjz!jt zSz}WQl!e{no}7xw#jSz1w_@iV|HFU(E!*#Y?1dW^1Go0ul=hdKYdC)B`~t-^Yt>e> zeAs^K7soH$JbwQ6Lu)WqTHV6?{?7xJAwV7PdVUu`mGP2mL8XDo!>Rrj&8r~=JBhp`Ss|I84RnN4^Ho# z-8sFpYKX4rHGmu|0z-E9_0gcuj%--&-ZRgg9Yu;hL!fW)Ie()Bw7>N|LWJbrBf)A2 z+hT#To*r}%)#(v58{zu+`1Uh!KvCYh1GuB(r=PyLAksJ&91S8G z&4L8TUU3JkrM`21bnmD$c$P)fb4nKWiy5tGe|XzjSw8e-E-c?v9{SNgs=obHEIq-# zl@QS}6Jq52JFhZp+PPmXGxnR+%w}b}(f>S<=gqYVN|qJZR$x!f&I`vieDCDeg%2@& zZ2$17o6vA)kCx;Bz5?Rn_~Fz2Tj;Y|$@}+}+5>hLg*#`=!fUNmak;!3$$e9oQ$ks-m|NfaZk#LV zP-^+$ey20#faug}>vkQ!$JYQ;W4w1{7??tzwiWRHD?UekgFU&xQy%EcoMnIPgCo&L z%uewFDe*&WixV&gX4FngF|gm$BiA(|N9~jW9hog|E&9Fl7arUMKgdx7yk!z1&-ugq zH)mw7%=n^Ph28h}e|Tc$QO9#L*_ ze(~TdZ(ckaRo=Ma{? zQD@q@Y+jCa8c$%EPaZ!`sQ7`o=}Z;(j8~)BmN}vK+5ca*=*zLpgPF^aHA$9#>SSFG)O6$_!e6%qQ_ ze5mmc4QQ=ND>33tw+!+8u>Ra807NKqKeHeXeA{av3P#i_f5GdBMDxNEu06K|4=Kb6r5oZ_cKfe^wMj-)1Xc?C;+#md4 zFhmQ38`_KuG*KR3h=KCaWNM3h!nrH~H9>h&g==fkd$x=y?a(x+77I=~3%({WDlffk z13kOnoCq_QyDFv#eIa_)0_4`Nbp3czhB=e6d%8R{F$(aLk}zJa&dxh3jPW4A6D3XR z*yAyiIX%}mU$fsNXxury@J7SpxV{H(sOBEPVVr2?`A~;AEEf!p`BL@9lS?k^x?oEC zWr+v+;mSlxT}X*H0Nc&_17~G&lTR(e*oRc*Z@U3Dv}KrlLL*wrQK|s%h#jv?lUKQ( zMJhPTtL?8!oRBrBx{KHCeFD#0e@U?#pR=&6+)Mp%M*BHI;xg{u+eR0BPlId-FqW!o zp@<{L=ZEl$@EAigc+OXh2)%Jr9+Z!{$HEHxQ#0?>H=kx!7=@rgZ`pOq2HJsuBF0~5 zKmM>1ph5g(NUFIQ=vE&zxkuz8g$>r_yX%K)-aS3sJr}m^!;c4+N!>-eeD0!M%Cr-X zArUb3qQc@c6kyqvORk$_=;+|9zi<|t;?^Vui@5FZsNJIOi!6a_*2I1(=O$_~f;IB@ z&ra`5cs1Fq!E4Clr#Lr&3h3Z)RU`54IYkiU-Ain~u%DB4kfWOGw z#Jre-^Fp}@Z1ANLbPTx#r3G_^ zh*~wN`+Lm_wAE59HQ5*){3L3|)}_rS1WHdlYrW+)B|Wofj8l%?kzjK%8=rIo9OA3* zr_^W(C;OJz!^IJ+Vwl9I{N4yhhR;NMTM~xEc<_u`qBYpFBtA{yk+ywGr&yRwCc@Bq zXBUn{diz0HyC(cgPPo503xk}P)F`2K{W5tXS!%{Gd+g%b!H1LztsQwG%F_fnrk53f zKFeR$+YgfzuE0HwhFTQm?lo3I6qUJfRPfbMkj)!>(xK;caQe<-(7zRBVv~&GXh?mQ ziDN6u{LoL=?pT+7JgRiC#$5m2Ki@=|Z|TCa-i#bUs_h^kRa|yfa*@r3mb%U6rXXeF z^xtfUqiTkoVOcXwuKo;a7&m4foT^>(ylh%R#TQu2x4I4^ODq+zHR*CTYL#SJxvT(b5kmlB@Y+fb~5VYDo2)!(kn&%J48 z%45g2!kd7e|CI zWo0a6Vzc|$smDlpEX--2c6^6Rje&Zat&<>WLD|7ybkJ7S8l(ia9VJZ&62r{f`L&;J zAHcG+Gsqj;-~9|buVhQ&M5d?`yr+T5$i2bqkc`H&GRaE86XVQjhik69{BXAF70 z33b8uwZGbOP1K)>)pUK&WHx5@F=iK*<3HtA*)3lo&8d5SK_l`xsup6hCP@*N<^J&L zh#+|+2rSv|&zeo&8z}eME0Oo<{)N1Ut}+e@B#tX;@}DR#!tMFLva_`;_N zbBZQaIvSILgapKojWYvjyEJG3vPD3pj7G+KU>wL?Y)0S-t1J)-;lYXa+YTj+Kuzb5 z7|}F&?smWeGN2E4kJ%Kq&*Q`pP?_H4C=}1vzDyj}V5KL%ZS?hs0MA?qPLj*KtByk9 z(;%B+Q-LUAi`m_as_w3UGuQh+wD+xF*o_SQ-A$#DHl?9~XU@%#XN2Z)&t{{t(2{PP zqiKPY6e&qNAA&`zIsbRcTR0tZ!SBJ40Y8=nLrOT0?c|u1)s$T&3UfQY{`!}g`8dB$ z6O4XX?_Lw4#zKaN#l;#ea&o;LP8P<{y8*<3O|enntwoP8+qZmf%X}vm%3+!^lLV7z zVj_gQk>r7E73*etlX&V6lz#EZo~p)M{h#+i8&Zu%zHz7UK;O$E!GZwX&>t!6%(i&p z!5|WCtl|J?X0rZ60Vs}%f7oncW6U?7Ifb0FqaXkerBDsK7kglsK(g5{lL_smg#`ah zBzSUi-9vp|Oq!N^NVQ8bVew(ol+qYC?|MT9>{7u)%mRhfN9|xsrhG7Ihm&9Bb!k?PXQ$HTWscDyE_Q*?C>LV+18gCuojUVEhEs%g@Oxy>WV7 z5#U?BzzZ(QKHW4*2gViAP_uMsmGQ_Vr`=27bQ29l8lUqwmNY{#E9Wck;>&5^<$w$X zz_6n#Kg#B&`OYbjvxA52VM;$Pf*HO@XLACEk9nw#?cJxA`jk71B`j=WUewhM?FR|V z?Ja-7dAx#dfu;z*{?cb17&8Uri}$sA7aWgM>VD>op(ckAyEnPO#9CSqZK@A|$kvAf zHg&(*{;`>K(L5)?E0@#LBh9A<9&3+Zn(I-Mk&4soe7T`BqG*Q)la^n+o}e(JpB{ShQ|ag&{05! zzs$T!-4kvB1;mVoa9+kUkqJ$;i_JM)O_c^_LmuG)L2F5eDHV0{M!6<2HD@Y0L59=A ze?EIQ3svFLuh-6Jh5;7MzYcce-8fU{=^JHVb?1GU!3PRDUKO0U)+tyM9Y=Y3w$2w_ zhpwSuOh<%_h^By(0h8Al@9^`Ur^Zuwu|QZ+nDgOgk77D5*jRtUCW;2x@Eja&pPDLL zt>BFDm`48^&3V_MYBT9;Z^UYmPU=H7D{OGxYqyJ2{xFW`|1+iIr$%T3Lv-2d)(|11pGpr z5PbE0t#Qn17*^ovV6**0&8#j=)ezxEYta$fCRE#fw9|-~h!m9{H~+jc7cHP`l{b4i zkEo|>M=aAw(OwVfyNNc35m9aqa^|+GA4wGyGJpm-LhfWSX-q0UO|^U9YIzZu8*=%p zt!`}@bxJ*4E@S=)$l%?llA??L0H`sf zCClAJv121^8F~{ICO=BtvHQ@6MZFKc`|M-p(=H*z2ZGApB&})S+=qk@A>yD^=!Da4 zam~V`*TL?Gtlrh=c$A|`Xp&z#hQ0&`vNBDH@xc%9xa9$G-S&^q-aUd#NNWwL##7i! zW+6w+z*q}iZg!tr(WPH){faG%5+*meZm+`DPGU>fp&zcF)J1HaQx7^VY~J+5W7%eE zFLY zjX_QMvMFKK^4$E_+~Tv!4vSnY@ za^7(MHi~gD7S{|&2R}hcKvg*qAoPN(ML^c?Q$j4LO?8b@r5gbA#w=ZAjcygOq z&m}Lr-ddCul<3?_mX?-gKwxREqF%>aDA=qiABoohc zwY|+~L15|B{G?3a?&sRG2D;pm{bG7_wFDjm+RNc54d^#Q6Uw%)OjE*wyeb7S!}+KC zFxTjY&%(rd_cP$H)R@}SRvN7y>}`FzYWuTBm4>4HK6aTLO1M`NT^irKp4BPQN5z(w zV2RTndk=n`h4r`5qX52fj6DqkwumC0of$2?An>4g;hsp z`weJk4m`zi=Ws}D%z{$0R=S$K#%5Q){`HT^-q2>Sa_~2&E|7y5pN@w`b2=m=c8XZ( zq93p3&p;_N8X_PjkZK;O2xX}lO2nZd9bAf&5kP>kP{EagkLNtz$o*~y(!K9t2*eYF zMg=uh2Tma#`BV6wvc!t8uH~RIa^6|MeL%YsaTg_%Ji}IsAuDRxW1^-IHv`OHIZqsjtv&iy&P zs9r*RU2R40uJ&%v{I+|q8lqk9rG493O7db&N~g?09^>A{t8c33n7Mmy|Gj(9-+b`! z!SkvcWMpnV``mNS@_0=D-x8er&tCKol?k*#l`E$3J+pt87NHHbtY$<)*%yw2{A|1B zdvCfQU^c~fJT0qOre@W45J{`SqUeAUBes{JU>wIA4Br8dt!b8|t={ikj|cQH#r8ruKa;_Cljb5jRL9-52~IJhhTx(>*{#jg`+hgkX!6_ zGBB4G>h`&RPG|7m4ShR4UM+w4Bi+hpRQqANSZxBCI1zkbn7zRlc*XA^fK!&XkvQEQ+kGsBQtUvF(+m5gMmmPvD};OId!cgcB6 z5oLgU>z@}#iJ;`E5ePy<^R(<)09y-$*Qh<3D`CY{4$VjNfV$ATiE;`!z~UwG_6ahadn5-2rW z#|0cGGQIG|p-~Bw#-u6oWq_npD^5IguzQz|7S8of1JXU$n9d4OX8c;A-#We-`X{L| z9-!{{SdQ1QqRL3Q3*l$I`^A&-2wjp?!qG*aqeC z&>A(9#iNO~$NYmr5(-8OQ7?AgW)cWvN%Zt*!G`Tv*9J}1c9mM0rhq!#<+}O z_ro3Cv)F2Z6D!I%fXa-GgsYN0Qa>J9a!ixF1T4Le~}Ia2N~_A6*E>eGH+noJ}0s zc5QX_Bzr`*nx9yPrHsMpfjH+8QGTq9h&fwND>s0V367BE4aQUJ!0a=WF z2>n|+T!Bu5yy-t)Eu3Pz*~ffvyoPj}|JJ^~e1c*Dta;bW>h%8{^HX%_VQ)WH_B(p z(|<{f(dk!rEy>>3C;%JJO?^yRjP>R3Y2PYXYF(w===g>hHn2IGFbTdPo1rERQNQp` zcU_Nt2Hhdy{6YKNx?#TpbMAu(+GO=rB?ACy#Ph-t>)kIsE^gJ!qN6@3cXqUK5sv%B zHrxEikc9O5DzF=|nQ{DcZmru!qEfJNA|Xwkn0F2=E7||X#2ZOk{g)d^%aBwVd@ppn zcJ&}^>e{1~vOOZ(o0mtm83#ov3T%-}ACUXa@=6w(O{o)y> zVS;VsIlTN`b_WR+eh@~E9~T3D)+>>{i277*8!rU&&>m4|I2m+{R|zTD+?@dyxcpGU z4S=34c8g6%?YCR4Jjqc9=5RJLGKH^`@}pm@!(gQ(r*gYC-(gc{*yv{i8CWQJuGZ7wD#}&SOw}%W9 z1-Rq}NXBfEa`15z{KkF`lze-ZVz`t(zqC7Yx)r$XKiYY8e4i3&sme517;kXigqMXq z@omdy3^!J$Bg%_4F*Ce`i-hY3-)jV;a1&DnoBR1j?4qd_5hjN#IsiqQLGeP+LR9y= z2R~Yc5?zqZkB4TBLOm|t0{b6sE$oM;V4r)&dl)mXY)#b;{<^U5Bra4JjVi~dI^Flz_>|d>}u3k)| zO`{Y0X^@VnOe7~MwmSF<$XKbO*_vNPE4W$}?jkq7(7b!IF_)X!(j^XH zbH`Xz0j1AGukp)F}Xq-p`z)^YRh^s zS0%ECw@#{_)J1zt`EdA`sw5nC?UzDSZ08*uP^WMoIOlIj~U;#R;nv zkDGAc@r^sDR?gfj2hqS_YnC)1G7?aNQ+bQ(UYta@Gqlmy#y5|E7%$pRJO$!Q?3ul@ zsgn{n4a-ZzT*g(Bj>v?>v0?VHF)}NHD=f5gjZ5_u%q!!a6hPYB?R&n!}MItdS-# zR+k^x7M`iCM?3KUz5N-GN#nJ@V9O>ChYVFNcp+muBZ`FUnZ*v}0T7R!m-kJ|u{oa3 zRXVK{Hp_f)L?YZ+KJwP3mE{B00IA9eAFr>tvVM%#%#=Ri+o|cFR1Ry&8Q$g2g~1GY16hJO5*g>pokCU|IjR~Jq-6|C z*2j2gDfVSQ6?6G%Uj__3pf^M2zta>mg`dUafm1iPtK{-Jxcck_0;1XhAR&hw|CRjh zKAs!)T3vp}FuSe|Gk2xoA^!ayrlYXz@%2}*-AkZ|Z1%Hj2GU)^thyfp=@W-73qSwn zIrj29xz*~y<#(Z-PEByhLRlAGny|Uyfew{!Go(bT9R1Kq^wWk`sUC-!1>B9b@*PsLK+*lV6s=o ziCSgTUBi&nxvdymSql6Je{y*F4WG6!{|kxd_6T+rN%OMUUUTAhwe163~LG9+STh-+V*)-)rE+5M}9)`fdFF0 ztW+plP(M4cZ(fo%!{}pHj#6|9M?D?b{Bm^mava>jv+7TY!{TynuJ-%uk2@C%amn!R z$&t;+4SeDost3GQMd=dTl53u&?q+!ft|+IHqwc2D_18~OoE#1vGjic`iQ(fAs6D)N z2-`w2g#V<+IRjA3wjGmaGPL>Hy>^Du@ox1`M73W2a=OrF_Hq#Q#)?5wa|ZVQOa3-N zPGNTa%4R}zLQV=|tnatUQLYf0W-VglvO}f`+TKjVS*{5o@X!*#!Z=ih&uHo2WPTSt zDDI-)lS395)h(v-xd7r~eRao)ycjpSVZeFBK_ z9}V&9=LiR&{+z!ksaL6O(#EoTm)I(@vEjZ)*u%MRcMiB8=rEifY(Q+W0LQf#A* z&aVB4S`Z&u!t^1>p*9zPt783lg2uox4ejvBY9>Z%_;}x11_pE1%cL(3F8^?DLQZTi zE!lL|>NxiCurp)h>M4w{qYu@SCEfgG%gX2l;8DY`t@`4vO8TY0MyQ7rlxvC@nUwO& zD2aVDQ%$_2LiW^}+;@dzI{jtquOSg&%EovE za5>iq*}*;3&Fbp&Uaf3~Z7EM4H$rNCuOISfV~S1wS`quA&+WE-3fMpBs70uSr*STS zmfxIXA(G1e9bW#SOt}voT$2Qm+ga{TiSxL*u&E{2F;rRBl#iftpGCTzLy|$!DQ10H zOYh!PP5&B>m%;cfO~5eeVjWB3^WN%`jGpASYk7TOc77Afp_?0&s8sL2wd`kPT4zA*PaGxSx@i%ipwvX zZ4jZ&7^#n1t+_`F8I4o}lyO5I(=S47q6QC^eK=Wt%QD-^O@PdSm;Bp+WpUf1wkC~| zAFL6h`A}63P4YssX_XOko*u(<{lZ+7?h~aSoUG8kxO16haP`ypw29(mC5*twyZ~Sr zS;BJp8KKws9%bBpG-XTefNuhktB>do6SbJz3L*swx)>mfU+YF@F}cXbY^j!KTP+?S5z ziTj{$zF$3{Iy3b}k6H1LX?u6THro7JEPeQ$P4JMae7e~%8GjvIy^*1j*=02i@bdeE z5qCsWc|h7$E|wH^q4XdoPaWt5lctu*3ujoL#X`N~w-OsmDq}*>%4uR)wB^EWI$GJM z9?3oT1Pj(;7R~M50dpO(7Gb;k%&Cw~HRLZDVEuqa)`{2^L-~wDK&^58X8n2juW`1Q zu}7q2Jw{C~GH~Y+{vXctzLtG8%oB5C7%Q@zA6%Zm zDH^4oG0enDGyB5>%{Uo=;5(YbHZ{B;4O584P7F7^j<%teVLY=k`3o#|^*Jdv%zN7L zI|lP{b%n(xB^nv3Pf}o`PA2h<{u7AB6TsCtWiZ4k0!7U_WIv@{ za=LR6_!lhh^an$d(`+o3Lty?AB;2~X z|E1}#*->iX_;&8sB5tX$ERG28@?En1aJ%G9fr98)ANz9hn)qkqN@7o_P>&_{7jzoJ zqsi~f+pom}3}<));o%qOBj$*kp6l>u;3m%lM*-Vw-dYrl+rS)lQFY zChv?fmnk!tphclOzO5Dyt}CVY83dy2^RneYO7RA8nWl;IiV-qOH2C@IE50lnOeOK_ znz|d|n>Z2^oo(8&3!M2EX`|u%Bq?8D@5a2cO`R6)1Z0FaMuYbhUTAGkhVb;}@$IS< zIS^OplhO9G-*LpK#Lbr%;+U3rltUyWhu_x>_S=Y@UiG}X{OIF$e%HZr_thVBK6Z}7 zwHH05Myw>cr%yNEQ?jFON|j{I7iFFT8sR7IacBwEM{&ZVIU-aivmPy#gXM|&N0o>h zwS|rL?f&&8u{T(Yvk_$2>3rejrUmMPGAWO;`C?2r`NchNUAXJir`qMO~7hPt$G9_pjgc5g-(s6t;48}E( zVGO9YzIuh|Cic#}`p?35+=eJ&XLV__#Yx?G;QabG=LZzF@@PK3G}HuMBPS`a_>&(C zKUeS7{+>vr<@h+QlunpbwbOcDfvt+`^eBax#A6N7-Al4lZZl^#(Y!Wc4|J2_)ry@0 zVo`{V9g8IkTc=b{xZ7cYp1AsRMOq*lJ!?tr!dSk=*$!IHN@GP9hJogqq zek>TG{aq=B{V_a7lA_Bah-cCA{Low$_86IP(Kxd##?p2{T&mMsRT{zM=IYZrqakih z9OfoNz4di_l|@0qXql4m7OzE=A;kLf-K~IM)KDekP?T53Hz=X7zIvD30zBu5aXcnO zKj`4{lwm#^2|n2VqcTwVzsMkB5XnsP>H5DEqv;g1CW!+iYo`4Ko2Ow1nX!$drWm~? zUy-BPO5ISYXSnEi*Bl^7SOkl1qyWYQ>raE3B%*__yjEAgABZtS`WA_BzmQU&^v3#? zL?`DJsQB#BF^^MGpN$6h=srsC#2y>l$M*rg2%-2h#Y{hE6B^p)%ffPa1+|}M8(l;a z0yb~@=fKfZ$QoS6v?QRw3xvqJ+WqS!3fwsfnI(-$aI|X(Ir6_p{zwy+R8;l<@fhO(ScjV&@Ocp>_W668^og~G zNosr|a|srl1Kz`{8>ythf8IWa8fn#1@~A_ual!ifvzH93$DODE&iqZwM~PA8QmFQdaBcMrY|>Ag~3o)f7mB+L(Me*v79GM%Ujrr5C%6>87c-=FbLKjj~w z|0j|fzxY1~FPF!ypCBYY7T=SUWybj=qg#BZF0P$MYYw|%B@ClB!! z^&vBB9ODyWWQ;j$_hlzkaG$SVTcFbwo-tw1B+BxLFtyb>hu5O7fO0Cwh?^ z0N?;U{SK*^PpIH+&zjI1XT>4+k?9ypXL(2shUk2n&Y1lkuZow*RduvcOp)&$IQn zz*O18lk2Z5#el2N#Dl%Y#CKu$YnzVJT`@8ZP|bL4yFh~}?g zcK?13LW&MENB6geo9PR=U|a(~>q`eY6p%-%>yI457!#5zEd4|)3udOcK6f^0@;AQ{ zGyN~7o7|V4j2Bq;#4+I<{6(ZAHv_bSEqt=-&>~~YU5@Wk9Gk6Laosh82^@Lp>A(#l z`jV`to7dcV?2b6u^-?wnu1DW!$U>-6^KCE>lFkPM+|};@rEVl=X4KnnqZSRY@Rn{` zf3x~v8=nkIDT%#+y3!dv62E4CCT}|$^5AvA^K@QKBl1@G>+xK1%P$aRbJh7eMv$e8 zF6*sOeIx{L2v%F@kcf@F3n2ur;ltCY;;ZYX@?}YLnr9FP&yP10bwf*rU!y-OAFO}+ znz{1#o5cYA!rG9Z-S1~Ui@K;TNd{`QhZhTSc76NKtfnE-SiQ!RQYnz4bJq9nAxA@_jepMIqA0*_5ff<&&!K01#=JWH@gehrFejZJ5a@!EA;z+!p^fTH__U z6lVo?Ql_uI&GVf$#-*)=cYT~MoCaFrpVNakRx1T6QZqI^+od_VBs`MMzPtH{lU!r@ zVLG3vK2`NfAFud~|a70B5xnpc0C#CWpGMP%u|gNG35G-rC6j zjT-`K?8M#m3qd^o5e|(_b6YjB-u+}Vq6CgJN|Lwlz%eX~lBLlOx&S@uW0GV-HUf#8^&`9t69(# z{Gq;`C{hm7lg6VnevTb5?&Sy0RK;Sec z8NW4v&GrYzR{*#>H2)!E4$|tsOu>)s8jL_CD~0$6+rv4dXnf1{)!Vb&mDXO{zH_17 z0FsZJXbjV z;R>-hRP;zLInJ%he}+2@F=cw&U+h8PE<=2;NzW0FGt=J1uZG$B$K(#C_P$RD?&(`^ z!8nu=ZxRNu{5Sy}Ne_F&cyTSdEiMl5KGFlrq*OYwkPx6RR+b&)$Uuqa0w=bk5h09l+A_3KT~L?htvmN5hk@sER@AllW$5k z*55q7>yYC3nsdZhN38!Bwq6Bm1C z-1OAY4EJjdVv*J9sCir;bck`F3tGf-49#l$$>C6!*kP3G?)NMSq_+ic^JKk@M?Z+p z8UuRsImvXxnDk>yX6U4Y?bqSY1)hD_keb>3s!`{~Z%N781Y_}kuH)`gX0K_Ic>Uvbm$ zNi&4d9Mr#$?LdkPcLMiZ5tADn>n z{CKeoKj`w?`E7%tJlpNd9v`1)KfSoS#~KeghSntc*C*Wc1H8Pe{KY_8hzuk>oNazK zkeLXbD^66E<>_2D@D=0H+dtd{HN%A{#<=@akV^@)gS%U6Vj4R|u^6tdcQ%_{8XYW*zTAHJ;@e!~{lY?8U{v$= zHxAlrx200G)?@*I3M%s%lEQqT)AiT#u@)aqAD1OLJ2Lt)$`|ceTBJO zw}gXm%8Ze7!8@Z>;e4EXMyfn=e~NK;9^u1OG{Q;Ni)i-vJXS?9=3>IfZ9Sm zJn>djAnbw;=@bO(>+VyB>pYa9PHdN$bNixJ%`UFw*?}EZ-pYi#-_VYvDPbyYP+Y{i ze!)CkzIloyDt<9L5jAug+p`omnq7qxpk=m_LkP=r`qeGeHeS@Avxlj$N%v`avp);| zZ3XA zf9~?Zg!VvEtYN5@Rq^)bYaf1 zDO$Vax0||O&W_t6|KjHSptP$+w<{apx0~XzUzhhbsGptgUvd4|CgPUscA=Y|xc=ms z!${TW`QPeZWqP(}S2Ut2f9+=Pe|;Uk(vx;8oh`aeYrWK+w%C8^=-hesiB1}@H6iLq zf%)&`&Pt`t9UIcmrtN$mOI4q|0qA1|fky|Qd*kfMYgR(kQ1>4nJYgd{d%^n%Gz(mx zy!M3JZJ)m2##}h<0&b6C+Pu}p$lR@H>tvR9ZXblR5T$bio@X=aasgaiR$~fF>5%3$Y-)rIV{BQU5SNm#l z<~=hh*8Ylv%|6W%jkrQ45XtY~Z;3Lx-8*p5g35S{g6IDhFUzLiYf8J{&Yr*a23LH3 zV4v~(4i~ptSx9k94;S}Qw$0s(Ft|+@hY#-GJ$+!Y+AJt;(ed%KPv5kp+Pw7n@vV!e z&n+O=N8=;b*qX$pkeCv4%Gxqpuf7AZclm@tM_WVD;b8!bV z4qILv-(MCxx3PYR7`))#WsG8>7vSe&L6eQ?jq0uu%-ZUe!JOP*pWHuvFdOsFNaS~0 zCq3_QKC;p`pZtz{FIN4$2#CKUH@){5g87XkO;f$s+{&eCNs7pq2WR&mC{u(%;XBm@ z81yO;8d&mVc>k(Cf<)ObeX=6C^LYrF5e=emFE{1&)-~H4ig8+DO)XXWdr_u z2fHuWzBk=WvvTq6g6<`;!^}`$PTQa`USgwNPPbg_%sJ6{X2`n>u$!Nl><}GCsj_m1 z78z5GlY?u9&G{2{FS=u`a0V3%rsT3ttFl8A6q}h@Z(p+PD7Yje zM)B*T!o9*V^8r-g_(;@Yxi(O*Z(sL^m{_xZW*?)xcfSU)b}h8z=KK9t^{hpKzukd8 z<+jLfV-9To!G~rMjJ$x^qYbRljrA-l*NO?vKvZ7ox$1!GJfn7ar_ZdnlSl$|^|cSI zlja^tS+hN*roFhv{3X9TwP8>`?kfFUr7urB8!Dpz z%*c%+9rjd+Iej@B}9t6@{Wymae49$QD@{MthgIA6+}nboG$xD z9R5ogw-7eO;zXH}@N3mDfB+27rwNRLp+Mk7_-s1o>m<+=!RZ87>6H+)O}ZUa1=(1X zyUoX8Rd0=#dB+JYN}EPN@cuVlcsc~X)kjUH;6ie4nsX>RuAnCZGgxY8_Vhnnzj;Zl z9vBS(OlbLFu46k)7;Y92s(8%@?YWhjXoFluSk}a#;6%I@i#&i0t2CFO@p@JD- zVORQ}b&GM9>S9ESNw@DYB`6tx)G#J`#8Dx|fOHy+>c64j6M8L%jqn6VJ8{-11nOk$ zbK4R5-6Q7q@*jsaJDId~8Q5y|yB|;QEQyrO5QeJ3voL2-RET8lq%U%pCkK?4hK<=r zjwY6*AeKOr;#4XW&B}6`gw{Nz5noa{#Jib4D&mwrZM%fnGA6B$)z25pMaq&O%Mf}x z0yp97$HT3f$!U`CvB+i`8_yy|W;5uRG`{v``ZbX$Zi#Nk>iq9tNcIC{_ib}nN4`9D zW`iyw8tu~RUg&bs05z@|(AK^qXE3Z$Et|#Z)o}dY3ypjLwZwzJA~R6Uv82I_fAC&< z(rSe{k30QsP-QX--MsW>sI8;(QWW4~vqXqn9m7(@h$Y$6^yBt7VrqzMuDcz}uuMMq z=J%0FC*?S&h#pPpgPtTOC`l$7PYwt+5mg48n3CpLqd6`>HfUXA&l=H#8D*@B(-E#Y zP~D{yf+#no`L%RH5gqiKXe^C9_aGp`_!3u|#tJ{haSgAB^m(?q{eY>aqxBh6V3Xna z#k#ulq}38xrJ2I@kw)mbg}-!xAfPGhIucHIYZ#yVq04d6gji)I8C(y?tVwf00X#L9 zkgxZEz?F9YlK)r$2`rjCy%Z{939Y(48=NtU)w^baTyE7k5pC%(Kf9^f-CNr~+U%3N zW_UFx?K9Z%jYyAZKJI7hvtc>FquEifI)VbVJXgvDP)08e@JN2?fxKgmyw>tI;FM8WG#*AwG*W1ZRlFDdF-o4V z+u#DtJ(-bkjLFfGBALT=W5E*ii9n7fBJ+lnk1mS{2=y14$sbh9ar}j{hUun3ITLMJ z)^rPk!B&u5zJ0S@<(Oh*iU(yAFBWqdE~*^t{Qfl!&fZvNVJA#REhYrLk!6QT9arr$?i8TvK)%14vVBw`fUQ#~6kF?Nbmoy|X5Y9e-|cJ5xiaSG zEMPzn|HR*;jwF?nX05l)~)L&TIe*EcsV&M-{RQ<6OSr{sk_zp zf7W9UX?Lwye%>-U^uy8l5j|UbMoNZ}62w{G5jeNO*Q!~gu$hBD>|uaMN6yMizk5(& z4b$KbE!o=KW>krE#3QA6AT@a{@93iGrA2VSckkJo_J*x4O*cRiQp2f^y5q*6u}HO zo97@5s$i56#KL3C;?aaY1f;mqI=(kG?bQZ#jP%4OO+igIr(y|Bk{?h7jxUHsq19sQ zFkCd(ip2-7huh!%wRptg8zSsV1Pzkykf@G-hAOeA)&QH)$jQZK7}tOa5A7n&q#}dk z?1~dqW#a%XY$|L^;B?xU;cb*^^V^!EpMc>RiyfR*6hox6;w};adMk04&H2bD-zv32 z0XDxnoTRxy46hfFii9$?trb=v-;K1mxYQ=FTH}=jwio|59Lx?pQO6@}vjH3(JlnEa zcaTgsgz9d%mjrenGcBD}6wv~xmaut^f)CX>R&i2mTb#xTA=x487j2U^=sTODhcQW> z11}_zG`g$mcO;%=Y*>IX$a0binHDT?e)!_1ICX3Q3nNa__H6xI?U#{joi?42048W6 zfto=kkibtN#S<0hgeTC8NTi)qxriUSsdU~Pytq7&;?qbI{}h`I1PrVZj9+4?H5m&r zaXK&ZQf(Hk@{GZkyXQesE&LrP)yHVr=?ti<)Y{tcld(&5LFQWm!u~`pBh@OJ@?|5l zyZwyF+!n7{f9hi1La19m{g4~NriePR(P34C00~b3EZ+i5nB=>rpU^ZRYBU??>BR~K z9gS;>Cw7bOtTm!c_Ad8-u;hp zl?HXkb%-+ybUc&r9c*_+=Rn^5TNb#njfNn1leI@U5yxixvr3E8H=TtQpYYzX+M--{ zmkNCWiCE=~-y4qEpj;FBG;FkfzU9&j9)SsMQ`S z)2tx^0YKO9mm3HNiG9dAIpMwHqs{K7sZWOlH90u~bGmx*D=VBVD=`2iubQw7)E$@- zH-fAUe1a(Np)j)kA}|maV~i=#zc5QZ&7k)Dn65kAe(-CjVvuItojDmDK$B=3mOj4r z+T+IzL6cZ^86`R;Q~=1W0mvc6sZi4O{44p{x87H?8-}BfP?ayk0MI1PClG5s^?+hUJzO`+wW-?nz(3Geh?B4QM zO(gQ^+?Z#z2%O=BQqy#}zC3}b`b-y8@0g&23#ohRkuEjVY;T${9mdyNyqMfenx+tP z2~lQH5;Cc3ok7K5KO1D^&FN891Hkq#e#K*xxuY?0{ds%59i1MUtuTm5i5hZPO4HEw z-`nB@!k}8z;0aNbAP07rZbnp@ zNTYWqr3M@3rm5{=qJne8O?eD2UGx-k405ceGV~ z=PzNI`~x?2;DL#V(pcDvA#sgS_BI32v(-6^&jr*ZYIr&rXArHE3IlEEno5=Dp@5;T z)`$BNJ(VlChwoWpxuAM1B|M}{*^nU5lI*WgA+h}8Li;IfKa+bX?{Zzj!Vr1^o=rJ)I` zz-r_A>~Ayb={rrv(!%v3R;Z0d*SjzJ&gRLYh5?RE3+b|y+rLexPFy;_Bmo8s^ecxL z*YeO3>bCE$yp&t@yVR&!7q{O7BSpcP8OBSs!`GWB4Fto9)n~y`(kgy^Ov1tUn1)d4 zVfU$fbzU2;BkyQpMZQcQ5&Rmv5S-jgyvc)M+-hAE<*+@wu!A!1S)mBqS$YK@1q6bA z;d0hT<4}~|XsR`VD=}3PCEIE?g~zSUlCE*<_`@_N98R8A4&zVjyOihEf`oSK9yIA}iKR|f+wY&*9)pSovcIF8eZlS~OaVsqw*(^R4z6}z+oI7pCf@)L z)Z*#J`dGPI4{0S4fQ7^DJIYCiuI?Di)dm;hvqUaCGLpgwXy_9VOG%ynHfA7iMumz4Kt%h;EZ4>?>OEZP4*zKrXI|Mh0WFXGV91OBWXJ}C!;q9 z-Fl@YN~dxxyZ5zP2IY#?^IQisa!eUD1_@v+JOIh3yyNYSH>dmlDTh-}rM z$`rL3)oU}_2w=oWl?Mq$DHk^IgQu7~$HCwSW+*R*4QcE5!pBHB8&4$}<5*H{;NJd` zCep@obZ!gupB%iVeccutqA{WZWl@-|H7-^)C2F7ZI|C5irs@4yA#D90XWd=>fe{S( z3F4b0)^+zzMG$D=kz3lPS|AsM(Ex6@|4L<}QSF@%)h(!j(q0pF*-^C2|9Ir@^lbe0b}Th`Y8hR=sZV}EJ{m6p@(Xsz+`As`m<64MMTafm~v(9@WT z!m>!l9hAusgu4}m%*aF(R>s}~FR~#(6xruK$Q*e8>qN@NosC4uz4bZVz2j`n9;r6> zwPI#Vv-rcygJZZT3=J~uoQ9tgmJIZ3bF%yqB7{8aH%uNzuky_T`J-#wuN1eZ+~_Tw zZhr->PNR|V97QNe&e~@8&t_kpLY0zRE4A1LJ9-pX2IxzG_{e1?0CrU+;AybwYe2GoSINYs1;IUVh zuDWx0s+^6Bz0}UB9y6h!hVIVole62F$6IB%$pIf1i4000NjV<8=EnYz3dMkA)4%(O z+8L6ohu5FCR+!RORQCMowGNbEvz$w%2<-50UFWojI7~Zt$b_n?=6fsk;-vbws+h}R z5YiUTez>Cm@A&xm1 z4{R}o@~8~&y(vJZD=4_bkC?T-+23AcS(cTLQFZ+QUK7>ZnEx$BxQSz(-ExJ7 z<1QB`RDPtN30i!}V+YCV>O)2XFu^oMq7uCnB?sm|rlZJmBP(C@$bcw1)b>;;0DJTG zPd;|!*ntEC3k8@F`e!isOHcT{{g(hzCZ(Y-tChMLZ`-5xE(;U0k>^ioo@qg4E9ny6 z_3lkyT&b&up%2n@5Z%chy_gngCL-PL|5NK@3-V@GjKnhV4AcuY$Rt7pJ?seT8o>Zs zaae;arvg+EFlfI#)qHa zRr*{DGZqMvRInCu*~<`QT^5nXJ76z(2@k97_e^Qp(svDg69rXHFqS+ym!L4$+ym3@ zfz<_?MD(1=$*sT|WO;3r1``(cA5rXU{AHkd{D?N9$4%jdw$=FfAbBa$mZel4Np>Vx~Saz+f0a0SSM^wq>it$03tYB3{B=(I)BtG7J5L~?*(}DhswTIf|gskDb*~n1iiM|xk zVj3?$s6&&xCrrfn{@Z7|?Pq7Xo=h0#&$>hrjBb@t`01Qvg2!f5tZ=yfH%m|h3=PD} z!Ls}LWj#c*(EmSIcLHzub`^9U(W*K)0Ajz_Rp;tCqD(S15+eeUL8OsM6bXYgK|v+V zLkJo&yt(S$`)=K;H)bFqK!_nBL69h6N?5JAIXLa5Z%FK~;?$yyY%Hf0{|hM?b(@fe|XVX|`_W1L2K)0F5`7 z^I-S~$$J0KTau9?$mf`)s)Ym4v?zM)63hGA*dTT|NgFxjR)FR3BpkQiuFYvKs9*^E zi^qvfF1J>QN-p8roJ41h)Y1Nz?d-jD`BrWNi+8w5OPs|h7C!JCaZiN9!hmo62V=;G zX+AjpMYx&M_3lkCzsrGKpdDPIsG`f^{qZ+TAJZOA z^g{?m?h{U`Y<2s6@%dsdo%<0Fwhi7BQvPP9YH88(s5Y06#WwnKOwQ@96V-sERI~c=QeT-gQkN zV#pAeuOjpny{|;tMGJCs?d!R@nU>n6oelGfH`l!O6BA$fxseu)#Fg^ zbo(mPq}a#E^{6++z&yTCP2y)~mxj}o#JqY*5-AuGfa}qE@7=tg1483GzPg6mbM6;aQ8KNvE zsa%#IJu2GA=HE|Rgwz(6dI8tavUp?vMJIPT&gS6i#MdNaz5964&mz{*DcMg%&^DDw zs6=L;YG=N5KK=muB2}Ylrh$LOe;U=Z7;XIJ5oDbVQrx!PzfUlYj?naY@hSUdqH{9$ z9;)XS5T35zPl zSc0VrK1ikQN^iLpdaCB3A4$tpv6m` z%= zR8xHC$w)B#nF6NrE)S*lZ)rQNC3w&2+r1}c&(`^r6NO4L)ijY$x)RjJKgB@WD*>Lq z$Z^{Jh1q_SxGW>z|7&as3j>i9`qUq2q!=|!DALY%@yB5DZ2g~_jci!PByg0>t8uOo zl2b;jL*0{X8cuoMoa982jEohNjhh+0U;eZstyt0Z;{tV=v zpCN!UY@wObNe4eD4=+m>b}P2RfpDZK#2e*C4*iW{HB670M8VNkyg63WC{c*sGX%a% zwJsc(j`agb)i1?zyWjV+L;g^hhUTz_b%VlhXY1EjSulC^ne|U>p`P3x?OWnL*ca01 zSJpi4Cfl&BNYG3A-TmR#!T>nCpU<6^D@vmpw>wFDMM>%Da$h4f1xLp=~)ZazP?~)%a#_%Liu1Tg8W{Fx5G+8e55? zqY}_$T%ghZaU-~L%MfO3=Xumlr$w-=LZdQZGfBH2zDHCv6wHlBu|uXVSd)_phB#yK zz@pZq2x6zLbkmJ=+d=J4*#}(AjTrEXX)^w3+U|z>ABVs>#SI>9MTLC$*|KEmWbCUhZBQ@mtpNXTm5(v;HW_(sFJn8 z$DC8J6D}9)cGF7BxKL=qJf&MGJUT0Q-=L^uJ($z7jce<6^KiqhF(Ylp<*0e~>=5bt;KbNjVP$=F0 z_>@_v(Crur*J;04fhi>*aI{~tAE7)5XMoNsK zAX10dkG@U&OZ`(Jp+06q0(UU!w?1U+%;AsOYhQPca0G8Yq$kq_r0Ua5h>Wk2s-@=on`$ct@)ch?jb!sEC zbO6Ac#MNi@RYv>Jly8VkxQ$Ydx)GgW9IRRtP$jB|1KO3>`m_J7VYNcmbTIIn_*5z<8R{fkpY>% zBp|Hx*?ym`lqhGoHSnUuq5I(TvqyPn`3!&*mPLGc`)UQ{gv40<=QXf!{WRA!s1`T- zb5luouxgZHanb|3-);szC?;=;LDu^#QKcdG+3f$EGc}U)GxND5Oy~k1qI*N-r^BSD zn%i*tMm>c6q$~o!Kb|VgV?%bYwV`k;P)m_yerYdJX|Lx(!u)adG7xyKNaXxV=$;|+ zoq3b74^^D=D;UX_m;e&_nT+hEEL;^+fxeu=0ZZY40shEGsSJ)Cbsc(q9fIKl(&G|m zE8@iktwI-Sed46%t!7Q!lHyxDAW`FkVrPNTEE=oZAr*f@U=Pkb+kh_)3kK{5hcRA0 zGXTtMdIKF27E@mhcKh7+%xW?ywdlW3ysH>T95zaB%EuD)#3(BW~h8-dgrp?15rP%QK~A z7}^d4s7?1qt*3h)U9yG(sL;3-unk1%# zgV`g^fo;XVnk{oz+v}Hi3`!V^2b{tiQb!gFX;TGXAbfz=<}z}AMjbODi&R{)Jo#*G z0=v@B?2b=tn1)-7PEtFhNB%;`zU`3c(jq%dHFYJ5o{&Zlb4*0gfoj^z9?)qN%`@n& zMGY@*K`s&GEUQ77h^yIv0pF{d4Mqwv=jNWVQ;RE=;*Y#u`J2;D>$ z9GfqeEQ#US!eKd2u6BR={<|K!AxiE+Z;qn`WqRK{a!mWP(6U``L z04$Xnpe^7p!d+Rk+2_%92PI%6^_z4c_~bH2xlj+&?e6dA=%k246@9t=2M$XsN96=D zJy$tddW=?4YQkeg_AKn{Cs$A_sGIdYuz5cBVD>YtxTUOJUTA=2^3O|`M~NU z=F6(b(IkbEDxIW_SEV$4j$ZxZyR0j+5smp{r@416vEZtmNOo&?{a2oQ*YP!}l45eP zI`)8M<~umE4YhwhQ|~TYwF3Ywb>T#D(D~7$2hWZntJa~t_}C&|YBuTU2ZZQ4OX)X^ zk+aPc_p}*pogh3h@_@sg3}#}l&^@PDvlB3u-fCAJWjCw6GjoAN8MD?g>v2J0#M*t! z-N@RY3(g>x@hV0<-9BlrsPHUpN>~Dsn*ui-i?nd&5(OD&UgJ`EqEndgT3Ci`tyQRk zdAhd!M3#Sni|E5rnm2nI=<6>a9KB#N#h7LRbcH;YcZmvm`k|M|106_N9zDX<8vD4cj&>&(TTTv-}A1tYyf z>x|TDfmQ4*B?)-R9{h@Xi`Vp$BRD@AAFHabi>OOdr_}`N;+`h{1%m+8+^@zwm|h!C**nIHr6W(Fs_A8 zQ5WmywKMJbzUIaoZpBi0avZ|KS#CH2)FjRbAqMd3xMg0ktj+K7GJY9j!0`z`uAq5y z1s3)v)ew6000oIDKRV5r6$4MEI?WoFw7gXxc3hpsHC4%#sznau=4r*#yp3^xkAv>i4v&uS|Zh&1^31qt~!y96pZoa<)`*FGm z+W87)NASH?vW}iRS--St)nd+N_I0FUV)#*6o_~;CiOq1;nCbGj{Ss<`e5BK zvNFx5vu0a$Z5}X32@+ZlCrTL5WTanB+_(*?Zd$%Z$K_Z6{{s7a1otrQeD(MG)f_l# z4ke0o!7SM^-i?@~jM_b;9N6a$$@l1x|X*0C2zu{sWAaFW0=l z1zC%+rMk@oO~{oWAv~>+F>yQD+-%WbbZVHsh(CAtoLS4C41m_pBjYSH*6qISUoYY0 z#XH3y@x$q*ont8awZH3RctIE2vby^IO4X*uUhTV5EKQ;(Rs%Txd6gts{FZXEc!qpc z+nqD92;m4KmkOjMVP2?+XbRK_j}Ai=rqbj3?LYX|7wkUyuJ-?PDp>`gd=F@zeeV49 zdz;qLW3!Fj;m$*kU4H2C<-!$3p5f>4&u`{>>{)jG{>Ls?5ZJGBJ-*vc;l4*MyX4}1 zH!inhF5$%lzH%wtqZ6fAF!(K@slzzW>q7_dgPzZCY{v zBca}QD6kGsLx;ZS;#{#$=keKn=a=obd4A!!bcezfa;aL_R$Jt{`$7hT4Qv*Rxl_d@n2%@rMce&aFSb5oY`}aoMd< zBM1d?`DowvTs5?jG8nko;1j)vp0Ic8u*;+PhCdVwB$($t zyMkp~!RZvikB^=!9S8f+Hp|2An{#bcvQTzv$Wz&;S4||HUL~oBlqj}AY5cYF&z_|y z*q?K0m`z)*crMyJGJ_X?Ess<=bAIy3{g)H8^OMJ~UVikU$FDx--{TLC1e{zMET53a z{(dXc-}*aACUpn=+tpJ^Qkmx)l-iMvHOOV<>o!JxsnP}RH7ZS!`#}yzCP|uO7%BiX z^^|_d-}bPdeqTNI2qE^z6}~Nb?!W8TAA9t2N@dxLGw;e~oYxQpYczeB$!xp7T}WZ^}|f71`IyjrJ_Get7?bx89$F0nS`9>$USu#ScH3Ycd`m z|Lo*qyZ%hxW(hfHcgKcx@&@Cy*nl}}A(vRJ@LyS+f~@hSnU2Ds`~$|GDfq9Gr($Oo zFOE%Gaw?YMEM8x3yZ_q~$MGg1<>)n~`go4{`Yiky*o@N2$wOkzqVQa@&$4fFj!sF0 zJW*Gh&B#pV767&IuDiKLxh%Y0QMy~}f7Id~R$JTSTb8I;z5D&8e_3CVi&m=M>SpeH zZpUP0Vc`4Q+|CU{nRd_C5Aaeje|eZ?+-^LdPsXJ=OiyqJ5PSQ}b{5n^)mF@FZI&w8 zzNhhKqci;FJI5a?tOMS`r1D;#&zc#ZR#DU{ov=Pk})$HCQ`VAg5SR(gq{hZRr7%TzwH63*Od+GI|HlQsglZ<(r z$q$xYEqf9}V6^rAX;nZ^d(C`6>nB;&|u;_&8ZWlo;=g==JdWE2L|c?M*1K`;^kD6McFD;f(Y{BpM;%?1mto+DIH? zlw<9vnd9>f^~~cMBeV=DwBD3hdfz9{r%YVsAJcE&+Y;9~gdwt`9g?=UlgS~kSkHx5 z>wkZKSCL^e1`~o5Xj+MXgyS1xjx=Y~=2y{R0_UzAJ-4|MjbO8xuyJie=I)Sf0{UT% zQb7uma7F{}J;oaS> zB9tQzh|~3}PVc%p3aY@+2XYUazFPg;6>1&&F6=(^L;*xWOj5Xi?@p^;f{$OC^~aty zUR(p8Mh+0jSujs}?xB8!WO3v11?NUQB@<wJDnZjHS3xaED zLiifhnErr(hGrmUVjAN4>a%Ftr1t26r5Xy$A78UoFt@_lN128jlU0BN8n+BdR?J$y zzzfDwCtN1(R%$Sz1qn=M3m)E@Ast>ARE6)&?sL z+s{WWGyHRJ+UgXEhotIoW=CQz3BiZAe+pZLwKAcSW3@i29w?q&#L<)BISSK#v3D2OUW`KrxA& zp%tEOc5_HYpdRdl3~~0q_+;l-A>Hw%ozq~35AMje1@{s{K@Gx- z?>ff4oJdVKT~W~8a-1;;4LxGHHFGAcW=VcT?zUy7Ev|5F_D~sGG*uw>;Zx8SGXyB- zP4p|YM2b<(1Yg0u+MXL06XS%<{tMa#A1#ccIUMJNrZPsZaCxgChTCa|Nx(h4{VB#E z6sGyQH(tleLVFb(N%zqcRrI)(zXIw-M3leG+Q!`<&)@WF$W<-3-5+5gb2Ps}-&fj^ z7;!Y#>M*F2tPm56V|N$R(6dJeQ`g`F+4K(?+C5zxp5-wPL>=7d^a}JbfXM29@l#sC zi~4*{eqx+FzFJ94;GA518JQi9)#|~8-hBdH#nCom9nv%K0Y{1BW^d_FQkd#Jx%ka@ z69`C3JUtAM+1i6%f97IaN}^irXYpV2dI#SUMJ0?eFKBNvv0~BhBifwkgE8s#q6o$C1^19!K$Y zHZes_KO8+X=)(FSdEAQVxqAj902p2YXG-6h;JDXK%%b-W9HJ(;zfY&s#?LTHmI-LW zQ(~0|0~iH<6+{|n)@W+fp>6+8ToP12)-L2^WCNjTUPs!_ylTCLUn)EATw-nvX<5)1 zD`~VA)iBOiA7@Tzbj|PpiWrlr_OI42f*P&Kt?>^Re`K}$_|8F%bTd6Mil)W?V$T4Q=GRvrT73V3{>b-lC%UB;r@yn+_ZByfh=%3b!t1*XC2~D{XSVOc{*O#Mv_oVjA8 z`8V<|XuC1)8k@Pl&0gHW9ZM8pc`SP&rucT0-^*zsFhDl3TULwYogf$|E3h<|MmX## zXoToWhDy(8(MG`FYuJ-zFkK#>V}DdyzrSPM25(D4HCx*n%;75cq38IcQpQnH`EQ($ z5yS8ajs2jZbauY_&3yDOm9(f)Aeyiq9fR$t#BY3*tOoTEBjI>MK}KSHRXC`-JjZ{SDz+httg~(GA&A11yZ#l{+p3u$#Dlc>DNxxamVK%kn5mnbYL5wMMpi zDYChf$~(L8O3KZ{hZ&f`ZW@2)R3Pu@YauOCHXxte6zWRAcl3?3JA9ll20E!Gr`Ojn zfCK3ykK?QL{yymzFF|TEgRrFe@te^K&eO!m(Gw4^A2%6nptztmU3qx(fnqs>^LF~# zjnmDyx6+I&3w7gPz%uoUrA$0WBlyH;y%n8@LkwXfuA?7Z)x?ij3P0yt<`F)XJ$m-F zww&`&s@tSIVM5llVx$Dj?k^NMyPvO8SLU_8gI8l-Ah}F)7`57RR)B}`S+rw4;z`|B zcsnYrH&0lkzmn~dATS6TMw(gfa`)wCDi5=7A#1zuygFvjhE(O;pt$XDW{CQe>(in3 znW5%AV_j)j7h=^!a?56IKiM_>g2Zl;bi*QJc(+2)_# zy@X8IZvVqYC@~*_^5RP{hZl6nNoDl?{%jkLM?z9}cHw8l+-H2%+{pY~Uyo0I1kowU z-5CV2a)2A{zS;lK1YDCk!TH&k&3ASL9Wbp`O*XL3jrbH*Up$dLMG` zAt9#)hL*fiJ%)S=O&_bq;dh^-#kFjpcyY|5QNtLgifadK-CVae!4qlOyfLF0Plbwu z;Fzm?An0ec3fJB$jZsL`Xx(h&_`-Qp+Se~Q6o8yrIlOpc7y!IEc_SNy5YN0E!pAz= zHGhztaaE@9Snh4g#4CI$sf`h4ub&)!@j~-_EI7&ndIn^fh1%ZyT!tOO9p%#^6&$+| z!iE=l`|n3-9GL2K{bo!C;RHH|NJXfY2*>c=Y(oW```Kddh_(3(yS%lkhm*bfUPf3gKg#LL2i1%AFHR z371dJdNqR(F*r4+7r!&FbL2{XY34X$o|tg^1(u1$!t^`tH1Z?69uHE&`eF&v4#lLn zbNwlI8-{VU&PyUaor(|#jr=v~(3-j9*((_q!+jWCKOVZ!{>)})bhM`$wQZUmw>6j> z&eHOcD&f(cAv5J@;L;Euu1*G#6TKvg`T534G^DF?1Qx~df)~ta@(-sBvNTV^_w~7X zFfi6byZJ8HD(=aU=S~>~m4qjMmM&P*akE<8z7NA-YUab`!7=^~uE6M}5yFXgAKpI0 zC>boX6`L2Jg%-`kSKQ%0N`|t2>K)vRfLTdO2CscdSpn*O2n-RUoN}l=^aEuq*u4r& zy;Q^@!WCV#Vj(-cS`i*}JjR6YuDC|7kqkQC6`68F}Eaerd28 zGjDc(-iw1pAT2UAY6Ed717q92L*fQ6_#YF;S<57YH6ObVVVO~8R?=)=c+XuAGRrD_ z%*{^l=)5x}nCq*`^HPshmW0k3I?=3BexlM4AO$oSp!z)BBJ6Yvl>44_XwYV#9II)X z`;|pE4N4&A{5Orz(r`|!CK}#(+055xch_CT~ib9nv zHe7EE^+#O=X=-#*w=r#`g4UyFbzWoccSBpa|32%>1vUOFc$mS<{wI@KuI<%p#+4Ar zRQ}9TpRIq?<^}VlQP)YUqS^!Wr864`JbH&Ij)J)7%F}0df-N)9a6axZ78^_!1;o4! z^3Ti^N5-Ab+rJ%-zi9Lao*&^^vOemY#SIDn0PeHM5-sGrs zeZxxR7WptRKRt>mcVc*Gq+`D(JMD6WPL0y5yDz6`g&1Q^3R5SAym%(Ypt~k*TG0k_ zm=gh?OSybjtpkmj4o#m-v!+r8tDrLC6o2^SL@k*5$+QB>FDZ`fBeZ;gRGwDp%`jSq z3h4X)6$V06sXD1EqqpI|-VKr&OpADK{d1m*U0lTnGd+;j-2Uv67@uILKK7D7oQnx8 zmi0}~Y0Ua-)%T+HYtQ;$ZN(NLGZ$wVZXw_0ac|~=y4Q|+~!^zJWoP$azeryJu`@r`IDTOa+K@@D}A zuA{3X{P-+^A&B{t+xXY#Fxwd6`^x$ z|V{e{at_IlNmEr;QNaH_gA`-Mmj%ut-{P`rA2 zef2LNT{v=3-ITtu&P28*Lz+-wRor|I<2Qu!oZrlCHPA_ejg?oyi5Lg08U@$qPWBGxUXP z^o>2$QR?zWlT1ZAfyQ=y)E$=#RN>3l(dS&XdBP!vkN9!tMN(>%|VunER1w zz(4Eny3Y&cHfHxobWO;^n3F`uUa)PM0V`aKN3%t-KvtosJMLKjY4&I^bx37XfB=PoP{%rfKq?AocRDlT>Xtn#J$Frq36vYk)?*q2W4aA(fcbrj1E|`dKP z$rrvG_R;4eBm}!Sy9#@lKQpBTr>nnvunSQqYnf&EFILkILI)*8SKrH;(-3awSCyPM zR>!f2W+$w?Zoi@n0`<6n>N-7MKM#X4q}95&qfzXWKyHpzA1CXe5XG$?TPzMK`aj0( zhZf8I;)+!7nRCaD&xOQbYG$2h{;6{(f^|5JPdD19gSSyQX zWg6>}fN|N@j0;lMfi;Rc+LFKwM;E?_E}T5WGWf-V{i|)?Wz0|2Ed4X48 zackq_()E4$&zONE{@%n{LYvw9#6rx*nF3x)pdQ|SueoW~K9#!ScbA&Nx^zs$`gk4- zX)r{WQ??jtcp+z79?NmtM^mYgo-Dm;hmW)e6fG_oe&M;g8*0myRtXb2gS#7~mo z%*^s7HMn_YGT38mvF8Zr=Vh{p(Xl&h5(HLsSz(7xzLG2FxuzS!>ww7$r_;_hzb@?% znor{#FsyIitsoM5()JUZ$oG7i%vTbV+@MH9eZ5Ab%v%vQkUo#6t+{1|q6V?#?#B$= zCsQN|5}P)o0Jbb<@VuV7%dd7_rXZZ0Zl0tl1F#%k@EB`Q`Nd7^ZKTwi^M7l|kE!$f zQ=6OpZ&H2r9mj@f{%aYZav^qNj5`WLV*ab)QUkM-gcjZzR9KKSdSEcTftcY`z;2rpv|Uaf zYQxm9u~ufhlm(7XFjLYb>`V~R%e_20S{rRSqOaAfEKtP`8Xv(bd~_pCtk=!%ryrPQ zLkkBapQl%_%Fvg@Ln(nWS7`I3VetCew0BA))xczThkjicNzFSxx$^U|a6K&a84=?D zsR)O1n9d0iY=~L+gRtj3n!zO(kJ*Y?ETV~hs z>)i51fez6b53ZDlzQ(deS)gNnnSP_CU~jYko`M;&ghboj1%E)CXeLOZ}vojHt6+_VO{?}8jX++%_j!Y(UEi!Ys$jirqj4Dk0nd0J_>!&qj74rD3zIZYx z2lK~g{yH#aB&XN?-#}_ljR!v})K{b0{o>-Or_q+;`27#21u(I>AJRKXrZmTTXJ346 zkkOD3^aBltcW(y4Bv%)yMXF}9+}HsjHoL#eCN1eM;{d(_SL*61@AR9r%2nqvEd}s_ zIaYym9_`=#zPnU2ij|5o^*Ju}iCn`tPQ-ijRgcZcX4lE)yWDwQU-GJwDvWngm5X6m~?VcYbjcWHiV=+%i*_DHHM zg40#)6f?q;!Kl1F9{%mAZqph!XOQt$CH95mF{INnu*7rkO216D0uD$(%=vui2_;d) zlZ69EzrE0`76~Evn|{D0XY21Si4=RLEHu7;;*O2Vh>|v-@cuI9!%TFDb{*$bL1i z3uQ|XxBnT$QMl^S@(-g5c5h4VCXq-w5ZB-K!xWx-Ac<%1Y%UR&(G~v~1+bvv5AZ?y zlz!FCBclfC*G=jJb*3N_hNRa~eoY$3^wa=&^nbPiPyBGGY;5Sn_3_~=AmQxYpJAau zTRO=|7RPv!ecSz|*{m!or<<0WIVL?it9{3sI#aSZk50BB_ni%zhO%aO2S11Mq($$1 zqKg?5nLFx+Hn25td6Tovd*^V5W23X4rDBoz{K#IzV}C0NOU0p-Lv1gFWPFZ%NBa*j zqGd@?gShDU%LDtsT&(cD$&BYmV08MAo59QX8Wai!G=(YDW!<$LKwdMW)G60zCfmdN zusSO8!(#u?;61o@@#q0)B(}-qf~$g>@<-}t>8oqUtIx4p72h1y&2J})oX$JlKKBrY zuUj<$5QXHbei#MMjojkTi?6Vom83}7&Dj7n{wWKT?{AF5DSxqKpjH#*C}l{40Hr2M zGVXx}eU^mbg>C<>hg+76yAJEcFs$5>+3x2lX7WdW`3hbwQn|%!Q+sqpcHgaZ64nU0 zOFc)=pKcDTgw8fUAL5-f+Gsll>r)#8#w;(GsshD55erfPh0BlL{?=FDdgEQEPuRAT z-P`zgZW;E?lbgJ1iycj0wP^H(=a*+GsTty(^{9W0i4-=d}FTGT7yQ zH~RCqrIFTUI>+{2$L&}iIe&WEPpJd{JZgFB@>5%LsEvDCto>PCSyTQUdv5Mq5NWmL zwX6Pop)Hp*W%5Yl$AIw*httj;>(hr$u3pu|)%CrXynAhZ&!sz^t*~k z$ePzf>(0~+y)HtFwWOZ7evP%he$DdSM%4mb-_~5WaMHG6whd|&-{_Pgf3wtA%8<^M zdw#CYZ{E0hlUQ&hZ=A1Rcgeud*H1bLTobJnf8vrg;hk+Xt*voTEzhm9Coa6ogOxN}rgn^5{mXSTy@ZuXL4a(DQ;u-Q=v@WvL(^z!b4|(Tc!d= z;q0z16M19#8WFeCB;g}ssopoN6QxS+b2#43Bo=^8MN-n_J?a>DPtC$N_bUI7}Y60 znMf*6Fe9sx2!pE9Yv8Dat3f=x{fXIksKAiB1UX~D^1PU~*~M=%&7rNVLKr$*{icKg z_Adf4&vdR@p|q}N0wiwAPCz*rn^MqUFw1U%Xh@;^}xl*H+tu23%26 zNlQznw7ELn)L6!_}3@jl?KM@d<=L%vHY@pz0``lHU^*} z;~0sQs`rO6-RCp9vP7m4!Uf&M2n5Tpm4*8M=T zVHiFj z5xu?j^RZ~ML({k%Zm`Iwj!JW*yFKgSU#%!j7by(Z0EZJP(4|^iEn@45Q(I8DF4mVn zzkbbOWmhAa`{ZV+7>9-NWu+c8-)M(`b)iIzA*CFh(@5o#dfPgn^8OZRj3OAD9t^Bj z39vK@ESY3d%AK8qAIS2_#n*ED8^<{&G$;eeJuPx4o24zu8!a9}wB=H-!>S18lO>%( z4JGYXRnG_Nf7S%5Mv|CClV4FLl2RSFndO7-;;MwH@9o}p-L)h!8B`TPr|Dj>$;s3hI!6qyWAOiH=*JkaqtqX-q)2 zVd5Aeh!?ULUN|eKEM$=8#nfs7PpE4XLagKu(i5Rbn|IKwi`o!7X_3`#Nd%2*oUI8- z9H%ZUZ5kH10ia5G>tBx46Js8ztye`38Ho`Guo;qK6BBDK8@_SGu#4x_vyH_>kOL(RhX!`6ew+@KW2YG=)lL*ca{db|C>mMCP$dOvL2`C2KT zMOwS>$-2gHSJh(TVo2PcOz?k^4whs&cw5kIU182(;^;Lw0i4uC0MFtF zIeoM4a{XC%mpx7mk@XA?LYnLmT84xrvD-iv2j*<`-^~pUPvGCP&9{wli#S?081*;d z$-lUXKog`~S6DRmTt5C?qll$_r_s6&OkNBR)6F(hguhQ-Hqr=5JdxoJN@e#p28DWP zS{GD;dFr37rb72wSM6N-UTL01sP`XO;2tj$5#myIKB3A0m;2H7{-bAVfEbl$*6^(P z_eB23>Bba(e1P%XERkPsnm>+{m-0k%2M}E|fp3^2CcPJ;!@Pq}rW5G#lhgRaimTG4 z5CSDKgUh>#OwwZ?P&l__MDfmWmVT*V`B5FzkHatNo=nb*?mkc1>t_8E90<)W<6^i% z#gF4d<4FzW_ck1$n5T8q)PXb(+UAt#6fCx*EpiMl_wg9&6l*}8UMU#)@)*b5nZ1PK z4AwQBMg2w$n}MNdr)ryypyUV@b1dl@>fx^?9rSJn zy2-mr86X4-2rl<2HI{veumBrSa__WL-|k|d{A#LHS5|3&)b%UvGJMk($(NtQR^w$4 z!xdVGZ%=IZf4Et>gw5Vd=PiC%^ve*0bYT?;Ok)Dvxhxh-)B>X?h-!&b{32iEERc>I zHaIK&xK%U}32=U!w$a2F(&>MqmgJjPCu>KA=M0=}{B}Y+eCKRU)m`g?jAT3_N6jeyrtBv z>l8OdWS|SV(`rFDkAP{<;@M z+D%I^lN$`vqtJ@qcs)fp{vP_r_P7o}Aevk*M-m6m6zBeDgb}sXzgXKqx4Zl4uL>h# zTtC-94YmuwcMCk?H4Q<2s2u5@DXdfdqW!w zz)IZU(k!_MzQEW#L&B7dNz{0QnwqqNcLOxQJf2d=}a;3EX6se+aKVk zO|K-w{bp4THXS{_b&}iBpj(7~fARBYW`g)SdvGEM(ojs5X)B!>4O2lAWk57ZXmyYg z$YqR)fdOfXiak?7gH@ap59%Y0V`n{D%i<2WSQnhY?`+mt&Ls7no|wP^!*U@DH9f*+ zA@g`qxG6DD!c!Qjjj$R{C#i+9rO9xUJ`OnmEKOn>XzD!O0B?j|S*{1cN)85C!?v5@ zRg(~_{l~th8F>d=EipuTB6cbO`S@ntLQXzNk~YJSh)()oA=$2 z6)48Zd_xF(T~3fkkELVXh(AlG&b{!}7P{tg|ITuXHq%j5FzjVelf6tYLZU`A86i^c zZ7~CrzBc>UvJi3Sn4ESEWSmO=x!bluxOKIA7Y64f5LV-3^h9V$tAKJ0FudksCuDA5 ztc^7#C-z6c1E`Z>&R^0Z-Uw9^0W>VIeY%Vc=shU!~buMI?AFk$cK| z9>VKySvEo&T^R(rHg>#5xh_Fbie-p-c69rHnTi1z2MM3vlUU*G((a86cgqKM7p?XM zPdbSFI8iQ4EXYI%g8Tdmf=gT_PL}4r-Kxz%!-FTSFrT5%jD$oJdD^Ql4!>qU=y+@Ei#v3#uQ(h>qx} z%o;Ops+j>HUpKB98^Y$!n-cLd`*6@G$eM*f4nB%@OBiRY>ZF0w;1EaF*7rXEEiTJM zK@h!24UMaDY-~1&PSR3vWPp}HW~C);U1TOyN4qckD$W#xPtQ;x!coeEmg|b-=ZJ^0|zc*%@G+u$0KTC0rIAfnfB+!V{ zPju7%{pg|6yA-YqbKXTaB3x+u?WKyd?kBKq=Aj-yHK~w@6bW>J!Ftd3>79QQl5=?a zh=_1_kD(67+UX!|v7S#1ZyVm&iCML&`Nm9*jT#weZe(5ON*pmQ?h6nf2TNjluoz%x zACc<)h4wF@#g?gJBiw&bu0wW$&y^r;cK>cl2#y*4K!lL&5ReLgHGPD)^SYBAuVFcg zpRph_diao=RTqaBf|u5Kk!`exrH9Xp$T>v%Lvtr=T-9JsB{v2R3Z{H0k@R_UNarc@ zutKxx*l!+%sbom=Ofit6;el8d(#fRo+IR%MGyGDrNLN1v0k-uo(tLb24%wXu> zp&2hro4K?gk(R&kY7T8^m^>E8k}9(s>&n8{qG&Z4-_5#}G~ zupQU0<(gm9dPz;-zN=)AwZ6eS+13jgJ*>aZkn5yMhSLlC58&eX%NV#1bebk%#W)M5 zKKt2~M1;nGsVH`Eah&P`74=C)WfsSQp{+NMu;igQnGPEz;sYqPl22zyg$3aPi-kGjUy!68HDK+V zUDLtV7<*&?$sAA6a^1oV&^S6p;BHQRZj2YzW$y=F!f!#~?%1lbARX-tP2nbii!xe$ zEKhM1Xt8TTQo;a5f8X6aX+*+QzCzNX%VPMO$+Z@R=I=Pjn?3huwUy*%QjNCC+0*MepQIFQl!m6jk)sfx%#i)@`wg+L&L ziN42P#%xit74(tn(mAZe7*}?WKf)Y%(zYKw7BW!?wg1EyvHIAF`qOSof;LVi8>dFW zT!ZG18SaJ5Q$&_G#UG$wa0C6W4^1CeY7?%~1F^;F=AlEbjui zf=4Zn&RKYV`^!sxDD}1fOjtxlEa7=d%lJ0mB{IP=*1N=1GyHZ%4Q~U@3&+?FI-xHp zzE3coc0uSbdZC1MAQv?m++;!WTH`^2m9bkjQFhP*CCjFl3`g`Sec7|?Cy0tB$#d)v z#4KEva1@tkaE6a<`6>x;&Gxk~F1?VH!MXUh9WcVij~HZJxTJQv zhM5v&g&OHLDtt+eW?qhKl-lwCnCXH zrEI*+YF<0+m^y53)Nxn_hbp1PS*wP)*f+|h00kES>9abVsbL^F>Lh%|_vRcXd|EII zQS0|EnurjiDM&qx=gf7_02Z!#owNMhSd?2d!rhQNuv}C}qL@TJV~ie?#MrNf&Nh~d zmsj^&GeiAitZ&EOR#%p&LGwW<>K5UNcgZQp;ZSyl+OjTRS~hSWy?bDyuTzT(Llr}-&?FP|HTaLnINM_=kVc`Y|X)s@xLEC8at zCQ-pTp3P05bTF2%;Jueugy?ZW_3YCMEkCMK6qeDg*j0v>95xl@N*40^(Tz!5hdFeC z=L1z*;uI5#ltE_vBD?GBw%1C%IER4xpv8vabe;*}TK`oX89v613zDItMmPVkY&V{u z4`17%DSHM1r)0EVGX*B{T*u@>m01&vsO^}R+@^W*z8>w-m@!FLRAvxLT*gA+1jIrF>d70c@3%nY;89B%pi@p` zU}+#?O>Toz^EDH>Pe_W4`U4AHW~-m92n|(ZqSzutNHkE0ha!Aen?Bc%K4bJy;)^F9 zvPVk<5AZwICpwg8sfzRs>AXcW4t-@LNLJ!bGsrd4#>*$jdg(Moiv{B$Q29p%9Xr&4<6(+#C;bnSy7C zN~<2<9HN~ay{7u~uo9!!(ae+6{V%I3`_2tNx33ssaEY#f%4~}9Y(7`XT&|%<0?!n- zR?-<-^~>4D!GyyGn&&`-*rtlKGm7eL^F!76PM}d1kt*ltjC__O?7{UH7a0;JL=6Y@ zMYx?_=vIVxIB7u-lT*B=pM`sk$239Qf+OHRTIH0~hK9)p7pWnJTX&4Lu!frSSokuFU9ZpEVdn^anWQ4AA2ZrB+d78NdNSq2g?P?_%0i z87*}9Oy~%&`F8lY-H(-LWBi^t5}_Ko}r@rvB~F zvX~o$K{x9aYZuPKO-QMsxi^vz!xOm1BnY-vQeOiw8sNy%6c+d7(wj}PV_I}F+QN*P zj%$D4?0#WWa*MPdJ6@lcS<0eM`snEUxpLkBtz0t<0qlk?XS}<9@Z2&j7bbDM*qTIj z_4mFa1nBaB>-dA3i)b5LDEet68q+?eG$5%x@Op|E#Jndf=k^Wu^P&)dFxS=T`m@_K z5=YrLkHdtEy>2pX{K?_kfAXc(9o(c*?tG4H&YV*@0b$Hwq_J)42lH=U%INaS>-+4& zW6vXBadQrDW4)$Cj!!gHs%N$f@zyUcU9`Xqhi`bEHAJIyKE8x{-d!(8S5Hlq$o4IN zKbJXj6NT_NY(7$Q5R!c9N2K>>fFBHK9cV?msM4N)9oPG-R6^eK2Rhr=C`x)74QqA% zG{3WwuL_x-bs;jltsj{Ry?f|Uwf zbO%VOuH(x%>nVTG6cI`tuezb=Zcga(tu%j{nj-&M8c@}K<@}mh{#o?U-Hx+b`gB&* zMTfR63j>0}o$gvWv3{-xHS>A1w4o+iNuVm(ykQfroeKuAW)TV8M|*l&eF zYXQ3YwU;ayXdS_@L#q+A@OAS;%gYi0j52iZ){_~B$bNloX~FT0jqd$tK7!&XAU-|1 zUydbu83B?;f}^h}R#eq--$i(WJ}WB1TPU-*1n#d|J>rP5R;{21+%1$^=o0ak1uL;m z?am{SDpH?&s+Au7i-PxF(&{{Ur!h-zu!H}s>2Ukb+7T~9rI%cVb+2MlyfWv7T|2)| z`Jqz*BZbT5oFYq{?2NGM4g*x{>CftT{q(?)#zO~|KY8TA%iVUA*aL?%#j2;jaq{?s z(TjNao|E*f3yPKq=Y+ROx1Bz5%~5YM%uk-!!2jf?r7=-xq%x}eB&D6~=R`j>Lv+vM z=gt6gef#A3lQ+#no6NfM#3NIfeErHCH+cPtM=n>!GcxP@@kcK|_V{Cu`Hd`JF~ib% z8uN#S=0R0`=Z`$;7_p8VyZNLe!`$&}z;sO6+0FA8yLg8C?tCA3%_Hmg+WkhpOKzN~ zD-|a6%*eeecO=y)q^#1Ib5+v99V&WJu4n5nuBe70q``6*G77ZsgpO%n)xw8lR;HlS z6DKZidW^;^nJagXS!qip&BwHTabNlCIQTI6LLr^4U&l^%hj^I1Z+0SOO5JW|8yWh& zImWgR(XgDSZM8sc_iSBk%^X$U&}aZ@j0Ji|#Gqjr69=j0OsatDntBY>5?r=YMVIRb z*kO>C=IF<9RX(j6302uJHnGWt3;+-WeFFFWEer8vXY^%*(Iu8-23oGstnTi=nYo8h z4dzSgezJ(0&+izn&?#7v8SD&pk#z2)^OD@imC`RCo!4YIEtd{aIbunez@oA;P=@+FpMxl1>bFCl>^1 z+r147lS*@o8a1c$Yh@hlO4IZTbZ++l6Jwir^voe2ef`4jKZt6^0bkL4O=8IDgKpx( z;Q$?)=Hk?AG+Z{h)I@_&rabPj;j#nQ$;tUu+ltcV*SC*75)5|ODkWt7VvYvL2NR_m z;uJ&8q>Rh#*36Z{R20LPI$O5*iQa@~_zuc>V5QLEgW9MQ)ZM@7MtQ$*nC{KLrIs8e zL@tlMd{Gjiz<)(3avZnbt~nDzHvDmV^s2jOQQp~>?r^YH5yn&5q0>EsWH zNlq{Rd0}mw6(bl%(HSmBXCd@4M#Tv+bi}PJMg7hG|84^;sh}S&Wk{o!EAT1XsS(~p z#hC_B6b`F}IA$_qszEjfUGm^$`^CjGqZYI+gfnegw-CMg^vN$xB&UJUvc2_zg)at~ zK8T~&0`Ql#`k)*_YP^5VY7UQ|l&OL{e>Foj=o~#?tzZWu-JbcIptUnLun|MuyjSwBg>{Cb0ndhF$KqQlnO+hv47%knzTH>=fdvojQ zXLsGi6W3Fh`Wh~kKDnnwJTo?~ty}@RfH3RoH`*5uQ@Z_r`*Qn~CEfV!z!k`7K-xdr z{ZuO2NM=X4Y(bK}+5Zm=YCL^tiP47NEmjMpu`-#%sJFfK=VmjvC7E)zeg-y7vFpnt z&<*QXe!!TUyP&K5IYR4Y^d`dThGUmEx7RjrywS4lM4oiV4o{5`UOXC4PE6$uEy1fk z)}Q@Yd<=Dl>F?lwLIz8^k;<6ij8x&u)GD05L&pyV3&K&5MWX8;HM*i$AgdkC8l+lr zi$jGLoZwn}>w>E}r%7XLtq=4^FaW`-jITI!|8J-@Xq~yY5%4r;Vga2k;KybFdH-^x zvV*)8FGmwEVd6^39^Tx(bay=%LM+L}aAe33W$<$A51XC98LsFWUM9V_{>($+po@ds zCJ=Lve2scLzHvDb7Uo{R@*3ia_h{nO4*>92NQ3D8Z}G||!4uT_xT24dVD^zA3$64T zjH?I2dP;(A_yu42U)rN_sM%havP9R8Zrc)bsM8vYqItLCCG(Okb)m6TaqNDlN&hki zIw7f}6qZK?F6hE3GhF=pyj+-`Y!y$&AmlB&izt>+^n$;2lm;+pV7Zt=T+rHh{I}#1 zv!iF5Hm`v!2m|oI04JMITRf=fc-X{m|D%Uv8is)k-@A50t2gKwi6qb&?|8C*p*Lu= zgQ3fq;A;14mN*SGcX$XBn&Aou5{{ExJ%=I$$N|~kmT^ZAGwA{oO&vHEdTUU*5w##f ziX+8~wII=J_TPP41>Nhnp$Q1TL>81_&V9#Rd|7wE}|s zL&Gr5+gr{@Oy&1tKdFcw@mIqDd@R}>o`NKkGucs&8ciJx`F$hQ;)#0Gu+)VI=>E5O z9YjW+a^!gTW2vR6j2H5G#-+OQ7CLMm&~v2swfVSaF0xA63G^ffuLh=nfEkC;K>sm2 zYN+|B4FNZrb*WAbtV6W)Ri2)Hzgzm0VXBS6x96dje^M8mxKf0s=9f9b{U5lS+tDH0 z=&1SDnvtkF;L$Hye`>GL^OzBW{F&!~d5ZUa_ z08YvxrTXa|7ROz7GoXNOU*!AZMK& zt@XBDP{@M{qMq?LKyZ2-Cu8S)bQ;%ANwNfErD^DKNU}eaTFm>1%-hTzAzqv@+U$dndp%gDs!F55scL^*^uC2NR{~ExS;`U z2uRy83Ya%fepTY_qq{MXi_vXelRMqjbfB&chYj_H_H;4I`#P!eX#T$G?~j z^U}fD7{}<=(~6DyX!@J&U<@bALNcYT^`U8Q@ztxRSC{F8dY!4GC@yAsl$v)Dmt?9T>M^qIs&^-tr7BbFZdF;Nr&F9tLxTx`Sy%^fDp$WAZ zhg%;S3`+OcKlis12b)wnj_us8j>q9`H$36GDS|2Cianm zJ6Pb!A%ZoTCq$a{@Ss2;WR5gt*P$CUEEzhxeAAKEz>-LvoRUX#-jd_^LpRvQ5gj1) zuL^d%R$nE~SC=*KbgP~C$IR($_3pM|^3w3;&~h zG}Uq{LBG0psglWGFXBLw&F%N0yb`VO(8DJklmc}8b?d#R9Dp!;1Ii#@i1bbd$itJ2 zlX2|&dbfuvl2s+c)}cQ`np_F>ivRt-yB;6{nJ@q9mf}c$$#<_bJJ%q^^Wy@9ZW^~r z|G|8-!z^SAQqwM@yO>(el8Pi8eYAU%DKLPa9F?BPR!n*exb4AM)1#(mfZM&CSD%Wn=+Y4=zi>0G#$p zkG4fTUZG-QjhqBc81)FKR8gJXdY5}=N_0XT17fZ+3xHN;y?p%5+F@Ps)(+kC0Y zt4S)QGuhV>zVQQ7%mx~>ZVB61+el2v2x{{2yB!8@kX$d@q;OpETBw@a`Dk$NNd(sR z`rDYZR6;BJ4TlL=*$8C`1RzJFupRDZ@Jqm@xo^FF%L{s;DRA7R(d58g^V#_KYxAMOk>In{fFNzZXWH6FqaV|?U$?PabmOohBgJ{K^bTnXb9_+f+0x7Y=*Mg z{mc7213-8w5DSW6^qq#`&rDTRtd@>yT4+fTb7HyYL=i~d4GIf&{CD(|m9{UuzPrpeUvqE z@bioBbEv5WO~xwHzve*&570;X7%_2bf}|a%gSxNnuDFfJaAita`J|jk=cphKzX69p zdIHG3A{9Tc_ou5lKHLHmzSuAFW^Yi)ud;c5Zyrj&+yC@@r66cIX+`Zx25PV8A+W{e zr2)N$kYg>Uw~ZOm;wDu9@%Lfw43=Up?g+>7n7?pz{zyv<4pwJE>G{2(3}Z3CGlZZ@ ztkRN))zmWr^Gs<~F3*Tr`y}_JkvR67hYX9BVEyXxJ^@OeRu22m-A|HIMB!F?GoiCgcLm14 zv)$3kiJD&EWl4b>%I)`{q3Nm_c$(}{V(5;e;M|#z(4y5HMTJ_{XtujQSXR~VpMo9_7 z)}VhYI%EkFK>_c2&0U*qxG$`~w6EdbIOI(8$%zoHG$kgCrHGi&2&>Rv7J`_U%WSf4IP1ufsV) zNBKy>2E$g@Dl8sBjH(hY<2gc6>)Zk+KPPvR8jym`nY|CtU-GbB+_iXmX`3u&cC@U+_FbBZLoPs$zxK^ zv!=m0NZ%n>Jg0R)t%pV%6(gF!83z;R-u^&~Re#Uq8E6_oGQ4~lmE$%?An_08YtR#= zTh{uZAP~My>fM+;VJvp#sa2Ajd&r3^Q+bleDxm`6VP7_zCdCHgSPW+u}k# z&$|H8^vM6yIyKNY12Z;OtbFSkQl(&R-o71OQ~`gT;2}M2XiYsdS}4E$H%nL>exj2Q zHl=>+!`cWtBMH&#d+*L%PpZz4SGS)*)g-=%gInOZecT3ll!+s&hVj?8-nHl{HC>Lt zPc(S32^9 z>Zt-y%`Ewd#S2mdS5Q3seCb*E(TDboUA*!QqL;W}0)vh=i=epP1XvH`dt~p5*>}IB zC9AzS59zTqp1YDF&O}aS_ik0*UV!Sth&U?yMVcle0E5*kqYH0667& z$dP&$xyb)`@weYMF&ip@mmvQO^fvrN+71%NdF%I^2GvmMD3{0NVucnwWBTa5`Sj+Y z4wHSkFHEMZGw^w3|KC(M1=>uJ%$a=?vGSI300GWnYzk`Ls_X2TyqmGO)?~=(=HGJv zP|fohG*_a|_9KB?`U+&VbKp*YEVpkv|8odCLP0i?2_4+}Q@8~SN8ABGp z$5|{)B$BV#P`O!ESqaWkDE8MaP4FT7jxEx- zo7Y8^(9DwSB~9kz-jSj{a(5+#%r!<0JG{IZxMMmAw8t=SG;AzRqWN7NxyUC=1a$$c zKXrFnjYWX0XJv_cKAd1XLVW9gA0eZEF@I{-o^@`YtZsjRnm`#GzPAV@Zo_8Sb^GF$ zN6ZBc3~Uimp>7NW%3*0rsFr3nFDwt;RpeWu`Lz5CT(Iar>9*csB% z8^IL6M+>TDaI1q)O2l$6Sdg@v30`6d=*y`ef$OYgD}Y6}g4uXoXCPM~b9UZ-*GW^n zOK#k0Jy|jJ%0{SZxipWsQV|tEQ(SzX*sMos12?yC_omq!bv$PgW!_L`cp3Z z?`o0-!-Vu+1(90VSh_WY+@{q>CPa%#NRH#yEUm`g$VUN8j#dUxH1qqvFw5zQ@Y~z~BvmI7hX!<%L9iJF5*W zF+#H;@k}$!;&bM4EWdrYUp>JtOM7AWJ>p@Uu}I4jL~p<0D?2%SsE{P(++%JOz#{a) zc}s%@4d4i?tbZY>p4#H8Qp7BNyxJgm#E~gW-H`?;6e{I`udQxxoJ7Q}X^@yXD~bV; zKFM1Z+k#cMUd?DCv@Powm2}N?d`vO zP>E@}bP7={4KgF!+4R(Tq2llINU=`rQXAj$<>M#e_cZ_N>hbj(4Ib-~m=Q;;6_?M4 z+X0?55#Wve;M9jaLmdt+5SRCfIAzCdPl56Jl=&R{$5Yteeh;g+0SXPRVErEFBD*22*RSROSj&+%1#2jB;&Fo zSnWz;5O%KIet(l_IVx2<9?Zq94XcotWaAdDKHL0Y&*erg`LWyYwoJZFz2t?LHcMet z6cZe2cr>1Y9p{lYD|WX1)SN6`2BfG07kJP%AHVBF*B%mz4*O#ba_d3(Yr)R3lG@D! z-0!4(oT#YGo_&Yo++@g!&0JW}yl?<|W4=Sa`ak6H4W|+GqVY+7>+E#(T)y7#^=iH^ zw|rbd>NL$Uco1DsH0}|vDVgIkI_@2a>QpgWB#>B*@;wybw zWsGI0PBwG)mpJBE9&gNq&Rl}E3QOc?LP~0fQCaQ3wPk?_hth({Pmwgm3P}WDPdC3Z!m!9K zs?R{%phAk9r!Od)am|?ZSf~+w{K!!L$mbXu=&YEd-0@?)DXoMsBI4@;EFS$>#HQa$ zd12)2U4R;Lx)qMSn43$T88vTHxX_fG z99^HGn|8gBbS-@k=mEif7CVrIRzw%Mba_!JHQa*_Np&s!K&<}EQXE(kLRJc(49Y@oOaKkFJNUZr zT271HzM+-$yQ6iy#*yY)mGu4_*D6*UX_@HmY+bUim+)eL66v$`&k=I9%xl~KN~*g6 z-=uELV$_c-GouxF{#Jo`1Jp2kF)%c7=M#|_!otSg@U>?TPwzq91IgiphgoZ-5=<<9 z9|3Hjw9#R_Ik7eCGV8jKQHO*rA29;t3X3`*#Knx!6s%A+^%{Y1&K$87$dv{_biFxx z$O78j?ckPpmjts@q(!d)3TL_+yK+2|+1dApxSkx|oERacjn9W4#|uO~l%mEOW5hm- z$E-F|faDqS^mSGKJY>{KT)+hBldi*pcp&UJOT7|^jO*g<3!X8Oi*cu^a0ee<1|4SD z(%@hjiZ)hr_Eg@FL4*h9324>j+o^-(oz2WDx2tSi+dRfFAzFrz{KWUs*96={ItP#$PG-iubZ!7<2A%;$Op?C8UVK)?N!V~cLmI1F?T(Y{-G1zh(v`t1 zL3q1NYC^PQS+&LF-jsCNQ|AGuWa8)BWYq0ub7#dy zk2e1s)d$?-b{L=~T0ZVEV(WnI#yQ&^w8$~Yf6VqJ&=IB$Hx!N=s~(*mGO}~Ji!0-d z$?$~ItQ_M(p_Mtz8>P}7Ihv`**<1w5&H2WQ$?0JK6!m(ktX%c*x+)EGE!6D@Tm)lG~9ojy=xuNU*85pO~cREGqZ#^m%jcfWYz;I zDBc~7PW3*J>Xn*}iXqLy)f*zS(}PdUVq^zUAd|);++O{csTQIb*a}XFwD}O%e$%=y z)YnpBdDcQ(2sfNsZJ)(;xjfc;AVuyU*L-u1w6%BuMB>I8gwe2{3B?e8`!2I7RT{OM zT9u3L&7);aoEHe!tPrD#n@{D<7Z5VjOTFe%9>0K2JcND}2x{=<3P{uqLQEL~fAwse zKmj!a-MA3|u%>Xy2R#V|2i#yUIp<{T;m$xN^brdEo-ro+FfkV!SjAsX* z>k1eHPh&H7=`9@FzI)>xLeE+@bnz(=N^RXuE)w*Xw2*Z$>%frS`OFe%DFz7VNg^W) zJC@V9gkia=R^D<{twW$5^S|gn`F0!)qQ>x8X-higQeHV-c5nM(1!QHCd9$dqQ-&1y zbS>iKX0_1vY8cO|#EkS#_{^V!^u?9s=p;YTia(hd&-i%=FVn+N#)5C?D4uv#e_13Su{LRas zGWnXdFXNCO*@Nk%Gu|8ZNNw5LdWk=R7Up9&+Vv)7ASF%j!0b|7RcZHUvY_EedFeroGTTeluQez8W~-bd|Q zOH)0o2;gGR-+cIn20-eCV)LW3dCbIxfU)h3i$OJg^~ZfE9((bPlUr@aa&&x4CZ$M- zKnA9c)D2GVo;vV&b~LeDiG6F@v!vZlY?N|xarD#;yRG}<=94$t|D?MLwss&eB;vA@ zs(iPJgzNtK-otiFad*$*0&SF{A?9V8K7RVf%_o;<_UF3Sd&xkIf5%VhL%VayEB#(B z_T}c&H)`3#caQC6s;hxmkwFfR#@4!o2NH# zA06%a^VTghTx4-bAv z`#qyYo$lW8y_W55vp^e+Q0Zqq?*(d*^wJKp-J?C^jOL}q`tv|<9RnH&1NL$mWtKLM z&+Yls)g-oT+Pdt0KW!SYY+2J*Hr?pYnpl3$^Gh?H?1pgs;;Ht!QR!8joQstb?Llj5BzqQwSB*j1ZGU8fQV}j4BVtao- zsF|RO=u4KM9abMvRIz{$jn(Dz?(S;bY(k|)kU27?961=5g#g7vaAWwnS|*xDX>PGFRrk`k7<@?=S}Mi z#q_)SiYU-#I~rcSKu}SyjSncbDAY78ATzX+Vo){G7WZ^lw4ffZWf$^~H3z-Rzvxoa zM#|kA?Lt<(X-qHIgZb*E-qUTk?D5b$S-8FaTGxxQwHTts4DMCB zRgqOV>*D%(xK-RR@t~iRQkO1*Qy%8zHF!x9^?3PrW?lzLa0?;;fZ@sB=PR7)79?Fk zwv!tRJcnP@LP4+Ynf6r-Ig~C^8L89%`U90G0t0plG5}Ur@Aw(XbwVpJS)JZXqJaZz zLEQNq9kWbTY0n&2#fpTqQjBelPn(Yu(r&ac3G)z*LiBn;%_77W-~kp9i|e5eNr&>) zfdM#DP+w2UGM2ZH4Q>GR5akKAaD?Byx*qIaX2gnsml+TjTs6_=ArnHcJ3As zmJb<9eZT6-Bln)tYA=)QkyC$pv$cJ$d9iyG5;T{8@|J^eXc@6rcBu+AcN1XPpu|9a z`j`=`;s;yxnNO;w@5BlfJ*_M_P0YN6RV3i*-5-5$?4hv)eG~PDQ)N$$d0L?Kggh1u zcuc6U1)vkLmdufrubU;Hc#S@jETNP~UsjAw)H79c!TZ*y7bBzi>dGYL2t)|nEp0np z|6`OK)}$jKXg*!&r_QGbPF|7-O>8R;fOu?4RHhkneq5|Q*=Mbt?G=tGGI0g#XTR8x zXR9S9!JHm7+DwF#g&`FS^K=?JxO^um^$-fSNKJsT%71t<_?+!OB0Zx&toNzdirO?8 z2Uewi6)YxQC)AZqDFLpKuwCK4WncyOF5f<|XF%~cnrCAKaC@G-&&L?Q%O82Ta|`cS ztJUS7*JzX*6Rxj?fB-&xA9ZQ-QD#(YF##Toc0G@0DD9=b-nsUKoHymGjUQh0>6jG?QGN1 zD8%L>3aZOv)PBqC!GmU~AD+6(R?%zYd>RDj-Z!X@HlUHkb8gxgJ)}Kbz3&SZXom2} zifB6N2x1SI``pjQ{3h)U{i)9o6t4`=)dYCAHhI#|>T>X)vUT1;MnCLu+N09W5bQb~c})ZUAfz)?NejR(D+c9gY;ro+ZvH9k0iG~bH6C$vCeEDWi&isy14{tS5 z7U&1t-)tujuj0L)=E(V?FnM&`F<0b`4Yq*2NwaD(I4b#Oe8UFd*rC68yBJIwS8m_> zDpc@_Kk^~;0-GDD91hv{K-HY{MUkrNBP82zP2Kx$>QC}h>tP~;8T;zl%};-t^LYl~ znaMliPdH}3?bKj|4REm1XV4hF1T9fRSH>kuv4N9fgOaVw+T3WT_&$~-_$sp{bA984;a$;opp zm5*3S0pH`36|f>bC{uc{p4v!rc zoCwaRE5Ox%uW}wf1yuv`DR&ePYLF~Phht>poLLUhs!LI;e*65a&};N zMF7{$3@{m4U%j(kqqU4NKG+&+DxNuBE+fp33F+pS+Va~lcwwmb6E@7xhCsARfN7lw z!;O>o(yjd;KC=onDL_hMnsnjrPUt`Yy6k7=I{c;!fn9`O@ObCo>MxYl|SSvC)v4t`^u||dJXBN5W{)C5DIG>H`+Eh16LqH0hQ#;Mvz|=>I9MYfnlK#h}X}N zyfyRytUObGJsZz3Fc#6};PXg$HT00ez#;~e`61?NTyy|V4Ak2ORc6+48Ve!BTFW1c zo&iTD*^7T?AfY6KV%|D7H#eIxawOUdW1jYtT zieE{PPfabnZCOz8$kFEMr{;=EZ#yi7AMH!_7prY5STN{tAl;T zI9r|+fDw+|B>L`czO$hjWak7Ih)c54D^T4)^wZTp8$+_}05BSXq*%BrL=W*qF!z!~ z=ZuO)7>lX_SKwC1r=c?PRDBDrVxK2O4%*@&~OBDE2Z*SxNR z_N9QhbMnCE$EX$n(g|)y-#t27>ZNrP(N0%)Zx+Uv4v5zduin>5aW#2=eDJq4?yNUt7J#J7FGTIp-i}YkCs{$b|E44O!U?Os5DE5QMI2brT$uQEHi; ze6u2jM3J;6?dxx_i3N4jrj|*5f^ER=)y;9tqXANYlBSf|$s0;@wQJ)0F-hFsYZ}2a zdPxxA!3ET=ojb=&++Kf-S-(LeTOHUVX>y6$Ce1Rlp_{3-n)F;2JFe8dpm2`Hn;dRYbAtvQ&K|Z z7?{b)?*&@aHJ&<*$z1qCvsEiqqHVgH9hKj{pQ)+cYpO|o7soL;k~D*0q)6Rif@2Lc z*$qb&D$I(=9k`>{n}3BRnX=qV7HryK55BH7j7ej3J@{bpCOHpGt@ASs%|B7dirAhg zJ<>loO3DUl&G7>3FESK^X@^I)Dk-o`V{_K1AQU`g)DM!z zvOrGx3Kt2T1*wU7TaYJtBAU*Y1;nzbVzW`%NUMh(Gl_*#ZGT2oimfeQDdhl$bvz-x z`Bf9r5b;>Pm|z>*DqQlP8n#kMc!~z{#;K#V@DC(|)eka4O`11Ls#L&$Br<_jsPeP6 z$yfrtq#8-Ex-GnTb)_bw@xQ zDQqIc3>pK0wxOm^Obh_?p7iG8j$2WqlfRAHKPDDa1C;XT8g!?jDGk8Ra2n`(_D+~n zn+EIh;jm!INX0Aj)8J6z(qAcG$(L9`{xfhFvQ9QUqoyQ)V|~jBrbj3zQjA%eC^$OU zY-q5Ue5$M|=u#~qMybIRhDR;NTeS%Rn*R;xiK~)|afJotg-A{H{VDRcL|1^%vG10& zCkxr3#0dO-Xr=FQ9`0r&j$mxx(5!=HKJ{1xyg%Lhb`{33ok%0w7sN=jw^H_(*^JC1!dCSL{7^LN7mlNI`sui+1#e9IanqK`7^`bOcK|x z;mEvLK54!WR1Tl;Y~r6h3<`Mkp`M!AygDEj^E#2vym;ww`y^8>iiwNfN^}z4&3~DL z0V^cYJ!T|*(e^T>BiThP)@!eQLWO=%6!bum9<}N^bild&a+4G?@M z9B-L__*Yw~gMbQX@rO}>>_`mtJ2>*p`N7kkN&KR7Jb}ah%Vvl;u}5+u1c3#K7EhVT zE9z=uf$u;?houGs-y96O?rr}QCDS|$fo4l~wVRy8yjThxp{8zswrVxeXjI`8Hk7^L z@EDHMJ7!)csb?#@%fn5Nic0j)1V5I_5^R3O92MePq$heU zqb4_{2oroW0fz3U`p^@)1LyV!jvu_`@F&}(PTe*OvcQT4RWHk-xBXYv#vD#?0SqLa%m<;6|mg+~fOO6NZfuiVM1FspFTayo61G!Kq8?xT~K#6X>fi{t>a*6ol_HPOB z1`9mR9JI!b0CRH_<5{pbTK}29NYUYgGSo2FeuBf&9qVH z2S20CTEs_28%+r|yl^WsO3yzgqU3=+47K}qa)|ID?TsA15tA#24j?{J$#g6-4H#w+ zCD`rEoW_^T;r9CV=khb6-=G9@FxFH@(jBiKY~FPeiYCVBe*18f5|2gLO&MtLb>De* zl!Y^{#FfGO^rt4wXLM&ml=FH!Sb?cw&lPRAA8R&srIXm@E!(gQIYx|T-C->A`sCADH4QP0A)aj($q62S z;r|Iv3!E6#hXnW8U)9PHy0WAtDmRvrO71&=~tojsf#%T`_L` zBnN&M&SEzZDPSjmig>`0#T#MOQcs*7e%jO3iUSY4@`b2+dMIOT`_iEjlEAE5e5iwmD%%g|frKnY!8(FHfEw3Bniona z*ep9CYKQc+GhwB-6lVRs9Qq9HjOAt^PaURHbh_I7zH-IF3D04b&*As8%#3xmSW`12 z645P^=7r78V2*fdkONZtxo&98SQ_-Y??}1yuMH{(GCh z-x9G=ZEw*I%Or0VQ3nxvtlo*t3ka2w!Op9Arg8(JNsRtv-VA5r($l`?dG1>mD zj&_cw!)l>&DfCiR0Kr1t#fE@09~3}-8an&EVCOepCJb%C}CpQaf>w4#ILFZ)Dka(vE0R}tXx*m zbd@QjBL#x#zUoFU<<7pN!kY`t9($N_w^vYSG8Gs_C5;^Xb1S;gy>w_&rF3O^JQr=d z$u}#MOj;o$1@X!!abfUtfpuMP-`}8hrsJTzCG|Fux=j^Iv-G?qk1ak}zmm%Mox9{H ztHW#4uz^&iT2HWVp3j{Vd>}1$Z!x`zB=si5l^%``wr`){a=duUJTR*^{mJUC|II^9 z5JuKn@E7I@bgsy_ae@p>A$vxuxAjTTN4#6Nk8A)saVS;fZ!12HPF`}l{)vPGT(W1T zl?iDi#K*8&Kw7+Xw*Ts*2V3Rs%A#$kd}H$fA%Rhj*Jt&zRDr&}o!|Npj}(pSDS3}# z*)pc$cQyKyovhQTvmk=H#=?sA=DleqJ@k@CSP?J6O0Z__464i#o6r-z{#`9CbJI6( zF$)EfHiF5UZr`kcqQx);jAi~%$($X0XO*OsA{sCUh~EfQ!AW4k-%VMgM^Rs>{+`4F z4W?lhZtjp%?X}o<0)Wk1m8y6e@ouQ!&ExM|Y(0n?jYSXt^=TwP?-Q&}fOTI!>m-b0 z(F8!_19D8<)b2d1Z^LUR_J;jnM3IO!R7P1os5Q4s08H~5R!qJZbt?@a#HR-@Y!c0q zJ`ju)G-eh7g$!}u{C?2_SeBeETEyKiVEB{MrEixGUr5VE206FGasA*@gBF(^hgY&k ztzvs|mp7<_zuR6N4B`)4BuHquY{!k~PvKd7K*HjTS%FMD75Ln#x-iPruBOvQv zr&KLqM-G)y^`Y8E4uEiVl>_*kbosFH*F-gqK_SL^q0mB~j;BX>{9FG8F;$`%s9srr z8F48dUEt5M0F`Mwa-365Q<2ld&*dc;;H7TnD}BG7auB=eH0JwgfA1smJ5gswBzaQ2 zrYrxjYO&_*e$ei)szQ`s)qQG#;@`vP3(dzaW<&v3)X=ON{Fum;cuwU(#zkmnh_vnm z{^kUqPnp<*rI%SCWMHUHOdeeQ!u=gx0ayWD-+^?WM5l-Uca;rHkvFydf({e=4w7a~ z4DlnU7vax@qmshvD8GAxBV6MMUGerd8aVRt!9PC$lslPD69gb1G;Q+SptJAN+WeWBD@KiK zv_#X7@&yb{Pc?0IP3HXc;8kx)jbP>gFn=yA-TtL1%#_vEb;3(%MwC~tCTp}1yn*l{ z8tV%!$_DFwXt{Z71_Kh)+YG7+nc9Um45R_gUrTeq1%Ce(Rk`%V~Zv_t?QbyR@M;uS%R| zUox#1sbp;rzEsz6%jLE3v-krQeUhrZwiXfVCkiH$QyKTN%kIyH0$JHTH5j(MRk4L$ zo?QLB30dCjkM%pWXMI{6v}qDGE9ulmWh1{P3Uuo(hkUyJ9_qn;_*C=BZS*;OZi{K- zXw}Q4$g5zTAYh5Zb7?}8&F`M6ALT7ewjE8Eogv??Hdwyv-#0;IvRnj4Mxd>)^`GX$ zDCD)Lm~4w$34^5q!F{&=&V($C62A4bc99Fpjai#e2|4A`o`}__Yay}HMHq&(S!3;; z=&uTulA_-?=c^2wPndWiE}NqKf_1{hv!_YqarB8rI9>gz7T_n-di@=|!mKJgGbX~` zzQ_sF?V^##4I15J6CFvr7?qRNf7Z?})F+df`MjRbWC<(}^Lw)Q&!|#v&0rOaqk6B+??tq{H_vzw)&!z2Mtw+kUh#G zt#*={;qLY=rhg?n1ER~YCB_?ZtU><;;z;=SkF%M2oi<%2Q$!xp!4c3==b2MOgH_Y*3XL+>a)-T&C-coZU!8K;X0;UuL%Lk}(ItQWAoM zd*?HA=-SI4dGPpFM_tx$u`r1TfFev9_tu-|zwu?4Z+LK-&c65Q*B?2%_VBV~!?bnF zH6A&8*p`%*J4hnIy0$>#wlO$Iub-H*!Z3)|ESorW_JGTs3(Tt=pIAIDTptOkC{GVu_36moBR>`tp)j-(Nt{l8WV( z`#(FY)*Sj8*9<>?%dx~p)f;j-@#XON$T+c$B|2O=5N($j315twbE2;)qDK}Qu3HC; z|Lo7rPWbg#uKf6xyEowxg16Ax`jgh9%&HV5iB@~duV*e%8RQ;P4sij~m56Jt%F!ck zYGwcUk>$Ppx#JwzVazim4gg)=vKr>-mUR+$Pwq%&n-o7JFh+ZBT|$Q`^CbSTbRHe7 zURlVv{CV0+lnZN6PM)5%EEoG`EcSkjRwCH_@7h9Jdk_qFEKBjitYX=*V|n}3%9&%7 zM%NZlSObEwGn6%piX2b82*HlZs2C-cq>;ZBMF@KMuq8PO)BcGKd(Nz~umt30#~GvP zEa1SYdoS=O12SUST!-a*D>Y^jh~Ej~vS4MFh_pOqZtq%Y)reIm)8g-V4gY2-h$TVu zK&|Ne+(H!>j`q*3Kv`aE&B~m%ytK4*H(*Swd(*&b2ibILg~^5GD+9+Yd8u=BGS6-n zo0zY*z~hpO%g-UgX!#w>P1?g~7M<8p>@NFz;q2wzx#!Di*EnruN2g=Ysn?dA+;y1p zU1fXG_p;}S2dzfAdu9#AoqN*j=K0|HtUO`kNr|s6nancZJ#ewt-xrc`H+=ma4>iB_ z{NCs9j#jo%W4Sx$Di^lQ7iX`kfeK-T)zzh@@O)=&Vbk#)tFNr|+3^C2qHi?Wzt6n5 zvlsb~4qE-QP;9xoP-$Uv>w~-*zaGB-#T7cTlZjUN^m6}s=!EnxrUAr8SWi0_9&Ie; znSV+lC!h5|wDR}e!! z)!$l}23uHE`@8GCyIg;!yE>iKIJ+yrfa9{}=$Ts!4D*;JI)DsZzxSScfa>47b-wo= z7Psf*xV6&c{S%v@h`c2o{G9PDp_HJt|MJLN-^iw5%iIXi;-@>G@K6lJY5mgDlo9^V&HFfZ&cMCgFo+rw$ebfkwbxNpRdPD*(>?z1`X~vJ< z=wMQwb3Jvz+p9PI5d-s}sYs(mT~4lokTbJ;z4@WWx_~05fLjkBRV~^qtifX4A8fwc z98!H3GL@{YzE#>P5Ny>oWON=`wqFxYTJBS1*4AXbhLR9Roz)+!?CjGd=1G9y(6=_S z*US)awN)0Vx}y~g(A-QUD!>)=Rur8EMmR1d*c0ZLtlG(=YG!*YRyv5ClQUmkIT#6C zs??=EMWaf_zj(8Ab4sMn3Wo!!^~J-4VzIbb3Ry(5XT2m8;V+E)I6<%QUpqZ^&!h(^ zd-k?Nw+N^N7#M^*36vm3RgFjtNl(LJP~an)eZ*i$JDks_q(pSK7*qQB*A)`rGP8s*!S_*}<);KWSFsy7CD8{@S&Wf+M2*E} z0oWt-!#FWq4?abM(@KCM?T~x5{rB0{K1%|Md^6VtwW6h~86F+|hbe3X&MbzRSLCUA z0`jtXErdxH^`~8GP)>6767z|dJkizfYhV0kT;(jjN@|az%{tPJ`G90B6;tY@;#FU> zj6@HRht>l-61y|LV3TBYcMi-%Hf^(I9T($VQBxyY(51!j9KA(#*`d|ulSx!owxUWn`;?9k0wcbw&(1-5T&TuiAyo-D8P%?7(9WR&_3*&{ zzcX;dIDo^NKAMx8&|vSc|DCybJKsE}F>qHOwvd<&YopW|zyo8Vu`zdVY!?zMZ;yoQ zit+c+{UE(HSvakqEj8l2HV-$iffVd4BUvm)9Fr_M@rciByn&qFIs7X#l5%GyM818O z%FJeGUUx#dzcSKM1QL3xXkyaP?)!uWslpQVY=2mPI-CM*B=Vl~W~)GWSvS!t^-0?n3T6AOR!bq!$4Q0{hKr5 zzDE=&dUa8QtM6-6Tl)z*@kk{gN^3I9m)GYt@XlZsnz@?tkFXJ@Ebr!35in8LFo9v@ zMLyemBYE`g8Hq!Rcdf3Rh+-|`9ej^dGO4bXxY%X zle}(r!VbMHy&Q=P;i{hI=v)_n+-dtNI(xeJCdU`jWcrXpL?4O^ojL>pUAX*Kaaq%D z{dJ=fCwdg~XzEJ!cJ!bJA8aYz^goUsVV1KKA)4oaaN&_9Rh6>b4z#=uAq zc|Uf*!`O3kBoQ^&8!NzddRMy1TJ0bgYx?)*DrrpMy=op1T)WM{ib($Xw-q)(AEac!{+e& z$%YOMNWky%znUu6LM(>E(Qd6F4VD;kx_&PLrZuQo+IqcFLmwyS`I!ff8mV%C_&W12 zNJhu54{^9K=7P8mq`xhloA-)cmtD&`|fg0L!_kY@*5dw}Gm2CB`P$3Xb zRTj+pzAzCtyCN$kDLaCF88_bC<`bqa#aVs~Wg8V}e)Lexss|N2pW`F*bdLgu${2<_ z?hU-xMtT_kSl(Q;&p{{8h2adQt+^SsBQpT`AZv9M={DUziZ;ejw|( z)}15TJiqf^z+4c(SlA!2Q`EhM!g5!jU;R7*YEYzdeJQ*iXObT1H{UWvak!$w;?jQf zA>l?wWyClOakzQ*4E^dIPP-)j3qBQuRK<8BHjsx@E%xq`9d=UtQx|D=+iBKCT7{;(JnubWnr>zK46%^-&vV7THiuViXq5d-jrt7d^T4fl{lkvNV9A+n*G zXXlXgu<220hp4C_A7kih)%+%|m~=RXRjf`2O{PrvMd>a3DQ5IJwBV`TWQmu=&PF8) z6#0Odg!6~3ac>1}n6|(?VTd~orgR{g0pM2Q`W$Y5@F@{RbIOJ`d&jq&EL9de9nA<` zxUvI?dANCpsZiwoiO;ciz>W}^i}y;*@}s0&haYP^3QsvPFS6^|Q3W7@#rpE?lvFwy z-g_lPSvB zNR0n+Lgw1?hi|?M^-dpnTzdJK(#sCwmX`Glst!WKD4{4i8)axhF^gju zY@!~{aEvT)iNs^95OLA5t}jk+-;!%^`m(a)1*C}`Zy(IQ%N*vE+J3B^K%-mJ6-R@@ z6|{@UM!lb~4?~X_d^tAiNDd1fQ3jfb^F$E)T66O>23WUOS7uuyh>_G?>X~PZHd@?#YD@7Z z11pehXOYzxEP;M9HYPElC<;FLS92e@jSVbVgiRA$fO}$Aw zUOs`L%%|Hf9WF%>%0_C@X0`e8;$H-TXfug1E{_=v4zAusd2}eqhbxN{i1TxsC30OE z&f`XkCjtSfx?DykSurz38!4j`2b6GA-sA{K!<0m@KG`GeWp-LT3ATLtwOc3W7qmC! zU2XpOy$A0d-#&f3WX|pKJD(+#&idSUI-U0f2OVS~rfft2NLkZ5mngXS5Ozd;oM%%9 zm3j$g5Vi(RKH;rie)dq8SUZPN7w>6B9(T z)|5;&^QcBinzES-)hQ)N<2=GOzawHvs_%0oo(o+TT&pgxd9fyF_O8Qg7(re^lYBd< zNt||+Aa{)|l0*!qpp94(4N~Gv7+1}cM=I% z#~?pEXwR86EY0^25(fYLGz;|V54~qyYjUcSEGpRqCHpa{KUglIh{E?f&uzB|8X4=s$2NLY%FS#@@6FFJG&E z-2p7rBH&Y0>Pei>y{0mEw)d;*mgAf}(?gY)L5@Z1?e(f1M5hcd|;`E}ZR|&U=iw6AJL=XR4inH-=J|S~^xna=jrEvC1HVYZyYcLsFf> zkLBQwcrdN$tZBzZB#fH~nNTnJcdJ=4cBtV~yjNM1P;(?qh8mepvmcGnG&Oh^+(Uc> zi#+0bGDJ^tP~jeMozpy8RNR!$*)Itt2|!Hc&ySr=HS9}Ui`$R^>q(0@E0B)fEQZP~ zG1KXZJuU~*Oc#VN3l@dOV3GkHFLeR@qQ#o~zd0C8tXQd@cq@oPM9BjXf_Y9Op_4&L6V72+c`&lr@+z8RzyhJ&J z&>6+upOm6Pr*4|tUBEg#i#^MCo)e9X6b0Sb$?YG1IsA+7h)g#ZA9jDopJ5nJ1yJ$K zfY_^9QGciGYAQ_-)ls|hPZoD00rhMLn)!J47yw~%`BV2QA_#@uNis8fcN`(AuuVd@ zAFg5<%nZ|F#TX{86%<#teMbST5d&Pi{PmVfE`;A&iB6)DEUG^Jv;_|C68Cs~xUp~G zGj*FxDO1VcShT?$E|r(D*<~Jl7{|L32a?>q?KvA1x>$ijv|>~&1uLyU!I^BkdP!r3 z#KT<_j`sRbPra7`UT;3=1=SJSBaKa+`S_jdvBbkQ6E1=bdVpMc--%4+tfmi)#$^19 zGSImdhx3WQYBk43g4_9ip%mBIEPlUI&Eb3FE-hWqHA{(pApjlSZ~w^WmDVDxQpn^x zH)p4Z%1;v?%)TxZ8e+8NJIdg=%aPy6omhN~i*dZmK8KgrE4n36yjog-qR81+U&Nl3 z%RCJ7+xHCD&?vgIDnohh0fL@F8s!}p#u1(LY*DV7E zowX(eROlNL3|!?8ozIb+eY`wo7fLE9&xm?l2J-6rTWyFk%vh=jS{D2`Q3Kp$VMfMY z!@5}MNe7Yf>eUsi3iQWOmVd1_H>t0BUCXk_*i6u#0Q~U#W^P~=ClW=WpZ6ILa%jcb z7g}(<6>}1Zx6D|wTf*3%$1v@~8m`z)_S7&_Km?6N$l?lpHv%nonN6HE{*?^kACQYGH9S$8>E!7|j zf90XOxnbszK}v!^v!p?K1G1kQZthJo%6c8iFGPKym`zuLpWQt+gc8%jmBkz*MIdxv z6!nQ}gN&pWs>Y58ZN7$Epv@VrXc=p+zKi`?Tt#z0+_Bu~PfdcqENfGexO{*9Jh}2( ziP40q+i&~?@*IFrUGoT%)){sxTOfL6U7}V2WbT3bv?Oq1%K9MYsBV25=QpwdCo!2n zcoo2^z0KLJNHG2vUzd7BL^S9WkrWm}b&MfANdg%&D>Sk+MiR6*K8$0pa2M9p00r=4 zNVAib(bOt8WP<>j55g=hJQF$q3r<0$@<4&~iN>W5F1JReRg-_)><@ z2U9AOj#Rakfs*Zieh8x$=pw;-^T(t)UY@ES4zIq-)cl1|mi(fxKLqBkP$!%N*SHSQ zrSDUBm?CPdD5Cd*r`pT~s0`QkuiC(6hKww_veRNhH6LtCy4RNnvd3TpXH%u1+n6<2 zN^4OO7l&n?rqE=mWdReDH)Z*Sgz9vYJc+VaA3G5V8W-J1(PDVSqd9SY`wvZp3LsWd z^h-bz+N%Fq?tFmHYV-a#J3+L=k|Kd3F3ZL8pk@;xV)yC64+-0;KsA$Q;GG`cH6n&i zS;wif`b}N$WQqw)zHI8GaBJK=v~~w{q-&L~Q4Ta-Gmy*-;4_{38!gB5MNJ7TF?BjC z8AwR{%88P$^`@1ZM61w*DIU4P+4|mo(#f0_>aUdze^`oEf;sEfv`wj$fI+8uM-?*B zJwaY(m1821WJt$IK$aD44mTexm_do@8$?$hM~DRag@h>C&>1-fR}Pj^qdryBEKdlg zYnPw)Y1uDwm-U$_0YDBAZ2c9B)v{|k+cqhU%7MubD5-KFY%4Pd@mP@2@Tn@JXFo_` z#%&@aYJ4sc*Alk>CmWgdXspwW4Q3=K_o{f{Uqm}S_=F0S*V+ohQC2LY?bFb88rBzH z4jAna=yfU_g!;<1ED`jCKp@EJ_U;bQ`mE9%)cPiHp=4g)M4HWX@;PWdBehX;s76D6 z2i&5hXp{uy<93ocO#dQ*}u1&Xc|ok&ip9nSZ)3;r86qzYksPgTB3n}6{;HG zqIPa4%FqXAe0=mLSVPHqQV@?aTq!lX#OG$ClGOkw5Bx!j$DBq{vRlcjgZO)!}u*p)35FT_KG?B?jF0acfCMd&T3Oln`<36q6 zil~%xwa=|4zjN=-;r7ood{aDPQ~?Du1>&Y50&cz^WLQ`x#Sy|{euXSfvIE`TitLkHb^Jb;uV-1X!;8xFo_%KXP~Xy<)#ka6Jt&N6 zvRi#NqJ5D$dAl6fR-tkqkw_*kDH1mMN~DYpM%KvkrM} zCidrN;VN>{fJnPS=v;;e(UIPcFvj=NJa#!^gvI8~|DO64DABIv0DC*n;8hPcHZr3> zP199%E*>Pr(=`Bvr;Xdh^xPc2Bas=@1-2R!4IqNcLq=q55~Sw>XIH{Wqk$odK!kJy$n86JsJB~l#W1=d#k~7!hj$Mf6wLEia3yo-y*L$p zuD``rM6mEiVhWb^O*7W+Rcbac68VzK$!rFtI~rU$j4_BI+md#{9z}zLDgJ%_a zdNWkyxwFR?efL~Wzn9e!mr>bDC5`szK^wibVO(ZY-ZyTJsAng zX%inGmZ(3D5Tcki4CJqHm=~!I_Y?OV2j5k z7yveAwnj&BD#L5&z|mX2`A)a#1Xdk2R_ejT79XpQm*p=OAj_hStL% z+1(VOa)YriS={fQ`Tq49{Tojf@@o^qG!LHHR)Iixw$Qux&kk<2k{xr7M`vY0p#y6O zHUKbk?!}Z~NnZT41|tq_TRe~?FNyh>pFHyAC%hn2n)-th^+s*-&iXJ(XHiau4zg^~ zj1RFQzJ+r%aKJggKfc*R`y< zpcR9Uleyfjl=*rmnrZE1pGRn%2u{u4DdTzh=S+&afS3Cw}L|`v5gKTj~95{88hDyHWt*xkOFpK%9j?Bp& zw(6&(p@0Ne5hG|N>s(_M3tSMBGSDM)0(mva%>&TQhX>jdBUp5u|>M>KA^OU>vs%-#=nzJa0 zX?fiChc%%Vb4(k{dYY=reTN zw{AvOL>v3$MoKxc$xhdKh-D;U^+^PuJYp1jE(3A#LxdZwm+!8InXx}kLs?Q76H`yF zkJT!%=kTgUj7!zGaYEP}UjC^HyR)x`F$Kn}vnt0K@l%aSU%J`pVtJkn^dBfkwRd02|flNXhwJ;mIJJV@qjGQ#|mD5x2uH7?{z?5~N`N_we

u0H=aCUY0u-Q822k|*LF#zZsjCe909$a18rD;0Fca?ZG zfc5VCgbzAnDBSEp)%k3F$DhQ;q%|yq%8@`7dqGF{R(|GznBesA6}BX)$+WBPuqWP^ zepzk5awz}_rJ74DYQQK+(CX@)Ta1uIL)7SxxL$uOpPS)oy!0TmFVX)iENk?S;>y|~ zGo_W?5RQ_ww5{CI2xzPLkx1J!>g^Bwa&!r4y7`BRew-GkupQJQW};H~CPqLRuV%)r zIV_!BT;ws|UE37gFpK7jaFJ_x^u|B6CyMJ9rlVVE6ANHy{gm?tigh<(H7_#885zGA z<&Tg*`P@RA)X*TM{19Y0%OWTnNIFV;I+-$+O&jj&aMJMF6cg!HPG=!m4wOEru=_J* zpyNfwEj6ogNbW|%XZPukgefrP#CE^$$zh7j(oBLD+1M<$sIGnLqvE`Buo%k0U#-PR zek6aYYf%w#qf_a+3%lLVs)<~Z6vv`@q$J3KC-BQX#ndAY2uN&?4*$h#CN>&-_lWp| z!rlLB=*84^5OyJR`>nbJ)l6U+MPj5Ix0IQR&H6aVe=Q2?m}jOI0gu}_0_|fiWv_uy z5+$2^WB2QFB62mSFun@AI1KrbS=2a6g__hA*bRNNdnXl2hNDse1rado5~M@&;ZxLy zO6Fh?w%-1HHXiDf2_^~8-e4T^u5KJ3-95cil1M|xNM8}h%@)D}PL^u;j;dJv2<83sK8B7ih z4Pb7xjh?lz-u|U!vC$q_PiuDjK{&xjd%foXkAD;Z)?U3UCN_eCjb)l791I~09`eh! zXalUL>!011h|`q@BdjQo1dfXGeCReHZr_3K|CMaF-hDzf`>6r<&#tAX>wl}jbkVWX zi09YamzSr5W>Ym)IZZ&EX3fZv7?c8yin14t^8#~i%MI~h);(n%-2|h;j#mTLH9wW? zLh{&q^9M^#l@ICPV0QD(EgduDY>FUc>}7sY=w2N7Xma@8k7I$G45p}e?{a}NwWo?(iN4wOTzw!uV zH6)R~fvFK=NO0akG2x;UlQY2Ni>C z-_z3X)M}y0l;^J)<(PYx>|e;kn1~4(=yf~hmO5!+bx3kK4?k%4R zCq_x#vK%;O_oA=H4~eoiO9)`1D1NZLv0$90Ncc$U?mbuw5SFq!%A#Rbm>tV#6jdv>^%f@pH*Xy7oumus@iU=6+;%!)4$~mWu9rnq;0G3E@jAzr z(92aqr)3*$i4S;+^K)E?z4hjQLh7XkC~$^gVe?e7&ri--hK8oax6UeV?GEAB1r}&4 zxVXFi*KrBuGB{wE2>K}S>1v@7y8!gv8owUnb?EK^4?|jDiZj5MuRR5)qYgOV$zyX6 zdb*b_jM>Z+a-zjxLYo*m&e`1rmtQqA3|Bm#?UDNt(;`qdDIFCj$z?)(W=+G4#UG#> zz34g@O2`+W^i1J*x-j#%-dTF&aW4(~G1UQ0|Be)t&KOJAX!f~-bp@7t{w%-JSYndH z*W01S-9-xB?g!@0K0!gBlB?`Ocd00&?|t;`+J^U@Z*)- zIR4)oOZQB)x!Hb93BTfhcn7W#zJnwrSjq`H!qN{5BXb3{0v#k;%Aa=bhsl%GdoFShoQO!$b%wr6AV0apb?bvcJa&}! zdIm2v&drJ9F3OK7YOtaLNoQ6BxQ7DrUIeA~7WJ`+qebAE4TNqO(_Kz1>Zzd)q$!v+ z|J;Lv3D-g{G~vGMf;zQWvkHuqc-EJPLY&+Mc6%7d)NYEfL z7OJoH?&G*c&_VO_=j(C3{V~NiiA|m1<(Dmse|kDf4t5B19j7y-Pq&}MhKv~iZ%Fj> z?%l_Sn*d-YTjCb5-QE1lXB_s#K7Wuk|CN20Ym?)ai0uG7d$s?-?1fzFmuDBCJ|!KvmrGCYkl}q4v<^VZa2)u~C2o>bBjzGzu>m02pXbYRwGSUP{TvLcfC37N$s1hUWF| zyW~_OzHge27iSs@LYI`;z&W?N#Tuq`h#%p5A38X^wFSOtpwwzdq*W79ZQIz=<;!~-H8Ep9&XOCFmV3Ep@Izl7(8 zLFLyv1~scxp-9>mfxhS2sh4!$Of5&Nqx_`t1S81=V%b77A=6%Nj$@f{E`t|Kl=F@+ z#?%1>d&=-={7}H->j+iIj1x*=1BbW=7U65ytB)W14EL-|fhLSvDoj)Q5db4p6S1Yq zhWaxCV_fDu?ykSiIP?IX9LO;1wSEIA+v)~dql8PgxXM`(DATN;HnSFx7U~Lx0-!yv zdw%^_P+*ky+sp|3tM*vs1df9}^0xU)?Uw_S^`0uy`loZ#`Y==OfMfy(;W`LutDjT? z(A{V~&fDFM?FkHZX_c^RaPJT;*$BU_UzN+;OFX$!Wwv=NyW#IoQ!*UH z=z&GrK6F-@*{+#4v&=&V7&`ouSz0n|5@*zY72^x~@z6`t19A4g^9p$+jSH+jG!$9n z(xe%jNimSQ@|V**#&_Gswrw$rAgw!Go4nKM=B0T%u=Pzie1>O8eJDMd;zxNUwI0j^ zUvjX-y$Yr97qJeWN?Kwb+;t549B%GL*^f~Mr<-qZhdZMXoiH<3OVd9{anIUz`AU5- zH5xj2?`6LgeJ%x(-FxuEOR&9EiPY6BvNf{20gZ1y-3ZX7S=(9P2mAIWsmDnj&e|R@ zyw;9Oz>O)XlOy&v!?6BxC6s+w@(uES$`PXkcQg0SFSt&UhGcOjH#tBYmX#j4VttMcXxXTVk4@2~r#yzVZSjL(1Z-RY~vsRdCV3Jbn zIg3CaffxY5Ni&W`%|z$X7!ff2ix9N%D~YycvGLz3-=NGvF7eC)6)AfaV!L1BAyu^c zTDg`*ar0iecc*2*_vsdo@?Ouy@1X1)WSwjtzNWe-SIqoO^ry{z)xZ)tBnIxdyZ)&5 z(&)7x0X_@ZsXfuq5*d~e@h`MYp@_FBfl+nMlM4+m6}f`^izdeGeFu z;Kq!s^wa&bi{|$5!gNy$r|Unx2vatqhh%&=U(rJT%xZ{`{!$!-J%p#8JUyVpk)R3S z__%+=@Elp5;b)2RhxdY+2_EloiNQ2wXSoI!OiSff5S(sq&(QQ0ar`Jko;eR_@cH!G zpGi}emI*Nxy+HfoeVeI+r1e)ZisN}0!rtqBjy^CRO;t}*mJ&`i0rb=LeJ-C79-Q3A z9wT>+NdJEsG8R7_+e~D${?UMg;K)Mdj22C%AbDUloYRA6Z`ZmK^p7`VH+Y1Vjz!jt zSz}WQl!e{no}7xw#jSz1w_@iV|HFU(E!*#Y?1dW^1Go0ul=hdKYdC)B`~t-^Yt>e> zeAs^K7soH$JbwQ6Lu)WqTHV6?{?7xJAwV7PdVUu`mGP2mL8XDo!>Rrj&8r~=JBhp`Ss|I84RnN4^Ho# z-8sFpYKX4rHGmu|0z-E9_0gcuj%--&-ZRgg9Yu;hL!fW)Ie()Bw7>N|LWJbrBf)A2 z+hT#To*r}%)#(v58{zu+`1Uh!KvCYh1GuB(r=PyLAksJ&91S8G z&4L8TUU3JkrM`21bnmD$c$P)fb4nKWiy5tGe|XzjSw8e-E-c?v9{SNgs=obHEIq-# zl@QS}6Jq52JFhZp+PPmXGxnR+%w}b}(f>S<=gqYVN|qJZR$x!f&I`vieDCDeg%2@& zZ2$17o6vA)kCx;Bz5?Rn_~Fz2Tj;Y|$@}+}+5>hLg*#`=!fUNmak;!3$$e9oQ$ks-m|NfaZk#LV zP-^+$ey20#faug}>vkQ!$JYQ;W4w1{7??tzwiWRHD?UekgFU&xQy%EcoMnIPgCo&L z%uewFDe*&WixV&gX4FngF|gm$BiA(|N9~jW9hog|E&9Fl7arUMKgdx7yk!z1&-ugq zH)mw7%=n^Ph28h}e|Tc$QO9#L*_ ze(~TdZ(ckaRo=Ma{? zQD@q@Y+jCa8c$%EPaZ!`sQ7`o=}Z;(j8~)BmN}vK+5ca*=*zLpgPF^aHA$9#>SSFG)O6$_!e6%qQ_ ze5mmc4QQ=ND>33tw+!+8u>Ra807NKqKeHeXeA{av3P#i_f5GdBMDxNEu06K|4=Kb6r5oZ_cKfe^wMj-)1Xc?C;+#md4 zFhmQ38`_KuG*KR3h=KCaWNM3h!nrH~H9>h&g==fkd$x=y?a(x+77I=~3%({WDlffk z13kOnoCq_QyDFv#eIa_)0_4`Nbp3czhB=e6d%8R{F$(aLk}zJa&dxh3jPW4A6D3XR z*yAyiIX%}mU$fsNXxury@J7SpxV{H(sOBEPVVr2?`A~;AEEf!p`BL@9lS?k^x?oEC zWr+v+;mSlxT}X*H0Nc&_17~G&lTR(e*oRc*Z@U3Dv}KrlLL*wrQK|s%h#jv?lUKQ( zMJhPTtL?8!oRBrBx{KHCeFD#0e@U?#pR=&6+)Mp%M*BHI;xg{u+eR0BPlId-FqW!o zp@<{L=ZEl$@EAigc+OXh2)%Jr9+Z!{$HEHxQ#0?>H=kx!7=@rgZ`pOq2HJsuBF0~5 zKmM>1ph5g(NUFIQ=vE&zxkuz8g$>r_yX%K)-aS3sJr}m^!;c4+N!>-eeD0!M%Cr-X zArUb3qQc@c6kyqvORk$_=;+|9zi<|t;?^Vui@5FZsNJIOi!6a_*2I1(=O$_~f;IB@ z&ra`5cs1Fq!E4Clr#Lr&3h3Z)RU`54IYkiU-Ain~u%DB4kfWOGw z#Jre-^Fp}@Z1ANLbPTx#r3G_^ zh*~wN`+Lm_wAE59HQ5*){3L3|)}_rS1WHdlYrW+)B|Wofj8l%?kzjK%8=rIo9OA3* zr_^W(C;OJz!^IJ+Vwl9I{N4yhhR;NMTM~xEc<_u`qBYpFBtA{yk+ywGr&yRwCc@Bq zXBUn{diz0HyC(cgPPo503xk}P)F`2K{W5tXS!%{Gd+g%b!H1LztsQwG%F_fnrk53f zKFeR$+YgfzuE0HwhFTQm?lo3I6qUJfRPfbMkj)!>(xK;caQe<-(7zRBVv~&GXh?mQ ziDN6u{LoL=?pT+7JgRiC#$5m2Ki@=|Z|TCa-i#bUs_h^kRa|yfa*@r3mb%U6rXXeF z^xtfUqiTkoVOcXwuKo;a7&m4foT^>(ylh%R#TQu2x4I4^ODq+zHR*CTYL#SJxvT(b5kmlB@Y+fb~5VYDo2)!(kn&%J48 z%45g2!kd7e|CI zWo0a6Vzc|$smDlpEX--2c6^6Rje&Zat&<>WLD|7ybkJ7S8l(ia9VJZ&62r{f`L&;J zAHcG+Gsqj;-~9|buVhQ&M5d?`yr+T5$i2bqkc`H&GRaE86XVQjhik69{BXAF70 z33b8uwZGbOP1K)>)pUK&WHx5@F=iK*<3HtA*)3lo&8d5SK_l`xsup6hCP@*N<^J&L zh#+|+2rSv|&zeo&8z}eME0Oo<{)N1Ut}+e@B#tX;@}DR#!tMFLva_`;_N zbBZQaIvSILgapKojWYvjyEJG3vPD3pj7G+KU>wL?Y)0S-t1J)-;lYXa+YTj+Kuzb5 z7|}F&?smWeGN2E4kJ%Kq&*Q`pP?_H4C=}1vzDyj}V5KL%ZS?hs0MA?qPLj*KtByk9 z(;%B+Q-LUAi`m_as_w3UGuQh+wD+xF*o_SQ-A$#DHl?9~XU@%#XN2Z)&t{{t(2{PP zqiKPY6e&qNAA&`zIsbRcTR0tZ!SBJ40Y8=nLrOT0?c|u1)s$T&3UfQY{`!}g`8dB$ z6O4XX?_Lw4#zKaN#l;#ea&o;LP8P<{y8*<3O|enntwoP8+qZmf%X}vm%3+!^lLV7z zVj_gQk>r7E73*etlX&V6lz#EZo~p)M{h#+i8&Zu%zHz7UK;O$E!GZwX&>t!6%(i&p z!5|WCtl|J?X0rZ60Vs}%f7oncW6U?7Ifb0FqaXkerBDsK7kglsK(g5{lL_smg#`ah zBzSUi-9vp|Oq!N^NVQ8bVew(ol+qYC?|MT9>{7u)%mRhfN9|xsrhG7Ihm&9Bb!k?PXQ$HTWscDyE_Q*?C>LV+18gCuojUVEhEs%g@Oxy>WV7 z5#U?BzzZ(QKHW4*2gViAP_uMsmGQ_Vr`=27bQ29l8lUqwmNY{#E9Wck;>&5^<$w$X zz_6n#Kg#B&`OYbjvxA52VM;$Pf*HO@XLACEk9nw#?cJxA`jk71B`j=WUewhM?FR|V z?Ja-7dAx#dfu;z*{?cb17&8Uri}$sA7aWgM>VD>op(ckAyEnPO#9CSqZK@A|$kvAf zHg&(*{;`>K(L5)?E0@#LBh9A<9&3+Zn(I-Mk&4soe7T`BqG*Q)la^n+o}e(JpB{ShQ|ag&{05! zzs$T!-4kvB1;mVoa9+kUkqJ$;i_JM)O_c^_LmuG)L2F5eDHV0{M!6<2HD@Y0L59=A ze?EIQ3svFLuh-6Jh5;7MzYcce-8fU{=^JHVb?1GU!3PRDUKO0U)+tyM9Y=Y3w$2w_ zhpwSuOh<%_h^By(0h8Al@9^`Ur^Zuwu|QZ+nDgOgk77D5*jRtUCW;2x@Eja&pPDLL zt>BFDm`48^&3V_MYBT9;Z^UYmPU=H7D{OGxYqyJ2{xFW`|1+iIr$%T3Lv-2d)(|11pGpr z5PbE0t#Qn17*^ovV6**0&8#j=)ezxEYta$fCRE#fw9|-~h!m9{H~+jc7cHP`l{b4i zkEo|>M=aAw(OwVfyNNc35m9aqa^|+GA4wGyGJpm-LhfWSX-q0UO|^U9YIzZu8*=%p zt!`}@bxJ*4E@S=)$l%?llA??L0H`sf zCClAJv121^8F~{ICO=BtvHQ@6MZFKc`|M-p(=H*z2ZGApB&})S+=qk@A>yD^=!Da4 zam~V`*TL?Gtlrh=c$A|`Xp&z#hQ0&`vNBDH@xc%9xa9$G-S&^q-aUd#NNWwL##7i! zW+6w+z*q}iZg!tr(WPH){faG%5+*meZm+`DPGU>fp&zcF)J1HaQx7^VY~J+5W7%eE zFLY zjX_QMvMFKK^4$E_+~Tv!4vSnY@ za^7(MHi~gD7S{|&2R}hcKvg*qAoPN(ML^c?Q$j4LO?8b@r5gbA#w=ZAjcygOq z&m}Lr-ddCul<3?_mX?-gKwxREqF%>aDA=qiABoohc zwY|+~L15|B{G?3a?&sRG2D;pm{bG7_wFDjm+RNc54d^#Q6Uw%)OjE*wyeb7S!}+KC zFxTjY&%(rd_cP$H)R@}SRvN7y>}`FzYWuTBm4>4HK6aTLO1M`NT^irKp4BPQN5z(w zV2RTndk=n`h4r`5qX52fj6DqkwumC0of$2?An>4g;hsp z`weJk4m`zi=Ws}D%z{$0R=S$K#%5Q){`HT^-q2>Sa_~2&E|7y5pN@w`b2=m=c8XZ( zq93p3&p;_N8X_PjkZK;O2xX}lO2nZd9bAf&5kP>kP{EagkLNtz$o*~y(!K9t2*eYF zMg=uh2Tma#`BV6wvc!t8uH~RIa^6|MeL%YsaTg_%Ji}IsAuDRxW1^-IHv`OHIZqsjtv&iy&P zs9r*RU2R40uJ&%v{I+|q8lqk9rG493O7db&N~g?09^>A{t8c33n7Mmy|Gj(9-+b`! z!SkvcWMpnV``mNS@_0=D-x8er&tCKol?k*#l`E$3J+pt87NHHbtY$<)*%yw2{A|1B zdvCfQU^c~fJT0qOre@W45J{`SqUeAUBes{JU>wIA4Br8dt!b8|t={ikj|cQH#r8ruKa;_Cljb5jRL9-52~IJhhTx(>*{#jg`+hgkX!6_ zGBB4G>h`&RPG|7m4ShR4UM+w4Bi+hpRQqANSZxBCI1zkbn7zRlc*XA^fK!&XkvQEQ+kGsBQtUvF(+m5gMmmPvD};OId!cgcB6 z5oLgU>z@}#iJ;`E5ePy<^R(<)09y-$*Qh<3D`CY{4$VjNfV$ATiE;`!z~UwG_6ahadn5-2rW z#|0cGGQIG|p-~Bw#-u6oWq_npD^5IguzQz|7S8of1JXU$n9d4OX8c;A-#We-`X{L| z9-!{{SdQ1QqRL3Q3*l$I`^A&-2wjp?!qG*aqeC z&>A(9#iNO~$NYmr5(-8OQ7?AgW)cWvN%Zt*!G`Tv*9J}1c9mM0rhq!#<+}O z_ro3Cv)F2Z6D!I%fXa-GgsYN0Qa>J9a!ixF1T4Le~}Ia2N~_A6*E>eGH+noJ}0s zc5QX_Bzr`*nx9yPrHsMpfjH+8QGTq9h&fwND>s0V367BE4aQUJ!0a=WF z2>n|+T!Bu5yy-t)Eu3Pz*~ffvyoPj}|JJ^~e1c*Dta;bW>h%8{^HX%_VQ)WH_B(p z(|<{f(dk!rEy>>3C;%JJO?^yRjP>R3Y2PYXYF(w===g>hHn2IGFbTdPo1rERQNQp` zcU_Nt2Hhdy{6YKNx?#TpbMAu(+GO=rB?ACy#Ph-t>)kIsE^gJ!qN6@3cXqUK5sv%B zHrxEikc9O5DzF=|nQ{DcZmru!qEfJNA|Xwkn0F2=E7||X#2ZOk{g)d^%aBwVd@ppn zcJ&}^>e{1~vOOZ(o0mtm83#ov3T%-}ACUXa@=6w(O{o)y> zVS;VsIlTN`b_WR+eh@~E9~T3D)+>>{i277*8!rU&&>m4|I2m+{R|zTD+?@dyxcpGU z4S=34c8g6%?YCR4Jjqc9=5RJLGKH^`@}pm@!(gQ(r*gYC-(gc{*yv{i8CWQJuGZ7wD#}&SOw}%W9 z1-Rq}NXBfEa`15z{KkF`lze-ZVz`t(zqC7Yx)r$XKiYY8e4i3&sme517;kXigqMXq z@omdy3^!J$Bg%_4F*Ce`i-hY3-)jV;a1&DnoBR1j?4qd_5hjN#IsiqQLGeP+LR9y= z2R~Yc5?zqZkB4TBLOm|t0{b6sE$oM;V4r)&dl)mXY)#b;{<^U5Bra4JjVi~dI^Flz_>|d>}u3k)| zO`{Y0X^@VnOe7~MwmSF<$XKbO*_vNPE4W$}?jkq7(7b!IF_)X!(j^XH zbH`Xz0j1AGukp)F}Xq-p`z)^YRh^s zS0%ECw@#{_)J1zt`EdA`sw5nC?UzDSZ08*uP^WMoIOlIj~U;#R;nv zkDGAc@r^sDR?gfj2hqS_YnC)1G7?aNQ+bQ(UYta@Gqlmy#y5|E7%$pRJO$!Q?3ul@ zsgn{n4a-ZzT*g(Bj>v?>v0?VHF)}NHD=f5gjZ5_u%q!!a6hPYB?R&n!}MItdS-# zR+k^x7M`iCM?3KUz5N-GN#nJ@V9O>ChYVFNcp+muBZ`FUnZ*v}0T7R!m-kJ|u{oa3 zRXVK{Hp_f)L?YZ+KJwP3mE{B00IA9eAFr>tvVM%#%#=Ri+o|cFR1Ry&8Q$g2g~1GY16hJO5*g>pokCU|IjR~Jq-6|C z*2j2gDfVSQ6?6G%Uj__3pf^M2zta>mg`dUafm1iPtK{-Jxcck_0;1XhAR&hw|CRjh zKAs!)T3vp}FuSe|Gk2xoA^!ayrlYXz@%2}*-AkZ|Z1%Hj2GU)^thyfp=@W-73qSwn zIrj29xz*~y<#(Z-PEByhLRlAGny|Uyfew{!Go(bT9R1Kq^wWk`sUC-!1>B9b@*PsLK+*lV6s=o ziCSgTUBi&nxvdymSql6Je{y*F4WG6!{|kxd_6T+rN%OMUUUTAhwe163~LG9+STh-+V*)-)rE+5M}9)`fdFF0 ztW+plP(M4cZ(fo%!{}pHj#6|9M?D?b{Bm^mava>jv+7TY!{TynuJ-%uk2@C%amn!R z$&t;+4SeDost3GQMd=dTl53u&?q+!ft|+IHqwc2D_18~OoE#1vGjic`iQ(fAs6D)N z2-`w2g#V<+IRjA3wjGmaGPL>Hy>^Du@ox1`M73W2a=OrF_Hq#Q#)?5wa|ZVQOa3-N zPGNTa%4R}zLQV=|tnatUQLYf0W-VglvO}f`+TKjVS*{5o@X!*#!Z=ih&uHo2WPTSt zDDI-)lS395)h(v-xd7r~eRao)ycjpSVZeFBK_ z9}V&9=LiR&{+z!ksaL6O(#EoTm)I(@vEjZ)*u%MRcMiB8=rEifY(Q+W0LQf#A* z&aVB4S`Z&u!t^1>p*9zPt783lg2uox4ejvBY9>Z%_;}x11_pE1%cL(3F8^?DLQZTi zE!lL|>NxiCurp)h>M4w{qYu@SCEfgG%gX2l;8DY`t@`4vO8TY0MyQ7rlxvC@nUwO& zD2aVDQ%$_2LiW^}+;@dzI{jtquOSg&%EovE za5>iq*}*;3&Fbp&Uaf3~Z7EM4H$rNCuOISfV~S1wS`quA&+WE-3fMpBs70uSr*STS zmfxIXA(G1e9bW#SOt}voT$2Qm+ga{TiSxL*u&E{2F;rRBl#iftpGCTzLy|$!DQ10H zOYh!PP5&B>m%;cfO~5eeVjWB3^WN%`jGpASYk7TOc77Afp_?0&s8sL2wd`kPT4zA*PaGxSx@i%ipwvX zZ4jZ&7^#n1t+_`F8I4o}lyO5I(=S47q6QC^eK=Wt%QD-^O@PdSm;Bp+WpUf1wkC~| zAFL6h`A}63P4YssX_XOko*u(<{lZ+7?h~aSoUG8kxO16haP`ypw29(mC5*twyZ~Sr zS;BJp8KKws9%bBpG-XTefNuhktB>do6SbJz3L*swx)>mfU+YF@F}cXbY^j!KTP+?S5z ziTj{$zF$3{Iy3b}k6H1LX?u6THro7JEPeQ$P4JMae7e~%8GjvIy^*1j*=02i@bdeE z5qCsWc|h7$E|wH^q4XdoPaWt5lctu*3ujoL#X`N~w-OsmDq}*>%4uR)wB^EWI$GJM z9?3oT1Pj(;7R~M50dpO(7Gb;k%&Cw~HRLZDVEuqa)`{2^L-~wDK&^58X8n2juW`1Q zu}7q2Jw{C~GH~Y+{vXctzLtG8%oB5C7%Q@zA6%Zm zDH^4oG0enDGyB5>%{Uo=;5(YbHZ{B;4O584P7F7^j<%teVLY=k`3o#|^*Jdv%zN7L zI|lP{b%n(xB^nv3Pf}o`PA2h<{u7AB6TsCtWiZ4k0!7U_WIv@{ za=LR6_!lhh^an$d(`+o3Lty?AB;2~X z|E1}#*->iX_;&8sB5tX$ERG28@?En1aJ%G9fr98)ANz9hn)qkqN@7o_P>&_{7jzoJ zqsi~f+pom}3}<));o%qOBj$*kp6l>u;3m%lM*-Vw-dYrl+rS)lQFY zChv?fmnk!tphclOzO5Dyt}CVY83dy2^RneYO7RA8nWl;IiV-qOH2C@IE50lnOeOK_ znz|d|n>Z2^oo(8&3!M2EX`|u%Bq?8D@5a2cO`R6)1Z0FaMuYbhUTAGkhVb;}@$IS< zIS^OplhO9G-*LpK#Lbr%;+U3rltUyWhu_x>_S=Y@UiG}X{OIF$e%HZr_thVBK6Z}7 zwHH05Myw>cr%yNEQ?jFON|j{I7iFFT8sR7IacBwEM{&ZVIU-aivmPy#gXM|&N0o>h zwS|rL?f&&8u{T(Yvk_$2>3rejrUmMPGAWO;`C?2r`NchNUAXJir`qMO~7hPt$G9_pjgc5g-(s6t;48}E( zVGO9YzIuh|Cic#}`p?35+=eJ&XLV__#Yx?G;QabG=LZzF@@PK3G}HuMBPS`a_>&(C zKUeS7{+>vr<@h+QlunpbwbOcDfvt+`^eBax#A6N7-Al4lZZl^#(Y!Wc4|J2_)ry@0 zVo`{V9g8IkTc=b{xZ7cYp1AsRMOq*lJ!?tr!dSk=*$!IHN@GP9hJogqq zek>TG{aq=B{V_a7lA_Bah-cCA{Low$_86IP(Kxd##?p2{T&mMsRT{zM=IYZrqakih z9OfoNz4di_l|@0qXql4m7OzE=A;kLf-K~IM)KDekP?T53Hz=X7zIvD30zBu5aXcnO zKj`4{lwm#^2|n2VqcTwVzsMkB5XnsP>H5DEqv;g1CW!+iYo`4Ko2Ow1nX!$drWm~? zUy-BPO5ISYXSnEi*Bl^7SOkl1qyWYQ>raE3B%*__yjEAgABZtS`WA_BzmQU&^v3#? zL?`DJsQB#BF^^MGpN$6h=srsC#2y>l$M*rg2%-2h#Y{hE6B^p)%ffPa1+|}M8(l;a z0yb~@=fKfZ$QoS6v?QRw3xvqJ+WqS!3fwsfnI(-$aI|X(Ir6_p{zwy+R8;l<@fhO(ScjV&@Ocp>_W668^og~G zNosr|a|srl1Kz`{8>ythf8IWa8fn#1@~A_ual!ifvzH93$DODE&iqZwM~PA8QmFQdaBcMrY|>Ag~3o)f7mB+L(Me*v79GM%Ujrr5C%6>87c-=FbLKjj~w z|0j|fzxY1~FPF!ypCBYY7T=SUWybj=qg#BZF0P$MYYw|%B@ClB!! z^&vBB9ODyWWQ;j$_hlzkaG$SVTcFbwo-tw1B+BxLFtyb>hu5O7fO0Cwh?^ z0N?;U{SK*^PpIH+&zjI1XT>4+k?9ypXL(2shUk2n&Y1lkuZow*RduvcOp)&$IQn zz*O18lk2Z5#el2N#Dl%Y#CKu$YnzVJT`@8ZP|bL4yFh~}?g zcK?13LW&MENB6geo9PR=U|a(~>q`eY6p%-%>yI457!#5zEd4|)3udOcK6f^0@;AQ{ zGyN~7o7|V4j2Bq;#4+I<{6(ZAHv_bSEqt=-&>~~YU5@Wk9Gk6Laosh82^@Lp>A(#l z`jV`to7dcV?2b6u^-?wnu1DW!$U>-6^KCE>lFkPM+|};@rEVl=X4KnnqZSRY@Rn{` zf3x~v8=nkIDT%#+y3!dv62E4CCT}|$^5AvA^K@QKBl1@G>+xK1%P$aRbJh7eMv$e8 zF6*sOeIx{L2v%F@kcf@F3n2ur;ltCY;;ZYX@?}YLnr9FP&yP10bwf*rU!y-OAFO}+ znz{1#o5cYA!rG9Z-S1~Ui@K;TNd{`QhZhTSc76NKtfnE-SiQ!RQYnz4bJq9nAxA@_jepMIqA0*_5ff<&&!K01#=JWH@gehrFejZJ5a@!EA;z+!p^fTH__U z6lVo?Ql_uI&GVf$#-*)=cYT~MoCaFrpVNakRx1T6QZqI^+od_VBs`MMzPtH{lU!r@ zVLG3vK2`NfAFud~|a70B5xnpc0C#CWpGMP%u|gNG35G-rC6j zjT-`K?8M#m3qd^o5e|(_b6YjB-u+}Vq6CgJN|Lwlz%eX~lBLlOx&S@uW0GV-HUf#8^&`9t69(# z{Gq;`C{hm7lg6VnevTb5?&Sy0RK;Sec z8NW4v&GrYzR{*#>H2)!E4$|tsOu>)s8jL_CD~0$6+rv4dXnf1{)!Vb&mDXO{zH_17 z0FsZJXbjV z;R>-hRP;zLInJ%he}+2@F=cw&U+h8PE<=2;NzW0FGt=J1uZG$B$K(#C_P$RD?&(`^ z!8nu=ZxRNu{5Sy}Ne_F&cyTSdEiMl5KGFlrq*OYwkPx6RR+b&)$Uuqa0w=bk5h09l+A_3KT~L?htvmN5hk@sER@AllW$5k z*55q7>yYC3nsdZhN38!Bwq6Bm1C z-1OAY4EJjdVv*J9sCir;bck`F3tGf-49#l$$>C6!*kP3G?)NMSq_+ic^JKk@M?Z+p z8UuRsImvXxnDk>yX6U4Y?bqSY1)hD_keb>3s!`{~Z%N781Y_}kuH)`gX0K_Ic>Uvbm$ zNi&4d9Mr#$?LdkPcLMiZ5tADn>n z{CKeoKj`w?`E7%tJlpNd9v`1)KfSoS#~KeghSntc*C*Wc1H8Pe{KY_8hzuk>oNazK zkeLXbD^66E<>_2D@D=0H+dtd{HN%A{#<=@akV^@)gS%U6Vj4R|u^6tdcQ%_{8XYW*zTAHJ;@e!~{lY?8U{v$= zHxAlrx200G)?@*I3M%s%lEQqT)AiT#u@)aqAD1OLJ2Lt)$`|ceTBJO zw}gXm%8Ze7!8@Z>;e4EXMyfn=e~NK;9^u1OG{Q;Ni)i-vJXS?9=3>IfZ9Sm zJn>djAnbw;=@bO(>+VyB>pYa9PHdN$bNixJ%`UFw*?}EZ-pYi#-_VYvDPbyYP+Y{i ze!)CkzIloyDt<9L5jAug+p`omnq7qxpk=m_LkP=r`qeGeHeS@Avxlj$N%v`avp);| zZ3XA zf9~?Zg!VvEtYN5@Rq^)bYaf1 zDO$Vax0||O&W_t6|KjHSptP$+w<{apx0~XzUzhhbsGptgUvd4|CgPUscA=Y|xc=ms z!${TW`QPeZWqP(}S2Ut2f9+=Pe|;Uk(vx;8oh`aeYrWK+w%C8^=-hesiB1}@H6iLq zf%)&`&Pt`t9UIcmrtN$mOI4q|0qA1|fky|Qd*kfMYgR(kQ1>4nJYgd{d%^n%Gz(mx zy!M3JZJ)m2##}h<0&b6C+Pu}p$lR@H>tvR9ZXblR5T$bio@X=aasgaiR$~fF>5%3$Y-)rIV{BQU5SNm#l z<~=hh*8Ylv%|6W%jkrQ45XtY~Z;3Lx-8*p5g35S{g6IDhFUzLiYf8J{&Yr*a23LH3 zV4v~(4i~ptSx9k94;S}Qw$0s(Ft|+@hY#-GJ$+!Y+AJt;(ed%KPv5kp+Pw7n@vV!e z&n+O=N8=;b*qX$pkeCv4%Gxqpuf7AZclm@tM_WVD;b8!bV z4qILv-(MCxx3PYR7`))#WsG8>7vSe&L6eQ?jq0uu%-ZUe!JOP*pWHuvFdOsFNaS~0 zCq3_QKC;p`pZtz{FIN4$2#CKUH@){5g87XkO;f$s+{&eCNs7pq2WR&mC{u(%;XBm@ z81yO;8d&mVc>k(Cf<)ObeX=6C^LYrF5e=emFE{1&)-~H4ig8+DO)XXWdr_u z2fHuWzBk=WvvTq6g6<`;!^}`$PTQa`USgwNPPbg_%sJ6{X2`n>u$!Nl><}GCsj_m1 z78z5GlY?u9&G{2{FS=u`a0V3%rsT3ttFl8A6q}h@Z(p+PD7Yje zM)B*T!o9*V^8r-g_(;@Yxi(O*Z(sL^m{_xZW*?)xcfSU)b}h8z=KK9t^{hpKzukd8 z<+jLfV-9To!G~rMjJ$x^qYbRljrA-l*NO?vKvZ7ox$1!GJfn7ar_ZdnlSl$|^|cSI zlja^tS+hN*roFhv{3X9TwP8>`?kfFUr7urB8!Dpz z%*c%+9rjd+Iej@B}9t6@{Wymae49$QD@{MthgIA6+}nboG$xD z9R5ogw-7eO;zXH}@N3mDfB+27rwNRLp+Mk7_-s1o>m<+=!RZ87>6H+)O}ZUa1=(1X zyUoX8Rd0=#dB+JYN}EPN@cuVlcsc~X)kjUH;6ie4nsX>RuAnCZGgxY8_Vhnnzj;Zl z9vBS(OlbLFu46k)7;Y92s(8%@?YWhjXoFluSk}a#;6%I@i#&i0t2CFO@p@JD- zVORQ}b&GM9>S9ESNw@DYB`6tx)G#J`#8Dx|fOHy+>c64j6M8L%jqn6VJ8{-11nOk$ zbK4R5-6Q7q@*jsaJDId~8Q5y|yB|;QEQyrO5QeJ3voL2-RET8lq%U%pCkK?4hK<=r zjwY6*AeKOr;#4XW&B}6`gw{Nz5noa{#Jib4D&mwrZM%fnGA6B$)z25pMaq&O%Mf}x z0yp97$HT3f$!U`CvB+i`8_yy|W;5uRG`{v``ZbX$Zi#Nk>iq9tNcIC{_ib}nN4`9D zW`iyw8tu~RUg&bs05z@|(AK^qXE3Z$Et|#Z)o}dY3ypjLwZwzJA~R6Uv82I_fAC&< z(rSe{k30QsP-QX--MsW>sI8;(QWW4~vqXqn9m7(@h$Y$6^yBt7VrqzMuDcz}uuMMq z=J%0FC*?S&h#pPpgPtTOC`l$7PYwt+5mg48n3CpLqd6`>HfUXA&l=H#8D*@B(-E#Y zP~D{yf+#no`L%RH5gqiKXe^C9_aGp`_!3u|#tJ{haSgAB^m(?q{eY>aqxBh6V3Xna z#k#ulq}38xrJ2I@kw)mbg}-!xAfPGhIucHIYZ#yVq04d6gji)I8C(y?tVwf00X#L9 zkgxZEz?F9YlK)r$2`rjCy%Z{939Y(48=NtU)w^baTyE7k5pC%(Kf9^f-CNr~+U%3N zW_UFx?K9Z%jYyAZKJI7hvtc>FquEifI)VbVJXgvDP)08e@JN2?fxKgmyw>tI;FM8WG#*AwG*W1ZRlFDdF-o4V z+u#DtJ(-bkjLFfGBALT=W5E*ii9n7fBJ+lnk1mS{2=y14$sbh9ar}j{hUun3ITLMJ z)^rPk!B&u5zJ0S@<(Oh*iU(yAFBWqdE~*^t{Qfl!&fZvNVJA#REhYrLk!6QT9arr$?i8TvK)%14vVBw`fUQ#~6kF?Nbmoy|X5Y9e-|cJ5xiaSG zEMPzn|HR*;jwF?nX05l)~)L&TIe*EcsV&M-{RQ<6OSr{sk_zp zf7W9UX?Lwye%>-U^uy8l5j|UbMoNZ}62w{G5jeNO*Q!~gu$hBD>|uaMN6yMizk5(& z4b$KbE!o=KW>krE#3QA6AT@a{@93iGrA2VSckkJo_J*x4O*cRiQp2f^y5q*6u}HO zo97@5s$i56#KL3C;?aaY1f;mqI=(kG?bQZ#jP%4OO+igIr(y|Bk{?h7jxUHsq19sQ zFkCd(ip2-7huh!%wRptg8zSsV1Pzkykf@G-hAOeA)&QH)$jQZK7}tOa5A7n&q#}dk z?1~dqW#a%XY$|L^;B?xU;cb*^^V^!EpMc>RiyfR*6hox6;w};adMk04&H2bD-zv32 z0XDxnoTRxy46hfFii9$?trb=v-;K1mxYQ=FTH}=jwio|59Lx?pQO6@}vjH3(JlnEa zcaTgsgz9d%mjrenGcBD}6wv~xmaut^f)CX>R&i2mTb#xTA=x487j2U^=sTODhcQW> z11}_zG`g$mcO;%=Y*>IX$a0binHDT?e)!_1ICX3Q3nNa__H6xI?U#{joi?42048W6 zfto=kkibtN#S<0hgeTC8NTi)qxriUSsdU~Pytq7&;?qbI{}h`I1PrVZj9+4?H5m&r zaXK&ZQf(Hk@{GZkyXQesE&LrP)yHVr=?ti<)Y{tcld(&5LFQWm!u~`pBh@OJ@?|5l zyZwyF+!n7{f9hi1La19m{g4~NriePR(P34C00~b3EZ+i5nB=>rpU^ZRYBU??>BR~K z9gS;>Cw7bOtTm!c_Ad8-u;hp zl?HXkb%-+ybUc&r9c*_+=Rn^5TNb#njfNn1leI@U5yxixvr3E8H=TtQpYYzX+M--{ zmkNCWiCE=~-y4qEpj;FBG;FkfzU9&j9)SsMQ`S z)2tx^0YKO9mm3HNiG9dAIpMwHqs{K7sZWOlH90u~bGmx*D=VBVD=`2iubQw7)E$@- zH-fAUe1a(Np)j)kA}|maV~i=#zc5QZ&7k)Dn65kAe(-CjVvuItojDmDK$B=3mOj4r z+T+IzL6cZ^86`R;Q~=1W0mvc6sZi4O{44p{x87H?8-}BfP?ayk0MI1PClG5s^?+hUJzO`+wW-?nz(3Geh?B4QM zO(gQ^+?Z#z2%O=BQqy#}zC3}b`b-y8@0g&23#ohRkuEjVY;T${9mdyNyqMfenx+tP z2~lQH5;Cc3ok7K5KO1D^&FN891Hkq#e#K*xxuY?0{ds%59i1MUtuTm5i5hZPO4HEw z-`nB@!k}8z;0aNbAP07rZbnp@ zNTYWqr3M@3rm5{=qJne8O?eD2UGx-k405ceGV~ z=PzNI`~x?2;DL#V(pcDvA#sgS_BI32v(-6^&jr*ZYIr&rXArHE3IlEEno5=Dp@5;T z)`$BNJ(VlChwoWpxuAM1B|M}{*^nU5lI*WgA+h}8Li;IfKa+bX?{Zzj!Vr1^o=rJ)I` zz-r_A>~Ayb={rrv(!%v3R;Z0d*SjzJ&gRLYh5?RE3+b|y+rLexPFy;_Bmo8s^ecxL z*YeO3>bCE$yp&t@yVR&!7q{O7BSpcP8OBSs!`GWB4Fto9)n~y`(kgy^Ov1tUn1)d4 zVfU$fbzU2;BkyQpMZQcQ5&Rmv5S-jgyvc)M+-hAE<*+@wu!A!1S)mBqS$YK@1q6bA z;d0hT<4}~|XsR`VD=}3PCEIE?g~zSUlCE*<_`@_N98R8A4&zVjyOihEf`oSK9yIA}iKR|f+wY&*9)pSovcIF8eZlS~OaVsqw*(^R4z6}z+oI7pCf@)L z)Z*#J`dGPI4{0S4fQ7^DJIYCiuI?Di)dm;hvqUaCGLpgwXy_9VOG%ynHfA7iMumz4Kt%h;EZ4>?>OEZP4*zKrXI|Mh0WFXGV91OBWXJ}C!;q9 z-Fl@YN~dxxyZ5zP2IY#?^IQisa!eUD1_@v+JOIh3yyNYSH>dmlDTh-}rM z$`rL3)oU}_2w=oWl?Mq$DHk^IgQu7~$HCwSW+*R*4QcE5!pBHB8&4$}<5*H{;NJd` zCep@obZ!gupB%iVeccutqA{WZWl@-|H7-^)C2F7ZI|C5irs@4yA#D90XWd=>fe{S( z3F4b0)^+zzMG$D=kz3lPS|AsM(Ex6@|4L<}QSF@%)h(!j(q0pF*-^C2|9Ir@^lbe0b}Th`Y8hR=sZV}EJ{m6p@(Xsz+`As`m<64MMTafm~v(9@WT z!m>!l9hAusgu4}m%*aF(R>s}~FR~#(6xruK$Q*e8>qN@NosC4uz4bZVz2j`n9;r6> zwPI#Vv-rcygJZZT3=J~uoQ9tgmJIZ3bF%yqB7{8aH%uNzuky_T`J-#wuN1eZ+~_Tw zZhr->PNR|V97QNe&e~@8&t_kpLY0zRE4A1LJ9-pX2IxzG_{e1?0CrU+;AybwYe2GoSINYs1;IUVh zuDWx0s+^6Bz0}UB9y6h!hVIVole62F$6IB%$pIf1i4000NjV<8=EnYz3dMkA)4%(O z+8L6ohu5FCR+!RORQCMowGNbEvz$w%2<-50UFWojI7~Zt$b_n?=6fsk;-vbws+h}R z5YiUTez>Cm@A&xm1 z4{R}o@~8~&y(vJZD=4_bkC?T-+23AcS(cTLQFZ+QUK7>ZnEx$BxQSz(-ExJ7 z<1QB`RDPtN30i!}V+YCV>O)2XFu^oMq7uCnB?sm|rlZJmBP(C@$bcw1)b>;;0DJTG zPd;|!*ntEC3k8@F`e!isOHcT{{g(hzCZ(Y-tChMLZ`-5xE(;U0k>^ioo@qg4E9ny6 z_3lkyT&b&up%2n@5Z%chy_gngCL-PL|5NK@3-V@GjKnhV4AcuY$Rt7pJ?seT8o>Zs zaae;arvg+EFlfI#)qHa zRr*{DGZqMvRInCu*~<`QT^5nXJ76z(2@k97_e^Qp(svDg69rXHFqS+ym!L4$+ym3@ zfz<_?MD(1=$*sT|WO;3r1``(cA5rXU{AHkd{D?N9$4%jdw$=FfAbBa$mZel4Np>Vx~Saz+f0a0SSM^wq>it$03tYB3{B=(I)BtG7J5L~?*(}DhswTIf|gskDb*~n1iiM|xk zVj3?$s6&&xCrrfn{@Z7|?Pq7Xo=h0#&$>hrjBb@t`01Qvg2!f5tZ=yfH%m|h3=PD} z!Ls}LWj#c*(EmSIcLHzub`^9U(W*K)0Ajz_Rp;tCqD(S15+eeUL8OsM6bXYgK|v+V zLkJo&yt(S$`)=K;H)bFqK!_nBL69h6N?5JAIXLa5Z%FK~;?$yyY%Hf0{|hM?b(@fe|XVX|`_W1L2K)0F5`7 z^I-S~$$J0KTau9?$mf`)s)Ym4v?zM)63hGA*dTT|NgFxjR)FR3BpkQiuFYvKs9*^E zi^qvfF1J>QN-p8roJ41h)Y1Nz?d-jD`BrWNi+8w5OPs|h7C!JCaZiN9!hmo62V=;G zX+AjpMYx&M_3lkCzsrGKpdDPIsG`f^{qZ+TAJZOA z^g{?m?h{U`Y<2s6@%dsdo%<0Fwhi7BQvPP9YH88(s5Y06#WwnKOwQ@96V-sERI~c=QeT-gQkN zV#pAeuOjpny{|;tMGJCs?d!R@nU>n6oelGfH`l!O6BA$fxseu)#Fg^ zbo(mPq}a#E^{6++z&yTCP2y)~mxj}o#JqY*5-AuGfa}qE@7=tg1483GzPg6mbM6;aQ8KNvE zsa%#IJu2GA=HE|Rgwz(6dI8tavUp?vMJIPT&gS6i#MdNaz5964&mz{*DcMg%&^DDw zs6=L;YG=N5KK=muB2}Ylrh$LOe;U=Z7;XIJ5oDbVQrx!PzfUlYj?naY@hSUdqH{9$ z9;)XS5T35zPl zSc0VrK1ikQN^iLpdaCB3A4$tpv6m` z%= zR8xHC$w)B#nF6NrE)S*lZ)rQNC3w&2+r1}c&(`^r6NO4L)ijY$x)RjJKgB@WD*>Lq z$Z^{Jh1q_SxGW>z|7&as3j>i9`qUq2q!=|!DALY%@yB5DZ2g~_jci!PByg0>t8uOo zl2b;jL*0{X8cuoMoa982jEohNjhh+0U;eZstyt0Z;{tV=v zpCN!UY@wObNe4eD4=+m>b}P2RfpDZK#2e*C4*iW{HB670M8VNkyg63WC{c*sGX%a% zwJsc(j`agb)i1?zyWjV+L;g^hhUTz_b%VlhXY1EjSulC^ne|U>p`P3x?OWnL*ca01 zSJpi4Cfl&BNYG3A-TmR#!T>nCpU<6^D@vmpw>wFDMM>%Da$h4f1xLp=~)ZazP?~)%a#_%Liu1Tg8W{Fx5G+8e55? zqY}_$T%ghZaU-~L%MfO3=Xumlr$w-=LZdQZGfBH2zDHCv6wHlBu|uXVSd)_phB#yK zz@pZq2x6zLbkmJ=+d=J4*#}(AjTrEXX)^w3+U|z>ABVs>#SI>9MTLC$*|KEmWbCUhZBQ@mtpNXTm5(v;HW_(sFJn8 z$DC8J6D}9)cGF7BxKL=qJf&MGJUT0Q-=L^uJ($z7jce<6^KiqhF(Ylp<*0e~>=5bt;KbNjVP$=F0 z_>@_v(Crur*J;04fhi>*aI{~tAE7)5XMoNsK zAX10dkG@U&OZ`(Jp+06q0(UU!w?1U+%;AsOYhQPca0G8Yq$kq_r0Ua5h>Wk2s-@=on`$ct@)ch?jb!sEC zbO6Ac#MNi@RYv>Jly8VkxQ$Ydx)GgW9IRRtP$jB|1KO3>`m_J7VYNcmbTIIn_*5z<8R{fkpY>% zBp|Hx*?ym`lqhGoHSnUuq5I(TvqyPn`3!&*mPLGc`)UQ{gv40<=QXf!{WRA!s1`T- zb5luouxgZHanb|3-);szC?;=;LDu^#QKcdG+3f$EGc}U)GxND5Oy~k1qI*N-r^BSD zn%i*tMm>c6q$~o!Kb|VgV?%bYwV`k;P)m_yerYdJX|Lx(!u)adG7xyKNaXxV=$;|+ zoq3b74^^D=D;UX_m;e&_nT+hEEL;^+fxeu=0ZZY40shEGsSJ)Cbsc(q9fIKl(&G|m zE8@iktwI-Sed46%t!7Q!lHyxDAW`FkVrPNTEE=oZAr*f@U=Pkb+kh_)3kK{5hcRA0 zGXTtMdIKF27E@mhcKh7+%xW?ywdlW3ysH>T95zaB%EuD)#3(BW~h8-dgrp?15rP%QK~A z7}^d4s7?1qt*3h)U9yG(sL;3-unk1%# zgV`g^fo;XVnk{oz+v}Hi3`!V^2b{tiQb!gFX;TGXAbfz=<}z}AMjbODi&R{)Jo#*G z0=v@B?2b=tn1)-7PEtFhNB%;`zU`3c(jq%dHFYJ5o{&Zlb4*0gfoj^z9?)qN%`@n& zMGY@*K`s&GEUQ77h^yIv0pF{d4Mqwv=jNWVQ;RE=;*Y#u`J2;D>$ z9GfqeEQ#US!eKd2u6BR={<|K!AxiE+Z;qn`WqRK{a!mWP(6U``L z04$Xnpe^7p!d+Rk+2_%92PI%6^_z4c_~bH2xlj+&?e6dA=%k246@9t=2M$XsN96=D zJy$tddW=?4YQkeg_AKn{Cs$A_sGIdYuz5cBVD>YtxTUOJUTA=2^3O|`M~NU z=F6(b(IkbEDxIW_SEV$4j$ZxZyR0j+5smp{r@416vEZtmNOo&?{a2oQ*YP!}l45eP zI`)8M<~umE4YhwhQ|~TYwF3Ywb>T#D(D~7$2hWZntJa~t_}C&|YBuTU2ZZQ4OX)X^ zk+aPc_p}*pogh3h@_@sg3}#}l&^@PDvlB3u-fCAJWjCw6GjoAN8MD?g>v2J0#M*t! z-N@RY3(g>x@hV0<-9BlrsPHUpN>~Dsn*ui-i?nd&5(OD&UgJ`EqEndgT3Ci`tyQRk zdAhd!M3#Sni|E5rnm2nI=<6>a9KB#N#h7LRbcH;YcZmvm`k|M|106_N9zDX<8vD4cj&>&(TTTv-}A1tYyf z>x|TDfmQ4*B?)-R9{h@Xi`Vp$BRD@AAFHabi>OOdr_}`N;+`h{1%m+8+^@zwm|h!C**nIHr6W(Fs_A8 zQ5WmywKMJbzUIaoZpBi0avZ|KS#CH2)FjRbAqMd3xMg0ktj+K7GJY9j!0`z`uAq5y z1s3)v)ew6000oIDKRV5r6$4MEI?WoFw7gXxc3hpsHC4%#sznau=4r*#yp3^xkAv>i4v&uS|Zh&1^31qt~!y96pZoa<)`*FGm z+W87)NASH?vW}iRS--St)nd+N_I0FUV)#*6o_~;CiOq1;nCbGj{Ss<`e5BK zvNFx5vu0a$Z5}X32@+ZlCrTL5WTanB+_(*?Zd$%Z$K_Z6{{s7a1otrQeD(MG)f_l# z4ke0o!7SM^-i?@~jM_b;9N6a$$@l1x|X*0C2zu{sWAaFW0=l z1zC%+rMk@oO~{oWAv~>+F>yQD+-%WbbZVHsh(CAtoLS4C41m_pBjYSH*6qISUoYY0 z#XH3y@x$q*ont8awZH3RctIE2vby^IO4X*uUhTV5EKQ;(Rs%Txd6gts{FZXEc!qpc z+nqD92;m4KmkOjMVP2?+XbRK_j}Ai=rqbj3?LYX|7wkUyuJ-?PDp>`gd=F@zeeV49 zdz;qLW3!Fj;m$*kU4H2C<-!$3p5f>4&u`{>>{)jG{>Ls?5ZJGBJ-*vc;l4*MyX4}1 zH!inhF5$%lzH%wtqZ6fAF!(K@slzzW>q7_dgPzZCY{v zBca}QD6kGsLx;ZS;#{#$=keKn=a=obd4A!!bcezfa;aL_R$Jt{`$7hT4Qv*Rxl_d@n2%@rMce&aFSb5oY`}aoMd< zBM1d?`DowvTs5?jG8nko;1j)vp0Ic8u*;+PhCdVwB$($t zyMkp~!RZvikB^=!9S8f+Hp|2An{#bcvQTzv$Wz&;S4||HUL~oBlqj}AY5cYF&z_|y z*q?K0m`z)*crMyJGJ_X?Ess<=bAIy3{g)H8^OMJ~UVikU$FDx--{TLC1e{zMET53a z{(dXc-}*aACUpn=+tpJ^Qkmx)l-iMvHOOV<>o!JxsnP}RH7ZS!`#}yzCP|uO7%BiX z^^|_d-}bPdeqTNI2qE^z6}~Nb?!W8TAA9t2N@dxLGw;e~oYxQpYczeB$!xp7T}WZ^}|f71`IyjrJ_Get7?bx89$F0nS`9>$USu#ScH3Ycd`m z|Lo*qyZ%hxW(hfHcgKcx@&@Cy*nl}}A(vRJ@LyS+f~@hSnU2Ds`~$|GDfq9Gr($Oo zFOE%Gaw?YMEM8x3yZ_q~$MGg1<>)n~`go4{`Yiky*o@N2$wOkzqVQa@&$4fFj!sF0 zJW*Gh&B#pV767&IuDiKLxh%Y0QMy~}f7Id~R$JTSTb8I;z5D&8e_3CVi&m=M>SpeH zZpUP0Vc`4Q+|CU{nRd_C5Aaeje|eZ?+-^LdPsXJ=OiyqJ5PSQ}b{5n^)mF@FZI&w8 zzNhhKqci;FJI5a?tOMS`r1D;#&zc#ZR#DU{ov=Pk})$HCQ`VAg5SR(gq{hZRr7%TzwH63*Od+GI|HlQsglZ<(r z$q$xYEqf9}V6^rAX;nZ^d(C`6>nB;&|u;_&8ZWlo;=g==JdWE2L|c?M*1K`;^kD6McFD;f(Y{BpM;%?1mto+DIH? zlw<9vnd9>f^~~cMBeV=DwBD3hdfz9{r%YVsAJcE&+Y;9~gdwt`9g?=UlgS~kSkHx5 z>wkZKSCL^e1`~o5Xj+MXgyS1xjx=Y~=2y{R0_UzAJ-4|MjbO8xuyJie=I)Sf0{UT% zQb7uma7F{}J;oaS> zB9tQzh|~3}PVc%p3aY@+2XYUazFPg;6>1&&F6=(^L;*xWOj5Xi?@p^;f{$OC^~aty zUR(p8Mh+0jSujs}?xB8!WO3v11?NUQB@<wJDnZjHS3xaED zLiifhnErr(hGrmUVjAN4>a%Ftr1t26r5Xy$A78UoFt@_lN128jlU0BN8n+BdR?J$y zzzfDwCtN1(R%$Sz1qn=M3m)E@Ast>ARE6)&?sL z+s{WWGyHRJ+UgXEhotIoW=CQz3BiZAe+pZLwKAcSW3@i29w?q&#L<)BISSK#v3D2OUW`KrxA& zp%tEOc5_HYpdRdl3~~0q_+;l-A>Hw%ozq~35AMje1@{s{K@Gx- z?>ff4oJdVKT~W~8a-1;;4LxGHHFGAcW=VcT?zUy7Ev|5F_D~sGG*uw>;Zx8SGXyB- zP4p|YM2b<(1Yg0u+MXL06XS%<{tMa#A1#ccIUMJNrZPsZaCxgChTCa|Nx(h4{VB#E z6sGyQH(tleLVFb(N%zqcRrI)(zXIw-M3leG+Q!`<&)@WF$W<-3-5+5gb2Ps}-&fj^ z7;!Y#>M*F2tPm56V|N$R(6dJeQ`g`F+4K(?+C5zxp5-wPL>=7d^a}JbfXM29@l#sC zi~4*{eqx+FzFJ94;GA518JQi9)#|~8-hBdH#nCom9nv%K0Y{1BW^d_FQkd#Jx%ka@ z69`C3JUtAM+1i6%f97IaN}^irXYpV2dI#SUMJ0?eFKBNvv0~BhBifwkgE8s#q6o$C1^19!K$Y zHZes_KO8+X=)(FSdEAQVxqAj902p2YXG-6h;JDXK%%b-W9HJ(;zfY&s#?LTHmI-LW zQ(~0|0~iH<6+{|n)@W+fp>6+8ToP12)-L2^WCNjTUPs!_ylTCLUn)EATw-nvX<5)1 zD`~VA)iBOiA7@Tzbj|PpiWrlr_OI42f*P&Kt?>^Re`K}$_|8F%bTd6Mil)W?V$T4Q=GRvrT73V3{>b-lC%UB;r@yn+_ZByfh=%3b!t1*XC2~D{XSVOc{*O#Mv_oVjA8 z`8V<|XuC1)8k@Pl&0gHW9ZM8pc`SP&rucT0-^*zsFhDl3TULwYogf$|E3h<|MmX## zXoToWhDy(8(MG`FYuJ-zFkK#>V}DdyzrSPM25(D4HCx*n%;75cq38IcQpQnH`EQ($ z5yS8ajs2jZbauY_&3yDOm9(f)Aeyiq9fR$t#BY3*tOoTEBjI>MK}KSHRXC`-JjZ{SDz+httg~(GA&A11yZ#l{+p3u$#Dlc>DNxxamVK%kn5mnbYL5wMMpi zDYChf$~(L8O3KZ{hZ&f`ZW@2)R3Pu@YauOCHXxte6zWRAcl3?3JA9ll20E!Gr`Ojn zfCK3ykK?QL{yymzFF|TEgRrFe@te^K&eO!m(Gw4^A2%6nptztmU3qx(fnqs>^LF~# zjnmDyx6+I&3w7gPz%uoUrA$0WBlyH;y%n8@LkwXfuA?7Z)x?ij3P0yt<`F)XJ$m-F zww&`&s@tSIVM5llVx$Dj?k^NMyPvO8SLU_8gI8l-Ah}F)7`57RR)B}`S+rw4;z`|B zcsnYrH&0lkzmn~dATS6TMw(gfa`)wCDi5=7A#1zuygFvjhE(O;pt$XDW{CQe>(in3 znW5%AV_j)j7h=^!a?56IKiM_>g2Zl;bi*QJc(+2)_# zy@X8IZvVqYC@~*_^5RP{hZl6nNoDl?{%jkLM?z9}cHw8l+-H2%+{pY~Uyo0I1kowU z-5CV2a)2A{zS;lK1YDCk!TH&k&3ASL9Wbp`O*XL3jrbH*Up$dLMG` zAt9#)hL*fiJ%)S=O&_bq;dh^-#kFjpcyY|5QNtLgifadK-CVae!4qlOyfLF0Plbwu z;Fzm?An0ec3fJB$jZsL`Xx(h&_`-Qp+Se~Q6o8yrIlOpc7y!IEc_SNy5YN0E!pAz= zHGhztaaE@9Snh4g#4CI$sf`h4ub&)!@j~-_EI7&ndIn^fh1%ZyT!tOO9p%#^6&$+| z!iE=l`|n3-9GL2K{bo!C;RHH|NJXfY2*>c=Y(oW```Kddh_(3(yS%lkhm*bfUPf3gKg#LL2i1%AFHR z371dJdNqR(F*r4+7r!&FbL2{XY34X$o|tg^1(u1$!t^`tH1Z?69uHE&`eF&v4#lLn zbNwlI8-{VU&PyUaor(|#jr=v~(3-j9*((_q!+jWCKOVZ!{>)})bhM`$wQZUmw>6j> z&eHOcD&f(cAv5J@;L;Euu1*G#6TKvg`T534G^DF?1Qx~df)~ta@(-sBvNTV^_w~7X zFfi6byZJ8HD(=aU=S~>~m4qjMmM&P*akE<8z7NA-YUab`!7=^~uE6M}5yFXgAKpI0 zC>boX6`L2Jg%-`kSKQ%0N`|t2>K)vRfLTdO2CscdSpn*O2n-RUoN}l=^aEuq*u4r& zy;Q^@!WCV#Vj(-cS`i*}JjR6YuDC|7kqkQC6`68F}Eaerd28 zGjDc(-iw1pAT2UAY6Ed717q92L*fQ6_#YF;S<57YH6ObVVVO~8R?=)=c+XuAGRrD_ z%*{^l=)5x}nCq*`^HPshmW0k3I?=3BexlM4AO$oSp!z)BBJ6Yvl>44_XwYV#9II)X z`;|pE4N4&A{5Orz(r`|!CK}#(+055xch_CT~ib9nv zHe7EE^+#O=X=-#*w=r#`g4UyFbzWoccSBpa|32%>1vUOFc$mS<{wI@KuI<%p#+4Ar zRQ}9TpRIq?<^}VlQP)YUqS^!Wr864`JbH&Ij)J)7%F}0df-N)9a6axZ78^_!1;o4! z^3Ti^N5-Ab+rJ%-zi9Lao*&^^vOemY#SIDn0PeHM5-sGrs zeZxxR7WptRKRt>mcVc*Gq+`D(JMD6WPL0y5yDz6`g&1Q^3R5SAym%(Ypt~k*TG0k_ zm=gh?OSybjtpkmj4o#m-v!+r8tDrLC6o2^SL@k*5$+QB>FDZ`fBeZ;gRGwDp%`jSq z3h4X)6$V06sXD1EqqpI|-VKr&OpADK{d1m*U0lTnGd+;j-2Uv67@uILKK7D7oQnx8 zmi0}~Y0Ua-)%T+HYtQ;$ZN(NLGZ$wVZXw_0ac|~=y4Q|+~!^zJWoP$azeryJu`@r`IDTOa+K@@D}A zuA{3X{P-+^A&B{t+xXY#Fxwd6`^x$ z|V{e{at_IlNmEr;QNaH_gA`-Mmj%ut-{P`rA2 zef2LNT{v=3-ITtu&P28*Lz+-wRor|I<2Qu!oZrlCHPA_ejg?oyi5Lg08U@$qPWBGxUXP z^o>2$QR?zWlT1ZAfyQ=y)E$=#RN>3l(dS&XdBP!vkN9!tMN(>%|VunER1w zz(4Eny3Y&cHfHxobWO;^n3F`uUa)PM0V`aKN3%t-KvtosJMLKjY4&I^bx37XfB=PoP{%rfKq?AocRDlT>Xtn#J$Frq36vYk)?*q2W4aA(fcbrj1E|`dKP z$rrvG_R;4eBm}!Sy9#@lKQpBTr>nnvunSQqYnf&EFILkILI)*8SKrH;(-3awSCyPM zR>!f2W+$w?Zoi@n0`<6n>N-7MKM#X4q}95&qfzXWKyHpzA1CXe5XG$?TPzMK`aj0( zhZf8I;)+!7nRCaD&xOQbYG$2h{;6{(f^|5JPdD19gSSyQX zWg6>}fN|N@j0;lMfi;Rc+LFKwM;E?_E}T5WGWf-V{i|)?Wz0|2Ed4X48 zackq_()E4$&zONE{@%n{LYvw9#6rx*nF3x)pdQ|SueoW~K9#!ScbA&Nx^zs$`gk4- zX)r{WQ??jtcp+z79?NmtM^mYgo-Dm;hmW)e6fG_oe&M;g8*0myRtXb2gS#7~mo z%*^s7HMn_YGT38mvF8Zr=Vh{p(Xl&h5(HLsSz(7xzLG2FxuzS!>ww7$r_;_hzb@?% znor{#FsyIitsoM5()JUZ$oG7i%vTbV+@MH9eZ5Ab%v%vQkUo#6t+{1|q6V?#?#B$= zCsQN|5}P)o0Jbb<@VuV7%dd7_rXZZ0Zl0tl1F#%k@EB`Q`Nd7^ZKTwi^M7l|kE!$f zQ=6OpZ&H2r9mj@f{%aYZav^qNj5`WLV*ab)QUkM-gcjZzR9KKSdSEcTftcY`z;2rpv|Uaf zYQxm9u~ufhlm(7XFjLYb>`V~R%e_20S{rRSqOaAfEKtP`8Xv(bd~_pCtk=!%ryrPQ zLkkBapQl%_%Fvg@Ln(nWS7`I3VetCew0BA))xczThkjicNzFSxx$^U|a6K&a84=?D zsR)O1n9d0iY=~L+gRtj3n!zO(kJ*Y?ETV~hs z>)i51fez6b53ZDlzQ(deS)gNnnSP_CU~jYko`M;&ghboj1%E)CXeLOZ}vojHt6+_VO{?}8jX++%_j!Y(UEi!Ys$jirqj4Dk0nd0J_>!&qj74rD3zIZYx z2lK~g{yH#aB&XN?-#}_ljR!v})K{b0{o>-Or_q+;`27#21u(I>AJRKXrZmTTXJ346 zkkOD3^aBltcW(y4Bv%)yMXF}9+}HsjHoL#eCN1eM;{d(_SL*61@AR9r%2nqvEd}s_ zIaYym9_`=#zPnU2ij|5o^*Ju}iCn`tPQ-ijRgcZcX4lE)yWDwQU-GJwDvWngm5X6m~?VcYbjcWHiV=+%i*_DHHM zg40#)6f?q;!Kl1F9{%mAZqph!XOQt$CH95mF{INnu*7rkO216D0uD$(%=vui2_;d) zlZ69EzrE0`76~Evn|{D0XY21Si4=RLEHu7;;*O2Vh>|v-@cuI9!%TFDb{*$bL1i z3uQ|XxBnT$QMl^S@(-g5c5h4VCXq-w5ZB-K!xWx-Ac<%1Y%UR&(G~v~1+bvv5AZ?y zlz!FCBclfC*G=jJb*3N_hNRa~eoY$3^wa=&^nbPiPyBGGY;5Sn_3_~=AmQxYpJAau zTRO=|7RPv!ecSz|*{m!or<<0WIVL?it9{3sI#aSZk50BB_ni%zhO%aO2S11Mq($$1 zqKg?5nLFx+Hn25td6Tovd*^V5W23X4rDBoz{K#IzV}C0NOU0p-Lv1gFWPFZ%NBa*j zqGd@?gShDU%LDtsT&(cD$&BYmV08MAo59QX8Wai!G=(YDW!<$LKwdMW)G60zCfmdN zusSO8!(#u?;61o@@#q0)B(}-qf~$g>@<-}t>8oqUtIx4p72h1y&2J})oX$JlKKBrY zuUj<$5QXHbei#MMjojkTi?6Vom83}7&Dj7n{wWKT?{AF5DSxqKpjH#*C}l{40Hr2M zGVXx}eU^mbg>C<>hg+76yAJEcFs$5>+3x2lX7WdW`3hbwQn|%!Q+sqpcHgaZ64nU0 zOFc)=pKcDTgw8fUAL5-f+Gsll>r)#8#w;(GsshD55erfPh0BlL{?=FDdgEQEPuRAT z-P`zgZW;E?lbgJ1iycj0wP^H(=a*+GsTty(^{9W0i4-=d}FTGT7yQ zH~RCqrIFTUI>+{2$L&}iIe&WEPpJd{JZgFB@>5%LsEvDCto>PCSyTQUdv5Mq5NWmL zwX6Pop)Hp*W%5Yl$AIw*httj;>(hr$u3pu|)%CrXynAhZ&!sz^t*~k z$ePzf>(0~+y)HtFwWOZ7evP%he$DdSM%4mb-_~5WaMHG6whd|&-{_Pgf3wtA%8<^M zdw#CYZ{E0hlUQ&hZ=A1Rcgeud*H1bLTobJnf8vrg;hk+Xt*voTEzhm9Coa6ogOxN}rgn^5{mXSTy@ZuXL4a(DQ;u-Q=v@WvL(^z!b4|(Tc!d= z;q0z16M19#8WFeCB;g}ssopoN6QxS+b2#43Bo=^8MN-n_J?a>DPtC$N_bUI7}Y60 znMf*6Fe9sx2!pE9Yv8Dat3f=x{fXIksKAiB1UX~D^1PU~*~M=%&7rNVLKr$*{icKg z_Adf4&vdR@p|q}N0wiwAPCz*rn^MqUFw1U%Xh@;^}xl*H+tu23%26 zNlQznw7ELn)L6!_}3@jl?KM@d<=L%vHY@pz0``lHU^*} z;~0sQs`rO6-RCp9vP7m4!Uf&M2n5Tpm4*8M=T zVHiFj z5xu?j^RZ~ML({k%Zm`Iwj!JW*yFKgSU#%!j7by(Z0EZJP(4|^iEn@45Q(I8DF4mVn zzkbbOWmhAa`{ZV+7>9-NWu+c8-)M(`b)iIzA*CFh(@5o#dfPgn^8OZRj3OAD9t^Bj z39vK@ESY3d%AK8qAIS2_#n*ED8^<{&G$;eeJuPx4o24zu8!a9}wB=H-!>S18lO>%( z4JGYXRnG_Nf7S%5Mv|CClV4FLl2RSFndO7-;;MwH@9o}p-L)h!8B`TPr|Dj>$;s3hI!6qyWAOiH=*JkaqtqX-q)2 zVd5Aeh!?ULUN|eKEM$=8#nfs7PpE4XLagKu(i5Rbn|IKwi`o!7X_3`#Nd%2*oUI8- z9H%ZUZ5kH10ia5G>tBx46Js8ztye`38Ho`Guo;qK6BBDK8@_SGu#4x_vyH_>kOL(RhX!`6ew+@KW2YG=)lL*ca{db|C>mMCP$dOvL2`C2KT zMOwS>$-2gHSJh(TVo2PcOz?k^4whs&cw5kIU182(;^;Lw0i4uC0MFtF zIeoM4a{XC%mpx7mk@XA?LYnLmT84xrvD-iv2j*<`-^~pUPvGCP&9{wli#S?081*;d z$-lUXKog`~S6DRmTt5C?qll$_r_s6&OkNBR)6F(hguhQ-Hqr=5JdxoJN@e#p28DWP zS{GD;dFr37rb72wSM6N-UTL01sP`XO;2tj$5#myIKB3A0m;2H7{-bAVfEbl$*6^(P z_eB23>Bba(e1P%XERkPsnm>+{m-0k%2M}E|fp3^2CcPJ;!@Pq}rW5G#lhgRaimTG4 z5CSDKgUh>#OwwZ?P&l__MDfmWmVT*V`B5FzkHatNo=nb*?mkc1>t_8E90<)W<6^i% z#gF4d<4FzW_ck1$n5T8q)PXb(+UAt#6fCx*EpiMl_wg9&6l*}8UMU#)@)*b5nZ1PK z4AwQBMg2w$n}MNdr)ryypyUV@b1dl@>fx^?9rSJn zy2-mr86X4-2rl<2HI{veumBrSa__WL-|k|d{A#LHS5|3&)b%UvGJMk($(NtQR^w$4 z!xdVGZ%=IZf4Et>gw5Vd=PiC%^ve*0bYT?;Ok)Dvxhxh-)B>X?h-!&b{32iEERc>I zHaIK&xK%U}32=U!w$a2F(&>MqmgJjPCu>KA=M0=}{B}Y+eCKRU)m`g?jAT3_N6jeyrtBv z>l8OdWS|SV(`rFDkAP{<;@M z+D%I^lN$`vqtJ@qcs)fp{vP_r_P7o}Aevk*M-m6m6zBeDgb}sXzgXKqx4Zl4uL>h# zTtC-94YmuwcMCk?H4Q<2s2u5@DXdfdqW!w zz)IZU(k!_MzQEW#L&B7dNz{0QnwqqNcLOxQJf2d=}a;3EX6se+aKVk zO|K-w{bp4THXS{_b&}iBpj(7~fARBYW`g)SdvGEM(ojs5X)B!>4O2lAWk57ZXmyYg z$YqR)fdOfXiak?7gH@ap59%Y0V`n{D%i<2WSQnhY?`+mt&Ls7no|wP^!*U@DH9f*+ zA@g`qxG6DD!c!Qjjj$R{C#i+9rO9xUJ`OnmEKOn>XzD!O0B?j|S*{1cN)85C!?v5@ zRg(~_{l~th8F>d=EipuTB6cbO`S@ntLQXzNk~YJSh)()oA=$2 z6)48Zd_xF(T~3fkkELVXh(AlG&b{!}7P{tg|ITuXHq%j5FzjVelf6tYLZU`A86i^c zZ7~CrzBc>UvJi3Sn4ESEWSmO=x!bluxOKIA7Y64f5LV-3^h9V$tAKJ0FudksCuDA5 ztc^7#C-z6c1E`Z>&R^0Z-Uw9^0W>VIeY%Vc=shU!~buMI?AFk$cK| z9>VKySvEo&T^R(rHg>#5xh_Fbie-p-c69rHnTi1z2MM3vlUU*G((a86cgqKM7p?XM zPdbSFI8iQ4EXYI%g8Tdmf=gT_PL}4r-Kxz%!-FTSFrT5%jD$oJdD^Ql4!>qU=y+@Ei#v3#uQ(h>qx} z%o;Ops+j>HUpKB98^Y$!n-cLd`*6@G$eM*f4nB%@OBiRY>ZF0w;1EaF*7rXEEiTJM zK@h!24UMaDY-~1&PSR3vWPp}HW~C);U1TOyN4qckD$W#xPtQ;x!coeEmg|b-=ZJ^0|zc*%@G+u$0KTC0rIAfnfB+!V{ zPju7%{pg|6yA-YqbKXTaB3x+u?WKyd?kBKq=Aj-yHK~w@6bW>J!Ftd3>79QQl5=?a zh=_1_kD(67+UX!|v7S#1ZyVm&iCML&`Nm9*jT#weZe(5ON*pmQ?h6nf2TNjluoz%x zACc<)h4wF@#g?gJBiw&bu0wW$&y^r;cK>cl2#y*4K!lL&5ReLgHGPD)^SYBAuVFcg zpRph_diao=RTqaBf|u5Kk!`exrH9Xp$T>v%Lvtr=T-9JsB{v2R3Z{H0k@R_UNarc@ zutKxx*l!+%sbom=Ofit6;el8d(#fRo+IR%MGyGDrNLN1v0k-uo(tLb24%wXu> zp&2hro4K?gk(R&kY7T8^m^>E8k}9(s>&n8{qG&Z4-_5#}G~ zupQU0<(gm9dPz;-zN=)AwZ6eS+13jgJ*>aZkn5yMhSLlC58&eX%NV#1bebk%#W)M5 zKKt2~M1;nGsVH`Eah&P`74=C)WfsSQp{+NMu;igQnGPEz;sYqPl22zyg$3aPi-kGjUy!68HDK+V zUDLtV7<*&?$sAA6a^1oV&^S6p;BHQRZj2YzW$y=F!f!#~?%1lbARX-tP2nbii!xe$ zEKhM1Xt8TTQo;a5f8X6aX+*+QzCzNX%VPMO$+Z@R=I=Pjn?3huwUy*%QjNCC+0*MepQIFQl!m6jk)sfx%#i)@`wg+L&L ziN42P#%xit74(tn(mAZe7*}?WKf)Y%(zYKw7BW!?wg1EyvHIAF`qOSof;LVi8>dFW zT!ZG18SaJ5Q$&_G#UG$wa0C6W4^1CeY7?%~1F^;F=AlEbjui zf=4Zn&RKYV`^!sxDD}1fOjtxlEa7=d%lJ0mB{IP=*1N=1GyHZ%4Q~U@3&+?FI-xHp zzE3coc0uSbdZC1MAQv?m++;!WTH`^2m9bkjQFhP*CCjFl3`g`Sec7|?Cy0tB$#d)v z#4KEva1@tkaE6a<`6>x;&Gxk~F1?VH!MXUh9WcVij~HZJxTJQv zhM5v&g&OHLDtt+eW?qhKl-lwCnCXH zrEI*+YF<0+m^y53)Nxn_hbp1PS*wP)*f+|h00kES>9abVsbL^F>Lh%|_vRcXd|EII zQS0|EnurjiDM&qx=gf7_02Z!#owNMhSd?2d!rhQNuv}C}qL@TJV~ie?#MrNf&Nh~d zmsj^&GeiAitZ&EOR#%p&LGwW<>K5UNcgZQp;ZSyl+OjTRS~hSWy?bDyuTzT(Llr}-&?FP|HTaLnINM_=kVc`Y|X)s@xLEC8at zCQ-pTp3P05bTF2%;Jueugy?ZW_3YCMEkCMK6qeDg*j0v>95xl@N*40^(Tz!5hdFeC z=L1z*;uI5#ltE_vBD?GBw%1C%IER4xpv8vabe;*}TK`oX89v613zDItMmPVkY&V{u z4`17%DSHM1r)0EVGX*B{T*u@>m01&vsO^}R+@^W*z8>w-m@!FLRAvxLT*gA+1jIrF>d70c@3%nY;89B%pi@p` zU}+#?O>Toz^EDH>Pe_W4`U4AHW~-m92n|(ZqSzutNHkE0ha!Aen?Bc%K4bJy;)^F9 zvPVk<5AZwICpwg8sfzRs>AXcW4t-@LNLJ!bGsrd4#>*$jdg(Moiv{B$Q29p%9Xr&4<6(+#C;bnSy7C zN~<2<9HN~ay{7u~uo9!!(ae+6{V%I3`_2tNx33ssaEY#f%4~}9Y(7`XT&|%<0?!n- zR?-<-^~>4D!GyyGn&&`-*rtlKGm7eL^F!76PM}d1kt*ltjC__O?7{UH7a0;JL=6Y@ zMYx?_=vIVxIB7u-lT*B=pM`sk$239Qf+OHRTIH0~hK9)p7pWnJTX&4Lu!frSSokuFU9ZpEVdn^anWQ4AA2ZrB+d78NdNSq2g?P?_%0i z87*}9Oy~%&`F8lY-H(-LWBi^t5}_Ko}r@rvB~F zvX~o$K{x9aYZuPKO-QMsxi^vz!xOm1BnY-vQeOiw8sNy%6c+d7(wj}PV_I}F+QN*P zj%$D4?0#WWa*MPdJ6@lcS<0eM`snEUxpLkBtz0t<0qlk?XS}<9@Z2&j7bbDM*qTIj z_4mFa1nBaB>-dA3i)b5LDEet68q+?eG$5%x@Op|E#Jndf=k^Wu^P&)dFxS=T`m@_K z5=YrLkHdtEy>2pX{K?_kfAXc(9o(c*?tG4H&YV*@0b$Hwq_J)42lH=U%INaS>-+4& zW6vXBadQrDW4)$Cj!!gHs%N$f@zyUcU9`Xqhi`bEHAJIyKE8x{-d!(8S5Hlq$o4IN zKbJXj6NT_NY(7$Q5R!c9N2K>>fFBHK9cV?msM4N)9oPG-R6^eK2Rhr=C`x)74QqA% zG{3WwuL_x-bs;jltsj{Ry?f|Uwf zbO%VOuH(x%>nVTG6cI`tuezb=Zcga(tu%j{nj-&M8c@}K<@}mh{#o?U-Hx+b`gB&* zMTfR63j>0}o$gvWv3{-xHS>A1w4o+iNuVm(ykQfroeKuAW)TV8M|*l&eF zYXQ3YwU;ayXdS_@L#q+A@OAS;%gYi0j52iZ){_~B$bNloX~FT0jqd$tK7!&XAU-|1 zUydbu83B?;f}^h}R#eq--$i(WJ}WB1TPU-*1n#d|J>rP5R;{21+%1$^=o0ak1uL;m z?am{SDpH?&s+Au7i-PxF(&{{Ur!h-zu!H}s>2Ukb+7T~9rI%cVb+2MlyfWv7T|2)| z`Jqz*BZbT5oFYq{?2NGM4g*x{>CftT{q(?)#zO~|KY8TA%iVUA*aL?%#j2;jaq{?s z(TjNao|E*f3yPKq=Y+ROx1Bz5%~5YM%uk-!!2jf?r7=-xq%x}eB&D6~=R`j>Lv+vM z=gt6gef#A3lQ+#no6NfM#3NIfeErHCH+cPtM=n>!GcxP@@kcK|_V{Cu`Hd`JF~ib% z8uN#S=0R0`=Z`$;7_p8VyZNLe!`$&}z;sO6+0FA8yLg8C?tCA3%_Hmg+WkhpOKzN~ zD-|a6%*eeecO=y)q^#1Ib5+v99V&WJu4n5nuBe70q``6*G77ZsgpO%n)xw8lR;HlS z6DKZidW^;^nJagXS!qip&BwHTabNlCIQTI6LLr^4U&l^%hj^I1Z+0SOO5JW|8yWh& zImWgR(XgDSZM8sc_iSBk%^X$U&}aZ@j0Ji|#Gqjr69=j0OsatDntBY>5?r=YMVIRb z*kO>C=IF<9RX(j6302uJHnGWt3;+-WeFFFWEer8vXY^%*(Iu8-23oGstnTi=nYo8h z4dzSgezJ(0&+izn&?#7v8SD&pk#z2)^OD@imC`RCo!4YIEtd{aIbunez@oA;P=@+FpMxl1>bFCl>^1 z+r147lS*@o8a1c$Yh@hlO4IZTbZ++l6Jwir^voe2ef`4jKZt6^0bkL4O=8IDgKpx( z;Q$?)=Hk?AG+Z{h)I@_&rabPj;j#nQ$;tUu+ltcV*SC*75)5|ODkWt7VvYvL2NR_m z;uJ&8q>Rh#*36Z{R20LPI$O5*iQa@~_zuc>V5QLEgW9MQ)ZM@7MtQ$*nC{KLrIs8e zL@tlMd{Gjiz<)(3avZnbt~nDzHvDmV^s2jOQQp~>?r^YH5yn&5q0>EsWH zNlq{Rd0}mw6(bl%(HSmBXCd@4M#Tv+bi}PJMg7hG|84^;sh}S&Wk{o!EAT1XsS(~p z#hC_B6b`F}IA$_qszEjfUGm^$`^CjGqZYI+gfnegw-CMg^vN$xB&UJUvc2_zg)at~ zK8T~&0`Ql#`k)*_YP^5VY7UQ|l&OL{e>Foj=o~#?tzZWu-JbcIptUnLun|MuyjSwBg>{Cb0ndhF$KqQlnO+hv47%knzTH>=fdvojQ zXLsGi6W3Fh`Wh~kKDnnwJTo?~ty}@RfH3RoH`*5uQ@Z_r`*Qn~CEfV!z!k`7K-xdr z{ZuO2NM=X4Y(bK}+5Zm=YCL^tiP47NEmjMpu`-#%sJFfK=VmjvC7E)zeg-y7vFpnt z&<*QXe!!TUyP&K5IYR4Y^d`dThGUmEx7RjrywS4lM4oiV4o{5`UOXC4PE6$uEy1fk z)}Q@Yd<=Dl>F?lwLIz8^k;<6ij8x&u)GD05L&pyV3&K&5MWX8;HM*i$AgdkC8l+lr zi$jGLoZwn}>w>E}r%7XLtq=4^FaW`-jITI!|8J-@Xq~yY5%4r;Vga2k;KybFdH-^x zvV*)8FGmwEVd6^39^Tx(bay=%LM+L}aAe33W$<$A51XC98LsFWUM9V_{>($+po@ds zCJ=Lve2scLzHvDb7Uo{R@*3ia_h{nO4*>92NQ3D8Z}G||!4uT_xT24dVD^zA3$64T zjH?I2dP;(A_yu42U)rN_sM%havP9R8Zrc)bsM8vYqItLCCG(Okb)m6TaqNDlN&hki zIw7f}6qZK?F6hE3GhF=pyj+-`Y!y$&AmlB&izt>+^n$;2lm;+pV7Zt=T+rHh{I}#1 zv!iF5Hm`v!2m|oI04JMITRf=fc-X{m|D%Uv8is)k-@A50t2gKwi6qb&?|8C*p*Lu= zgQ3fq;A;14mN*SGcX$XBn&Aou5{{ExJ%=I$$N|~kmT^ZAGwA{oO&vHEdTUU*5w##f ziX+8~wII=J_TPP41>Nhnp$Q1TL>81_&V9#Rd|7wE}|s zL&Gr5+gr{@Oy&1tKdFcw@mIqDd@R}>o`NKkGucs&8ciJx`F$hQ;)#0Gu+)VI=>E5O z9YjW+a^!gTW2vR6j2H5G#-+OQ7CLMm&~v2swfVSaF0xA63G^ffuLh=nfEkC;K>sm2 zYN+|B4FNZrb*WAbtV6W)Ri2)Hzgzm0VXBS6x96dje^M8mxKf0s=9f9b{U5lS+tDH0 z=&1SDnvtkF;L$Hye`>GL^OzBW{F&!~d5ZUa_ z08YvxrTXa|7ROz7GoXNOU*!AZMK& zt@XBDP{@M{qMq?LKyZ2-Cu8S)bQ;%ANwNfErD^DKNU}eaTFm>1%-hTzAzqv@+U$dndp%gDs!F55scL^*^uC2NR{~ExS;`U z2uRy83Ya%fepTY_qq{MXi_vXelRMqjbfB&chYj_H_H;4I`#P!eX#T$G?~j z^U}fD7{}<=(~6DyX!@J&U<@bALNcYT^`U8Q@ztxRSC{F8dY!4GC@yAsl$v)Dmt?9T>M^qIs&^-tr7BbFZdF;Nr&F9tLxTx`Sy%^fDp$WAZ zhg%;S3`+OcKlis12b)wnj_us8j>q9`H$36GDS|2Cianm zJ6Pb!A%ZoTCq$a{@Ss2;WR5gt*P$CUEEzhxeAAKEz>-LvoRUX#-jd_^LpRvQ5gj1) zuL^d%R$nE~SC=*KbgP~C$IR($_3pM|^3w3;&~h zG}Uq{LBG0psglWGFXBLw&F%N0yb`VO(8DJklmc}8b?d#R9Dp!;1Ii#@i1bbd$itJ2 zlX2|&dbfuvl2s+c)}cQ`np_F>ivRt-yB;6{nJ@q9mf}c$$#<_bJJ%q^^Wy@9ZW^~r z|G|8-!z^SAQqwM@yO>(el8Pi8eYAU%DKLPa9F?BPR!n*exb4AM)1#(mfZM&CSD%Wn=+Y4=zi>0G#$p zkG4fTUZG-QjhqBc81)FKR8gJXdY5}=N_0XT17fZ+3xHN;y?p%5+F@Ps)(+kC0Y zt4S)QGuhV>zVQQ7%mx~>ZVB61+el2v2x{{2yB!8@kX$d@q;OpETBw@a`Dk$NNd(sR z`rDYZR6;BJ4TlL=*$8C`1RzJFupRDZ@Jqm@xo^FF%L{s;DRA7R(d58g^V#_KYxAMOk>In{fFNzZXWH6FqaV|?U$?PabmOohBgJ{K^bTnXb9_+f+0x7Y=*Mg z{mc7213-8w5DSW6^qq#`&rDTRtd@>yT4+fTb7HyYL=i~d4GIf&{CD(|m9{UuzPrpeUvqE z@bioBbEv5WO~xwHzve*&570;X7%_2bf}|a%gSxNnuDFfJaAita`J|jk=cphKzX69p zdIHG3A{9Tc_ou5lKHLHmzSuAFW^Yi)ud;c5Zyrj&+yC@@r66cIX+`Zx25PV8A+W{e zr2)N$kYg>Uw~ZOm;wDu9@%Lfw43=Up?g+>7n7?pz{zyv<4pwJE>G{2(3}Z3CGlZZ@ ztkRN))zmWr^Gs<~F3*Tr`y}_JkvR67hYX9BVEyXxJ^@OeRu22m-A|HIMB!F?GoiCgcLm14 zv)$3kiJD&EWl4b>%I)`{q3Nm_c$(}{V(5;e;M|#z(4y5HMTJ_{XtujQSXR~VpMo9_7 z)}VhYI%EkFK>_c2&0U*qxG$`~w6EdbIOI(8$%zoHG$kgCrHGi&2&>Rv7J`_U%WSf4IP1ufsV) zNBKy>2E$g@Dl8sBjH(hY<2gc6>)Zk+KPPvR8jym`nY|CtU-GbB+_iXmX`3u&cC@U+_FbBZLoPs$zxK^ zv!=m0NZ%n>Jg0R)t%pV%6(gF!83z;R-u^&~Re#Uq8E6_oGQ4~lmE$%?An_08YtR#= zTh{uZAP~My>fM+;VJvp#sa2Ajd&r3^Q+bleDxm`6VP7_zCdCHgSPW+u}k# z&$|H8^vM6yIyKNY12Z;OtbFSkQl(&R-o71OQ~`gT;2}M2XiYsdS}4E$H%nL>exj2Q zHl=>+!`cWtBMH&#d+*L%PpZz4SGS)*)g-=%gInOZecT3ll!+s&hVj?8-nHl{HC>Lt zPc(S32^9 z>Zt-y%`Ewd#S2mdS5Q3seCb*E(TDboUA*!QqL;W}0)vh=i=epP1XvH`dt~p5*>}IB zC9AzS59zTqp1YDF&O}aS_ik0*UV!Sth&U?yMVcle0E5*kqYH0667& z$dP&$xyb)`@weYMF&ip@mmvQO^fvrN+71%NdF%I^2GvmMD3{0NVucnwWBTa5`Sj+Y z4wHSkFHEMZGw^w3|KC(M1=>uJ%$a=?vGSI300GWnYzk`Ls_X2TyqmGO)?~=(=HGJv zP|fohG*_a|_9KB?`U+&VbKp*YEVpkv|8odCLP0i?2_4+}Q@8~SN8ABGp z$5|{)B$BV#P`O!ESqaWkDE8MaP4FT7jxEx- zo7Y8^(9DwSB~9kz-jSj{a(5+#%r!<0JG{IZxMMmAw8t=SG;AzRqWN7NxyUC=1a$$c zKXrFnjYWX0XJv_cKAd1XLVW9gA0eZEF@I{-o^@`YtZsjRnm`#GzPAV@Zo_8Sb^GF$ zN6ZBc3~Uimp>7NW%3*0rsFr3nFDwt;RpeWu`Lz5CT(Iar>9*csB% z8^IL6M+>TDaI1q)O2l$6Sdg@v30`6d=*y`ef$OYgD}Y6}g4uXoXCPM~b9UZ-*GW^n zOK#k0Jy|jJ%0{SZxipWsQV|tEQ(SzX*sMos12?yC_omq!bv$PgW!_L`cp3Z z?`o0-!-Vu+1(90VSh_WY+@{q>CPa%#NRH#yEUm`g$VUN8j#dUxH1qqvFw5zQ@Y~z~BvmI7hX!<%L9iJF5*W zF+#H;@k}$!;&bM4EWdrYUp>JtOM7AWJ>p@Uu}I4jL~p<0D?2%SsE{P(++%JOz#{a) zc}s%@4d4i?tbZY>p4#H8Qp7BNyxJgm#E~gW-H`?;6e{I`udQxxoJ7Q}X^@yXD~bV; zKFM1Z+k#cMUd?DCv@Powm2}N?d`vO zP>E@}bP7={4KgF!+4R(Tq2llINU=`rQXAj$<>M#e_cZ_N>hbj(4Ib-~m=Q;;6_?M4 z+X0?55#Wve;M9jaLmdt+5SRCfIAzCdPl56Jl=&R{$5Yteeh;g+0SXPRVErEFBD*22*RSROSj&+%1#2jB;&Fo zSnWz;5O%KIet(l_IVx2<9?Zq94XcotWaAdDKHL0Y&*erg`LWyYwoJZFz2t?LHcMet z6cZe2cr>1Y9p{lYD|WX1)SN6`2BfG07kJP%AHVBF*B%mz4*O#ba_d3(Yr)R3lG@D! z-0!4(oT#YGo_&Yo++@g!&0JW}yl?<|W4=Sa`ak6H4W|+GqVY+7>+E#(T)y7#^=iH^ zw|rbd>NL$Uco1DsH0}|vDVgIkI_@2a>QpgWB#>B*@;wybw zWsGI0PBwG)mpJBE9&gNq&Rl}E3QOc?LP~0fQCaQ3wPk?_hth({Pmwgm3P}WDPdC3Z!m!9K zs?R{%phAk9r!Od)am|?ZSf~+w{K!!L$mbXu=&YEd-0@?)DXoMsBI4@;EFS$>#HQa$ zd12)2U4R;Lx)qMSn43$T88vTHxX_fG z99^HGn|8gBbS-@k=mEif7CVrIRzw%Mba_!JHQa*_Np&s!K&<}EQXE(kLRJc(49Y@oOaKkFJNUZr zT271HzM+-$yQ6iy#*yY)mGu4_*D6*UX_@HmY+bUim+)eL66v$`&k=I9%xl~KN~*g6 z-=uELV$_c-GouxF{#Jo`1Jp2kF)%c7=M#|_!otSg@U>?TPwzq91IgiphgoZ-5=<<9 z9|3Hjw9#R_Ik7eCGV8jKQHO*rA29;t3X3`*#Knx!6s%A+^%{Y1&K$87$dv{_biFxx z$O78j?ckPpmjts@q(!d)3TL_+yK+2|+1dApxSkx|oERacjn9W4#|uO~l%mEOW5hm- z$E-F|faDqS^mSGKJY>{KT)+hBldi*pcp&UJOT7|^jO*g<3!X8Oi*cu^a0ee<1|4SD z(%@hjiZ)hr_Eg@FL4*h9324>j+o^-(oz2WDx2tSi+dRfFAzFrz{KWUs*96={ItP#$PG-iubZ!7<2A%;$Op?C8UVK)?N!V~cLmI1F?T(Y{-G1zh(v`t1 zL3q1NYC^PQS+&LF-jsCNQ|AGuWa8)BWYq0ub7#dy zk2e1s)d$?-b{L=~T0ZVEV(WnI#yQ&^w8$~Yf6VqJ&=IB$Hx!N=s~(*mGO}~Ji!0-d z$?$~ItQ_M(p_Mtz8>P}7Ihv`**<1w5&H2WQ$?0JK6!m(ktX%c*x+)EGE!6D@Tm)lG~9ojy=xuNU*85pO~cREGqZ#^m%jcfWYz;I zDBc~7PW3*J>Xn*}iXqLy)f*zS(}PdUVq^zUAd|);++O{csTQIb*a}XFwD}O%e$%=y z)YnpBdDcQ(2sfNsZJ)(;xjfc;AVuyU*L-u1w6%BuMB>I8gwe2{3B?e8`!2I7RT{OM zT9u3L&7);aoEHe!tPrD#n@{D<7Z5VjOTFe%9>0K2JcND}2x{=<3P{uqLQEL~fAwse zKmj!a-MA3|u%>Xy2R#V|2i#yUIp<{T;m$xN^brdEo-ro+FfkV!SjAsX* z>k1eHPh&H7=`9@FzI)>xLeE+@bnz(=N^RXuE)w*Xw2*Z$>%frS`OFe%DFz7VNg^W) zJC@V9gkia=R^D<{twW$5^S|gn`F0!)qQ>x8X-higQeHV-c5nM(1!QHCd9$dqQ-&1y zbS>iKX0_1vY8cO|#EkS#_{^V!^u?9s=p;YTia(hd&-i%=FVn+N#)5C?D4uv#e_13Su{LRas zGWnXdFXNCO*@Nk%Gu|8ZNNw5LdWk=R7Up9&+Vv)7ASF%j!0b|7RcZHUvY_EedFeroGTTeluQez8W~-bd|Q zOH)0o2;gGR-+cIn20-eCV)LW3dCbIxfU)h3i$OJg^~ZfE9((bPlUr@aa&&x4CZ$M- zKnA9c)D2GVo;vV&b~LeDiG6F@v!vZlY?N|xarD#;yRG}<=94$t|D?MLwss&eB;vA@ zs(iPJgzNtK-otiFad*$*0&SF{A?9V8K7RVf%_o;<_UF3Sd&xkIf5%VhL%VayEB#(B z_T}c&H)`3#caQC6s;hxmkwFfR#@4!o2NH# zA06%a^VTghTx4-bAv z`#qyYo$lW8y_W55vp^e+Q0Zqq?*(d*^wJKp-J?C^jOL}q`tv|<9RnH&1NL$mWtKLM z&+Yls)g-oT+Pdt0KW!SYY+2J*Hr?pYnpl3$^Gh?H?1pgs;;Ht!QR!8joQstb?Llj5BzqQwSB*j1ZGU8fQV}j4BVtao- zsF|RO=u4KM9abMvRIz{$jn(Dz?(S;bY(k|)kU27?961=5g#g7vaAWwnS|*xDX>PGFRrk`k7<@?=S}Mi z#q_)SiYU-#I~rcSKu}SyjSncbDAY78ATzX+Vo){G7WZ^lw4ffZWf$^~H3z-Rzvxoa zM#|kA?Lt<(X-qHIgZb*E-qUTk?D5b$S-8FaTGxxQwHTts4DMCB zRgqOV>*D%(xK-RR@t~iRQkO1*Qy%8zHF!x9^?3PrW?lzLa0?;;fZ@sB=PR7)79?Fk zwv!tRJcnP@LP4+Ynf6r-Ig~C^8L89%`U90G0t0plG5}Ur@Aw(XbwVpJS)JZXqJaZz zLEQNq9kWbTY0n&2#fpTqQjBelPn(Yu(r&ac3G)z*LiBn;%_77W-~kp9i|e5eNr&>) zfdM#DP+w2UGM2ZH4Q>GR5akKAaD?Byx*qIaX2gnsml+TjTs6_=ArnHcJ3As zmJb<9eZT6-Bln)tYA=)QkyC$pv$cJ$d9iyG5;T{8@|J^eXc@6rcBu+AcN1XPpu|9a z`j`=`;s;yxnNO;w@5BlfJ*_M_P0YN6RV3i*-5-5$?4hv)eG~PDQ)N$$d0L?Kggh1u zcuc6U1)vkLmdufrubU;Hc#S@jETNP~UsjAw)H79c!TZ*y7bBzi>dGYL2t)|nEp0np z|6`OK)}$jKXg*!&r_QGbPF|7-O>8R;fOu?4RHhkneq5|Q*=Mbt?G=tGGI0g#XTR8x zXR9S9!JHm7+DwF#g&`FS^K=?JxO^um^$-fSNKJsT%71t<_?+!OB0Zx&toNzdirO?8 z2Uewi6)YxQC)AZqDFLpKuwCK4WncyOF5f<|XF%~cnrCAKaC@G-&&L?Q%O82Ta|`cS ztJUS7*JzX*6Rxj?fB-&xA9ZQ-QD#(YF##Toc0G@0DD9=b-nsUKoHymGjUQh0>6jG?QGN1 zD8%L>3aZOv)PBqC!GmU~AD+6(R?%zYd>RDj-Z!X@HlUHkb8gxgJ)}Kbz3&SZXom2} zifB6N2x1SI``pjQ{3h)U{i)9o6t4`=)dYCAHhI#|>T>X)vUT1;MnCLu+N09W5bQb~c})ZUAfz)?NejR(D+c9gY;ro+ZvH9k0iG~bH6C$vCeEDWi&isy14{tS5 z7U&1t-)tujuj0L)=E(V?FnM&`F<0b`4Yq*2NwaD(I4b#Oe8UFd*rC68yBJIwS8m_> zDpc@_Kk^~;0-GDD91hv{K-HY{MUkrNBP82zP2Kx$>QC}h>tP~;8T;zl%};-t^LYl~ znaMliPdH}3?bKj|4REm1XV4hF1T9fRSH>kuv4N9fgOaVw+T3WT_&$~-_$sp{bA984;a$;opp zm5*3S0pH`36|f>bC{uc{p4v!rc zoCwaRE5Ox%uW}wf1yuv`DR&ePYLF~Phht>poLLUhs!LI;e*65a&};N zMF7{$3@{m4U%j(kqqU4NKG+&+DxNuBE+fp33F+pS+Va~lcwwmb6E@7xhCsARfN7lw z!;O>o(yjd;KC=onDL_hMnsnjrPUt`Yy6k7=I{c;!fn9`O@ObCo>MxYl|SSvC)v4t`^u||dJXBN5W{)C5DIG>H`+Eh16LqH0hQ#;Mvz|=>I9MYfnlK#h}X}N zyfyRytUObGJsZz3Fc#6};PXg$HT00ez#;~e`61?NTyy|V4Ak2ORc6+48Ve!BTFW1c zo&iTD*^7T?AfY6KV%|D7H#eIxawOUdW1jYtT zieE{PPfabnZCOz8$kFEMr{;=EZ#yi7AMH!_7prY5STN{tAl;T zI9r|+fDw+|B>L`czO$hjWak7Ih)c54D^T4)^wZTp8$+_}05BSXq*%BrL=W*qF!z!~ z=ZuO)7>lX_SKwC1r=c?PRDBDrVxK2O4%*@&~OBDE2Z*SxNR z_N9QhbMnCE$EX$n(g|)y-#t27>ZNrP(N0%)Zx+Uv4v5zduin>5aW#2=eDJq4?yNUt7J#J7FGTIp-i}YkCs{$b|E44O!U?Os5DE5QMI2brT$uQEHi; ze6u2jM3J;6?dxx_i3N4jrj|*5f^ER=)y;9tqXANYlBSf|$s0;@wQJ)0F-hFsYZ}2a zdPxxA!3ET=ojb=&++Kf-S-(LeTOHUVX>y6$Ce1Rlp_{3-n)F;2JFe8dpm2`Hn;dRYbAtvQ&K|Z z7?{b)?*&@aHJ&<*$z1qCvsEiqqHVgH9hKj{pQ)+cYpO|o7soL;k~D*0q)6Rif@2Lc z*$qb&D$I(=9k`>{n}3BRnX=qV7HryK55BH7j7ej3J@{bpCOHpGt@ASs%|B7dirAhg zJ<>loO3DUl&G7>3FESK^X@^I)Dk-o`V{_K1AQU`g)DM!z zvOrGx3Kt2T1*wU7TaYJtBAU*Y1;nzbVzW`%NUMh(Gl_*#ZGT2oimfeQDdhl$bvz-x z`Bf9r5b;>Pm|z>*DqQlP8n#kMc!~z{#;K#V@DC(|)eka4O`11Ls#L&$Br<_jsPeP6 z$yfrtq#8-Ex-GnTb)_bw@xQ zDQqIc3>pK0wxOm^Obh_?p7iG8j$2WqlfRAHKPDDa1C;XT8g!?jDGk8Ra2n`(_D+~n zn+EIh;jm!INX0Aj)8J6z(qAcG$(L9`{xfhFvQ9QUqoyQ)V|~jBrbj3zQjA%eC^$OU zY-q5Ue5$M|=u#~qMybIRhDR;NTeS%Rn*R;xiK~)|afJotg-A{H{VDRcL|1^%vG10& zCkxr3#0dO-Xr=FQ9`0r&j$mxx(5!=HKJ{1xyg%Lhb`{33ok%0w7sN=jw^H_(*^JC1!dCSL{7^LN7mlNI`sui+1#e9IanqK`7^`bOcK|x z;mEvLK54!WR1Tl;Y~r6h3<`Mkp`M!AygDEj^E#2vym;ww`y^8>iiwNfN^}z4&3~DL z0V^cYJ!T|*(e^T>BiThP)@!eQLWO=%6!bum9<}N^bild&a+4G?@M z9B-L__*Yw~gMbQX@rO}>>_`mtJ2>*p`N7kkN&KR7Jb}ah%Vvl;u}5+u1c3#K7EhVT zE9z=uf$u;?houGs-y96O?rr}QCDS|$fo4l~wVRy8yjThxp{8zswrVxeXjI`8Hk7^L z@EDHMJ7!)csb?#@%fn5Nic0j)1V5I_5^R3O92MePq$heU zqb4_{2oroW0fz3U`p^@)1LyV!jvu_`@F&}(PTe*OvcQT4RWHk-xBXYv#vD#?0SqLa%m<;6|mg+~fOO6NZfuiVM1FspFTayo61G!Kq8?xT~K#6X>fi{t>a*6ol_HPOB z1`9mR9JI!b0CRH_<5{pbTK}29NYUYgGSo2FeuBf&9qVH z2S20CTEs_28%+r|yl^WsO3yzgqU3=+47K}qa)|ID?TsA15tA#24j?{J$#g6-4H#w+ zCD`rEoW_^T;r9CV=khb6-=G9@FxFH@(jBiKY~FPeiYCVBe*18f5|2gLO&MtLb>De* zl!Y^{#FfGO^rt4wXLM&ml=FH!Sb?cw&lPRAA8R&srIXm@E!(gQIYx|T-C->A`sCADH4QP0A)aj($q62S z;r|Iv3!E6#hXnW8U)9PHy0WAtDmRvrO71&=~tojsf#%T`_L` zBnN&M&SEzZDPSjmig>`0#T#MOQcs*7e%jO3iUSY4@`b2+dMIOT`_iEjlEAE5e5iwmD%%g|frKnY!8(FHfEw3Bniona z*ep9CYKQc+GhwB-6lVRs9Qq9HjOAt^PaURHbh_I7zH-IF3D04b&*As8%#3xmSW`12 z645P^=7r78V2*fdkONZtxo&98SQ_-Y??}1yuMH{(GCh z-x9G=ZEw*I%Or0VQ3nxvtlo*t3ka2w!Op9Arg8(JNsRtv-VA5r($l`?dG1>mD zj&_cw!)l>&DfCiR0Kr1t#fE@09~3}-8an&EVCOepCJb%C}CpQaf>w4#ILFZ)Dka(vE0R}tXx*m zbd@QjBL#x#zUoFU<<7pN!kY`t9($N_w^vYSG8Gs_C5;^Xb1S;gy>w_&rF3O^JQr=d z$u}#MOj;o$1@X!!abfUtfpuMP-`}8hrsJTzCG|Fux=j^Iv-G?qk1ak}zmm%Mox9{H ztHW#4uz^&iT2HWVp3j{Vd>}1$Z!x`zB=si5l^%``wr`){a=duUJTR*^{mJUC|II^9 z5JuKn@E7I@bgsy_ae@p>A$vxuxAjTTN4#6Nk8A)saVS;fZ!12HPF`}l{)vPGT(W1T zl?iDi#K*8&Kw7+Xw*Ts*2V3Rs%A#$kd}H$fA%Rhj*Jt&zRDr&}o!|Npj}(pSDS3}# z*)pc$cQyKyovhQTvmk=H#=?sA=DleqJ@k@CSP?J6O0Z__464i#o6r-z{#`9CbJI6( zF$)EfHiF5UZr`kcqQx);jAi~%$($X0XO*OsA{sCUh~EfQ!AW4k-%VMgM^Rs>{+`4F z4W?lhZtjp%?X}o<0)Wk1m8y6e@ouQ!&ExM|Y(0n?jYSXt^=TwP?-Q&}fOTI!>m-b0 z(F8!_19D8<)b2d1Z^LUR_J;jnM3IO!R7P1os5Q4s08H~5R!qJZbt?@a#HR-@Y!c0q zJ`ju)G-eh7g$!}u{C?2_SeBeETEyKiVEB{MrEixGUr5VE206FGasA*@gBF(^hgY&k ztzvs|mp7<_zuR6N4B`)4BuHquY{!k~PvKd7K*HjTS%FMD75Ln#x-iPruBOvQv zr&KLqM-G)y^`Y8E4uEiVl>_*kbosFH*F-gqK_SL^q0mB~j;BX>{9FG8F;$`%s9srr z8F48dUEt5M0F`Mwa-365Q<2ld&*dc;;H7TnD}BG7auB=eH0JwgfA1smJ5gswBzaQ2 zrYrxjYO&_*e$ei)szQ`s)qQG#;@`vP3(dzaW<&v3)X=ON{Fum;cuwU(#zkmnh_vnm z{^kUqPnp<*rI%SCWMHUHOdeeQ!u=gx0ayWD-+^?WM5l-Uca;rHkvFydf({e=4w7a~ z4DlnU7vax@qmshvD8GAxBV6MMUGerd8aVRt!9PC$lslPD69gb1G;Q+SptJAN+WeWBD@KiK zv_#X7@&yb{Pc?0IP3HXc;8kx)jbP>gFn=yA-TtL1%#_vEb;3(%MwC~tCTp}1yn*l{ z8tV%!$_DFwXt{Z71_Kh)+YG7+nc9Um45R_gUrTeq1%Ce(Rk`%V~Zv_t?QbyR@M;uS%R| zUox#1sbp;rzEsz6%jLE3v-krQeUhrZwiXfVCkiH$QyKTN%kIyH0$JHTH5j(MRk4L$ zo?QLB30dCjkM%pWXMI{6v}qDGE9ulmWh1{P3Uuo(hkUyJ9_qn;_*C=BZS*;OZi{K- zXw}Q4$g5zTAYh5Zb7?}8&F`M6ALT7ewjE8Eogv??Hdwyv-#0;IvRnj4Mxd>)^`GX$ zDCD)Lm~4w$34^5q!F{&=&V($C62A4bc99Fpjai#e2|4A`o`}__Yay}HMHq&(S!3;; z=&uTulA_-?=c^2wPndWiE}NqKf_1{hv!_YqarB8rI9>gz7T_n-di@=|!mKJgGbX~` zzQ_sF?V^##4I15J6CFvr7?qRNf7Z?})F+df`MjRbWC<(}^Lw)Q&!|#v&0rOaqk6B+??tq{H_vzw)&!z2Mtw+kUh#G zt#*={;qLY=rhg?n1ER~YCB_?ZtU><;;z;=SkF%M2oi<%2Q$!xp!4c3==b2MOgH_Y*3XL+>a)-T&C-coZU!8K;X0;UuL%Lk}(ItQWAoM zd*?HA=-SI4dGPpFM_tx$u`r1TfFev9_tu-|zwu?4Z+LK-&c65Q*B?2%_VBV~!?bnF zH6A&8*p`%*J4hnIy0$>#wlO$Iub-H*!Z3)|ESorW_JGTs3(Tt=pIAIDTptOkC{GVu_36moBR>`tp)j-(Nt{l8WV( z`#(FY)*Sj8*9<>?%dx~p)f;j-@#XON$T+c$B|2O=5N($j315twbE2;)qDK}Qu3HC; z|Lo7rPWbg#uKf6xyEowxg16Ax`jgh9%&HV5iB@~duV*e%8RQ;P4sij~m56Jt%F!ck zYGwcUk>$Ppx#JwzVazim4gg)=vKr>-mUR+$Pwq%&n-o7JFh+ZBT|$Q`^CbSTbRHe7 zURlVv{CV0+lnZN6PM)5%EEoG`EcSkjRwCH_@7h9Jdk_qFEKBjitYX=*V|n}3%9&%7 zM%NZlSObEwGn6%piX2b82*HlZs2C-cq>;ZBMF@KMuq8PO)BcGKd(Nz~umt30#~GvP zEa1SYdoS=O12SUST!-a*D>Y^jh~Ej~vS4MFh_pOqZtq%Y)reIm)8g-V4gY2-h$TVu zK&|Ne+(H!>j`q*3Kv`aE&B~m%ytK4*H(*Swd(*&b2ibILg~^5GD+9+Yd8u=BGS6-n zo0zY*z~hpO%g-UgX!#w>P1?g~7M<8p>@NFz;q2wzx#!Di*EnruN2g=Ysn?dA+;y1p zU1fXG_p;}S2dzfAdu9#AoqN*j=K0|HtUO`kNr|s6nancZJ#ewt-xrc`H+=ma4>iB_ z{NCs9j#jo%W4Sx$Di^lQ7iX`kfeK-T)zzh@@O)=&Vbk#)tFNr|+3^C2qHi?Wzt6n5 zvlsb~4qE-QP;9xoP-$Uv>w~-*zaGB-#T7cTlZjUN^m6}s=!EnxrUAr8SWi0_9&Ie; znSV+lC!h5|wDR}e!! z)!$l}23uHE`@8GCyIg;!yE>iKIJ+yrfa9{}=$Ts!4D*;JI)DsZzxSScfa>47b-wo= z7Psf*xV6&c{S%v@h`c2o{G9PDp_HJt|MJLN-^iw5%iIXi;-@>G@K6lJY5mgDlo9^V&HFfZ&cMCgFo+rw$ebfkwbxNpRdPD*(>?z1`X~vJ< z=wMQwb3Jvz+p9PI5d-s}sYs(mT~4lokTbJ;z4@WWx_~05fLjkBRV~^qtifX4A8fwc z98!H3GL@{YzE#>P5Ny>oWON=`wqFxYTJBS1*4AXbhLR9Roz)+!?CjGd=1G9y(6=_S z*US)awN)0Vx}y~g(A-QUD!>)=Rur8EMmR1d*c0ZLtlG(=YG!*YRyv5ClQUmkIT#6C zs??=EMWaf_zj(8Ab4sMn3Wo!!^~J-4VzIbb3Ry(5XT2m8;V+E)I6<%QUpqZ^&!h(^ zd-k?Nw+N^N7#M^*36vm3RgFjtNl(LJP~an)eZ*i$JDks_q(pSK7*qQB*A)`rGP8s*!S_*}<);KWSFsy7CD8{@S&Wf+M2*E} z0oWt-!#FWq4?abM(@KCM?T~x5{rB0{K1%|Md^6VtwW6h~86F+|hbe3X&MbzRSLCUA z0`jtXErdxH^`~8GP)>6767z|dJkizfYhV0kT;(jjN@|az%{tPJ`G90B6;tY@;#FU> zj6@HRht>l-61y|LV3TBYcMi-%Hf^(I9T($VQBxyY(51!j9KA(#*`d|ulSx!owxUWn`;?9k0wcbw&(1-5T&TuiAyo-D8P%?7(9WR&_3*&{ zzcX;dIDo^NKAMx8&|vSc|DCybJKsE}F>qHOwvd<&YopW|zyo8Vu`zdVY!?zMZ;yoQ zit+c+{UE(HSvakqEj8l2HV-$iffVd4BUvm)9Fr_M@rciByn&qFIs7X#l5%GyM818O z%FJeGUUx#dzcSKM1QL3xXkyaP?)!uWslpQVY=2mPI-CM*B=Vl~W~)GWSvS!t^-0?n3T6AOR!bq!$4Q0{hKr5 zzDE=&dUa8QtM6-6Tl)z*@kk{gN^3I9m)GYt@XlZsnz@?tkFXJ@Ebr!35in8LFo9v@ zMLyemBYE`g8Hq!Rcdf3Rh+-|`9ej^dGO4bXxY%X zle}(r!VbMHy&Q=P;i{hI=v)_n+-dtNI(xeJCdU`jWcrXpL?4O^ojL>pUAX*Kaaq%D z{dJ=fCwdg~XzEJ!cJ!bJA8aYz^goUsVV1KKA)4oaaN&_9Rh6>b4z#=uAq zc|Uf*!`O3kBoQ^&8!NzddRMy1TJ0bgYx?)*DrrpMy=op1T)WM{ib($Xw-q)(AEac!{+e& z$%YOMNWky%znUu6LM(>E(Qd6F4VD;kx_&PLrZuQo+IqcFLmwyS`I!ff8mV%C_&W12 zNJhu54{^9K=7P8mq`xhloA-)cmtD&`|fg0L!_kY@*5dw}Gm2CB`P$3Xb zRTj+pzAzCtyCN$kDLaCF88_bC<`bqa#aVs~Wg8V}e)Lexss|N2pW`F*bdLgu${2<_ z?hU-xMtT_kSl(Q;&p{{8h2adQt+^SsBQpT`AZv9M={DUziZ;ejw|( z)}15TJiqf^z+4c(SlA!2Q`EhM!g5!jU;R7*YEYzdeJQ*iXObT1H{UWvak!$w;?jQf zA>l?wWyClOakzQ*4E^dIPP-)j3qBQuRK<8BHjsx@E%xq`9d=UtQx|D=+iBKCT7{;(JnubWnr>zK46%^-&vV7THiuViXq5d-jrt7d^T4fl{lkvNV9A+n*G zXXlXgu<220hp4C_A7kih)%+%|m~=RXRjf`2O{PrvMd>a3DQ5IJwBV`TWQmu=&PF8) z6#0Odg!6~3ac>1}n6|(?VTd~orgR{g0pM2Q`W$Y5@F@{RbIOJ`d&jq&EL9de9nA<` zxUvI?dANCpsZiwoiO;ciz>W}^i}y;*@}s0&haYP^3QsvPFS6^|Q3W7@#rpE?lvFwy z-g_lPSvB zNR0n+Lgw1?hi|?M^-dpnTzdJK(#sCwmX`Glst!WKD4{4i8)axhF^gju zY@!~{aEvT)iNs^95OLA5t}jk+-;!%^`m(a)1*C}`Zy(IQ%N*vE+J3B^K%-mJ6-R@@ z6|{@UM!lb~4?~X_d^tAiNDd1fQ3jfb^F$E)T66O>23WUOS7uuyh>_G?>X~PZHd@?#YD@7Z z11pehXOYzxEP;M9HYPElC<;FLS92e@jSVbVgiRA$fO}$Aw zUOs`L%%|Hf9WF%>%0_C@X0`e8;$H-TXfug1E{_=v4zAusd2}eqhbxN{i1TxsC30OE z&f`XkCjtSfx?DykSurz38!4j`2b6GA-sA{K!<0m@KG`GeWp-LT3ATLtwOc3W7qmC! zU2XpOy$A0d-#&f3WX|pKJD(+#&idSUI-U0f2OVS~rfft2NLkZ5mngXS5Ozd;oM%%9 zm3j$g5Vi(RKH;rie)dq8SUZPN7w>6B9(T z)|5;&^QcBinzES-)hQ)N<2=GOzawHvs_%0oo(o+TT&pgxd9fyF_O8Qg7(re^lYBd< zNt||+Aa{)|l0*!qpp94(4N~Gv7+1}cM=I% z#~?pEXwR86EY0^25(fYLGz;|V54~qyYjUcSEGpRqCHpa{KUglIh{E?f&uzB|8X4=s$2NLY%FS#@@6FFJG&E z-2p7rBH&Y0>Pei>y{0mEw)d;*mgAf}(?gY)L5@Z1?e(f1M5hcd|;`E}ZR|&U=iw6AJL=XR4inH-=J|S~^xna=jrEvC1HVYZyYcLsFf> zkLBQwcrdN$tZBzZB#fH~nNTnJcdJ=4cBtV~yjNM1P;(?qh8mepvmcGnG&Oh^+(Uc> zi#+0bGDJ^tP~jeMozpy8RNR!$*)Itt2|!Hc&ySr=HS9}Ui`$R^>q(0@E0B)fEQZP~ zG1KXZJuU~*Oc#VN3l@dOV3GkHFLeR@qQ#o~zd0C8tXQd@cq@oPM9BjXf_Y9Op_4&L6V72+c`&lr@+z8RzyhJ&J z&>6+upOm6Pr*4|tUBEg#i#^MCo)e9X6b0Sb$?YG1IsA+7h)g#ZA9jDopJ5nJ1yJ$K zfY_^9QGciGYAQ_-)ls|hPZoD00rhMLn)!J47yw~%`BV2QA_#@uNis8fcN`(AuuVd@ zAFg5<%nZ|F#TX{86%<#teMbST5d&Pi{PmVfE`;A&iB6)DEUG^Jv;_|C68Cs~xUp~G zGj*FxDO1VcShT?$E|r(D*<~Jl7{|L32a?>q?KvA1x>$ijv|>~&1uLyU!I^BkdP!r3 z#KT<_j`sRbPra7`UT;3=1=SJSBaKa+`S_jdvBbkQ6E1=bdVpMc--%4+tfmi)#$^19 zGSImdhx3WQYBk43g4_9ip%mBIEPlUI&Eb3FE-hWqHA{(pApjlSZ~w^WmDVDxQpn^x zH)p4Z%1;v?%)TxZ8e+8NJIdg=%aPy6omhN~i*dZmK8KgrE4n36yjog-qR81+U&Nl3 z%RCJ7+xHCD&?vgIDnohh0fL@F8s!}p#u1(LY*DV7E zowX(eROlNL3|!?8ozIb+eY`wo7fLE9&xm?l2J-6rTWyFk%vh=jS{D2`Q3Kp$VMfMY z!@5}MNe7Yf>eUsi3iQWOmVd1_H>t0BUCXk_*i6u#0Q~U#W^P~=ClW=WpZ6ILa%jcb z7g}(<6>}1Zx6D|wTf*3%$1v@~8m`z)_S7&_Km?6N$l?lpHv%nonN6HE{*?^kACQYGH9S$8>E!7|j zf90XOxnbszK}v!^v!p?K1G1kQZthJo%6c8iFGPKym`zuLpWQt+gc8%jmBkz*MIdxv z6!nQ}gN&pWs>Y58ZN7$Epv@VrXc=p+zKi`?Tt#z0+_Bu~PfdcqENfGexO{*9Jh}2( ziP40q+i&~?@*IFrUGoT%)){sxTOfL6U7}V2WbT3bv?Oq1%K9MYsBV25=QpwdCo!2n zcoo2^z0KLJNHG2vUzd7BL^S9WkrWm}b&MfANdg%&D>Sk+MiR6*K8$0pa2M9p00r=4 zNVAib(bOt8WP<>j55g=hJQF$q3r<0$@<4&~iN>W5F1JReRg-_)><@ z2U9AOj#Rakfs*Zieh8x$=pw;-^T(t)UY@ES4zIq-)cl1|mi(fxKLqBkP$!%N*SHSQ zrSDUBm?CPdD5Cd*r`pT~s0`QkuiC(6hKww_veRNhH6LtCy4RNnvd3TpXH%u1+n6<2 zN^4OO7l&n?rqE=mWdReDH)Z*Sgz9vYJc+VaA3G5V8W-J1(PDVSqd9SY`wvZp3LsWd z^h-bz+N%Fq?tFmHYV-a#J3+L=k|Kd3F3ZL8pk@;xV)yC64+-0;KsA$Q;GG`cH6n&i zS;wif`b}N$WQqw)zHI8GaBJK=v~~w{q-&L~Q4Ta-Gmy*-;4_{38!gB5MNJ7TF?BjC z8AwR{%88P$^`@1ZM61w*DIU4P+4|mo(#f0_>aUdze^`oEf;sEfv`wj$fI+8uM-?*B zJwaY(m1821WJt$IK$aD44mTexm_do@8$?$hM~DRag@h>C&>1-fR}Pj^qdryBEKdlg zYnPw)Y1uDwm-U$_0YDBAZ2c9B)v{|k+cqhU%7MubD5-KFY%4Pd@mP@2@Tn@JXFo_` z#%&@aYJ4sc*Alk>CmWgdXspwW4Q3=K_o{f{Uqm}S_=F0S*V+ohQC2LY?bFb88rBzH z4jAna=yfU_g!;<1ED`jCKp@EJ_U;bQ`mE9%)cPiHp=4g)M4HWX@;PWdBehX;s76D6 z2i&5hXp{uy<93ocO#dQ*}u1&Xc|ok&ip9nSZ)3;r86qzYksPgTB3n}6{;HG zqIPa4%FqXAe0=mLSVPHqQV@?aTq!lX#OG$ClGOkw5Bx!j$DBq{vRlcjgZO)!}u*p)35FT_KG?B?jF0acfCMd&T3Oln`<36q6 zil~%xwa=|4zjN=-;r7ood{aDPQ~?Du1>&Y50&cz^WLQ`x#Sy|{euXSfvIE`TitLkHb^Jb;uV-1X!;8xFo_%KXP~Xy<)#ka6Jt&N6 zvRi#NqJ5D$dAl6fR-tkqkw_*kDH1mMN~DYpM%KvkrM} zCidrN;VN>{fJnPS=v;;e(UIPcFvj=NJa#!^gvI8~|DO64DABIv0DC*n;8hPcHZr3> zP199%E*>Pr(=`Bvr;Xdh^xPc2Bas=@1-2R!4IqNcLq=q55~Sw>XIH{Wqk$odK!kJy$n86JsJB~l#W1=d#k~7!hj$Mf6wLEia3yo-y*L$p zuD``rM6mEiVhWb^O*7W+Rcbac68VzK$!rFtI~rU$j4_BI+md#{9z}zLDgJ%_a zdNWkyxwFR?efL~Wzn9e!mr>bDC5`szK^wibVO(ZY-ZyTJsAng zX%inGmZ(3D5Tcki4CJqHm=~!I_Y?OV2j5k z7yveAwnj&BD#L5&z|mX2`A)a#1Xdk2R_ejT79XpQm*p=OAj_hStL% z+1(VOa)YriS={fQ`Tq49{Tojf@@o^qG!LHHR)Iixw$Qux&kk<2k{xr7M`vY0p#y6O zHUKbk?!}Z~NnZT41|tq_TRe~?FNyh>pFHyAC%hn2n)-th^+s*-&iXJ(XHiau4zg^~ zj1RFQzJ+r%aKJggKfc*R`y< zpcR9Uleyfjl=*rmnrZE1pGRn%2u{u4DdTzh=S+&afS3Cw}L|`v5gKTj~95{88hDyHWt*xkOFpK%9j?Bp& zw(6&(p@0Ne5hG|N>s(_M3tSMBGSDM)0(mva%>&TQhX>jdBUp5u|>M>KA^OU>vs%-#=nzJa0 zX?fiChc%%Vb4(k{dYY=reTN zw{AvOL>v3$MoKxc$xhdKh-D;U^+^PuJYp1jE(3A#LxdZwm+!8InXx}kLs?Q76H`yF zkJT!%=kTgUj7!zGaYEP}UjC^HyR)x`F$Kn}vnt0K@l%aSU%J`pVtJkn^dBfkwRd02|flNXhwJ;mIJJV@qjGQ#|mD5x2uH7?{z?5~N`N_we