diff --git a/CHANGES.md b/CHANGES.md
index 107a8f50..1dd367ed 100755
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -7,7 +7,10 @@
- Menu : déplacement de la classe "active".
- Le titre dans la configuration du module non affiché si le titre de la page est masqué.
- Installation : bug si le masque de saisie est validé vide.
+ - Classe jsonDb, suppression de la réinitialisation de la structure de données en cas d'absence.
- Modifications :
+ - Noyau :
+ - Mise en cache des données des modules.
- Module recherche :
- La recherche dans le site devient un module externe plutôt qu'un module interne ;
- Diverses corrections optimisations permettant une recherche à l'aide de plusieurs mot-clés.
@@ -17,6 +20,8 @@
- Pages 403 (accès interdit) et 404 (page introuvable) personnalisables
- Sauvegarde du site dans une archive : animation d'attente avec message de confirmation ou d'erreur. ; le nom de l'archive prend le nom du sous-domaine s'il existe.
- Captcha : addition présentée en lettres sous la forme d'images, réponse en chiffres ; correction du nom de la fonction (capcha en captcha).
+- Mise à jour :
+ - Script favicon-switcher 1.2.2
## version 10.2.09
- Correction :
diff --git a/core/core.php b/core/core.php
index e9a0d6d7..08fe661e 100644
--- a/core/core.php
+++ b/core/core.php
@@ -2301,7 +2301,8 @@ class layout extends common {
file_exists(self::FILE_DIR.'source/' . $faviconDark)
) {
echo '';
- echo '';
+ //echo '';
+ echo '';
}
}
diff --git a/core/vendor/favicon-switcher/favicon-switcher.js b/core/vendor/favicon-switcher/favicon-switcher.js
new file mode 100644
index 00000000..6a72a463
--- /dev/null
+++ b/core/vendor/favicon-switcher/favicon-switcher.js
@@ -0,0 +1,56 @@
+;(function(mod){
+ function collectLinks() {
+ return Array.prototype.slice.apply(
+ document.head.querySelectorAll('link[rel*="icon"]')
+ )
+ }
+
+ function applyLink(source, target) {
+ target.setAttribute('type', source.getAttribute('type'))
+ target.setAttribute('href', source.getAttribute('href'))
+ }
+
+ // eslint-disable-next-line no-unused-vars
+ function initSwitcher(delay) {
+ // Exit if media queries aren't supported
+ if (typeof window.matchMedia !== 'function') {
+ return function noop() {}
+ }
+
+ var links = collectLinks()
+ var current = document.createElement('link')
+ var prevMatch
+
+ current.setAttribute('rel', 'shortcut icon')
+ document.head.appendChild(current)
+
+ function faviconApplyLoop() {
+ links.forEach(function(link) {
+ if (window.matchMedia(link.media).matches) {
+ if (link.media !== prevMatch) {
+ prevMatch = link.media
+ applyLink(link, current)
+ }
+ }
+ })
+ }
+
+ var intervalId = setInterval(faviconApplyLoop, delay || 300)
+
+ function unsubscribe() {
+ clearInterval(intervalId)
+ links.forEach(function(link) {
+ document.head.appendChild(link)
+ })
+ }
+
+ faviconApplyLoop()
+ links.forEach(function(link) {
+ document.head.removeChild(link)
+ })
+
+ return unsubscribe
+ }
+
+ initSwitcher()
+ })()