Commit Graph

500 Commits

Author SHA1 Message Date
Alexandre Alapetite
74bceb2e2c Date minimum : cas des favoris et de l'historique complet
Suite de https://github.com/marienfressinaud/FreshRSS/issues/323
2013-12-15 04:20:23 +01:00
Alexandre Alapetite
7e64cda415 Date minimum pour afficher les articles
Implémente décision
https://github.com/marienfressinaud/FreshRSS/issues/323
2013-12-15 04:07:12 +01:00
Alexandre Alapetite
83e8c68b6f Refactorisation : oubli 2013-12-15 04:03:32 +01:00
Alexandre Alapetite
878e96202e Grosse refactorisation pour permettre le chargement automatique des classes
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-15 03:30:24 +01:00
Alexandre Alapetite
4af233e1f7 Nettoyage des flux plus intelligent
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-14 16:22:38 +01:00
Alexandre Alapetite
4f0b1efc2b Prefectch : précharge les icônes
Précharge les icônes qui ne sont pas forcément affichées sur la page en
cours (par exemple l'icône favoris) pour éviter d'avoir un bref instant
sans icône lors du changement d'état (par exemple lorsqu'on marque un
article comme favoris)
2013-12-14 13:57:25 +01:00
Alexandre Alapetite
97a7d7b0b2 Microtime : récupération de toutes les microsecondes
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
2013-12-12 19:30:19 +01:00
Alexandre Alapetite
09776727cd i18n : marqué comme lu dès la réception 2013-12-11 20:18:46 +01:00
Alexandre Alapetite
dd79b163fd Ajout bouton validator.w3.org/feed/
Ajout d'un bouton pour valider les flux, pour des cas comme
https://github.com/marienfressinaud/FreshRSS/issues/317
2013-12-06 21:57:40 +01:00
Alexandre Alapetite
0e4274fc00 Permet de supprimer les articles d'un flux
Implémente https://github.com/marienfressinaud/FreshRSS/issues/311
2013-12-05 22:12:08 +01:00
Alexandre Alapetite
e4cf8a7396 i18n : number_articles
number_articles n'était pas défini
2013-12-05 20:55:47 +01:00
Alexandre Alapetite
25fa654529 Resource-priorities
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
e45357a91b
2013-12-05 19:18:28 +01:00
Alexandre Alapetite
ab14fcd190 Recherche mobile
Implémente https://github.com/marienfressinaud/FreshRSS/issues/305
2013-12-05 18:06:58 +01:00
Alexandre Alapetite
e45357a91b Support contrôlé de iframe, audio, video
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-04 20:48:53 +01:00
Alexandre Alapetite
bdfea07d8c set_time_limit pour optimizeAction 2013-12-03 23:50:41 +01:00
Alexandre Alapetite
3dc2ce18d1 Message taille de la base de donnée
Annule une partie de
b40783e888
2013-12-03 23:47:15 +01:00
Alexandre Alapetite
e177b288f5 Corrige bug marquage favoris pour f.priority = 0
https://github.com/marienfressinaud/FreshRSS/issues/270
2013-12-03 23:15:20 +01:00
Alexandre Alapetite
de923b57f4 Amélioration marquage favoris
https://github.com/marienfressinaud/FreshRSS/issues/270
2013-12-03 23:02:55 +01:00
Alexandre Alapetite
018273e272 Corrige bug marquer tous les favoris comme lus
Corrige https://github.com/marienfressinaud/FreshRSS/issues/270
2013-12-03 22:53:51 +01:00
Alexandre Alapetite
0425432271 Option pour marquer les articles comme lus dès la réception
https://github.com/marienfressinaud/FreshRSS/issues/237
https://github.com/marienfressinaud/FreshRSS/issues/309
2013-12-03 19:13:41 +01:00
Alexandre Alapetite
ed0535b0b0 OPML i18n 2013-12-02 21:13:27 +01:00
Alexandre Alapetite
9d9b6b736a OPML : Correction ID feed 2013-12-02 21:06:44 +01:00
Alexandre Alapetite
986c7297e7 OPML import plus tolérant
Plus correction bug checkUrl()
2013-12-02 20:57:51 +01:00
Alexandre Alapetite
56b269cef6 PHP : suppression autres alertes
Voir https://github.com/marienfressinaud/FreshRSS/issues/310
2013-12-02 20:12:55 +01:00
Alexandre Alapetite
ee6a1bdde3 PHP : Alertes fonction date()
En attendant https://github.com/marienfressinaud/FreshRSS/issues/310 la
fonction date() générait des alertes sur les systèmes n'ayant pas
personnalisé PHP
Voir http://us3.php.net/manual/en/function.date-default-timezone-set.php
2013-12-02 19:53:36 +01:00
Alexandre Alapetite
65c972873b OPML : améliorations
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-02 18:31:40 +01:00
Alexandre Alapetite
b40783e888 Affiche la taille de la base de données 2013-12-02 18:27:03 +01:00
Alexandre Alapetite
1a270309a5 Favicons : amélioration
* É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-02 18:23:57 +01:00
Alexandre Alapetite
97227a067b OPML : Import instantané
Clôture https://github.com/marienfressinaud/FreshRSS/issues/228
Nous perdons le champ description des flux, mais celui-ci pourrait par
exemple être récupéré au premier rafraîchissement du flux si nécessaire
2013-12-02 00:06:52 +01:00
Alexandre Alapetite
f0be8fd4f2 Correction rss_title
rss_title avait été perdu par un patch récent
2013-12-01 23:13:08 +01:00
Alexandre Alapetite
b0cbc6fe5d Favicons en parallèle
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-01 22:58:15 +01:00
Alexandre Alapetite
baa8d21341 PHP ctype_digit
Utilisation d'une fonction plus appropriée pour tester si une chaîne
représente un nombre entier
Corrige un bug de date
2013-12-01 21:38:20 +01:00
Alexandre Alapetite
b646bd2f08 JSON : utiliser application/json
Les réponses JSON utilisaient indument text/html
Repéré à cause de
https://github.com/marienfressinaud/FreshRSS/issues/306
2013-12-01 17:50:35 +01:00
Alexandre Alapetite
85e7ac96a1 Charge lib_phpQuery uniquement au besoin
Évite de charger lib_phpQuery (170ko de code tout de même) jusqu'au
moment où la librairie est éventuellement nécessaire (c'est-à-dire pour
le téléchargement du contenu des articles tronqués, si cette
fonctionnalité est utilisée)
2013-12-01 16:23:35 +01:00
Alexandre Alapetite
f2321eb920 Install : quelques corrections
https://github.com/marienfressinaud/FreshRSS/issues/273
2013-12-01 16:03:03 +01:00
Alexandre Alapetite
7cfd6c84cc PHP set_time_limit
Ajout de quelques set_time_limit pour
https://github.com/marienfressinaud/FreshRSS/issues/228
2013-12-01 11:55:27 +01:00
Alexandre Alapetite
1e077160fc Optimisation recherche et pagination
* Optimisation recherche SQL avec utilisation de HAVING plutôt que WHERE
* Simplification et amélioration des performances en supprimant de
RSSPaginator qui n'aidait plus vraiment et nécessitait plus de code et
des copies de données.
* Correction d'un bug dans le titre de la page introduit récemment, et
simplification
2013-11-30 22:47:48 +01:00
Alexandre Alapetite
37ce14c093 Recherche côté SQL avec LIKE
Premier essai de recherche côté base de données (à améliorer)
https://github.com/marienfressinaud/FreshRSS/issues/204

Pour l'instant fait avec du LIKE et pas d'indexation texte complet.

* Suppression de EntriesGetter car le code est devenu plus simple grâce
au filtrage côté SQL
* Uniformisation de get_c à une lettre ('all' devient 'a','favoris'
devient 's' - pour "starred") pour simplifier le code
* low_to_high par DESC, high_to_low par ASC
* Réduction du nombre de créations de *DAO dans indexController
* Refactorisation de checkAndProcessType()

Pas encore trop testé...
2013-11-30 17:21:26 +01:00
Alexandre Alapetite
e98b7ab13e SQL : compression côté base de données (attention, perte de compatibilité)
Ç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-30 13:15:54 +01:00
Marien Fressinaud
69662117a3 Ajoute raccourci load more
Permet de charger les articles suivants en appuyant sur "m" (par défaut)
2013-11-28 23:46:56 +01:00
Marien Fressinaud
7e65c6b782 Corrige bug ajout flux
L'id d'un flux est généré à l'ajout. On continuait de considérer qu'on
l'avait généré nous-même lors de l'ajout. Du coup on essayait d'ajouter
des articles en BDD associés à un flux qui n'existait pas et la
redirection ne marchait pas
2013-11-28 23:10:09 +01:00
Marien Fressinaud
dd61248d31 Correction download_favicon
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-28 22:50:34 +01:00
Marien Fressinaud
4ddcc3bd41 Merge branch 'dev' of github.com:marienfressinaud/FreshRSS into dev 2013-11-28 22:46:18 +01:00
Marien Fressinaud
a3f6bf966a Corrige bug URL favicons
Corrige #278
2013-11-28 22:45:36 +01:00
Alexandre Alapetite
e8f170f5e3 Protection des requêtes SQL
Corrige https://github.com/marienfressinaud/FreshRSS/issues/294
2013-11-28 22:05:20 +01:00
Alexandre Alapetite
7cdc477c45 touch en microsecondes
Passage en microsecondes pour le touch (gestion du cache) pour éviter
les problèmes en particulier dans le cas de requêtes de moins d'une
seconde.
Nouvelle fonction invalidateHttpCache() pour plus facilement changer de
méthode de contrôle de fraîcheur de cache.
Devrait résoudre https://github.com/marienfressinaud/FreshRSS/issues/296
2013-11-28 20:59:31 +01:00
Marien Fressinaud
6a9ce0cbad Merge branch 'mergePrintCSS' into print 2013-11-28 20:29:01 +01:00
Marien Fressinaud
d48f0d65cc Merge branch 'dev' into print 2013-11-28 19:56:54 +01:00
Marien Fressinaud
10ce2d2c38 Mise à jour designs
Les zones cliquables s'étaient rapetissées dans les en-têtes des
articles (le lien n'occupait pas toute la place)
La zone d'en-dessous était aussi ratatinnée
2013-11-28 19:38:11 +01:00
Marien Fressinaud
3f63195c5f Première version pour imprimer les articles
Voir #122
2013-11-28 18:57:22 +01:00