From 740aacb539f06a7a64bc7262bb91ed72afedd504 Mon Sep 17 00:00:00 2001 From: Sam <30859143+samoneilll@users.noreply.github.com> Date: Mon, 25 Oct 2021 02:54:42 +0200 Subject: [PATCH] v2.1.4: Merge SSO changes to upgrade to Oauth2.0 (#43) * Bumps version to 2.1.4 * Updates Pathfinder Database schema to store new AccessTokens * Updates SSO login flow to work with JWT Access Tokens * Updates ESI API client dependency to use goryn-clade/pathfinder_esi:v2.1.2 --- app/Controller/Ccp/Sso.php | 83 +++++- app/Model/Pathfinder/CharacterModel.php | 8 +- app/environment.ini | 2 + app/pathfinder.ini | 4 +- composer.json | 5 +- composer.lock | 238 +++++++++++++----- package-lock.json | 2 +- package.json | 2 +- public/css/{v2.1.3 => v2.1.4}/pathfinder.css | 0 .../css/{v2.1.3 => v2.1.4}/pathfinder.css.br | Bin .../css/{v2.1.3 => v2.1.4}/pathfinder.css.map | 0 .../{v2.1.3 => v2.1.4}/gallery/admin_1.jpg | Bin .../{v2.1.3 => v2.1.4}/gallery/admin_1.webp | Bin .../{v2.1.3 => v2.1.4}/gallery/admin_2.jpg | Bin .../{v2.1.3 => v2.1.4}/gallery/admin_2.webp | Bin .../gallery/connection_1.jpg | Bin .../gallery/connection_1.webp | Bin .../gallery/development_1.jpg | Bin .../gallery/development_1.webp | Bin .../gallery/development_2.jpg | Bin .../gallery/development_2.webp | Bin .../{v2.1.3 => v2.1.4}/gallery/discord_1.jpg | Bin .../{v2.1.3 => v2.1.4}/gallery/discord_1.webp | Bin .../{v2.1.3 => v2.1.4}/gallery/install_db.jpg | Bin .../gallery/install_db.webp | Bin .../gallery/install_settings.jpg | Bin .../gallery/install_settings.webp | Bin .../{v2.1.3 => v2.1.4}/gallery/intel_1.jpg | Bin .../{v2.1.3 => v2.1.4}/gallery/intel_1.webp | Bin .../img/{v2.1.3 => v2.1.4}/gallery/kb_1.jpg | Bin .../img/{v2.1.3 => v2.1.4}/gallery/kb_1.webp | Bin .../img/{v2.1.3 => v2.1.4}/gallery/kb_2.jpg | Bin .../img/{v2.1.3 => v2.1.4}/gallery/kb_2.webp | Bin .../img/{v2.1.3 => v2.1.4}/gallery/log_1.jpg | Bin .../img/{v2.1.3 => v2.1.4}/gallery/log_1.webp | Bin .../{v2.1.3 => v2.1.4}/gallery/login_1.jpg | Bin .../{v2.1.3 => v2.1.4}/gallery/login_1.webp | Bin .../img/{v2.1.3 => v2.1.4}/gallery/map_1.jpg | Bin .../img/{v2.1.3 => v2.1.4}/gallery/map_1.webp | Bin .../img/{v2.1.3 => v2.1.4}/gallery/map_2.jpg | Bin .../img/{v2.1.3 => v2.1.4}/gallery/map_2.webp | Bin .../img/{v2.1.3 => v2.1.4}/gallery/map_3.jpg | Bin .../img/{v2.1.3 => v2.1.4}/gallery/map_3.webp | Bin .../{v2.1.3 => v2.1.4}/gallery/route_1.jpg | Bin .../{v2.1.3 => v2.1.4}/gallery/route_1.webp | Bin .../{v2.1.3 => v2.1.4}/gallery/route_2.jpg | Bin .../{v2.1.3 => v2.1.4}/gallery/route_2.webp | Bin .../{v2.1.3 => v2.1.4}/gallery/settings_1.jpg | Bin .../gallery/settings_1.webp | Bin .../gallery/signatures_1.jpg | Bin .../gallery/signatures_1.webp | Bin .../gallery/signatures_2.jpg | Bin .../gallery/signatures_2.webp | Bin .../gallery/statistics_1.jpg | Bin .../gallery/statistics_1.webp | Bin .../gallery/statistics_2.jpg | Bin .../gallery/statistics_2.webp | Bin .../{v2.1.3 => v2.1.4}/gallery/system_1.jpg | Bin .../{v2.1.3 => v2.1.4}/gallery/system_1.webp | Bin .../{v2.1.3 => v2.1.4}/gallery/system_2.jpg | Bin .../{v2.1.3 => v2.1.4}/gallery/system_2.webp | Bin .../gallery/taskmanager_1.jpg | Bin .../gallery/taskmanager_1.webp | Bin .../gallery/thumbs/admin_1.jpg | Bin .../gallery/thumbs/admin_1.webp | Bin .../gallery/thumbs/admin_2.jpg | Bin .../gallery/thumbs/admin_2.webp | Bin .../gallery/thumbs/connection_1.jpg | Bin .../gallery/thumbs/connection_1.webp | Bin .../gallery/thumbs/development_1.jpg | Bin .../gallery/thumbs/development_1.webp | Bin .../gallery/thumbs/development_2.jpg | Bin .../gallery/thumbs/development_2.webp | Bin .../gallery/thumbs/discord_1.jpg | Bin .../gallery/thumbs/discord_1.webp | Bin .../gallery/thumbs/install_db.jpg | Bin .../gallery/thumbs/install_db.webp | Bin .../gallery/thumbs/install_settings.jpg | Bin .../gallery/thumbs/install_settings.webp | Bin .../gallery/thumbs/intel_1.jpg | Bin .../gallery/thumbs/intel_1.webp | Bin .../gallery/thumbs/kb_1.jpg | Bin .../gallery/thumbs/kb_1.webp | Bin .../gallery/thumbs/kb_2.jpg | Bin .../gallery/thumbs/kb_2.webp | Bin .../gallery/thumbs/log_1.jpg | Bin .../gallery/thumbs/log_1.webp | Bin .../gallery/thumbs/login_1.jpg | Bin .../gallery/thumbs/login_1.webp | Bin .../gallery/thumbs/map_1.jpg | Bin .../gallery/thumbs/map_1.webp | Bin .../gallery/thumbs/map_2.jpg | Bin .../gallery/thumbs/map_2.webp | Bin .../gallery/thumbs/map_3.jpg | Bin .../gallery/thumbs/map_3.webp | Bin .../gallery/thumbs/route_1.jpg | Bin .../gallery/thumbs/route_1.webp | Bin .../gallery/thumbs/route_2.jpg | Bin .../gallery/thumbs/route_2.webp | Bin .../gallery/thumbs/settings_1.jpg | Bin .../gallery/thumbs/settings_1.webp | Bin .../gallery/thumbs/signatures_1.jpg | Bin .../gallery/thumbs/signatures_1.webp | Bin .../gallery/thumbs/signatures_2.jpg | Bin .../gallery/thumbs/signatures_2.webp | Bin .../gallery/thumbs/statistics_1.jpg | Bin .../gallery/thumbs/statistics_1.webp | Bin .../gallery/thumbs/statistics_2.jpg | Bin .../gallery/thumbs/statistics_2.webp | Bin .../gallery/thumbs/system_1.jpg | Bin .../gallery/thumbs/system_1.webp | Bin .../gallery/thumbs/system_2.jpg | Bin .../gallery/thumbs/system_2.webp | Bin .../gallery/thumbs/taskmanager_1.jpg | Bin .../gallery/thumbs/taskmanager_1.webp | Bin .../{v2.1.3 => v2.1.4}/gallery/thumbs/wip.jpg | Bin .../gallery/thumbs/wip.webp | Bin .../header/pf-header-1200.jpg | Bin .../header/pf-header-1200.png | Bin .../header/pf-header-1200.webp | Bin .../header/pf-header-1600.jpg | Bin .../header/pf-header-1600.png | Bin .../header/pf-header-1600.webp | Bin .../header/pf-header-3840.jpg | Bin .../header/pf-header-3840.png | Bin .../header/pf-header-3840.webp | Bin .../header/pf-header-480.jpg | Bin .../header/pf-header-480.png | Bin .../header/pf-header-480.webp | Bin .../header/pf-header-780.jpg | Bin .../header/pf-header-780.png | Bin .../header/pf-header-780.webp | Bin .../client/ui/window/charcustomization.png | Bin .../icons/client/ui/window/clonebay.png | Bin .../icons/client/ui/window/concord.png | Bin .../icons/client/ui/window/docking.png | Bin .../client/ui/window/factionalwarfare.png | Bin .../icons/client/ui/window/fitting.png | Bin .../icons/client/ui/window/industry.png | Bin .../icons/client/ui/window/insurance.png | Bin .../icons/client/ui/window/jumpclones.png | Bin .../icons/client/ui/window/lpstore.png | Bin .../icons/client/ui/window/market.png | Bin .../icons/client/ui/window/repairshop.png | Bin .../icons/client/ui/window/reprocess.png | Bin .../icons/client/ui/window/research.png | Bin .../icons/client/ui/window/skins.png | Bin .../{v2.1.3 => v2.1.4}/icons/grid_left.png | Bin .../{v2.1.3 => v2.1.4}/icons/grid_right.png | Bin .../{v2.1.3 => v2.1.4}/icons/logo_anoik.png | Bin .../{v2.1.3 => v2.1.4}/icons/logo_dotlan.png | Bin .../img/{v2.1.3 => v2.1.4}/icons/logo_eve.png | Bin .../{v2.1.3 => v2.1.4}/icons/logo_eveeye.png | Bin .../misc/donate_patreon.png | Bin .../{v2.1.3 => v2.1.4}/misc/donate_paypal.png | Bin .../{v2.1.3 => v2.1.4}/misc/grid_40x40.png | Bin public/img/{v2.1.3 => v2.1.4}/misc/logo.png | Bin .../{v2.1.3 => v2.1.4}/misc/logo_alpha.png | Bin .../{v2.1.3 => v2.1.4}/misc/notification.png | Bin .../sso/eve_sso_login_buttons_large_black.png | Bin ...ve_sso_login_buttons_large_black_hover.png | Bin public/img/{v2.1.3 => v2.1.4}/svg/bubble.svg | 0 public/img/{v2.1.3 => v2.1.4}/svg/ccp_sso.svg | 0 .../{v2.1.3 => v2.1.4}/svg/grid_layout.svg | 0 .../{v2.1.3 => v2.1.4}/svg/logo_inline.svg | 0 .../{v2.1.3 => v2.1.4}/svg/logo_simple.svg | 0 public/img/{v2.1.3 => v2.1.4}/svg/swords.svg | 0 public/js/{v2.1.3 => v2.1.4}/app.js | 0 public/js/{v2.1.3 => v2.1.4}/app.js.br | Bin public/js/{v2.1.3 => v2.1.4}/app.js.map | 0 public/js/{v2.1.3 => v2.1.4}/app/admin.js | 0 public/js/{v2.1.3 => v2.1.4}/app/admin.js.br | Bin public/js/{v2.1.3 => v2.1.4}/app/admin.js.map | 0 .../app/datatables.loader.js | 0 .../app/datatables.loader.js.br | Bin .../app/datatables.loader.js.map | 0 public/js/{v2.1.3 => v2.1.4}/app/login.js | 0 public/js/{v2.1.3 => v2.1.4}/app/login.js.br | Bin public/js/{v2.1.3 => v2.1.4}/app/login.js.map | 0 public/js/{v2.1.3 => v2.1.4}/app/mappage.js | 0 .../js/{v2.1.3 => v2.1.4}/app/mappage.js.br | Bin .../js/{v2.1.3 => v2.1.4}/app/mappage.js.map | 0 .../{v2.1.3 => v2.1.4}/app/pnotify.loader.js | 0 .../app/pnotify.loader.js.br | Bin .../app/pnotify.loader.js.map | 0 public/js/{v2.1.3 => v2.1.4}/app/setup.js | 0 public/js/{v2.1.3 => v2.1.4}/app/setup.js.br | Bin public/js/{v2.1.3 => v2.1.4}/app/setup.js.map | 0 .../app/summernote.loader.js | 0 .../app/summernote.loader.js.br | Bin .../app/summernote.loader.js.map | 0 .../{v2.1.3 => v2.1.4}/app/ui/module/demo.js | 0 .../app/ui/module/demo.js.br | Bin .../app/ui/module/demo.js.map | 0 .../{v2.1.3 => v2.1.4}/app/ui/module/empty.js | 0 .../app/ui/module/empty.js.br | Bin .../app/ui/module/empty.js.map | 0 .../js/{v2.1.3 => v2.1.4}/app/worker/map.js | 0 .../{v2.1.3 => v2.1.4}/app/worker/map.js.br | Bin .../{v2.1.3 => v2.1.4}/app/worker/map.js.map | 0 .../{v2.1.3 => v2.1.4}/app/worker/message.js | 0 .../app/worker/message.js.br | 0 .../app/worker/message.js.map | 0 .../lib/bootstrap-image-gallery.js | 0 .../lib/bootstrap-image-gallery.js.br | Bin .../lib/bootstrap-image-gallery.js.map | 0 public/js/{v2.1.3 => v2.1.4}/lib/require.js | 0 .../js/{v2.1.3 => v2.1.4}/lib/require.js.br | Bin .../js/{v2.1.3 => v2.1.4}/lib/require.js.map | 0 public/templates/ui/notice.html | 14 +- 210 files changed, 267 insertions(+), 91 deletions(-) rename public/css/{v2.1.3 => v2.1.4}/pathfinder.css (100%) rename public/css/{v2.1.3 => v2.1.4}/pathfinder.css.br (100%) rename public/css/{v2.1.3 => v2.1.4}/pathfinder.css.map (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/admin_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/admin_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/admin_2.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/admin_2.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/connection_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/connection_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/development_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/development_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/development_2.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/development_2.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/discord_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/discord_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/install_db.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/install_db.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/install_settings.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/install_settings.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/intel_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/intel_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/kb_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/kb_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/kb_2.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/kb_2.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/log_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/log_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/login_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/login_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/map_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/map_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/map_2.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/map_2.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/map_3.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/map_3.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/route_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/route_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/route_2.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/route_2.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/settings_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/settings_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/signatures_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/signatures_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/signatures_2.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/signatures_2.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/statistics_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/statistics_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/statistics_2.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/statistics_2.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/system_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/system_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/system_2.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/system_2.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/taskmanager_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/taskmanager_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/admin_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/admin_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/admin_2.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/admin_2.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/connection_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/connection_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/development_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/development_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/development_2.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/development_2.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/discord_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/discord_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/install_db.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/install_db.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/install_settings.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/install_settings.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/intel_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/intel_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/kb_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/kb_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/kb_2.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/kb_2.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/log_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/log_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/login_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/login_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/map_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/map_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/map_2.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/map_2.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/map_3.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/map_3.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/route_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/route_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/route_2.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/route_2.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/settings_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/settings_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/signatures_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/signatures_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/signatures_2.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/signatures_2.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/statistics_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/statistics_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/statistics_2.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/statistics_2.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/system_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/system_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/system_2.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/system_2.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/taskmanager_1.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/taskmanager_1.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/wip.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/gallery/thumbs/wip.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/header/pf-header-1200.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/header/pf-header-1200.png (100%) rename public/img/{v2.1.3 => v2.1.4}/header/pf-header-1200.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/header/pf-header-1600.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/header/pf-header-1600.png (100%) rename public/img/{v2.1.3 => v2.1.4}/header/pf-header-1600.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/header/pf-header-3840.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/header/pf-header-3840.png (100%) rename public/img/{v2.1.3 => v2.1.4}/header/pf-header-3840.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/header/pf-header-480.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/header/pf-header-480.png (100%) rename public/img/{v2.1.3 => v2.1.4}/header/pf-header-480.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/header/pf-header-780.jpg (100%) rename public/img/{v2.1.3 => v2.1.4}/header/pf-header-780.png (100%) rename public/img/{v2.1.3 => v2.1.4}/header/pf-header-780.webp (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/client/ui/window/charcustomization.png (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/client/ui/window/clonebay.png (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/client/ui/window/concord.png (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/client/ui/window/docking.png (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/client/ui/window/factionalwarfare.png (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/client/ui/window/fitting.png (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/client/ui/window/industry.png (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/client/ui/window/insurance.png (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/client/ui/window/jumpclones.png (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/client/ui/window/lpstore.png (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/client/ui/window/market.png (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/client/ui/window/repairshop.png (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/client/ui/window/reprocess.png (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/client/ui/window/research.png (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/client/ui/window/skins.png (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/grid_left.png (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/grid_right.png (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/logo_anoik.png (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/logo_dotlan.png (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/logo_eve.png (100%) rename public/img/{v2.1.3 => v2.1.4}/icons/logo_eveeye.png (100%) rename public/img/{v2.1.3 => v2.1.4}/misc/donate_patreon.png (100%) rename public/img/{v2.1.3 => v2.1.4}/misc/donate_paypal.png (100%) rename public/img/{v2.1.3 => v2.1.4}/misc/grid_40x40.png (100%) rename public/img/{v2.1.3 => v2.1.4}/misc/logo.png (100%) rename public/img/{v2.1.3 => v2.1.4}/misc/logo_alpha.png (100%) rename public/img/{v2.1.3 => v2.1.4}/misc/notification.png (100%) rename public/img/{v2.1.3 => v2.1.4}/sso/eve_sso_login_buttons_large_black.png (100%) rename public/img/{v2.1.3 => v2.1.4}/sso/eve_sso_login_buttons_large_black_hover.png (100%) rename public/img/{v2.1.3 => v2.1.4}/svg/bubble.svg (100%) rename public/img/{v2.1.3 => v2.1.4}/svg/ccp_sso.svg (100%) rename public/img/{v2.1.3 => v2.1.4}/svg/grid_layout.svg (100%) rename public/img/{v2.1.3 => v2.1.4}/svg/logo_inline.svg (100%) rename public/img/{v2.1.3 => v2.1.4}/svg/logo_simple.svg (100%) rename public/img/{v2.1.3 => v2.1.4}/svg/swords.svg (100%) rename public/js/{v2.1.3 => v2.1.4}/app.js (100%) rename public/js/{v2.1.3 => v2.1.4}/app.js.br (100%) rename public/js/{v2.1.3 => v2.1.4}/app.js.map (100%) rename public/js/{v2.1.3 => v2.1.4}/app/admin.js (100%) rename public/js/{v2.1.3 => v2.1.4}/app/admin.js.br (100%) rename public/js/{v2.1.3 => v2.1.4}/app/admin.js.map (100%) rename public/js/{v2.1.3 => v2.1.4}/app/datatables.loader.js (100%) rename public/js/{v2.1.3 => v2.1.4}/app/datatables.loader.js.br (100%) rename public/js/{v2.1.3 => v2.1.4}/app/datatables.loader.js.map (100%) rename public/js/{v2.1.3 => v2.1.4}/app/login.js (100%) rename public/js/{v2.1.3 => v2.1.4}/app/login.js.br (100%) rename public/js/{v2.1.3 => v2.1.4}/app/login.js.map (100%) rename public/js/{v2.1.3 => v2.1.4}/app/mappage.js (100%) rename public/js/{v2.1.3 => v2.1.4}/app/mappage.js.br (100%) rename public/js/{v2.1.3 => v2.1.4}/app/mappage.js.map (100%) rename public/js/{v2.1.3 => v2.1.4}/app/pnotify.loader.js (100%) rename public/js/{v2.1.3 => v2.1.4}/app/pnotify.loader.js.br (100%) rename public/js/{v2.1.3 => v2.1.4}/app/pnotify.loader.js.map (100%) rename public/js/{v2.1.3 => v2.1.4}/app/setup.js (100%) rename public/js/{v2.1.3 => v2.1.4}/app/setup.js.br (100%) rename public/js/{v2.1.3 => v2.1.4}/app/setup.js.map (100%) rename public/js/{v2.1.3 => v2.1.4}/app/summernote.loader.js (100%) rename public/js/{v2.1.3 => v2.1.4}/app/summernote.loader.js.br (100%) rename public/js/{v2.1.3 => v2.1.4}/app/summernote.loader.js.map (100%) rename public/js/{v2.1.3 => v2.1.4}/app/ui/module/demo.js (100%) rename public/js/{v2.1.3 => v2.1.4}/app/ui/module/demo.js.br (100%) rename public/js/{v2.1.3 => v2.1.4}/app/ui/module/demo.js.map (100%) rename public/js/{v2.1.3 => v2.1.4}/app/ui/module/empty.js (100%) rename public/js/{v2.1.3 => v2.1.4}/app/ui/module/empty.js.br (100%) rename public/js/{v2.1.3 => v2.1.4}/app/ui/module/empty.js.map (100%) rename public/js/{v2.1.3 => v2.1.4}/app/worker/map.js (100%) rename public/js/{v2.1.3 => v2.1.4}/app/worker/map.js.br (100%) rename public/js/{v2.1.3 => v2.1.4}/app/worker/map.js.map (100%) rename public/js/{v2.1.3 => v2.1.4}/app/worker/message.js (100%) rename public/js/{v2.1.3 => v2.1.4}/app/worker/message.js.br (100%) rename public/js/{v2.1.3 => v2.1.4}/app/worker/message.js.map (100%) rename public/js/{v2.1.3 => v2.1.4}/lib/bootstrap-image-gallery.js (100%) rename public/js/{v2.1.3 => v2.1.4}/lib/bootstrap-image-gallery.js.br (100%) rename public/js/{v2.1.3 => v2.1.4}/lib/bootstrap-image-gallery.js.map (100%) rename public/js/{v2.1.3 => v2.1.4}/lib/require.js (100%) rename public/js/{v2.1.3 => v2.1.4}/lib/require.js.br (100%) rename public/js/{v2.1.3 => v2.1.4}/lib/require.js.map (100%) diff --git a/app/Controller/Ccp/Sso.php b/app/Controller/Ccp/Sso.php index 542e007be..b68288447 100644 --- a/app/Controller/Ccp/Sso.php +++ b/app/Controller/Ccp/Sso.php @@ -17,6 +17,8 @@ use Exodus4D\Pathfinder\Controller\Api as Api; use Exodus4D\Pathfinder\Model\Pathfinder; use Exodus4D\Pathfinder\Lib; +use Firebase\JWT\JWT; +use Firebase\JWT\JWK; class Sso extends Api\User{ @@ -42,6 +44,8 @@ class Sso extends Api\User{ const ERROR_CHARACTER_FORBIDDEN = 'Character "%s" is not authorized to log in. Reason: %s'; const ERROR_SERVICE_TIMEOUT = 'CCP SSO service timeout (%ss). Try again later'; const ERROR_COOKIE_LOGIN = 'Login from Cookie failed (data not found). Please retry by CCP SSO'; + const ERROR_CCP_JWK_CLAIM = 'Invalid "ENVIRONMENT.[ENVIRONMENT].CCP_SSO_JWK_CLAIM" url. %s'; + const ERROR_TOKEN_VERIFICATION = 'Could not validate the authenticity of the Access Token'; /** * redirect user to CCP SSO page and request authorization @@ -187,6 +191,7 @@ public function callbackAuthorization($f3){ if(isset($accessData->accessToken, $accessData->esiAccessTokenExpires, $accessData->refreshToken)){ // login succeeded -> get basic character data for current login + $verificationCharacterData = $this->verifyCharacterData($accessData->accessToken); if( !empty($verificationCharacterData) ){ @@ -196,15 +201,15 @@ public function callbackAuthorization($f3){ // verification available data. Data is needed for "ownerHash" check // get character data from ESI - $characterData = $this->getCharacterData((int)$verificationCharacterData['characterId']); + $characterData = $this->getCharacterData((int)$verificationCharacterData->characterId); if( isset($characterData->character) ){ // add "ownerHash" and SSO tokens - $characterData->character['ownerHash'] = $verificationCharacterData['characterOwnerHash']; + $characterData->character['ownerHash'] = $verificationCharacterData->owner; $characterData->character['esiAccessToken'] = $accessData->accessToken; $characterData->character['esiAccessTokenExpires'] = $accessData->esiAccessTokenExpires; $characterData->character['esiRefreshToken'] = $accessData->refreshToken; - $characterData->character['esiScopes'] = $verificationCharacterData['scopes']; + $characterData->character['esiScopes'] = $verificationCharacterData->scp; // add/update static character data $characterModel = $this->updateCharacter($characterData); @@ -422,18 +427,17 @@ protected function requestAccessData(array $requestParams) : \stdClass { } /** - * verify character data by "access_token" - * -> get some basic information (like character id) - * -> if more character information is required, use ESI "characters" endpoints request instead + * verify character data by decloding JWT "access_token" + * -> verify against CCP JWK + * -> get some basic information (like character id) * @param string $accessToken - * @return array + * @return object */ - public function verifyCharacterData(string $accessToken) : array { - $characterData = $this->getF3()->ssoClient()->send('getVerifyCharacter', $accessToken); + public function verifyCharacterData(string $accessToken) : object { + $characterData = $this->verifyJwtAccessToken($accessToken); if( !empty($characterData) ){ - // convert string with scopes to array - $characterData['scopes'] = Lib\Util::convertScopesString($characterData['scopes']); + $characterData->characterId = (int)explode(':',$characterData->sub)[2]; }else{ self::getSSOLogger()->write(sprintf(self::ERROR_VERIFY_CHARACTER, __METHOD__)); } @@ -441,6 +445,46 @@ public function verifyCharacterData(string $accessToken) : array { return $characterData; } + /** + * verify JWT by comparing to CCP public JWK + * -> get Ccp JWKs + * -> decode accessToken using JWKs + * -> Verify token claim is correct + * @param string $accessToken + * @return object + */ + public function verifyJwtAccessToken(string $accessToken) : object { + $ccpJwks = $this->getCcpJwkData(); + // set $leeway in seconds to 10, since sometimes there can be verification errors due server clock skew resulting + // in tokens that look like they were issued 1 second in the future. + JWT::$leeway = 10; + // map list of algs from CCP JWK + $supportedAlgs = array_column($ccpJwks['keys'], 'alg'); + // get decoded JWT using ccp supplied JWK + $decodedJwt = JWT::decode($accessToken, JWK::parseKeySet($ccpJwks), $supportedAlgs); + // check if issuer matches correct ccp supplied claim values + if (strpos($decodedJwt->iss, $this->getSsoJwkClaim()) !== true) { + self::getSSOLogger()->write(sprintf(self::ERROR_TOKEN_VERIFICATION, __METHOD__)); + } + return $decodedJwt; + } + + /** + * get JWK from CCP and return decoded json object + * @return array + */ + protected function getCcpJwkData() : array { + $jwkJson = $this->getF3()->ssoClient()->send('getJWKS'); + + if( !empty($jwkJson) ){ + // ensure items in 'keys' are arrays and not objects + array_walk($jwkJson['keys'], function(&$item){$item = (array) $item;}); + return $jwkJson; + }else{ + self::getSSOLogger()->write(sprintf(self::ERROR_LOGIN_FAILED, __METHOD__)); + } + } + /** * get character data * @param int $characterId @@ -546,6 +590,23 @@ static function getSsoUrlRoot() : string { return $url; } + /** + * get CCP SSO JWK CLAIM from configuration file + * -> throw error if string is missing + * @return string + */ + static function getSsoJwkClaim() : string { + $str = self::getEnvironmentData('CCP_SSO_JWK_CLAIM'); + + if( empty($str)){ + $error = sprintf(self::ERROR_CCP_JWK_CLAIM, __METHOD__); + self::getSSOLogger()->write($error); + \Base::instance()->error(502, $error); + } + + return $str; + } + /** * get logger for SSO logging * @return \Log diff --git a/app/Model/Pathfinder/CharacterModel.php b/app/Model/Pathfinder/CharacterModel.php index 332c74c9d..98ceef59d 100644 --- a/app/Model/Pathfinder/CharacterModel.php +++ b/app/Model/Pathfinder/CharacterModel.php @@ -100,7 +100,7 @@ class CharacterModel extends AbstractPathfinderModel { 'default' => '' ], 'esiAccessToken' => [ - 'type' => Schema::DT_VARCHAR256 + 'type' => Schema::DT_TEXT ], 'esiAccessTokenExpires' => [ 'type' => Schema::DT_TIMESTAMP, @@ -1186,13 +1186,13 @@ public function updateFromESI() : array { $ssoController = new Sso(); if( !empty( $verificationCharacterData = $ssoController->verifyCharacterData($accessToken) ) && - $verificationCharacterData['characterId'] === $this->_id + $verificationCharacterData->characterId === $this->_id ){ // get character data from API $characterData = $ssoController->getCharacterData($this->_id); if( !empty($characterData->character) ){ - $characterData->character['ownerHash'] = $verificationCharacterData['characterOwnerHash']; - $characterData->character['esiScopes'] = $verificationCharacterData['scopes']; + $characterData->character['ownerHash'] = $verificationCharacterData->owner; + $characterData->character['esiScopes'] = $verificationCharacterData->scp; $this->copyfrom($characterData->character, ['ownerHash', 'esiScopes', 'securityStatus']); $this->corporationId = $characterData->corporation; diff --git a/app/environment.ini b/app/environment.ini index 327ba0622..82e0cc94f 100644 --- a/app/environment.ini +++ b/app/environment.ini @@ -30,6 +30,7 @@ DB_UNIVERSE_PASS = CCP_SSO_URL = https://sisilogin.testeveonline.com CCP_SSO_CLIENT_ID = CCP_SSO_SECRET_KEY = +CCP_SSO_JWK_CLAIM = login.eveonline.com CCP_SSO_DOWNTIME = 11:00 ; CCP ESI API @@ -83,6 +84,7 @@ DB_CCP_PASS = CCP_SSO_URL = https://login.eveonline.com CCP_SSO_CLIENT_ID = CCP_SSO_SECRET_KEY = +CCP_SSO_JWK_CLAIM = login.eveonline.com CCP_SSO_DOWNTIME = 11:00 ; CCP ESI API diff --git a/app/pathfinder.ini b/app/pathfinder.ini index 460515c2c..0ba55f007 100644 --- a/app/pathfinder.ini +++ b/app/pathfinder.ini @@ -13,8 +13,8 @@ NAME = Pathfinder ; Version is used for CSS/JS cache busting and is part of the URL for static resources: ; e.g. public/js/vX.X.X/app.js ; Syntax: String (current version) -; Default: v2.1.3 -VERSION = v2.1.3 +; Default: v2.1.4 +VERSION = v2.1.4 ; Contact information [optional] ; Shown on 'licence', 'contact' page. diff --git a/composer.json b/composer.json index 043409aa4..b636bd3fc 100644 --- a/composer.json +++ b/composer.json @@ -44,8 +44,9 @@ "cache/namespaced-cache": "1.1.*", "react/socket": "1.3.*", "react/promise-stream": "1.2.*", - "clue/ndjson-react": "1.2.*", - "tyrheimdaleve/pathfinder_esi": "2.1.1" + "clue/ndjson-react": "1.2.*", + "firebase/php-jwt": "^5.4", + "goryn-clade/pathfinder_esi": "2.1.2" }, "suggest": { "ext-redis": "Redis can be used as cache backend." diff --git a/composer.lock b/composer.lock index 841c9180c..9b827904b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "13caad63b97936ebca523ac384fd4de0", + "content-hash": "1d2297f696ea64b10ef5cdc5ff8688c2", "packages": [ { "name": "bcosca/fatfree-core", @@ -900,6 +900,108 @@ }, "time": "2017-07-23T21:35:13+00:00" }, + { + "name": "firebase/php-jwt", + "version": "v5.4.0", + "source": { + "type": "git", + "url": "https://github.com/firebase/php-jwt.git", + "reference": "d2113d9b2e0e349796e72d2a63cf9319100382d2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/d2113d9b2e0e349796e72d2a63cf9319100382d2", + "reference": "d2113d9b2e0e349796e72d2a63cf9319100382d2", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": ">=4.8 <=9" + }, + "suggest": { + "paragonie/sodium_compat": "Support EdDSA (Ed25519) signatures when libsodium is not present" + }, + "type": "library", + "autoload": { + "psr-4": { + "Firebase\\JWT\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Neuman Vong", + "email": "neuman+pear@twilio.com", + "role": "Developer" + }, + { + "name": "Anant Narayanan", + "email": "anant@php.net", + "role": "Developer" + } + ], + "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", + "homepage": "https://github.com/firebase/php-jwt", + "keywords": [ + "jwt", + "php" + ], + "support": { + "issues": "https://github.com/firebase/php-jwt/issues", + "source": "https://github.com/firebase/php-jwt/tree/v5.4.0" + }, + "time": "2021-06-23T19:00:23+00:00" + }, + { + "name": "goryn-clade/pathfinder_esi", + "version": "v2.1.2", + "source": { + "type": "git", + "url": "https://github.com/goryn-clade/pathfinder_esi.git", + "reference": "784c9d846a6c7f8f8be016f9f88ed559969d2e2e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/goryn-clade/pathfinder_esi/zipball/784c9d846a6c7f8f8be016f9f88ed559969d2e2e", + "reference": "784c9d846a6c7f8f8be016f9f88ed559969d2e2e", + "shasum": "" + }, + "require": { + "cache/void-adapter": "1.0.*", + "caseyamcl/guzzle_retry_middleware": "2.3.*", + "ext-json": "*", + "guzzlehttp/guzzle": "6.5.*", + "php-64bit": ">=7.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Exodus4D\\ESI\\": "app/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Sam O'Neill", + "email": "samuel.p.oneill@gmail.com" + } + ], + "description": "ESI API library for Pathfinder", + "homepage": "https://github.com/goryn-clade/pathfinder_esi", + "support": { + "issues": "https://github.com/goryn-clade/pathfinder_esi/issues", + "source": "https://github.com/goryn-clade/pathfinder_esi/tree/v2.1.2" + }, + "time": "2021-10-25T00:32:18+00:00" + }, { "name": "guzzlehttp/guzzle", "version": "6.5.5", @@ -973,16 +1075,16 @@ }, { "name": "guzzlehttp/promises", - "version": "1.4.1", + "version": "1.5.1", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d" + "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/8e7d04f1f6450fef59366c399cfad4b9383aa30d", - "reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d", + "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da", + "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da", "shasum": "" }, "require": { @@ -994,7 +1096,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "1.5-dev" } }, "autoload": { @@ -1010,10 +1112,25 @@ "MIT" ], "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" } ], "description": "Guzzle promises library", @@ -1022,22 +1139,36 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/1.4.1" + "source": "https://github.com/guzzle/promises/tree/1.5.1" }, - "time": "2021-03-07T09:25:29+00:00" + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", + "type": "tidelift" + } + ], + "time": "2021-10-22T20:56:57+00:00" }, { "name": "guzzlehttp/psr7", - "version": "1.8.2", + "version": "1.8.3", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "dc960a912984efb74d0a90222870c72c87f10c91" + "reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/dc960a912984efb74d0a90222870c72c87f10c91", - "reference": "dc960a912984efb74d0a90222870c72c87f10c91", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/1afdd860a2566ed3c2b0b4a3de6e23434a79ec85", + "reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85", "shasum": "" }, "require": { @@ -1074,13 +1205,34 @@ "MIT" ], "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, { "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", "homepage": "https://github.com/Tobion" } ], @@ -1097,9 +1249,23 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/1.8.2" + "source": "https://github.com/guzzle/psr7/tree/1.8.3" }, - "time": "2021-04-26T09:17:50+00:00" + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" + } + ], + "time": "2021-10-05T13:56:00+00:00" }, { "name": "ikkez/f3-cortex", @@ -2851,50 +3017,6 @@ ], "time": "2021-05-27T09:17:38+00:00" }, - { - "name": "tyrheimdaleve/pathfinder_esi", - "version": "v2.1.1", - "source": { - "type": "git", - "url": "https://github.com/TyrHeimdalEVE/pathfinder_esi.git", - "reference": "79cceecaa33b693149a07ee2d647703bd3369244" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/TyrHeimdalEVE/pathfinder_esi/zipball/79cceecaa33b693149a07ee2d647703bd3369244", - "reference": "79cceecaa33b693149a07ee2d647703bd3369244", - "shasum": "" - }, - "require": { - "cache/void-adapter": "1.0.*", - "caseyamcl/guzzle_retry_middleware": "2.3.*", - "ext-json": "*", - "guzzlehttp/guzzle": "6.5.*", - "php-64bit": ">=7.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Exodus4D\\ESI\\": "app/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mark Friedrich", - "email": "pathfinder@exodus4d.de" - } - ], - "description": "ESI API library for Pathfinder", - "homepage": "https://github.com/exodus4d/pathfinder_esi", - "support": { - "source": "https://github.com/TyrHeimdalEVE/pathfinder_esi/tree/v2.1.1" - }, - "time": "2021-09-07T19:41:45+00:00" - }, { "name": "xfra35/f3-cron", "version": "v1.2.1", diff --git a/package-lock.json b/package-lock.json index cf1ec41a3..3dee29729 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "pathfinder-eve", - "version": "2.1.3", + "version": "2.1.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 834de5c08..9760c6572 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pathfinder-eve", - "version": "2.1.3", + "version": "2.1.4", "engines": { "node": "12.x" }, diff --git a/public/css/v2.1.3/pathfinder.css b/public/css/v2.1.4/pathfinder.css similarity index 100% rename from public/css/v2.1.3/pathfinder.css rename to public/css/v2.1.4/pathfinder.css diff --git a/public/css/v2.1.3/pathfinder.css.br b/public/css/v2.1.4/pathfinder.css.br similarity index 100% rename from public/css/v2.1.3/pathfinder.css.br rename to public/css/v2.1.4/pathfinder.css.br diff --git a/public/css/v2.1.3/pathfinder.css.map b/public/css/v2.1.4/pathfinder.css.map similarity index 100% rename from public/css/v2.1.3/pathfinder.css.map rename to public/css/v2.1.4/pathfinder.css.map diff --git a/public/img/v2.1.3/gallery/admin_1.jpg b/public/img/v2.1.4/gallery/admin_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/admin_1.jpg rename to public/img/v2.1.4/gallery/admin_1.jpg diff --git a/public/img/v2.1.3/gallery/admin_1.webp b/public/img/v2.1.4/gallery/admin_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/admin_1.webp rename to public/img/v2.1.4/gallery/admin_1.webp diff --git a/public/img/v2.1.3/gallery/admin_2.jpg b/public/img/v2.1.4/gallery/admin_2.jpg similarity index 100% rename from public/img/v2.1.3/gallery/admin_2.jpg rename to public/img/v2.1.4/gallery/admin_2.jpg diff --git a/public/img/v2.1.3/gallery/admin_2.webp b/public/img/v2.1.4/gallery/admin_2.webp similarity index 100% rename from public/img/v2.1.3/gallery/admin_2.webp rename to public/img/v2.1.4/gallery/admin_2.webp diff --git a/public/img/v2.1.3/gallery/connection_1.jpg b/public/img/v2.1.4/gallery/connection_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/connection_1.jpg rename to public/img/v2.1.4/gallery/connection_1.jpg diff --git a/public/img/v2.1.3/gallery/connection_1.webp b/public/img/v2.1.4/gallery/connection_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/connection_1.webp rename to public/img/v2.1.4/gallery/connection_1.webp diff --git a/public/img/v2.1.3/gallery/development_1.jpg b/public/img/v2.1.4/gallery/development_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/development_1.jpg rename to public/img/v2.1.4/gallery/development_1.jpg diff --git a/public/img/v2.1.3/gallery/development_1.webp b/public/img/v2.1.4/gallery/development_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/development_1.webp rename to public/img/v2.1.4/gallery/development_1.webp diff --git a/public/img/v2.1.3/gallery/development_2.jpg b/public/img/v2.1.4/gallery/development_2.jpg similarity index 100% rename from public/img/v2.1.3/gallery/development_2.jpg rename to public/img/v2.1.4/gallery/development_2.jpg diff --git a/public/img/v2.1.3/gallery/development_2.webp b/public/img/v2.1.4/gallery/development_2.webp similarity index 100% rename from public/img/v2.1.3/gallery/development_2.webp rename to public/img/v2.1.4/gallery/development_2.webp diff --git a/public/img/v2.1.3/gallery/discord_1.jpg b/public/img/v2.1.4/gallery/discord_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/discord_1.jpg rename to public/img/v2.1.4/gallery/discord_1.jpg diff --git a/public/img/v2.1.3/gallery/discord_1.webp b/public/img/v2.1.4/gallery/discord_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/discord_1.webp rename to public/img/v2.1.4/gallery/discord_1.webp diff --git a/public/img/v2.1.3/gallery/install_db.jpg b/public/img/v2.1.4/gallery/install_db.jpg similarity index 100% rename from public/img/v2.1.3/gallery/install_db.jpg rename to public/img/v2.1.4/gallery/install_db.jpg diff --git a/public/img/v2.1.3/gallery/install_db.webp b/public/img/v2.1.4/gallery/install_db.webp similarity index 100% rename from public/img/v2.1.3/gallery/install_db.webp rename to public/img/v2.1.4/gallery/install_db.webp diff --git a/public/img/v2.1.3/gallery/install_settings.jpg b/public/img/v2.1.4/gallery/install_settings.jpg similarity index 100% rename from public/img/v2.1.3/gallery/install_settings.jpg rename to public/img/v2.1.4/gallery/install_settings.jpg diff --git a/public/img/v2.1.3/gallery/install_settings.webp b/public/img/v2.1.4/gallery/install_settings.webp similarity index 100% rename from public/img/v2.1.3/gallery/install_settings.webp rename to public/img/v2.1.4/gallery/install_settings.webp diff --git a/public/img/v2.1.3/gallery/intel_1.jpg b/public/img/v2.1.4/gallery/intel_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/intel_1.jpg rename to public/img/v2.1.4/gallery/intel_1.jpg diff --git a/public/img/v2.1.3/gallery/intel_1.webp b/public/img/v2.1.4/gallery/intel_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/intel_1.webp rename to public/img/v2.1.4/gallery/intel_1.webp diff --git a/public/img/v2.1.3/gallery/kb_1.jpg b/public/img/v2.1.4/gallery/kb_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/kb_1.jpg rename to public/img/v2.1.4/gallery/kb_1.jpg diff --git a/public/img/v2.1.3/gallery/kb_1.webp b/public/img/v2.1.4/gallery/kb_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/kb_1.webp rename to public/img/v2.1.4/gallery/kb_1.webp diff --git a/public/img/v2.1.3/gallery/kb_2.jpg b/public/img/v2.1.4/gallery/kb_2.jpg similarity index 100% rename from public/img/v2.1.3/gallery/kb_2.jpg rename to public/img/v2.1.4/gallery/kb_2.jpg diff --git a/public/img/v2.1.3/gallery/kb_2.webp b/public/img/v2.1.4/gallery/kb_2.webp similarity index 100% rename from public/img/v2.1.3/gallery/kb_2.webp rename to public/img/v2.1.4/gallery/kb_2.webp diff --git a/public/img/v2.1.3/gallery/log_1.jpg b/public/img/v2.1.4/gallery/log_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/log_1.jpg rename to public/img/v2.1.4/gallery/log_1.jpg diff --git a/public/img/v2.1.3/gallery/log_1.webp b/public/img/v2.1.4/gallery/log_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/log_1.webp rename to public/img/v2.1.4/gallery/log_1.webp diff --git a/public/img/v2.1.3/gallery/login_1.jpg b/public/img/v2.1.4/gallery/login_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/login_1.jpg rename to public/img/v2.1.4/gallery/login_1.jpg diff --git a/public/img/v2.1.3/gallery/login_1.webp b/public/img/v2.1.4/gallery/login_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/login_1.webp rename to public/img/v2.1.4/gallery/login_1.webp diff --git a/public/img/v2.1.3/gallery/map_1.jpg b/public/img/v2.1.4/gallery/map_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/map_1.jpg rename to public/img/v2.1.4/gallery/map_1.jpg diff --git a/public/img/v2.1.3/gallery/map_1.webp b/public/img/v2.1.4/gallery/map_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/map_1.webp rename to public/img/v2.1.4/gallery/map_1.webp diff --git a/public/img/v2.1.3/gallery/map_2.jpg b/public/img/v2.1.4/gallery/map_2.jpg similarity index 100% rename from public/img/v2.1.3/gallery/map_2.jpg rename to public/img/v2.1.4/gallery/map_2.jpg diff --git a/public/img/v2.1.3/gallery/map_2.webp b/public/img/v2.1.4/gallery/map_2.webp similarity index 100% rename from public/img/v2.1.3/gallery/map_2.webp rename to public/img/v2.1.4/gallery/map_2.webp diff --git a/public/img/v2.1.3/gallery/map_3.jpg b/public/img/v2.1.4/gallery/map_3.jpg similarity index 100% rename from public/img/v2.1.3/gallery/map_3.jpg rename to public/img/v2.1.4/gallery/map_3.jpg diff --git a/public/img/v2.1.3/gallery/map_3.webp b/public/img/v2.1.4/gallery/map_3.webp similarity index 100% rename from public/img/v2.1.3/gallery/map_3.webp rename to public/img/v2.1.4/gallery/map_3.webp diff --git a/public/img/v2.1.3/gallery/route_1.jpg b/public/img/v2.1.4/gallery/route_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/route_1.jpg rename to public/img/v2.1.4/gallery/route_1.jpg diff --git a/public/img/v2.1.3/gallery/route_1.webp b/public/img/v2.1.4/gallery/route_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/route_1.webp rename to public/img/v2.1.4/gallery/route_1.webp diff --git a/public/img/v2.1.3/gallery/route_2.jpg b/public/img/v2.1.4/gallery/route_2.jpg similarity index 100% rename from public/img/v2.1.3/gallery/route_2.jpg rename to public/img/v2.1.4/gallery/route_2.jpg diff --git a/public/img/v2.1.3/gallery/route_2.webp b/public/img/v2.1.4/gallery/route_2.webp similarity index 100% rename from public/img/v2.1.3/gallery/route_2.webp rename to public/img/v2.1.4/gallery/route_2.webp diff --git a/public/img/v2.1.3/gallery/settings_1.jpg b/public/img/v2.1.4/gallery/settings_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/settings_1.jpg rename to public/img/v2.1.4/gallery/settings_1.jpg diff --git a/public/img/v2.1.3/gallery/settings_1.webp b/public/img/v2.1.4/gallery/settings_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/settings_1.webp rename to public/img/v2.1.4/gallery/settings_1.webp diff --git a/public/img/v2.1.3/gallery/signatures_1.jpg b/public/img/v2.1.4/gallery/signatures_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/signatures_1.jpg rename to public/img/v2.1.4/gallery/signatures_1.jpg diff --git a/public/img/v2.1.3/gallery/signatures_1.webp b/public/img/v2.1.4/gallery/signatures_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/signatures_1.webp rename to public/img/v2.1.4/gallery/signatures_1.webp diff --git a/public/img/v2.1.3/gallery/signatures_2.jpg b/public/img/v2.1.4/gallery/signatures_2.jpg similarity index 100% rename from public/img/v2.1.3/gallery/signatures_2.jpg rename to public/img/v2.1.4/gallery/signatures_2.jpg diff --git a/public/img/v2.1.3/gallery/signatures_2.webp b/public/img/v2.1.4/gallery/signatures_2.webp similarity index 100% rename from public/img/v2.1.3/gallery/signatures_2.webp rename to public/img/v2.1.4/gallery/signatures_2.webp diff --git a/public/img/v2.1.3/gallery/statistics_1.jpg b/public/img/v2.1.4/gallery/statistics_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/statistics_1.jpg rename to public/img/v2.1.4/gallery/statistics_1.jpg diff --git a/public/img/v2.1.3/gallery/statistics_1.webp b/public/img/v2.1.4/gallery/statistics_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/statistics_1.webp rename to public/img/v2.1.4/gallery/statistics_1.webp diff --git a/public/img/v2.1.3/gallery/statistics_2.jpg b/public/img/v2.1.4/gallery/statistics_2.jpg similarity index 100% rename from public/img/v2.1.3/gallery/statistics_2.jpg rename to public/img/v2.1.4/gallery/statistics_2.jpg diff --git a/public/img/v2.1.3/gallery/statistics_2.webp b/public/img/v2.1.4/gallery/statistics_2.webp similarity index 100% rename from public/img/v2.1.3/gallery/statistics_2.webp rename to public/img/v2.1.4/gallery/statistics_2.webp diff --git a/public/img/v2.1.3/gallery/system_1.jpg b/public/img/v2.1.4/gallery/system_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/system_1.jpg rename to public/img/v2.1.4/gallery/system_1.jpg diff --git a/public/img/v2.1.3/gallery/system_1.webp b/public/img/v2.1.4/gallery/system_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/system_1.webp rename to public/img/v2.1.4/gallery/system_1.webp diff --git a/public/img/v2.1.3/gallery/system_2.jpg b/public/img/v2.1.4/gallery/system_2.jpg similarity index 100% rename from public/img/v2.1.3/gallery/system_2.jpg rename to public/img/v2.1.4/gallery/system_2.jpg diff --git a/public/img/v2.1.3/gallery/system_2.webp b/public/img/v2.1.4/gallery/system_2.webp similarity index 100% rename from public/img/v2.1.3/gallery/system_2.webp rename to public/img/v2.1.4/gallery/system_2.webp diff --git a/public/img/v2.1.3/gallery/taskmanager_1.jpg b/public/img/v2.1.4/gallery/taskmanager_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/taskmanager_1.jpg rename to public/img/v2.1.4/gallery/taskmanager_1.jpg diff --git a/public/img/v2.1.3/gallery/taskmanager_1.webp b/public/img/v2.1.4/gallery/taskmanager_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/taskmanager_1.webp rename to public/img/v2.1.4/gallery/taskmanager_1.webp diff --git a/public/img/v2.1.3/gallery/thumbs/admin_1.jpg b/public/img/v2.1.4/gallery/thumbs/admin_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/admin_1.jpg rename to public/img/v2.1.4/gallery/thumbs/admin_1.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/admin_1.webp b/public/img/v2.1.4/gallery/thumbs/admin_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/admin_1.webp rename to public/img/v2.1.4/gallery/thumbs/admin_1.webp diff --git a/public/img/v2.1.3/gallery/thumbs/admin_2.jpg b/public/img/v2.1.4/gallery/thumbs/admin_2.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/admin_2.jpg rename to public/img/v2.1.4/gallery/thumbs/admin_2.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/admin_2.webp b/public/img/v2.1.4/gallery/thumbs/admin_2.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/admin_2.webp rename to public/img/v2.1.4/gallery/thumbs/admin_2.webp diff --git a/public/img/v2.1.3/gallery/thumbs/connection_1.jpg b/public/img/v2.1.4/gallery/thumbs/connection_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/connection_1.jpg rename to public/img/v2.1.4/gallery/thumbs/connection_1.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/connection_1.webp b/public/img/v2.1.4/gallery/thumbs/connection_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/connection_1.webp rename to public/img/v2.1.4/gallery/thumbs/connection_1.webp diff --git a/public/img/v2.1.3/gallery/thumbs/development_1.jpg b/public/img/v2.1.4/gallery/thumbs/development_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/development_1.jpg rename to public/img/v2.1.4/gallery/thumbs/development_1.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/development_1.webp b/public/img/v2.1.4/gallery/thumbs/development_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/development_1.webp rename to public/img/v2.1.4/gallery/thumbs/development_1.webp diff --git a/public/img/v2.1.3/gallery/thumbs/development_2.jpg b/public/img/v2.1.4/gallery/thumbs/development_2.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/development_2.jpg rename to public/img/v2.1.4/gallery/thumbs/development_2.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/development_2.webp b/public/img/v2.1.4/gallery/thumbs/development_2.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/development_2.webp rename to public/img/v2.1.4/gallery/thumbs/development_2.webp diff --git a/public/img/v2.1.3/gallery/thumbs/discord_1.jpg b/public/img/v2.1.4/gallery/thumbs/discord_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/discord_1.jpg rename to public/img/v2.1.4/gallery/thumbs/discord_1.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/discord_1.webp b/public/img/v2.1.4/gallery/thumbs/discord_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/discord_1.webp rename to public/img/v2.1.4/gallery/thumbs/discord_1.webp diff --git a/public/img/v2.1.3/gallery/thumbs/install_db.jpg b/public/img/v2.1.4/gallery/thumbs/install_db.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/install_db.jpg rename to public/img/v2.1.4/gallery/thumbs/install_db.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/install_db.webp b/public/img/v2.1.4/gallery/thumbs/install_db.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/install_db.webp rename to public/img/v2.1.4/gallery/thumbs/install_db.webp diff --git a/public/img/v2.1.3/gallery/thumbs/install_settings.jpg b/public/img/v2.1.4/gallery/thumbs/install_settings.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/install_settings.jpg rename to public/img/v2.1.4/gallery/thumbs/install_settings.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/install_settings.webp b/public/img/v2.1.4/gallery/thumbs/install_settings.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/install_settings.webp rename to public/img/v2.1.4/gallery/thumbs/install_settings.webp diff --git a/public/img/v2.1.3/gallery/thumbs/intel_1.jpg b/public/img/v2.1.4/gallery/thumbs/intel_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/intel_1.jpg rename to public/img/v2.1.4/gallery/thumbs/intel_1.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/intel_1.webp b/public/img/v2.1.4/gallery/thumbs/intel_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/intel_1.webp rename to public/img/v2.1.4/gallery/thumbs/intel_1.webp diff --git a/public/img/v2.1.3/gallery/thumbs/kb_1.jpg b/public/img/v2.1.4/gallery/thumbs/kb_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/kb_1.jpg rename to public/img/v2.1.4/gallery/thumbs/kb_1.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/kb_1.webp b/public/img/v2.1.4/gallery/thumbs/kb_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/kb_1.webp rename to public/img/v2.1.4/gallery/thumbs/kb_1.webp diff --git a/public/img/v2.1.3/gallery/thumbs/kb_2.jpg b/public/img/v2.1.4/gallery/thumbs/kb_2.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/kb_2.jpg rename to public/img/v2.1.4/gallery/thumbs/kb_2.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/kb_2.webp b/public/img/v2.1.4/gallery/thumbs/kb_2.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/kb_2.webp rename to public/img/v2.1.4/gallery/thumbs/kb_2.webp diff --git a/public/img/v2.1.3/gallery/thumbs/log_1.jpg b/public/img/v2.1.4/gallery/thumbs/log_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/log_1.jpg rename to public/img/v2.1.4/gallery/thumbs/log_1.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/log_1.webp b/public/img/v2.1.4/gallery/thumbs/log_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/log_1.webp rename to public/img/v2.1.4/gallery/thumbs/log_1.webp diff --git a/public/img/v2.1.3/gallery/thumbs/login_1.jpg b/public/img/v2.1.4/gallery/thumbs/login_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/login_1.jpg rename to public/img/v2.1.4/gallery/thumbs/login_1.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/login_1.webp b/public/img/v2.1.4/gallery/thumbs/login_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/login_1.webp rename to public/img/v2.1.4/gallery/thumbs/login_1.webp diff --git a/public/img/v2.1.3/gallery/thumbs/map_1.jpg b/public/img/v2.1.4/gallery/thumbs/map_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/map_1.jpg rename to public/img/v2.1.4/gallery/thumbs/map_1.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/map_1.webp b/public/img/v2.1.4/gallery/thumbs/map_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/map_1.webp rename to public/img/v2.1.4/gallery/thumbs/map_1.webp diff --git a/public/img/v2.1.3/gallery/thumbs/map_2.jpg b/public/img/v2.1.4/gallery/thumbs/map_2.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/map_2.jpg rename to public/img/v2.1.4/gallery/thumbs/map_2.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/map_2.webp b/public/img/v2.1.4/gallery/thumbs/map_2.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/map_2.webp rename to public/img/v2.1.4/gallery/thumbs/map_2.webp diff --git a/public/img/v2.1.3/gallery/thumbs/map_3.jpg b/public/img/v2.1.4/gallery/thumbs/map_3.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/map_3.jpg rename to public/img/v2.1.4/gallery/thumbs/map_3.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/map_3.webp b/public/img/v2.1.4/gallery/thumbs/map_3.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/map_3.webp rename to public/img/v2.1.4/gallery/thumbs/map_3.webp diff --git a/public/img/v2.1.3/gallery/thumbs/route_1.jpg b/public/img/v2.1.4/gallery/thumbs/route_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/route_1.jpg rename to public/img/v2.1.4/gallery/thumbs/route_1.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/route_1.webp b/public/img/v2.1.4/gallery/thumbs/route_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/route_1.webp rename to public/img/v2.1.4/gallery/thumbs/route_1.webp diff --git a/public/img/v2.1.3/gallery/thumbs/route_2.jpg b/public/img/v2.1.4/gallery/thumbs/route_2.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/route_2.jpg rename to public/img/v2.1.4/gallery/thumbs/route_2.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/route_2.webp b/public/img/v2.1.4/gallery/thumbs/route_2.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/route_2.webp rename to public/img/v2.1.4/gallery/thumbs/route_2.webp diff --git a/public/img/v2.1.3/gallery/thumbs/settings_1.jpg b/public/img/v2.1.4/gallery/thumbs/settings_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/settings_1.jpg rename to public/img/v2.1.4/gallery/thumbs/settings_1.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/settings_1.webp b/public/img/v2.1.4/gallery/thumbs/settings_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/settings_1.webp rename to public/img/v2.1.4/gallery/thumbs/settings_1.webp diff --git a/public/img/v2.1.3/gallery/thumbs/signatures_1.jpg b/public/img/v2.1.4/gallery/thumbs/signatures_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/signatures_1.jpg rename to public/img/v2.1.4/gallery/thumbs/signatures_1.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/signatures_1.webp b/public/img/v2.1.4/gallery/thumbs/signatures_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/signatures_1.webp rename to public/img/v2.1.4/gallery/thumbs/signatures_1.webp diff --git a/public/img/v2.1.3/gallery/thumbs/signatures_2.jpg b/public/img/v2.1.4/gallery/thumbs/signatures_2.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/signatures_2.jpg rename to public/img/v2.1.4/gallery/thumbs/signatures_2.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/signatures_2.webp b/public/img/v2.1.4/gallery/thumbs/signatures_2.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/signatures_2.webp rename to public/img/v2.1.4/gallery/thumbs/signatures_2.webp diff --git a/public/img/v2.1.3/gallery/thumbs/statistics_1.jpg b/public/img/v2.1.4/gallery/thumbs/statistics_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/statistics_1.jpg rename to public/img/v2.1.4/gallery/thumbs/statistics_1.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/statistics_1.webp b/public/img/v2.1.4/gallery/thumbs/statistics_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/statistics_1.webp rename to public/img/v2.1.4/gallery/thumbs/statistics_1.webp diff --git a/public/img/v2.1.3/gallery/thumbs/statistics_2.jpg b/public/img/v2.1.4/gallery/thumbs/statistics_2.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/statistics_2.jpg rename to public/img/v2.1.4/gallery/thumbs/statistics_2.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/statistics_2.webp b/public/img/v2.1.4/gallery/thumbs/statistics_2.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/statistics_2.webp rename to public/img/v2.1.4/gallery/thumbs/statistics_2.webp diff --git a/public/img/v2.1.3/gallery/thumbs/system_1.jpg b/public/img/v2.1.4/gallery/thumbs/system_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/system_1.jpg rename to public/img/v2.1.4/gallery/thumbs/system_1.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/system_1.webp b/public/img/v2.1.4/gallery/thumbs/system_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/system_1.webp rename to public/img/v2.1.4/gallery/thumbs/system_1.webp diff --git a/public/img/v2.1.3/gallery/thumbs/system_2.jpg b/public/img/v2.1.4/gallery/thumbs/system_2.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/system_2.jpg rename to public/img/v2.1.4/gallery/thumbs/system_2.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/system_2.webp b/public/img/v2.1.4/gallery/thumbs/system_2.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/system_2.webp rename to public/img/v2.1.4/gallery/thumbs/system_2.webp diff --git a/public/img/v2.1.3/gallery/thumbs/taskmanager_1.jpg b/public/img/v2.1.4/gallery/thumbs/taskmanager_1.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/taskmanager_1.jpg rename to public/img/v2.1.4/gallery/thumbs/taskmanager_1.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/taskmanager_1.webp b/public/img/v2.1.4/gallery/thumbs/taskmanager_1.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/taskmanager_1.webp rename to public/img/v2.1.4/gallery/thumbs/taskmanager_1.webp diff --git a/public/img/v2.1.3/gallery/thumbs/wip.jpg b/public/img/v2.1.4/gallery/thumbs/wip.jpg similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/wip.jpg rename to public/img/v2.1.4/gallery/thumbs/wip.jpg diff --git a/public/img/v2.1.3/gallery/thumbs/wip.webp b/public/img/v2.1.4/gallery/thumbs/wip.webp similarity index 100% rename from public/img/v2.1.3/gallery/thumbs/wip.webp rename to public/img/v2.1.4/gallery/thumbs/wip.webp diff --git a/public/img/v2.1.3/header/pf-header-1200.jpg b/public/img/v2.1.4/header/pf-header-1200.jpg similarity index 100% rename from public/img/v2.1.3/header/pf-header-1200.jpg rename to public/img/v2.1.4/header/pf-header-1200.jpg diff --git a/public/img/v2.1.3/header/pf-header-1200.png b/public/img/v2.1.4/header/pf-header-1200.png similarity index 100% rename from public/img/v2.1.3/header/pf-header-1200.png rename to public/img/v2.1.4/header/pf-header-1200.png diff --git a/public/img/v2.1.3/header/pf-header-1200.webp b/public/img/v2.1.4/header/pf-header-1200.webp similarity index 100% rename from public/img/v2.1.3/header/pf-header-1200.webp rename to public/img/v2.1.4/header/pf-header-1200.webp diff --git a/public/img/v2.1.3/header/pf-header-1600.jpg b/public/img/v2.1.4/header/pf-header-1600.jpg similarity index 100% rename from public/img/v2.1.3/header/pf-header-1600.jpg rename to public/img/v2.1.4/header/pf-header-1600.jpg diff --git a/public/img/v2.1.3/header/pf-header-1600.png b/public/img/v2.1.4/header/pf-header-1600.png similarity index 100% rename from public/img/v2.1.3/header/pf-header-1600.png rename to public/img/v2.1.4/header/pf-header-1600.png diff --git a/public/img/v2.1.3/header/pf-header-1600.webp b/public/img/v2.1.4/header/pf-header-1600.webp similarity index 100% rename from public/img/v2.1.3/header/pf-header-1600.webp rename to public/img/v2.1.4/header/pf-header-1600.webp diff --git a/public/img/v2.1.3/header/pf-header-3840.jpg b/public/img/v2.1.4/header/pf-header-3840.jpg similarity index 100% rename from public/img/v2.1.3/header/pf-header-3840.jpg rename to public/img/v2.1.4/header/pf-header-3840.jpg diff --git a/public/img/v2.1.3/header/pf-header-3840.png b/public/img/v2.1.4/header/pf-header-3840.png similarity index 100% rename from public/img/v2.1.3/header/pf-header-3840.png rename to public/img/v2.1.4/header/pf-header-3840.png diff --git a/public/img/v2.1.3/header/pf-header-3840.webp b/public/img/v2.1.4/header/pf-header-3840.webp similarity index 100% rename from public/img/v2.1.3/header/pf-header-3840.webp rename to public/img/v2.1.4/header/pf-header-3840.webp diff --git a/public/img/v2.1.3/header/pf-header-480.jpg b/public/img/v2.1.4/header/pf-header-480.jpg similarity index 100% rename from public/img/v2.1.3/header/pf-header-480.jpg rename to public/img/v2.1.4/header/pf-header-480.jpg diff --git a/public/img/v2.1.3/header/pf-header-480.png b/public/img/v2.1.4/header/pf-header-480.png similarity index 100% rename from public/img/v2.1.3/header/pf-header-480.png rename to public/img/v2.1.4/header/pf-header-480.png diff --git a/public/img/v2.1.3/header/pf-header-480.webp b/public/img/v2.1.4/header/pf-header-480.webp similarity index 100% rename from public/img/v2.1.3/header/pf-header-480.webp rename to public/img/v2.1.4/header/pf-header-480.webp diff --git a/public/img/v2.1.3/header/pf-header-780.jpg b/public/img/v2.1.4/header/pf-header-780.jpg similarity index 100% rename from public/img/v2.1.3/header/pf-header-780.jpg rename to public/img/v2.1.4/header/pf-header-780.jpg diff --git a/public/img/v2.1.3/header/pf-header-780.png b/public/img/v2.1.4/header/pf-header-780.png similarity index 100% rename from public/img/v2.1.3/header/pf-header-780.png rename to public/img/v2.1.4/header/pf-header-780.png diff --git a/public/img/v2.1.3/header/pf-header-780.webp b/public/img/v2.1.4/header/pf-header-780.webp similarity index 100% rename from public/img/v2.1.3/header/pf-header-780.webp rename to public/img/v2.1.4/header/pf-header-780.webp diff --git a/public/img/v2.1.3/icons/client/ui/window/charcustomization.png b/public/img/v2.1.4/icons/client/ui/window/charcustomization.png similarity index 100% rename from public/img/v2.1.3/icons/client/ui/window/charcustomization.png rename to public/img/v2.1.4/icons/client/ui/window/charcustomization.png diff --git a/public/img/v2.1.3/icons/client/ui/window/clonebay.png b/public/img/v2.1.4/icons/client/ui/window/clonebay.png similarity index 100% rename from public/img/v2.1.3/icons/client/ui/window/clonebay.png rename to public/img/v2.1.4/icons/client/ui/window/clonebay.png diff --git a/public/img/v2.1.3/icons/client/ui/window/concord.png b/public/img/v2.1.4/icons/client/ui/window/concord.png similarity index 100% rename from public/img/v2.1.3/icons/client/ui/window/concord.png rename to public/img/v2.1.4/icons/client/ui/window/concord.png diff --git a/public/img/v2.1.3/icons/client/ui/window/docking.png b/public/img/v2.1.4/icons/client/ui/window/docking.png similarity index 100% rename from public/img/v2.1.3/icons/client/ui/window/docking.png rename to public/img/v2.1.4/icons/client/ui/window/docking.png diff --git a/public/img/v2.1.3/icons/client/ui/window/factionalwarfare.png b/public/img/v2.1.4/icons/client/ui/window/factionalwarfare.png similarity index 100% rename from public/img/v2.1.3/icons/client/ui/window/factionalwarfare.png rename to public/img/v2.1.4/icons/client/ui/window/factionalwarfare.png diff --git a/public/img/v2.1.3/icons/client/ui/window/fitting.png b/public/img/v2.1.4/icons/client/ui/window/fitting.png similarity index 100% rename from public/img/v2.1.3/icons/client/ui/window/fitting.png rename to public/img/v2.1.4/icons/client/ui/window/fitting.png diff --git a/public/img/v2.1.3/icons/client/ui/window/industry.png b/public/img/v2.1.4/icons/client/ui/window/industry.png similarity index 100% rename from public/img/v2.1.3/icons/client/ui/window/industry.png rename to public/img/v2.1.4/icons/client/ui/window/industry.png diff --git a/public/img/v2.1.3/icons/client/ui/window/insurance.png b/public/img/v2.1.4/icons/client/ui/window/insurance.png similarity index 100% rename from public/img/v2.1.3/icons/client/ui/window/insurance.png rename to public/img/v2.1.4/icons/client/ui/window/insurance.png diff --git a/public/img/v2.1.3/icons/client/ui/window/jumpclones.png b/public/img/v2.1.4/icons/client/ui/window/jumpclones.png similarity index 100% rename from public/img/v2.1.3/icons/client/ui/window/jumpclones.png rename to public/img/v2.1.4/icons/client/ui/window/jumpclones.png diff --git a/public/img/v2.1.3/icons/client/ui/window/lpstore.png b/public/img/v2.1.4/icons/client/ui/window/lpstore.png similarity index 100% rename from public/img/v2.1.3/icons/client/ui/window/lpstore.png rename to public/img/v2.1.4/icons/client/ui/window/lpstore.png diff --git a/public/img/v2.1.3/icons/client/ui/window/market.png b/public/img/v2.1.4/icons/client/ui/window/market.png similarity index 100% rename from public/img/v2.1.3/icons/client/ui/window/market.png rename to public/img/v2.1.4/icons/client/ui/window/market.png diff --git a/public/img/v2.1.3/icons/client/ui/window/repairshop.png b/public/img/v2.1.4/icons/client/ui/window/repairshop.png similarity index 100% rename from public/img/v2.1.3/icons/client/ui/window/repairshop.png rename to public/img/v2.1.4/icons/client/ui/window/repairshop.png diff --git a/public/img/v2.1.3/icons/client/ui/window/reprocess.png b/public/img/v2.1.4/icons/client/ui/window/reprocess.png similarity index 100% rename from public/img/v2.1.3/icons/client/ui/window/reprocess.png rename to public/img/v2.1.4/icons/client/ui/window/reprocess.png diff --git a/public/img/v2.1.3/icons/client/ui/window/research.png b/public/img/v2.1.4/icons/client/ui/window/research.png similarity index 100% rename from public/img/v2.1.3/icons/client/ui/window/research.png rename to public/img/v2.1.4/icons/client/ui/window/research.png diff --git a/public/img/v2.1.3/icons/client/ui/window/skins.png b/public/img/v2.1.4/icons/client/ui/window/skins.png similarity index 100% rename from public/img/v2.1.3/icons/client/ui/window/skins.png rename to public/img/v2.1.4/icons/client/ui/window/skins.png diff --git a/public/img/v2.1.3/icons/grid_left.png b/public/img/v2.1.4/icons/grid_left.png similarity index 100% rename from public/img/v2.1.3/icons/grid_left.png rename to public/img/v2.1.4/icons/grid_left.png diff --git a/public/img/v2.1.3/icons/grid_right.png b/public/img/v2.1.4/icons/grid_right.png similarity index 100% rename from public/img/v2.1.3/icons/grid_right.png rename to public/img/v2.1.4/icons/grid_right.png diff --git a/public/img/v2.1.3/icons/logo_anoik.png b/public/img/v2.1.4/icons/logo_anoik.png similarity index 100% rename from public/img/v2.1.3/icons/logo_anoik.png rename to public/img/v2.1.4/icons/logo_anoik.png diff --git a/public/img/v2.1.3/icons/logo_dotlan.png b/public/img/v2.1.4/icons/logo_dotlan.png similarity index 100% rename from public/img/v2.1.3/icons/logo_dotlan.png rename to public/img/v2.1.4/icons/logo_dotlan.png diff --git a/public/img/v2.1.3/icons/logo_eve.png b/public/img/v2.1.4/icons/logo_eve.png similarity index 100% rename from public/img/v2.1.3/icons/logo_eve.png rename to public/img/v2.1.4/icons/logo_eve.png diff --git a/public/img/v2.1.3/icons/logo_eveeye.png b/public/img/v2.1.4/icons/logo_eveeye.png similarity index 100% rename from public/img/v2.1.3/icons/logo_eveeye.png rename to public/img/v2.1.4/icons/logo_eveeye.png diff --git a/public/img/v2.1.3/misc/donate_patreon.png b/public/img/v2.1.4/misc/donate_patreon.png similarity index 100% rename from public/img/v2.1.3/misc/donate_patreon.png rename to public/img/v2.1.4/misc/donate_patreon.png diff --git a/public/img/v2.1.3/misc/donate_paypal.png b/public/img/v2.1.4/misc/donate_paypal.png similarity index 100% rename from public/img/v2.1.3/misc/donate_paypal.png rename to public/img/v2.1.4/misc/donate_paypal.png diff --git a/public/img/v2.1.3/misc/grid_40x40.png b/public/img/v2.1.4/misc/grid_40x40.png similarity index 100% rename from public/img/v2.1.3/misc/grid_40x40.png rename to public/img/v2.1.4/misc/grid_40x40.png diff --git a/public/img/v2.1.3/misc/logo.png b/public/img/v2.1.4/misc/logo.png similarity index 100% rename from public/img/v2.1.3/misc/logo.png rename to public/img/v2.1.4/misc/logo.png diff --git a/public/img/v2.1.3/misc/logo_alpha.png b/public/img/v2.1.4/misc/logo_alpha.png similarity index 100% rename from public/img/v2.1.3/misc/logo_alpha.png rename to public/img/v2.1.4/misc/logo_alpha.png diff --git a/public/img/v2.1.3/misc/notification.png b/public/img/v2.1.4/misc/notification.png similarity index 100% rename from public/img/v2.1.3/misc/notification.png rename to public/img/v2.1.4/misc/notification.png diff --git a/public/img/v2.1.3/sso/eve_sso_login_buttons_large_black.png b/public/img/v2.1.4/sso/eve_sso_login_buttons_large_black.png similarity index 100% rename from public/img/v2.1.3/sso/eve_sso_login_buttons_large_black.png rename to public/img/v2.1.4/sso/eve_sso_login_buttons_large_black.png diff --git a/public/img/v2.1.3/sso/eve_sso_login_buttons_large_black_hover.png b/public/img/v2.1.4/sso/eve_sso_login_buttons_large_black_hover.png similarity index 100% rename from public/img/v2.1.3/sso/eve_sso_login_buttons_large_black_hover.png rename to public/img/v2.1.4/sso/eve_sso_login_buttons_large_black_hover.png diff --git a/public/img/v2.1.3/svg/bubble.svg b/public/img/v2.1.4/svg/bubble.svg similarity index 100% rename from public/img/v2.1.3/svg/bubble.svg rename to public/img/v2.1.4/svg/bubble.svg diff --git a/public/img/v2.1.3/svg/ccp_sso.svg b/public/img/v2.1.4/svg/ccp_sso.svg similarity index 100% rename from public/img/v2.1.3/svg/ccp_sso.svg rename to public/img/v2.1.4/svg/ccp_sso.svg diff --git a/public/img/v2.1.3/svg/grid_layout.svg b/public/img/v2.1.4/svg/grid_layout.svg similarity index 100% rename from public/img/v2.1.3/svg/grid_layout.svg rename to public/img/v2.1.4/svg/grid_layout.svg diff --git a/public/img/v2.1.3/svg/logo_inline.svg b/public/img/v2.1.4/svg/logo_inline.svg similarity index 100% rename from public/img/v2.1.3/svg/logo_inline.svg rename to public/img/v2.1.4/svg/logo_inline.svg diff --git a/public/img/v2.1.3/svg/logo_simple.svg b/public/img/v2.1.4/svg/logo_simple.svg similarity index 100% rename from public/img/v2.1.3/svg/logo_simple.svg rename to public/img/v2.1.4/svg/logo_simple.svg diff --git a/public/img/v2.1.3/svg/swords.svg b/public/img/v2.1.4/svg/swords.svg similarity index 100% rename from public/img/v2.1.3/svg/swords.svg rename to public/img/v2.1.4/svg/swords.svg diff --git a/public/js/v2.1.3/app.js b/public/js/v2.1.4/app.js similarity index 100% rename from public/js/v2.1.3/app.js rename to public/js/v2.1.4/app.js diff --git a/public/js/v2.1.3/app.js.br b/public/js/v2.1.4/app.js.br similarity index 100% rename from public/js/v2.1.3/app.js.br rename to public/js/v2.1.4/app.js.br diff --git a/public/js/v2.1.3/app.js.map b/public/js/v2.1.4/app.js.map similarity index 100% rename from public/js/v2.1.3/app.js.map rename to public/js/v2.1.4/app.js.map diff --git a/public/js/v2.1.3/app/admin.js b/public/js/v2.1.4/app/admin.js similarity index 100% rename from public/js/v2.1.3/app/admin.js rename to public/js/v2.1.4/app/admin.js diff --git a/public/js/v2.1.3/app/admin.js.br b/public/js/v2.1.4/app/admin.js.br similarity index 100% rename from public/js/v2.1.3/app/admin.js.br rename to public/js/v2.1.4/app/admin.js.br diff --git a/public/js/v2.1.3/app/admin.js.map b/public/js/v2.1.4/app/admin.js.map similarity index 100% rename from public/js/v2.1.3/app/admin.js.map rename to public/js/v2.1.4/app/admin.js.map diff --git a/public/js/v2.1.3/app/datatables.loader.js b/public/js/v2.1.4/app/datatables.loader.js similarity index 100% rename from public/js/v2.1.3/app/datatables.loader.js rename to public/js/v2.1.4/app/datatables.loader.js diff --git a/public/js/v2.1.3/app/datatables.loader.js.br b/public/js/v2.1.4/app/datatables.loader.js.br similarity index 100% rename from public/js/v2.1.3/app/datatables.loader.js.br rename to public/js/v2.1.4/app/datatables.loader.js.br diff --git a/public/js/v2.1.3/app/datatables.loader.js.map b/public/js/v2.1.4/app/datatables.loader.js.map similarity index 100% rename from public/js/v2.1.3/app/datatables.loader.js.map rename to public/js/v2.1.4/app/datatables.loader.js.map diff --git a/public/js/v2.1.3/app/login.js b/public/js/v2.1.4/app/login.js similarity index 100% rename from public/js/v2.1.3/app/login.js rename to public/js/v2.1.4/app/login.js diff --git a/public/js/v2.1.3/app/login.js.br b/public/js/v2.1.4/app/login.js.br similarity index 100% rename from public/js/v2.1.3/app/login.js.br rename to public/js/v2.1.4/app/login.js.br diff --git a/public/js/v2.1.3/app/login.js.map b/public/js/v2.1.4/app/login.js.map similarity index 100% rename from public/js/v2.1.3/app/login.js.map rename to public/js/v2.1.4/app/login.js.map diff --git a/public/js/v2.1.3/app/mappage.js b/public/js/v2.1.4/app/mappage.js similarity index 100% rename from public/js/v2.1.3/app/mappage.js rename to public/js/v2.1.4/app/mappage.js diff --git a/public/js/v2.1.3/app/mappage.js.br b/public/js/v2.1.4/app/mappage.js.br similarity index 100% rename from public/js/v2.1.3/app/mappage.js.br rename to public/js/v2.1.4/app/mappage.js.br diff --git a/public/js/v2.1.3/app/mappage.js.map b/public/js/v2.1.4/app/mappage.js.map similarity index 100% rename from public/js/v2.1.3/app/mappage.js.map rename to public/js/v2.1.4/app/mappage.js.map diff --git a/public/js/v2.1.3/app/pnotify.loader.js b/public/js/v2.1.4/app/pnotify.loader.js similarity index 100% rename from public/js/v2.1.3/app/pnotify.loader.js rename to public/js/v2.1.4/app/pnotify.loader.js diff --git a/public/js/v2.1.3/app/pnotify.loader.js.br b/public/js/v2.1.4/app/pnotify.loader.js.br similarity index 100% rename from public/js/v2.1.3/app/pnotify.loader.js.br rename to public/js/v2.1.4/app/pnotify.loader.js.br diff --git a/public/js/v2.1.3/app/pnotify.loader.js.map b/public/js/v2.1.4/app/pnotify.loader.js.map similarity index 100% rename from public/js/v2.1.3/app/pnotify.loader.js.map rename to public/js/v2.1.4/app/pnotify.loader.js.map diff --git a/public/js/v2.1.3/app/setup.js b/public/js/v2.1.4/app/setup.js similarity index 100% rename from public/js/v2.1.3/app/setup.js rename to public/js/v2.1.4/app/setup.js diff --git a/public/js/v2.1.3/app/setup.js.br b/public/js/v2.1.4/app/setup.js.br similarity index 100% rename from public/js/v2.1.3/app/setup.js.br rename to public/js/v2.1.4/app/setup.js.br diff --git a/public/js/v2.1.3/app/setup.js.map b/public/js/v2.1.4/app/setup.js.map similarity index 100% rename from public/js/v2.1.3/app/setup.js.map rename to public/js/v2.1.4/app/setup.js.map diff --git a/public/js/v2.1.3/app/summernote.loader.js b/public/js/v2.1.4/app/summernote.loader.js similarity index 100% rename from public/js/v2.1.3/app/summernote.loader.js rename to public/js/v2.1.4/app/summernote.loader.js diff --git a/public/js/v2.1.3/app/summernote.loader.js.br b/public/js/v2.1.4/app/summernote.loader.js.br similarity index 100% rename from public/js/v2.1.3/app/summernote.loader.js.br rename to public/js/v2.1.4/app/summernote.loader.js.br diff --git a/public/js/v2.1.3/app/summernote.loader.js.map b/public/js/v2.1.4/app/summernote.loader.js.map similarity index 100% rename from public/js/v2.1.3/app/summernote.loader.js.map rename to public/js/v2.1.4/app/summernote.loader.js.map diff --git a/public/js/v2.1.3/app/ui/module/demo.js b/public/js/v2.1.4/app/ui/module/demo.js similarity index 100% rename from public/js/v2.1.3/app/ui/module/demo.js rename to public/js/v2.1.4/app/ui/module/demo.js diff --git a/public/js/v2.1.3/app/ui/module/demo.js.br b/public/js/v2.1.4/app/ui/module/demo.js.br similarity index 100% rename from public/js/v2.1.3/app/ui/module/demo.js.br rename to public/js/v2.1.4/app/ui/module/demo.js.br diff --git a/public/js/v2.1.3/app/ui/module/demo.js.map b/public/js/v2.1.4/app/ui/module/demo.js.map similarity index 100% rename from public/js/v2.1.3/app/ui/module/demo.js.map rename to public/js/v2.1.4/app/ui/module/demo.js.map diff --git a/public/js/v2.1.3/app/ui/module/empty.js b/public/js/v2.1.4/app/ui/module/empty.js similarity index 100% rename from public/js/v2.1.3/app/ui/module/empty.js rename to public/js/v2.1.4/app/ui/module/empty.js diff --git a/public/js/v2.1.3/app/ui/module/empty.js.br b/public/js/v2.1.4/app/ui/module/empty.js.br similarity index 100% rename from public/js/v2.1.3/app/ui/module/empty.js.br rename to public/js/v2.1.4/app/ui/module/empty.js.br diff --git a/public/js/v2.1.3/app/ui/module/empty.js.map b/public/js/v2.1.4/app/ui/module/empty.js.map similarity index 100% rename from public/js/v2.1.3/app/ui/module/empty.js.map rename to public/js/v2.1.4/app/ui/module/empty.js.map diff --git a/public/js/v2.1.3/app/worker/map.js b/public/js/v2.1.4/app/worker/map.js similarity index 100% rename from public/js/v2.1.3/app/worker/map.js rename to public/js/v2.1.4/app/worker/map.js diff --git a/public/js/v2.1.3/app/worker/map.js.br b/public/js/v2.1.4/app/worker/map.js.br similarity index 100% rename from public/js/v2.1.3/app/worker/map.js.br rename to public/js/v2.1.4/app/worker/map.js.br diff --git a/public/js/v2.1.3/app/worker/map.js.map b/public/js/v2.1.4/app/worker/map.js.map similarity index 100% rename from public/js/v2.1.3/app/worker/map.js.map rename to public/js/v2.1.4/app/worker/map.js.map diff --git a/public/js/v2.1.3/app/worker/message.js b/public/js/v2.1.4/app/worker/message.js similarity index 100% rename from public/js/v2.1.3/app/worker/message.js rename to public/js/v2.1.4/app/worker/message.js diff --git a/public/js/v2.1.3/app/worker/message.js.br b/public/js/v2.1.4/app/worker/message.js.br similarity index 100% rename from public/js/v2.1.3/app/worker/message.js.br rename to public/js/v2.1.4/app/worker/message.js.br diff --git a/public/js/v2.1.3/app/worker/message.js.map b/public/js/v2.1.4/app/worker/message.js.map similarity index 100% rename from public/js/v2.1.3/app/worker/message.js.map rename to public/js/v2.1.4/app/worker/message.js.map diff --git a/public/js/v2.1.3/lib/bootstrap-image-gallery.js b/public/js/v2.1.4/lib/bootstrap-image-gallery.js similarity index 100% rename from public/js/v2.1.3/lib/bootstrap-image-gallery.js rename to public/js/v2.1.4/lib/bootstrap-image-gallery.js diff --git a/public/js/v2.1.3/lib/bootstrap-image-gallery.js.br b/public/js/v2.1.4/lib/bootstrap-image-gallery.js.br similarity index 100% rename from public/js/v2.1.3/lib/bootstrap-image-gallery.js.br rename to public/js/v2.1.4/lib/bootstrap-image-gallery.js.br diff --git a/public/js/v2.1.3/lib/bootstrap-image-gallery.js.map b/public/js/v2.1.4/lib/bootstrap-image-gallery.js.map similarity index 100% rename from public/js/v2.1.3/lib/bootstrap-image-gallery.js.map rename to public/js/v2.1.4/lib/bootstrap-image-gallery.js.map diff --git a/public/js/v2.1.3/lib/require.js b/public/js/v2.1.4/lib/require.js similarity index 100% rename from public/js/v2.1.3/lib/require.js rename to public/js/v2.1.4/lib/require.js diff --git a/public/js/v2.1.3/lib/require.js.br b/public/js/v2.1.4/lib/require.js.br similarity index 100% rename from public/js/v2.1.3/lib/require.js.br rename to public/js/v2.1.4/lib/require.js.br diff --git a/public/js/v2.1.3/lib/require.js.map b/public/js/v2.1.4/lib/require.js.map similarity index 100% rename from public/js/v2.1.3/lib/require.js.map rename to public/js/v2.1.4/lib/require.js.map diff --git a/public/templates/ui/notice.html b/public/templates/ui/notice.html index d2a72b7e5..1bc86f2b7 100644 --- a/public/templates/ui/notice.html +++ b/public/templates/ui/notice.html @@ -11,21 +11,11 @@