+ phpMyAdmin {{ release.version }} +
++ +
+diff --git a/data/awards.py b/data/awards.py index 419f7adc..c437485e 100644 --- a/data/awards.py +++ b/data/awards.py @@ -27,43 +27,36 @@ AWARDS = [ { 'image': 'images/awards/2021-database-management-software.png', - 'link': ( - 'https://digital.com/database-management-software/#phpMyAdmin' - ), + 'link': 'https://digital.com/database-management-software/#phpMyAdmin', 'title': 'Best Database Management Software of 2021', 'text': '''
phpMyAdmin was listed in -Digital.com's
-Best Database Management Software list
. -in January 2021.
+Digital.com's +Best Database Management Software list +in January 2021. ''', 'photos': [], }, { 'image': 'images/awards/2017-hosting-advice.png', - 'link': ( - 'https://www.hostingadvice.com/blog/' - 'why-phpmyadmin-best-db-admin-tool-for-business/' - ), + 'link': 'https://www.hostingadvice.com/blog/why-phpmyadmin-best-db-admin-tool-for-business/', 'title': 'Best Database Admin Tool for Business Hosting', 'text': '''phpMyAdmin was awarded -HostingAdvice's
-Best Database Admin Tool for Business Hosting
. -in January 2017.
+HostingAdvice's +Best Database Admin Tool for Business Hosting +in January 2017. ''', 'photos': [], }, { 'image': 'images/awards/percona-live-logo.png', - 'link': 'https://openlife.cc/' - 'blogs/2013/april/mysql-community-awards-2013-and-winners-are', + 'link': 'https://openlife.cc/blogs/2013/april/mysql-community-awards-2013-and-winners-are', 'title': '2013 MySQL Community Awards', 'text': ''' -At the 2013 MySQL Community Awards ceremony, our -project has won
-MySQL Application of the year 2013
- ''', +At the 2013 MySQL Community Awards ceremony, our +project has won MySQL Application of the year 2013.
+''', 'photos': [ ( 'images/awards/2013-community-awards-3.jpg', @@ -87,11 +80,9 @@ 'link': 'https://sourceforge.net/blog/cca06/', 'title': '2009 SourceForge.net Community Choice Awards', 'text': ''' -For the 2009 SourceForge.net Community Choice Awards, -phpMyAdmin was present in two categories:
-Best Tool or Utility for Developers (finalist)
-Best Tool or Utility for SysAdmins (winner)
- ''', +For the 2009 SourceForge.net Community Choice Awards, +phpMyAdmin was present in two categories: Best Tool or Utility for Developers (finalist) and Best Tool or Utility for SysAdmins (winner).
+''', 'photos': [ ( 'images/awards/sf_cca_2009_trophy.jpg', @@ -105,10 +96,9 @@ 'link': 'http://www.infoworld.com/', 'title': 'InfoWorld 2008 Best of Open Source Awards', 'text': ''' -Our project has won this Infoworld 2008 award:
-Best of open source platforms and middleware -(MySQL administration)
- ''', +Our project has won this Infoworld 2008 award: +Best of open source platforms and middleware (MySQL administration).
+''', 'photos': [], }, { @@ -116,12 +106,9 @@ 'link': 'https://sourceforge.net/blog/cca08', 'title': '2008 SourceForge.net Community Choice Awards', 'text': ''' -For the 2008 SourceForge.net Community Choice Awards, -phpMyAdmin was present in three categories:
-Best Tool or Utility for Developers (finalist)
-Best Tool or Utility for SysAdmins (winner)
-Most Likely to Be the Next $1B Acquisition (winner)
- ''', +For the 2008 SourceForge.net Community Choice Awards, +phpMyAdmin was present in three categories: Best Tool or Utility for Developers (finalist), Best Tool or Utility for SysAdmins (winner), and Most Likely to Be the Next $1B Acquisition (winner).
+''', 'photos': [ ( 'images/awards/sf_cca_2008_trophies.jpg', @@ -135,11 +122,9 @@ 'link': 'https://sourceforge.net/blog/cca07', 'title': '2007 SourceForge.net Community Choice Awards', 'text': ''' -For the 2007 SourceForge.net Community Choice Awards, -phpMyAdmin was present in two categories:
-Best Tool or Utility for Developers (nominated)
-Best Tool or Utility for SysAdmins (winner)
- ''', +For the 2007 SourceForge.net Community Choice Awards, +phpMyAdmin was present in two categories: Best Tool or Utility for Developers (nominated) and Best Tool or Utility for SysAdmins (winner).
+''', 'photos': [ ( 'images/awards/sf_cca_2007_trophy.jpg', @@ -154,9 +139,8 @@ 'title': '2006 Trophees du Libre', 'text': '''phpMyAdmin has won a Silver Trophy at the Third Trophees du Libre -(Free Software Awards) in the category
-PHP
- ''', +(Free Software Awards) in the category PHP. +''', 'photos': [ ( 'images/awards/2006-trophees-marc.jpg', @@ -171,10 +155,9 @@ 'link': 'https://www.os2world.com/', 'title': '2005 OS2World.com Awards', 'text': ''' -For the 5th Annual OS/2 World Awards, -phpMyAdmin won in the category
-Best PHP Application
- ''', +For the 5th Annual OS/2 World Awards, +phpMyAdmin won in the category Best PHP Application.
+''', 'photos': [], }, { @@ -182,11 +165,9 @@ 'link': 'https://sourceforge.net/blog/cca06/', 'title': '2006 SourceForge.net Community Choice Awards', 'text': ''' -For the first annual SourceForge.net Community Choice -Awards, phpMyAdmin won the first place in two categories:
-Databases
-Sysadmin
- ''', +For the first annual SourceForge.net Community Choice +Awards, phpMyAdmin won the first place in two categories: Databases and Sysadmin.
+''', 'photos': [], }, { @@ -194,10 +175,9 @@ 'link': 'https://www.phpmagazin.de/', 'title': 'PHP Magazin Reader\'s Choice Award 2006', 'text': ''' -phpMyAdmin was awarded the Reader's Choice Award 2006 in the category
-Best PHP-Tool / Best PHP-Application
-by the readers of the German PHP Magazin.
- ''', +phpMyAdmin was awarded the Reader's Choice Award 2006 in the category Best PHP-Tool / Best PHP-Application +by the readers of the German PHP Magazin.
+''', 'photos': [], }, { @@ -205,10 +185,9 @@ 'link': 'https://www.phpmagazin.de/', 'title': 'PHP Magazin Reader\'s Choice Award 2005', 'text': ''' -phpMyAdmin was awarded the Reader's Choice Award 2005 in the category
-Best PHP-Tool / Best PHP-Application
-by the readers of the German PHP Magazin.
- ''', +phpMyAdmin was awarded the Reader's Choice Award 2005 in the category Best PHP-Tool / Best PHP-Application +by the readers of the German PHP Magazin.
+''', 'photos': [], }, { @@ -216,10 +195,9 @@ 'link': 'https://www.phpmagazin.de/', 'title': 'PHP Magazin Reader\'s Choice Award 2003', 'text': ''' -phpMyAdmin was awarded the Reader's Choice Award 2003 in the category
-Best PHP-Tool / Best PHP-Application
-by the readers of the German PHP Magazin.
- ''', +phpMyAdmin was awarded the Reader's Choice Award 2003 in the category Best PHP-Tool / Best PHP-Application +by the readers of the German PHP Magazin.
+''', 'photos': [ ( 'images/awards/2003-php-conf.jpg', @@ -235,10 +213,9 @@ 'link': 'https://www.phpmagazin.de/', 'title': 'International PHP Magazine Reader\'s Choice Award 2003', 'text': ''' -phpMyAdmin was awarded the Reader's Choice Award 2003 in the category
-Best PHP-Tool / Best PHP-Application
-by the readers of the International PHP Magazine.
- ''', +phpMyAdmin was awarded the Reader's Choice Award 2003 in the category Best PHP-Tool / Best PHP-Application +by the readers of the International PHP Magazine.
+''', 'photos': [ ( 'images/awards/2003-php-conf.jpg', @@ -255,11 +232,11 @@ 'title': 'Sourceforge.net project of the month', 'text': '''phpMyAdmin was awarded -Sourceforge.net's
- -in December 2002. Have a look at that article, if you +Sourceforge.net's +Project of the month +in December 2002. Have a look at that article, if you want to learn about the early years of phpMyAdmin.
- ''', +''', 'photos': [], }, ] diff --git a/pmaweb/static/css/style.css b/pmaweb/static/css/style.css deleted file mode 100644 index c9e9f42b..00000000 --- a/pmaweb/static/css/style.css +++ /dev/null @@ -1,186 +0,0 @@ -#logo { - padding: 0; - margin: 0 20px; - background: url('../images/logo.png') no-repeat; - width: 172px; - height: 100px; - font-size: 1px; - color: white; - display: inline-block; - vertical-align: middle; -} - -.sponsors { - min-width: 250px; -} - -.sponsors div { - padding: 0.5em 0 0.5em 0; -} - -.sponsors p a { - font-size: smaller; - color: #666699; -} -.sp { - display: table; - width: 100%; -} -.sp a { - display:table-cell; - vertical-align:middle; - min-width: 264px; - text-align: center; -} -.diamond { - height: 250px; -} -.platinum { - height: 130px; -} -.gold { - height: 70px; -} - -.logos a { - display: inline-block; - padding: 0.5em; - vertical-align: middle; - /* 250 + 2 * 7 padding */ - min-width: 264px; - text-align: center; -} - -.themeimg { - height: 8em !important; - max-width: 30em !important; -} - -p.date { - font-size: smaller; -} - -p { - max-width: 55em; - margin: 1em; -} - -.book img { - margin: 1em; - float: left; - border: 1px solid black; -} - -.screenshot { - float: left; - border: 1px solid #7584b3; - margin: 0.2em; - padding: 0.2em; -} - -.screenshot img { - max-height: 150px; - overflow: hidden; -} - -.bookbanner { - float: left; - margin: 1em; - width: 150px; - height: 185px; - overflow: hidden; -} - -p.award { - font-size: large; - font-weight: bold; -} - -.td-bar { - width: 400px; -} - -.progress { - margin-bottom: 0; -} -.progress-bar { - min-width: 3em; -} - -.td-size { - text-align: right; -} - -td.count { - text-align: right; -} - -em.big { - font-style: normal; - font-size: 1.2em; -} -div.subscribe { - text-align: center; -} -.fa-google-plus-square { - color: #dd4b39; -} -.fa-twitter-square { - color: #55acee; -} -.fa-facebook-official { - color: #3b5998; -} -.logo .fa { - text-decoration: none; - font-size: 150%; -} -.sfc-logo { - text-align: center; -} -footer ul { - padding:0; - margin:1em; - max-width:none; - clear:both; -} -footer li{ - font-size:small; - list-style:none; - float:left; - padding:1em; - color:gray; - border:none; -} -.security a { - white-space: nowrap; -} -.ahead { - display: block; -} -.img-margin { - margin: 7px; -} - -#cycler { - position: relative; -} -#cycler img { - position: absolute; - z-index: 1; -} -#cycler .active{ - z-index: 3; -} - -.boxes a { - display: block; - margin: 5px; -} - -.featured-dl { - font-weight: bold; -} -.images .col-md-3 { - min-height: 300px; -} diff --git a/pmaweb/static/css/styles.css b/pmaweb/static/css/styles.css new file mode 100644 index 00000000..00a97b3e --- /dev/null +++ b/pmaweb/static/css/styles.css @@ -0,0 +1,20 @@ +#logo { + background: url('../images/logo.svg') no-repeat; + width: 172px; + height: 100px; + text-indent: -9999px; + display: inline-block; +} + +.bi { + width: 1em; + height: 1em; + vertical-align: -.125em; + fill: currentcolor; +} + +/* Lightbox carousel has a black background; in dark mode, control icons would be invisible. */ +[data-bs-theme=dark] .lightbox-carousel .carousel-control-next-icon, +[data-bs-theme=dark] .lightbox-carousel .carousel-control-prev-icon { + filter: none; +} diff --git a/pmaweb/static/images/BrowserStackLogo.png b/pmaweb/static/images/BrowserStackLogo.png deleted file mode 100644 index 3cf70fb7..00000000 Binary files a/pmaweb/static/images/BrowserStackLogo.png and /dev/null differ diff --git a/pmaweb/static/images/books/pma_cz_90x122.jpg b/pmaweb/static/images/books/pma_cz_90x122.jpg deleted file mode 100644 index dd54699d..00000000 Binary files a/pmaweb/static/images/books/pma_cz_90x122.jpg and /dev/null differ diff --git a/pmaweb/static/images/books/pma_en_100x123.png b/pmaweb/static/images/books/pma_en_100x123.png deleted file mode 100644 index 84bcdfba..00000000 Binary files a/pmaweb/static/images/books/pma_en_100x123.png and /dev/null differ diff --git a/pmaweb/static/images/books/pma_en_3.4_150x185.png b/pmaweb/static/images/books/pma_en_3.4_150x185.png deleted file mode 100644 index dbeada02..00000000 Binary files a/pmaweb/static/images/books/pma_en_3.4_150x185.png and /dev/null differ diff --git a/pmaweb/static/images/books/pma_en_mastering_2.11.png b/pmaweb/static/images/books/pma_en_mastering_2.11.png new file mode 100644 index 00000000..33b9141e Binary files /dev/null and b/pmaweb/static/images/books/pma_en_mastering_2.11.png differ diff --git a/pmaweb/static/images/books/pma_en_mastering_3.4.png b/pmaweb/static/images/books/pma_en_mastering_3.4.png new file mode 100644 index 00000000..7317f272 Binary files /dev/null and b/pmaweb/static/images/books/pma_en_mastering_3.4.png differ diff --git a/pmaweb/static/images/books/pma_en_starter.jpg b/pmaweb/static/images/books/pma_en_starter.jpg new file mode 100644 index 00000000..d22491e2 Binary files /dev/null and b/pmaweb/static/images/books/pma_en_starter.jpg differ diff --git a/pmaweb/static/images/books/pma_es_100x123.png b/pmaweb/static/images/books/pma_es_100x123.png deleted file mode 100644 index b0dac26e..00000000 Binary files a/pmaweb/static/images/books/pma_es_100x123.png and /dev/null differ diff --git a/pmaweb/static/images/books/pma_starter_150x184.jpg b/pmaweb/static/images/books/pma_starter_150x184.jpg deleted file mode 100644 index a6b5069e..00000000 Binary files a/pmaweb/static/images/books/pma_starter_150x184.jpg and /dev/null differ diff --git a/pmaweb/static/images/cdn77_logo.png b/pmaweb/static/images/cdn77_logo.png deleted file mode 100644 index a14843f2..00000000 Binary files a/pmaweb/static/images/cdn77_logo.png and /dev/null differ diff --git a/pmaweb/static/images/conservancy.png b/pmaweb/static/images/conservancy.png new file mode 100644 index 00000000..231e05f9 Binary files /dev/null and b/pmaweb/static/images/conservancy.png differ diff --git a/pmaweb/static/images/github.png b/pmaweb/static/images/github.png deleted file mode 100644 index 1a08a2e9..00000000 Binary files a/pmaweb/static/images/github.png and /dev/null differ diff --git a/pmaweb/static/images/logo.svg b/pmaweb/static/images/logo.svg new file mode 100644 index 00000000..6ef23a87 --- /dev/null +++ b/pmaweb/static/images/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/pmaweb/static/images/scrutinizer.png b/pmaweb/static/images/scrutinizer.png deleted file mode 100644 index 546e60a6..00000000 Binary files a/pmaweb/static/images/scrutinizer.png and /dev/null differ diff --git a/pmaweb/static/images/security-audit_250.png b/pmaweb/static/images/security-audit_250.png deleted file mode 100644 index 5828c3a1..00000000 Binary files a/pmaweb/static/images/security-audit_250.png and /dev/null differ diff --git a/pmaweb/static/images/sfc_logo.png b/pmaweb/static/images/sfc_logo.png deleted file mode 100644 index 90913265..00000000 Binary files a/pmaweb/static/images/sfc_logo.png and /dev/null differ diff --git a/pmaweb/static/images/4kdownload.png b/pmaweb/static/images/sponsors/4kdownload.png similarity index 100% rename from pmaweb/static/images/4kdownload.png rename to pmaweb/static/images/sponsors/4kdownload.png diff --git a/pmaweb/static/images/bountii.png b/pmaweb/static/images/sponsors/bountii.png similarity index 100% rename from pmaweb/static/images/bountii.png rename to pmaweb/static/images/sponsors/bountii.png diff --git a/pmaweb/static/images/sponsors/browserstack.png b/pmaweb/static/images/sponsors/browserstack.png new file mode 100644 index 00000000..c1cbabef Binary files /dev/null and b/pmaweb/static/images/sponsors/browserstack.png differ diff --git a/pmaweb/static/images/buycheapestfollowers.png b/pmaweb/static/images/sponsors/buycheapestfollowers.png similarity index 100% rename from pmaweb/static/images/buycheapestfollowers.png rename to pmaweb/static/images/sponsors/buycheapestfollowers.png diff --git a/pmaweb/static/images/buzzoid.png b/pmaweb/static/images/sponsors/buzzoid.png similarity index 100% rename from pmaweb/static/images/buzzoid.png rename to pmaweb/static/images/sponsors/buzzoid.png diff --git a/pmaweb/static/images/sponsors/cdn77.png b/pmaweb/static/images/sponsors/cdn77.png new file mode 100644 index 00000000..c9087f4c Binary files /dev/null and b/pmaweb/static/images/sponsors/cdn77.png differ diff --git a/pmaweb/static/images/celebian.png b/pmaweb/static/images/sponsors/celebian.png similarity index 100% rename from pmaweb/static/images/celebian.png rename to pmaweb/static/images/sponsors/celebian.png diff --git a/pmaweb/static/images/copycopter.png b/pmaweb/static/images/sponsors/copycopter.png similarity index 100% rename from pmaweb/static/images/copycopter.png rename to pmaweb/static/images/sponsors/copycopter.png diff --git a/pmaweb/static/images/famety.png b/pmaweb/static/images/sponsors/famety.png similarity index 100% rename from pmaweb/static/images/famety.png rename to pmaweb/static/images/sponsors/famety.png diff --git a/pmaweb/static/images/follower24.png b/pmaweb/static/images/sponsors/follower24.png similarity index 100% rename from pmaweb/static/images/follower24.png rename to pmaweb/static/images/sponsors/follower24.png diff --git a/pmaweb/static/images/sponsors/github.png b/pmaweb/static/images/sponsors/github.png new file mode 100644 index 00000000..f10f640e Binary files /dev/null and b/pmaweb/static/images/sponsors/github.png differ diff --git a/pmaweb/static/images/idigic.png b/pmaweb/static/images/sponsors/idigic.png similarity index 100% rename from pmaweb/static/images/idigic.png rename to pmaweb/static/images/sponsors/idigic.png diff --git a/pmaweb/static/images/megafamous.png b/pmaweb/static/images/sponsors/megafamous.png similarity index 100% rename from pmaweb/static/images/megafamous.png rename to pmaweb/static/images/sponsors/megafamous.png diff --git a/pmaweb/static/images/quickbookstoolhub.png b/pmaweb/static/images/sponsors/quickbookstoolhub.png similarity index 100% rename from pmaweb/static/images/quickbookstoolhub.png rename to pmaweb/static/images/sponsors/quickbookstoolhub.png diff --git a/pmaweb/static/images/ramotion.png b/pmaweb/static/images/sponsors/ramotion.png similarity index 100% rename from pmaweb/static/images/ramotion.png rename to pmaweb/static/images/sponsors/ramotion.png diff --git a/pmaweb/static/images/sponsors/scrutinizer.png b/pmaweb/static/images/sponsors/scrutinizer.png new file mode 100644 index 00000000..6f0f8caf Binary files /dev/null and b/pmaweb/static/images/sponsors/scrutinizer.png differ diff --git a/pmaweb/static/images/socialboosting.png b/pmaweb/static/images/sponsors/socialboosting.png similarity index 100% rename from pmaweb/static/images/socialboosting.png rename to pmaweb/static/images/sponsors/socialboosting.png diff --git a/pmaweb/static/images/socialboss.png b/pmaweb/static/images/sponsors/socialboss.png similarity index 100% rename from pmaweb/static/images/socialboss.png rename to pmaweb/static/images/sponsors/socialboss.png diff --git a/pmaweb/static/images/superviral.png b/pmaweb/static/images/sponsors/superviral.png similarity index 100% rename from pmaweb/static/images/superviral.png rename to pmaweb/static/images/sponsors/superviral.png diff --git a/pmaweb/static/images/twicsy.png b/pmaweb/static/images/sponsors/twicsy.png similarity index 100% rename from pmaweb/static/images/twicsy.png rename to pmaweb/static/images/sponsors/twicsy.png diff --git a/pmaweb/static/images/vape.png b/pmaweb/static/images/sponsors/vape.png similarity index 100% rename from pmaweb/static/images/vape.png rename to pmaweb/static/images/sponsors/vape.png diff --git a/pmaweb/static/images/vapehuset.png b/pmaweb/static/images/sponsors/vapehuset.png similarity index 100% rename from pmaweb/static/images/vapehuset.png rename to pmaweb/static/images/sponsors/vapehuset.png diff --git a/pmaweb/static/images/views4you.png b/pmaweb/static/images/sponsors/views4you.png similarity index 100% rename from pmaweb/static/images/views4you.png rename to pmaweb/static/images/sponsors/views4you.png diff --git a/pmaweb/static/images/viralyft.png b/pmaweb/static/images/sponsors/viralyft.png similarity index 100% rename from pmaweb/static/images/viralyft.png rename to pmaweb/static/images/sponsors/viralyft.png diff --git a/pmaweb/static/images/sponsors/weblate.png b/pmaweb/static/images/sponsors/weblate.png new file mode 100644 index 00000000..b81233bd Binary files /dev/null and b/pmaweb/static/images/sponsors/weblate.png differ diff --git a/pmaweb/static/images/weblate-button.png b/pmaweb/static/images/weblate-button.png deleted file mode 100644 index 1f7d7235..00000000 Binary files a/pmaweb/static/images/weblate-button.png and /dev/null differ diff --git a/pmaweb/static/js/color-modes.js b/pmaweb/static/js/color-modes.js new file mode 100644 index 00000000..8a0dabf1 --- /dev/null +++ b/pmaweb/static/js/color-modes.js @@ -0,0 +1,80 @@ +/*! + * Color mode toggler for Bootstrap's docs (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors + * Licensed under the Creative Commons Attribution 3.0 Unported License. + */ + +(() => { + 'use strict' + + const getStoredTheme = () => localStorage.getItem('theme') + const setStoredTheme = theme => localStorage.setItem('theme', theme) + + const getPreferredTheme = () => { + const storedTheme = getStoredTheme() + if (storedTheme) { + return storedTheme + } + + return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light' + } + + const setTheme = theme => { + if (theme === 'auto') { + document.documentElement.setAttribute('data-bs-theme', (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light')) + } else { + document.documentElement.setAttribute('data-bs-theme', theme) + } + } + + setTheme(getPreferredTheme()) + + const showActiveTheme = (theme, focus = false) => { + const themeSwitcher = document.querySelector('#bd-theme') + + if (!themeSwitcher) { + return + } + + const themeSwitcherText = document.querySelector('#bd-theme-text') + const activeThemeIcon = document.querySelector('.theme-icon-active use') + const btnToActive = document.querySelector(`[data-bs-theme-value="${theme}"]`) + const svgOfActiveBtn = btnToActive.querySelector('svg use').getAttribute('href') + + document.querySelectorAll('[data-bs-theme-value]').forEach(element => { + element.classList.remove('active') + element.setAttribute('aria-pressed', 'false') + }) + + btnToActive.classList.add('active') + btnToActive.setAttribute('aria-pressed', 'true') + activeThemeIcon.setAttribute('href', svgOfActiveBtn) + const themeSwitcherLabel = `${themeSwitcherText.textContent} (${btnToActive.dataset.bsThemeValue})` + themeSwitcher.setAttribute('aria-label', themeSwitcherLabel) + + if (focus) { + themeSwitcher.focus() + } + } + + window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => { + const storedTheme = getStoredTheme() + if (storedTheme !== 'light' && storedTheme !== 'dark') { + setTheme(getPreferredTheme()) + } + }) + + window.addEventListener('DOMContentLoaded', () => { + showActiveTheme(getPreferredTheme()) + + document.querySelectorAll('[data-bs-theme-value]') + .forEach(toggle => { + toggle.addEventListener('click', () => { + const theme = toggle.getAttribute('data-bs-theme-value') + setStoredTheme(theme) + setTheme(theme) + showActiveTheme(theme, true) + }) + }) + }) +})() diff --git a/pmaweb/static/js/loader.js b/pmaweb/static/js/loader.js deleted file mode 100644 index 9b522f3b..00000000 --- a/pmaweb/static/js/loader.js +++ /dev/null @@ -1,82 +0,0 @@ -function cycleImages(){ - var $active = $('#cycler .active'); - var $next = ($active.next().length > 0) ? $active.next() : $('#cycler img:first'); - $next.css('z-index',2);//move the next image up the pile - $active.fadeOut(1500,function(){//fade out the top image - $active.css('z-index',1).show().removeClass('active');//reset the z-index and unhide the image - $next.css('z-index',3).addClass('active');//make the next image the top one - }); - } - -/** - * Shows only subset of divs with class "theme" which have class passed - * as a parameter. - */ -function showTheme(version) { - $('.themelink').parent().removeClass('active'); - $('.themelink.' + version).parent().addClass('active'); - if (version === "all") { - $(".themediv").show(); - return; - } - $(".themediv." + version).show(); - $(".themediv:not(." + version + ")").hide(); -} - -/* Auto load blocks */ -$(function(){ - // run every 5s - setInterval(cycleImages, 5000); - - // colorbox init - $('.colorbox').colorbox({ - rel: 'gal', - maxWidth: '100%', - maxHeight: '100%', - width: '100%', - height: '100%', - current: '{current}/{total}' - }); - - - /* Theme loader */ - if ($(".themediv").length > 0) { - - var hash = null; - - /* Do we have some parameter? */ - if (self.document.location.hash.length > 1) { - hash = self.document.location.hash.substring(1); - /* Check validity */ - if (hash.match(/^(pma_[0-9]_[0-9]|all)$/) === null) { - hash = null; - } - } - if (hash === null) { - hash = $('.themelink:last').data('theme'); - } - - /* Finally show chosen schema */ - showTheme(hash); - - $('.themelink').on('click', function () { - showTheme($(this).data('theme')); - }); - } - - $('.download_popup').on('click', function () { - var $this = $(this); - var pgp = $this.data('pgp'); - ga('send', 'event', 'Download', $this.attr('href').replace('https://files.phpmyadmin.net/', '')); - $('#dl-link').attr('href', $this.attr('href')); - $('#dl-sha256').text($this.data('sha256')); - if (pgp !== '') { - $('#dl-li-pgp').show(); - $('#dl-pgp').attr('href', pgp); - } else { - $('#dl-li-pgp').hide(); - } - $('#downloadModal').modal('show'); - }); - -}); diff --git a/pmaweb/static/js/scripts.js b/pmaweb/static/js/scripts.js new file mode 100644 index 00000000..982086aa --- /dev/null +++ b/pmaweb/static/js/scripts.js @@ -0,0 +1,53 @@ +(() => { + 'use strict' + + const handleDownloadButtons = () => { + const downloadButtons = document.querySelectorAll('#downloadBtn') + downloadButtons.forEach(button => { + button.addEventListener('click', () => { + const link = button.href.split('/').pop() + ga('send', 'event', 'Download', link) + showDownloadModal(button) + }) + }) + } + + const showDownloadModal = button => { + const dlLink = document.getElementById('dl-link') + const pgpContainer = document.getElementById('pgp-container') + const pgpLink = document.getElementById('pgp-link') + const sha256Code = document.getElementById('sha256-code') + + const downloadLink = button.getAttribute('href') + const pgp = button.getAttribute('data-pgp') + const sha256 = button.getAttribute('data-sha256') + + if (pgp) { + pgpLink.href = pgp + } else { + pgpContainer.classList.add('d-none') + } + + dlLink.href = downloadLink + sha256Code.textContent = sha256 + + const downloadModal = new bootstrap.Modal(document.getElementById('downloadModal')) + downloadModal.show() + } + + const initializeTooltips = () => { + const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]') + tooltipTriggerList.forEach(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl)) + } + + const initializeLightbox = () => { + const lightboxElements = document.querySelectorAll('[data-toggle="lightbox"]') + lightboxElements.forEach(el => el.addEventListener('click', Lightbox.initialize)) + } + + window.addEventListener('DOMContentLoaded', () => { + handleDownloadButtons() + initializeTooltips() + initializeLightbox() + }) +})() diff --git a/pmaweb/templates/404.html b/pmaweb/templates/404.html index f1b8bfef..8b1c284c 100644 --- a/pmaweb/templates/404.html +++ b/pmaweb/templates/404.html @@ -2,20 +2,13 @@ {% load static %} {% block content %} -+ The requested URL was not found on this server. This might have several + causes, but if you found this link on some page, you should notify its author + that it no longer works. +
-The requested URL was not found on this server. This might have several -causes, but if you found this link on some page, you should notify its author -that it no longer works. Please follow to our main -page to find information you were looking for or use the navigation bar above. + Please go to our home page to find the information you were looking for or use the navigation bar above.
- - - - {% endblock %} diff --git a/pmaweb/templates/_conservancy.html b/pmaweb/templates/_conservancy.html index 490c97d4..42690ba7 100644 --- a/pmaweb/templates/_conservancy.html +++ b/pmaweb/templates/_conservancy.html @@ -1,8 +1,6 @@-phpMyAdmin is a member project of Software -Freedom Conservancy. Conservancy is -a not-for-profit organization that provides financial and administrative -assistance to open source projects. Since Conservancy is a 501(c)(3) charity -incorporated in New York, donors can often deduct the donation on their USA -taxes. + phpMyAdmin is a member project of the + Software Freedom Conservancy. + The Conservancy is a not-for-profit organization that provides financial and administrative assistance to open source projects. + As a 501(c)(3) charity incorporated in New York, donations to the Conservancy are often tax-deductible in the USA.
diff --git a/pmaweb/templates/_dlbox.html b/pmaweb/templates/_dlbox.html deleted file mode 100644 index 12d8898d..00000000 --- a/pmaweb/templates/_dlbox.html +++ /dev/null @@ -1,3 +0,0 @@ -{% with release.simpledownload as file %} - Download {{ release.version }} -{% endwith %} diff --git a/pmaweb/templates/_dllist.html b/pmaweb/templates/_dllist.html deleted file mode 100644 index 4d313285..00000000 --- a/pmaweb/templates/_dllist.html +++ /dev/null @@ -1,12 +0,0 @@ -{{ release.get_version_info }}
- -{% with release.get_downloads as download_list %} - -{% if download_list %} -{% include '_dltable.html' %} -{% else %} -File | -Size | -Verification | -
---|
{{ release.get_version_info }}
+ +{% with release.get_downloads as download_list %} + {% if download_list %} + {% include '_download_table.html' %} + {% else %} +File | +Size | +Verification * | +
---|
Daily snapshot, generated {{release.date|date:"Y-m-d"}}, from Git commit {{ release.release_notes.raw }}.
++ Daily snapshot, generated {{ release.date|date:"Y-m-d" }}, from + Git commit {{ release.release_notes.raw }}. +
{% else %} -Released {{release.date|date:"Y-m-d"}}, see release notes for details.
++ Released {{ release.date|date:"Y-m-d" }}, see + release notes + for details. +
{% endif %} -{% include "_dllist.html" %} +{% include "_download_list.html" %} diff --git a/pmaweb/templates/_sponsors.html b/pmaweb/templates/_sponsors.html index 3d1a0e78..3042e357 100644 --- a/pmaweb/templates/_sponsors.html +++ b/pmaweb/templates/_sponsors.html @@ -1,99 +1,113 @@ {% load static %}Level | Yearly amount (USD) | Logo/link |
---|---|---|
Diamond | $20000 | 250x250 logo on home page and sponsors page |
Platinum | $10000 | 250x130 logo on home page and sponsors page |
Gold | $5000 | 250x70 logo or text link on home page and sponsors page |
Silver | $2500 | 250x70 logo only on sponsors page |
Bronze | $1000 | text link on sponsors page |
Level | +Yearly Amount (USD) | +Logo/Link | +
---|---|---|
Diamond | +$20,000 | +250x250 logo on home page and sponsors page | +
Platinum | +$10,000 | +250x130 logo on home page and sponsors page | +
Gold | +$5,000 | +250x70 logo or text link on home page and sponsors page | +
Silver | +$2,500 | +250x70 logo on sponsors page | +
Bronze | +$1,000 | +Text link on sponsors page | +
-If you use phpMyAdmin or offer it to your customers, please consider -sponsoring the project with a yearly donation. The money will be used to -improve phpMyAdmin, bring phpMyAdmin developers to conferences and to cover -costs for services required to run the project. -
+If you use phpMyAdmin or offer it to your customers, please consider sponsoring the project with a yearly donation. Your support helps improve phpMyAdmin, brings developers to conferences, and covers the costs of running the project.
--Please note that we might refuse to link to some sites which -we consider unethical or inappropriate. -
+Please note that we may refuse links to sites we consider unethical or inappropriate.
--Thank you for your support! -
+Thank you for your support!
diff --git a/pmaweb/templates/_sponsorship_note.html b/pmaweb/templates/_sponsorship_note.html deleted file mode 100644 index 5058d30e..00000000 --- a/pmaweb/templates/_sponsorship_note.html +++ /dev/null @@ -1,3 +0,0 @@ -See other sponsors and information for new sponsors.
diff --git a/pmaweb/templates/_stable-download.html b/pmaweb/templates/_stable_download.html similarity index 66% rename from pmaweb/templates/_stable-download.html rename to pmaweb/templates/_stable_download.html index 68b41c78..5d274323 100644 --- a/pmaweb/templates/_stable-download.html +++ b/pmaweb/templates/_stable_download.html @@ -1,3 +1,3 @@ {% with latest=1 download_list=latest_release.get_downloads %} -{% include '_dltable.html' %} + {% include '_download_table.html' %} {% endwith %} diff --git a/pmaweb/templates/_svg_symbols.html b/pmaweb/templates/_svg_symbols.html new file mode 100644 index 00000000..4a838c42 --- /dev/null +++ b/pmaweb/templates/_svg_symbols.html @@ -0,0 +1,40 @@ + diff --git a/pmaweb/templates/_verify.html b/pmaweb/templates/_verify.html index 7d63c671..63c0a5dd 100644 --- a/pmaweb/templates/_verify.html +++ b/pmaweb/templates/_verify.html @@ -1,6 +1,7 @@ --Since July 2015 all phpMyAdmin releases are cryptographically signed by the -releasing developer. You should verify that the signature matches the archive -you have downloaded. Verification instructions are placed in our -documentation in the Verifying phpMyAdmin releases chapter. +
+ * Since July 2015, all phpMyAdmin releases are cryptographically signed by the releasing developer. + You should verify that the signature matches the archive you downloaded. + Detailed verification instructions are available in the + Verifying phpMyAdmin releases + chapter of our documentation.
diff --git a/pmaweb/templates/awards.html b/pmaweb/templates/awards.html index 8f6042c5..0b73c2c8 100644 --- a/pmaweb/templates/awards.html +++ b/pmaweb/templates/awards.html @@ -2,24 +2,28 @@ {% load static %} {% block content %} +Photos: - {% for photo in award.photos %} - - {{photo.1}} - - {% endfor %} -
- {% endif %} +Photos: + {% for photo in award.photos %} + {{ photo.1 }}{% if not forloop.last %}, {% endif %} + {% endfor %} +
+ {% endif %} +