Implémente https://github.com/marienfressinaud/FreshRSS/issues/260
(évite les comparaisons de chaînes au profit des vrais booléens et
entiers)
Grosse simplification et réduction du code relatif à la configuration.
Supprime ConfigurationDAO.
Permet de simplifier considérablement configureController.
Évite de multiples copies des mêmes données en mémoire.
Évite de garder plusieurs versions de la configuration en mémoire
(auparavant : dans un tableau au niveau de ModelArray + au niveau de
FreshRSS_Configuration + en Session + des copies temporaires comme
ConfigurationDAO).
Ne stocke plus 'conf' en Session (n'était presque pas utilisé).
Évite de recharger plusieurs fois Translate inutilement.
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/303
Utilisation de fonctions natives de PHP comme file_put_contents et
var_export
Évite de garder un descripteur de fichier ouvert tout le temps
Et ModelTxt n'est plus utilisé
Traite mieux les caractères spéciaux.
Permet par exemple une recherche sur des mots contenant des apostrophes,
ou le signe pourcentage, etc.
Il faudra toujours essayer d'améliorer la recherche en particulier
lorsque plusieurs mots sont fournis
C'est parti de changements pour
https://github.com/marienfressinaud/FreshRSS/issues/255 et finalement
j'ai continué la refactorisation...
Ajout de préfixes FreshRSS_ et Minz_ sur le modèle de SimplePie_.
Toutes les classes sont maintenant en chargement automatique (devrait
améliorer les performances en évitant de charger plein de classes
inutilisées, et faciliter la maintenance).
Suppression de set_include_path().
Si souhaité, certaines classes de Minz pourraient être déplacées dans un
sous-répertoire, par exemple les exceptions.
Tests et relecture nécessaires.
Microtime(true) dépend de la précision de PHP définie dans php.ini, et
par défaut, nous perdons les deux dernières décimales des microsecondes.
Du coup, sur une machine très rapide, cela aurait pu poser des problèmes
d'identifiants dupliqués.
Patch utilisant gettimeofday() à la place.
Au passage, reste en string tout le long et plus besoin de faire la
conversion CAST(? * 1000000 AS SIGNED INTEGER) côté base de données.
https://github.com/marienfressinaud/FreshRSS/issues/202
Une vidéo telle <iframe
src="//www.youtube.com/embed/Q5okb9Vc8SY"></iframe> fonctionne
maintenant sur un FreshRSS hébergé en HTTPS.
Cela pourrait sûrement être écrit de manière plus propre quelque part
dans SimplePie_IRI::absolutize.
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/188
Et filtrage de object, embed
https://github.com/marienfressinaud/FreshRSS/issues/188
On ajoute un paramètre preload="none" à audio et video, ainsi qu'un
paramètre sandbox="allow-scripts allow-same-origin" aux iframe.
On interdit les paramètres autoplay et seamless de audio et video.
Ré-écriture des URLS de l'attribut poster de video, ainsi que de
l'attribut src de iframe.
Suite de https://github.com/marienfressinaud/FreshRSS/issues/267
Au passage, filtrage du vieil élément PLAINTEXT.
Modifications dans SimplePie.
Charge et sauve la description des flux.
Redirige vers la page d'accueil après une importation OPML (maintenant
rapide, et pour mieux permettre le rafraîchissement des flux avec moins
de risques que l'utilisateur quitte la page)
Suite de https://github.com/marienfressinaud/FreshRSS/issues/228