aboutsummaryrefslogtreecommitdiff
path: root/app/models
AgeCommit message (Collapse)Author
2013-11-17Nouveau fichier constants.phpGravatar Alexandre Alapetite
En particulier pour stocker le numéro de version de FreshRSS utilisé entre autres par https://github.com/marienfressinaud/FreshRSS/issues/174 et centraliser les constantes de chemins Implémente https://github.com/marienfressinaud/FreshRSS/issues/271
2013-11-17UseragentGravatar Alexandre Alapetite
Exemple : `FreshRSS/0.7 (Linux; http://marienfressinaud.github.io/FreshRSS/) SimplePie/1.3.1` Voir https://github.com/marienfressinaud/FreshRSS/issues/271 pour le numéro de version
2013-11-17Correction html_only_entity_decode authorGravatar Alexandre Alapetite
2013-11-16SQL : grosse mise à jour avec mise en cache du nombre d'articles lus/non-lusGravatar Alexandre Alapetite
* Mise en cache du nombre d'articles lus et non-lus par flux, via `f.cache_nbEntries, f.cache_nbUnreads` pour de biens meilleures performances * Implémente https://github.com/marienfressinaud/FreshRSS/issues/268 * Révision de la plupart des requêtes de modification en conséquence * En cas d'affichage `not_read`, évite de faire une requête si on sait déjà qu'il n'y a pas d'article non lu et fait directement un affichage `all`. * Appelle `cleanOldEntries` seulement une fois de temps en temps aléatoirement (1 fois sur 30 actuellement) pour économiser les ressources, et avant les insertions pour plus de robustesse. * Utilisation des transactions lors de mises à jour multiples et liées * Lors de requêtes de modifications, retourne le nombre de lignes impactées plutôt qu'un booléen en cas de succès * Suppression de code oublié relatif à is_public qui n'est plus utilisé
2013-11-15Url absolues pour les balises video, audio, source, trackGravatar Alexandre Alapetite
Corrige https://github.com/marienfressinaud/FreshRSS/issues/267
2013-11-13Amélioration vitesse lecture des logsGravatar Alexandre Alapetite
2013-11-13Affichage du nombre total d'article sur la page de configurationGravatar Alexandre Alapetite
https://github.com/marienfressinaud/FreshRSS/issues/263 Style à améliorer éventuellement
2013-11-12Cohérence htmlspecialcharsGravatar Alexandre Alapetite
Le texte dans la base de données est en htmlspecialchars(UTF-8) (c'est-à-dire avec `<>&'"` encodés) mais maintenant sans autre entité HTML depuis https://github.com/marienfressinaud/FreshRSS/commit/a4fc7becb8553198d132633d775989c89c8116cd Ce patch supprime les htmlspecialchars qui faisaient du double-encodage, et en modifie d'autres en entrée.
2013-11-12SQL : Optimisation vitesseGravatar Alexandre Alapetite
Optimisation de la vitesse de quelques requêtes, surtout après les essais d'INDEX. Suite de https://github.com/marienfressinaud/FreshRSS/issues/254 Note pour plus tard : il faudra supprimer les INDEX inutilisés.
2013-11-12Suppression de requêtes de catégorie et de fluxGravatar Alexandre Alapetite
* Suppression de requêtes inutiles en utilisant mieux les données déjà reçues. * Change la signature de `CategoryDAO->listCategories ($prePopulateFeeds = true, $details = false)` pour ne pas charger de détails inutiles pour la vue principale (comme feed.description, feed.url...). * C'est la requête la plus importante. Suite de https://github.com/marienfressinaud/FreshRSS/pull/180
2013-11-11MySQL : protection longueurs catégoriesGravatar Alexandre Alapetite
2013-11-11MySQL : changements mineurs de typesGravatar Alexandre Alapetite
D'autres changements de types, toujours sans modification de comportement, mais plus efficace. En particulier char(6) plutôt que varchar(6) pour les identifiants en attendant un entier, et varchar plutôt que text dans des champs généralement courts et souvent retournés par les requêtes les plus importantes
2013-11-11MySQL : Longueurs maximum des champs texteGravatar Alexandre Alapetite
Ajout de sécurités pour ne pas dépasser les longueurs de texte déclarées dans MySQL (varchar ou text selon les champs)
2013-11-11Décode les entités HTML en conservant les entités XMLGravatar Alexandre Alapetite
N'ayant pas trouvé comment régler SimplePie pour ne pas avoir d'entités HTML comme `&eacute;`, voici un patch qui les décode en sortie de SimplePie tout en conservant les entités XML comme `&amp;`. Contribue à https://github.com/marienfressinaud/FreshRSS/issues/247
2013-11-09Réduction durée cache SimplePieGravatar Alexandre Alapetite
Réduction de la durée du cache SimplePie pour pouvoir plus facilement choisir la fréquence de rafraîchissement par Cron. Serait peut-être mieux ailleurs. Contribue à https://github.com/marienfressinaud/FreshRSS/issues/250
2013-11-09Affichage dynamique des favoris non lusGravatar Alexandre Alapetite
Corrige https://github.com/marienfressinaud/FreshRSS/issues/222 Il reste toujours une situation curieuse lorsqu'on a fini de lire tous les favoris non-lus, mais à voir une autre fois
2013-11-07Renomme fichiers selon leur classeGravatar Alexandre Alapetite
Corrige https://github.com/marienfressinaud/FreshRSS/issues/191
2013-11-07Plus de tolérance pour les fluxGravatar Alexandre Alapetite
Utilise une méthode moins stricte qui tolère des erreurs XML dans les flux. Le choix de l'encodage en entrée a dû être légèrement changé car SimplePie a une stratégie d'essayer plusieurs encodages jusqu'à en trouver un qui marche. En étant moins strict sur les erreurs, ça marche plus souvent, et du coup les encodages n'étaient plus bon. À essayer avec plein de flux. Tous mes flux passent (~150). Devrait permettre de fermer https://github.com/marienfressinaud/FreshRSS/issues/233 Fonctionne aussi avec des flux à encodage invalide comme http://travaux.ovh.net/rss.php qui se déclare en "text/xml" (du coup ASCII) mais dans le flux avec un entête XML déclarant de l'UTF-8
2013-11-06Contournement bug PHP 5.3.3-Gravatar Alexandre Alapetite
Bug #51192 FILTER_VALIDATE_URL will invalidate a hostname that includes '-' https://bugs.php.net/bug.php?id=51192 Corrige https://github.com/marienfressinaud/FreshRSS/issues/221 Au passage, désactive la validation des URLS provenant de la base de données et qui ont déjà été validées.
2013-11-05img altGravatar Alexandre Alapetite
Quelques [img alt="✇" /] pour être valide, avec un caractère Unicode représentant un film (assez proche d'un flux), mais peut-être qu'on pourrait en trouver un mieux
2013-11-05Actualize : évite d'ajouter les articles déjà connusGravatar Alexandre Alapetite
Dans la plupart des cas, évite d'ajouter les articles déjà présents dans la base de données, en faisant une pré-requête (une par flux, pas une par article). Par exemple, si un flux RSS fournit 20 articles, alors la pré-requête charge une liste d'exclusion de 20+2 identifiants d'articles. Ce patch réduit considérablement le nombre de requêtes et la charge de la base de données durant les mises à jour, et en particulier le trafic réseau entre PHP et la base de données. Les mises à jour sont du coup aussi plus rapides.
2013-11-04Détails : blancsGravatar Alexandre Alapetite
Suppression des blancs en fin de ligne
2013-11-04Préchargement et requêtes conditionnelles HTTP/1.1Gravatar Alexandre Alapetite
Grosse amélioration des performances en utilisant le cache HTTP : - Implémentation de HTTP/1.1, c.a.d. If-Modified-Since, If-None-Match, If-Unmodified-Since, If-Match... avec la librairie http://alexandre.alapetite.fr/doc-alex/php-http-304/ - Support de HEAD (HTTP /1.0). - Préchargement de la page suivante (avec link next prefetch) dans le cas de pagination. - Et nouvelle possibilité de navigation pour les navigateurs qui supportent "next". - La date de dernier changement est pour l'instant primitive et correspond au dernier changement de la session PHP ou Configuration.array.php ou application.log ou touch.txt. - touch.txt est modifié a chaque requête UPDATE ou INSERT ou DELETE.
2013-11-04Grosse optimisation JavaScriptGravatar Alexandre Alapetite
* Fusion de endless_mode.js dans main.js car endless_mode.js est toujours chargé et assez petit. * Suppression des changements de style en JavaScript lors du chargement (genre boucle de .hide(), ou d'ajout de classe ".stick") et implémentation en PHP + CSS à la place. * Chargement JavaScript asynchrone (defer + async) pour de meilleurs performances. * Utilisation préférable des événements globaux plutôt que des événements pour chaque élément avec jQuery.on(events, selector) pour un chargement plus rapide et moins de mémoire utilisée. * Optimisation manuelle du JavaScript (sélecteurs CSS plus performants, méthodes jQuery plus appropriées, etc.). * Désactivation de init_img() qui était coûteux, lancé à un moment où les images ne sont de toute manière pas encore chargées, et qui n'apporte rien car il y a déjà un img {max-width:100%} en CSS. * JavaScript en mode strict. * Enfin, passage du code JavaScript dans JSLint et du coup nombreuses corrections (syntaxe, variables, méthodes dépréciées...). * Devrait permettre de fermer https://github.com/marienfressinaud/FreshRSS/issues/121 * Au passage, quelques simplifications CSS pour de meilleures performances.
2013-11-04Merge pull request #231 from Alkarex/patch-5Gravatar Alexandre Alapetite
Filtrage des événements JavaScript
2013-11-04Merge pull request #227 from Alkarex/patch-4Gravatar Alexandre Alapetite
Hack temporaire en attendant la recherche côté base-de-données
2013-11-03Filtrage des événements JavaScriptGravatar Alexandre Alapetite
Corrige https://github.com/marienfressinaud/FreshRSS/issues/230
2013-10-30Hack temporaire en attendant la recherche côté base-de-donnéesGravatar Alexandre Alapetite
Limite la recherche aux 20000 plus récents articles, en attendant https://github.com/marienfressinaud/FreshRSS/issues/204
2013-10-27Options pour personnaliser les icônes de lectureGravatar Alexandre Alapetite
Nouvelles options pour choisir d'afficher ou pas les icônes pour marquer comme lu/non-lu, favoris, lien vers l'article, ainsi que les champs partage, tags... Légères simplifications CSS et PHP au passage. (Note pour plus tard : Il serait peut-être souhaitable de simplifier le mécanisme des options en PHP, par exemple en utilisant un tableau de propriétés. Actuellement, il y a un attribut par option accompagné d'un accesseur privé, un accesseur public, et idem dans le système de chargement/écriture du fichier de configuration, ce qui fait beaucoup de code PHP par option)
2013-10-26Merge branch 'patch-2' of https://github.com/Alkarex/FreshRSS into ↵Gravatar Marien Fressinaud
Alkarex-patch-2
2013-10-26Merge branch 'sqlOptimisation' of https://github.com/Alkarex/FreshRSS into ↵Gravatar Marien Fressinaud
Alkarex-sqlOptimisation
2013-10-22Ajoute URL dans message FeedExceptionGravatar Alexandre Alapetite
Ajoute l'adresse du flux dans la description de l'erreur lorsqu'une exception est générée.
2013-10-20Correction erreur variable existanteGravatar Alexandre Alapetite
2013-10-19Ajoute au contenu les images déclarées en tant que 'enclosure'Gravatar Alexandre Alapetite
Corrige https://github.com/marienfressinaud/FreshRSS/issues/205. Uniquement pour les images. Pourrait par exemple faire des miniatures pour les vidéos http://simplepie.org/wiki/tutorial/how_do_i_get_a_thumbnail_from_a_youtube_feed
2013-10-16Fix issue #189: Disparition de la dernière catégorieGravatar Marien Fressinaud
La dernière catégorie n'était pas générée correctement si elle ne possédait qu'un seul flux. Le bug venait de HelperCategorie::daoToCategoryPrepopulated Je l'ai réécrite pour qu'elle soit un peu plus claire
2013-10-13Optimisation SQL, deuxième vagueGravatar Alexandre Alapetite
Réduction du nombre de requêtes et de connexions SQL
2013-10-07Design + suppression 2 raccourcisGravatar Marien Fressinaud
Les raccourcis page suivante et précédente n'avait plus lieu d'être avec le mode endless Petite correction du design pour les formulaire : les labels (float left) dépassaient des form-group
2013-10-07Fix issue #165: @import CSS enlevésGravatar Marien Fressinaud
Implique une modification des fichiers metadata.json pour les thèmes : ajout d'un champ "files" répertoriant les fichiers CSS à utiliser
2013-10-07Fix issue #169: flux en jaune si 0 articleGravatar Marien Fressinaud
2013-09-15Issue #155 : correction bug prefix table SQLGravatar Marien Fressinaud
Le préfixe freshrss_ était rentré en dur dans une des requêtes
2013-09-14Merge branch 'Alkarex-SqlOptimisation' into sql-optimisationGravatar Marien Fressinaud
2013-09-14Issue #155 : correction fonction _nbNotReadGravatar Marien Fressinaud
intval renvoyant toujours un integer, le test is_int() passait toujours, c'est corrigé maintenant
2013-09-14Issue #155 : suppression fonctions commentéesGravatar Marien Fressinaud
2013-09-14Merge pull request #152 from Alkarex/AvoidPregReplaceGravatar Marien Fressinaud
Avoid preg_replace() for simple cases
2013-09-14Merge branch 'SqlOptimisation' of https://github.com/Alkarex/FreshRSS into ↵Gravatar Marien Fressinaud
Alkarex-SqlOptimisation Conflicts: app/controllers/feedController.php
2013-09-14Fix issue #151 : marquer lus les articles du futurGravatar Marien Fressinaud
On peut désormais marquer comme lu les articles parus dans le futur
2013-09-14Merge branch 'sqlDuplicateEntries' of https://github.com/Alkarex/FreshRSS ↵Gravatar Marien Fressinaud
into Alkarex-sqlDuplicateEntries
2013-09-14Issue #146 : coding styleGravatar Marien Fressinaud
Ajout de tabulation dans le if{}
2013-09-14Merge branch 'importOpmlTitles' of https://github.com/Alkarex/FreshRSS into ↵Gravatar Marien Fressinaud
Alkarex-importOpmlTitles
2013-09-14Merge branch 'htmlencoding' of https://github.com/Alkarex/FreshRSS into ↵Gravatar Marien Fressinaud
Alkarex-htmlencoding Conflicts: app/models/Feed.php