diff options
author | Minteck <contact@minteck.org> | 2022-03-27 21:38:10 +0200 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2022-03-27 21:38:10 +0200 |
commit | 2328e5a5742c3fbdbcb4ded8f1d294b4a20e08e0 (patch) | |
tree | 7b783f6206e6126192166a4c031617800ff5a275 | |
parent | 4622ccde9cf34b8518dc9507382fcd2d7eafcb0c (diff) | |
download | core-2328e5a5742c3fbdbcb4ded8f1d294b4a20e08e0.tar.gz core-2328e5a5742c3fbdbcb4ded8f1d294b4a20e08e0.tar.bz2 core-2328e5a5742c3fbdbcb4ded8f1d294b4a20e08e0.zip |
Commit
-rw-r--r-- | .DS_Store | bin | 0 -> 8196 bytes | |||
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | .idea/deployment.xml | 7 | ||||
-rw-r--r-- | .idea/php.xml | 2 | ||||
-rw-r--r-- | .idea/sshConfigs.xml | 14 | ||||
-rw-r--r-- | .idea/webServers.xml | 2 | ||||
-rw-r--r-- | .idea/workspace.xml | 491 | ||||
-rw-r--r-- | app/.DS_Store | bin | 0 -> 6148 bytes | |||
-rw-r--r-- | app/cdn/.DS_Store | bin | 0 -> 8196 bytes | |||
-rw-r--r-- | app/cdn/dark.css (renamed from dark.css) | 25 | ||||
-rw-r--r-- | app/cdn/favicon.svg (renamed from favicon.svg) | 25 | ||||
-rw-r--r-- | app/cdn/fonts/Nunito-Italic-VariableFont_wght.ttf (renamed from fonts/Nunito-Italic-VariableFont_wght.ttf) | bin | 279936 -> 279936 bytes | |||
-rw-r--r-- | app/cdn/fonts/Nunito-VariableFont_wght.ttf (renamed from fonts/Nunito-VariableFont_wght.ttf) | bin | 275436 -> 275436 bytes | |||
-rw-r--r-- | app/cdn/icons/.DS_Store | bin | 0 -> 6148 bytes | |||
-rw-r--r-- | app/cdn/icons/badge-filled.png (renamed from icns/badge-filled.png) | bin | 3511 -> 3511 bytes | |||
-rw-r--r-- | app/cdn/icons/badge-symbolic.png (renamed from icns/badge-symbolic.png) | bin | 3984 -> 3984 bytes | |||
-rw-r--r-- | app/cdn/icons/badge.png (renamed from icns/badge.png) | bin | 14049 -> 14049 bytes | |||
-rw-r--r-- | app/cdn/icons/bucks.png (renamed from icns/bucks.png) | bin | 13123 -> 13123 bytes | |||
-rw-r--r-- | app/cdn/icons/cinema-filled.png (renamed from icns/cinema-filled.png) | bin | 3315 -> 3315 bytes | |||
-rw-r--r-- | app/cdn/icons/cinema-symbolic.png (renamed from icns/cinema-symbolic.png) | bin | 4990 -> 4990 bytes | |||
-rw-r--r-- | app/cdn/icons/cinema.png (renamed from icns/cinema.png) | bin | 13823 -> 13823 bytes | |||
-rw-r--r-- | app/cdn/icons/cloud-link.png (renamed from icns/cloud-link.png) | bin | 33246 -> 33246 bytes | |||
-rw-r--r-- | app/cdn/icons/contacts-filled.png (renamed from icns/contacts-filled.png) | bin | 3105 -> 3105 bytes | |||
-rw-r--r-- | app/cdn/icons/contacts-symbolic.png (renamed from icns/contacts-symbolic.png) | bin | 4038 -> 4038 bytes | |||
-rw-r--r-- | app/cdn/icons/contacts.png (renamed from icns/contacts.png) | bin | 10925 -> 10925 bytes | |||
-rw-r--r-- | app/cdn/icons/famidata.png (renamed from icns/famidata.png) | bin | 375 -> 375 bytes | |||
-rw-r--r-- | app/cdn/icons/familine-docs.svg | 16 | ||||
-rw-r--r-- | app/cdn/icons/familine-help.svg | 17 | ||||
-rw-r--r-- | app/cdn/icons/familine-media.svg | 17 | ||||
-rw-r--r-- | app/cdn/icons/familine-movies.svg (renamed from icns/familine-movies.svg) | 25 | ||||
-rw-r--r-- | app/cdn/icons/familine-music.svg | 16 | ||||
-rw-r--r-- | app/cdn/icons/familine-photos.svg (renamed from icns/familine-photos.svg) | 25 | ||||
-rw-r--r-- | app/cdn/icons/familine-planning.svg | 22 | ||||
-rw-r--r-- | app/cdn/icons/familine-recall.svg | 15 | ||||
-rw-r--r-- | app/cdn/icons/familine-share.svg | 17 | ||||
-rw-r--r-- | app/cdn/icons/familine-you.svg | 20 | ||||
-rw-r--r-- | app/cdn/icons/familine.svg (renamed from icns/familine.svg) | 25 | ||||
-rw-r--r-- | app/cdn/icons/help-filled.png (renamed from icns/help-filled.png) | bin | 5251 -> 5251 bytes | |||
-rw-r--r-- | app/cdn/icons/help-symbolic.png (renamed from icns/help-symbolic.png) | bin | 6677 -> 6677 bytes | |||
-rw-r--r-- | app/cdn/icons/help.png (renamed from icns/help.png) | bin | 12722 -> 12722 bytes | |||
-rw-r--r-- | app/cdn/icons/home-filled.png (renamed from icns/home-filled.png) | bin | 2557 -> 2557 bytes | |||
-rw-r--r-- | app/cdn/icons/home-symbolic.png (renamed from icns/home-symbolic.png) | bin | 2886 -> 2886 bytes | |||
-rw-r--r-- | app/cdn/icons/home.png (renamed from icns/home.png) | bin | 9893 -> 9893 bytes | |||
-rw-r--r-- | app/cdn/icons/money-filled.png (renamed from icns/money-filled.png) | bin | 4441 -> 4441 bytes | |||
-rw-r--r-- | app/cdn/icons/money-symbolic.png (renamed from icns/money-symbolic.png) | bin | 4977 -> 4977 bytes | |||
-rw-r--r-- | app/cdn/icons/money.png (renamed from icns/money.png) | bin | 9655 -> 9655 bytes | |||
-rw-r--r-- | app/cdn/icons/music.png (renamed from icns/music.png) | bin | 3450 -> 3450 bytes | |||
-rw-r--r-- | app/cdn/icons/open-book-filled.png (renamed from icns/open-book-filled.png) | bin | 2493 -> 2493 bytes | |||
-rw-r--r-- | app/cdn/icons/open-book-symbolic.png (renamed from icns/open-book-symbolic.png) | bin | 2735 -> 2735 bytes | |||
-rw-r--r-- | app/cdn/icons/open-book.png (renamed from icns/open-book.png) | bin | 2079 -> 2079 bytes | |||
-rw-r--r-- | app/cdn/icons/opus.svg (renamed from icns/opus.svg) | 25 | ||||
-rw-r--r-- | app/cdn/icons/pause-filled.png (renamed from icns/pause-filled.png) | bin | 288 -> 288 bytes | |||
-rw-r--r-- | app/cdn/icons/pause-symbolic.png (renamed from icns/pause-symbolic.png) | bin | 299 -> 299 bytes | |||
-rw-r--r-- | app/cdn/icons/pip.png (renamed from icns/pip.png) | bin | 974 -> 974 bytes | |||
-rw-r--r-- | app/cdn/icons/play-filled.png (renamed from icns/play-filled.png) | bin | 435 -> 435 bytes | |||
-rw-r--r-- | app/cdn/icons/play-symbolic.png (renamed from icns/play-symbolic.png) | bin | 580 -> 580 bytes | |||
-rw-r--r-- | app/cdn/icons/radio-filled.png (renamed from icns/radio-filled.png) | bin | 4329 -> 4329 bytes | |||
-rw-r--r-- | app/cdn/icons/radio-symbolic.png (renamed from icns/radio-symbolic.png) | bin | 4514 -> 4514 bytes | |||
-rw-r--r-- | app/cdn/icons/radio.png (renamed from icns/radio.png) | bin | 8243 -> 8243 bytes | |||
-rw-r--r-- | app/cdn/icons/settings-filled.png (renamed from icns/settings-filled.png) | bin | 5192 -> 5192 bytes | |||
-rw-r--r-- | app/cdn/icons/settings-symbolic.png (renamed from icns/settings-symbolic.png) | bin | 7419 -> 7419 bytes | |||
-rw-r--r-- | app/cdn/icons/settings.png (renamed from icns/settings.png) | bin | 12301 -> 12301 bytes | |||
-rw-r--r-- | app/cdn/icons/share-filled.png (renamed from icns/share-filled.png) | bin | 3457 -> 3457 bytes | |||
-rw-r--r-- | app/cdn/icons/share-symbolic.png (renamed from icns/share-symbolic.png) | bin | 4941 -> 4941 bytes | |||
-rw-r--r-- | app/cdn/icons/share.png (renamed from icns/share.png) | bin | 11049 -> 11049 bytes | |||
-rw-r--r-- | app/cdn/icons/solve-filled.png (renamed from icns/solve-filled.png) | bin | 5225 -> 5225 bytes | |||
-rw-r--r-- | app/cdn/icons/solve-symbolic.png (renamed from icns/solve-symbolic.png) | bin | 6088 -> 6088 bytes | |||
-rw-r--r-- | app/cdn/icons/solve.png (renamed from icns/solve.png) | bin | 16776 -> 16776 bytes | |||
-rw-r--r-- | app/cdn/icons/speaker.png (renamed from icns/speaker.png) | bin | 722 -> 722 bytes | |||
-rw-r--r-- | app/cdn/icons/window-close.png (renamed from icns/window-close.png) | bin | 220 -> 220 bytes | |||
-rw-r--r-- | app/cdn/icons/window-maximize.png (renamed from icns/window-maximize.png) | bin | 223 -> 223 bytes | |||
-rw-r--r-- | app/cdn/icons/window-minimize.png (renamed from icns/window-minimize.png) | bin | 263 -> 263 bytes | |||
-rw-r--r-- | app/cdn/icons/window-reduce.png (renamed from icns/window-reduce.png) | bin | 468 -> 468 bytes | |||
-rw-r--r-- | app/cdn/intro.jpg | bin | 0 -> 1651222 bytes | |||
-rw-r--r-- | app/cdn/intro.psd | bin | 0 -> 115407900 bytes | |||
-rw-r--r-- | app/cdn/js/home.js | 12 | ||||
-rw-r--r-- | app/cdn/js/iframe.js (renamed from js/iframe.js) | 25 | ||||
-rw-r--r-- | app/cdn/js/loading.js | 32 | ||||
-rw-r--r-- | app/cdn/js/navigation.js (renamed from js/navigation.js) | 25 | ||||
-rw-r--r-- | app/cdn/js/statusbar.js | 4 | ||||
-rw-r--r-- | app/cdn/me/index.php | 6 | ||||
-rw-r--r-- | app/cdn/statusbar.php (renamed from statusbar.php) | 51 | ||||
-rw-r--r-- | app/cdn/styles.css (renamed from styles.css) | 28 | ||||
-rw-r--r-- | app/galaxy/css/bootstrap-grid.css | 28 | ||||
-rw-r--r-- | app/galaxy/css/bootstrap-reboot.css | 29 | ||||
-rw-r--r-- | app/galaxy/css/bootstrap.css | 28 | ||||
-rw-r--r-- | app/galaxy/css/theme.css | 25 | ||||
-rw-r--r-- | app/galaxy/js/bootstrap.bundle.js | 29 | ||||
-rw-r--r-- | app/galaxy/js/bootstrap.js | 29 | ||||
-rw-r--r-- | app/galaxy/private/footer.php | 2 | ||||
-rw-r--r-- | app/galaxy/private/header.php | 26 | ||||
-rw-r--r-- | app/genealogy/.gitlab-ci.yml | 30 | ||||
-rw-r--r-- | app/genealogy/LICENSE | 42 | ||||
-rw-r--r-- | app/genealogy/dllib/jquery.flexdatalist.css | 25 | ||||
-rw-r--r-- | app/genealogy/dllib/jquery.flexdatalist.js | 25 | ||||
-rw-r--r-- | app/genealogy/index.php | 28 | ||||
-rw-r--r-- | app/genealogy/me/index.php | 24 | ||||
-rw-r--r-- | app/genealogy/person/index.php | 24 | ||||
-rw-r--r-- | app/genealogy/private/footer.php | 2 | ||||
-rw-r--r-- | app/genealogy/private/header.php | 26 | ||||
-rw-r--r-- | app/genealogy/search/birth/data.json/index.php | 24 | ||||
-rw-r--r-- | app/genealogy/search/birth/results/index.php | 24 | ||||
-rw-r--r-- | app/genealogy/search/city/data.json/index.php | 24 | ||||
-rw-r--r-- | app/genealogy/search/city/results/index.php | 24 | ||||
-rw-r--r-- | app/genealogy/search/death/data.json/index.php | 24 | ||||
-rw-r--r-- | app/genealogy/search/death/results/index.php | 24 | ||||
-rw-r--r-- | app/genealogy/search/dept/data.json/index.php | 24 | ||||
-rw-r--r-- | app/genealogy/search/dept/results/index.php | 24 | ||||
-rw-r--r-- | app/genealogy/search/lastname/data.json/index.php | 24 | ||||
-rw-r--r-- | app/genealogy/search/lastname/results/index.php | 24 | ||||
-rw-r--r-- | app/genealogy/search/marriage/data.json/index.php | 24 | ||||
-rw-r--r-- | app/genealogy/search/marriage/results/index.php | 24 | ||||
-rw-r--r-- | app/genealogy/search/name/data.json/index.php | 24 | ||||
-rw-r--r-- | app/genealogy/search/name/results/index.php | 24 | ||||
-rw-r--r-- | app/genealogy/search/state/data.json/index.php | 24 | ||||
-rw-r--r-- | app/genealogy/search/state/results/index.php | 24 | ||||
-rw-r--r-- | app/genealogy/style/tree_maker.css | 25 | ||||
-rw-r--r-- | app/genealogy/styles/common.css | 25 | ||||
-rw-r--r-- | app/genealogy/styles/dark.css | 25 | ||||
-rw-r--r-- | app/genealogy/tree/index.php | 24 | ||||
-rw-r--r-- | app/genealogy/tree/mktree.php | 24 | ||||
-rw-r--r-- | app/intro/.DS_Store | bin | 0 -> 6148 bytes | |||
-rw-r--r-- | app/intro/conditions/index.php | 104 | ||||
-rw-r--r-- | app/intro/index.php | 153 | ||||
-rw-r--r-- | app/intro/intro.svg | 33 | ||||
-rw-r--r-- | app/intro/main.js | 90 | ||||
-rw-r--r-- | app/intro/session.php | 64 | ||||
-rw-r--r-- | app/intro/statusbar.php (renamed from js/statusbar.js) | 57 | ||||
-rw-r--r-- | app/intro/stylesheet.css | 474 | ||||
-rw-r--r-- | app/intro/webfonts/Lato-Black.ttf | bin | 0 -> 69500 bytes | |||
-rw-r--r-- | app/intro/webfonts/Lato-BlackItalic.ttf | bin | 0 -> 72000 bytes | |||
-rw-r--r-- | app/intro/webfonts/Lato-Bold.ttf | bin | 0 -> 73332 bytes | |||
-rw-r--r-- | app/intro/webfonts/Lato-BoldItalic.ttf | bin | 0 -> 77732 bytes | |||
-rw-r--r-- | app/intro/webfonts/Lato-Italic.ttf | bin | 0 -> 75792 bytes | |||
-rw-r--r-- | app/intro/webfonts/Lato-Light.ttf | bin | 0 -> 77208 bytes | |||
-rw-r--r-- | app/intro/webfonts/Lato-LightItalic.ttf | bin | 0 -> 49080 bytes | |||
-rw-r--r-- | app/intro/webfonts/Lato-Regular.ttf | bin | 0 -> 75152 bytes | |||
-rw-r--r-- | app/intro/webfonts/Lato-Thin.ttf | bin | 0 -> 69976 bytes | |||
-rw-r--r-- | app/intro/webfonts/Lato-ThinItalic.ttf | bin | 0 -> 48864 bytes | |||
-rw-r--r-- | app/media/index.php | 51 | ||||
-rw-r--r-- | app/planning/.gitlab-ci.yml | 15 | ||||
-rw-r--r-- | app/planning/LICENSE | 21 | ||||
-rw-r--r-- | app/planning/README.md | 8 | ||||
-rw-r--r-- | app/planning/SatteliteGiteaData.txt | 1 | ||||
-rw-r--r-- | app/planning/index.php | 163 | ||||
-rw-r--r-- | app/session.php | 26 | ||||
-rw-r--r-- | app/session/login/embed/index.php | 6 | ||||
-rw-r--r-- | app/session/login/index.php | 6 | ||||
-rw-r--r-- | app/session/oauth/embed/index.php | 52 | ||||
-rw-r--r-- | app/session/oauth/index.php (renamed from oauth/index.php) | 34 | ||||
-rw-r--r-- | debug/index.php | 24 | ||||
-rw-r--r-- | icns/familine-camera-wrapper.png | bin | 1598 -> 0 bytes | |||
-rw-r--r-- | icns/familine-camera-wrapper.svg | 48 | ||||
-rw-r--r-- | icns/familine-camera.png | bin | 906 -> 0 bytes | |||
-rw-r--r-- | icns/familine-camera.svg | 41 | ||||
-rw-r--r-- | icns/familine-console.svg | 46 | ||||
-rw-r--r-- | icns/familine-docs.png | bin | 25345 -> 0 bytes | |||
-rw-r--r-- | icns/familine-docs.svg | 37 | ||||
-rw-r--r-- | icns/familine-galaxy.png | bin | 89272 -> 0 bytes | |||
-rw-r--r-- | icns/familine-galaxy.svg | 91 | ||||
-rw-r--r-- | icns/familine-help.png | bin | 24615 -> 0 bytes | |||
-rw-r--r-- | icns/familine-help.svg | 38 | ||||
-rw-r--r-- | icns/familine-money.png | bin | 26639 -> 0 bytes | |||
-rw-r--r-- | icns/familine-money.svg | 40 | ||||
-rw-r--r-- | icns/familine-movies.png | bin | 16552 -> 0 bytes | |||
-rw-r--r-- | icns/familine-photos.png | bin | 53706 -> 0 bytes | |||
-rw-r--r-- | icns/familine-planning.png | bin | 10919 -> 0 bytes | |||
-rw-r--r-- | icns/familine-planning.svg | 76 | ||||
-rw-r--r-- | icns/familine-recall.png | bin | 549 -> 0 bytes | |||
-rw-r--r-- | icns/familine-recall.svg | 36 | ||||
-rw-r--r-- | icns/familine-review.png | bin | 64662 -> 0 bytes | |||
-rw-r--r-- | icns/familine-review.svg | 38 | ||||
-rw-r--r-- | icns/familine-share.png | bin | 22580 -> 0 bytes | |||
-rw-r--r-- | icns/familine-share.svg | 38 | ||||
-rw-r--r-- | icns/familine-you.png | bin | 35746 -> 0 bytes | |||
-rw-r--r-- | icns/familine-you.svg | 42 | ||||
-rw-r--r-- | icns/familine.png | bin | 47232 -> 0 bytes | |||
-rw-r--r-- | index.php | 237 | ||||
-rw-r--r-- | intro.jpg | bin | 191668 -> 0 bytes | |||
-rw-r--r-- | js/home.js | 37 | ||||
-rw-r--r-- | js/loading.js | 57 | ||||
-rw-r--r-- | known/index.php | 26 | ||||
-rw-r--r-- | loader.svg | 25 | ||||
-rw-r--r-- | login/embed/index.php | 6 | ||||
-rw-r--r-- | login/index.php | 26 | ||||
-rw-r--r-- | me/index.php | 33 | ||||
-rw-r--r-- | native.css | 25 | ||||
-rw-r--r-- | news_internal/index.php | 90 | ||||
-rw-r--r-- | private/FamilineConfig.demo.json | 1 | ||||
-rw-r--r-- | private/session-noconf.php | 102 | ||||
-rw-r--r-- | private/session.php | 28 | ||||
-rw-r--r-- | private/welcomed.json | 1 | ||||
-rw-r--r-- | radio.css | 25 | ||||
-rw-r--r-- | radio.embed.css | 25 | ||||
-rw-r--r-- | sample.html | 25 | ||||
-rw-r--r-- | test/cookie/index.php | 24 | ||||
-rw-r--r-- | test/index.html | 25 | ||||
-rw-r--r-- | test/value/index.php | 24 | ||||
-rw-r--r-- | test/value/no/index.html | 25 | ||||
-rw-r--r-- | test/value/yes/index.html | 25 | ||||
-rw-r--r-- | ukraine/index.php | 47 | ||||
-rw-r--r-- | version.txt | 2 | ||||
-rw-r--r-- | welcome/01-account-dark.svg | 25 | ||||
-rw-r--r-- | welcome/01-account-light.svg | 25 | ||||
-rw-r--r-- | welcome/02-privacy-dark.svg | 25 | ||||
-rw-r--r-- | welcome/02-privacy-light.svg | 25 | ||||
-rw-r--r-- | welcome/03-devices-dark.svg | 25 | ||||
-rw-r--r-- | welcome/03-devices-light.svg | 25 | ||||
-rw-r--r-- | welcome/confirm/index.php | 68 | ||||
-rw-r--r-- | welcome/index.php | 806 | ||||
-rw-r--r-- | yt.php | 24 |
211 files changed, 2606 insertions, 3257 deletions
diff --git a/.DS_Store b/.DS_Store Binary files differnew file mode 100644 index 0000000..c7f870d --- /dev/null +++ b/.DS_Store @@ -3,4 +3,5 @@ app/console app/help
app/money
private/FamilineConfig.json
-private/userpics
\ No newline at end of file +private/userpics
+private/news/20*
\ No newline at end of file diff --git a/.idea/deployment.xml b/.idea/deployment.xml index 45723e9..a1e5846 100644 --- a/.idea/deployment.xml +++ b/.idea/deployment.xml @@ -1,14 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?>
<project version="4">
- <component name="PublishConfigData" serverName="Familine" remoteFilesAllowedToDisappearOnAutoupload="false">
+ <component name="PublishConfigData" autoUpload="Always" serverName="Familine" remoteFilesAllowedToDisappearOnAutoupload="false">
<serverData>
<paths name="Familine">
<serverdata>
<mappings>
<mapping deploy="/mnt/familine" local="$PROJECT_DIR$" web="/" />
</mappings>
+ <excludedPaths>
+ <excludedPath local="true" path="$PROJECT_DIR$/app/photos" />
+ <excludedPath local="true" path="$PROJECT_DIR$/private/tokens" />
+ </excludedPaths>
</serverdata>
</paths>
</serverData>
+ <option name="myAutoUpload" value="ALWAYS" />
</component>
</project>
\ No newline at end of file diff --git a/.idea/php.xml b/.idea/php.xml index a070180..6e91484 100644 --- a/.idea/php.xml +++ b/.idea/php.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?>
<project version="4">
- <component name="PhpProjectSharedConfiguration" php_language_level="7.4">
+ <component name="PhpProjectSharedConfiguration" php_language_level="8.1">
<option name="suggestChangeDefaultLanguageLevel" value="false" />
</component>
</project>
\ No newline at end of file diff --git a/.idea/sshConfigs.xml b/.idea/sshConfigs.xml index 8f4dd16..de67e77 100644 --- a/.idea/sshConfigs.xml +++ b/.idea/sshConfigs.xml @@ -1,8 +1,8 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project version="4"> - <component name="SshConfigs"> - <configs> - <sshConfig authType="OPEN_SSH" host="minteck.org" id="2ff33082-d7fd-4674-8554-576d41cd97bf" port="22465" nameFormat="DESCRIPTIVE" username="root" useOpenSSHConfig="true" /> - </configs> - </component> +<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="SshConfigs">
+ <configs>
+ <sshConfig authType="OPEN_SSH" host="minteck.org" id="2ff33082-d7fd-4674-8554-576d41cd97bf" port="22465" nameFormat="DESCRIPTIVE" username="root" useOpenSSHConfig="true" />
+ </configs>
+ </component>
</project>
\ No newline at end of file diff --git a/.idea/webServers.xml b/.idea/webServers.xml index 427510e..2b18a8d 100644 --- a/.idea/webServers.xml +++ b/.idea/webServers.xml @@ -3,7 +3,7 @@ <component name="WebServers">
<option name="servers">
<webServer id="9701def1-7401-42f4-8594-93ac16af0c57" name="Familine" url="http://familine.minteck.org">
- <fileTransfer accessType="SFTP" host="minteck.org" port="22465" sshConfigId="2ff33082-d7fd-4674-8554-576d41cd97bf" sshConfig="root@minteck.org:22465 agent" authAgent="true">
+ <fileTransfer accessType="SFTP" host="ssh.minteck.org" port="22465" sshConfigId="17a6f0aa-4f80-4c21-8862-9cd09c8d61bf" sshConfig="root@ssh.minteck.org:22465 key" keyPair="true">
<advancedOptions>
<advancedOptions dataProtectionLevel="Private" keepAliveTimeout="0" passiveMode="true" shareSSLContext="true" />
</advancedOptions>
diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 1fc2242..67b9fc4 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -1,138 +1,355 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project version="4"> - <component name="ChangeListManager"> - <list default="true" id="e4941d36-f387-4fd6-8e3d-4cad435f2034" name="Changes" comment=""> - <change afterPath="$PROJECT_DIR$/private/session-noconf.php" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/01-account-dark.svg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/01-account-light.svg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/02-privacy-dark.svg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/02-privacy-light.svg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/03-devices-dark.svg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/03-devices-light.svg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/04-app-docs-dark.jpg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/04-app-docs-light.jpg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/05-app-help-dark.jpg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/05-app-help-light.jpg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/06-app-movies-dark.jpg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/06-app-movies-light.jpg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/07-app-photos-dark.jpg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/07-app-photos-light.jpg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/08-app-planning-dark.jpg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/08-app-planning-light.jpg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/09-app-recall-dark.jpg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/09-app-recall-light.jpg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/10-app-share-dark.jpg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/10-app-share-light.jpg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/11-app-yikes-dark.jpg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/11-app-yikes-light.jpg" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/confirm/index.php" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/welcome/index.php" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/app/help/legal/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/help/legal/index.php" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/app/session.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/session.php" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/dark.css" beforeDir="false" afterPath="$PROJECT_DIR$/dark.css" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/js/statusbar.js" beforeDir="false" afterPath="$PROJECT_DIR$/js/statusbar.js" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/known/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/known/index.php" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/oauth/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/oauth/index.php" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/private/session.php" beforeDir="false" afterPath="$PROJECT_DIR$/private/session.php" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/statusbar.php" beforeDir="false" afterPath="$PROJECT_DIR$/statusbar.php" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/version.txt" beforeDir="false" afterPath="$PROJECT_DIR$/version.txt" afterDir="false" /> - </list> - <option name="SHOW_DIALOG" value="false" /> - <option name="HIGHLIGHT_CONFLICTS" value="true" /> - <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> - <option name="LAST_RESOLUTION" value="IGNORE" /> - </component> - <component name="ComposerSettings"> - <execution /> - </component> - <component name="FileTemplateManagerImpl"> - <option name="RECENT_TEMPLATES"> - <list> - <option value="HTML File" /> - </list> - </option> - </component> - <component name="Git.Settings"> - <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> - </component> - <component name="GitSEFilterConfiguration"> - <file-type-list> - <filtered-out-file-type name="LOCAL_BRANCH" /> - <filtered-out-file-type name="REMOTE_BRANCH" /> - <filtered-out-file-type name="TAG" /> - <filtered-out-file-type name="COMMIT_BY_MESSAGE" /> - </file-type-list> - </component> - <component name="MarkdownSettingsMigration"> - <option name="stateVersion" value="1" /> - </component> - <component name="ProjectId" id="23plsKFfG63WJwGMvFPCPdau2Pr" /> - <component name="ProjectLevelVcsManager" settingsEditedManually="true"> - <ConfirmationsSetting value="2" id="Add" /> - </component> - <component name="ProjectViewState"> - <option name="hideEmptyMiddlePackages" value="true" /> - <option name="showLibraryContents" value="true" /> - </component> - <component name="PropertiesComponent"> - <property name="ASKED_ADD_EXTERNAL_FILES" value="true" /> - <property name="DefaultHtmlFileTemplate" value="HTML File" /> - <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" /> - <property name="RunOnceActivity.ShowReadmeOnStart" value="true" /> - <property name="WebServerToolWindowFactoryState" value="false" /> - <property name="last_opened_file_path" value="$PROJECT_DIR$/welcome/confirm" /> - <property name="settings.editor.selected.configurable" value="copyright" /> - <property name="vue.rearranger.settings.migration" value="true" /> - </component> - <component name="RecentsManager"> - <key name="CopyFile.RECENT_KEYS"> - <recent name="D:\Projets\Familine\welcome\confirm" /> - <recent name="D:\Projets\Familine\private" /> - <recent name="D:\Projets\Familine\welcome" /> - </key> - </component> - <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" /> - <component name="TaskManager"> - <task active="true" id="Default" summary="Default task"> - <changelist id="e4941d36-f387-4fd6-8e3d-4cad435f2034" name="Changes" comment="" /> - <created>1642439118426</created> - <option name="number" value="Default" /> - <option name="presentableId" value="Default" /> - <updated>1642439118426</updated> - <workItem from="1642439120729" duration="929000" /> - <workItem from="1642610611712" duration="485000" /> - <workItem from="1642845718526" duration="1404000" /> - <workItem from="1642944432747" duration="269000" /> - <workItem from="1642951326504" duration="715000" /> - <workItem from="1643996334506" duration="1683000" /> - <workItem from="1644003506604" duration="1476000" /> - <workItem from="1644051951606" duration="627000" /> - <workItem from="1644061944516" duration="4341000" /> - <workItem from="1644071110782" duration="282000" /> - <workItem from="1644071749913" duration="885000" /> - <workItem from="1644146437062" duration="8795000" /> - <workItem from="1644237337684" duration="2117000" /> - <workItem from="1644358268075" duration="203000" /> - <workItem from="1644844872209" duration="45000" /> - </task> - <servers /> - </component> - <component name="TypeScriptGeneratedFilesManager"> - <option name="version" value="3" /> - </component> - <component name="Vcs.Log.Tabs.Properties"> - <option name="TAB_STATES"> - <map> - <entry key="MAIN"> - <value> - <State /> - </value> - </entry> - </map> - </option> - </component> - <component name="VcsManagerConfiguration"> - <option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" /> - </component> +<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ChangeListManager">
+ <list default="true" id="e4941d36-f387-4fd6-8e3d-4cad435f2034" name="Changes" comment="">
+ <change afterPath="$PROJECT_DIR$/app/cdn/icons/familine-docs.svg" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/cdn/icons/familine-help.svg" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/cdn/icons/familine-media.svg" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/cdn/icons/familine-music.svg" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/cdn/icons/familine-recall.svg" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/cdn/icons/familine-share.svg" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/cdn/intro.jpg" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/cdn/js/home.js" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/cdn/js/loading.js" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/cdn/js/statusbar.js" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/cdn/me/index.php" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/help/chat/index.php" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/help/review/index.php" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/intro/conditions/index.php" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/intro/index.php" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/intro/intro.svg" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/intro/main.js" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/intro/session.php" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/intro/statusbar.php" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/intro/webfonts/Lato-Black.ttf" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/intro/webfonts/Lato-BlackItalic.ttf" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/intro/webfonts/Lato-Bold.ttf" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/intro/webfonts/Lato-BoldItalic.ttf" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/intro/webfonts/Lato-Italic.ttf" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/intro/webfonts/Lato-Light.ttf" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/intro/webfonts/Lato-LightItalic.ttf" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/intro/webfonts/Lato-Regular.ttf" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/intro/webfonts/Lato-Thin.ttf" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/intro/webfonts/Lato-ThinItalic.ttf" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/media/index.php" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/planning/.gitlab-ci.yml" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/planning/LICENSE" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/planning/README.md" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/planning/SatteliteGiteaData.txt" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/planning/index.php" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/session/login/embed/index.php" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/session/login/index.php" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/app/session/oauth/embed/index.php" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/login/embed/index.php" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/news_internal/index.php" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/private/welcomed.json" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/ukraine/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/.idea/deployment.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/deployment.xml" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/.idea/php.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/php.xml" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/.idea/sshConfigs.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/sshConfigs.xml" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/.idea/webServers.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/webServers.xml" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/console/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/app/console/README.md" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/console/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/console/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/galaxy/css/bootstrap-grid.css" beforeDir="false" afterPath="$PROJECT_DIR$/app/galaxy/css/bootstrap-grid.css" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/galaxy/css/bootstrap-reboot.css" beforeDir="false" afterPath="$PROJECT_DIR$/app/galaxy/css/bootstrap-reboot.css" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/galaxy/css/bootstrap.css" beforeDir="false" afterPath="$PROJECT_DIR$/app/galaxy/css/bootstrap.css" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/galaxy/css/theme.css" beforeDir="false" afterPath="$PROJECT_DIR$/app/galaxy/css/theme.css" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/galaxy/js/bootstrap.bundle.js" beforeDir="false" afterPath="$PROJECT_DIR$/app/galaxy/js/bootstrap.bundle.js" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/galaxy/js/bootstrap.js" beforeDir="false" afterPath="$PROJECT_DIR$/app/galaxy/js/bootstrap.js" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/galaxy/private/footer.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/galaxy/private/footer.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/galaxy/private/header.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/galaxy/private/header.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/.gitlab-ci.yml" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/.gitlab-ci.yml" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/LICENSE" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/LICENSE" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/README.md" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/dllib/jquery.js" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/dllib/jquery.js" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/me/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/me/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/person/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/person/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/private/footer.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/private/footer.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/private/header.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/private/header.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/birth/data.json/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/birth/data.json/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/birth/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/birth/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/birth/results/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/birth/results/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/city/data.json/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/city/data.json/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/city/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/city/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/city/results/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/city/results/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/death/data.json/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/death/data.json/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/death/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/death/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/death/results/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/death/results/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/dept/data.json/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/dept/data.json/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/dept/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/dept/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/dept/results/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/dept/results/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/lastname/data.json/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/lastname/data.json/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/lastname/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/lastname/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/lastname/results/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/lastname/results/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/marriage/data.json/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/marriage/data.json/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/marriage/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/marriage/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/marriage/results/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/marriage/results/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/name/data.json/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/name/data.json/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/name/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/name/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/name/results/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/name/results/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/state/data.json/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/state/data.json/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/state/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/state/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/search/state/results/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/search/state/results/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/styles/dark.css" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/styles/dark.css" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/tree/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/tree/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/genealogy/tree/mktree.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/genealogy/tree/mktree.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/help/.gitlab-ci.yml" beforeDir="false" afterPath="$PROJECT_DIR$/app/help/.gitlab-ci.yml" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/help/LICENSE" beforeDir="false" afterPath="$PROJECT_DIR$/app/help/LICENSE" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/help/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/app/help/README.md" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/help/account/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/help/account/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/help/genealogy/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/help/genealogy/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/help/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/help/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/help/legal/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/help/legal/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/help/media/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/help/media/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/help/planning/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/help/planning/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/help/share/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/help/share/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/help/wiki/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/help/wiki/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/app/session.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/session.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/dark.css" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/dark.css" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/debug/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/debug/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/favicon.svg" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/favicon.svg" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/fonts/Nunito-Italic-VariableFont_wght.ttf" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/fonts/Nunito-Italic-VariableFont_wght.ttf" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/fonts/Nunito-VariableFont_wght.ttf" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/fonts/Nunito-VariableFont_wght.ttf" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/badge-filled.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/badge-filled.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/badge-symbolic.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/badge-symbolic.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/badge.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/badge.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/bucks.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/bucks.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/cinema-filled.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/cinema-filled.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/cinema-symbolic.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/cinema-symbolic.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/cinema.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/cinema.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/cloud-link.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/cloud-link.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/contacts-filled.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/contacts-filled.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/contacts-symbolic.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/contacts-symbolic.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/contacts.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/contacts.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/famidata.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/famidata.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-camera-wrapper.png" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-camera-wrapper.svg" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-camera.png" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-camera.svg" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-console.svg" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-docs.png" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-docs.svg" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-galaxy.png" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-galaxy.svg" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-help.png" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-help.svg" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-money.png" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-money.svg" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-movies.png" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-movies.svg" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/familine-movies.svg" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-photos.png" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-photos.svg" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/familine-photos.svg" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-planning.png" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-planning.svg" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/familine-planning.svg" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-recall.png" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-recall.svg" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-review.png" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-review.svg" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-share.png" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-share.svg" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-you.png" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine-you.svg" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/familine-you.svg" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine.png" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/familine.svg" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/familine.svg" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/help-filled.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/help-filled.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/help-symbolic.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/help-symbolic.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/help.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/help.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/home-filled.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/home-filled.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/home-symbolic.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/home-symbolic.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/home.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/home.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/money-filled.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/money-filled.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/money-symbolic.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/money-symbolic.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/money.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/money.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/music.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/music.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/open-book-filled.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/open-book-filled.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/open-book-symbolic.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/open-book-symbolic.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/open-book.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/open-book.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/opus.svg" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/opus.svg" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/pause-filled.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/pause-filled.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/pause-symbolic.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/pause-symbolic.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/pip.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/pip.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/play-filled.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/play-filled.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/play-symbolic.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/play-symbolic.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/radio-filled.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/radio-filled.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/radio-symbolic.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/radio-symbolic.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/radio.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/radio.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/settings-filled.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/settings-filled.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/settings-symbolic.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/settings-symbolic.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/settings.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/settings.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/share-filled.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/share-filled.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/share-symbolic.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/share-symbolic.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/share.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/share.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/solve-filled.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/solve-filled.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/solve-symbolic.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/solve-symbolic.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/solve.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/solve.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/speaker.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/speaker.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/window-close.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/window-close.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/window-maximize.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/window-maximize.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/window-minimize.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/window-minimize.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/icns/window-reduce.png" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/icons/window-reduce.png" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/intro.jpg" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/js/home.js" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/js/iframe.js" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/js/iframe.js" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/js/loading.js" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/js/navigation.js" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/js/navigation.js" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/js/statusbar.js" beforeDir="false" afterPath="$PROJECT_DIR$/app/intro/stylesheet.css" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/known/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/known/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/loader.svg" beforeDir="false" afterPath="$PROJECT_DIR$/loader.svg" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/login/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/login/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/me/index.php" beforeDir="false" />
+ <change beforePath="$PROJECT_DIR$/native.css" beforeDir="false" afterPath="$PROJECT_DIR$/native.css" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/oauth/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/session/oauth/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/private/FamilineConfig.demo.json" beforeDir="false" afterPath="$PROJECT_DIR$/private/FamilineConfig.demo.json" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/private/session-noconf.php" beforeDir="false" afterPath="$PROJECT_DIR$/private/session-noconf.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/private/session.php" beforeDir="false" afterPath="$PROJECT_DIR$/private/session.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/radio.css" beforeDir="false" afterPath="$PROJECT_DIR$/radio.css" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/radio.embed.css" beforeDir="false" afterPath="$PROJECT_DIR$/radio.embed.css" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/sample.html" beforeDir="false" afterPath="$PROJECT_DIR$/sample.html" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/statusbar.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/statusbar.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/styles.css" beforeDir="false" afterPath="$PROJECT_DIR$/app/cdn/styles.css" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/test/cookie/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/test/cookie/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/test/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/test/index.html" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/test/value/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/test/value/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/test/value/no/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/test/value/no/index.html" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/test/value/yes/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/test/value/yes/index.html" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/version.txt" beforeDir="false" afterPath="$PROJECT_DIR$/version.txt" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/welcome/01-account-dark.svg" beforeDir="false" afterPath="$PROJECT_DIR$/welcome/01-account-dark.svg" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/welcome/01-account-light.svg" beforeDir="false" afterPath="$PROJECT_DIR$/welcome/01-account-light.svg" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/welcome/02-privacy-dark.svg" beforeDir="false" afterPath="$PROJECT_DIR$/welcome/02-privacy-dark.svg" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/welcome/02-privacy-light.svg" beforeDir="false" afterPath="$PROJECT_DIR$/welcome/02-privacy-light.svg" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/welcome/03-devices-dark.svg" beforeDir="false" afterPath="$PROJECT_DIR$/welcome/03-devices-dark.svg" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/welcome/03-devices-light.svg" beforeDir="false" afterPath="$PROJECT_DIR$/welcome/03-devices-light.svg" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/welcome/confirm/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/welcome/confirm/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/welcome/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/welcome/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/yt.php" beforeDir="false" afterPath="$PROJECT_DIR$/yt.php" afterDir="false" />
+ </list>
+ <option name="SHOW_DIALOG" value="false" />
+ <option name="HIGHLIGHT_CONFLICTS" value="true" />
+ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+ <option name="LAST_RESOLUTION" value="IGNORE" />
+ </component>
+ <component name="ComposerSettings">
+ <execution />
+ </component>
+ <component name="FileTemplateManagerImpl">
+ <option name="RECENT_TEMPLATES">
+ <list>
+ <option value="HTML File" />
+ <option value="CSS File" />
+ <option value="JavaScript File" />
+ </list>
+ </option>
+ </component>
+ <component name="Git.Settings">
+ <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
+ </component>
+ <component name="GitSEFilterConfiguration">
+ <file-type-list>
+ <filtered-out-file-type name="LOCAL_BRANCH" />
+ <filtered-out-file-type name="REMOTE_BRANCH" />
+ <filtered-out-file-type name="TAG" />
+ <filtered-out-file-type name="COMMIT_BY_MESSAGE" />
+ </file-type-list>
+ </component>
+ <component name="MarkdownSettingsMigration">
+ <option name="stateVersion" value="1" />
+ </component>
+ <component name="ProblemsViewState">
+ <option name="selectedTabId" value="CurrentFile" />
+ </component>
+ <component name="ProjectId" id="23plsKFfG63WJwGMvFPCPdau2Pr" />
+ <component name="ProjectLevelVcsManager" settingsEditedManually="true">
+ <ConfirmationsSetting value="2" id="Add" />
+ </component>
+ <component name="ProjectViewState">
+ <option name="hideEmptyMiddlePackages" value="true" />
+ <option name="showLibraryContents" value="true" />
+ </component>
+ <component name="PropertiesComponent">
+ <property name="ASKED_ADD_EXTERNAL_FILES" value="true" />
+ <property name="DefaultHtmlFileTemplate" value="HTML File" />
+ <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
+ <property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
+ <property name="WebServerToolWindowFactoryState" value="false" />
+ <property name="last_opened_file_path" value="$PROJECT_DIR$/app/intro" />
+ <property name="list.type.of.created.stylesheet" value="CSS" />
+ <property name="nodejs_package_manager_path" value="npm" />
+ <property name="settings.editor.selected.configurable" value="preferences.lookFeel" />
+ <property name="vue.rearranger.settings.migration" value="true" />
+ </component>
+ <component name="RecentsManager">
+ <key name="CopyFile.RECENT_KEYS">
+ <recent name="$PROJECT_DIR$/app/intro" />
+ <recent name="$PROJECT_DIR$/private/news" />
+ <recent name="$PROJECT_DIR$" />
+ <recent name="$PROJECT_DIR$/app/media" />
+ <recent name="$PROJECT_DIR$/login/embed" />
+ </key>
+ <key name="MoveFile.RECENT_KEYS">
+ <recent name="$PROJECT_DIR$/app/intro/conditions" />
+ <recent name="$PROJECT_DIR$/private/news" />
+ <recent name="$PROJECT_DIR$/app/cdn" />
+ <recent name="$PROJECT_DIR$/app/session" />
+ </key>
+ </component>
+ <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
+ <component name="TaskManager">
+ <task active="true" id="Default" summary="Default task">
+ <changelist id="e4941d36-f387-4fd6-8e3d-4cad435f2034" name="Changes" comment="" />
+ <created>1642439118426</created>
+ <option name="number" value="Default" />
+ <option name="presentableId" value="Default" />
+ <updated>1642439118426</updated>
+ <workItem from="1642439120729" duration="929000" />
+ <workItem from="1642610611712" duration="485000" />
+ <workItem from="1642845718526" duration="1404000" />
+ <workItem from="1642944432747" duration="269000" />
+ <workItem from="1642951326504" duration="715000" />
+ <workItem from="1643996334506" duration="1683000" />
+ <workItem from="1644003506604" duration="1476000" />
+ <workItem from="1644051951606" duration="627000" />
+ <workItem from="1644061944516" duration="4341000" />
+ <workItem from="1644071110782" duration="282000" />
+ <workItem from="1644071749913" duration="885000" />
+ <workItem from="1644146437062" duration="8795000" />
+ <workItem from="1644237337684" duration="2117000" />
+ <workItem from="1644358268075" duration="203000" />
+ <workItem from="1644844872209" duration="84000" />
+ <workItem from="1646251034732" duration="1696000" />
+ <workItem from="1646485628644" duration="9533000" />
+ <workItem from="1647103856185" duration="880000" />
+ <workItem from="1648281778125" duration="88000" />
+ <workItem from="1648282100047" duration="15237000" />
+ <workItem from="1648307724574" duration="235000" />
+ <workItem from="1648307994490" duration="186000" />
+ <workItem from="1648313486025" duration="15000" />
+ <workItem from="1648368805859" duration="116000" />
+ </task>
+ <servers />
+ </component>
+ <component name="TypeScriptGeneratedFilesManager">
+ <option name="version" value="3" />
+ </component>
+ <component name="Vcs.Log.Tabs.Properties">
+ <option name="TAB_STATES">
+ <map>
+ <entry key="MAIN">
+ <value>
+ <State />
+ </value>
+ </entry>
+ </map>
+ </option>
+ </component>
+ <component name="VcsManagerConfiguration">
+ <option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
+ </component>
+ <component name="XSLT-Support.FileAssociations.UIState">
+ <expand />
+ <select />
+ </component>
</project>
\ No newline at end of file diff --git a/app/.DS_Store b/app/.DS_Store Binary files differnew file mode 100644 index 0000000..f280355 --- /dev/null +++ b/app/.DS_Store diff --git a/app/cdn/.DS_Store b/app/cdn/.DS_Store Binary files differnew file mode 100644 index 0000000..80ed294 --- /dev/null +++ b/app/cdn/.DS_Store diff --git a/dark.css b/app/cdn/dark.css index 653e4b8..8ce19e1 100644 --- a/dark.css +++ b/app/cdn/dark.css @@ -1,28 +1,3 @@ -/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
-
@media (prefers-color-scheme: dark) {
html, body {
diff --git a/favicon.svg b/app/cdn/favicon.svg index 41b3b01..485c463 100644 --- a/favicon.svg +++ b/app/cdn/favicon.svg @@ -1,29 +1,4 @@ <?xml version="1.0" encoding="utf-8"?>
-<!--
- - MIT License
- -
- - Copyright (c) 2022- Minteck
- -
- - Permission is hereby granted, free of charge, to any person obtaining a copy
- - of this software and associated documentation files (the "Software"), to deal
- - in the Software without restriction, including without limitation the rights
- - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- - copies of the Software, and to permit persons to whom the Software is
- - furnished to do so, subject to the following conditions:
- -
- - The above copyright notice and this permission notice shall be included in all
- - copies or substantial portions of the Software.
- -
- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- - SOFTWARE.
- -
- -->
-
<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 7164 7188" style="enable-background:new 0 0 7164 7188;" xml:space="preserve">
diff --git a/fonts/Nunito-Italic-VariableFont_wght.ttf b/app/cdn/fonts/Nunito-Italic-VariableFont_wght.ttf Binary files differindex 97a40fa..97a40fa 100644 --- a/fonts/Nunito-Italic-VariableFont_wght.ttf +++ b/app/cdn/fonts/Nunito-Italic-VariableFont_wght.ttf diff --git a/fonts/Nunito-VariableFont_wght.ttf b/app/cdn/fonts/Nunito-VariableFont_wght.ttf Binary files differindex edc20b8..edc20b8 100644 --- a/fonts/Nunito-VariableFont_wght.ttf +++ b/app/cdn/fonts/Nunito-VariableFont_wght.ttf diff --git a/app/cdn/icons/.DS_Store b/app/cdn/icons/.DS_Store Binary files differnew file mode 100644 index 0000000..5008ddf --- /dev/null +++ b/app/cdn/icons/.DS_Store diff --git a/icns/badge-filled.png b/app/cdn/icons/badge-filled.png Binary files differindex 6b29fc8..6b29fc8 100644 --- a/icns/badge-filled.png +++ b/app/cdn/icons/badge-filled.png diff --git a/icns/badge-symbolic.png b/app/cdn/icons/badge-symbolic.png Binary files differindex 93d28cf..93d28cf 100644 --- a/icns/badge-symbolic.png +++ b/app/cdn/icons/badge-symbolic.png diff --git a/icns/badge.png b/app/cdn/icons/badge.png Binary files differindex 339b169..339b169 100644 --- a/icns/badge.png +++ b/app/cdn/icons/badge.png diff --git a/icns/bucks.png b/app/cdn/icons/bucks.png Binary files differindex eb81f63..eb81f63 100644 --- a/icns/bucks.png +++ b/app/cdn/icons/bucks.png diff --git a/icns/cinema-filled.png b/app/cdn/icons/cinema-filled.png Binary files differindex 41b13f9..41b13f9 100644 --- a/icns/cinema-filled.png +++ b/app/cdn/icons/cinema-filled.png diff --git a/icns/cinema-symbolic.png b/app/cdn/icons/cinema-symbolic.png Binary files differindex d594e70..d594e70 100644 --- a/icns/cinema-symbolic.png +++ b/app/cdn/icons/cinema-symbolic.png diff --git a/icns/cinema.png b/app/cdn/icons/cinema.png Binary files differindex 4ba70ec..4ba70ec 100644 --- a/icns/cinema.png +++ b/app/cdn/icons/cinema.png diff --git a/icns/cloud-link.png b/app/cdn/icons/cloud-link.png Binary files differindex 7ab6584..7ab6584 100644 --- a/icns/cloud-link.png +++ b/app/cdn/icons/cloud-link.png diff --git a/icns/contacts-filled.png b/app/cdn/icons/contacts-filled.png Binary files differindex 0129625..0129625 100644 --- a/icns/contacts-filled.png +++ b/app/cdn/icons/contacts-filled.png diff --git a/icns/contacts-symbolic.png b/app/cdn/icons/contacts-symbolic.png Binary files differindex aa88c7f..aa88c7f 100644 --- a/icns/contacts-symbolic.png +++ b/app/cdn/icons/contacts-symbolic.png diff --git a/icns/contacts.png b/app/cdn/icons/contacts.png Binary files differindex ab2c527..ab2c527 100644 --- a/icns/contacts.png +++ b/app/cdn/icons/contacts.png diff --git a/icns/famidata.png b/app/cdn/icons/famidata.png Binary files differindex 4709e1d..4709e1d 100644 --- a/icns/famidata.png +++ b/app/cdn/icons/famidata.png diff --git a/app/cdn/icons/familine-docs.svg b/app/cdn/icons/familine-docs.svg new file mode 100644 index 0000000..67e2a02 --- /dev/null +++ b/app/cdn/icons/familine-docs.svg @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 7164 7188" style="enable-background:new 0 0 7164 7188;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;} + .st1{fill:url(#SVGID_1_);} +</style> +<path class="st0" d="M0,0h7164v7188H0V0z"/> +<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="706.2429" y1="1438.0809" x2="5737.938" y2="6469.7759"> + <stop offset="0" style="stop-color:#EF593B"/> + <stop offset="1" style="stop-color:#EF9E8F"/> +</linearGradient> +<path class="st1" d="M2388,4792h2388v599H2388V4792z M2388,3594h2388v599H2388V3594z M4179,599H1791c-328.3,0-597,269.5-597,599 + v4792c0,329.5,268.7,599,597,599h3582c328.4,0,597-269.5,597-599V2396L4179,599z M5373,5990H1791V1198h2089.5v1497.5H5373V5990z"/> +</svg> diff --git a/app/cdn/icons/familine-help.svg b/app/cdn/icons/familine-help.svg new file mode 100644 index 0000000..8499cf8 --- /dev/null +++ b/app/cdn/icons/familine-help.svg @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 7164 7188" style="enable-background:new 0 0 7164 7188;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;} + .st1{fill:url(#SVGID_1_);} +</style> +<path class="st0" d="M0,0h7164v7188H0V0z"/> +<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="1066.1619" y1="6109.8384" x2="6097.8384" y2="1078.1619"> + <stop offset="0" style="stop-color:#EF713B"/> + <stop offset="1" style="stop-color:#EFAC8F"/> +</linearGradient> +<path class="st1" d="M5373,599H1791c-328.3,0-597,269.5-597,599v4792c0,329.5,268.7,599,597,599h3582c328.4,0,597-269.5,597-599 + V1198C5970,868.5,5701.4,599,5373,599z M2686.5,1198h597v1497.5L2985,2455.9l-298.5,239.6V1198z M5373,5990H1791V1198h298.5v2695.5 + l895.5-688.9l895.5,688.9V1198H5373V5990z"/> +</svg> diff --git a/app/cdn/icons/familine-media.svg b/app/cdn/icons/familine-media.svg new file mode 100644 index 0000000..e9b245e --- /dev/null +++ b/app/cdn/icons/familine-media.svg @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;} + .st1{fill:url(#SVGID_1_);} +</style> +<path class="st0" d="M0,0h24v24H0V0z"/> +<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="1.5875" y1="22.4125" x2="21.4125" y2="2.5875"> + <stop offset="0" style="stop-color:#EFD03B"/> + <stop offset="0.5" style="stop-color:#C0FF36"/> + <stop offset="1" style="stop-color:#3BEF3B"/> +</linearGradient> +<path class="st1" d="M2,6H0v5l0,0v9c0,1.1,0.9,2,2,2h18v-2H2V6z M7,15h14l-3.5-4.5l-2.5,3L11.5,9L7,15z M22,4h-8l-2-2H6 + C4.9,2,4,2.9,4,4v12c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V6C24,4.9,23.1,4,22,4z M22,16H6V4h5.2l1.4,1.4L13.2,6H22V16z"/> +</svg> diff --git a/icns/familine-movies.svg b/app/cdn/icons/familine-movies.svg index 496edec..cdf031f 100644 --- a/icns/familine-movies.svg +++ b/app/cdn/icons/familine-movies.svg @@ -1,29 +1,4 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- - - MIT License - - - - Copyright (c) 2022- Minteck - - - - Permission is hereby granted, free of charge, to any person obtaining a copy - - of this software and associated documentation files (the "Software"), to deal - - in the Software without restriction, including without limitation the rights - - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - - copies of the Software, and to permit persons to whom the Software is - - furnished to do so, subject to the following conditions: - - - - The above copyright notice and this permission notice shall be included in all - - copies or substantial portions of the Software. - - - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - - SOFTWARE. - - - --> - <!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg diff --git a/app/cdn/icons/familine-music.svg b/app/cdn/icons/familine-music.svg new file mode 100644 index 0000000..6ba92f8 --- /dev/null +++ b/app/cdn/icons/familine-music.svg @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;} + .st1{fill:#C0FF36;} +</style> +<g> + <rect class="st0" width="24" height="24"/> +</g> +<g> + <path class="st1" d="M12,3c-5,0-9,4-9,9v7c0,1.1,0.9,2,2,2h4v-8H5v-1c0-3.9,3.1-7,7-7s7,3.1,7,7v1h-4v8h4c1.1,0,2-0.9,2-2v-7 + C21,7,17,3,12,3z M7,15v4H5v-4H7z M19,19h-2v-4h2V19z"/> +</g> +</svg> diff --git a/icns/familine-photos.svg b/app/cdn/icons/familine-photos.svg index b5a96df..18b52f0 100644 --- a/icns/familine-photos.svg +++ b/app/cdn/icons/familine-photos.svg @@ -1,29 +1,4 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- - - MIT License - - - - Copyright (c) 2022- Minteck - - - - Permission is hereby granted, free of charge, to any person obtaining a copy - - of this software and associated documentation files (the "Software"), to deal - - in the Software without restriction, including without limitation the rights - - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - - copies of the Software, and to permit persons to whom the Software is - - furnished to do so, subject to the following conditions: - - - - The above copyright notice and this permission notice shall be included in all - - copies or substantial portions of the Software. - - - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - - SOFTWARE. - - - --> - <!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg diff --git a/app/cdn/icons/familine-planning.svg b/app/cdn/icons/familine-planning.svg new file mode 100644 index 0000000..57d78f6 --- /dev/null +++ b/app/cdn/icons/familine-planning.svg @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" + id="Layer_1" inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)" sodipodi:docname="familine-planning.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 7164 7188" + style="enable-background:new 0 0 7164 7188;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;} + .st1{fill:url(#path6_1_);} +</style> +<sodipodi:namedview bordercolor="#666666" borderopacity="1.0" id="namedview9" inkscape:current-layer="Layer_1" inkscape:cx="3577.713" inkscape:cy="3599.429" inkscape:pagecheckerboard="0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="847" inkscape:window-maximized="1" inkscape:window-width="1600" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:zoom="0.092097941" pagecolor="#ffffff" showgrid="false"> + </sodipodi:namedview> +<path id="path4" class="st0" d="M0,0h7164v7188H0V0z"/> +<linearGradient id="path6_1_" gradientUnits="userSpaceOnUse" x1="6111.0439" y1="1037.5441" x2="1052.9559" y2="6095.6323"> + <stop offset="0" style="stop-color:#3BEF6F"/> + <stop offset="1" style="stop-color:#8FEFAB"/> +</linearGradient> +<path id="path6" class="st1" d="M5671.5,898.5H5373v-599h-597v599H2388v-599h-597v599h-298.5c-328.3,0-597,269.6-597,599v4193 + c0,329.5,268.7,599,597,599h4179c328.4,0,597-269.5,597-599v-4193C6268.5,1168.1,5999.9,898.5,5671.5,898.5z M5671.5,5690.5h-4179 + v-2995h4179V5690.5z M1492.5,2096.5v-599h4179v599H1492.5z M2089.5,3294.5h2985v599h-2985V3294.5z M2089.5,4492.5H4179v599H2089.5 + V4492.5z"/> +</svg> diff --git a/app/cdn/icons/familine-recall.svg b/app/cdn/icons/familine-recall.svg new file mode 100644 index 0000000..584c419 --- /dev/null +++ b/app/cdn/icons/familine-recall.svg @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;} + .st1{fill:url(#SVGID_1_);} +</style> +<path class="st0" d="M0,0h24v24H0V0z"/> +<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="25.0221" y1="15.7655" x2="2.2279" y2="2.6053"> + <stop offset="0" style="stop-color:#35B7FF"/> + <stop offset="1" style="stop-color:#99DBFF"/> +</linearGradient> +<path class="st1" d="M22,11V3h-7v3H9V3H2v8h7V8h2v10h4v3h7v-8h-7v3h-2V8h2v3H22z"/> +</svg> diff --git a/app/cdn/icons/familine-share.svg b/app/cdn/icons/familine-share.svg new file mode 100644 index 0000000..3c5cc8e --- /dev/null +++ b/app/cdn/icons/familine-share.svg @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 7164 7188" style="enable-background:new 0 0 7164 7188;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;} + .st1{fill:url(#SVGID_1_);} +</style> +<path class="st0" d="M0,0h7164v7188H0V0z"/> +<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="298.5" y1="3594" x2="6865.5" y2="3594"> + <stop offset="0" style="stop-color:#953BEF"/> + <stop offset="1" style="stop-color:#BF8FEF"/> +</linearGradient> +<path class="st1" d="M6268.5,898.5h-5373c-328.3,0-597,269.6-597,599v4193c0,329.5,268.7,599,597,599h5373 + c328.4,0,597-269.5,597-599v-4193C6865.5,1168.1,6596.9,898.5,6268.5,898.5z M6268.5,5690.5h-5373v-4193h5373V5690.5z M2985,3594 + h-597l1194-1198l1194,1198h-597v1198H2985V3594z"/> +</svg> diff --git a/app/cdn/icons/familine-you.svg b/app/cdn/icons/familine-you.svg new file mode 100644 index 0000000..e95a256 --- /dev/null +++ b/app/cdn/icons/familine-you.svg @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 7164 7188" style="enable-background:new 0 0 7164 7188;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;} + .st1{fill:url(#SVGID_1_);} +</style> +<path class="st0" d="M0,0h7164v7188H0V0z"/> +<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="6268.5" y1="3743.75" x2="895.5" y2="3743.75"> + <stop offset="0" style="stop-color:#EF3BD4"/> + <stop offset="1" style="stop-color:#EF8FE1"/> +</linearGradient> +<path class="st1" d="M5671.5,599h-4179c-328.3,0-597,269.5-597,599v4193c0,329.5,268.7,599,597,599h1194l895.5,898.5l895.5-898.5 + h1194c328.4,0,597-269.5,597-599V1198C6268.5,868.5,5999.9,599,5671.5,599z M5671.5,5391H4238.7l-179.1,179.7L3582,6049.9 + l-477.6-479.2L2925.3,5391H1492.5V1198h4179V5391z M3582,3294.5c477.6,0,895.5-419.3,895.5-898.5s-417.9-898.5-895.5-898.5 + s-895.5,389.3-895.5,898.5S3104.4,3294.5,3582,3294.5z M3582,2096.5c179.1,0,298.5,119.8,298.5,299.5s-119.4,299.5-298.5,299.5 + s-298.5-119.8-298.5-299.5S3402.9,2096.5,3582,2096.5z M5373,4672.2c0-748.8-1194-1078.2-1791-1078.2s-1791,329.4-1791,1078.2v419.3 + h3582V4672.2z M2537.2,4492.5C2746.2,4342.8,3193.9,4193,3582,4193s835.8,149.8,1044.8,299.5H2537.2z"/> +</svg> diff --git a/icns/familine.svg b/app/cdn/icons/familine.svg index 41b3b01..485c463 100644 --- a/icns/familine.svg +++ b/app/cdn/icons/familine.svg @@ -1,29 +1,4 @@ <?xml version="1.0" encoding="utf-8"?>
-<!--
- - MIT License
- -
- - Copyright (c) 2022- Minteck
- -
- - Permission is hereby granted, free of charge, to any person obtaining a copy
- - of this software and associated documentation files (the "Software"), to deal
- - in the Software without restriction, including without limitation the rights
- - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- - copies of the Software, and to permit persons to whom the Software is
- - furnished to do so, subject to the following conditions:
- -
- - The above copyright notice and this permission notice shall be included in all
- - copies or substantial portions of the Software.
- -
- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- - SOFTWARE.
- -
- -->
-
<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 7164 7188" style="enable-background:new 0 0 7164 7188;" xml:space="preserve">
diff --git a/icns/help-filled.png b/app/cdn/icons/help-filled.png Binary files differindex 68c9bde..68c9bde 100644 --- a/icns/help-filled.png +++ b/app/cdn/icons/help-filled.png diff --git a/icns/help-symbolic.png b/app/cdn/icons/help-symbolic.png Binary files differindex d34d296..d34d296 100644 --- a/icns/help-symbolic.png +++ b/app/cdn/icons/help-symbolic.png diff --git a/icns/help.png b/app/cdn/icons/help.png Binary files differindex 48351c8..48351c8 100644 --- a/icns/help.png +++ b/app/cdn/icons/help.png diff --git a/icns/home-filled.png b/app/cdn/icons/home-filled.png Binary files differindex 1b60d9c..1b60d9c 100644 --- a/icns/home-filled.png +++ b/app/cdn/icons/home-filled.png diff --git a/icns/home-symbolic.png b/app/cdn/icons/home-symbolic.png Binary files differindex 245c1ed..245c1ed 100644 --- a/icns/home-symbolic.png +++ b/app/cdn/icons/home-symbolic.png diff --git a/icns/home.png b/app/cdn/icons/home.png Binary files differindex 2ea5ba9..2ea5ba9 100644 --- a/icns/home.png +++ b/app/cdn/icons/home.png diff --git a/icns/money-filled.png b/app/cdn/icons/money-filled.png Binary files differindex 88ffac6..88ffac6 100644 --- a/icns/money-filled.png +++ b/app/cdn/icons/money-filled.png diff --git a/icns/money-symbolic.png b/app/cdn/icons/money-symbolic.png Binary files differindex 0cdf491..0cdf491 100644 --- a/icns/money-symbolic.png +++ b/app/cdn/icons/money-symbolic.png diff --git a/icns/money.png b/app/cdn/icons/money.png Binary files differindex f54c90f..f54c90f 100644 --- a/icns/money.png +++ b/app/cdn/icons/money.png diff --git a/icns/music.png b/app/cdn/icons/music.png Binary files differindex c75888a..c75888a 100644 --- a/icns/music.png +++ b/app/cdn/icons/music.png diff --git a/icns/open-book-filled.png b/app/cdn/icons/open-book-filled.png Binary files differindex 767c991..767c991 100644 --- a/icns/open-book-filled.png +++ b/app/cdn/icons/open-book-filled.png diff --git a/icns/open-book-symbolic.png b/app/cdn/icons/open-book-symbolic.png Binary files differindex 7513aa9..7513aa9 100644 --- a/icns/open-book-symbolic.png +++ b/app/cdn/icons/open-book-symbolic.png diff --git a/icns/open-book.png b/app/cdn/icons/open-book.png Binary files differindex 5310c50..5310c50 100644 --- a/icns/open-book.png +++ b/app/cdn/icons/open-book.png diff --git a/icns/opus.svg b/app/cdn/icons/opus.svg index 2af84a2..7764b8b 100644 --- a/icns/opus.svg +++ b/app/cdn/icons/opus.svg @@ -1,29 +1,4 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
- - MIT License
- -
- - Copyright (c) 2022- Minteck
- -
- - Permission is hereby granted, free of charge, to any person obtaining a copy
- - of this software and associated documentation files (the "Software"), to deal
- - in the Software without restriction, including without limitation the rights
- - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- - copies of the Software, and to permit persons to whom the Software is
- - furnished to do so, subject to the following conditions:
- -
- - The above copyright notice and this permission notice shall be included in all
- - copies or substantial portions of the Software.
- -
- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- - SOFTWARE.
- -
- -->
-
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="3600" height="2045.1">
<defs>
<linearGradient y1="1" x2="0" id="linearGradient1">
diff --git a/icns/pause-filled.png b/app/cdn/icons/pause-filled.png Binary files differindex 01c3a52..01c3a52 100644 --- a/icns/pause-filled.png +++ b/app/cdn/icons/pause-filled.png diff --git a/icns/pause-symbolic.png b/app/cdn/icons/pause-symbolic.png Binary files differindex 99b9d7e..99b9d7e 100644 --- a/icns/pause-symbolic.png +++ b/app/cdn/icons/pause-symbolic.png diff --git a/icns/pip.png b/app/cdn/icons/pip.png Binary files differindex 3f9a6bf..3f9a6bf 100644 --- a/icns/pip.png +++ b/app/cdn/icons/pip.png diff --git a/icns/play-filled.png b/app/cdn/icons/play-filled.png Binary files differindex 823cf38..823cf38 100644 --- a/icns/play-filled.png +++ b/app/cdn/icons/play-filled.png diff --git a/icns/play-symbolic.png b/app/cdn/icons/play-symbolic.png Binary files differindex 289f629..289f629 100644 --- a/icns/play-symbolic.png +++ b/app/cdn/icons/play-symbolic.png diff --git a/icns/radio-filled.png b/app/cdn/icons/radio-filled.png Binary files differindex b952384..b952384 100644 --- a/icns/radio-filled.png +++ b/app/cdn/icons/radio-filled.png diff --git a/icns/radio-symbolic.png b/app/cdn/icons/radio-symbolic.png Binary files differindex 5003c35..5003c35 100644 --- a/icns/radio-symbolic.png +++ b/app/cdn/icons/radio-symbolic.png diff --git a/icns/radio.png b/app/cdn/icons/radio.png Binary files differindex 6891474..6891474 100644 --- a/icns/radio.png +++ b/app/cdn/icons/radio.png diff --git a/icns/settings-filled.png b/app/cdn/icons/settings-filled.png Binary files differindex f9aeffe..f9aeffe 100644 --- a/icns/settings-filled.png +++ b/app/cdn/icons/settings-filled.png diff --git a/icns/settings-symbolic.png b/app/cdn/icons/settings-symbolic.png Binary files differindex fe7a7e7..fe7a7e7 100644 --- a/icns/settings-symbolic.png +++ b/app/cdn/icons/settings-symbolic.png diff --git a/icns/settings.png b/app/cdn/icons/settings.png Binary files differindex da4dd81..da4dd81 100644 --- a/icns/settings.png +++ b/app/cdn/icons/settings.png diff --git a/icns/share-filled.png b/app/cdn/icons/share-filled.png Binary files differindex 956d7d6..956d7d6 100644 --- a/icns/share-filled.png +++ b/app/cdn/icons/share-filled.png diff --git a/icns/share-symbolic.png b/app/cdn/icons/share-symbolic.png Binary files differindex dd273e4..dd273e4 100644 --- a/icns/share-symbolic.png +++ b/app/cdn/icons/share-symbolic.png diff --git a/icns/share.png b/app/cdn/icons/share.png Binary files differindex 66b2f45..66b2f45 100644 --- a/icns/share.png +++ b/app/cdn/icons/share.png diff --git a/icns/solve-filled.png b/app/cdn/icons/solve-filled.png Binary files differindex e5fcbbb..e5fcbbb 100644 --- a/icns/solve-filled.png +++ b/app/cdn/icons/solve-filled.png diff --git a/icns/solve-symbolic.png b/app/cdn/icons/solve-symbolic.png Binary files differindex eb94636..eb94636 100644 --- a/icns/solve-symbolic.png +++ b/app/cdn/icons/solve-symbolic.png diff --git a/icns/solve.png b/app/cdn/icons/solve.png Binary files differindex e55fd0a..e55fd0a 100644 --- a/icns/solve.png +++ b/app/cdn/icons/solve.png diff --git a/icns/speaker.png b/app/cdn/icons/speaker.png Binary files differindex 0d297ea..0d297ea 100644 --- a/icns/speaker.png +++ b/app/cdn/icons/speaker.png diff --git a/icns/window-close.png b/app/cdn/icons/window-close.png Binary files differindex 648e661..648e661 100644 --- a/icns/window-close.png +++ b/app/cdn/icons/window-close.png diff --git a/icns/window-maximize.png b/app/cdn/icons/window-maximize.png Binary files differindex da48657..da48657 100644 --- a/icns/window-maximize.png +++ b/app/cdn/icons/window-maximize.png diff --git a/icns/window-minimize.png b/app/cdn/icons/window-minimize.png Binary files differindex 8a4716e..8a4716e 100644 --- a/icns/window-minimize.png +++ b/app/cdn/icons/window-minimize.png diff --git a/icns/window-reduce.png b/app/cdn/icons/window-reduce.png Binary files differindex 8093d6e..8093d6e 100644 --- a/icns/window-reduce.png +++ b/app/cdn/icons/window-reduce.png diff --git a/app/cdn/intro.jpg b/app/cdn/intro.jpg Binary files differnew file mode 100644 index 0000000..0f13c73 --- /dev/null +++ b/app/cdn/intro.jpg diff --git a/app/cdn/intro.psd b/app/cdn/intro.psd Binary files differnew file mode 100644 index 0000000..f9b50ac --- /dev/null +++ b/app/cdn/intro.psd diff --git a/app/cdn/js/home.js b/app/cdn/js/home.js new file mode 100644 index 0000000..d875860 --- /dev/null +++ b/app/cdn/js/home.js @@ -0,0 +1,12 @@ +setInterval(() => {
+ window.fetch("/app/radio/song.php").then((raw) => {
+ raw.text().then((text) => {
+ document.getElementById('radio-now').innerText = text;
+ })
+ })
+ window.fetch("/app/radio/next.php").then((raw) => {
+ raw.text().then((text) => {
+ document.getElementById('radio-next').innerText = text;
+ })
+ })
+}, 2000)
\ No newline at end of file diff --git a/js/iframe.js b/app/cdn/js/iframe.js index cef322b..a031872 100644 --- a/js/iframe.js +++ b/app/cdn/js/iframe.js @@ -1,28 +1,3 @@ -/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
-
function iframeURLChange(iframe, callback) {
var unloadHandler = function () {
setTimeout(function () {
diff --git a/app/cdn/js/loading.js b/app/cdn/js/loading.js new file mode 100644 index 0000000..b3970de --- /dev/null +++ b/app/cdn/js/loading.js @@ -0,0 +1,32 @@ +document.onreadystatechange = function(e) {
+ if (document.readyState == "interactive") {
+ var all = document.getElementsByTagName("*");
+ for (var i = 0, max = all.length; i < max; i++) {
+ set_ele(all[i]);
+ }
+ }
+}
+
+function check_element(ele) {
+ var all = document.getElementsByTagName("*");
+ var totalele = all.length;
+ var per_inc = 100 / all.length;
+
+ if ($(ele).on()) {
+ var prog_width = per_inc + Number(document.getElementById("progress_width").value);
+ document.getElementById("progress_width").value = prog_width;
+ $("#bar1").animate({
+ width: prog_width + "%"
+ }, 10, function() {
+ if (document.getElementById("bar1").style.width === "100%") {
+ $(".progress").fadeOut("slow");
+ }
+ });
+ } else {
+ set_ele(ele);
+ }
+}
+
+function set_ele(set_element) {
+ check_element(set_element);
+}
\ No newline at end of file diff --git a/js/navigation.js b/app/cdn/js/navigation.js index 241f6fe..b4d1dbe 100644 --- a/js/navigation.js +++ b/app/cdn/js/navigation.js @@ -1,28 +1,3 @@ -/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
-
window.addEventListener('load', () => {
document.getElementById('loading').style.display = "none";
})
diff --git a/app/cdn/js/statusbar.js b/app/cdn/js/statusbar.js new file mode 100644 index 0000000..210653e --- /dev/null +++ b/app/cdn/js/statusbar.js @@ -0,0 +1,4 @@ +window.addEventListener("load", () => {
+ window.fetch("/statusbar.php").then((a) => {a.text().then((b) => {document.body.innerHTML=document.body.innerHTML+b;document.getElementById("statusbar").classList.add("desktop");})});
+ $(".progress").fadeOut("slow");
+})
\ No newline at end of file diff --git a/app/cdn/me/index.php b/app/cdn/me/index.php new file mode 100644 index 0000000..b6d2b06 --- /dev/null +++ b/app/cdn/me/index.php @@ -0,0 +1,6 @@ +<?php + +require_once "/mnt/familine/app/session.php"; + +header("Location: https://account.familine.minteck.org/hub/api/rest/avatar/$_PROFILE[id]?dpr=2&size=64"); +die();
\ No newline at end of file diff --git a/statusbar.php b/app/cdn/statusbar.php index d648233..42cef9d 100644 --- a/statusbar.php +++ b/app/cdn/statusbar.php @@ -1,35 +1,11 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
global $_CONFIG;
$_CONFIG = json_decode(file_get_contents("/mnt/familine/private/FamilineConfig.json"), true);
if (isset($_COOKIE['FL_SESSION_TOKEN'])) {
- if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/private/tokens/" . str_replace(".", "", str_replace("/", "", $_COOKIE['FL_SESSION_TOKEN'])))) {
- $_PROFILE = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/private/tokens/" . str_replace(".", "", str_replace("/", "", $_COOKIE['FL_SESSION_TOKEN']))), true);
+ if (file_exists("/mnt/familine/private/tokens/" . str_replace(".", "", str_replace("/", "", $_COOKIE['FL_SESSION_TOKEN'])))) {
+ $_PROFILE = json_decode(file_get_contents("/mnt/familine/private/tokens/" . str_replace(".", "", str_replace("/", "", $_COOKIE['FL_SESSION_TOKEN']))), true);
if (isset($_PROFILE['familine'])) {
header("Location: https://" . $_CONFIG["Global"]["domain"] . "/login/?r=" . urlencode("https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"));
@@ -184,21 +160,20 @@ if (isset($_PROFILE["projectRoles"]) && is_array($_PROFILE["projectRoles"]) && i <div class="statusbar-drag-region" id="statusbar-drag-region-01"></div>
<div class="statusbar-drag-region" id="statusbar-drag-region-02"></div>
<div class="statusbar-drag-region" id="statusbar-drag-region-03"></div>
- <a title="Accueil de Familine" href="https://familine.minteck.org" target="_parent"><span class="logo" style="display: inline-block;top: 0;position: relative;padding: 8px 7px 7px 7px;margin: -11px 0;"><img src="https://familine.minteck.org/favicon.svg" style="width: 16px;vertical-align: middle;position: relative;top: -2px;"> Familine</span></a>
- <span id="apps-desktop" <?= $_SERVER['HTTP_REFERER'] === "https://familine.minteck.org/" ? "style=\"display: none;\"" : "" ?>><span style="opacity: .25;">|</span><a style="text-decoration: none;" title="Familine Pages" href="https://docs.familine.minteck.org" target="_parent">
- <span class="logo" style="display: inline-block;top: -2px;position: relative;padding: 6px 2px 7px 2px;margin: -11px 0;"><img src="https://familine.minteck.org/icns/familine-docs.svg" style="width: 20px;vertical-align: middle;"></span></a><a style="text-decoration: none;" title="Familine Aide" href="https://support.familine.minteck.org" target="_parent">
- <span class="logo" style="display: inline-block;top: -2px;position: relative;padding: 6px 2px 7px 2px;margin: -11px 0;"><img src="https://familine.minteck.org/icns/familine-help.svg" style="width: 20px;vertical-align: middle;"></span></a><a style="text-decoration: none;" title="Familine Films" href="https://cinema.familine.minteck.org" target="_parent">
- <span class="logo" style="display: inline-block;top: -2px;position: relative;padding: 6px 2px 7px 2px;margin: -11px 0;"><img src="https://familine.minteck.org/icns/familine-movies.svg" style="width: 20px;vertical-align: middle;"></span></a><a style="text-decoration: none;" title="Familine Photos" href="https://photos.familine.minteck.org" target="_parent">
- <span class="logo" style="display: inline-block;top: -2px;position: relative;padding: 6px 2px 7px 2px;margin: -11px 0;"><img src="https://familine.minteck.org/icns/familine-photos.svg" style="width: 20px;vertical-align: middle;"></span></a><a style="text-decoration: none;" title="Familine Planning" href="https://planning.familine.minteck.org" target="_parent">
- <span class="logo" style="display: inline-block;top: -2px;position: relative;padding: 6px 2px 7px 2px;margin: -11px 0;"><img src="https://familine.minteck.org/icns/familine-planning.svg" style="width: 20px;vertical-align: middle;"></span></a><a style="text-decoration: none;" title="Familine Généalogie" href="https://genealogy.familine.minteck.org" target="_parent">
- <span class="logo" style="display: inline-block;top: -2px;position: relative;padding: 6px 2px 7px 2px;margin: -11px 0;"><img src="https://familine.minteck.org/icns/familine-recall.svg" style="width: 20px;vertical-align: middle;"></span></a><a style="text-decoration: none;" title="Familine Partage" href="https://share.familine.minteck.org" target="_parent">
- <span class="logo" style="display: inline-block;top: -2px;position: relative;padding: 6px 2px 7px 2px;margin: -11px 0;"><img src="https://familine.minteck.org/icns/familine-share.svg" style="width: 20px;vertical-align: middle;"></span></a><a style="text-decoration: none;" title="Familine Discussions" href="https://chat.familine.minteck.org" target="_parent">
- <span class="logo" style="display: inline-block;top: -2px;position: relative;padding: 6px 2px 7px 2px;margin: -11px 0;"><img src="https://familine.minteck.org/icns/familine-you.svg" style="width: 20px;vertical-align: middle;"></span></a>
+ <a title="Accueil de Familine" href="https://app.<?= $_CONFIG["Global"]["domain"] ?>" target="_parent"><span class="logo" style="display: inline-block;top: 0;position: relative;padding: 8px 7px 7px 7px;margin: -11px 0;"><img src="https://<?= $_CONFIG["Global"]["cdn"] ?>/favicon.svg" style="width: 16px;vertical-align: middle;position: relative;top: -2px;"> Familine</span></a>
+ <span id="apps-desktop" <?= $_SERVER['HTTP_REFERER'] === "https://app." . $_CONFIG["Global"]["domain"] . "/" ? "style=\"display: none;\"" : "" ?>><span style="opacity: .25;">|</span><a style="text-decoration: none;" title="Familine Pages" href="https://docs.<?= $_CONFIG["Global"]["domain"] ?>" target="_parent">
+ <span class="logo" style="display: inline-block;top: -2px;position: relative;padding: 6px 2px 7px 2px;margin: -11px 0;"><img src="https://<?= $_CONFIG["Global"]["cdn"] ?>/icns/familine-docs.svg" style="width: 20px;vertical-align: middle;"></span></a><a style="text-decoration: none;" title="Familine Aide" href="https://support.<?= $_CONFIG["Global"]["domain"] ?>" target="_parent">
+ <span class="logo" style="display: inline-block;top: -2px;position: relative;padding: 6px 2px 7px 2px;margin: -11px 0;"><img src="https://<?= $_CONFIG["Global"]["cdn"] ?>/icns/familine-help.svg" style="width: 20px;vertical-align: middle;"></span></a><a style="text-decoration: none;" title="Familine Média" href="https://media.<?= $_CONFIG["Global"]["domain"] ?>" target="_parent">
+ <span class="logo" style="display: inline-block;top: -2px;position: relative;padding: 6px 2px 7px 2px;margin: -11px 0;"><img src="https://<?= $_CONFIG["Global"]["cdn"] ?>/icns/familine-media.svg" style="width: 20px;vertical-align: middle;"></span></a><!--<a style="text-decoration: none;" title="Familine Planning" href="https://planning.<?= $_CONFIG["Global"]["domain"] ?>" target="_parent">
+ <span class="logo" style="display: inline-block;top: -2px;position: relative;padding: 6px 2px 7px 2px;margin: -11px 0;"><img src="https://<?= $_CONFIG["Global"]["cdn"] ?>/icns/familine-planning.svg" style="width: 20px;vertical-align: middle;"></span></a>--><a style="text-decoration: none;" title="Familine Généalogie" href="https://genealogy.<?= $_CONFIG["Global"]["domain"] ?>" target="_parent">
+ <span class="logo" style="display: inline-block;top: -2px;position: relative;padding: 6px 2px 7px 2px;margin: -11px 0;"><img src="https://<?= $_CONFIG["Global"]["cdn"] ?>/icns/familine-recall.svg" style="width: 20px;vertical-align: middle;"></span></a><a style="text-decoration: none;" title="Familine Partage" href="https://share.<?= $_CONFIG["Global"]["domain"] ?>" target="_parent">
+ <span class="logo" style="display: inline-block;top: -2px;position: relative;padding: 6px 2px 7px 2px;margin: -11px 0;"><img src="https://<?= $_CONFIG["Global"]["cdn"] ?>/icns/familine-share.svg" style="width: 20px;vertical-align: middle;"></span></a><a style="text-decoration: none;" title="Familine Discussions" href="https://chat.<?= $_CONFIG["Global"]["domain"] ?>" target="_parent">
+ <span class="logo" style="display: inline-block;top: -2px;position: relative;padding: 6px 2px 7px 2px;margin: -11px 0;"><img src="https://<?= $_CONFIG["Global"]["cdn"] ?>/icns/familine-you.svg" style="width: 20px;vertical-align: middle;"></span></a>
</span>
<div id="user">
- <a title="Mon compte" href="https://auth.familine.minteck.org/auth/realms/Familine/account" target="_parent"><span class="account" style="display: inline-block;top: 0;position: relative;padding: 8px 7px 7px 7px;margin: -11px 0;">
+ <a title="Mon compte" href="https://auth.<?= $_CONFIG["Global"]["domain"] ?>/auth/realms/Familine/account" target="_parent"><span class="account" style="display: inline-block;top: 0;position: relative;padding: 8px 7px 7px 7px;margin: -11px 0;">
<span id="user-name" style="position: relative;margin-left:5px;top: 2.5px;right: 5px;"><?= $_FULLNAME ?></span>
- <img src="https://familine.minteck.org/me" alt="" style="width:24px;border-radius:999px;vertical-align: middle;position:relative;top: 2px;">
+ <img src="https://<?= $_CONFIG["Global"]["cdn"] ?>/me" alt="" style="width:24px;border-radius:999px;vertical-align: middle;position:relative;top: 2px;">
</span></a>
</div>
</div>
diff --git a/styles.css b/app/cdn/styles.css index 94ef8fd..f06d321 100644 --- a/styles.css +++ b/app/cdn/styles.css @@ -24,7 +24,7 @@ */
/* Dark Theme */
-@import "dark.css";
+@import "../../dark.css";
@font-face {
font-family: "Nunito";
@@ -272,12 +272,13 @@ html, body { background: rgba(255, 255, 255, .25);
border: 1px solid gray;
backdrop-filter: blur(5px);
+ -webkit-backdrop-filter: blur(5px);
}
.explore-btn:active, .explore-btn:focus {
background: rgba(255, 255, 255, .5);
border: 1px solid white;
- backdrop-filter: blur(5px);
+ -webkit-backdrop-filter: blur(5px);
}
.explore-btn {
@@ -310,4 +311,27 @@ html, body { .explore-btn:hover .explore-description, .explore-btn:focus .explore-description, .explore-btn:active .explore-description {
opacity: .5 !important;
+}
+
+.jumbotron {
+ border: 1px solid #444;
+ background: #151515;
+ padding: 10px;
+}
+
+@media (prefers-color-scheme: light) {
+ .jumbotron {
+ border: 1px solid #ccc !important;
+ background: #eee !important;
+ padding: 10px !important;
+ }
+}
+
+.news-link {
+ color: inherit;
+ cursor: pointer;
+}
+
+.news-link:hover {
+ color: inherit;
}
\ No newline at end of file diff --git a/app/galaxy/css/bootstrap-grid.css b/app/galaxy/css/bootstrap-grid.css index 3f84daf..bf2181b 100644 --- a/app/galaxy/css/bootstrap-grid.css +++ b/app/galaxy/css/bootstrap-grid.css @@ -1,26 +1,8 @@ -/* - * MIT License - * - * Copyright (c) 2022- Minteck - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * +/*! + * Bootstrap Grid v4.6.1 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ html { box-sizing: border-box; diff --git a/app/galaxy/css/bootstrap-reboot.css b/app/galaxy/css/bootstrap-reboot.css index 3f08dea..d317435 100644 --- a/app/galaxy/css/bootstrap-reboot.css +++ b/app/galaxy/css/bootstrap-reboot.css @@ -1,26 +1,9 @@ -/* - * MIT License - * - * Copyright (c) 2022- Minteck - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * +/*! + * Bootstrap Reboot v4.6.1 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */ *, *::before, diff --git a/app/galaxy/css/bootstrap.css b/app/galaxy/css/bootstrap.css index 76c463f..9a54320 100644 --- a/app/galaxy/css/bootstrap.css +++ b/app/galaxy/css/bootstrap.css @@ -1,26 +1,8 @@ -/* - * MIT License - * - * Copyright (c) 2022- Minteck - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * +/*! + * Bootstrap v4.6.1 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ :root { --blue: #007bff; diff --git a/app/galaxy/css/theme.css b/app/galaxy/css/theme.css index 6be0e47..5c525a8 100644 --- a/app/galaxy/css/theme.css +++ b/app/galaxy/css/theme.css @@ -1,28 +1,3 @@ -/* - * MIT License - * - * Copyright (c) 2022- Minteck - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */ - :root { --primary-color: #a32178; --shadow-color: rgba(255, 0, 221, 0.25); diff --git a/app/galaxy/js/bootstrap.bundle.js b/app/galaxy/js/bootstrap.bundle.js index e39c50f..f2df15a 100644 --- a/app/galaxy/js/bootstrap.bundle.js +++ b/app/galaxy/js/bootstrap.bundle.js @@ -1,27 +1,8 @@ -/* - * MIT License - * - * Copyright (c) 2022- Minteck - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */ +/*! + * Bootstrap v4.6.1 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) : typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) : diff --git a/app/galaxy/js/bootstrap.js b/app/galaxy/js/bootstrap.js index a440626..4eb9985 100644 --- a/app/galaxy/js/bootstrap.js +++ b/app/galaxy/js/bootstrap.js @@ -1,27 +1,8 @@ -/* - * MIT License - * - * Copyright (c) 2022- Minteck - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */ +/*! + * Bootstrap v4.6.1 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) : typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) : diff --git a/app/galaxy/private/footer.php b/app/galaxy/private/footer.php index 0e6e65c..5fd824d 100644 --- a/app/galaxy/private/footer.php +++ b/app/galaxy/private/footer.php @@ -1,7 +1,7 @@ <script> <?php global $_CONFIG; ?>console.log("Injecting Familine header") document.body.innerHTML = document.body.innerHTML + "<iframe style=\"position:fixed;left:0;right:0;top:0;border: none;width: 100%;height:32px;\" src=\"https://<?= /** @var array $_CONFIG */ - $_CONFIG["Global"]["domain"] ?>/statusbar.php\"></iframe>"; + $_CONFIG["Global"]["cdn"] ?>/statusbar.php\"></iframe>"; document.getElementsByTagName("html")[0].style.marginTop = "32px"; document.getElementsByTagName("html")[0].style.height = "calc(100vh - 32px)"; </script> diff --git a/app/galaxy/private/header.php b/app/galaxy/private/header.php index 949767b..37279b6 100644 --- a/app/galaxy/private/header.php +++ b/app/galaxy/private/header.php @@ -1,28 +1,4 @@ <?php -/* - * MIT License - * - * Copyright (c) 2022- Minteck - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */ require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php"; @@ -60,7 +36,7 @@ if (!isset($_TITLE)) { <link rel="stylesheet" href="/css/bootstrap.min.css"> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> <script src="/js/bootstrap.bundle.min.js"></script> - <link rel="icon" href="https://<?= $_CONFIG["Global"]["domain"] ?>/icns/familine-galaxy.svg"> + <link rel="icon" href="https://<?= $_CONFIG["Global"]["cdn"] ?>/icns/familine-galaxy.svg"> </head> <body> <nav class="navbar navbar-expand-sm bg-light navbar-light"> diff --git a/app/genealogy/.gitlab-ci.yml b/app/genealogy/.gitlab-ci.yml index 4402674..e2c9e0e 100644 --- a/app/genealogy/.gitlab-ci.yml +++ b/app/genealogy/.gitlab-ci.yml @@ -1,15 +1,15 @@ -# Generic Minteck GitLab CI/CD Checks -# PHP applications -image: php:zts-buster - -cache: - paths: - - vendor/ - -before_script: - - apt-get update - - apt-get install -y git - -test: - script: - - bash -c '[[ $(find . -name \*.php -exec php -l {} \; | grep -v "No syntax errors") ]] && exit 2 || exit 0' +# Generic Minteck GitLab CI/CD Checks
+# PHP applications
+image: php:zts-buster
+
+cache:
+ paths:
+ - vendor/
+
+before_script:
+ - apt-get update
+ - apt-get install -y git
+
+test:
+ script:
+ - bash -c '[[ $(find . -name \*.php -exec php -l {} \; | grep -v "No syntax errors") ]] && exit 2 || exit 0'
diff --git a/app/genealogy/LICENSE b/app/genealogy/LICENSE index 318113a..41b02f6 100644 --- a/app/genealogy/LICENSE +++ b/app/genealogy/LICENSE @@ -1,21 +1,21 @@ -MIT License - -Copyright (c) 2021- Minteck - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +MIT License
+
+Copyright (c) 2021- Minteck
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/app/genealogy/dllib/jquery.flexdatalist.css b/app/genealogy/dllib/jquery.flexdatalist.css index bfe2704..03e1b9c 100644 --- a/app/genealogy/dllib/jquery.flexdatalist.css +++ b/app/genealogy/dllib/jquery.flexdatalist.css @@ -1,28 +1,3 @@ -/* - * MIT License - * - * Copyright (c) 2022- Minteck - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */ - /** * jQuery Flexdatalist basic stylesheet. * diff --git a/app/genealogy/dllib/jquery.flexdatalist.js b/app/genealogy/dllib/jquery.flexdatalist.js index 68101b4..6fef98b 100644 --- a/app/genealogy/dllib/jquery.flexdatalist.js +++ b/app/genealogy/dllib/jquery.flexdatalist.js @@ -1,28 +1,3 @@ -/* - * MIT License - * - * Copyright (c) 2022- Minteck - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */ - /** * jQuery Flexdatalist. * Autocomplete input fields, with support for datalists. diff --git a/app/genealogy/index.php b/app/genealogy/index.php index 2101058..fa67073 100644 --- a/app/genealogy/index.php +++ b/app/genealogy/index.php @@ -14,32 +14,8 @@ <li class="list-group-item"><?= count($data); ?> personnes</li>
<li class="list-group-item">
<?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
-
-$male = 0;
+
+ $male = 0;
$female = 0;
foreach ($data as $id => $person) {
if (isset($person["sex"])) {
diff --git a/app/genealogy/me/index.php b/app/genealogy/me/index.php index b9a81a5..0168181 100644 --- a/app/genealogy/me/index.php +++ b/app/genealogy/me/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
diff --git a/app/genealogy/person/index.php b/app/genealogy/person/index.php index f93315f..c2b232e 100644 --- a/app/genealogy/person/index.php +++ b/app/genealogy/person/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
setlocale(LC_ALL, 'fr_FR.UTF-8');
$data = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/private/data/people.json"), true);
diff --git a/app/genealogy/private/footer.php b/app/genealogy/private/footer.php index 0e6e65c..5fd824d 100644 --- a/app/genealogy/private/footer.php +++ b/app/genealogy/private/footer.php @@ -1,7 +1,7 @@ <script> <?php global $_CONFIG; ?>console.log("Injecting Familine header") document.body.innerHTML = document.body.innerHTML + "<iframe style=\"position:fixed;left:0;right:0;top:0;border: none;width: 100%;height:32px;\" src=\"https://<?= /** @var array $_CONFIG */ - $_CONFIG["Global"]["domain"] ?>/statusbar.php\"></iframe>"; + $_CONFIG["Global"]["cdn"] ?>/statusbar.php\"></iframe>"; document.getElementsByTagName("html")[0].style.marginTop = "32px"; document.getElementsByTagName("html")[0].style.height = "calc(100vh - 32px)"; </script> diff --git a/app/genealogy/private/header.php b/app/genealogy/private/header.php index 3cc3b31..95799bb 100644 --- a/app/genealogy/private/header.php +++ b/app/genealogy/private/header.php @@ -1,28 +1,4 @@ <?php -/* - * MIT License - * - * Copyright (c) 2022- Minteck - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */ require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php"; @@ -114,7 +90,7 @@ $data = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/private/data <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script> <link rel="stylesheet" href="/styles/common.css"> - <link rel="icon" href="https://<?= $_CONFIG["Global"]["domain"] ?>/icns/familine-recall.svg"> + <link rel="icon" href="https://<?= $_CONFIG["Global"]["cdn"] ?>/icns/familine-recall.svg"> </head> <body> <nav class="navbar navbar-expand-sm bg-light navbar-light"> diff --git a/app/genealogy/search/birth/data.json/index.php b/app/genealogy/search/birth/data.json/index.php index 9ea89b4..851a14f 100644 --- a/app/genealogy/search/birth/data.json/index.php +++ b/app/genealogy/search/birth/data.json/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
diff --git a/app/genealogy/search/birth/results/index.php b/app/genealogy/search/birth/results/index.php index ec6dad6..48c6392 100644 --- a/app/genealogy/search/birth/results/index.php +++ b/app/genealogy/search/birth/results/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
diff --git a/app/genealogy/search/city/data.json/index.php b/app/genealogy/search/city/data.json/index.php index 53e4a45..e61fd04 100644 --- a/app/genealogy/search/city/data.json/index.php +++ b/app/genealogy/search/city/data.json/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
diff --git a/app/genealogy/search/city/results/index.php b/app/genealogy/search/city/results/index.php index f4e8d0c..cbc0e66 100644 --- a/app/genealogy/search/city/results/index.php +++ b/app/genealogy/search/city/results/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
diff --git a/app/genealogy/search/death/data.json/index.php b/app/genealogy/search/death/data.json/index.php index e003491..f1db1ae 100644 --- a/app/genealogy/search/death/data.json/index.php +++ b/app/genealogy/search/death/data.json/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
diff --git a/app/genealogy/search/death/results/index.php b/app/genealogy/search/death/results/index.php index 08149a3..b3210d8 100644 --- a/app/genealogy/search/death/results/index.php +++ b/app/genealogy/search/death/results/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
diff --git a/app/genealogy/search/dept/data.json/index.php b/app/genealogy/search/dept/data.json/index.php index c70951d..fb27645 100644 --- a/app/genealogy/search/dept/data.json/index.php +++ b/app/genealogy/search/dept/data.json/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
diff --git a/app/genealogy/search/dept/results/index.php b/app/genealogy/search/dept/results/index.php index fc49ae4..3e09605 100644 --- a/app/genealogy/search/dept/results/index.php +++ b/app/genealogy/search/dept/results/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
diff --git a/app/genealogy/search/lastname/data.json/index.php b/app/genealogy/search/lastname/data.json/index.php index 2d7ba03..a6c0daa 100644 --- a/app/genealogy/search/lastname/data.json/index.php +++ b/app/genealogy/search/lastname/data.json/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
diff --git a/app/genealogy/search/lastname/results/index.php b/app/genealogy/search/lastname/results/index.php index dc35e5d..bfb80f7 100644 --- a/app/genealogy/search/lastname/results/index.php +++ b/app/genealogy/search/lastname/results/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
diff --git a/app/genealogy/search/marriage/data.json/index.php b/app/genealogy/search/marriage/data.json/index.php index d97e47c..5e57689 100644 --- a/app/genealogy/search/marriage/data.json/index.php +++ b/app/genealogy/search/marriage/data.json/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
diff --git a/app/genealogy/search/marriage/results/index.php b/app/genealogy/search/marriage/results/index.php index 238e284..618f060 100644 --- a/app/genealogy/search/marriage/results/index.php +++ b/app/genealogy/search/marriage/results/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
diff --git a/app/genealogy/search/name/data.json/index.php b/app/genealogy/search/name/data.json/index.php index 68f963c..76ef273 100644 --- a/app/genealogy/search/name/data.json/index.php +++ b/app/genealogy/search/name/data.json/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
diff --git a/app/genealogy/search/name/results/index.php b/app/genealogy/search/name/results/index.php index 88af890..b316ac0 100644 --- a/app/genealogy/search/name/results/index.php +++ b/app/genealogy/search/name/results/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
diff --git a/app/genealogy/search/state/data.json/index.php b/app/genealogy/search/state/data.json/index.php index e3e928f..e0bad67 100644 --- a/app/genealogy/search/state/data.json/index.php +++ b/app/genealogy/search/state/data.json/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
diff --git a/app/genealogy/search/state/results/index.php b/app/genealogy/search/state/results/index.php index ae53714..98e4c54 100644 --- a/app/genealogy/search/state/results/index.php +++ b/app/genealogy/search/state/results/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
diff --git a/app/genealogy/style/tree_maker.css b/app/genealogy/style/tree_maker.css index b86761c..2067e8d 100644 --- a/app/genealogy/style/tree_maker.css +++ b/app/genealogy/style/tree_maker.css @@ -1,28 +1,3 @@ -/* - * MIT License - * - * Copyright (c) 2022- Minteck - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */ - .tree__container, #from_tree__container__step__card__first, .tree__container__branch { display: flex; flex-direction: row; diff --git a/app/genealogy/styles/common.css b/app/genealogy/styles/common.css index 292c788..2973aab 100644 --- a/app/genealogy/styles/common.css +++ b/app/genealogy/styles/common.css @@ -1,28 +1,3 @@ -/* - * MIT License - * - * Copyright (c) 2022- Minteck - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */ - @import "dark.css"; @font-face { diff --git a/app/genealogy/styles/dark.css b/app/genealogy/styles/dark.css index 4fecf5b..20f5dce 100644 --- a/app/genealogy/styles/dark.css +++ b/app/genealogy/styles/dark.css @@ -1,28 +1,3 @@ -/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
-
@media (prefers-color-scheme: dark) {
nav.navbar {
diff --git a/app/genealogy/tree/index.php b/app/genealogy/tree/index.php index d1a47f4..76e1ca1 100644 --- a/app/genealogy/tree/index.php +++ b/app/genealogy/tree/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
setlocale(LC_ALL, 'fr_FR.UTF-8');
$data = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/private/data/people.json"), true);
diff --git a/app/genealogy/tree/mktree.php b/app/genealogy/tree/mktree.php index f229a94..095de92 100644 --- a/app/genealogy/tree/mktree.php +++ b/app/genealogy/tree/mktree.php @@ -1,28 +1,4 @@ <?php require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
$data = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/private/data/people.json"), true);
diff --git a/app/intro/.DS_Store b/app/intro/.DS_Store Binary files differnew file mode 100644 index 0000000..c7faaef --- /dev/null +++ b/app/intro/.DS_Store diff --git a/app/intro/conditions/index.php b/app/intro/conditions/index.php new file mode 100644 index 0000000..ee0aa31 --- /dev/null +++ b/app/intro/conditions/index.php @@ -0,0 +1,104 @@ +<?php +/* + * MIT License + * + * Copyright (c) 2022- Minteck + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ +if (str_contains($_SERVER["HTTP_USER_AGENT"], "+AutomateCloud/")) { + header("Location: https://app.familine.minteck.org/"); + die(); +} +require_once $_SERVER["DOCUMENT_ROOT"] . "/session.php"; +global $loggedIn; +?> +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <link rel="shortcut icon" href="https://cdn.familine.minteck.org/favicon.svg" type="image/svg+xml"> + <title>Conditions d'accès | Familine</title> + <link rel="stylesheet" href="/stylesheet.css"> +</head> +<body> + <header class="scrolled-force"> + <nav id="main-nav" class="container"> + <a id="nav-logo" href="/"> + <img src="https://cdn.familine.minteck.org/favicon.svg" alt="Familine" id="nav-logo-img"> + </a> + + <span id="nav-links"> + <a class="nav-link" href="https://minteck.org/legal/#/privacy">Confidentialité</a> + <a class="nav-link" href="https://minteck.org/legal/#/terms">Conditions d'utilisation</a> + <a class="nav-link" href="/conditions">Conditions d'accès</a> + <a class="nav-link" href="https://gitlab.minteck.org/explore/projects/topics/Familine">Code source</a> + </span> + + <?php if (!$loggedIn): ?> + <a id="nav-aside" href="https://session.familine.minteck.org/login/?r=https%3A%2F%2Ffamiline.minteck.org%2F"> + <span id="loggedin-action">Se connecter avec Familine</span> + </a> + <?php else: ?> + <a id="nav-aside" href="https://app.familine.minteck.org"> + <img src="https://cdn.familine.minteck.org/me" id="loggedin-profile"> + <span id="loggedin-name"> <?= $_FULLNAME ?> ›</span> + </a> + <?php endif; ?> + </nav> + </header> + + <main> + <div id="skip-header"></div> + <div class="container" style="padding-top: 5px;"> + <h1>Conditions d'accès aux services Familine hébergé par Minteck.org</h1> + <?php if ($loggedIn): ?> + <p class="text-muted">Vous êtes déjà connecté·e à Familine, vous avez par conséquent déjà accès à Familine ; cela signifie que vous respectez l'intégralité des conditions décrites dans ce document.</p> + <?php endif; ?> + + <h2>Préambule</h2> + <p>Les suivantes conditions d'accès sont lues, comprises et acceptées par tous les utilisateurs de Familine, à partir du moment où ils et elles soumettent une demande de compte, et jusqu'à la révocation de leur accès à Familine (lorsqu'ils ou elles ne respectent plus les conditions requises).</p> + <p>Ces conditions ne s'appliquent que pour la version de Familine telle qu'elle est hébergée par Minteck.org. Familine est un logiciel libre que chacun peut héberger et utiliser librement et gratuitement, sous ses propres conditions, au sein de sa propre famille et avec son propre contenu ainsi que ses propres modifications.</p> + + <h2>Période d'accès</h2> + <p>Votre accès à Familine vous est octroyé immédiatement après l'activation de votre compte par un administrateur. Certains services requièrent cependant un délai de jusqu'à 3 jours ouvrables avant de vous autoriser à effectuer des modifications ; mais votre accès en lecture uniquement est octroyé immédiatement.</p> + <p>Familine se réserve le droit, à n'importe quel moment, et sans donner de raison valable, de suspendre temporairement ou de façon permanente votre accès à Familine, occasionnant la suppression de toutes les données personelles présentes sur les différents services, et ce de façon irrémédiable. De plus, Familine se réserve le droit d'engager une procédure judiciaire dans l'éventualité d'un manquement aux lois en vigueur en France.</p> + + <h2>Familine et les enfants de moins de 15 ans</h2> + <p>L'age de majorité numérique en France est 15 ans. C'est l'age à partir duquel un enfant devient responsable de ses donneés personnelles en ligne. De ce fait, sans autorisation parentale, un enfant de moins de 15 ans n'est pas autorisé à disposer de son propre compte Familine. Familine ne tient cependant pas compte de l'age de majorité numérique de votre pays de résidence, même s'il est supérieur à 15 ans.</p> + <p>Dans l'éventualité où Familine soupsconerait un utilisateur d'avoir moins de 15 ans et de ne pas disposer d'autorisation parentale, son compte pourrait être suspendu de façon permanente.</p> + + <h2>Placement au sein de la famille</h2> + <p>Familine est réservé aux utilisateurs légalement ou usuellement proches des administrateurs de l'infrastructure Minteck.org, cela pourrait inclure les amis et membre de famille éloignée ou non biologique. Si aucun membre de la famille ne vous a dirigé vers Familine, il se pourrait que vous ne soyez pas autorisé·e à y accéder (cependant, il ne vous coûte rien d'essayer).</p> + <p>Afin de vérifier votre identité, Familine peut exiger que vous transmettiez une copie d'un document permettant de vérifier votre identité. Il vous est fortement déconseillé de transmettre une carte d'identité, et plutôt recommandé de transmettre un permis de conduire, une carte vitale, une carte de vote, un livret de Familine ou une carte bancaire dont vous masquez les numéros. Toute transmission de documents modifiés ou falsifiés fera l'objet de poursuites judiciaires.</p> + + <h2>Abonnement additionnels</h2> + <p>Familine peut, par le biais de ses services, vous proposer des services additionnels payants qui permettent d'ajouter des fonctionnalités supplémentaires à la plateforme ou vous donner accès à du contenu supplémentaire exclusif.</p> + <p>Les personnes âgées de moins de 18 ans ne peuvent pas acheter d'abonnements payants sans autorisation préalable de leur·s parent·s ou responsable·s légal. De plus, le paiement ne peut s'effectuer uniquement en main propre pour des raisons personnelles ; il sera, à l'avenir, possible de procéder au paiement directement par le biais de Familine.</p> + + <h2>Potentiels problèmes</h2> + <p>De part leur complexité, Familine ne saurait garantir le total bon fonctionnement de ses services. Cependant, il vous est conseillé de communiquer tout potentiel problème par courriel à support@familine.minteck.org.</p> + </div> + </main> + + <script src="/main.js"></script> +</body> +</html> diff --git a/app/intro/index.php b/app/intro/index.php new file mode 100644 index 0000000..1748f31 --- /dev/null +++ b/app/intro/index.php @@ -0,0 +1,153 @@ +<?php +/* + * MIT License + * + * Copyright (c) 2022- Minteck + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + +if (str_contains($_SERVER["HTTP_USER_AGENT"], "+AutomateCloud/")) { + header("Location: https://app.familine.minteck.org/"); + die(); +} +require_once $_SERVER["DOCUMENT_ROOT"] . "/session.php"; +global $loggedIn; +?> +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <link rel="shortcut icon" href="https://cdn.familine.minteck.org/favicon.svg" type="image/svg+xml"> + <title>Familine | Des outils fiables et puissants pour la famille</title> + <link rel="stylesheet" href="stylesheet.css"> +</head> +<body> + <header> + <nav id="main-nav" class="container"> + <a id="nav-logo" href="/"> + <img src="https://cdn.familine.minteck.org/favicon.svg" alt="Familine" id="nav-logo-img"> + </a> + + <span id="nav-links"> + <a class="nav-link" href="https://minteck.org/legal/#/privacy">Confidentialité</a> + <a class="nav-link" href="https://minteck.org/legal/#/terms">Conditions d'utilisation</a> + <a class="nav-link" href="/conditions">Conditions d'accès</a> + <a class="nav-link" href="https://gitlab.minteck.org/explore/projects/topics/Familine">Code source</a> + </span> + + <?php if (!$loggedIn): ?> + <a id="nav-aside" href="https://session.familine.minteck.org/login/?r=https%3A%2F%2Ffamiline.minteck.org%2F"> + <span id="loggedin-action">Se connecter avec Familine</span> + </a> + <?php else: ?> + <a id="nav-aside" href="https://app.familine.minteck.org"> + <img src="https://cdn.familine.minteck.org/me" id="loggedin-profile"> + <span id="loggedin-name"> <?= $_FULLNAME ?> ›</span> + </a> + <?php endif; ?> + </nav> + </header> + + <main> + <article id="hero"></article> + <div id="hero-content"> + <div> + <h1 id="hero-title-part-big"><span id="hero-stylized">Familine</span></h1> + <h1 id="hero-title-part-small">met votre famille est en sécurité</h1> + <?php if ($loggedIn): ?> + <a class="button button-main" href="https://app.familine.minteck.org">Ouvrir Familine</a> + <?php else: ?> + <a class="button button-main" href="https://session.familine.minteck.org/login/?r=https%3A%2F%2Fapp.familine.minteck.org%2F">Se connecter</a> + <a class="button button-secondary" href="https://docs.google.com/forms/d/e/1FAIpQLSeXkgy_-Dd1iQSdGjccCL96pdzNAOKcnqOPUUuzsLj-7NJ2Wg/viewform">Demander un compte</a> + <?php endif; ?> + </div> + </div> + + <div class="container" style="text-align: center;"> + <br><br> + <h5>Familine, c'est une multitude de services qui vous attend</h5> + <img class="welcome-intro-img" src="/icns/familine-docs.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Pages"> + <img class="welcome-intro-img" src="/icns/familine-help.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Aide"> + <img class="welcome-intro-img" src="/icns/familine-movies.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Films"> + <img class="welcome-intro-img" src="/icns/familine-photos.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Photos"> + <img class="welcome-intro-img" src="/icns/familine-planning.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Planning"> + <img class="welcome-intro-img" src="/icns/familine-recall.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Généalogie"> + <img class="welcome-intro-img" src="/icns/familine-share.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Partage"> + <img class="welcome-intro-img" src="/icns/familine-you.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Discussions"> + <p>Pages · Aide · Films · Photos · Planning · Généalogie · Partage · Discussions</p> + <br> + </div> + + <div class="welcome-box-0 welcome-box"> + <div class="container welcome-box-container"> + <div class="welcome-box-container--inner"> + <div> + <h2>Un compte... tout Familine</h2> + <p>Avec seulement votre compte Familine, vous avez accès à une multitude de services tous interconnectés les uns avec les autres.</p> + </div> + </div> + <div class="welcome-box-container--inner"> + <div> + <img id="01-account" alt="" src="https://app.familine.minteck.org/welcome/01-account-light.svg" style="width:100%;"> + </div> + </div> + </div> + </div> + + <div class="welcome-box-1 welcome-box"> + <div class="container welcome-box-container"> + <div class="welcome-box-container--inner"> + <div> + <img id="02-privacy" alt="" src="https://app.familine.minteck.org/welcome/02-privacy-light.svg" style="width:100%;"> + </div> + </div> + <div class="welcome-box-container--inner"> + <div> + <h2>Une sécurité sur tous les points</h2> + <p>Ce qui est dans la famille doit le rester. Aucune des données présentes sur Familine n'est accessible au public, l'utilisation d'un compte est obligatoire.</p> + <p>De plus, certaines données strictement personnelles sont accessibles par vous et seulement par vous.</p> + </div> + </div> + </div> + </div> + + <div class="welcome-box-2 welcome-box"> + <div class="container welcome-box-container"> + <div class="welcome-box-container--inner"> + <div> + <h2>N'importe où, n'importe quand</h2> + <p>Où que vous vous trouvez dans le monde, depuis n'importe quel appareil, et à n'importe quelle heure de la journée, Familine reste accessible pour vous et toute la famille.</p> + <p class="text-muted small">(Familine n'est pas accessible en Chine)</p> + </div> + </div> + <div class="welcome-box-container--inner"> + <div> + <img id="03-devices" alt="" src="https://app.familine.minteck.org/welcome/03-devices-light.svg" style="width:100%;"> + </div> + </div> + </div> + </div> + </main> + + <script src="main.js"></script> +</body> +</html> diff --git a/app/intro/intro.svg b/app/intro/intro.svg new file mode 100644 index 0000000..ab6606e --- /dev/null +++ b/app/intro/intro.svg @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 1920 1080" style="enable-background:new 0 0 1920 1080;" xml:space="preserve"> +<style type="text/css"> + .st0{clip-path:url(#SVGID_2_);} +</style> +<g> + <g> + <defs> + <rect id="SVGID_1_" width="1920" height="1080"/> + </defs> + <clipPath id="SVGID_2_"> + <use xlink:href="#SVGID_1_" style="overflow:visible;"/> + </clipPath> + <g class="st0"> + <g> + <defs> + <rect id="SVGID_3_" x="-5" y="-5" width="1930" height="1090"/> + </defs> + <clipPath id="SVGID_4_"> + <use xlink:href="#SVGID_3_" style="overflow:visible;"/> + </clipPath> + <g style="clip-path:url(#SVGID_4_);"> + + <image style="overflow:visible;" width="4022" height="2272" xlink:href="data:image/jpeg;base64,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IAAAAAAAAAAAAAAAQVBUoAAAAAAA6Ofo0+FxdrF9viLqSgFBAAAAAAAAAAAACygAAAACgAAAAEKAAKCUKAAAoAALKAALLAAAFAAsoABQBAFCgUACygCygQBQAUAFABQBFABQAUCygSrKAUAFAsoAssAUCygCygRQAUCygFAssAUAFAsoEUAFAsoBRCyqAsoBQBFAsoBQLKBCygFABRAFAsoELKAUAFEAtAAssALKALLACygARQoCygQsoAELKAAqywAAEUAACywCgAUQAABRAAAKBRAAAAAQsoAAAAEACkAsFAAAACAABAAAAACygAAAEAsoAAAAAAAEAAgAAAAAAAAAAhUFgAAAAAAALBQAAAOjn6NPhcXaxvb4hqBQQAAAAAAAAAAAAAsoAAAABQAAAABFAACrKgKAABQAALKAALLAACygACygAFAELKAoFAAsoAsoEAUAFABQAUARQAUCygCygSrKAUAFAsoAssAUCygCygRQAUCygFAssAUAFAsoEUAFAsoBRCyqAoAUARQLKAUCygQsoBQAUQBQLKBCygFABRAFCgLLACygCywAsoAEUKAoBCygACywACrLAAAoEAALKBAKKBAAAFSwAAAC0QAAAAEAUAAAAQAsolEAoAAAAgAAQAAAAAsoAAABFgsoAAAAAAAEAAgAAAAAAAACAAAAAAAAAAAAAsFQVBejn6NPhcbZxvb4hqAAAAAAAAAAAAAAAKAAAAAFAAAAALAAACyqAAAKAAAUAACkAALKAAUAAFAELKAoFAAsoAsoELKAAUAFABQBFABQLKALKoQsoBQAUCygCywBQLKALKBFAKALKAUCywBQAUCygRQAUCygFELKoFABQCwAsoBQLKBCygFABRAFAsoELKAUAFEAUKAssALKALLACygAFEAtAELKAALLAACyygALKBAACgEAqygQAAAssAAAAUSgAAABAFAAAAAELKAAAAAAAgAAQAAAAAsoAAAIWAsoAAAAAAAECFSoAAAAAAAAgAAAAAAAAAAAAAAAAXo5+jT4bF2sX2+IagAAAAAAAAAAAAAAFAAAAAsoAAAAELKAAAUKAAAsoAABQBAVRAACygAFAABQBCygKBQALKALKBCygAFABQAUARQAUCygCyqELKAUAFAsoApAFAsoAsoEUCygCygFAssAUCygCygRQAUCygFELKoFABQLLACygFAsoELKAUAFEAUCygQsoBQAUQBQoCywAsoAssALKABFAC0AQsoAAssAALKBKABRAAFAEALKoAQAAoBAAAoEoAAAAQBQAAAAABICrBQgAKACAAABAAAACyhBYAAACygAAAAAAAhYIssAAAAAAAIAAAAAAAAAAAAAAAAAF6Ofo0+GxdrF9viGoAAAAAAAAAAAAAAoAAAAALKAAAABCgACglCgAALKAACgAQFUQABQAAUAAFAELKAqygACgAsoELKAAUAFABRAFABQLKALKoRQAUAFAsoBRAFAsoAsoEUCygCygFAssAUCygCygRQAUCygFELKoFABQLLACygFAsoELKAUAFEAUCygQsoBQAUQBQoCywAsoAssALKACwABQoCxFAAsRQALKBAKBQBAFAEALKoAQABQBAACygQCggKAAEUAAAAAAIAEUAAAAAAAAQAAAAAAAAAAsoAAAAAIVCAAAUQAAAAAlgAAAAAAAAAAAAAAAAABejn6NPhsXaxfb4hqAAAAAAAAAAAAAKAAAAAAoAAAAAEUAAKKgKAABQAALKABAVRAAFAAKAALKABCygKsoABQALKBCygAFABQAUQBQLKALKAqygRQAUAoAsoEUAFAsoAsoEUCygCygFAssAUCygCygRQLKALKAUQsqgUAFAssALKAUCygQsoBQAUQBQLKALLAFABRAFACqAQoAUAQsoAsoEAUAKssAALKBACygQCgUAQBQBACygKEAAUAQAAsoAEAAAALLKAAACAoIAAsoEAAAAAAAABAAAAAAAAACygABBUIAAAAABUsAAAAAAQAAAAAAAAAAAAAAAAAF6Ofo0+GxdrF9viGoAAAAAAAAAAAAoAAAAAAKAAAAAAsAAALKoAAAFAAAsoAEBVEAAUACygACygQC0ACygAFABQBCygAoAsoABRAFAsoAsoCrKBFABQLKALKBFAKALKALKBFAsoAoAUCywBQLKALKBFAsoAsoBRKsoBQCgCywAsoBQLKBCgBQAUQBQLKALLAFABRAFABQoRQAUAQsoAsoEAUAKssAALKBACygQCgUAQBQABCygKAEAUAAQAsFAEAAAALKBAKCAAAAALKBAAAAAAAAAAAQAAAAAAAsFCARYAAAAAAALEUAAAAACWAAAAAAAAAAAAAAAAAF6Ofo0+GxdrF9viGoAAAAAAAAAAAoAAAAAALKAAAAABCygAAFCgAALKAAAUAAQsoAAsoAAsoAAoBALQALKAAUAFEAKACygCygAFELKALKALKoCygRQAUCygCygRQLKALKAUARQLKAUAFAssAUCygFAEUCygCygFELKoFAsoAssAKAFAsoEUAFABRCygCygCywBQAUARQAUAS0AFAELKALKBAFAAsS0ACygQAsoAELKoAQBQABCgAAEoFAAEAAUAQAAAAsoAEAAAAAALKAAABAAAAAAAAAQAAAAAAAsqAAQAAAAAAACwUQAAAABAAAAAAAAAAAAAAAAAXo5+jT4bF2sX2uIbgAAAAAAAAACgAAAAAABQAAAAABFCggKCUKAAAsoAABQBACygACygAFAABQBAqgAKACygAFEAUACygCygAsALKALKALKoFAEUAoAsoBQBFAsoAsoBQBFAsoBQCgCywBQLKAUARQLKAUAFELKoFAsoAsoEUAFAsoEUAFABQLLACygCkAUAFAEUAFAEUKBQAUQAKBAFAAKBKAsoEAKAAQsoCgCwAABRAAAQsLQABAAFSgAQAAAsoAAEAAAAALKAAABAAAAAAAAAAQCAAAAoAJQAIAAAAAAAACwVEVAAAFBAAAAAAAAAAAAAAAAF6Ofo0+GxdrF9riG4AAAAAAAKRQAAAAAAAAoAAAAABCygAAKsqAoAACgAAsoAEBSkAAUAAFAABQBKsoABQALKAAUQBQAUAFAAssALKALKAqygFEAUCygCygFAEUCygCygFALACygFAsoAssAUCygFAEUCygFABRKsoBQLKALKBFABQLKBFABQAUQsoAsoBQBFABQBFABQAUQC0AFEALKABFAAsoEAqygARQAAKQAAssoAAFEAAABFSqAAEALKAABAACygAAQAAAABUFSgAAQAAAAAAAAACBAAAAAAFgAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAF6Ofo0+GxdrF9riG4AAAAAUSgAAAAAAAAAoAAAAABAoAACgiyqAAABQAAKAAQBQAAUAAoAAKAoQsoABQALKALKBAFABQAUACywAsoAsoC0AFEAUCygCygFEAUCygCygFAssALKAUCygQsoBQLKAUARQLKAUKsqBKsoBQLKALKBFAKALKBFABQCgQsoAsoBQBFABQBFABQAUQC0AFEALKABFAAsoEAUKAEUAAFEAAKASgALKBAAAQsoAChACygAAQAAoAAABAAAAAAAAFEAAAAAAAAAAgAAQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAXo5+jT4bF2sX2uIbgApFEoAAAAAAAAAAAFAAAAAAAQoAAAoJQoAACygAAFAEALKAACgACygACygSgUAAoAAoALKBAoABQAUACkAUAFCgUAFEAUCygCgBRCygCygFABRCygCygFAsoEKAFAsoBQBFAsoBQqyoEqygFAsoAsoEUCygCygRQAUCygQsoAoAUAsAAUARQAUAFEAUKBRACygARQALKABFAAC0QABRAAFSgQCgAUQAABRAAAKEUAAAAQABUoAAAEAAAWUQACygAQAACAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAABejn6NvhsXaxva4hqAAAAAAAAAAAAACkoAAAAAABAoAACgiigAAAKAACygAQAsoAAsoAAsoAAsoEoFAAsoABQALKBCygCygAoABRAFAC0AFAEUCygCygFABRCygCygFABRCygCygFAsoEUAFAsoBQLLACygFCrKgSrKAUCygCygRQLKALKBFABQLKALLAFABQLLAAFABRAFABQBFABQoQsoABRACygARQAAUSgAUAQAsoAEALKoAQABRAAAALRAAAAAQAAoAAAABAAICgLKAgKAEAgAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEAAAAAAAgAAAAF6Ofo2+GxtnG9nkG4AAAAAAAAAAAAUAAAAAAAABFAAAAsoCgAACgAACgAEAUAACgAAoAAtCBKKAALKAAUAQstBCygCygCygAFECgKsoABQCwAsoAsoBQAUQsoAsoBQLKBCygCygFAsoEUAFAsoBQLLACygLQLKAUQBQLKALLAFAsoAoAUQBQLKALLAFABQLEUAFABRAFABQLLAAFSgSrKAAUARQACgQAKBAKAsoAELKABACygASgLKABAACygQAACgAgSigAAAAAAQCAACgAAAAQAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAgAAAAQAAABejn6NvhsbZxvZ5BuAAAAAAAAAACgAAAAAAAAQAoAAAoqAoAAACgAAKABAAoAABQAAUAALQBCygAFAAsoAEUACygCygCygCywAsqgLKACgCywAsoAsoBQBFAsoBQAUCygQoAUAFAsoEUCygCygFAssALKAtAsoBRAFAsoAssAUCygFABRCygCygCywBQAUARQAUAFEAUCygCywAAsoAssAooAEUACygQAsFAEAUKAEKAAARQAABKsoAAEAKhQBAAAAACywAAAAAAEAAALKAAAAABAAAAAAAAAAAAAAAQAAAAAAAAAAAACAAAAAAAoAAAAAAIAAAA6ebp1fhsbaxfZ4huAAAAAAAACkoAAAAAAABAApKAAAKCUKAAAAKAAAKAAQAoAACgAAFAALKFBCygAFAAsoAEUAFAAsoAsoAssAqygCgAsoAssAKACgBQLLACygFABQLKBFABQCgCygRQLKAKAFAssAKKBQLKAUQBQLKAKARQLKAUAFELKALKALLAFABQAUQBQLKALLACygCwUQBQALLACygKBRACygQABQABFACgUQAABRAAAFEAoAQBUFAAEAAAAUAQAAAAAAEAALKAACFSgAAQAAAAAAAAAAAAAAEAgAAAAAAAAAAAAAAAAAAAAAAAAAAAADp5unT4fF2sX2eQbgAAAAAApKAAAAAAAAQAAUAAAAoIooAAAAoAAAKAABAoAAAsoAAsoAAssoACgAKAAUACywABQAUACygQsoCqAFAAoAUQBQAUAFAssALKAUCygCygRQAUCygCygRQLKAUALRCygJQoFAsoBRCygCygFAEUCygFABRCygCygCgEUCygAFELKALKALLACygAFEAUACygQsoABRKABQBAFAAEUAALRAAAFEAAAUQAAChACygAAQAAKAAABAAAAAAARQAAAAAAAABAAAAAAAAAAAAAIAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEF6ebp0+HxdrG9nlFbkURRFEoAAAAAAAAAABABQAAAACgiigAAAAUAAACgAEALKAAAUAACgACqQABQALKAAUAQsoAKAAUAFAEKKBQAUAFAEUAoABQCgCywBQAUCygCywBQCgCygFAEtCLKAtAsoELKAUAoAsoBRCygCygFAEUCygFAKBCygCygFAEUCygAFELKALKALKBCygCygARQAUAQsoABQBAqgABFAABRAAoAEAqygAQAAsoEAAABKsoAAAEALBUFSgAQAAAAAAAEAAAAUAAAAAAAQCAAAoAAAAAAIAEAAAAAAAAAAAAAAEFQVBUFQVBYAAAAAAF6ebp0+HxtnG9nkG4AAAAAAAAAAAAEAFUAEAAAoAIKAoAAACgAAAsoAAEAUAACygAAFAAEtAABQAKAAFAEKACygAFABQBLQAUAFABQLLACygAoAsoAssAUAFAsoApAFAsoAsoBRALQLKAUCygQoAUCygCygFELKAUAFAssALKAUCygCywAsoBQAUQsoAKALLACygCygQsoAsoALAAFAAssAAKAQsoACiwAAsoEALKABACwUKEAACgQAAABRAAAKAEAAALKAABAAAAAAAQAABQAAAAACFEgAAAAAAAAAAAAAQAAAAAAAAlEAAAAAAAAAAAAAAAABenm6dPh8bZxvZ5BuAAAAAAAAAABAUUAABAAAKCCkooAAAACgAAAKAABACygAAFAAAsoACrLAACygAFAAsoAEUACgAsoAKoAsAAUAoAsoELKALKALKALKBFABQCgCygFEAUCygFAC0QsoAsoBQLKBFABQLKAKARQLKAUAFAssALKAUCygCywAsoBQAUQsoAsoAssALKAKACywAsoAsoEAUACkAAUACywAAsoEoCygAQsoAAEALKABKAsoAEAACgAQAAAAEAALKAAAoSAAoAIAAAAELKAJRFgAABQBAAAAAAAAhUFQWAAAABUFRFQVKAAAJYAAAAAAAAAAAAAAAAXp5unT4fG2cb2eQbgAAAAAAAAQLUUAABAAAKCAFAKAAAAAKAAACgAAQABQAACgAACgChFAABQACgACygCywABQALKALKoQsoAsoAsoAsoELKALKAKAFAEUAFAsoAsoEUCygCygFCigQsoAoAUCygRQCgCygFAEUCygFABQLLACgBQLKALLIBQAtCLKBCygCygKsoELKAUACywAsoAsoEAUACygQBQALLAAFAAEVKAoCxFAAAEUAAARQAoAQAsFAAEAAAAABCgAAAAEAAAAAAAAVEVBUFQAAALBUoAARFQWAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAXp5erT4fG2cb2eQbgAAAApFEURRKAAAQAAAAAUAoAAAAAAoAAAKAABAACgAAAoAACgKALAACygACygAFEALKAAUAFACrLACygCygCygCygQsoBQAUAFEAUAoAsoAoBFAsqgKAFAsoELKAUAFAsoEUCygCygFAEUCygFAKALKBFABQLKALLIBQAUCygQsoAsoAsoEKAFSgCygQsoAsqgLLAACygQBQAUAQAoABCygACyqEAACgQAABRAAAKEALBQABAAAAAoEAAAAAABAAAAAAAAQAAAAAABUoAgBAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA6uXq0+IxtnG9nkG4AAAAAAAAAEAAAAAFAKACAoAAAAoAAAKAABAACgAAAsoAAAoAoQoAAKAAFAABRAFAAsoABQoFEAUAFABQAKQBQAUAFAsoECgCygCygFChFAsoBQAUCygQsoBQCgCygRQLKALKAUAsALKAUCygCygRQAUCygIssAUAFAsoELKALKALKBFAAsoAsoELKALKACwCgLKACwABQABFAAAssAALKBAKAsoEAALKABAAAAQsoACgBAAAAAFQVEUAAAAAQAAAAAAAAEAAAAAAAAABAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAA6uXq0+IxtnG9nkG4AAAEAAAAAAAAAFAKACAoAAAABQAAAKAABAACgAAAKAAALKAoARQACgAAoAAsoEAUACygCyqABRAFABQAUAFEAUAFAsoAsoELKALKAUKBQLLACygFAsoAssAKAFAsoAsoEUCygCygFAssALKAUCygCygRQLKALKgCywBQAUCygCywAsoAoAUQAsoAoAKQBQAAUQBQAqygQBQABCygACgEAUAAQAoAoQABUoAEAAAKQAAAAAEoIACgCgQAAAAAAEAAAAAAABAAAAAAAAAAQAAAAAAAAAAAAAAAACABAAAAAAAKAAAAAAA6uXq0+IxtnG9nkGoAAAAAAAAAAAUAoIACgAAAAFAAAAAoAAEAAKAAAACgAAKoAAQsoAAoAAKAAFEALKAAUAKsoAKBAoAKACgAFEAUAoAsoAsoEKAFCgUAFELKALKAUCygCywBQAUCygFAEUCygCgBQLLAFABQLKALKBFAsqALKALLAFAKALKALLACygFABRAFABQAUARUoAKABFAAsoAEVKAAUSgAUAARQAABFSgAAQCqAAAQAKABAAAAAAQAAAoABAKCAAAoAQACAAAoAAQAAAAAAACAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAA6uXq1fiMbZxvZ5BqAAAAAFEURRKAAAAAKAAAAAKSgAAAAKAABAACgAAAAsoAAAooAARQACgAAoAAsoEAKACygKBQALLACygCygCygCywAsoAsoAsoApAFCigCygCygQsoBQAUCygRQAUCygCygFELKALKAUAFAssAUAFAsoApAFAsqALKAKARQLKALKALKBFABQAUARQAUAFAELKALKABFAAsoAApAAFAEAtAAEVKAAABFAAAEUAAAKEKAAAQAAAAAEAAUAAAAQAAAAAAEAAAAAAABAAAAAAAAAAAQAAAAAAAAIVBUFQVBUFQVBUFQAAAAABCwVBUFQVBerl6tX4jG2cf2eUVqSgAAAAAAAAACgAAAAACkoAAAAACgAAQAAoAAAACgAACyqAAELKAALKAAKAAFEAAUACigCgARQAUACgAoBCgAoALKAKAFEoFAsoAsoAssAKAFAKALKBFAKALKALKAUQsoAoAUAFAssAUCygCygFEAUCyoAsoBQBFAsoAsoAsoEUAFABQAUQBQAUACywAsoABRACwUAFEALKAALLAAAFSqEAALKBAACygQAAAAEVKoAAQAAAAAAsRUFBKhUoEAAAAAABAAAAAAAAAQAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAQAAABerl6tX4jH2Mf2eQagAAAAKAAAACAAoABRFEoAAAAACkoAABAACgAAAAKAAACqAAECgAAFAAKAACgQAsoAC0ACygQKAAUAFABQBFABQAUAFChFAsoAsoAsoEUAFABQLKALKBFAsoAsoBQAUQsoBQAUCygCywBQLKAKAFEAUCyoAoAUARQLKALKALKAUQBQCgAFEAUAFAApACygAoAELKAAUAQsoAAsoEAAKAAQBQoAQAsoAEAAAACwAAAChAAAAAQAAsFSgAAQAAAAAEAAAAAAAAABAAAABBUFQVAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAXq5eqvicbZxvZwGsgAAAACkURRFKAAAAAAAAAAAAUAABAAACgAAAAKAAAAqgAAEKAACygACgAApAAFACrKAAUAQsoAKACgAoECgAoAKAooELKALKALKAUARQCgCygCygFEAUCygFABQAUQsoBQLKALKALLAFAsoBQAUQsoAsqAUAFAKBCygCgAoAUQBQAUAFEAUAFABQBCygAFAAssAAUACywAABQBAFAAELKAAABKBUoAEAAAKAQAAAAEAAAAABKBQAAABAAAAAAAQAAAAAAAAEAAQAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAABerk69PicbZx/Y5xWkUAAAAAAAAAAAAAAAAAAKAAAAAAAsAAAAAKAAAAKoAABCgAABQAAUAQLQQAsoCgLKACgARQALKALKALKBCygCygKsoAsoELKALKAUAFAssALKALKALKAUQKALKAUAoAssALKAUCygCygFEAUCygFABRCygCygJQAUCygQsoBUoBQAUQBQAUAFAEUAFABQAUQAsoAAssACgACgEAAUAARQAACwSgAAARQAAoQABQABAAAAAQAAAAAEUAAAhQAoQACAAoAQAAAAAlgAAEAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAADr5OvT4nH2Mf2OYagAAKAAAAAAAAAAAAURRKAAAAAAsRQAAAAAKSgAAACqAAAQsoAAAoAAKAAQoAAUKABQALKBAoABQAKACkAKACigKACgEKAFABQCgQsoAsoAsoBQAUQsoAsoBQLKALLACygFAsoBQBFABQLKAUAFAssALKAlABQLKBCygCygFABQLEUAFAKALKBAFABQAlAECgAFAELKAALKABCyqAABRAACwUQAAABRAAAACxFQUKAEAAAABAAAAACxFQVBUAAAARUFAAAAIVEVBUFgoICgAgSgAAAAAAAAAAAABAAABBUFQVBUAAAAAAAAAAAAF6+Tr0+Jx9jH9fAbgAAAAAAAAAApFEoAAAAAAAAFRKAAAAAAAoAAAAKsoAABAoAAAKAACgAQKAACqAAKAAUQAsoAKAAUAFEAUKBQAUARQAUAFAKALKBCygCgBQAUCywAsoBQAUCygQsoBQAUCygFAEUCygCygFABQLLACgCUAFAsoAssAUAFABQLKBAFAsoAsoEAUIBQAUACywABQALLAACygACywAABUoEACqAEAALKABAAAAQAAsoAEAoAAAAQAAAAAEAAAAABAFQVBUFQABAAAAAAAAAAQACgAAAAAAAAAAJZAAAAAAAAAAAAAAAAAF6+Tr0+Jx9nG9fAbgAABRFEURRFEoAAAAAAAACkVEUAAAAAAACkoAAAACqAAAECgAAAoAAAoABCgCgKAAFAApAAFAAoACgAsALKoAoAKACwAKACgCygCygQoAUAFAsoAssAKAFAKALKBFABQCgCygFAssALKALKAUAFAssAUAJQAUCygQsoBQAUAFABRAFAsoCLKABFABQAUACygQBQALBRACygACgEAAKAAQsoAAEAqygAAQAAAAEUAAAAQAAAChAAAAAAQAAAAAEAAAAAAABAAAAAAAAAAQAAQVBUFQAAAAAABAAAAAAAAAAAAAAAAF6+Tr1fisfYx/XwG4AAAAAAAAAAAAAURRKAAQAAAAAAKRQAAAAAAUoAAAQUAAACgAACgAECgAKKAAKAAoEAKACygAFAApKBQALKALKALLACygCygCygCkAUAFAsoAsoELKAUAFAsoAsoEUAFAsoAsoBRCygCygFABQAUCywBQAlABQLKALLACygFABQAUCywAsqALKACgQBQAVKALKBCygACygARQAAVKABAFAAApAAAAAQsFAChAAACygQAAAEAAAAABAAAAKAEAAAAABAAAAAAAAQAAAAAAAAJFQVAAAAAAAAAAAEAAAAAAAAAAAAAAAAXr5OvV+Kx9jH9fAbgAAAAAApFEURRKAAAAQAAAAAAAUSgAAAAAAAooAAAQoAAACgAAAoAEAUAKBQACgAFEACgAFAAsoECqAKAAUAFAEKACgAoAUARQCgCygCygCkAKAFAKALKAKQBQLKALKAKAFELKALKAUAFAsoAssAUAJQAUCygFEAKAFABQLKALLAIsoAsoAsoAEUAFABQALEUACygAFEAALKAACwAABUoEAAAALLAAAAQAC1BQBAAAAAQAAAAEAAAAABKAAAAAAEAAAAAABAAAAACWAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAOzj7NX4rI2Mf18BuAAAAAABAAAAAAAAAAAABRFAAAAAAAApFAAKAEAKAAAAoAAABQABCigAKAAoAAssAAKACygAFChCgAsoAsoAsoECgAoAKAAUQBQLKALKAKAFEAUAFAsoAsoBRAFAsoAsoBQBFAsoAsoBQLKALKBCygFACUAoAsoBRAFABQLKALKALLIAsoAsoAsoAKBAFABUoAsoEALKAAUAIELKAALKBKAABUoEAAALKBAAAAAQABUFSyggKAAEAAAABAAAAAAQAAAACgBAAAAAABEVBYAAAAAAAAAQAAAAAAAAAAAAAAAAAARFQVBUFQVBUF7OPs0+Lx9jH9fIbgAAAAAQAAAAURRFEUSglAAAAAAAAAApFAAKAAAECgAAAAoAAAAoABCigACgACgAKBACygAFAAsqhAoABQAKACgELKAKACgAsoELKALKAKAFAEUKKALKALKAUARQiygCygCgBQLLACygFABQLKALKBCgBQLKgCygCygFAEUAFAsoAsoAssgCygCygCygCygARQAUAAJQBCygAoAAApAACgAEAAUAASgAUAAQAAAEAAAKAQAACgBAAAAAQAAAAAEAAAAAABAABC1BUAQAAAAAAAAAAAAEAAAAAAAAACFQVBUFQVBUAQAAAAABezj7NPi8jXyPXyGolEURQAAAAAAAAAAAAAAAAAAAKRQAAACgABBRKAAAAAoAAAKAABAqgACgACygAQoAAUAAoAC0AQsoAKAAUAFEAUAFABQBFAAooFABQCgCywAsoAoAUAFALACygCiAUAFAssALKAUAFAsoAoBFABQLKAiygCygFAEUAFAsoAsoCLKBCygCygCygAFABRAFCACgAFAEAUAAFAEALBQABAFAAAEAVBQoSAoAAAQAAoABAAAAASggKAAEAAAAABAAAAABEWAAAAAACgBAAAAAAAAAAQAAAQWAAAAAAAAAAAAAAAAAABezj7K+LyNjH9fIagAAAAAAAAAAAAAAAApFEUSgAAAAAACgFEpAAAAAACgAAAKAABAqgAAKAAoAECgACygACigLLAAFAAoALKACwAKALKACgCyygLKACgAoAssALKALKAUAFABRCygCygFABQCoELKALKAUAoAsoBQBFABQLKAiygCygFAEUCygCygCyoAsoAssALKALKAAUAJQBFAAsoABQABFAABQABCygAAAsAAAABACgAAEoAAAQBUFSgAkVBUFlEsFEAAAABAKAAAAJFIVBYAAAAQAAAAAAAEAAAAAACFQVBUS1BYAAAAAAAAAAAAAAAAAAAAF7OPsr4zH2Mj18xWpFgAAAAAKRRFEURRFEURQAAAAAAAAAAAUsoABAAAAApFAAAABQAAEKKAAAoAAKAAQoACgACyqAApACygAoABQAKQAsoAsoAooCkALKALKALKALLACgBQAUAoAssALKALKAUAoAsoEiygFABQLKALKAUQBQAUCygCyoBQAUQBQLKALKAiygCygCygQsoAsoACUAFABRACygAFAABRAAoAAAssAAALKBAAAAARQAAABAAAKEWAAAsAQAABUoEAAAABABBULYAAQAAAAAAEAAAAAAABAAAAhUFgAAAAABKCAAoAIACggAAAKAQVBUFQVABe3i7dPjMjXyPWyGoAAAAAAAAAAAAAAAAAAAAURRFAAKEAAAAAFAAAAAACgAAEKKAAKAACkoABCygACgAKoAAsAAUACgAsoECgAFABQoFEAUAFABQAUARQAUAFAKALKBCygCgBQAUCygCywAoAlABQLKALKAUQBQAUCygCyoBQAUARQLKALKAiygCygCygCywAsoACUCygACygQsoAAsoAKABAJQAAKAQACrCUKEAAACgQAAAEAAAABAAKAAEAALKABAAhUFQVEAAAoAAQAAAAAAEAAAAAAIAQAAAAAAAAAAEAAAAAEFQVBUFgAAoIAAAAABe3i7bfjMjXyfXzFakAAAAAAAAKRRFEURRFEURQAAAAAAChAAAABRKAAAAAApFAAAQAooAAoAAKAABAoAAKAoCgABRACygAoABQBCgAsoCigAoECgAoAKACgARQCgCygCygCywBQAUAFABQLKBCygFABQCoAsoAsoBRAFAKALKAKAJQAUCywAsoAsoCLKALKAKACygQsoCCgCygACygCywABQgAoAAEKAAFAAAEALKAABACyqAEAAABAAAAAQAAAChAAAAAQAAAAAEAAAABAKAAAAEAEFQVAAAAAEAAAAAAAAEFQVBYAQAAAAAAAAAAAAAAABe3i7dX43I18j1shqAAAAAAAAAAAAAAAAAAAABKAKRRFEUSgAAAAAAKSgAAAECgKAAKAACgAAQUAACgKAKABCgABQAKACygQKAAtAAsoAssALKALKALKALKBCygCygCygCygCkAUAFABQLKALKBFABQAUCygIsoAoAUQBQLKALKAUAJQAUCywAsoAsoCLKALKAUACygQsqALKALKAAUACygQCVKALKAAAUQABQAABACygAAQAsBYVBRKAAAAEAAABAAAAAQCgAABAAAAAQAAAAAEACFQVC2AAEAAAAAAAABAABBUAAAAAAAAAAQAAAAAAAAAAAABe3i7dX43I18n1cxZuAAAAAAAACkURRFEURRFEURRFRFAKAAAAAAAAAAAUAAAABApFAKAAKAACgAAQoAAAKKABQBCygACgABQBCgAsqgCgAFAEUAFABQAUARQAUACgAoAUARQAUCygCygCygCywBQAUAoAsoAsqAUARQLKALKALKAUAJQAUCywAsoAsoAsqALKAUACygCwlELKALKAALKALKAgCywABQAAUAARUoAAABRAAAAAQAABRAAAKAEAAABAAAAAQAACgBAAAAAQAAAAQWEAAAAAAABKAAAAIVBYAAQAAAAAAAAAAAEBQAQAAAAAIVBUFQVBe7h7tX43J1sn1chuAAAAAAAAAAABAAAAAKAAAAAAAAAURRFEoAAAAACkpAAKAAUAACgAAQoAACgKAAoBAFAAKAAKAAsAoFAAoALKACwAKACgAoAEUAoAKACgAFALACygCygCygCgApAFAsoAsoAsoAoAlEAUCygCygCygFACUAFAssALKALKALKgCygCygCygIsoAEUCwUACygCwlABQBCygAAFAAAEUAAAFAEAAABAAAFAEAAABKCAoAAQAAAAEAAAABAKAAAJFQVBYAAAAQAAAAAEAEFQoAAAAAQAAAAAAAAAAAAAARFQVBUFQVAAAAABe7h7tX47I18j1chqAAAAAAAAAAAACkURSxRFEURRFEURRKAAAAAAAAAABRKQACgACkoAACgAAQoAACgKAAKBACgABQACgAQooCygAoABRACgAsoAsoAssALKALKALKALKALLACygCygCygFABQBFABQLKALKALKAUARQgFAsoAsoAoAUAJQAUCygQsoAsoAsqALKALKALKAiygAFEAUACygIBQALKAAVLAAFACALBRAAACwUAQCgABACygAAQAAAEAAAoAQAAAAEAAABAAhUFQoAQAAAAAEAAACFQWAAEAAAAAAAAoQAAAAAAAIAAAAAAAABAAAAAAF7uHu1fjsnWyfVyGoAAAAAAAAAAACgAAAAAAAAAAAAAAAACkUSkAAAAoApKAAACgAEAKAAAoCgAKAAQKAAKAAFEAqgAKAAUACygQKACgACgApACigKAFABQBFAAoAKAFCAUARQLKACgCygCygFABQBFAKgCygCygFABQAUIBQLKBCygCygCyoAsoAsoAsoCLKAAUARQALKAgFAAsoABQBIKAAALKABAAAFAAEAAABKsoAIUAQQVBQBAAAAASgAABAAAhUFhAAAAKAEAAAAACRYAAAAAAQAAAAAAAAIVEVBUFQAoAAAAAAAAAAAQAAAAABe7h7tPjsnWyfVgagAAAAAAAKAKRRFEURRFEURRFEURRFEURRFEoAAAAAABAABSygAAAAKSgAEAKAAAqgAAKAAQBQACgACgEqygACgAsoALAAFAAsoAKACygAUAFABQCgQsoAsoAKAAUAoELKgCygCygCygFABQAUQBQLKAiygFAAsoBQAUIBQAUQsoAsoCAUCwUAFACUAFABQAUQAsqAAUACygAFSgIsFEAALKAABAAFAAAEAAABAFQoAAQBQABAAAAQAACkAQAAAAEAAAABAAAi1AAAEAAAAAAABAAAAhUFQWAAEAAAAAAAAAAAAAAoAhUFQVBUFQXv4O+vjsrWyfVgagAAKAAAAAAAAAAAAAAAAAAAAAAAAAEAAFEoAoAAABQAAAECkoAACqAAAoBAAoAAKAAKKECgACgAKABCgAoACgKKBACygCygCygCygCywAsoAsoAsoAKALLACygCgCKACygFABQBFAKALKALKgFAAsoBQAUAJQLLACygCygIBQAUAFACUAFABQAUIELKAAUACygAIsoAAsoEALKAAABAFAAAEAAAABAAAAKELBQBAAAhUFRAAKAAEAAAABAAAABEAAAAoAQAAAAAAAEJYAAAAAAAABAAAAAAhUFQVBYAAAAAAAAAAF7+Dvt+PydbJ9WBoAKRRFEURRFEURRFEURRFEURRFEURRFEURRFEURQEAAAAAAAAoABRKAAAAApFQAAAUoAACgEACgAAoACqAQKAAKAACgELKACgALQAKQAKAAUAFABQBFABQAUAFABQBCgAoAUAFAAogFABRAFAsoAsoAsoCLKAUAFABQAlELKALKALKAgFABQAUAJQAUAFABQgCywABQALKAgCygACygAQAsFAAAELKAAABAAAAAQAAAEAoCwLEAAAABAAAASgAAABAhUAAAAQAAAAChAAACWAAAAQAAAAAAAIVBURUAAAAAAAAAAAAAAAAAAF7+Dvt+PytXK9WBoAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAApRFAAAAApFQAAAAAooAAoAEACgAAoACqAQAoACgACgEAUACigLKACgQBQALKALKACwABQAUAFABQBFABQAUAFABQAUAJQLLAAoAsoAsoBQAiygFABQAUAoEiwUAFABQgFABQAUAJQAVKAUACyoAsoAEVKALCUACygACygAAQKAgKCAqxFAASgQAAAAEAAAABAKAAEAAABAAAAAQAItgAABAAAAAQAAAAQWEAAAoAAAAQAAQVAAAAAAAEAAAAAAAAAAAAAAAAAXv4O+35DJ1sr1UVqRRFEURRFEURRFEoAAAAAABACURVRURRFEUAAAAAAAoAAAABRFAAQAAAKRQCgACgAQAoAACgAKpAACgAKAALKBACgCigAFAEKACygAFAAoBCgAoALKALKALKBAoAKAAUAFAsoAsoAEUCyoAsoAsoAsoBQALKgFABQAUQsoCAUAFABQgFABQAUAFCALKALKALKgCwUACygSAUACygAAFACABFAAAAChIsALUoEAAAABAAAAQAAAChAAAAQAAIWAEAAAoAQAAAAARFQVBUAAAAQAAAACkAAQAAAAAAAAAAEAAAAAAAAEFQVBUFQVBUHrvz9C35DK1cr1QagAAAAAAAAAAQAAAAAAAAAAAAAAAACgAAACkUAABAABRFAAAKAAUABACgAAUAAqgEAKAAFAAKBACyqAAoALLAAoABQALKACgQBQAUAFAAoALLACygCygCygCygCygCywAKALKALKgCgAsoAsoAoAlABQAUQsFCAUAFABQAlABQALKAlAAsoAsoAsJQAUACygIBRACwVKAAUIAABRAAAAAQAAsoAEoAAAAQAAAEAAABAAKIVBYQAAAAEAAAAoQAIVBUAQAAAAAAEAAEFgAAoAQAAAAAAAAAIVEVBUFQVBYAAAAAAAAAAF0M/Q1fkcrVyvTBqAAAAAAAAAAAAAAAAAAAAARRKAAAAKAAAAAAAEACkoAAAAAopKAAQAAoAAKAAKoBACgAAoACgQCigACygAFEAKACygAFAApAAoAKAooAKBAoACKACygCgBQALKBCygCygCygFACVKALKAUAFSgFCAUARQAUAJQAUAFACLKAUACygIsoAsoAsoACUAFAAsoCALLAACygAIoAAAUAQAAAAEAAUAQACgABAAAAQAIVBUFRAKAAEAAAABAAAABEtQWAAAAEAAAACFQWEAAAAAAABKAAAIVBUAAAAAAQAAAAAAAAAAAABdDP0NX5HK1cv00VqRRFEURRFEURRFEURRFEURYAAAAAAAAAAAAAoAAAAAApFQAAAAAAKRSgAABABQAAAoAooAEAKAACgAEKAKBQACgACkACgAFAAsoEooAAoALKALKALLACygAFABQAUIBQBFSgCgAsoAoAVKAKIAsoBQAKAFCBFABQAUAJQAUAFAAsqAVKALKAiygCygCygIBQAUACwlAAsFAELBQgCwUAAFAAEAAABAACygCVBBUFSrABFQWAAEAAABAAAKAEAAAABBBUAAQACgAAABAhUFgAABAAAAAAAAkWAACgAAAAAAAAAABBBUFQVBUFQVBUFQVB60M7R1fksrVy/TRZqAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAQAAAAAAURQACgAAFRKAAAApKAKKABACgAAoABCigAKAAoAECgAFAAsoAC0AQsoAKAAUACgEKACgAsoABQAUAsAAlABQAUAFAAoAUACyoBQAUARQAlABQAUAFCAUAFAAogCygCygCyoAsoAsoCAVKALBQAlAABRAAFCAAVKAALBUFAEAAABAAAAAQAAAEoAAAAQAAAEAAAAoQIVBUFhAAAAAAQAAAQoQAAAAAAEAAAEFQAAABAAAAAAABC1BUFQWAEAAAAAAAAAAXRztHT5LL1Mv06GoAAAAAAAAAAAAlEURRFEURRFEURRFLFgAAAAEAAAAACkUAAAAoAAsSgAAAAKSgACqAQAKAACkoABKoAAKAApKAQKAAFAAqgAKQAKAAKACygARQAUAFABQALKACgQsoAsoACUAFABQAUAFABQAlAEUAFABQgFABQAUIBQAUAFCALKALKALKgCwUAFACLKAAUACyoAAssBQQsqAALKAAAAAVLAAAAAQAAAEAAABAAKAAEAAABAAAhUFRFgoAAAQAAAAECFgAAABKAAAAAARFgAAAAAABAAgAAAAAAAAAAAAAAEAoAAAAF0c7R0+Ty9TL9OhqARRFEURRFEURRFEURRFEUQAAAAAAKAAEAAAAAAAAAAAAAAApRFAAQAAAUAACkUoAQAoAACgAASqAACgAKABAoAAooAoAELKACgACgAAoALLAAoABQAUAFAAssALKALKALKAAlABQAUAFABRAFCAUAFABQAlABQAVKAlABUoBUoCLKALBQLCUAFABQAiwUACygAJQALBRAAJQAAUAAAAARUFAAAEAAAABAAAAQCgAABAAABEVBYAAQACgABAAABAAEAAAAABKAAQWAAAEAAAAEFQAABAAAAAAAAAAAAAAAAAAAQABdHO0dX5PL1Mz07FakURRFEURRFEURRFgAAAAAAAAEoAAAAEURRFEURRFEURRFEURRFEUSigABAAApKAAABShAAAoAAAoABBSgACgAAoAEKAAKoAAKAQKAAKAAoAAoBAoAAsoAsoAKAAUQAoALKALKALKAAUAJQAUAFEAUAFACUAFABUoAsqAVKALKAVKgCygCygIsoABQAlABUoAsoCAUACwUIAsoAAsRQAlSgACwUAAAAQABUoAEAAAABAAAAQAACgCRUFQWAEAAAABAAAAi1EWAAAAEAAAAAERYAAKAAAEEFQVBYAAAAAAQAAAAAAAQVBUFQVBUFQAAAAAAXSzdK35TL1Mv06GoAAAAAAEAAAAAAJRFLFEURRFEURRFEURRAAAAAAAAAAAAoAAQURQAAAKRQCgCxKAAAAoAALLKAABQAAKABCgCikoAAKQABQALKAAKAAsAAKAAoAAoALKALLACygACgAsoAsoAsoAsoAElABQAUAFACUAFAAsoBQAiygCgAsqALBQLKAgFABQAUIAsoAsoCAVKAAUAIsFAABQBIsoAAAsFSgAAQAAAsFRFQVAAAEVBUFQVEVBUFgAoQAAAAEAAABAhUFgAoQAAAAAEAEFgAABAAAAKgABAAAAAAAAAQAIVBUAAAAAAAAAAAAAAAAF0s3St+UzNPM9KhqAAAAAAAAARRFEUsURRAAAAAAAAAAAAAAAARQAACgBAAAAAAApKAAKVAAAABRKAAQUoAApKAACgEAKAKBQAAKQAAoACgAAoEAKKAsoABQALKABFAAoALKgAFAAoALKALKBCygCygIsoABQAUAFACUACygFSgIsoBUoAsoCAUAFCAUAFAAsqALBQAUIAsoABUoCALKAALLAWBFQUAAAFQUAQAAAAAEAAABAAAAAQAAChAAAAAQIVBUAAQAAAAEoAABBUQAAAAAECFgAAAAAoQAAAAAQVAAAEAAAAAAAAAAAAAAAAAAXSzdK35XL1Mz0rFakURRFEURRFEUsURRFgAAAAAAAAAAAAAAlEURRFEURYAAAoQAAAAAAUSgAAUoQAAUSgAAAKspAABQAAKSkAAKKAAoAAKQAAsoAAoAoFAELKAAUACygACgECgAFABQALKAgFABRACgAsoAsoAsqAAUAFABUoBQgCygCygCyoAsoAsoCCgAFACVKAVKALKgAFABUoCLBQALKAgCwUACxFCAALBUoAAABURUFAAAEAAAAABAAAAQAAAAEpBUFQBAAAAAQAAAAECFQtgAABAAAhUAAQAAAAAAEACFQtgAAAAAABAAAAAAAAABBUFQVBUFQVBYHrSzNO35XM08z0qGgAAAAAAAAAAAAAAACURRFEURRFEURRFEAAAEAAoAAAAAAAAAABQEoApFAAAApFEpKAAKSgAAoABAKoAAKAACkAACgACigBCgAAoALKAAUAARQAUACgABQAKACygARQgFABQALKALKACoABQAKACyoAoALKALKgCygAFCAUACygCyoAsoACUACygCygIBUoACVKAAUAACxFCAAAVKAAABAAFSgAAQAAAAEAAABAAhUFQVEAoAAQAAAAAEAAEAAQCgAACRUFQAAAABAAAABBYAQAAAACgAAABABAAAAAAAAAAAAAAABdPM07flszTzPSoaAAAAAAAAAAARRFEURRFEURRAAAAABAAAAAKAlEURRFEURRFEURRFEUBAKKSgAAKRQAEAoApFAABQAAEFKAAAoAAKQAAKAAooAApAACgABQACgQAoACgAFAAoAAUAQsoAsoABQAlAAoALKALKAgFABQALKAlSgCygCygIsoABQAUIAsoAsJQLKAAUIAsFAsFCALBQALCUACygAQCLBQAAAUAAAQAAAsFRFAAgVBUFSwAAASwQWAAAEAAAoAQAAAIVEAAAABAAALAABAAAAAAQIVAAAAAAEAAAAEFQWCgABAAAAAAAAAAAAABBUFQetPM07fls3SzfSoaRRFEURRFEURRFEURRFEURRFEWAAAQAAAAAAABFLFEURRFEURYAAAAAAACyxRKAAApKAAAQKsUAAACkoABAqygAAKSgAApAABSgAFAQAoAAKAACgAEUAAFAAsoAsoABQBAtBAFAAsoABQAUIBQALKALKAAUIBQALKALKgCygCygAJQAUACyoAsoAKAgFAAsoCAUAFSgIBUoACVKAAVLAAAIsFAAAsFAAEAAAAABAAAAAQAAAAEAAAABAAKAEEFQAABAAAABEAAAAAoQAAAQVAEAAAAAAABABAAAAAAAAAEoAAhUFgAAAAAAAAAAetPM07fl8zTzfSsVpFEURRFEURRFEWAAQAAAAAAAAABFEURRFEUsURYAAAAAAAAAABAAKAAKRQAAALEUAoAABRKAAQUSigACkoABACgACqAApKAQAKAAKAACgEAKAACigAUACyoAsoEAKAAoAAoALKAAUAFCAKACygCwUAJQALKALKAiywAFUAJQAVKALKAiwUCwUIAsoAsFCALKALBQgAFAACVKBCwUAAAIBUoAAsFECFQUAAAQAAAAAEAAAABAAAAQAAQVCgBAAAAQAAIVAEAAAAABAi2AAAAAEAAACFQAABAAAAABBUFQWAAAEAAAoAAAAAAAAAF1MvUt+XzdLN9KhQAAAAAAAAAAAAAAAEURRFEURRFgCgAAAAAAAAAABAEUSigAAAAAAFAQCgAFEoAACkVAAKAUAAABBQACigAAoAEAKAACygACgEoCgAAoAAUAAFEALKACoAAsoABQAKAAoABQAlSgQsoAKAAUIAsoAsoACUAFAAsqALKALKAgVQBCy0CAUAFSgIBQALKAgCxFAACUACwUAAAIBUoAAAEAAVKAABAAAAAQAAAAEAIAAAQAAAChAAAAARAAAABAAAhUAASgAAAABABBYAAAAAQAAIAAAAAAAAABAAAAAAAAAAAAF1MvUt+XztLN9LYWAAAAAAAAAAAJRFEURRFEURYAAAAoAAAAAEURRFEVEURRFEURSxRFEURRFAAAQAClEoAAAFAQACgFAAABUSgACikoAACgAQKSgAAKoAAsAACgACygACygAQsoAAoALKACgAIKAAUACygARQAUAIsFABQAUAJQALKAAlABQALKAgoAsFCALKAAUIAstBCygWAVKABFSoABUoACLBQAAVBQAAAlSgAQAAAAsFQUQAIVBUFRFQVBUFgBAAAAAQAAAChAAhYAAQAAAAJFQAAAABAKAAIVAAEAAAAAEAAQAAAAAAAAAAARFQVBYAAAAAAAAAHrUy9S35jO0c70dhqAAAAAAAAARRFEURRFEUQAAAAKAAlEURRFEURURRFEURRFEAACgAAAACkVEURRKKAAAKSgAEAFLFAAABQEAACrKAAABUAACgAAKKBAUEUAAoAAKAAAUQABQACgACgAsoABQBAoACLKAAUACygAqAAUACgBUqALBQAUIAsoAsoCLKAAVKAiygAFSgIKAAUAIsFAAsFCAAVKAAlSgAACwUAAAJUoEAAAAAABAAAAAQAAAAEAAAABAAAhULUQAAAAEACFQAABAAAAAQIWACgAABAAhUFQAAAABAAAABBUFQAAAABAAAAAAAAAAAF1crV1fmc3SzvQ3FakURRFEoAAARRFEURRFEURRAAAAoACURRFRFEURRFEAAAAAACgAAAAAABAAAKURRFAAAQKSgCgACkoABABQCgAAFAQAAKAAoBQEAAKAACgAAoABCygAAoABQACgACygQsoAAsoAAsoCLKAALKALKAAlABQALKAgFABQAiygAoACUACygAJQALBQiwUACygIBUoAAsJQALBQAAlSgAACwUAAIEVBUFQVBQABAAAAAAQAAAAEAAAEFRAAAAASgAAAERUAAAAAQAAAQWAEAAAAoAgEAAAAAABABBUAAAAAAAAAAAAQAAAAAAAABdXK1dX5nO0s70NxWpFEURRFEURRFEURRFEURRFgAAEoACURRFEURRFEAAAAAAAACgAARRFRFEUSgAACgAAACkVAAKAAUSgEACkUAoAABQAEACkoAoACkAACkoAAKAAAoEAAUAACigAUIBQBAoAAsoABUoAAoALKgACgAsoAKAgFAAsoAsJQAKACwlAsoABUqALBQALKgAoACUACwUAIBQAALKgAFSgAAJUoAAAsFAEgAAAAAFQVLAABBUFQVEVBUoAIVEVBYAAAQAAAAEAoCAAEAAAAACRUAAAAAQAAQVAAChAAAAhUFQABAAAAAAAAAAABBUFQVEAAAAAAAAetXK1dX5rO0c/wBDcVqRRFEVEURRFEURRFEAAAACgAARRFEURRFEAAAAAAABFLFEURRFEVEURRFEURRFLFEoAAABAAAqxRKAAAQUSgAClEUAABAApKAKAAKBAAAoAAKAAAFASgCgAAAoAAsoAEUACiAALKAAKACygACygCwlAAsoAsFACUACygAFCALKACgIBQALKAgFSgCwlABQALKgACygIAsFAACVKAAVKAAAlSgAACxFSgIAAAAAEALBYAAAQAAAAAEAAAABAAAAAkVC1AAAAEAAEFgBAAAAAAQQWAAAAAECLYAAAAAAAQAAAAIVBUAAAAAAAQAAAAAAABdbJ1tX5vO0c/0NxVkURRFEURRFEAAAACgAAAJRFEURRFEAAAAAAAAlEUsURURRCkAAAAAACikURRFRFEUSgACgAACxFAAAKUAAABAApKAKAAKSkAACkoAACgKAECgAACgAAUAACgQAsoABQACgAIBQALKAAKACygIAsoAKAALKgAFABQAiygAFACLKALBQgCygAFCAVKAAlAABUoCAVBQAAlSgAFSgAAJUoAEAAAVBQgAAAQAAAAAEAAAAABAAAAAQQVAAAEoAAAAhURYAAAAQAAAIWAAEAAACFQABAAKAAAAAJFQWAAAAAAAAAAAAAAEAAAACFQetbJ1tX5vP0M/0NhYAAAAAAAACgAAAAJRFEURRFgAAAAAAAlEVEUsURRFgAAAAAAACgABAApFEURRFLFEoABAAABSgAAAFRFAAAKAUSkAACkUAAAooEBQQKAAAKAAAoAEAUAACgABQAAUAAoAAsqAAUACywAAogAFFBCygILQQFLKALCUACgCLKAAVKAgFABUoCLBQALCUACwUIAAsoAACUAAFQUAIAEVKAAAAAiwWAsFSwAAAAAEAAAAABAAhUAAQAAAAEAAogAAEAAAABAhUAAAAAQAQAAAABAAAAhULYAAAQAAAAAAAIVBUFQVBUAAAAQAAAB61sjX1fnM/Qz/v2GoAACgAAAAAAAAARRFEURRAAAAAAJURRFEUsURRFgAAAAAAAACgBAAAAAAAKAALEURRFAAKAKRRKQAAACgFAAAQUSgAACgCgQAAKAAAKAAAoEAAKAACygAAFAAsoAAsoEALKAiygACygAFACAUACwUAJQALKAAlABQBQJQALBQgFSgCwUIAsoAAsqAALBQgAFSgAIsoAAAsFCBAACwUAAAAAASALBUFQVBRCAAAAAsFRFgAAABAAAAAQIVCgAABAAAhUAQAAAAAIVEAAAAAABBBYAAAAAKAEAAACFgAAAAAAAAAAAAAABAF18jX1fnODQz/AL9hoAAAAAAAAAAAlEURRFEUQAQAAABFEURSxRFEUQAAAAAAEURSxURRFEURRKAAAKAAEAAAAApRFEoBAAABRFKAAAEFAAAAKAUSkAAACgAACgAAKBAACgCgALKAgCgAAsoEALKAAKACygIAoAAUAAJQALKAAUIAsFAsFACLKAAVKgAVQALKgAFSgIBUoACVKAAVKAgCwUAAJUoAAELBQAgACwUAAAAQAACAAAABAAAAAQAAAAAEACFQWAEAoAAAAkVAAAAEAAACAAAQAAAAQVAAEAAAAAAEFQVEtgAAAAAAAAAAEFQVBUFQVBUFQVB618jXt+d4O/g+/YaAAAAAAAABACURRFEURYAAAAAARRFEUsURRAAAAAAARRFRFLFEURRFgAURRFEUsURURRFEUSgACgAABApFAAKAAAEFAAAAKUSgAEAAAFAAACgEAooAAAKAAAAUAARRQQKkoAAUAAFAABQALKgACygAFACLKAAVKAiygAFACAUACygIBUoACUUAsFCALBQALCUAAFCAALKAAAlSwAAAsFACAAAVBYFQVLAAIAAAAEAAAAABAABBUFgBAAAAAQAAItgABAAAAAAQIVAAAAEAEFgAAAABAAAAhUAAAAAQAACgEFgAAAAAAAAAAAAAetfH2LfnuDv4Pv2FAAAAAAARRFEURRFEURYAAAAAARRFLFEURYAAAAAARRFRFEUsURRFgAAAAAChAAAAABRFLFEoBAAAAAKKRRKQAAAAClAAAAQAKRQAAClQFBAAoAAAKAAAAVKBACygACygAAoCAAUAAFAAsoACLKACkoALKgACygAJQAVKAAlAAsFCALKAALKgAFSgIBUoAFlSgACwUIEAVKAAAlSgAACwUAIAAAAEALBUoQVBQgAkVAAAABURUFgAAABAAAAAAkVAAAChAAABBYAQAAAAQWAEAAAAAACRUFgAAAAAACFQVEVAAAACgAAAAAAAAAAAAXYx9i357h7+D79hQACURRFEURRFEURRFEURYAAAAAAJRFLFEURYAAABACURRFEURSxYAAAAAAABKAAAAAAACgBBRFEURRFEooAAQAKRRFEUoAAQAAUAAAAopKQAAAoAAAKAAAAsSgAAAoAAUAACgAABQgCygACygACiAAUACygIAsoABQAiygACyoABQAgoABUoCAVKAAiygAAoCAALKAgAFSgAAJUoAAABUFQlAAEAAAAAAAgAQAAAAAEAAAAABAAABBYQACgAABBBYAAAAQAAAgAABAAABBUAAAQAAAAAIAABAAAAAAAAAAAKQVBUFQVBUFQWB62MfYt+f4e7h+/YUBFEURRFEURRFEURRFEAAAAAAAlLFEURRFgEAAAJRFEURRFEUsAAAAAAAlRFLFEURRFEoAAAoQAAAAAACgCxFEoAAAoAAQAKSgAAAKsUBAAAACygAAAoAAEAUAAAFAAAsoAAsoAAAUAALKgQFLKBAFFAgFAABQAigABQAgFAAsoCALKAAlSgAFACAVKAAlSgCwVKAgAFSgIABUoAACVKAAAAAgFRFAAAAAAAAEAAAgAAAQAAAAQWEAAAAABAABC2AEAAAAABBBYAAAAAQIWAAAAAEAACFQWAAAAAAEAAEFQVAAAAAAAAAAAAAB62MfYusDg7+H7txWkURRFEURRFEURRFEUQAAAAAAEUsVEURRFgAAAABFEURRFLAAAAAABCURRFLFEURRFEURRFEVLFEURRKAAALFEpAAAAABSxRFEVEUAAAAFLKAAAQAAAUAAAAKAQACrKAAALKAACpKAACygQABQAALKAAlAABQAAlAAsoAAsqAAVLQAJUoABQAiwUACwlAAsFCALBQALCUAAFCAAAVKAgAFSgAAJUFQUAAAQCAVBUFQVKAABAAAAAAhURUJUFQWAAEAAAAABABAAAAEoAAACAEAAAACFQBAAAAAAAhYQAAAAAAAQVBUAQAAAAAAAAAAAAAAAABdnG2brA4e/h+7pFakURRFEURRFEURRFEWQAAAAACxRFEURRFEAAAABFEURRFLAAAABAAEURRFLFEWAAAAAQCgAAAAAAoQAAKRQAACgABAAAABSgABAAApFAAAAKAELKAAACgAAACgAAsoEACkoAAgFAAAsoABQAgCygAFACLKAALKAgCygACy2AALKAgFSgAoCAAVKAgFSgAJUoAAsFCAAAVKAgAFSgAIAABUoEAAAgAAAAFRFgAAAAWAAEgAAKAAEgAAAABEAAAoIAEApBYAAAQAAQWAAAEAAACFQAABAAAABBUAAAAQAAAAAAAAAAIVBUFQVBUFQVB62cbZusHh7uL7ukVZFEURRFEURRFEURRAAAAAoEURRFEURYAAAAARRFEURSxYABAACURRFEURSxRAAAABAAKAAAAAAChAAAAAAAKAVEURRFEoAoAAQAKRQAAACgABBRKAAAApKAAABQEAALKAACgAAAoACAUAAFAAAsqAAKACwlAAsoACAUAAFCALKAAlFAAUAIAsFCAAUAAJQAALBQgACwUAIAABQAgAQAsFQVBQgAAAAAQAAAAAAEAAAAAgASiFQAAgASggAABC2AEAAAACFhAAAAAAQIVAAAAAAEEFQAAAAAAAABAABBUFgAAAAAAAAAAAAetnG2bcLh7uL7usVZFEURRFEURRFEURYAAAoACURRFEURRAAAAAJRFEURSxUQAAEURRFEURRFLAAAABAAAKAAlEURRFEVLFEURRFEUSgCgBAAAAAAKAAEFEoAAAAAoQKRQAAAAAoAAACwAAAABQAALKAAAFAAAFCAAUAACgCAUAAFACAUAAJQAAVKAgFAAsJQALBQgUAoAgCygACwlAAAsJQAALBQAgACwVKBAIAAAAsFQUABCUQAAAAAAAEAEFQVBUFRFgAgAKAAEgAKgAgASgAAACAAQAAAIVAAEAAAAACFhAAAAAAABBUFQABAAAAAAAAAAAAAAAAF2sXatwuLu4vu6xVkURRFEURRFEURRAAoAAAEURRFEURRAAAAJURRFLFEUQAACURRFEURSwAAAQAAlEU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AAgACyoAFAAgAFBLKgAAAIAACAUAAIAAAACAAAAiwWAsoCSygACBQAiWCwUAECAAAAABAWBAAACWAAAIAAAEAAAIAAAAIAAAlgEAAAAAJYAAAAgKACBKAggAAAAAAAAAAAAACAEAAAAAAAe/ovnfotX8vPrz3+gAAKAACAAAEoiwAAAAAAASiABQEogAEogAEsUAISiAAgUBLAACABYBKIACCUCAAiwAgUBLACLAJQIACABUsAAIAJUogAEogUBLAAACCAVLAAAACLAAAFAgAgAACAAAAAAAAAABAAAAAAAAAQAABZRLEWUCgAAQAABZQEAAABAAFlQAAKBAAKCWVAAAAQAAEAqUABAAAAAQAAAEAAApEAoAIBZQESwAqUAgQAAAAAICwIAAASwAABAAAAgABAAAAABAAAIIAAAAAASwAAABAUAECUEgAAAAAAAAAAAAAAIAIAAAAAACvX0fzn0d1+Xn1579wAAAAAoIAAAAiwAAAAAABUsAAAEsAAIsAUCACAIABLFASiAAgAWAAgAIIBYsAEsAEsUBLABKWCAIACABUogAIAJQIAACBQEsAAAiBQAIAAABKIAAFAgAgAACAAAAAAAAAABAAAAAAAAAQAABZRLBZUACggLAAAFlAQAAAEAAWUBAAoEAAqUllQAAAEAAABFlAAQAAAAEAAABAAALABFlAIBYKESwAWCggQAAAAAICwIAAAQAAAAQAAAAIgAAAAAQAACCAAAAAAEsAAAAAAAQJREAAAAAAAAAAAAAASwACAAAAAoAD19H859Hdfl59ee/cAAAAAAAAAAACKIsAAAAAEpYAABKIABLAFASiCAEsAAWAAgAIAFiwAiwCEsUBKIBLAFSwASwABYsgBLABLAFAgAIAJQEsAAIFAAgAAiBQAIAAAACAABQIsAgAABKIAAAAAAAAAEAAAAAAAABAAAFBKJZUACggLAAAFlAQAAAEAAAoQAKBAAFlJZUAAABAAAARZQAEAAAABAAAAQAAAAEAoIAChEsAALLAEAAAACAAsCAAAIAAAAEAAACBAAAAAEAAAAggAAAAACAAABAUAAECVLEAAAAAAAAAAAAAAgAAgAAKAAAA9fR/OfR3X5efU794oiwAAAAAAAAAAAAASiLAAAFiwAAAiwAAgAUIiwASwABYACLABLAFSwASiCEpYACAAgVKIACABUsgBLA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YrxivGK8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPGI8YjxiPDj9L/N3PvPZsvqyc3brC+rJzdusL6snN26wvqyc3brC+rJzdusL6snN26wvqyc3brC+rJzdusL6snN26wvqyc3brC+rJzdusL6snN26wvqyc3ZrC+rJzdmsL6snN2awvqyc3ZrC+rJzdmsL6snN2awvqyc3ZrC+rJzdmsL6snN2awvqyc3ZrC+rJzdmsL6snN2awvqyc3ZrC+rJzdmsL6snN2awvqyc3ZrC+rJzdmsL6snN2awvqyc3ZrC+rJzdmrr6snN2auvqyc3Zq6+rJzdmrr6snN2auvqyc3Zq6+rJzdmrr6snN2auvqyc3Zq6+rJzdmrr6snN2auvqyc3Xq6+rJzderr6snN16uvqyc3Xq6+rJzderr6snN16uvqyc3Xq6+rJzderr6snN16uvqyc3Xq6+rJzderr6snN16uvqyc3Xq6+rJzderr6snN16uvqyc3Vq6+rJzdWrr6snN1auvqyc3Vq6+rJzdWrr6snN1asvqyc3Vqy+rJzdWrL6snN1asvqyc3Vqy+rJzdWrL6snN1asvqyc3Vqy+rJzdOrL6snN06svqyc3Tqy+rJzdOrL6uzm6dWX1dnN06svq7Obp1ZfV2c3Tqy+rs5unVl9XZzdGrL6uzm6NVX1dnN0aqvq7WN0aqvq7WN0aqvq7WN0aqvq7WN0aqvq7WN0aqvq7WNz6qvq7WNz6qvq7WNz6qvq7WNz6qvq7WNz6qvq7WNz6qvq7WNz6qvq7WNz6qvq7WNzaovq7WNzaovq7WNzaovq7WNzaovq7WNzaovq7WNzaovq7WNzaovq7WNzaovq7WNy6ovq7WNy6ovq7WNy6ovq7WNy6ovq7WNy6ovq7WNy6ovq7WNyamvq7WNyamvq7WNyamvq7WNyamvq7WNyamvq7WNx6mvq7WNx6mvq7WNx6mvq7WNx6mvq7WNx6kvq7WNx6kvq7WNxakvq7WNxakvq7WNxakvq7WNxakvq7WNxakvq7WNw6kvq7WNw6kvq7WNw6kvq7WNw6ivq7WNw6ivq7WNwaivq5WNwaivq5WNwaivq7WNwaivq5WNwaivq5WM/wBRX1crGf6ivq5WM/1FfVyuZ/qC+rlcz/UF9XK5n+oL6uVzPtQX1crmfagvq5XM+1BfVyuZ9qC+rlcz3UF9XK5nuoL6uVzPf3r6uVzPf3r6uVzPP3r6uVzPP3r6uVzPP3r6uVzPP3r6uVzO/wB6+rlczv8Acvq5XM7/AHL6uVzO/wBy+rlczr9y+rlczr9y+rlczr9y+rlczr9y+rlczn9y+rlczn9q+rlczn9q+rlczn9q+rlczj9q+rlczj9q+rlczj9q+rlczj9q+rlczf8AYvq5XM3/AGL6uVzN/wBi+rlczf8AYvq5XM2/Yvq5XM2/Yvq5XM2/Yvq5XM2/Yvq5XM1/Wvrd1zNf1r63dczX9a+t3XM1/Wvrd1zNP1r63dczT9a+t3XM0/Wvrd1zNP1L63dczP8AUvrd1zM/1L63dczP9S+t3XMz/Uvrd1zMv1L63fcMy/Uvrd9wzL9K+t33DMf0r63fcMx/Svrd9wzH9K+t33DMf0r63fcMw/Svrd9wzD9K+t33DMP0L63fcMw/Qvrd9w8/9C+t33Dz/wBC+t33Dz/0L63fcPP/AEL63fcPO/Qvrd9w879C+t33Dzu+vrd9w87vr63fcPN76+t33Dze+vrd9w83vr63fcPN76+t33DzO+vrd9w8zvr63fcPM7y+t33DzO8vrd9w8zvL63fcPL7y+t33Dy+8vrd9w8vvL63fcPL7y+t33Dyu8vrd9w8rur63fcPK7q+t33Dyu6vrd9w8rur63fcPJ7q+t33Dye6vrd9w8nur63fcPJ7q+t33Dye6vrd9w8juL63fcPI7i+t33DyO4vrd9w8juL63fcPI7i+t33DyO4vrd9wv+4vrd9wv+4vrd9wv+4vrd9wv+4vrd9wv+4vrd9wvq6+t33C+rr63fcL6uvrd9wvq6+t33C+rr63fcL6uvrd9wvq6+t33C9rr63fcL2uvrd9wva6+t33C9rr63fcL2uvrd9wva6+t13C9rr63XcL2svrddwvay+t13C8rL63XcLysvrddwvKy+t13C8rL63XcLysvrddwvKy+t13C8rL63XcLysvrddwvKy+t13C8rL63XcLysvrddwvKy+t13B+svrddwfrL63XcH6y+t13B+svrddwfrL63XcH6y+t13B+svrddwfrL63XcH6y+t13B+svrddwfrL63XcH2L7eD4719ff406HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQ6HQhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgP5n8z+Z/M/mfzP5n8z+Z/M/mfzP5n8z+Z/M/mfzP5n8z+Z/M/mfzP5n8zx+0f/aAAgBAgIGPwBNr/WzyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyjyiiKIoiiKIoiiKIoiiKIoiiKIoiiKIoiiKIoiiKIoiiKIoiiKIoiiKIoiiKIoUKFChQoUKFChQoUKFChQoUKFCn9PUqVKlSpUqVKlSpUqVKsqyrKsqyrKsqyrKsqyrKsqyrKsqyrKsqyrKsqyrKsqyrKsqyrKsqyrKsqyrKsqyrKsqz0z0z0z0z0z0z0z0z0z0z0z0z0z0z0z0z0z0z0z0z0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sW9Yt6xb1i3rFvWLesW9Yt6xb1i3rFvWLesW9Yt6xb1i3rFvWLesW9Yt6xb1i3rFvWLesW9Yt6xb1i3rFvWLesW9Yt6xb1i3rFvWLesW9Yt6xb1i3rFvWLesW9Yt6xb1i3rFvWLesW9Yt6xb1i3rFvWLesW9Yt6xb1i3rFvWLesW9Yt6xb1i3rFvWLesW9Yt6xb1i3rFvWLesW9Yt6xb1i3rFvWLesW9Yt6xb1i3rFvWLesW9Yt6xb1i3rFvWLesW9Yt6xb1i3rFvWLesW9Yt6xb1i3rFvWLesW9Yt6xb1i3rFvWLesW9Yt6xb1i3rFvWLesW9Yt6xb1i3rFvWLesW9Yt6xb1i3rFvWLesW9YtqxbVi2rFtWLasW1YtqxbVi2rFtWLasW1YtqxbVi2rFtWLasW1YtqxbVi2rFtWLasW1YtqxbVi2rFtWLasW1YtqxbVi2rFtWLasW1YtqxbVi2rFtWLasW1YtqxbVi2rFtWLasW1YtqxbVi2rFtWLasW1YtqxbVi2rFtWLasW1YtqxbVi2rFtWLasW1YtqxbVi2rFtWLasW1Ytqxa1i1rFrWLWsWtYtaxa1i1rFrWLWsWtYtaxa1i1rFrWLWsWtYtawWz/8APb/Gf//Z" transform="matrix(0.48 0 0 0.48 -5.28 -5.28)"> + </image> + </g> + </g> + </g> + </g> +</g> +</svg> diff --git a/app/intro/main.js b/app/intro/main.js new file mode 100644 index 0000000..0bf092c --- /dev/null +++ b/app/intro/main.js @@ -0,0 +1,90 @@ +/* + * MIT License + * + * Copyright (c) 2022- Minteck + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + +function posY(elm) { + var test = elm, top = 0; + + while(!!test && test.tagName.toLowerCase() !== "body") { + top += test.offsetTop; + test = test.offsetParent; + } + + return top; +} + +function viewPortHeight() { + var de = document.documentElement; + + if(!!window.innerWidth) + { return window.innerHeight; } + else if( de && !isNaN(de.clientHeight) ) + { return de.clientHeight; } + + return 0; +} + +function scrollY() { + if( window.pageYOffset ) { return window.pageYOffset; } + return Math.max(document.documentElement.scrollTop, document.body.scrollTop); +} + +function checkvisible( elm ) { + var vpH = viewPortHeight(), // Viewport Height + st = scrollY(), // Scroll Top + y = posY(elm); + + return (y > (vpH + st)); +} + +document.body.innerHTML = document.body.innerHTML.replaceAll("\n", "").replace(/> *</gm, "><").trim(); + +window.onscroll = () => { + if (window.innerWidth > 700) { + if (window.scrollY() > (window.innerHeight - 52)) { + document.getElementsByTagName("header")[0].classList.add("scrolled"); + } else { + document.getElementsByTagName("header")[0].classList.remove("scrolled"); + } + } else { + if (window.scrollY() > (window.innerHeight - 120)) { + document.getElementsByTagName("header")[0].classList.add("scrolled"); + } else { + document.getElementsByTagName("header")[0].classList.remove("scrolled"); + } + } +} + + + + + + + + + + + + + diff --git a/app/intro/session.php b/app/intro/session.php new file mode 100644 index 0000000..9a1fbaf --- /dev/null +++ b/app/intro/session.php @@ -0,0 +1,64 @@ +<?php +/* + * MIT License + * + * Copyright (c) 2022- Minteck + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + +global $_CONFIG; +$_CONFIG = json_decode(file_get_contents("/mnt/familine/private/FamilineConfig.json"), true); + +global $loggedIn; +$loggedIn = null; + +global $_WELCOMED; +if (!file_exists("/mnt/familine/private/welcomed.json")) { + file_put_contents("/mnt/familine/private/welcomed.json", "[]"); +} +$_WELCOMED = json_decode(file_get_contents("/mnt/familine/private/welcomed.json"), true); + +if (isset($_COOKIE['FL_SESSION_TOKEN'])) { + if (str_contains($_COOKIE['FL_SESSION_TOKEN'], ".") || str_contains($_COOKIE['FL_SESSION_TOKEN'], "/")) { + $loggedIn = false; + } + + if (file_exists("/mnt/familine/private/tokens/" . str_replace(".", "", str_replace("/", "", $_COOKIE['FL_SESSION_TOKEN'])))) { + $_PROFILE = json_decode(file_get_contents("/mnt/familine/private/tokens/" . str_replace(".", "", str_replace("/", "", $_COOKIE['FL_SESSION_TOKEN']))), true); + + if (isset($_PROFILE['familine'])) { + $loggedIn = false; + } + + $_USER = $_PROFILE['login']; + $_SUID = $_PROFILE['login']; + $_FULLNAME = $_PROFILE['name']; + $loggedIn = true; + + if (!in_array($_USER, $_WELCOMED)) { + $loggedIn = false; + } + } else { + $loggedIn = false; + } +} else { + $loggedIn = false; +}
\ No newline at end of file diff --git a/js/statusbar.js b/app/intro/statusbar.php index b13c4f0..3eb2894 100644 --- a/js/statusbar.js +++ b/app/intro/statusbar.php @@ -1,29 +1,28 @@ -/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
-
-window.addEventListener("load", () => {
- window.fetch("/statusbar.php").then((a) => {a.text().then((b) => {document.body.innerHTML=document.body.innerHTML+b;document.getElementById("statusbar").classList.add("desktop");})});
- $(".progress").fadeOut("slow");
-})
\ No newline at end of file +<?php +/* + * MIT License + * + * Copyright (c) 2022- Minteck + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + +header("Location: https://cdn.familine.minteck.org/statusbar.php"); +die(); diff --git a/app/intro/stylesheet.css b/app/intro/stylesheet.css new file mode 100644 index 0000000..da3b44b --- /dev/null +++ b/app/intro/stylesheet.css @@ -0,0 +1,474 @@ +/* + * MIT License + * + * Copyright (c) 2022- Minteck + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + +@font-face { + src: url("/webfonts/Lato-Black.ttf"); + font-family: "Lato"; + font-weight: 900; + font-style: normal; +} + +@font-face { + src: url("/webfonts/Lato-BlackItalic.ttf"); + font-family: "Lato"; + font-weight: 900; + font-style: italic; +} + +@font-face { + src: url("/webfonts/Lato-Bold.ttf"); + font-family: "Lato"; + font-weight: 700; + font-style: normal; +} + +@font-face { + src: url("/webfonts/Lato-BoldItalic.ttf"); + font-family: "Lato"; + font-weight: 700; + font-style: italic; +} + +@font-face { + src: url("/webfonts/Lato-Light.ttf"); + font-family: "Lato"; + font-weight: 300; + font-style: normal; +} + +@font-face { + src: url("/webfonts/Lato-LightItalic.ttf"); + font-family: "Lato"; + font-weight: 300; + font-style: italic; +} + +@font-face { + src: url("/webfonts/Lato-Thin.ttf"); + font-family: "Lato"; + font-weight: 100; + font-style: normal; +} + +@font-face { + src: url("/webfonts/Lato-ThinItalic.ttf"); + font-family: "Lato"; + font-weight: 100; + font-style: italic; +} + +@font-face { + src: url("/webfonts/Lato-Regular.ttf"); + font-family: "Lato"; + font-weight: 400; + font-style: normal; +} + +@font-face { + src: url("/webfonts/Lato-Italic.ttf"); + font-family: "Lato"; + font-weight: 400; + font-style: italic; +} + +html, body { + margin: 0; + font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif; +} + +#main-nav { + font-size: 14px; +} + +.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl { + width: calc(100% - 30px); + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container, .container-sm { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container, .container-md, .container-sm { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container, .container-lg, .container-md, .container-sm { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container, .container-lg, .container-md, .container-sm, .container-xl { + max-width: 1140px; + } +} + +#nav-logo-img { + width: 32px; + height: 32px; +} + +#nav-logo { + display: inline-block; +} + +header { + padding: 10px; + position: fixed; + top: 0; + left: 0; + right: 0; + height: 32px; + background: linear-gradient(180deg, rgba(255,255,255,.75) 0%, rgba(255,255,255,0) 100%); + transition: background 200ms; +} + +header * { + vertical-align: middle; +} + +.nav-link { + margin-left: 15px; + margin-right: 15px; + color: rgba(0, 0, 0, .5); + text-decoration: none; +} + +.nav-link:hover { + text-decoration: underline; +} + +.nav-link:active { + color: black; +} + +#nav-links { + display: inline-block; + padding-left: 15px; +} + +.nav-link { + display: inline-block; +} + +#nav-aside { + float: right; + margin-top: 5px; + border-radius: 9999px; + padding-left: 10px; + padding-right: 10px; + border: 1px solid rgba(0, 0, 0, .5); + color: rgba(0, 0, 0, .5); + text-decoration: none; + height: 21px; +} + +#nav-aside:hover { + border: 1px solid rgba(0, 0, 0, .75); + color: rgba(0, 0, 0, .75); +} + +#nav-aside:active { + border: 1px solid rgba(0, 0, 0, 1); + color: rgba(0, 0, 0, 1); +} + +#loggedin-profile { + border-radius: 999px; + width: 16px; + vertical-align: middle; +} + +#loggedin-name { + vertical-align: middle; + display: inline-block; +} + +#loggedin-action { + display: inline-block; +} + +main { + height: 100%; +} + +#hero { + height: 100vh; + background-image: url("/intro.svg"); + background-position: center; + background-size: cover; + pointer-events: none; +} + +#hero-content { + height: calc(100vh - 52px); + padding-top: 52px; + margin-top: -100vh; + display: flex; + align-items: center; + justify-content: center; + text-align: center; +} + +#hero-content * { + text-align: center; +} + +#hero-content #hero-title-part-big { + margin: 5px; + font-weight: normal; + font-size: 96px; +} + +#hero-content #hero-title-part-small { + margin: 5px; + font-weight: normal; + font-size: 42px; +} + +#hero-stylized { + font-weight: bold; + background: linear-gradient(145deg, rgba(93,33,33,1) 0%, rgba(90,93,33,1) 20%, rgba(33,93,41,1) 40%, rgba(33,91,93,1) 60%, rgba(35,33,93,1) 80%, rgba(93,33,86,1) 100%); + background-clip: text; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} + +header.scrolled, header.scrolled-force { + background: black; +} + +header.scrolled #nav-aside, header.scrolled-force #nav-aside { + border: 1px solid rgba(255, 255, 255, .75); + color: rgba(255, 255, 255, .75); +} + +header.scrolled #nav-aside:hover, header.scrolled-force #nav-aside:hover { + border: 1px solid rgba(255, 255, 255, .85); + color: rgba(255, 255, 255, .85); +} + +header.scrolled #nav-aside:active, header.scrolled-force #nav-aside:active { + border: 1px solid rgba(255, 255, 255, 1); + color: rgba(255, 255, 255, 1); +} + +#nav-aside, #nav-link { + transition: border 200ms, color 200ms; +} + +header.scrolled .nav-link, header.scrolled-force .nav-link { + color: rgba(255, 255, 255, .75); +} + +header.scrolled .nav-link:active, header.scrolled-force .nav-link:active { + color: white; +} + +.button { + margin-top: 10px; + display: inline-block; + background: black; + border-radius: 5px; + text-decoration: none; + color: white; + padding: 7px 15px; + border: 1px solid transparent; + box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5); + transition: box-shadow 200ms; +} + +.button:hover { + box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.5); +} + +.button:active { + box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.75); +} + +.button:nth-last-child(1) { + margin-left: 10px; +} + +:nth-child(3).button { + margin-left: 0 !important; +} + +.button-secondary { + background: #333; +} + +.button-main { + color: black; + background: #ddd; +} + +.h5, h5 { + font-size: 24px; + margin-bottom: .5rem; + margin-top: 0; +} + +.container p { + margin-top: 0; + margin-bottom: 1rem; +} + + .welcome-box-container { + display: grid; + grid-template-columns: 50% 50%; + } + +.welcome-box-container .welcome-box-container--inner { + display: flex; + align-items: center; + justify-content: center; + width: 100%; +} + +.welcome-box-container .welcome-box-container--inner > div { + width: 100%; +} + +.welcome-box { + padding-top: 20px; + padding-bottom: 20px; +} + +.welcome-box-app { + text-align: center; + padding: 10px; +} + +.screenshot { + border-radius: 5px; + box-shadow: 5px 8px 11px 2px rgba(0, 0, 0, 30%); +} + +.welcome-box-0 { + background-color: rgba(0, 0, 0, .25); +} + +.welcome-box-1 { + background-color: rgba(0, 0, 0, .17); +} + +.welcome-box-2 { + background-color: rgba(0, 0, 0, .09); +} + +.welcome-box-3 { + background-color: rgba(236, 88, 58, 25%); +} + +.welcome-box-4 { + background-color: rgba(234, 111, 58, 25%); +} + +.welcome-box-5 { + background-color: rgba(236, 206, 59, 25%); +} + +.welcome-box-6 { + background-color: rgba(59, 239, 59, 25%); +} + +.welcome-box-7 { + background-color: rgba(58, 233, 109, 25%); +} + +.welcome-box-8 { + background-color: rgba(53, 183, 255, 25%); +} + +.welcome-box-9 { + background-color: rgba(149, 59, 239, 25%); +} + +.welcome-box-10 { + background-color: rgba(237, 59, 211, 25%); +} + +@media (max-width: 700px) { + .welcome-box-container { + grid-template-columns: 1fr !important; + } +} + +.text-muted { + color: #6c757d !important; +} +.small, small { + font-size: 80%; + font-weight: 400; +} + +#skip-header { + margin-top: 52px; +} + +@media (max-width: 700px) { + #hero-content #hero-title-part-big { + font-size: 48px; + } + #hero-content #hero-title-part-small { + font-size: 28px; + } + .nav-link { + display: block; + text-align: center; + margin: 0; + } + #nav-aside { + float: initial; + display: block; + margin-left: auto; + max-width: fit-content; + margin-top: 5px; + } + header { + height: 100px; + } + #hero-content { + height: calc(100vh - 120px); + padding-top: 120px; + } + #skip-header { + margin-top: 120px; + } + #nav-links { + width: calc(100% - 32px); + padding-left: 0; + } +}
\ No newline at end of file diff --git a/app/intro/webfonts/Lato-Black.ttf b/app/intro/webfonts/Lato-Black.ttf Binary files differnew file mode 100644 index 0000000..4340502 --- /dev/null +++ b/app/intro/webfonts/Lato-Black.ttf diff --git a/app/intro/webfonts/Lato-BlackItalic.ttf b/app/intro/webfonts/Lato-BlackItalic.ttf Binary files differnew file mode 100644 index 0000000..4df1555 --- /dev/null +++ b/app/intro/webfonts/Lato-BlackItalic.ttf diff --git a/app/intro/webfonts/Lato-Bold.ttf b/app/intro/webfonts/Lato-Bold.ttf Binary files differnew file mode 100644 index 0000000..016068b --- /dev/null +++ b/app/intro/webfonts/Lato-Bold.ttf diff --git a/app/intro/webfonts/Lato-BoldItalic.ttf b/app/intro/webfonts/Lato-BoldItalic.ttf Binary files differnew file mode 100644 index 0000000..a05d503 --- /dev/null +++ b/app/intro/webfonts/Lato-BoldItalic.ttf diff --git a/app/intro/webfonts/Lato-Italic.ttf b/app/intro/webfonts/Lato-Italic.ttf Binary files differnew file mode 100644 index 0000000..0d0f69e --- /dev/null +++ b/app/intro/webfonts/Lato-Italic.ttf diff --git a/app/intro/webfonts/Lato-Light.ttf b/app/intro/webfonts/Lato-Light.ttf Binary files differnew file mode 100644 index 0000000..dfa72ce --- /dev/null +++ b/app/intro/webfonts/Lato-Light.ttf diff --git a/app/intro/webfonts/Lato-LightItalic.ttf b/app/intro/webfonts/Lato-LightItalic.ttf Binary files differnew file mode 100644 index 0000000..12f2b6c --- /dev/null +++ b/app/intro/webfonts/Lato-LightItalic.ttf diff --git a/app/intro/webfonts/Lato-Regular.ttf b/app/intro/webfonts/Lato-Regular.ttf Binary files differnew file mode 100644 index 0000000..bb2e887 --- /dev/null +++ b/app/intro/webfonts/Lato-Regular.ttf diff --git a/app/intro/webfonts/Lato-Thin.ttf b/app/intro/webfonts/Lato-Thin.ttf Binary files differnew file mode 100644 index 0000000..ba58da1 --- /dev/null +++ b/app/intro/webfonts/Lato-Thin.ttf diff --git a/app/intro/webfonts/Lato-ThinItalic.ttf b/app/intro/webfonts/Lato-ThinItalic.ttf Binary files differnew file mode 100644 index 0000000..4d82766 --- /dev/null +++ b/app/intro/webfonts/Lato-ThinItalic.ttf diff --git a/app/media/index.php b/app/media/index.php new file mode 100644 index 0000000..c927d25 --- /dev/null +++ b/app/media/index.php @@ -0,0 +1,51 @@ +<?php
+
+require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
+
+/** @var string $_FULLNAME
+ * @var string $_USER
+ * @var string $_SUID
+ * @var array $_PROFILE
+ */
+
+?>
+
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>Familine Média</title>
+ <link rel="icon" href="https://familine.minteck.org/icns/familine-media.svg">
+ <link rel="stylesheet" href="https://familine.minteck.org/styles.css">
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
+ <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
+</head>
+<body>
+ <div class="container" style="margin-top:30px;">
+ <h1>Familine Média</h1>
+ <p>Écoutez de la musique, visionnez des photos et regardez vos films familiaux préférés grâce à la suite Familine Média.</p>
+ <div class="list-group">
+ <a href="https://cinema.familine.minteck.org" class="list-group-item list-group-item-action">
+ <img src="https://familine.minteck.org/icns/familine-movies.svg" style="width:32px;vertical-align: middle;"> <span style="vertical-align: middle;">Films</span>
+ </a>
+ <a href="https://music.familine.minteck.org" class="list-group-item list-group-item-action">
+ <img src="https://familine.minteck.org/icns/familine-music.svg" style="width:32px;vertical-align: middle;"> <span style="vertical-align: middle;">Musique</span>
+ </a>
+ <a href="https://photos.familine.minteck.org" class="list-group-item list-group-item-action">
+ <img src="https://familine.minteck.org/icns/familine-photos.svg" style="width:32px;vertical-align: middle;"> <span style="vertical-align: middle;">Photos</span>
+ </a>
+ </div>
+ </div>
+ <script>
+ console.log("Injecting Familine header")
+ document.body.innerHTML = document.body.innerHTML + "<iframe style=\"position:fixed;left:0;right:0;top:0;border: none;width: 100%;height:32px;\" src=\"https://<?= /** @var array $_CONFIG */
+ $_CONFIG["Global"]["cdn"] ?>/statusbar.php\"></iframe>";
+ document.getElementsByTagName("html")[0].style.marginTop = "32px";
+ document.getElementsByTagName("html")[0].style.height = "calc(100vh - 32px)";
+ </script>
+</body>
+</html>
\ No newline at end of file diff --git a/app/planning/.gitlab-ci.yml b/app/planning/.gitlab-ci.yml new file mode 100644 index 0000000..4402674 --- /dev/null +++ b/app/planning/.gitlab-ci.yml @@ -0,0 +1,15 @@ +# Generic Minteck GitLab CI/CD Checks +# PHP applications +image: php:zts-buster + +cache: + paths: + - vendor/ + +before_script: + - apt-get update + - apt-get install -y git + +test: + script: + - bash -c '[[ $(find . -name \*.php -exec php -l {} \; | grep -v "No syntax errors") ]] && exit 2 || exit 0' diff --git a/app/planning/LICENSE b/app/planning/LICENSE new file mode 100644 index 0000000..318113a --- /dev/null +++ b/app/planning/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021- Minteck + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/app/planning/README.md b/app/planning/README.md new file mode 100644 index 0000000..75e1227 --- /dev/null +++ b/app/planning/README.md @@ -0,0 +1,8 @@ +# Familine Camera (wrapper)
+
+* Chemin d'installation attendu : `/mnt/familine/app/console`
+
+## Installation
+1. Copiez les fichiers dans le dossier `/mnt/familine/app/console`
+3. Configurez votre serveur Web pour pointer le sous-domaine `console.` vers Familine Camera (wrapper)
+4. C'est prêt !
\ No newline at end of file diff --git a/app/planning/SatteliteGiteaData.txt b/app/planning/SatteliteGiteaData.txt new file mode 100644 index 0000000..91e708c --- /dev/null +++ b/app/planning/SatteliteGiteaData.txt @@ -0,0 +1 @@ +Familine Camera Wrapper
\ No newline at end of file diff --git a/app/planning/index.php b/app/planning/index.php new file mode 100644 index 0000000..603bfdb --- /dev/null +++ b/app/planning/index.php @@ -0,0 +1,163 @@ +<?php
+
+require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
+
+/** @var string $_FULLNAME
+ * @var string $_USER
+ * @var string $_SUID
+ * @var array $_PROFILE
+ * @var boolean $_ADMIN
+ */
+
+if (!$_ADMIN) {
+
+}
+
+?>
+
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>Familine Planning</title>
+ <link rel="icon" href="https://familine.minteck.org/icns/familine-planning.svg">
+ <link rel="stylesheet" href="https://familine.minteck.org/styles.css">
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
+ <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
+</head>
+<body style="background-color:#ffffff !important;">
+<iframe src="https://planning.<?= /** @var array $_CONFIG */
+$_CONFIG["Global"]["domain"] ?>/hp/etudiant" style="
+ border: none;
+ background-color: #ffffff;
+ position: fixed;
+ top: 32px;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ width: 100%;
+ height: calc(100vh - 32px);
+"></iframe>
+<script>
+ console.log("Injecting Familine header")
+ document.body.innerHTML = document.body.innerHTML + "<iframe style=\"position:fixed;left:0;right:0;top:0;border: none;width: 100%;height:32px;\" src=\"https://<?= /** @var array $_CONFIG */
+ $_CONFIG["Global"]["cdn"] ?>/statusbar.php\"></iframe>";
+ document.getElementsByTagName("html")[0].style.marginTop = "32px";
+ document.getElementsByTagName("html")[0].style.height = "calc(100vh - 32px)";
+
+function tt(orig, newt) {
+ document.getElementsByTagName('iframe')[0].contentDocument.querySelector("#breadcrumbBandeau.titre-onglet[aria-label=\"" + orig + "\"]").innerText = newt;
+ document.getElementsByTagName('iframe')[0].contentDocument.querySelector("h3.fil-ariane").style.display = "none";
+}
+
+function te(orig, newt) {
+ document.getElementsByTagName('iframe')[0].contentDocument.querySelector(".Texte10.Gras.AlignementMilieu").innerText = document.getElementsByTagName('iframe')[0].contentDocument.querySelector(".Texte10.Gras.AlignementMilieu").innerText.replaceAll(orig, newt);
+}
+
+function tmt(orig, newt) {
+ Array.from(document.getElementsByTagName("iframe")[0].contentDocument.querySelectorAll(".Texte12")).forEach((e) => { if (e.innerText === orig) { e.innerText = newt; } });
+ Array.from(document.getElementsByTagName("iframe")[0].contentDocument.querySelectorAll(".collection-item.with-action")).forEach((e) => { if (e.innerText === orig) { e.innerHTML = "<span>" + newt + "</span>"; } });
+ if (document.getElementsByTagName("iframe")[0].contentDocument.getElementById("GInterface.Instances[2]_Titre").children[1].innerText === orig) { document.getElementsByTagName("iframe")[0].contentDocument.getElementById("GInterface.Instances[2]_Titre").children[1].innerHTML = "<span>" + newt + "</span>"; };
+}
+
+function tme(orig, newt) {
+ if (document.getElementsByTagName("iframe")[0].contentDocument.querySelector(".card-content").innerText === orig) { document.getElementsByTagName("iframe")[0].contentDocument.querySelector(".card-content").innerText = newt; }
+}
+
+function tmh(orig, newt) {
+ document.getElementsByTagName("iframe")[0].contentDocument.querySelectorAll("span.as-header.collapsible-header").forEach((e) => { if (e.innerText === orig) { e.innerText = newt; } });
+}
+
+injectedVer = false;
+
+setInterval(() => {
+
+try {
+ ver = document.getElementsByTagName("iframe")[0].contentDocument.getElementsByClassName("ibe_logo")[0].children[0].title.split("-")[0].split(" ")[1].trim() + "." + document.getElementsByTagName("iframe")[0].contentDocument.getElementsByClassName("ibe_logo")[0].children[0].title.split("-")[1].trim();
+ document.getElementsByTagName("iframe")[0].contentDocument.getElementsByClassName("ibe_logo")[0].children[0].style.display = "none";
+ if (!injectedVer) document.getElementsByTagName("iframe")[0].contentDocument.getElementsByClassName("ibe_logo")[0].children[0].outerHTML = document.getElementsByTagName("iframe")[0].contentDocument.getElementsByClassName("ibe_logo")[0].children[0].outerHTML + "v" + ver + " ";
+ injectedVer = true;
+} catch (e) {}
+
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[0].Instances[1]_Combo0").innerHTML = '<div class="label-menu-container"><span role="presentation" class="label-submenu">Événements</span></div>'; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[0].Instances[1]_Liste_niveau0").children[0].children[2].innerHTML = '<div class="label-menu-container"><span role="presentation" class="label-submenu">Événements annulés</span></div>'; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[0].Instances[1]_Liste_niveau0").children[0].children[1].innerHTML = '<div class="label-menu-container"><span role="presentation" class="label-submenu">Récapitulatif des événements</span></div>'; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[0].Instances[1]_Combo2").innerHTML = '<div class="label-menu-container"><span role="presentation" class="label-submenu">Vie familiale</span></div>'; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[0].Instances[1]_Liste_niveau2").children[0].children[1].style.display = "none"; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[0].Instances[1]_Liste_niveau2").children[0].children[2].innerHTML = '<div class="label-menu-container"><span role="presentation" class="label-submenu">Statut familial</span></div>'; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[0].Instances[1]_Liste_niveau2").children[0].children[3].innerHTML = '<div class="label-menu-container"><span role="presentation" class="label-submenu">Calendrier familial</span></div>'; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[0].Instances[1]_Combo3").innerHTML = '<div class="label-menu-container"><span role="presentation" class="label-submenu">Progrès</span></div>'; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[0].Instances[1]_Liste_niveau3").children[0].children[0].innerHTML = '<div class="label-menu-container"><span role="presentation" class="label-submenu">Évaluation des progrès</span></div>'; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[0].Instances[1]_Liste_niveau3").children[0].children[2].innerHTML = '<div class="label-menu-container"><span role="presentation" class="label-submenu">Tâches à réaliser</span></div>'; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[0].Instances[1]_Liste_niveau3").children[0].children[3].innerHTML = '<div class="label-menu-container"><span role="presentation" class="label-submenu">Ressources familiales</span></div>'; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[0].Instances[1]_Liste_niveau3").children[0].children[4].innerHTML = '<div class="label-menu-container"><span role="presentation" class="label-submenu">Travaux surveillés</span></div>'; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[0].Instances[1]_Liste_niveau4").children[0].children[1].innerHTML = '<div class="label-menu-container"><span role="presentation" class="label-submenu">Récapitulatif des événements</span></div>'; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[0].Instances[1]_Combo4").innerHTML = '<div class="label-menu-container"><span role="presentation" class="label-submenu">Organisateurs</span></div>'; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[0].Instances[1]_Combo5").innerHTML = '<div class="label-menu-container"><span role="presentation" class="label-submenu">Groupes</span></div>'; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[0].Instances[1]_Combo6").innerHTML = '<div class="label-menu-container"><span role="presentation" class="label-submenu">Membres</span></div>'; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[0].Instances[1]_Liste_niveau5").children[0].children[2].innerHTML = '<div class="label-menu-container"><span role="presentation" class="label-submenu">Événements annulés</span></div>'; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[0].Instances[1]_Liste_niveau5").children[0].children[1].innerHTML = '<div class="label-menu-container"><span role="presentation" class="label-submenu">Récapitulatif des événements</span></div>'; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[0].Instances[1]_Liste_niveau6").children[0].children[2].innerHTML = '<div class="label-menu-container"><span role="presentation" class="label-submenu">Événements annulés</span></div>'; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[0].Instances[1]_Liste_niveau6").children[0].children[1].innerHTML = '<div class="label-menu-container"><span role="presentation" class="label-submenu">Récapitulatif des événements</span></div>'; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[1]").children[0].children[2].children[1].children[0].children[1].children[1].style.display = "none"; } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.getElementById("GInterface.Instances[1]").children[0].children[2].style.display = "none"; } catch (e) {}
+try { tt("Récapitulatif des cours", "Récapitulatif des événements"); } catch (e) {}
+try { tt("Cours annulés", "Événements annulés"); } catch (e) {}
+try { tt("Calendrier scolaire", "Calendrier familial") } catch (e) {}
+try { tt("Evaluation des cours", "Évaluation des progrès") } catch (e) {}
+try { tt("Travail à faire", "Tâches à réaliser") } catch (e) {}
+try { tt("Ressources pédagogiques", "Ressources familiales") } catch (e) {}
+try { tt("Devoirs surveillés", "Travaux surveillés") } catch (e) {}
+try { tt("Scolarité", "Statut familial") } catch (e) {}
+try { document.getElementsByTagName("iframe")[0].contentDocument.querySelector(".taf header h3 span").innerText = "Tâches à faire" } catch (e) {}
+try { document.getElementsByTagName("iframe")[0].contentDocument.querySelector(".ressourcespedagogiques header h3 span").innerText = "Dernières ressources familiales" } catch (e) {}
+try { document.getElementsByTagName("iframe")[0].contentDocument.querySelector(".no-events[aria-label=\"Aucun travail à faire dans les 7 prochains jours\"] p").innerText = "Aucune tâche à faire dans les 7 prochains jours"; } catch (e) {}
+try { document.getElementsByTagName("iframe")[0].contentDocument.querySelector(".no-events[aria-label=\"Aucune ressource pédagogique\"] p").innerText = "Aucune ressource familiale"; } catch (e) {}
+try { document.getElementsByTagName("iframe")[0].contentDocument.querySelector(".footer-wrapper").style.display = "none"; } catch (e) {}
+try { document.getElementsByTagName("iframe")[0].contentDocument.querySelector(".stopwith-footer").classList.remove("stopwith-footer"); } catch (e) {}
+try { document.getElementsByTagName("iframe")[0].contentDocument.querySelector(".coursannules header h3 span").innerText = "Prochains événements annulés" } catch (e) {}
+try { document.getElementsByTagName("iframe")[0].contentDocument.querySelector(".edt header h3 span").innerText = "3 prochains événements" } catch (e) {}
+try { document.getElementsByTagName("iframe")[0].contentDocument.querySelector(".no-events[aria-label=\"Aucun cours annulé dans les 7 prochains jours\"] p").innerText = "Aucun événement annulé dans les 7 prochains jours"; } catch (e) {}
+try { te("Il n'y a aucun cours", "Il n'y a aucun événement"); } catch (e) {}
+try { te("Aucun cours annulé sur la période", "Aucun événement annulé sur la période") } catch (e) {}
+try { te("Aucun travail à faire n'a été saisi", "Aucune tâche à faire n'a été saisie") } catch (e) {}
+try { te("Aucune ressource pédagogique", "Aucune ressource familiale") } catch (e) {}
+try { te("Sélectionnez une promotion", "Sélectionnez un groupe") } catch (e) {}
+try { te("Sélectionnez un enseignant", "Sélectionnez un organisateur") } catch (e) {}
+try { te("Sélectionnez un étudiant", "Sélectionnez un membre") } catch (e) {}
+try { Array.from(document.getElementsByClassName("iecb")).forEach((e) => {console.log(e.children[2].innerText = e.children[2].innerText.replaceAll("matière", "catégorie"));}) } catch (e) {}
+try { document.getElementsByTagName('iframe')[0].contentDocument.querySelectorAll("#GInterface\\.Instances\\[1\\] > .BorderBox.Table > div > div > div > .EspaceGauche.EspaceHaut.Gras")[1].innerText = "Détail par catégorie"; } catch (e) {}
+try { Array.from(document.getElementsByTagName('iframe')[0].contentDocument.querySelectorAll(".ie-ellipsis")).forEach((e) => { e.innerText = e.innerText.replaceAll("matière", "catégorie").replaceAll("Matière", "Catégorie").replaceAll("C. Manqués", "É. Manqués"); }); } catch (e) {}
+try { document.getElementsByTagName("iframe")[0].contentDocument.querySelector(".smartbanner-container.smartbanner-show").style.display = "none"; } catch (e) {}
+try { document.getElementsByTagName("iframe")[0].contentDocument.querySelector(".floating-btn-position.v-bottom").style.display = "none"; } catch (e) {}
+try { document.getElementsByTagName("iframe")[0].contentDocument.querySelector(".widget.retourespace").outerHTML = ""; } catch (e) {}
+try { tmt("Calendrier scolaire", "Calendrier familial") } catch (e) {}
+try { tmt("Contenu des cours", "Contenu des événements") } catch (e) {}
+try { tmt("Cours annulés", "Événements annulés") } catch (e) {}
+try { tmt("Emploi du temps", "Programme") } catch (e) {}
+try { tmt("Travail à faire", "Tâches à faire") } catch (e) {}
+try { tmt("Evaluation des cours", "Évaluation des événements") } catch (e) {}
+try { tmt("Devoirs surveillés", "Travaux surveillés") } catch (e) {}
+try { tmt("Récapitulatif des cours", "Récapitulatif des événements") } catch (e) {}
+try { tme("Aucun cours annulé", "Aucun événement annulé") } catch (e) {}
+try { tme("Aucun travail à faire saisi", "Aucune tâche à faire saisie") } catch (e) {}
+try { tme("Aucun devoir pour la période sélectionnée", "Aucun travail noté pour la période sélectionnée") } catch (e) {}
+try { tme("Aucune note n'a été saisie pour cet étudiant sur la période sélectionnée", "Aucune note n'a été saisie pour ce membre sur la période sélectionnée") } catch (e) {}
+try { tme("Aucun devoir surveillé", "Aucun travail surveillé") } catch (e) {}
+try { tmh("Cours", "Événements") } catch (e) {}
+try { tmh("Résultats", "Notes") } catch (e) {}
+try { tmh("Vie scolaire", "Vie familiale") } catch (e) {}
+try { tmh("Enseignements", "Contenus") } catch (e) {}
+try { if (document.getElementsByTagName("iframe")[0].contentDocument.getElementById("GInterface.Instances[0].Instances[0]").children[1].classList.contains("conteneur-options")) { document.getElementsByTagName("iframe")[0].contentDocument.getElementById("GInterface.Instances[0].Instances[0]").children[1].style.display = "none"; }; } catch (e) {}
+try { if (document.getElementsByTagName("iframe")[0].contentDocument.getElementById("GInterface.Instances[0].Instances[0]").children[0].classList.contains("conteneur-options")) { document.getElementsByTagName("iframe")[0].contentDocument.getElementById("GInterface.Instances[0].Instances[0]").children[0].style.display = "none"; }; } catch (e) {}
+try { document.getElementsByTagName("iframe")[0].contentDocument.getElementsByClassName("footer-mobile")[0].outerHTML = ""; } catch (e) {}
+
+}, 10)
+
+</script>
+</body>
+</html>
diff --git a/app/session.php b/app/session.php index a893a7c..b001aa3 100644 --- a/app/session.php +++ b/app/session.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
global $_CONFIG;
$_CONFIG = json_decode(file_get_contents("/mnt/familine/private/FamilineConfig.json"), true);
@@ -52,7 +28,7 @@ if (isset($_COOKIE['FL_SESSION_TOKEN'])) { $_FULLNAME = $_PROFILE['name'];
if (!in_array($_USER, $_WELCOMED)) {
- header("Location: https://" . $_CONFIG["Global"]["domain"] . "/welcome/?r=" . urlencode("https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"));
+ header("Location: https://" . $_CONFIG["Global"]["cdn"] . "/welcome/?r=" . urlencode("https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"));
die();
}
} else {
diff --git a/app/session/login/embed/index.php b/app/session/login/embed/index.php new file mode 100644 index 0000000..a27ed39 --- /dev/null +++ b/app/session/login/embed/index.php @@ -0,0 +1,6 @@ +<?php + +$_CONFIG = json_decode(file_get_contents("/mnt/familine/private/FamilineConfig.json"), true); + +header("Location: https://" . $_CONFIG["Global"]["federation"] . "/auth/realms/Familine/protocol/openid-connect/auth?client_id=" . json_decode(file_get_contents("/mnt/familine/private/app.json"), true)["id"] . "&response_type=code&redirect_uri=https://session." . $_CONFIG["Global"]["domain"] . "/oauth/embed&scope=profile&request_credentials=default&access_type=offline"); +die(); diff --git a/app/session/login/index.php b/app/session/login/index.php new file mode 100644 index 0000000..05c3dc3 --- /dev/null +++ b/app/session/login/index.php @@ -0,0 +1,6 @@ +<?php + +$_CONFIG = json_decode(file_get_contents("/mnt/familine/private/FamilineConfig.json"), true); + +header("Location: https://" . $_CONFIG["Global"]["federation"] . "/auth/realms/Familine/protocol/openid-connect/auth?client_id=" . json_decode(file_get_contents("/mnt/familine/private/app.json"), true)["id"] . "&response_type=code&redirect_uri=https://session." . $_CONFIG["Global"]["domain"] . "/oauth/?r=" . urlencode($_GET['r']) . "&scope=profile&request_credentials=default&access_type=offline"); +die(); diff --git a/app/session/oauth/embed/index.php b/app/session/oauth/embed/index.php new file mode 100644 index 0000000..ff47ef0 --- /dev/null +++ b/app/session/oauth/embed/index.php @@ -0,0 +1,52 @@ +<?php
+
+header("Content-Type: text/plain");
+// TODO: handle errors
+$_CONFIG = json_decode(file_get_contents("/mnt/familine/private/FamilineConfig.json"), true);
+
+if (!isset($_GET['code'])) {
+ die();
+}
+
+$appdata = json_decode(file_get_contents("/mnt/familine/private/app.json"), true);
+
+$crl = curl_init('https://' . $_CONFIG["Global"]["federation"]. '/auth/realms/Familine/protocol/openid-connect/token');
+curl_setopt($crl, CURLOPT_RETURNTRANSFER, true);
+curl_setopt($crl, CURLINFO_HEADER_OUT, true);
+curl_setopt($crl, CURLOPT_POST, true);
+curl_setopt($crl, CURLOPT_HTTPHEADER, [
+ "Authorization: Basic " . base64_encode($appdata["id"] . ":" . $appdata["secret"]),
+ "Content-Type: application/x-www-form-urlencoded",
+ "Accept: application/json"
+]);
+curl_setopt($crl, CURLOPT_POSTFIELDS, "grant_type=authorization_code&redirect_uri=" . urlencode("https://session." . $_CONFIG["Global"]["domain"] . "/oauth/embed") . "&code=" . $_GET['code']);
+
+$result = curl_exec($crl);
+var_dump($result);
+$result = json_decode($result, true);
+
+curl_close($crl);
+
+if (isset($result["access_token"])) {
+ $crl = curl_init('https://' . $_CONFIG["Global"]["federation"]. '/auth/realms/Familine/protocol/openid-connect/userinfo');
+ curl_setopt($crl, CURLOPT_RETURNTRANSFER, true);
+ curl_setopt($crl, CURLINFO_HEADER_OUT, true);
+ curl_setopt($crl, CURLOPT_HTTPHEADER, [
+ "Authorization: Bearer " . $result["access_token"],
+ "Accept: application/json"
+ ]);
+
+ $result = curl_exec($crl);
+ var_dump($result);
+ $result = json_decode($result, true);
+
+ $token = bin2hex(random_bytes(32));
+ $result["login"] = $result["preferred_username"];
+ $result["name_internal"] = $result["name"];
+ $result["name"] = $result["family_name"] . " " . $result["given_name"];
+ $result["id"] = $result["sub"];
+ file_put_contents("/mnt/familine/private/tokens/" . $token, json_encode($result));
+ setcookie("FL_SESSION_TOKEN", $token, 0, "/", "." . $_CONFIG["Global"]["cdn"], true, true);
+
+ header("Location: /statusbar.php");
+}
\ No newline at end of file diff --git a/oauth/index.php b/app/session/oauth/index.php index b78759a..0a6ce71 100644 --- a/oauth/index.php +++ b/app/session/oauth/index.php @@ -1,38 +1,14 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
header("Content-Type: text/plain");
// TODO: handle errors
-$_CONFIG = json_decode(file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/private/FamilineConfig.json"), true);
+$_CONFIG = json_decode(file_get_contents("/mnt/familine/private/FamilineConfig.json"), true);
if (!isset($_GET['code'])) {
die();
}
-$appdata = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/private/app.json"), true);
+$appdata = json_decode(file_get_contents("/mnt/familine/private/app.json"), true);
$crl = curl_init('https://' . $_CONFIG["Global"]["federation"]. '/auth/realms/Familine/protocol/openid-connect/token');
curl_setopt($crl, CURLOPT_RETURNTRANSFER, true);
@@ -43,7 +19,7 @@ curl_setopt($crl, CURLOPT_HTTPHEADER, [ "Content-Type: application/x-www-form-urlencoded",
"Accept: application/json"
]);
-curl_setopt($crl, CURLOPT_POSTFIELDS, "grant_type=authorization_code&redirect_uri=" . urlencode("https://" . $_CONFIG["Global"]["domain"] . "/oauth/?r=" . $_GET['r']) . "&code=" . $_GET['code']);
+curl_setopt($crl, CURLOPT_POSTFIELDS, "grant_type=authorization_code&redirect_uri=" . urlencode("https://session." . $_CONFIG["Global"]["domain"] . "/oauth/?r=" . $_GET['r']) . "&code=" . $_GET['code']);
var_dump("grant_type=authorization_code&redirect_uri=" . urlencode("https://" . $_CONFIG["Global"]["domain"] . "/oauth/?r=" . $_GET['r']) . "&code=" . $_GET['code']);
$result = curl_exec($crl);
@@ -70,8 +46,8 @@ if (isset($result["access_token"])) { $result["name_internal"] = $result["name"];
$result["name"] = $result["family_name"] . " " . $result["given_name"];
$result["id"] = $result["sub"];
- file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/private/tokens/" . $token, json_encode($result));
- setcookie("FL_SESSION_TOKEN", $token, 0, "/", "." . $_CONFIG["Global"]["domain"], true, true);
+ file_put_contents("/mnt/familine/private/tokens/" . $token, json_encode($result));
+ setcookie("FL_SESSION_TOKEN", $token, 0, "/", "." . $_CONFIG["Global"]["cdn"], true, true);
header("Location: https://auth.familine.minteck.org/auth/realms/Familine/X-Familine-PersistentSession/?r=" . urlencode($_GET['r']));
}
\ No newline at end of file diff --git a/debug/index.php b/debug/index.php index 6bcacd7..eeb7ee3 100644 --- a/debug/index.php +++ b/debug/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
header("Content-Type: text/plain");
diff --git a/icns/familine-camera-wrapper.png b/icns/familine-camera-wrapper.png Binary files differdeleted file mode 100644 index 86e0c3f..0000000 --- a/icns/familine-camera-wrapper.png +++ /dev/null diff --git a/icns/familine-camera-wrapper.svg b/icns/familine-camera-wrapper.svg deleted file mode 100644 index 60b7454..0000000 --- a/icns/familine-camera-wrapper.svg +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
- - MIT License
- -
- - Copyright (c) 2022- Minteck
- -
- - Permission is hereby granted, free of charge, to any person obtaining a copy
- - of this software and associated documentation files (the "Software"), to deal
- - in the Software without restriction, including without limitation the rights
- - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- - copies of the Software, and to permit persons to whom the Software is
- - furnished to do so, subject to the following conditions:
- -
- - The above copyright notice and this permission notice shall be included in all
- - copies or substantial portions of the Software.
- -
- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- - SOFTWARE.
- -
- -->
-
-<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<style type="text/css">
- .st0{fill:#808080;}
- .st1{fill:none;}
- .st2{fill:#FFFFFF;}
-</style>
-<path class="st0" d="M18,10.5V6c0-1.1-0.9-2-2-2H4C2.9,4,2,4.9,2,6v12c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2v-4.5l4,4v-11L18,10.5z
- M16,9.7V18H4V6h12V9.7z"/>
-<circle class="st0" cx="10" cy="10" r="2"/>
-<path class="st0" d="M14,15.4c0-0.8-0.5-1.5-1.2-1.9C11.9,13.2,11,13,10,13s-1.9,0.2-2.8,0.6c-0.7,0.3-1.2,1-1.2,1.9V16h8V15.4z"/>
-<g>
- <rect class="st1" width="24" height="24"/>
-</g>
-<circle class="st2" cx="17.1" cy="19.3" r="4.7"/>
-<g>
- <path class="st1" d="M13.2,15.5H21v7.8h-7.8V15.5z"/>
- <path d="M20.5,21.6l-2.9-2.9c0.3-0.7,0.1-1.6-0.5-2.2c-0.6-0.6-1.6-0.8-2.4-0.4l1.4,1.4l-1,1L13.7,17c-0.4,0.8-0.2,1.8,0.4,2.4
- c0.6,0.6,1.5,0.8,2.2,0.5l2.9,2.9c0.1,0.1,0.3,0.1,0.5,0l0.7-0.7C20.7,21.9,20.7,21.7,20.5,21.6z"/>
-</g>
-</svg>
diff --git a/icns/familine-camera.png b/icns/familine-camera.png Binary files differdeleted file mode 100644 index 85dd681..0000000 --- a/icns/familine-camera.png +++ /dev/null diff --git a/icns/familine-camera.svg b/icns/familine-camera.svg deleted file mode 100644 index 6ce7f3c..0000000 --- a/icns/familine-camera.svg +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
- - MIT License
- -
- - Copyright (c) 2022- Minteck
- -
- - Permission is hereby granted, free of charge, to any person obtaining a copy
- - of this software and associated documentation files (the "Software"), to deal
- - in the Software without restriction, including without limitation the rights
- - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- - copies of the Software, and to permit persons to whom the Software is
- - furnished to do so, subject to the following conditions:
- -
- - The above copyright notice and this permission notice shall be included in all
- - copies or substantial portions of the Software.
- -
- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- - SOFTWARE.
- -
- -->
-
-<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<style type="text/css">
- .st0{fill:#808080;}
- .st1{fill:none;}
-</style>
-<path class="st0" d="M18,10.5V6c0-1.1-0.9-2-2-2H4C2.9,4,2,4.9,2,6v12c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2v-4.5l4,4v-11L18,10.5z
- M16,9.7V18H4V6h12V9.7z"/>
-<circle class="st0" cx="10" cy="10" r="2"/>
-<path class="st0" d="M14,15.4c0-0.8-0.5-1.5-1.2-1.9C11.9,13.2,11,13,10,13s-1.9,0.2-2.8,0.6c-0.7,0.3-1.2,1-1.2,1.9V16h8V15.4z"/>
-<g>
- <rect class="st1" width="24" height="24"/>
-</g>
-</svg>
diff --git a/icns/familine-console.svg b/icns/familine-console.svg deleted file mode 100644 index 0e79575..0000000 --- a/icns/familine-console.svg +++ /dev/null @@ -1,46 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
- - MIT License
- -
- - Copyright (c) 2022- Minteck
- -
- - Permission is hereby granted, free of charge, to any person obtaining a copy
- - of this software and associated documentation files (the "Software"), to deal
- - in the Software without restriction, including without limitation the rights
- - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- - copies of the Software, and to permit persons to whom the Software is
- - furnished to do so, subject to the following conditions:
- -
- - The above copyright notice and this permission notice shall be included in all
- - copies or substantial portions of the Software.
- -
- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- - SOFTWARE.
- -
- -->
-
-<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<style type="text/css">
- .st0{fill:none;}
- .st1{fill:#808080;}
-</style>
-<path class="st0" d="M0,0h24v24H0V0z"/>
-<path class="st1" d="M19.4,13c0-0.3,0.1-0.6,0.1-1c0-0.3,0-0.7-0.1-1l2.1-1.6c0.2-0.1,0.2-0.4,0.1-0.6l-2-3.5
- C19.6,5.1,19.4,5,19.2,5c-0.1,0-0.1,0-0.2,0l-2.5,1c-0.5-0.4-1.1-0.7-1.7-1l-0.4-2.7C14.5,2.2,14.3,2,14,2h-4C9.8,2,9.5,2.2,9.5,2.4
- L9.1,5.1C8.5,5.3,8,5.7,7.4,6.1l-2.5-1C4.9,5,4.8,5,4.8,5C4.6,5,4.4,5.1,4.3,5.3l-2,3.5C2.2,8.9,2.3,9.2,2.5,9.4L4.6,11
- c0,0.3-0.1,0.6-0.1,1c0,0.3,0,0.7,0.1,1l-2.1,1.6c-0.2,0.1-0.2,0.4-0.1,0.6l2,3.5C4.4,18.9,4.6,19,4.8,19c0.1,0,0.1,0,0.2,0l2.5-1
- c0.5,0.4,1.1,0.7,1.7,1l0.4,2.6c0,0.2,0.2,0.4,0.5,0.4h4c0.3,0,0.5-0.2,0.5-0.4l0.4-2.6c0.6-0.3,1.2-0.6,1.7-1l2.5,1
- c0.1,0,0.1,0,0.2,0c0.2,0,0.3-0.1,0.4-0.3l2-3.5c0.1-0.2,0.1-0.5-0.1-0.6L19.4,13z M17.5,11.3c0,0.3,0,0.5,0,0.7c0,0.2,0,0.4,0,0.7
- l-0.1,1.1l0.9,0.7l1.1,0.8l-0.7,1.2l-1.3-0.5l-1-0.4l-0.9,0.7c-0.4,0.3-0.8,0.6-1.3,0.7l-1.1,0.4l-0.2,1.1L12.7,20h-1.4l-0.2-1.4
- L11,17.5l-1.1-0.4c-0.4-0.2-0.8-0.4-1.2-0.7l-0.9-0.7l-1.1,0.4l-1.3,0.5l-0.7-1.2l1.1-0.8l0.9-0.7l-0.1-1.1c0-0.3-0.1-0.5-0.1-0.7
- s0-0.4,0.1-0.7l0.1-1.1L5.8,9.4L4.7,8.6l0.7-1.2l1.3,0.5l1,0.4l0.9-0.7c0.4-0.3,0.8-0.6,1.3-0.7l1.1-0.4l0.2-1.1L11.3,4h1.4l0.2,1.3
- L13,6.5l1.1,0.4c0.4,0.2,0.8,0.4,1.2,0.7l0.9,0.7l1.1-0.4l1.3-0.5l0.7,1.2l-1.1,0.9l-0.9,0.7C17.3,10.1,17.5,11.3,17.5,11.3z M12,8
- c-2.2,0-4,1.8-4,4s1.8,4,4,4s4-1.8,4-4S14.2,8,12,8z M12,14c-1.1,0-2-0.9-2-2s0.9-2,2-2s2,0.9,2,2S13.1,14,12,14z"/>
-</svg>
diff --git a/icns/familine-docs.png b/icns/familine-docs.png Binary files differdeleted file mode 100644 index 11de45e..0000000 --- a/icns/familine-docs.png +++ /dev/null diff --git a/icns/familine-docs.svg b/icns/familine-docs.svg deleted file mode 100644 index 2d7039c..0000000 --- a/icns/familine-docs.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
- - MIT License
- -
- - Copyright (c) 2022- Minteck
- -
- - Permission is hereby granted, free of charge, to any person obtaining a copy
- - of this software and associated documentation files (the "Software"), to deal
- - in the Software without restriction, including without limitation the rights
- - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- - copies of the Software, and to permit persons to whom the Software is
- - furnished to do so, subject to the following conditions:
- -
- - The above copyright notice and this permission notice shall be included in all
- - copies or substantial portions of the Software.
- -
- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- - SOFTWARE.
- -
- -->
-
-<!-- Generator: Adobe Illustrator 26.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 7164 7188" style="enable-background:new 0 0 7164 7188;" xml:space="preserve">
-<style type="text/css">
- .st0{fill:none;}
- .st1{fill:#EF593B;}
-</style>
-<path class="st0" d="M0,0h7164v7188H0V0z"/>
-<path class="st1" d="M2388,4792h2388v599H2388V4792z M2388,3594h2388v599H2388V3594z M4179,599H1791c-328.3,0-597,269.5-597,599
- v4792c0,329.5,268.7,599,597,599h3582c328.4,0,597-269.5,597-599V2396L4179,599z M5373,5990H1791V1198h2089.5v1497.5H5373V5990z"/>
-</svg>
diff --git a/icns/familine-galaxy.png b/icns/familine-galaxy.png Binary files differdeleted file mode 100644 index bb80f0e..0000000 --- a/icns/familine-galaxy.png +++ /dev/null diff --git a/icns/familine-galaxy.svg b/icns/familine-galaxy.svg deleted file mode 100644 index 2006324..0000000 --- a/icns/familine-galaxy.svg +++ /dev/null @@ -1,91 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- - - MIT License - - - - Copyright (c) 2022- Minteck - - - - Permission is hereby granted, free of charge, to any person obtaining a copy - - of this software and associated documentation files (the "Software"), to deal - - in the Software without restriction, including without limitation the rights - - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - - copies of the Software, and to permit persons to whom the Software is - - furnished to do so, subject to the following conditions: - - - - The above copyright notice and this permission notice shall be included in all - - copies or substantial portions of the Software. - - - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - - SOFTWARE. - - - --> - -<svg - height="24px" - viewBox="0 0 24 24" - width="24px" - fill="#000000" - version="1.1" - id="svg6" - sodipodi:docname="auto_awesome_black_24dp.svg" - inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20, custom)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <defs - id="defs10"> - <linearGradient - inkscape:collect="always" - id="linearGradient867"> - <stop - style="stop-color:#d35f5f;stop-opacity:1" - offset="0" - id="stop863" /> - <stop - style="stop-color:#a02c5a;stop-opacity:1" - offset="1" - id="stop865" /> - </linearGradient> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient867" - id="linearGradient869" - x1="2.8067615" - y1="21.358454" - x2="20.25" - y2="3.75" - gradientUnits="userSpaceOnUse" /> - </defs> - <sodipodi:namedview - id="namedview8" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - showgrid="false" - inkscape:zoom="26" - inkscape:cx="5.0192308" - inkscape:cy="12" - inkscape:window-width="1600" - inkscape:window-height="839" - inkscape:window-x="0" - inkscape:window-y="32" - inkscape:window-maximized="1" - inkscape:current-layer="svg6" /> - <path - d="M0 0h24v24H0z" - fill="none" - id="path2" /> - <path - d="M19 9l1.25-2.75L23 5l-2.75-1.25L19 1l-1.25 2.75L15 5l2.75 1.25L19 9zm-7.5.5L9 4 6.5 9.5 1 12l5.5 2.5L9 20l2.5-5.5L17 12l-5.5-2.5zM19 15l-1.25 2.75L15 19l2.75 1.25L19 23l1.25-2.75L23 19l-2.75-1.25L19 15z" - id="path4" - style="fill:url(#linearGradient869);fill-opacity:1" /> -</svg> diff --git a/icns/familine-help.png b/icns/familine-help.png Binary files differdeleted file mode 100644 index a376e97..0000000 --- a/icns/familine-help.png +++ /dev/null diff --git a/icns/familine-help.svg b/icns/familine-help.svg deleted file mode 100644 index b2095be..0000000 --- a/icns/familine-help.svg +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
- - MIT License
- -
- - Copyright (c) 2022- Minteck
- -
- - Permission is hereby granted, free of charge, to any person obtaining a copy
- - of this software and associated documentation files (the "Software"), to deal
- - in the Software without restriction, including without limitation the rights
- - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- - copies of the Software, and to permit persons to whom the Software is
- - furnished to do so, subject to the following conditions:
- -
- - The above copyright notice and this permission notice shall be included in all
- - copies or substantial portions of the Software.
- -
- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- - SOFTWARE.
- -
- -->
-
-<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 7164 7188" style="enable-background:new 0 0 7164 7188;" xml:space="preserve">
-<style type="text/css">
- .st0{fill:none;}
- .st1{fill:#EF713B;}
-</style>
-<path class="st0" d="M0,0h7164v7188H0V0z"/>
-<path class="st1" d="M5373,599H1791c-328.35,0-597,269.55-597,599v4792c0,329.45,268.65,599,597,599h3582
- c328.35,0,597-269.55,597-599V1198C5970,868.55,5701.35,599,5373,599z M2686.5,1198h597v1497.5L2985,2455.9l-298.5,239.6V1198z
- M5373,5990H1791V1198h298.5v2695.5l895.5-688.85l895.5,688.85V1198H5373V5990z"/>
-</svg>
diff --git a/icns/familine-money.png b/icns/familine-money.png Binary files differdeleted file mode 100644 index d89846e..0000000 --- a/icns/familine-money.png +++ /dev/null diff --git a/icns/familine-money.svg b/icns/familine-money.svg deleted file mode 100644 index cd6dc06..0000000 --- a/icns/familine-money.svg +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
- - MIT License
- -
- - Copyright (c) 2022- Minteck
- -
- - Permission is hereby granted, free of charge, to any person obtaining a copy
- - of this software and associated documentation files (the "Software"), to deal
- - in the Software without restriction, including without limitation the rights
- - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- - copies of the Software, and to permit persons to whom the Software is
- - furnished to do so, subject to the following conditions:
- -
- - The above copyright notice and this permission notice shall be included in all
- - copies or substantial portions of the Software.
- -
- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- - SOFTWARE.
- -
- -->
-
-<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 7164 7188" style="enable-background:new 0 0 7164 7188;" xml:space="preserve">
-<style type="text/css">
- .st0{fill:none;}
- .st1{fill:#EFE63B;}
-</style>
-<path class="st0" d="M0,0h7164v7188H0V0z"/>
-<path class="st1" d="M6268.5,2186.35V1497.5c0-329.45-268.65-599-597-599h-4179c-328.35,0-597,269.55-597,599v4193
- c0,329.45,268.65,599,597,599h4179c328.35,0,597-269.55,597-599v-688.85c179.1-119.8,298.5-299.5,298.5-509.15v-1797
- C6567,2485.85,6447.6,2276.2,6268.5,2186.35z M5970,2695.5v1797H3880.5v-1797H5970z M1492.5,5690.5v-4193h4179v599h-1791
- c-328.35,0-597,269.55-597,599v1797c0,329.45,268.65,599,597,599h1791v599H1492.5z"/>
-<ellipse class="st1" cx="4776" cy="3594" rx="447.75" ry="449.25"/>
-</svg>
diff --git a/icns/familine-movies.png b/icns/familine-movies.png Binary files differdeleted file mode 100644 index c7d40a3..0000000 --- a/icns/familine-movies.png +++ /dev/null diff --git a/icns/familine-photos.png b/icns/familine-photos.png Binary files differdeleted file mode 100644 index 83cad7d..0000000 --- a/icns/familine-photos.png +++ /dev/null diff --git a/icns/familine-planning.png b/icns/familine-planning.png Binary files differdeleted file mode 100644 index 66da798..0000000 --- a/icns/familine-planning.png +++ /dev/null diff --git a/icns/familine-planning.svg b/icns/familine-planning.svg deleted file mode 100644 index a68eb4c..0000000 --- a/icns/familine-planning.svg +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- - - MIT License - - - - Copyright (c) 2022- Minteck - - - - Permission is hereby granted, free of charge, to any person obtaining a copy - - of this software and associated documentation files (the "Software"), to deal - - in the Software without restriction, including without limitation the rights - - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - - copies of the Software, and to permit persons to whom the Software is - - furnished to do so, subject to the following conditions: - - - - The above copyright notice and this permission notice shall be included in all - - copies or substantial portions of the Software. - - - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - - SOFTWARE. - - - --> - -<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> - -<svg - version="1.1" - id="Layer_1" - x="0px" - y="0px" - viewBox="0 0 7164 7188" - style="enable-background:new 0 0 7164 7188;" - xml:space="preserve" - sodipodi:docname="familine-planning.svg" - inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"><defs - id="defs11" /><sodipodi:namedview - id="namedview9" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - showgrid="false" - inkscape:zoom="0.092097941" - inkscape:cx="3577.713" - inkscape:cy="3599.429" - inkscape:window-width="1600" - inkscape:window-height="847" - inkscape:window-x="-8" - inkscape:window-y="-8" - inkscape:window-maximized="1" - inkscape:current-layer="Layer_1" /> -<style - type="text/css" - id="style2"> - .st0{fill:none;} - .st1{fill:#3BE0EF;} -</style> -<path - class="st0" - d="M0,0h7164v7188H0V0z" - id="path4" /> -<path - class="st1" - d="M5671.5,898.5H5373v-599h-597v599H2388v-599h-597v599h-298.5c-328.35,0-597,269.55-597,599v4193 c0,329.45,268.65,599,597,599h4179c328.35,0,597-269.55,597-599v-4193C6268.5,1168.05,5999.85,898.5,5671.5,898.5z M5671.5,5690.5 h-4179v-2995h4179V5690.5z M1492.5,2096.5v-599h4179v599H1492.5z M2089.5,3294.5h2985v599h-2985V3294.5z M2089.5,4492.5H4179v599 H2089.5V4492.5z" - id="path6" - style="fill:#3bef6f;fill-opacity:1" /> -</svg> diff --git a/icns/familine-recall.png b/icns/familine-recall.png Binary files differdeleted file mode 100644 index 9e55364..0000000 --- a/icns/familine-recall.png +++ /dev/null diff --git a/icns/familine-recall.svg b/icns/familine-recall.svg deleted file mode 100644 index 987dd60..0000000 --- a/icns/familine-recall.svg +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
- - MIT License
- -
- - Copyright (c) 2022- Minteck
- -
- - Permission is hereby granted, free of charge, to any person obtaining a copy
- - of this software and associated documentation files (the "Software"), to deal
- - in the Software without restriction, including without limitation the rights
- - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- - copies of the Software, and to permit persons to whom the Software is
- - furnished to do so, subject to the following conditions:
- -
- - The above copyright notice and this permission notice shall be included in all
- - copies or substantial portions of the Software.
- -
- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- - SOFTWARE.
- -
- -->
-
-<!-- Generator: Adobe Illustrator 26.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<style type="text/css">
- .st0{fill:none;}
- .st1{fill:#35B7FF;}
-</style>
-<path class="st0" d="M0,0h24v24H0V0z"/>
-<path class="st1" d="M22,11V3h-7v3H9V3H2v8h7V8h2v10h4v3h7v-8h-7v3h-2V8h2v3H22z"/>
-</svg>
diff --git a/icns/familine-review.png b/icns/familine-review.png Binary files differdeleted file mode 100644 index f8d74b8..0000000 --- a/icns/familine-review.png +++ /dev/null diff --git a/icns/familine-review.svg b/icns/familine-review.svg deleted file mode 100644 index 239cc37..0000000 --- a/icns/familine-review.svg +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
- - MIT License
- -
- - Copyright (c) 2022- Minteck
- -
- - Permission is hereby granted, free of charge, to any person obtaining a copy
- - of this software and associated documentation files (the "Software"), to deal
- - in the Software without restriction, including without limitation the rights
- - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- - copies of the Software, and to permit persons to whom the Software is
- - furnished to do so, subject to the following conditions:
- -
- - The above copyright notice and this permission notice shall be included in all
- - copies or substantial portions of the Software.
- -
- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- - SOFTWARE.
- -
- -->
-
-<!-- Generator: Adobe Illustrator 26.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
-<style type="text/css">
- .st0{fill:none;}
- .st1{fill:#FF211B;}
-</style>
-<path class="st0" d="M0,0h24v24H0V0z"/>
-<path class="st1" d="M19.4,10c-0.7-3.4-3.7-6-7.4-6C9.1,4,6.6,5.6,5.4,8C2.3,8.4,0,10.9,0,14c0,3.3,2.7,6,6,6h13c2.8,0,5-2.2,5-5
- C24,12.4,22,10.2,19.4,10z M19,18H6c-2.2,0-4-1.8-4-4s1.8-4,4-4s4,1.8,4,4h2c0-2.8-1.9-5.1-4.4-5.8C8.6,6.9,10.2,6,12,6
- c3,0,5.5,2.5,5.5,5.5V12H19c1.6,0,3,1.4,3,3S20.6,18,19,18z"/>
-</svg>
diff --git a/icns/familine-share.png b/icns/familine-share.png Binary files differdeleted file mode 100644 index ddc3920..0000000 --- a/icns/familine-share.png +++ /dev/null diff --git a/icns/familine-share.svg b/icns/familine-share.svg deleted file mode 100644 index b741d08..0000000 --- a/icns/familine-share.svg +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
- - MIT License
- -
- - Copyright (c) 2022- Minteck
- -
- - Permission is hereby granted, free of charge, to any person obtaining a copy
- - of this software and associated documentation files (the "Software"), to deal
- - in the Software without restriction, including without limitation the rights
- - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- - copies of the Software, and to permit persons to whom the Software is
- - furnished to do so, subject to the following conditions:
- -
- - The above copyright notice and this permission notice shall be included in all
- - copies or substantial portions of the Software.
- -
- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- - SOFTWARE.
- -
- -->
-
-<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 7164 7188" style="enable-background:new 0 0 7164 7188;" xml:space="preserve">
-<style type="text/css">
- .st0{fill:none;}
- .st1{fill:#953BEF;}
-</style>
-<path class="st0" d="M0,0h7164v7188H0V0z"/>
-<path class="st1" d="M6268.5,898.5h-5373c-328.35,0-597,269.55-597,599v4193c0,329.45,268.65,599,597,599h5373
- c328.35,0,597-269.55,597-599v-4193C6865.5,1168.05,6596.85,898.5,6268.5,898.5z M6268.5,5690.5h-5373v-4193h5373V5690.5z
- M2985,3594h-597l1194-1198l1194,1198h-597v1198H2985V3594z"/>
-</svg>
diff --git a/icns/familine-you.png b/icns/familine-you.png Binary files differdeleted file mode 100644 index 8b17628..0000000 --- a/icns/familine-you.png +++ /dev/null diff --git a/icns/familine-you.svg b/icns/familine-you.svg deleted file mode 100644 index 3c42d83..0000000 --- a/icns/familine-you.svg +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!--
- - MIT License
- -
- - Copyright (c) 2022- Minteck
- -
- - Permission is hereby granted, free of charge, to any person obtaining a copy
- - of this software and associated documentation files (the "Software"), to deal
- - in the Software without restriction, including without limitation the rights
- - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- - copies of the Software, and to permit persons to whom the Software is
- - furnished to do so, subject to the following conditions:
- -
- - The above copyright notice and this permission notice shall be included in all
- - copies or substantial portions of the Software.
- -
- - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- - SOFTWARE.
- -
- -->
-
-<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 7164 7188" style="enable-background:new 0 0 7164 7188;" xml:space="preserve">
-<style type="text/css">
- .st0{fill:none;}
- .st1{fill:#EF3BD4;}
-</style>
-<path class="st0" d="M0,0h7164v7188H0V0z"/>
-<path class="st1" d="M5671.5,599h-4179c-328.35,0-597,269.55-597,599v4193c0,329.45,268.65,599,597,599h1194l895.5,898.5
- l895.5-898.5h1194c328.35,0,597-269.55,597-599V1198C6268.5,868.55,5999.85,599,5671.5,599z M5671.5,5391H4238.7l-179.1,179.7
- L3582,6049.9l-477.6-479.2L2925.3,5391H1492.5V1198h4179V5391z M3582,3294.5c477.6,0,895.5-419.3,895.5-898.5
- s-417.9-898.5-895.5-898.5s-895.5,389.35-895.5,898.5S3104.4,3294.5,3582,3294.5z M3582,2096.5c179.1,0,298.5,119.8,298.5,299.5
- c0,179.7-119.4,299.5-298.5,299.5s-298.5-119.8-298.5-299.5S3402.9,2096.5,3582,2096.5z M5373,4672.2
- c0-748.75-1194-1078.2-1791-1078.2s-1791,329.45-1791,1078.2v419.3h3582V4672.2z M2537.25,4492.5
- C2746.2,4342.75,3193.95,4193,3582,4193s835.8,149.75,1044.75,299.5H2537.25z"/>
-</svg>
diff --git a/icns/familine.png b/icns/familine.png Binary files differdeleted file mode 100644 index 86960a5..0000000 --- a/icns/familine.png +++ /dev/null @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
require_once $_SERVER['DOCUMENT_ROOT'] . "/private/session.php";
@@ -41,8 +17,7 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/private/session.php"; <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Familine</title>
- <link rel="icon" href="/favicon.svg">
- <link rel="stylesheet" href="/styles.css">
+ <link rel="icon" href="https://<?= $_CONFIG["Global"]["cdn"] ?>/favicon.svg">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
@@ -50,17 +25,7 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/private/session.php"; <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<?= strpos($_SERVER['HTTP_USER_AGENT'], "+Familine/") !== false ? '<link rel="stylesheet" href="/native.css">' : "" ?>
<?= strpos($_SERVER['HTTP_USER_AGENT'], "+Familine/") !== false ? '<script>$ = require(\'jquery\');jQuery = require(\'jquery\');</script>' : '<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>' ?>
- <style>
- #statusbar {
- background: linear-gradient(180deg, whitesmoke 0%, rgba(255,255,255,0) 100%) !important;
- }
-
- @media (prefers-color-scheme: dark) {
- div#statusbar {
- background: linear-gradient(180deg, rgba(34,34,34,1) 0%, rgba(255,255,255,0) 100%) !important;
- }
- }
- </style>
+ <link rel="stylesheet" href="https://<?= $_CONFIG["Global"]["cdn"] ?>/styles.css">
</head>
<body>
<div class='progress' style="display:none;" id="progress_div">
@@ -78,6 +43,22 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/private/session.php"; <div>
<img src="/favicon.svg" width="128px" height="128px">
<h1 style="color:white !important;font-size: 48px;">Familine</h1>
+ <p style="color:white !important;">Familine soutient la population ukrainienne. <a href="/ukraine" style="color:white;">En savoir plus.</a><br>
+ <?php
+
+ $list = array_reverse(scandir($_SERVER["DOCUMENT_ROOT"] . "/private/news"));
+ foreach ($list as $paf) {
+ if (str_ends_with($paf, ".json")) {
+ $pa = json_decode(file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/private/news/" . $paf), true);
+ if ($pa["limited"] === null || in_array($_USER, $pa["limited"])) {
+ $article = $paf;
+ $data = $pa;
+ break;
+ }
+ }
+ }
+
+ ?><a href="/news/<?= substr($article, 0, -5) ?>" style="color:white;">En ce moment : <?= $data["title"] ?></a></p>
<div id="explore-list" class="container">
<a href="https://docs.<?= $_CONFIG["Global"]["domain"] ?>" class="explore-btn">
<img src="/icns/familine-docs.svg" width="48px" height="48px" style="height:32px;width:32px;margin: 0 5px;">
@@ -89,21 +70,16 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/private/session.php"; <span>Aide</span>
<span class="explore-description">Votre point d'accès à l'aide de Familine</span>
</a>
- <a href="https://cinema.<?= $_CONFIG["Global"]["domain"] ?>" class="explore-btn">
- <img src="/icns/familine-movies.svg" width="48px" height="48px" style="height:32px;width:32px;margin: 0 5px;">
- <span>Films</span>
- <span class="explore-description">Regardez tous les films produits par la famille</span>
- </a>
- <a href="https://photos.<?= $_CONFIG["Global"]["domain"] ?>" class="explore-btn">
- <img src="/icns/familine-photos.svg" width="48px" height="48px" style="height:32px;width:32px;margin: 0 5px;">
- <span>Photos</span>
- <span class="explore-description">Des photos de qualité par la famille</span>
- </a>
- <a href="https://planning.<?= $_CONFIG["Global"]["domain"] ?>" class="explore-btn">
- <img src="/icns/familine-planning.svg" width="48px" height="48px" style="height:32px;width:32px;margin: 0 5px;">
- <span>Planning</span>
- <span class="explore-description">Gérez vos présences et absences aux événements de Familine</span>
+ <a href="https://media.<?= $_CONFIG["Global"]["domain"] ?>" class="explore-btn">
+ <img src="/icns/familine-media.svg" width="48px" height="48px" style="height:32px;width:32px;margin: 0 5px;">
+ <span>Média</span>
+ <span class="explore-description">Musique, photos et vidéos de la famille au même endroit</span>
</a>
+<!-- <a href="https://planning.--><?//= $_CONFIG["Global"]["domain"] ?><!--" class="explore-btn">-->
+<!-- <img src="/icns/familine-planning.svg" width="48px" height="48px" style="height:32px;width:32px;margin: 0 5px;">-->
+<!-- <span>Planning</span>-->
+<!-- <span class="explore-description">Gérez vos présences et absences aux événements de Familine</span>-->
+<!-- </a>-->
<a href="https://genealogy.<?= $_CONFIG["Global"]["domain"] ?>" class="explore-btn">
<img src="/icns/familine-recall.svg" width="48px" height="48px" style="height:32px;width:32px;margin: 0 5px;">
<span>Généalogie</span>
@@ -121,7 +97,7 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/private/session.php"; </a>
</div>
<div style="color: white;text-align: center;margin-top: 10px;opacity: .5;font-size: 14px;">
- <?php if ($_ADMIN): ?><a style="color:white;display:inline-block;" href="https://console.familine.minteck.org">Familine Camera</a> · <?php endif; ?><a style="color:white;display:inline-block;" href="https://familine.minteck.org/known">Problèmes connus</a> · <a target="_blank" style="color:white;display:inline-block;" href="https://gitlab.minteck.org/explore/projects/topics/Familine">Code source</a> · version <?= file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/version.txt") ?>
+ <?php if ($_ADMIN): ?><a style="color:white;display:inline-block;" href="https://console.familine.minteck.org">Familine Camera</a> · <?php endif; ?><a style="color:white;display:inline-block;" href="https://app.familine.minteck.org/known">Problèmes connus</a> · <a target="_blank" style="color:white;display:inline-block;" href="https://gitlab.minteck.org/explore/projects/topics/Familine">Code source</a> · version <?= file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/version.txt") ?>
</div>
<br>
<br>
@@ -132,10 +108,10 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/private/session.php"; <?php
- $icons = scandir($_SERVER['DOCUMENT_ROOT'] . "/icns");
+ $icons = scandir($_SERVER['DOCUMENT_ROOT'] . "/icons");
foreach ($icons as $icon) {
if ($icon != "." && $icon != ".." && $icon != ".htaccess") {
- echo("<img src='/icns/{$icon}' style='opacity:0;pointer-events:none;width:0;'>");
+ echo("<img src='/icons/{$icon}' style='opacity:0;pointer-events:none;width:0;'>");
}
}
@@ -190,133 +166,16 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/private/session.php"; }
</script>
<br>
- </div>
-
- <?php
-
- exec('echo $(curl "http://127.0.0.1:444/index.php?title=Stats&action=render" 2>/dev/null)', $ret);
- $docs = json_decode(trim(explode("</p>", explode("<p>", implode("\n", $ret))[1])[0]), true);
-
- ?>
- <div class="container">
- <img src="/icns/familine-docs.svg" width="48px" height="48px" style="height:32px;width:32px;margin: 0 5px;"><?= $docs["articles"] ?> article<?= (int)$docs["articles"] > 1 ? "s" : "" ?>, <a href="https://docs.familine.minteck.org/index.php/<?php $p = explode(" ", $_FULLNAME); array_shift($p); echo(implode(" ", $p)) ?>_<?= ucwords(strtolower(explode(" ", $_FULLNAME)[0])) ?>">voir le votre</a>
-
- <br>
-
- <?php
-
- $times = json_decode(file_get_contents("/mnt/faminema/data/durations.json"), true);
-
- function id3time($file) {
- $fparts = explode("/", $file);
- $afile = $fparts[count($fparts) - 1];
-
- global $times;
- $date = (int)date('U');
-
- return $times[$afile]["duration"];
- }
-
- function cmp_by_date($a, $b) {
- return $a["date"] <=> $b["date"];
- }
-
- $list = scandir("/mnt/faminema/data/films/metadata");
- $films = [];
-
- foreach ($list as $item) {
- if ($item !== "." && $item !== "..") {
- $films[substr($item, 0, -5)] = json_decode(file_get_contents("/mnt/faminema/data/films/metadata/" . $item), true);
- $films[substr($item, 0, -5)]["id"] = substr($item, 0, -5);
- }
- }
-
- usort($films, function ($a, $b) {
- return $a['date'] <=> $b['date'];
- });
-
- $films = array_reverse($films);
-
- $seconds = 0;
- foreach ($times as $titem => $tdata) {
- if ($titem !== "@items") {
- $seconds = $seconds + $tdata["seconds"];
- }
- }
-
- $secstr = $seconds . " secondes";
- if ($seconds > 60) {
- $secstr = round($seconds / 60) . " minutes";
- if ($seconds > 3600) {
- $secstr = round($seconds / 3600) . " heures";
- }
- }
-
- ?>
-
- <img src="/icns/familine-movies.svg" width="48px" height="48px" style="height:32px;width:32px;margin: 0 5px;"><?= $secstr ?> de contenu, <a href="https://cinema.familine.minteck.org/app/home">regarder un film</a>
-
- <br>
-
- <?php
-
- exec('curl "http://192.168.1.51:441/api.php?action=query&list=allpages&apnamespace=6&aplimit=500&format=json"', $ret2);
- $photos = json_decode(implode("\n", $ret2), true);
-
- $count = -1;
- if (is_integer(count($photos["query"]["allpages"]))) {
- $count = count($photos["query"]["allpages"]);
- }
-
- ?>
- <img src="/icns/familine-photos.svg" width="48px" height="48px" style="height:32px;width:32px;margin: 0 5px;"><?= $count ?> photos, <a href="https://photos.familine.minteck.org/index.php?title=Spécial:Page_au_hasard">galerie aléatoire</a>
-
- <br>
-
- <img src="/icns/familine-recall.svg" width="48px" height="48px" style="height:32px;width:32px;margin: 0 5px;"><?= count(json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/app/genealogy/private/data/people.json"), true)) ?> personnes, <a href="https://genealogy.familine.minteck.org/me">voir ma fiche</a>
-
- <br>
-
- <img src="/icns/familine-share.svg" width="48px" height="48px" style="height:32px;width:32px;margin: 0 5px;"><?php
-
- function allfilessize() {
- global $_USER;
- $_CONF_USP = json_decode(file_get_contents("/mnt/famishare/private/profiles/" . $_USER . ".json"), true);
-
- $size = 0;
- foreach ($_CONF_USP['files'] as $file) {
- $size = $size + $file['size'];
- }
- return $size;
- }
-
- if (file_exists("/mnt/famishare/private/profiles/" . $_USER . ".json")) {
- $share = json_decode(file_get_contents("/mnt/famishare/private/profiles/" . $_USER . ".json"), true);
- if (count($share["files"]) > 0) {
- $used = allfilessize();
- $total = 200000000;
-
- $usedm = ($used/1000)/1000;
- $totalm = ($total/1000)/1000;
- $perc = ($used/$total)*100;
-
- $usedmp = round(($used/1000)/1000, 2);
- $totalmp = round(($total/1000)/1000, 2);
- $percp = round(($used/$total)*100, 2);
-
- echo($usedmp . " Mo/200 Mo");
- } else {
- echo("0 Mo/200 Mo");
- }
- } else {
- echo("0 Mo/200 Mo");
- }
-
- ?> utilisés, <a href="https://share.familine.minteck.org/share/">partager un fichier</a>
-
- <br><br>
-
- <h2>En ce moment...</h2>
+ <?php foreach (array_reverse(scandir($_SERVER["DOCUMENT_ROOT"] . "/private/news")) as $article): if (str_ends_with($article, ".json")): ?>
+ <?php $data = json_decode(file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/private/news/" . $article), true); $html = file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/private/news/" . substr($article, 0, -5) . ".html"); $summary = trim(explode("<!---->", $html)[0]); $full = trim($html); ?>
+ <?php if ($data["limited"] === null || in_array($_USER, $data["limited"])): ?>
+ <div class="jumbotron">
+ <h5><?= $data["date"] ?></h5>
+ <h3><?= $data["title"] ?></h3>
+ <p><?= $summary ?></p>
+ <a class="news-link" href="/news/<?= substr($article, 0, -5) ?>">En lire plus...</a>
+ </div>
+ <?php endif; endif; endforeach; ?>
</div>
@@ -325,5 +184,21 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/private/session.php"; <script src="/js/iframe.js"></script>
<script src="/js/navigation.js"></script>
<script src="/js/statusbar.js"></script>
+ <script>
+ function openNews(news) {
+ document.getElementById("news_internal-" + news + "-open").style.display = "none";
+ document.getElementById("news_internal-" + news + "-close").style.display = "";
+ document.getElementById("news_internal-" + news).open = true;
+ }
+
+ function closeNews(news) {
+ document.getElementById("news_internal-" + news + "-close").style.display = "none";
+ document.getElementById("news_internal-" + news + "-open").style.display = "";
+ document.getElementById("news_internal-" + news).open = false;
+ }
+ </script>
+ <style>
+ summary { display: none; }
+ </style>
</body>
</html>
diff --git a/intro.jpg b/intro.jpg Binary files differdeleted file mode 100644 index a9844dd..0000000 --- a/intro.jpg +++ /dev/null diff --git a/js/home.js b/js/home.js deleted file mode 100644 index a1dc61e..0000000 --- a/js/home.js +++ /dev/null @@ -1,37 +0,0 @@ -/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
-
-setInterval(() => {
- window.fetch("/app/radio/song.php").then((raw) => {
- raw.text().then((text) => {
- document.getElementById('radio-now').innerText = text;
- })
- })
- window.fetch("/app/radio/next.php").then((raw) => {
- raw.text().then((text) => {
- document.getElementById('radio-next').innerText = text;
- })
- })
-}, 2000)
\ No newline at end of file diff --git a/js/loading.js b/js/loading.js deleted file mode 100644 index 8ec124e..0000000 --- a/js/loading.js +++ /dev/null @@ -1,57 +0,0 @@ -/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
-
-document.onreadystatechange = function(e) {
- if (document.readyState == "interactive") {
- var all = document.getElementsByTagName("*");
- for (var i = 0, max = all.length; i < max; i++) {
- set_ele(all[i]);
- }
- }
-}
-
-function check_element(ele) {
- var all = document.getElementsByTagName("*");
- var totalele = all.length;
- var per_inc = 100 / all.length;
-
- if ($(ele).on()) {
- var prog_width = per_inc + Number(document.getElementById("progress_width").value);
- document.getElementById("progress_width").value = prog_width;
- $("#bar1").animate({
- width: prog_width + "%"
- }, 10, function() {
- if (document.getElementById("bar1").style.width === "100%") {
- $(".progress").fadeOut("slow");
- }
- });
- } else {
- set_ele(ele);
- }
-}
-
-function set_ele(set_element) {
- check_element(set_element);
-}
\ No newline at end of file diff --git a/known/index.php b/known/index.php index fdb5e99..4cfb1bc 100644 --- a/known/index.php +++ b/known/index.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
require_once $_SERVER['DOCUMENT_ROOT'] . "/private/session.php";
@@ -119,7 +95,7 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/private/session.php"; <script>
console.log("Injecting Familine header")
document.body.innerHTML = document.body.innerHTML + "<iframe style=\"position:fixed;left:0;right:0;top:0;border: none;width: 100%;height:32px;\" src=\"https://<?= /** @var array $_CONFIG */
- $_CONFIG["Global"]["domain"] ?>/statusbar.php\"></iframe>";
+ $_CONFIG["Global"]["cdn"] ?>/statusbar.php\"></iframe>";
document.getElementsByTagName("html")[0].style.marginTop = "32px";
document.getElementsByTagName("html")[0].style.height = "calc(100vh - 32px)";
</script>
@@ -1,29 +1,4 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- - - MIT License - - - - Copyright (c) 2022- Minteck - - - - Permission is hereby granted, free of charge, to any person obtaining a copy - - of this software and associated documentation files (the "Software"), to deal - - in the Software without restriction, including without limitation the rights - - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - - copies of the Software, and to permit persons to whom the Software is - - furnished to do so, subject to the following conditions: - - - - The above copyright notice and this permission notice shall be included in all - - copies or substantial portions of the Software. - - - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - - SOFTWARE. - - - --> - <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="margin: auto; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%; display: block; shape-rendering: auto;" width="200px" height="200px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"> <g transform="rotate(0 50 50)"> <rect x="48.5" y="24" rx="0" ry="0" width="3" height="12" fill="#000000"> diff --git a/login/embed/index.php b/login/embed/index.php new file mode 100644 index 0000000..ebe083e --- /dev/null +++ b/login/embed/index.php @@ -0,0 +1,6 @@ +<?php + +$_CONFIG = json_decode(file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/private/FamilineConfig.json"), true); + +header("Location: https://session." . $_CONFIG["Global"]["domain"] . "/login/embed/?r=" . $_GET['r']); +die(); diff --git a/login/index.php b/login/index.php index 57785ae..d89f061 100644 --- a/login/index.php +++ b/login/index.php @@ -1,30 +1,6 @@ <?php -/* - * MIT License - * - * Copyright (c) 2022- Minteck - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */ $_CONFIG = json_decode(file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/private/FamilineConfig.json"), true); -header("Location: https://" . $_CONFIG["Global"]["federation"] . "/auth/realms/Familine/protocol/openid-connect/auth?client_id=" . json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/private/app.json"), true)["id"] . "&response_type=code&redirect_uri=https://" . $_CONFIG["Global"]["domain"] . "/oauth/?r=" . urlencode($_GET['r']) . "&scope=profile&request_credentials=default&access_type=offline"); +header("Location: https://session." . $_CONFIG["Global"]["domain"] . "/login/?r=" . $_GET['r']); die(); diff --git a/me/index.php b/me/index.php deleted file mode 100644 index 356de68..0000000 --- a/me/index.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php -/* - * MIT License - * - * Copyright (c) 2022- Minteck - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */ - -require_once $_SERVER['DOCUMENT_ROOT'] . "/private/session.php"; - -if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/private/userpics/" . $_USER . ".png")) { - die(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/private/userpics/" . $_USER . ".png")); -} else { - die(file_get_contents("https://www.gravatar.com/avatar/0?f=y&s=64&d=mp")); -}
\ No newline at end of file @@ -1,28 +1,3 @@ -/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
-
#dragspace {
-webkit-app-region: drag;
position: fixed;
diff --git a/news_internal/index.php b/news_internal/index.php new file mode 100644 index 0000000..d5b2aa9 --- /dev/null +++ b/news_internal/index.php @@ -0,0 +1,90 @@ +<?php +/* + * MIT License + * + * Copyright (c) 2022- Minteck + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */ + + +require_once $_SERVER['DOCUMENT_ROOT'] . "/private/session.php"; + +/** @var string $_FULLNAME + * @var string $_USER + * @var string $_SUID + * @var array $_PROFILE + */ + +if (isset($_GET['a'])) { + if (!str_contains($_GET['a'], "/") && !str_contains($_GET['a'], ".")) { + if (file_exists($_SERVER["DOCUMENT_ROOT"] . "/private/news/" . $_GET['a'] . ".json")) { + $data = json_decode(file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/private/news/" . $_GET['a'] . ".json"), true); + $html = file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/private/news/" . $_GET['a'] . ".html"); + $summary = trim(explode("<!---->", $html)[0]); + $full = trim($html); + if (!($data["limited"] === null || in_array($_USER, $data["limited"]))) { + header("Location: /"); + die(); + } + } else { + header("Location: /"); + die(); + } + } else { + header("Location: /"); + die(); + } +} else { + header("Location: /"); + die(); +} + +?> + +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <title><?= $data["title"] ?> - Familine</title> + <link rel="icon" href="https://familine.minteck.org/icns/familine.svg"> + <link rel="stylesheet" href="https://familine.minteck.org/styles.css"> + <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"> + <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script> + <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script> +</head> +<body> +<div class="container" style="margin-top:30px;"> + <h1><?= $data["title"] ?></h1> + <h3><?= $data["date"] ?></h3> + <?= $full ?> +</div> +<script> + console.log("Injecting Familine header") + document.body.innerHTML = document.body.innerHTML + "<iframe style=\"position:fixed;left:0;right:0;top:0;border: none;width: 100%;height:32px;\" src=\"https://<?= /** @var array $_CONFIG */ + $_CONFIG["Global"]["cdn"] ?>/statusbar.php\"></iframe>"; + document.getElementsByTagName("html")[0].style.marginTop = "32px"; + document.getElementsByTagName("html")[0].style.height = "calc(100vh - 32px)"; +</script> +</body> +</html>
\ No newline at end of file diff --git a/private/FamilineConfig.demo.json b/private/FamilineConfig.demo.json index 829385e..333de34 100644 --- a/private/FamilineConfig.demo.json +++ b/private/FamilineConfig.demo.json @@ -1,6 +1,7 @@ {
"Global": {
"domain": "familine.minteck.org",
+ "cdn": "cdn.familine.minteck.org",
"federation": "auth.familine.minteck.org",
"support": "support@familine.minteck.org"
},
diff --git a/private/session-noconf.php b/private/session-noconf.php index aa43389..37ff9e7 100644 --- a/private/session-noconf.php +++ b/private/session-noconf.php @@ -1,63 +1,39 @@ -<?php -/* - * MIT License - * - * Copyright (c) 2022- Minteck - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */ - -global $_CONFIG; -$_CONFIG = json_decode(file_get_contents("/mnt/familine/private/FamilineConfig.json"), true); - -if ($_SERVER['REMOTE_ADDR'] !== "127.0.0.1" && $_SERVER['REMOTE_ADDR'] !== "::0") { - if (isset($_COOKIE['FL_SESSION_TOKEN'])) { - if (strpos($_COOKIE['FL_SESSION_TOKEN'], ".") !== false || strpos($_COOKIE['FL_SESSION_TOKEN'], "/") !== false) { - header("Location: https://" . $_CONFIG["Global"]["domain"] . "/login/?r=" . urlencode("https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]")); - die(); - } - - if (file_exists("/mnt/familine/private/tokens/" . str_replace(".", "", str_replace("/", "", $_COOKIE['FL_SESSION_TOKEN'])))) { - $_PROFILE = json_decode(file_get_contents("/mnt/familine/private/tokens/" . str_replace(".", "", str_replace("/", "", $_COOKIE['FL_SESSION_TOKEN']))), true); - - if (isset($_PROFILE['familine'])) { - header("Location: https://" . $_CONFIG["Global"]["domain"] . "/login/?r=" . urlencode("https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]")); - die(); - } - - $_USER = $_PROFILE['login']; - $_SUID = $_PROFILE['login']; - $_FULLNAME = $_PROFILE['name']; - } else { - header("Location: https://" . $_CONFIG["Global"]["domain"] . "/login/?r=" . urlencode("https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]")); - die(); - } - } else { - header("Location: https://" . $_CONFIG["Global"]["domain"] . "/login/?r=" . urlencode("https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]")); - die(); - } - -} - -if (isset($_PROFILE["projectRoles"]) && is_array($_PROFILE["projectRoles"]) && isset($_PROFILE["projectRoles"][0]) && is_array($_PROFILE["projectRoles"][0]) && isset($_PROFILE["projectRoles"][0]["role"]) && is_array($_PROFILE["projectRoles"][0]["role"]) && isset($_PROFILE["projectRoles"][0]["role"]["key"]) && is_string($_PROFILE["projectRoles"][0]["role"]["key"]) && $_PROFILE["projectRoles"][0]["role"]["key"] === "system-admin") { - $_ADMIN = true; -} else { - $_ADMIN = false; -} +<?php
+
+global $_CONFIG;
+$_CONFIG = json_decode(file_get_contents("/mnt/familine/private/FamilineConfig.json"), true);
+
+if ($_SERVER['REMOTE_ADDR'] !== "127.0.0.1" && $_SERVER['REMOTE_ADDR'] !== "::0") {
+ if (isset($_COOKIE['FL_SESSION_TOKEN'])) {
+ if (strpos($_COOKIE['FL_SESSION_TOKEN'], ".") !== false || strpos($_COOKIE['FL_SESSION_TOKEN'], "/") !== false) {
+ header("Location: https://" . $_CONFIG["Global"]["domain"] . "/login/?r=" . urlencode("https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"));
+ die();
+ }
+
+ if (file_exists("/mnt/familine/private/tokens/" . str_replace(".", "", str_replace("/", "", $_COOKIE['FL_SESSION_TOKEN'])))) {
+ $_PROFILE = json_decode(file_get_contents("/mnt/familine/private/tokens/" . str_replace(".", "", str_replace("/", "", $_COOKIE['FL_SESSION_TOKEN']))), true);
+
+ if (isset($_PROFILE['familine'])) {
+ header("Location: https://" . $_CONFIG["Global"]["domain"] . "/login/?r=" . urlencode("https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"));
+ die();
+ }
+
+ $_USER = $_PROFILE['login'];
+ $_SUID = $_PROFILE['login'];
+ $_FULLNAME = $_PROFILE['name'];
+ } else {
+ header("Location: https://" . $_CONFIG["Global"]["domain"] . "/login/?r=" . urlencode("https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"));
+ die();
+ }
+ } else {
+ header("Location: https://" . $_CONFIG["Global"]["domain"] . "/login/?r=" . urlencode("https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"));
+ die();
+ }
+
+}
+
+if (isset($_PROFILE["projectRoles"]) && is_array($_PROFILE["projectRoles"]) && isset($_PROFILE["projectRoles"][0]) && is_array($_PROFILE["projectRoles"][0]) && isset($_PROFILE["projectRoles"][0]["role"]) && is_array($_PROFILE["projectRoles"][0]["role"]) && isset($_PROFILE["projectRoles"][0]["role"]["key"]) && is_string($_PROFILE["projectRoles"][0]["role"]["key"]) && $_PROFILE["projectRoles"][0]["role"]["key"] === "system-admin") {
+ $_ADMIN = true;
+} else {
+ $_ADMIN = false;
+}
diff --git a/private/session.php b/private/session.php index 45350b9..9b93712 100644 --- a/private/session.php +++ b/private/session.php @@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
global $_CONFIG;
$_CONFIG = json_decode(file_get_contents("/mnt/familine/private/FamilineConfig.json"), true);
@@ -62,4 +38,6 @@ if (isset($_COOKIE['FL_SESSION_TOKEN'])) { } else {
header("Location: https://" . $_CONFIG["Global"]["domain"] . "/login/?r=" . urlencode("https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"));
die();
-}
\ No newline at end of file +}
+
+$_SERVER["HTTP_USER_AGENT"] = str_replace("+AutomateCloud/", "+FamilineDesktop+AutomateCloud/", $_SERVER["HTTP_USER_AGENT"]);
\ No newline at end of file diff --git a/private/welcomed.json b/private/welcomed.json new file mode 100644 index 0000000..fca1acf --- /dev/null +++ b/private/welcomed.json @@ -0,0 +1 @@ +["mia.murat","mia.murat","mia.murat","mia.murat","patrick.murat","melanie.murat","mia.murat"]
\ No newline at end of file @@ -1,28 +1,3 @@ -/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
-
#radio-bar {
background-color: whitesmoke;
border-radius: 5px;
diff --git a/radio.embed.css b/radio.embed.css index dd3e687..51495ae 100644 --- a/radio.embed.css +++ b/radio.embed.css @@ -1,28 +1,3 @@ -/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
-
#radio-bar, #radio-bar *:not(.badge) {
border-radius: 0 !important;
}
\ No newline at end of file diff --git a/sample.html b/sample.html index 127c359..0707e9d 100644 --- a/sample.html +++ b/sample.html @@ -1,28 +1,3 @@ -<!--
- ~ MIT License
- ~
- ~ Copyright (c) 2022- Minteck
- ~
- ~ Permission is hereby granted, free of charge, to any person obtaining a copy
- ~ of this software and associated documentation files (the "Software"), to deal
- ~ in the Software without restriction, including without limitation the rights
- ~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- ~ copies of the Software, and to permit persons to whom the Software is
- ~ furnished to do so, subject to the following conditions:
- ~
- ~ The above copyright notice and this permission notice shall be included in all
- ~ copies or substantial portions of the Software.
- ~
- ~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- ~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- ~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- ~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- ~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- ~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- ~ SOFTWARE.
- ~
- -->
-
<!DOCTYPE html>
<html lang="en">
<head>
diff --git a/test/cookie/index.php b/test/cookie/index.php index 8676355..7a11bf1 100644 --- a/test/cookie/index.php +++ b/test/cookie/index.php @@ -1,28 +1,4 @@ <?php -/* - * MIT License - * - * Copyright (c) 2022- Minteck - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */ setcookie("_flmobile_test", "This is a test value", 0, "/", ".familine.minteck.org", true, true); diff --git a/test/index.html b/test/index.html index e6cb4ab..36c09f1 100644 --- a/test/index.html +++ b/test/index.html @@ -1,28 +1,3 @@ -<!-- - ~ MIT License - ~ - ~ Copyright (c) 2022- Minteck - ~ - ~ Permission is hereby granted, free of charge, to any person obtaining a copy - ~ of this software and associated documentation files (the "Software"), to deal - ~ in the Software without restriction, including without limitation the rights - ~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - ~ copies of the Software, and to permit persons to whom the Software is - ~ furnished to do so, subject to the following conditions: - ~ - ~ The above copyright notice and this permission notice shall be included in all - ~ copies or substantial portions of the Software. - ~ - ~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - ~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - ~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - ~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - ~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - ~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - ~ SOFTWARE. - ~ - --> - <!DOCTYPE html> <html lang="en"> <head> diff --git a/test/value/index.php b/test/value/index.php index 5c34189..3e9ef74 100644 --- a/test/value/index.php +++ b/test/value/index.php @@ -1,28 +1,4 @@ <?php -/* - * MIT License - * - * Copyright (c) 2022- Minteck - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */ if (isset($_COOKIE["_flmobile_test"])) { header("Location: /test/value/yes"); diff --git a/test/value/no/index.html b/test/value/no/index.html index e6cb4ab..36c09f1 100644 --- a/test/value/no/index.html +++ b/test/value/no/index.html @@ -1,28 +1,3 @@ -<!-- - ~ MIT License - ~ - ~ Copyright (c) 2022- Minteck - ~ - ~ Permission is hereby granted, free of charge, to any person obtaining a copy - ~ of this software and associated documentation files (the "Software"), to deal - ~ in the Software without restriction, including without limitation the rights - ~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - ~ copies of the Software, and to permit persons to whom the Software is - ~ furnished to do so, subject to the following conditions: - ~ - ~ The above copyright notice and this permission notice shall be included in all - ~ copies or substantial portions of the Software. - ~ - ~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - ~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - ~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - ~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - ~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - ~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - ~ SOFTWARE. - ~ - --> - <!DOCTYPE html> <html lang="en"> <head> diff --git a/test/value/yes/index.html b/test/value/yes/index.html index e6cb4ab..36c09f1 100644 --- a/test/value/yes/index.html +++ b/test/value/yes/index.html @@ -1,28 +1,3 @@ -<!-- - ~ MIT License - ~ - ~ Copyright (c) 2022- Minteck - ~ - ~ Permission is hereby granted, free of charge, to any person obtaining a copy - ~ of this software and associated documentation files (the "Software"), to deal - ~ in the Software without restriction, including without limitation the rights - ~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - ~ copies of the Software, and to permit persons to whom the Software is - ~ furnished to do so, subject to the following conditions: - ~ - ~ The above copyright notice and this permission notice shall be included in all - ~ copies or substantial portions of the Software. - ~ - ~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - ~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - ~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - ~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - ~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - ~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - ~ SOFTWARE. - ~ - --> - <!DOCTYPE html> <html lang="en"> <head> diff --git a/ukraine/index.php b/ukraine/index.php new file mode 100644 index 0000000..0fa2eda --- /dev/null +++ b/ukraine/index.php @@ -0,0 +1,47 @@ +<?php
+
+require_once $_SERVER['DOCUMENT_ROOT'] . "/private/session.php";
+
+/** @var string $_FULLNAME
+ * @var string $_USER
+ * @var string $_SUID
+ * @var array $_PROFILE
+ */
+
+?>
+
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>Familine soutient la population ukrainienne - Familine</title>
+ <link rel="icon" href="https://familine.minteck.org/icns/familine.svg">
+ <link rel="stylesheet" href="https://familine.minteck.org/styles.css">
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
+ <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
+</head>
+<body>
+ <div class="container" style="margin-top:30px;">
+ <h1>Familine soutient la population ukrainienne 🇺🇦</h1>
+ <blockquote style="font-style: italic;">
+ Cette page est partiellement une traduction d'un <a href="https://blog.minteck.org/minteck-stands-with-ukraine/" target="_blank">article de blog</a> écrit initialement en anglais.
+ </blockquote>
+ <p>L'Europe entre dans une nouvelle ère. Ces derniers jours, la Russie a envahi l'Ukraine. Cette guerre n'a pas de raison d'être, et de ce fait, Familine donne tout son soutien envers la population ukrainienne.</p>
+ <p>L'équipe de Familine vous encourage à faire un don aux associations qui soutiennent l'Ukraine dans la limite de vos moyens, ainsi que d'aider mentalement les personnes ukrainiennes que vous pourriez rencontrer, dans la limite de vos capacités.</p>
+ <p>Un message du directeur de Familine, Nathan Murat:</p>
+ <p style="font-style: italic;">"Personnellement, je suis né dans un monde sans une guerre aussi importante que celle que nous vivons aujourd'hui. Cela me rend heureux de voir la collaboration dont peuvent faire preuve les pays d'Europe et le monde entier pour soutenir l'Ukraine, collaboration qui n'aurait pas été possible auparavant, un cas unique dans l'Histoire. Je suis assez inquiet concernant la situation actuelle, notamment concernant ce qui pourrait se passer après. Je suis l'actualité le plus possible, malgré que ça me rende triste de voir des personnes blessées alors qu'elles n'ont rien fait. C'est injuste."</p>
+ <p>Familine s'engage à fournir l'infrastructure réseau nécessaire pour subvenir aux besoins du peuple Ukrainien (et Russe, dans la mesure où ils ne souhaitaient pas une guerre), et pour empêcher la propagation d'informations erronées ainsi que d'informations de propagande.</p>
+ </div>
+ <script>
+ console.log("Injecting Familine header")
+ document.body.innerHTML = document.body.innerHTML + "<iframe style=\"position:fixed;left:0;right:0;top:0;border: none;width: 100%;height:32px;\" src=\"https://<?= /** @var array $_CONFIG */
+ $_CONFIG["Global"]["cdn"] ?>/statusbar.php\"></iframe>";
+ document.getElementsByTagName("html")[0].style.marginTop = "32px";
+ document.getElementsByTagName("html")[0].style.height = "calc(100vh - 32px)";
+ </script>
+</body>
+</html>
\ No newline at end of file diff --git a/version.txt b/version.txt index 513fb1d..deef6e9 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -4.7.16 (accès anticipé) +4.9.2 (accès anticipé) diff --git a/welcome/01-account-dark.svg b/welcome/01-account-dark.svg index 9b4fdfc..4797195 100644 --- a/welcome/01-account-dark.svg +++ b/welcome/01-account-dark.svg @@ -1,29 +1,4 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- - - MIT License - - - - Copyright (c) 2022- Minteck - - - - Permission is hereby granted, free of charge, to any person obtaining a copy - - of this software and associated documentation files (the "Software"), to deal - - in the Software without restriction, including without limitation the rights - - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - - copies of the Software, and to permit persons to whom the Software is - - furnished to do so, subject to the following conditions: - - - - The above copyright notice and this permission notice shall be included in all - - copies or substantial portions of the Software. - - - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - - SOFTWARE. - - - --> - <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg diff --git a/welcome/01-account-light.svg b/welcome/01-account-light.svg index 5e4fbbc..be8166d 100644 --- a/welcome/01-account-light.svg +++ b/welcome/01-account-light.svg @@ -1,29 +1,4 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- - - MIT License - - - - Copyright (c) 2022- Minteck - - - - Permission is hereby granted, free of charge, to any person obtaining a copy - - of this software and associated documentation files (the "Software"), to deal - - in the Software without restriction, including without limitation the rights - - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - - copies of the Software, and to permit persons to whom the Software is - - furnished to do so, subject to the following conditions: - - - - The above copyright notice and this permission notice shall be included in all - - copies or substantial portions of the Software. - - - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - - SOFTWARE. - - - --> - <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg diff --git a/welcome/02-privacy-dark.svg b/welcome/02-privacy-dark.svg index 4ba6ba2..eb847e2 100644 --- a/welcome/02-privacy-dark.svg +++ b/welcome/02-privacy-dark.svg @@ -1,29 +1,4 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- - - MIT License - - - - Copyright (c) 2022- Minteck - - - - Permission is hereby granted, free of charge, to any person obtaining a copy - - of this software and associated documentation files (the "Software"), to deal - - in the Software without restriction, including without limitation the rights - - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - - copies of the Software, and to permit persons to whom the Software is - - furnished to do so, subject to the following conditions: - - - - The above copyright notice and this permission notice shall be included in all - - copies or substantial portions of the Software. - - - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - - SOFTWARE. - - - --> - <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg diff --git a/welcome/02-privacy-light.svg b/welcome/02-privacy-light.svg index 9aea80f..e598c53 100644 --- a/welcome/02-privacy-light.svg +++ b/welcome/02-privacy-light.svg @@ -1,29 +1,4 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- - - MIT License - - - - Copyright (c) 2022- Minteck - - - - Permission is hereby granted, free of charge, to any person obtaining a copy - - of this software and associated documentation files (the "Software"), to deal - - in the Software without restriction, including without limitation the rights - - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - - copies of the Software, and to permit persons to whom the Software is - - furnished to do so, subject to the following conditions: - - - - The above copyright notice and this permission notice shall be included in all - - copies or substantial portions of the Software. - - - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - - SOFTWARE. - - - --> - <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg diff --git a/welcome/03-devices-dark.svg b/welcome/03-devices-dark.svg index 972c57a..63e457c 100644 --- a/welcome/03-devices-dark.svg +++ b/welcome/03-devices-dark.svg @@ -1,29 +1,4 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- - - MIT License - - - - Copyright (c) 2022- Minteck - - - - Permission is hereby granted, free of charge, to any person obtaining a copy - - of this software and associated documentation files (the "Software"), to deal - - in the Software without restriction, including without limitation the rights - - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - - copies of the Software, and to permit persons to whom the Software is - - furnished to do so, subject to the following conditions: - - - - The above copyright notice and this permission notice shall be included in all - - copies or substantial portions of the Software. - - - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - - SOFTWARE. - - - --> - <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg diff --git a/welcome/03-devices-light.svg b/welcome/03-devices-light.svg index 8eef797..c301b74 100644 --- a/welcome/03-devices-light.svg +++ b/welcome/03-devices-light.svg @@ -1,29 +1,4 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- - - MIT License - - - - Copyright (c) 2022- Minteck - - - - Permission is hereby granted, free of charge, to any person obtaining a copy - - of this software and associated documentation files (the "Software"), to deal - - in the Software without restriction, including without limitation the rights - - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - - copies of the Software, and to permit persons to whom the Software is - - furnished to do so, subject to the following conditions: - - - - The above copyright notice and this permission notice shall be included in all - - copies or substantial portions of the Software. - - - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - - SOFTWARE. - - - --> - <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg diff --git a/welcome/confirm/index.php b/welcome/confirm/index.php index 6f0750a..e5916e6 100644 --- a/welcome/confirm/index.php +++ b/welcome/confirm/index.php @@ -1,47 +1,23 @@ -<?php -/* - * MIT License - * - * Copyright (c) 2022- Minteck - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */ - -require_once $_SERVER['DOCUMENT_ROOT'] . "/private/session-noconf.php"; - -/** @var string $_FULLNAME - * @var string $_USER - * @var array $_PROFILE - * @var boolean $_ADMIN - * @var array $_CONFIG - */ - -global $_WELCOMED; -if (!file_exists("/mnt/familine/private/welcomed.json")) { - file_put_contents("/mnt/familine/private/welcomed.json", "[]"); -} -$_WELCOMED = json_decode(file_get_contents("/mnt/familine/private/welcomed.json"), true); - -$_WELCOMED[] = $_USER; -file_put_contents("/mnt/familine/private/welcomed.json", json_encode($_WELCOMED)); - -if (!isset($_GET['r'])) { $_GET['r'] = "/"; } -header("Location: " . $_GET['r']); +<?php
+
+require_once $_SERVER['DOCUMENT_ROOT'] . "/private/session-noconf.php";
+
+/** @var string $_FULLNAME
+ * @var string $_USER
+ * @var array $_PROFILE
+ * @var boolean $_ADMIN
+ * @var array $_CONFIG
+ */
+
+global $_WELCOMED;
+if (!file_exists("/mnt/familine/private/welcomed.json")) {
+ file_put_contents("/mnt/familine/private/welcomed.json", "[]");
+}
+$_WELCOMED = json_decode(file_get_contents("/mnt/familine/private/welcomed.json"), true);
+
+$_WELCOMED[] = $_USER;
+file_put_contents("/mnt/familine/private/welcomed.json", json_encode($_WELCOMED));
+
+if (!isset($_GET['r'])) { $_GET['r'] = "/"; }
+header("Location: " . $_GET['r']);
die();
\ No newline at end of file diff --git a/welcome/index.php b/welcome/index.php index 01afad2..faf1df9 100644 --- a/welcome/index.php +++ b/welcome/index.php @@ -1,415 +1,391 @@ -<?php -/* - * MIT License - * - * Copyright (c) 2022- Minteck - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */ - -require_once $_SERVER['DOCUMENT_ROOT'] . "/private/session-noconf.php"; - -/** @var string $_FULLNAME - * @var string $_USER - * @var array $_PROFILE - * @var boolean $_ADMIN - * @var array $_CONFIG - */ - -?> - -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <title>Bienvenue sur Familine</title> - <link rel="icon" href="/favicon.svg"> - <link rel="stylesheet" href="/styles.css"> - <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> - <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"> - <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> - <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script> - <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script> - <?= strpos($_SERVER['HTTP_USER_AGENT'], "+Familine/") !== false ? '<link rel="stylesheet" href="/native.css">' : "" ?> - <?= strpos($_SERVER['HTTP_USER_AGENT'], "+Familine/") !== false ? '<script>$ = require(\'jquery\');jQuery = require(\'jquery\');</script>' : '<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>' ?> -</head> -<body> - <div class='progress' style="display:none;" id="progress_div"> - <div class='bar' id='bar1'></div> - <div class='percent' id='percent1'></div> - </div> - <input type="hidden" id="progress_width" value="0"> - <script src="/js/loading.js"></script> - <div id="loading"> - <img src="/loader.svg" style="filter:invert(1);width:96px;"> - </div> - - <div class="container" style="text-align: center;"> - <br><br> - <h1>Bienvenue <?php $p = explode(" ", $_FULLNAME); array_shift($p); echo(implode(" ", $p)) ?> !</h1> - <h3>Vous y êtes enfin ! Bienvenue sur Familine !</h3> - <hr> - <h5>Familine, c'est une multitude de services qui vous attend</h5> - <img class="welcome-intro-img" src="/icns/familine-docs.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Pages"> - <img class="welcome-intro-img" src="/icns/familine-help.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Aide"> - <img class="welcome-intro-img" src="/icns/familine-movies.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Films"> - <img class="welcome-intro-img" src="/icns/familine-photos.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Photos"> - <img class="welcome-intro-img" src="/icns/familine-planning.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Planning"> - <img class="welcome-intro-img" src="/icns/familine-recall.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Généalogie"> - <img class="welcome-intro-img" src="/icns/familine-share.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Partage"> - <img class="welcome-intro-img" src="/icns/familine-you.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Discussions"> - <p>Pages · Aide · Films · Photos · Planning · Généalogie · Partage · Discussions</p> - <br> - </div> - - <div class="welcome-box-0 welcome-box"> - <div class="container welcome-box-container"> - <div class="welcome-box-container--inner"> - <div> - <h2>Un compte... tout Familine</h2> - <p>Avec seulement votre compte Familine, vous avez accès à une multitude de services tous interconnectés les uns avec les autres.</p> - </div> - </div> - <div class="welcome-box-container--inner"> - <div> - <img id="01-account" alt="" src="01-account-dark.svg" style="width:100%;"> - </div> - </div> - </div> - </div> - - <div class="welcome-box-1 welcome-box"> - <div class="container welcome-box-container"> - <div class="welcome-box-container--inner"> - <div> - <img id="02-privacy" alt="" src="02-privacy-dark.svg" style="width:100%;"> - </div> - </div> - <div class="welcome-box-container--inner"> - <div> - <h2>Une sécurité sur tous les points</h2> - <p>Ce qui est dans la famille doit le rester. Aucune des données présentes sur Familine n'est accessible au public, l'utilisation d'un compte est obligatoire.</p> - <p>De plus, certaines données strictement personnelles sont accessibles par vous et seulement par vous.</p> - </div> - </div> - </div> - </div> - - <div class="welcome-box-2 welcome-box"> - <div class="container welcome-box-container"> - <div class="welcome-box-container--inner"> - <div> - <h2>N'importe où, n'importe quand</h2> - <p>Où que vous vous trouvez dans le monde, depuis n'importe quel appareil, et à n'importe quelle heure de la journée, Familine reste accessible pour vous et toute la famille.</p> - <p class="text-muted small">(Familine n'est pas accessible en Chine)</p> - </div> - </div> - <div class="welcome-box-container--inner"> - <div> - <img id="03-devices" alt="" src="03-devices-dark.svg" style="width:100%;"> - </div> - </div> - </div> - </div> - - <div style="text-align:center;"> - <br> - <h3>Ce n'est pas tout ...</h3> - <h5>Voici ce qui vous attend sur Familine</h5> - <br> - </div> - - <div class="welcome-box-3 welcome-box"> - <div class="container welcome-box-container"> - <div class="welcome-box-container--inner"> - <div> - <img id="04-app-docs" class="screenshot" alt="" src="04-app-docs-dark.jpg" style="width:100%;"> - </div> - </div> - <div class="welcome-box-container--inner"> - <div class="welcome-box-app"> - <h2>Pages</h2> - <p>En quelques clics, vous accédez à des centaines d'informations concernant les membres de notre famille, écrites par notre famille pour notre famille.</p> - </div> - </div> - </div> - </div> - - <div class="welcome-box-4 welcome-box"> - <div class="container welcome-box-container"> - <div class="welcome-box-container--inner"> - <div class="welcome-box-app"> - <h2>Aide</h2> - <p>Vous obtenez de l'aide facilement et rapidement et pouvez même contacter un technicien au besoin ; vous ne serez jamais laissé à l'abandon.</p> - </div> - </div> - <div class="welcome-box-container--inner"> - <div> - <img id="05-app-help" class="screenshot" alt="" src="05-app-help-dark.jpg" style="width:100%;"> - </div> - </div> - </div> - </div> - - <div class="welcome-box-5 welcome-box"> - <div class="container welcome-box-container"> - <div class="welcome-box-container--inner"> - <div> - <img id="06-app-movies" class="screenshot" alt="" src="06-app-movies-dark.jpg" style="width:100%;"> - </div> - </div> - <div class="welcome-box-container--inner"> - <div class="welcome-box-app"> - <h2>Films</h2> - <p>La famille produit des films depuis des années, et vous pouvez désormais les regarder en ligne, même sans le support original.</p> - </div> - </div> - </div> - </div> - - <div class="welcome-box-6 welcome-box"> - <div class="container welcome-box-container"> - <div class="welcome-box-container--inner"> - <div class="welcome-box-app"> - <h2>Photos</h2> - <p>La photo est un moyen d'expression vivant et actif. Familine vous propose de consulter une énorme galerie de photos de grande qualité.</p> - </div> - </div> - <div class="welcome-box-container--inner"> - <div> - <img id="07-app-photos" class="screenshot" alt="" src="07-app-photos-dark.jpg" style="width:100%;"> - </div> - </div> - </div> - </div> - - <div class="welcome-box-7 welcome-box"> - <div class="container welcome-box-container"> - <div class="welcome-box-container--inner"> - <div> - <img id="08-app-planning" class="screenshot" alt="" src="08-app-planning-dark.jpg" style="width:100%;"> - </div> - </div> - <div class="welcome-box-container--inner"> - <div class="welcome-box-app"> - <h2>Planning</h2> - <p>Organiser des événements et garder la trace des invités peut parfois être difficile. Familine rend ça plus facile, et vous permet aussi d'être à l'heure sur votre programme.</p> - </div> - </div> - </div> - </div> - - <div class="welcome-box-8 welcome-box"> - <div class="container welcome-box-container"> - <div class="welcome-box-container--inner"> - <div class="welcome-box-app"> - <h2>Généalogie</h2> - <p>Un énorme travail de généalogie a été effectué par la famille, et Familine le met maintenant à disposition de toute la famille. Consultez facilement et rapidement des informations sur vos ancêtres.</p> - </div> - </div> - <div class="welcome-box-container--inner"> - <div> - <img id="09-app-recall" class="screenshot" alt="" src="09-app-recall-dark.jpg" style="width:100%;"> - </div> - </div> - </div> - </div> - - <div class="welcome-box-9 welcome-box"> - <div class="container welcome-box-container"> - <div class="welcome-box-container--inner"> - <div> - <img id="10-app-share" class="screenshot" alt="" src="10-app-share-dark.jpg" style="width:100%;"> - </div> - </div> - <div class="welcome-box-container--inner"> - <div class="welcome-box-app"> - <h2>Partage</h2> - <p>Partager des fichiers s'avère complexe, n'est-ce pas ? Familine rend ça facile, rapide et sécurisé, que vous vouliez partager avec des membres de la famille ou avec d'autres personnes.</p> - </div> - </div> - </div> - </div> - - <div class="welcome-box-10 welcome-box"> - <div class="container welcome-box-container"> - <div class="welcome-box-container--inner"> - <div class="welcome-box-app"> - <h2>Discussions</h2> - <p>Discuter avec un membre de la famille dont nous n'avons aucun contact peut être compliqué. Familine vous propose de communiquer avec tous les utilisateurs dans un endroit centralisé.</p> - </div> - </div> - <div class="welcome-box-container--inner"> - <div> - <img id="11-app-yikes" class="screenshot" alt="" src="11-app-yikes-dark.jpg" style="width:100%;"> - </div> - </div> - </div> - </div> - - <div style="text-align:center;"> - <br> - <h3>Alors ?</h3> - <h5>Prêt à commencer l'aventure ?</h5> - <a href="/welcome/confirm/<?= isset($_GET['r']) ? "?r=" . urlencode($_GET['r']) : "?r=/" ?>" type="button" class="btn btn-success">Continuer vers l'accueil de Familine</a> - <p style="margin-top:5px;" class="small text-muted">En continuant, vous certifiez avoir lu et accepté les <a href="https://minteck.org/legal/#/terms" target="_blank">conditions générales d'utilisation</a> ainsi que la <a href="https://minteck.org/legal/#/privacy" target="_blank">politique de confidentialité</a>.</p> - <br> - </div> - - <script src="/js/iframe.js"></script> - <script src="/js/navigation.js"></script> - - <style> - .welcome-box-container { - display: grid; - grid-template-columns: 50% 50%; - } - - .welcome-box-container .welcome-box-container--inner { - display: flex; - align-items: center; - justify-content: center; - width: 100%; - } - - .welcome-box-container .welcome-box-container--inner > div { - width: 100%; - } - - .welcome-box { - padding-top: 20px; - padding-bottom: 20px; - } - - .welcome-box-app { - text-align: center; - padding: 10px; - } - - .screenshot { - border-radius: 5px; - box-shadow: 5px 8px 11px 2px rgba(0, 0, 0, 30%); - } - - .welcome-box-0 { - background-color: rgba(0, 0, 0, .25); - } - - .welcome-box-1 { - background-color: rgba(0, 0, 0, .17); - } - - .welcome-box-2 { - background-color: rgba(0, 0, 0, .09); - } - - .welcome-box-3 { - background-color: rgba(236, 88, 58, 25%); - } - - .welcome-box-4 { - background-color: rgba(234, 111, 58, 25%); - } - - .welcome-box-5 { - background-color: rgba(236, 206, 59, 25%); - } - - .welcome-box-6 { - background-color: rgba(59, 239, 59, 25%); - } - - .welcome-box-7 { - background-color: rgba(58, 233, 109, 25%); - } - - .welcome-box-8 { - background-color: rgba(53, 183, 255, 25%); - } - - .welcome-box-9 { - background-color: rgba(149, 59, 239, 25%); - } - - .welcome-box-10 { - background-color: rgba(237, 59, 211, 25%); - } - - @media (prefers-color-scheme: dark) { - .welcome-box-0 { - background-color: rgba(128, 128, 128, .25); - } - - .welcome-box-1 { - background-color: rgba(128, 128, 128, .17); - } - - .welcome-box-2 { - background-color: rgba(128, 128, 128, .09); - } - - .welcome-intro-img { - filter: contrast(0) brightness(200%) !important; - } - } - - @media (max-width: 700px) { - .welcome-box-container { - grid-template-columns: 1fr !important; - } - } - </style> - - <script> - function dark() { - return window.matchMedia("(prefers-color-scheme: dark)").matches; - } - - setInterval(() => { - if (dark()) { - document.getElementById("01-account").src = "01-account-dark.svg"; - document.getElementById("02-privacy").src = "02-privacy-dark.svg"; - document.getElementById("03-devices").src = "03-devices-dark.svg"; - document.getElementById("04-app-docs").src = "04-app-docs-dark.jpg"; - document.getElementById("05-app-help").src = "05-app-help-dark.jpg"; - document.getElementById("06-app-movies").src = "06-app-movies-dark.jpg"; - document.getElementById("07-app-photos").src = "07-app-photos-dark.jpg"; - document.getElementById("08-app-planning").src = "08-app-planning-dark.jpg"; - document.getElementById("09-app-recall").src = "09-app-recall-dark.jpg"; - document.getElementById("10-app-share").src = "10-app-share-dark.jpg"; - document.getElementById("11-app-yikes").src = "11-app-yikes-dark.jpg"; - } else { - document.getElementById("01-account").src = "01-account-light.svg"; - document.getElementById("02-privacy").src = "02-privacy-light.svg"; - document.getElementById("03-devices").src = "03-devices-light.svg"; - document.getElementById("04-app-docs").src = "04-app-docs-light.jpg"; - document.getElementById("05-app-help").src = "05-app-help-light.jpg"; - document.getElementById("06-app-movies").src = "06-app-movies-light.jpg"; - document.getElementById("07-app-photos").src = "07-app-photos-light.jpg"; - document.getElementById("08-app-planning").src = "08-app-planning-light.jpg"; - document.getElementById("09-app-recall").src = "09-app-recall-light.jpg"; - document.getElementById("10-app-share").src = "10-app-share-light.jpg"; - document.getElementById("11-app-yikes").src = "11-app-yikes-light.jpg"; - } - }, 100) - </script> -</body> -</html> +<?php
+
+require_once $_SERVER['DOCUMENT_ROOT'] . "/private/session-noconf.php";
+
+/** @var string $_FULLNAME
+ * @var string $_USER
+ * @var array $_PROFILE
+ * @var boolean $_ADMIN
+ * @var array $_CONFIG
+ */
+
+?>
+
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title>Bienvenue sur Familine</title>
+ <link rel="icon" href="/app/cdn/favicon.svg">
+ <link rel="stylesheet" href="/app/cdn/styles.css">
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
+ <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
+ <?= strpos($_SERVER['HTTP_USER_AGENT'], "+Familine/") !== false ? '<link rel="stylesheet" href="/native.css">' : "" ?>
+ <?= strpos($_SERVER['HTTP_USER_AGENT'], "+Familine/") !== false ? '<script>$ = require(\'jquery\');jQuery = require(\'jquery\');</script>' : '<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>' ?>
+</head>
+<body>
+ <div class='progress' style="display:none;" id="progress_div">
+ <div class='bar' id='bar1'></div>
+ <div class='percent' id='percent1'></div>
+ </div>
+ <input type="hidden" id="progress_width" value="0">
+ <script src="/js/loading.js"></script>
+ <div id="loading">
+ <img src="/loader.svg" style="filter:invert(1);width:96px;">
+ </div>
+
+ <div class="container" style="text-align: center;">
+ <br><br>
+ <h1>Bienvenue <?php $p = explode(" ", $_FULLNAME); array_shift($p); echo(implode(" ", $p)) ?> !</h1>
+ <h3>Vous y êtes enfin ! Bienvenue sur Familine !</h3>
+ <hr>
+ <h5>Familine, c'est une multitude de services qui vous attend</h5>
+ <img class="welcome-intro-img" src="/icns/familine-docs.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Pages">
+ <img class="welcome-intro-img" src="/icns/familine-help.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Aide">
+ <img class="welcome-intro-img" src="/icns/familine-movies.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Films">
+ <img class="welcome-intro-img" src="/icns/familine-photos.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Photos">
+ <img class="welcome-intro-img" src="/icns/familine-planning.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Planning">
+ <img class="welcome-intro-img" src="/icns/familine-recall.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Généalogie">
+ <img class="welcome-intro-img" src="/icns/familine-share.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Partage">
+ <img class="welcome-intro-img" src="/icns/familine-you.png" style="width:64px;filter:contrast(0) brightness(0%);" alt="Discussions">
+ <p>Pages · Aide · Films · Photos · Planning · Généalogie · Partage · Discussions</p>
+ <br>
+ </div>
+
+ <div class="welcome-box-0 welcome-box">
+ <div class="container welcome-box-container">
+ <div class="welcome-box-container--inner">
+ <div>
+ <h2>Un compte... tout Familine</h2>
+ <p>Avec seulement votre compte Familine, vous avez accès à une multitude de services tous interconnectés les uns avec les autres.</p>
+ </div>
+ </div>
+ <div class="welcome-box-container--inner">
+ <div>
+ <img id="01-account" alt="" src="01-account-dark.svg" style="width:100%;">
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="welcome-box-1 welcome-box">
+ <div class="container welcome-box-container">
+ <div class="welcome-box-container--inner">
+ <div>
+ <img id="02-privacy" alt="" src="02-privacy-dark.svg" style="width:100%;">
+ </div>
+ </div>
+ <div class="welcome-box-container--inner">
+ <div>
+ <h2>Une sécurité sur tous les points</h2>
+ <p>Ce qui est dans la famille doit le rester. Aucune des données présentes sur Familine n'est accessible au public, l'utilisation d'un compte est obligatoire.</p>
+ <p>De plus, certaines données strictement personnelles sont accessibles par vous et seulement par vous.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="welcome-box-2 welcome-box">
+ <div class="container welcome-box-container">
+ <div class="welcome-box-container--inner">
+ <div>
+ <h2>N'importe où, n'importe quand</h2>
+ <p>Où que vous vous trouvez dans le monde, depuis n'importe quel appareil, et à n'importe quelle heure de la journée, Familine reste accessible pour vous et toute la famille.</p>
+ <p class="text-muted small">(Familine n'est pas accessible en Chine)</p>
+ </div>
+ </div>
+ <div class="welcome-box-container--inner">
+ <div>
+ <img id="03-devices" alt="" src="03-devices-dark.svg" style="width:100%;">
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div style="text-align:center;">
+ <br>
+ <h3>Ce n'est pas tout ...</h3>
+ <h5>Voici ce qui vous attend sur Familine</h5>
+ <br>
+ </div>
+
+ <div class="welcome-box-3 welcome-box">
+ <div class="container welcome-box-container">
+ <div class="welcome-box-container--inner">
+ <div>
+ <img id="04-app-docs" class="screenshot" alt="" src="04-app-docs-dark.jpg" style="width:100%;">
+ </div>
+ </div>
+ <div class="welcome-box-container--inner">
+ <div class="welcome-box-app">
+ <h2>Pages</h2>
+ <p>En quelques clics, vous accédez à des centaines d'informations concernant les membres de notre famille, écrites par notre famille pour notre famille.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="welcome-box-4 welcome-box">
+ <div class="container welcome-box-container">
+ <div class="welcome-box-container--inner">
+ <div class="welcome-box-app">
+ <h2>Aide</h2>
+ <p>Vous obtenez de l'aide facilement et rapidement et pouvez même contacter un technicien au besoin ; vous ne serez jamais laissé à l'abandon.</p>
+ </div>
+ </div>
+ <div class="welcome-box-container--inner">
+ <div>
+ <img id="05-app-help" class="screenshot" alt="" src="05-app-help-dark.jpg" style="width:100%;">
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="welcome-box-5 welcome-box">
+ <div class="container welcome-box-container">
+ <div class="welcome-box-container--inner">
+ <div>
+ <img id="06-app-movies" class="screenshot" alt="" src="06-app-movies-dark.jpg" style="width:100%;">
+ </div>
+ </div>
+ <div class="welcome-box-container--inner">
+ <div class="welcome-box-app">
+ <h2>Films</h2>
+ <p>La famille produit des films depuis des années, et vous pouvez désormais les regarder en ligne, même sans le support original.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="welcome-box-6 welcome-box">
+ <div class="container welcome-box-container">
+ <div class="welcome-box-container--inner">
+ <div class="welcome-box-app">
+ <h2>Photos</h2>
+ <p>La photo est un moyen d'expression vivant et actif. Familine vous propose de consulter une énorme galerie de photos de grande qualité.</p>
+ </div>
+ </div>
+ <div class="welcome-box-container--inner">
+ <div>
+ <img id="07-app-photos" class="screenshot" alt="" src="07-app-photos-dark.jpg" style="width:100%;">
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="welcome-box-7 welcome-box">
+ <div class="container welcome-box-container">
+ <div class="welcome-box-container--inner">
+ <div>
+ <img id="08-app-planning" class="screenshot" alt="" src="08-app-planning-dark.jpg" style="width:100%;">
+ </div>
+ </div>
+ <div class="welcome-box-container--inner">
+ <div class="welcome-box-app">
+ <h2>Planning</h2>
+ <p>Organiser des événements et garder la trace des invités peut parfois être difficile. Familine rend ça plus facile, et vous permet aussi d'être à l'heure sur votre programme.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="welcome-box-8 welcome-box">
+ <div class="container welcome-box-container">
+ <div class="welcome-box-container--inner">
+ <div class="welcome-box-app">
+ <h2>Généalogie</h2>
+ <p>Un énorme travail de généalogie a été effectué par la famille, et Familine le met maintenant à disposition de toute la famille. Consultez facilement et rapidement des informations sur vos ancêtres.</p>
+ </div>
+ </div>
+ <div class="welcome-box-container--inner">
+ <div>
+ <img id="09-app-recall" class="screenshot" alt="" src="09-app-recall-dark.jpg" style="width:100%;">
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="welcome-box-9 welcome-box">
+ <div class="container welcome-box-container">
+ <div class="welcome-box-container--inner">
+ <div>
+ <img id="10-app-share" class="screenshot" alt="" src="10-app-share-dark.jpg" style="width:100%;">
+ </div>
+ </div>
+ <div class="welcome-box-container--inner">
+ <div class="welcome-box-app">
+ <h2>Partage</h2>
+ <p>Partager des fichiers s'avère complexe, n'est-ce pas ? Familine rend ça facile, rapide et sécurisé, que vous vouliez partager avec des membres de la famille ou avec d'autres personnes.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="welcome-box-10 welcome-box">
+ <div class="container welcome-box-container">
+ <div class="welcome-box-container--inner">
+ <div class="welcome-box-app">
+ <h2>Discussions</h2>
+ <p>Discuter avec un membre de la famille dont nous n'avons aucun contact peut être compliqué. Familine vous propose de communiquer avec tous les utilisateurs dans un endroit centralisé.</p>
+ </div>
+ </div>
+ <div class="welcome-box-container--inner">
+ <div>
+ <img id="11-app-yikes" class="screenshot" alt="" src="11-app-yikes-dark.jpg" style="width:100%;">
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div style="text-align:center;">
+ <br>
+ <h3>Alors ?</h3>
+ <h5>Prêt à commencer l'aventure ?</h5>
+ <a href="/welcome/confirm/<?= isset($_GET['r']) ? "?r=" . urlencode($_GET['r']) : "?r=/" ?>" type="button" class="btn btn-success">Continuer vers l'accueil de Familine</a>
+ <p style="margin-top:5px;" class="small text-muted">En continuant, vous certifiez avoir lu et accepté les <a href="https://minteck.org/legal/#/terms" target="_blank">conditions générales d'utilisation</a> ainsi que la <a href="https://minteck.org/legal/#/privacy" target="_blank">politique de confidentialité</a>.</p>
+ <br>
+ </div>
+
+ <script src="/js/iframe.js"></script>
+ <script src="/js/navigation.js"></script>
+
+ <style>
+ .welcome-box-container {
+ display: grid;
+ grid-template-columns: 50% 50%;
+ }
+
+ .welcome-box-container .welcome-box-container--inner {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 100%;
+ }
+
+ .welcome-box-container .welcome-box-container--inner > div {
+ width: 100%;
+ }
+
+ .welcome-box {
+ padding-top: 20px;
+ padding-bottom: 20px;
+ }
+
+ .welcome-box-app {
+ text-align: center;
+ padding: 10px;
+ }
+
+ .screenshot {
+ border-radius: 5px;
+ box-shadow: 5px 8px 11px 2px rgba(0, 0, 0, 30%);
+ }
+
+ .welcome-box-0 {
+ background-color: rgba(0, 0, 0, .25);
+ }
+
+ .welcome-box-1 {
+ background-color: rgba(0, 0, 0, .17);
+ }
+
+ .welcome-box-2 {
+ background-color: rgba(0, 0, 0, .09);
+ }
+
+ .welcome-box-3 {
+ background-color: rgba(236, 88, 58, 25%);
+ }
+
+ .welcome-box-4 {
+ background-color: rgba(234, 111, 58, 25%);
+ }
+
+ .welcome-box-5 {
+ background-color: rgba(236, 206, 59, 25%);
+ }
+
+ .welcome-box-6 {
+ background-color: rgba(59, 239, 59, 25%);
+ }
+
+ .welcome-box-7 {
+ background-color: rgba(58, 233, 109, 25%);
+ }
+
+ .welcome-box-8 {
+ background-color: rgba(53, 183, 255, 25%);
+ }
+
+ .welcome-box-9 {
+ background-color: rgba(149, 59, 239, 25%);
+ }
+
+ .welcome-box-10 {
+ background-color: rgba(237, 59, 211, 25%);
+ }
+
+ @media (prefers-color-scheme: dark) {
+ .welcome-box-0 {
+ background-color: rgba(128, 128, 128, .25);
+ }
+
+ .welcome-box-1 {
+ background-color: rgba(128, 128, 128, .17);
+ }
+
+ .welcome-box-2 {
+ background-color: rgba(128, 128, 128, .09);
+ }
+
+ .welcome-intro-img {
+ filter: contrast(0) brightness(200%) !important;
+ }
+ }
+
+ @media (max-width: 700px) {
+ .welcome-box-container {
+ grid-template-columns: 1fr !important;
+ }
+ }
+ </style>
+
+ <script>
+ function dark() {
+ return window.matchMedia("(prefers-color-scheme: dark)").matches;
+ }
+
+ setInterval(() => {
+ if (dark()) {
+ document.getElementById("01-account").src = "01-account-dark.svg";
+ document.getElementById("02-privacy").src = "02-privacy-dark.svg";
+ document.getElementById("03-devices").src = "03-devices-dark.svg";
+ document.getElementById("04-app-docs").src = "04-app-docs-dark.jpg";
+ document.getElementById("05-app-help").src = "05-app-help-dark.jpg";
+ document.getElementById("06-app-movies").src = "06-app-movies-dark.jpg";
+ document.getElementById("07-app-photos").src = "07-app-photos-dark.jpg";
+ document.getElementById("08-app-planning").src = "08-app-planning-dark.jpg";
+ document.getElementById("09-app-recall").src = "09-app-recall-dark.jpg";
+ document.getElementById("10-app-share").src = "10-app-share-dark.jpg";
+ document.getElementById("11-app-yikes").src = "11-app-yikes-dark.jpg";
+ } else {
+ document.getElementById("01-account").src = "01-account-light.svg";
+ document.getElementById("02-privacy").src = "02-privacy-light.svg";
+ document.getElementById("03-devices").src = "03-devices-light.svg";
+ document.getElementById("04-app-docs").src = "04-app-docs-light.jpg";
+ document.getElementById("05-app-help").src = "05-app-help-light.jpg";
+ document.getElementById("06-app-movies").src = "06-app-movies-light.jpg";
+ document.getElementById("07-app-photos").src = "07-app-photos-light.jpg";
+ document.getElementById("08-app-planning").src = "08-app-planning-light.jpg";
+ document.getElementById("09-app-recall").src = "09-app-recall-light.jpg";
+ document.getElementById("10-app-share").src = "10-app-share-light.jpg";
+ document.getElementById("11-app-yikes").src = "11-app-yikes-light.jpg";
+ }
+ }, 100)
+ </script>
+</body>
+</html>
@@ -1,28 +1,4 @@ <?php
-/*
- * MIT License
- *
- * Copyright (c) 2022- Minteck
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
ini_set('max_execution_time', 300);
ini_set('request_terminate_timeout', 300);
|