Commit Graph

136 Commits

Author SHA1 Message Date
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
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
ab14fcd190 Recherche mobile
Implémente https://github.com/marienfressinaud/FreshRSS/issues/305
2013-12-05 18:06:58 +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
56b269cef6 PHP : suppression autres alertes
Voir https://github.com/marienfressinaud/FreshRSS/issues/310
2013-12-02 20:12:55 +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
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
cec39d14f1 Merge branch 'dev' into sharing 2013-11-28 15:32:27 +01:00
Alexandre Alapetite
27456258e6 Touch plus standard
Corrige https://github.com/marienfressinaud/FreshRSS/issues/296
2013-11-28 10:46:11 +01:00
Marien Fressinaud
38b4ba034f Déplacement de config Shaarli
Page dédiée pour les options de partage
Voir #175
2013-11-28 02:52:30 +01:00
Alexandre Alapetite
ee2c1a8c78 Classement par date d'ajout e.id (expérimentation)
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-28 01:42:39 +01:00
Alexandre Alapetite
d85e6c5b83 Refactorise icon() dans RSSThemes::icon
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/284
2013-11-24 20:42:55 +01:00
Alexandre Alapetite
20acba36a2 Suppression des PNGs inutilisés
Voir
https://github.com/marienfressinaud/FreshRSS/issues/284#issuecomment-29139723
2013-11-24 19:33:30 +01:00
Alexandre Alapetite
2e387749d5 Suite de icon()
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/284
2013-11-24 12:05:28 +01:00
Alexandre Alapetite
29137c0b04 Nouvelle fonction icon() pour générer le code HTML des icônes
Centralisation de la génération du code des icônes pour pouvoir plus
facilement le changer, en particulier en préparation d'améliorations
futures :
* ajouter des alternatives lorsque l'image n'est pas affichée ;
* améliorer l'accessibilité ;
* permettre de changer les icônes selon le thème graphique choisi ;
* simplifier les CSS.

Contribue à https://github.com/marienfressinaud/FreshRSS/issues/284
2013-11-23 23:18:18 +01:00
Alexandre Alapetite
6236f2a803 Encore des alternatives Unicode aux icônes
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/284
2013-11-23 17:29:23 +01:00
Alexandre Alapetite
305f1436e3 Accessibilité : Quelques alternative Unicode aux icônes
FreshRSS est maintenant utilisable en bonne partie sans CSS.
Ce patch inclut un caractère Unicode approprié en plus de certaines
icônes définies en tant qu'image en CSS.
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/284
Il manque encore certaines icônes, et les alternatives Unicode ne sont
pour l'instant pas montrées si la CSS est chargée mais que les images ne
le sont pas.
2013-11-21 22:23:23 +01:00
Alexandre Alapetite
863e4a8ef8 Correction onread_jump_next
Suite au nouvel identifiant entier pour les catégories et les flux
https://github.com/marienfressinaud/FreshRSS/issues/262
2013-11-19 09:16:08 +01:00
Alexandre Alapetite
e2d4f1a721 SQL : identifiant entier automatique pour les catégories et les flux
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-18 23:04:43 +01:00
Alexandre Alapetite
9c5c023e36 Réorganisation des fichiers utilisateur
Implémente https://github.com/marienfressinaud/FreshRSS/issues/248
2013-11-17 02:56:30 +01:00
Marien Fressinaud
19b9746a0f Ajoute nofollow à la balise robots.txt
Voir 147b3fdda4
2013-11-16 10:26:13 +01:00
Alexandre Alapetite
147b3fdda4 Meta robots noindex
Le fichier robots.txt ne suffit pas, par exemple quand FreshRSS n'est
pas à la racine d'un domaine.
Supplément de
54ea52f6c7
2013-11-15 17:23:23 +01:00
Alexandre Alapetite
9efb9388df bigMarkAsRead : utilisation sans JavaScript
et différent si l'utilisateur n'est pas connecté
Implémente https://github.com/marienfressinaud/FreshRSS/issues/249
2013-11-14 21:55:53 +01:00
Marien Fressinaud
168dbefc0a Page "à propos" accessible aux visiteurs
Voir #266
2013-11-14 20:28:04 +01:00
Alexandre Alapetite
6f081f9daf Un peu plus de HTML5 pour les types des champs de formulaires 2013-11-13 21:39:53 +01:00
Marien Fressinaud
edf37ccebf Logo FreshRSS cliquable 2013-11-12 22:50:30 +01:00
Marien Fressinaud
cf3373f1d7 Améliorations vue
* Lien vers flux RSS généré déplacé en bas du menu déroulant
* Le champs de recherche a été un peu agrandi de façon à voir le
  placeholder en entier
2013-11-12 22:46:30 +01:00
Alexandre Alapetite
4c5e9d0dd8 Cohérence htmlspecialchars
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
a4fc7becb8
Ce patch supprime les htmlspecialchars qui faisaient du double-encodage,
et en modifie d'autres en entrée.
2013-11-12 22:37:25 +01:00
Alexandre Alapetite
3f93866f38 SQL : Optimisation vitesse
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-12 18:49:18 +01:00
Alexandre Alapetite
58cb842966 Suppression multiples requêtes count
Suppression de plusieurs requêtes count inutiles (genre
`$entryDAO->countNotRead()` avant un UPDATE), et suppression de
l'affichage du nombre d'articles total.
Corrige https://github.com/marienfressinaud/FreshRSS/issues/246
2013-11-12 18:22:41 +01:00
Alexandre Alapetite
a664b85372 Remplace entité nbsp par son équivalent Unicode
Chasse aux entités ! Nous devrions maintenant avoir des pages sans
entités HTML (mais bien sûr des entités XML) ni depuis FreshRSS ni
depuis le contenu.
2013-11-11 17:53:22 +01:00
Alexandre Alapetite
3968732d62 Simplifie la déclaration du favicon
Testé avec Firefox, Opera, Chrome, IE.
2013-11-10 00:20:03 +01:00
Alexandre Alapetite
d2189aac01 Organisation des entêtes HTML par priorité
Place en premier ce qui est le plus important pour le chargement de la
page
2013-11-10 00:00:34 +01:00
Alexandre Alapetite
9ac09897ec Notifications touch+1s
Pour https://github.com/marienfressinaud/FreshRSS/issues/243
2013-11-09 23:39:08 +01:00
Marien Fressinaud
33b68a8017 Corrige le titre des flux RSS générés
Supprime le nombre de non lus dans le titre des flux RSS générés
2013-11-09 20:14:42 +01:00
Alexandre Alapetite
fc64964f4f Invalide le cache suite à une notification
Corrige https://github.com/marienfressinaud/FreshRSS/issues/243
2013-11-09 14:16:36 +01:00
Marien Fressinaud
ac7b805140 Merge branch 'dev' of github.com:marienfressinaud/FreshRSS into dev 2013-11-09 00:30:01 +01:00
Marien Fressinaud
5f478c43c2 Annule en partie commit précédent
Dans une prochaine version, les données issues des formulaires devront
être sauvegardées de façon brutes en BDD. htmlspecialchars ne sera
utilisé que du côté de la vue (voir pour utiliser une fonction qui
facilite ça)
Voir commit ff37ae8d49
2013-11-09 00:16:53 +01:00
Alexandre Alapetite
c237a4dc77 Début d'affichage du nombre de favoris non lus
Mais pas encore de mise à jour dynamique
Corrige en partie
https://github.com/marienfressinaud/FreshRSS/issues/222
2013-11-09 00:13:20 +01:00
Marien Fressinaud
ff37ae8d49 Encodage html pour certaines parties
ajout de htmlspecialchars(..., ENT_COMPAT, 'UTF-8');

+ autocomplete = off pour les champs http_user et http_pass
2013-11-08 23:42:50 +01:00
Marien Fressinaud
9d32d7fe19 Déplace le fichier main.phtml
app/views/javascript/main.phtml est déplacé vers
app/views/helpers/javascript_vars.phtml

Il reste à déplacer le fichier actualize.phtml pour se débarrasser de
javascriptController
2013-11-08 23:31:38 +01:00
Marien Fressinaud
2d330e43f2 Fix issue #236: balise link pour flux rss
Ajout d'une balise link pour indiquer l'url du flux RSS
2013-11-08 22:38:38 +01:00
Marien Fressinaud
38cf6946ed Fix issue #244: catégorie "tous" devient "flux principal" 2013-11-08 22:07:35 +01:00
Marien Fressinaud
02e3bd2b7d Token caché si accès anonyme autorisé
Le token était divulgé à tout le monde en accédant au flux RSS généré
par FreshRSS via le lien
Le token n'est plus affiché désormais si l'accès anonyme est autorisé
2013-11-08 20:46:36 +01:00
Marien Fressinaud
f3a91fb819 Fix issue #177: déplacement menu gestion catégories
Le menu de gestion des catégories a été déplacé au niveau de la gestion
des abonnements (le regroupement est plus logique)
Le lien pour accéder au flux RSS a été déplacé dans le menu "affichage"
(peut être sujet à discussion)
Une prochaine pourrait être de splitter le menu "Général et lecture" en
plusieurs vues
2013-11-08 19:51:22 +01:00
Marien Fressinaud
5a2a5ee374 Issue #235: refactorisation code Persona
Le code pour la connexion via Persona a été bougée dans le fichier
main.js avec le reste du code JS
Ça ne marche toujours pas sous Firefox car il essaye d'initialiser
navigator.id.watch avant que le fichier login.persona.org/include.js
ne soit chargé
L'url est correctement écrite côté serveur pour permettre à Persona
d'indiquer au site que la connexion s'est bien passée
2013-11-07 23:50:21 +01:00
Alexandre Alapetite
fa13929db9 htmlspecialchars manquants
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/195
2013-11-07 21:39:39 +01:00
Alexandre Alapetite
2ce0f88d28 type="application/rss+xml" pour le lien vers le RSS
En attendant d'avoir ce lien vers le format RSS aussi dans les entêtes
HTML, voilà déjà un meilleur lien dans le corps.
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/236
2013-11-07 19:51:40 +01:00
Alexandre Alapetite
637b557d19 Renomme /icons/
Corrige https://github.com/marienfressinaud/FreshRSS/issues/234
2013-11-07 19:28:39 +01:00