aboutsummaryrefslogtreecommitdiff
path: root/app/models/Feed.php
AgeCommit message (Collapse)Author
2013-12-15Delete Feed.phpGravatar Alexandre Alapetite
2013-12-15Grosse refactorisation pour permettre le chargement automatique des classesGravatar Alexandre Alapetite
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.
2013-12-14Nettoyage des flux plus intelligentGravatar Alexandre Alapetite
Implémente https://github.com/marienfressinaud/FreshRSS/issues/323 Garde au moins n+10 articles, où n est le nombre d'articles toujours présent dans le flux RSS.
2013-12-05Permet de supprimer les articles d'un fluxGravatar Alexandre Alapetite
Implémente https://github.com/marienfressinaud/FreshRSS/issues/311
2013-12-05Resource-prioritiesGravatar Alexandre Alapetite
Prépare http://www.w3.org/TR/resource-priorities/ https://github.com/marienfressinaud/FreshRSS/issues/316 https://github.com/marienfressinaud/FreshRSS/issues/313 Continue https://github.com/marienfressinaud/FreshRSS/issues/188 https://github.com/marienfressinaud/FreshRSS/commit/e45357a91b9aa47d5b7ead14c174dc7c98ab9926
2013-12-04Support contrôlé de iframe, audio, videoGravatar Alexandre Alapetite
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.
2013-12-02PHP : suppression autres alertesGravatar Alexandre Alapetite
Voir https://github.com/marienfressinaud/FreshRSS/issues/310
2013-12-02OPML : améliorationsGravatar Alexandre Alapetite
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
2013-12-02Favicons : améliorationGravatar Alexandre Alapetite
* Évite de faire un accès disque systématique pour vérifier si le .ico est présent, et ne le fait plus que lors d'un ajout ou rafraîchissement de flux * Corrige un bug pour les flux qui n'ont pas de site Web déclaré * Efface le favicon lorsqu'un flux est supprimé (seulement individuellement pour l'instant) Voir aussi https://github.com/marienfressinaud/FreshRSS/issues/290
2013-12-01Favicons en parallèleGravatar Alexandre Alapetite
Nouvelle méthode pour afficher les favicons à la demande et en parallèle. Déplacement du dossier des favicons sous /data/favicons/ Devrait permettre de fermer le problème d'import OPML https://github.com/marienfressinaud/FreshRSS/issues/228 Voir aussi https://github.com/marienfressinaud/FreshRSS/issues/290
2013-12-01PHP ctype_digitGravatar Alexandre Alapetite
Utilisation d'une fonction plus appropriée pour tester si une chaîne représente un nombre entier Corrige un bug de date
2013-11-30SQL : compression côté base de données (attention, perte de compatibilité)Gravatar Alexandre Alapetite
Ça y est, j'ai tout cassé... Contribue à https://github.com/marienfressinaud/FreshRSS/issues/204 Compatible MySQL 5.0. Commentaires souhaités avant l'implémentation de la recherche côté base de données. Pour l'instant, je n'ai pas fait de script de mise à jour, car la manière précédente `base64_encode(gzdeflate(serialize($content)))` est difficile à traiter côté MySQL et nécessite une boucle en PHP. Avec la nouvelle approche de ce patch, nous pourrons plus facilement changer d'avis sans perte de compatibilité.
2013-11-28Correction download_faviconGravatar Marien Fressinaud
En fait renvoyer l'url ne servait à rien puisque c'était la même De plus il y avait une faute de typo dans le nom de la fonction Voir #278
2013-11-28Merge branch 'dev' of github.com:marienfressinaud/FreshRSS into devGravatar Marien Fressinaud
2013-11-28Corrige bug URL faviconsGravatar Marien Fressinaud
Corrige #278
2013-11-28Protection des requêtes SQLGravatar Alexandre Alapetite
Corrige https://github.com/marienfressinaud/FreshRSS/issues/294
2013-11-28Classement par date d'ajout e.id (expérimentation)Gravatar Alexandre Alapetite
Expérimentation : classement par date d'ajout dans la base plutôt que selon la date déclarée par le flux (qui est parfois fausse dans le passé, dans le futur, ou absente). Quelques conséquences : * Les flux avec des dates erronées ne sont plus un problème * Lorsqu'on fait "marquer tout comme lu", les articles arrivés pendant la lecture ne sont plus indûment marqués comme lus * Les articles ont tendance à être plus regroupés par flux lorsqu'on les affiche par catégorie * Si un utilisateur n'utilise pas de cron et n'utilise pas FreshRSS pendant plusieurs jours, lors du rafraîchissement, les nouveaux articles seront dans "Aujourd'hui" (à interpréter donc comme les articles reçus aujourd'hui, et non comme déclarés comme étant publiés aujourd'hui) * La pagination est plus efficace Termine l'implémentation de https://github.com/marienfressinaud/FreshRSS/issues/202
2013-11-27Suite de e.id en bigintGravatar Alexandre Alapetite
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/202
2013-11-26SQL : utilisation de (id_feed, guid) pour l'unicitéGravatar Alexandre Alapetite
Préparation avant https://github.com/marienfressinaud/FreshRSS/issues/202
2013-11-24OPML : corrections import/exportGravatar Alexandre Alapetite
À tester plus. En particulier, ne supporte pas bien les fichiers OPML qui sont à la fois avec des entités HTML et pas en UTF-8. Devrait corriger https://github.com/marienfressinaud/FreshRSS/issues/287
2013-11-18SQL : identifiant entier automatique pour les catégories et les fluxGravatar Alexandre Alapetite
Implémentation de https://github.com/marienfressinaud/FreshRSS/issues/262 La catégorie par défaut à le numéro 1. Les numéros de catégories et de flux sont automatiques (1, 2, 3...) L'installeur semble marcher.
2013-11-17Début de multi-utilisateursGravatar Alexandre Alapetite
Préparation de https://github.com/marienfressinaud/FreshRSS/issues/126 Suite de https://github.com/marienfressinaud/FreshRSS/issues/248 Nécessite un script de mise à jour https://github.com/marienfressinaud/FreshRSS/issues/255 Install.php n'est pas encore testé https://github.com/marienfressinaud/FreshRSS/issues/273
2013-11-17Réorganisation des fichiers utilisateurGravatar Alexandre Alapetite
Implémente https://github.com/marienfressinaud/FreshRSS/issues/248
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-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 : 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-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 `é`, voici un patch qui les décode en sortie de SimplePie tout en conservant les entités XML comme `&`. 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-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-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-03Filtrage des événements JavaScriptGravatar Alexandre Alapetite
Corrige https://github.com/marienfressinaud/FreshRSS/issues/230
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-13Optimisation SQL, deuxième vagueGravatar Alexandre Alapetite
Réduction du nombre de requêtes et de connexions SQL
2013-10-07Fix issue #169: flux en jaune si 0 articleGravatar Marien Fressinaud
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-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-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