Commit Graph

70 Commits

Author SHA1 Message Date
Marien Fressinaud
cebf1d9fd9 Message d'erreur si fichier conf innaccessible
Voir #282
2013-11-19 13:17: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
9ec13c6c32 Début de multi-utilisateurs
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-17 15:24:30 +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
Alexandre Alapetite
4a2b17d54a Minz : nouveau Minz_Log::DEBUG
Nouveau niveau Minz_Log::DEBUG pour plus de finesse dans les messages
2013-11-16 22:41:03 +01:00
Alexandre Alapetite
32306a78d2 SQL : grosse mise à jour avec mise en cache du nombre d'articles lus/non-lus
* 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-16 21:03:25 +01:00
Alexandre Alapetite
190e724aee Suppression référence lib_text et optimisation lazyimg
Optimisation du regex de lazyimg.
Et une référence à lib_text avait été oubliée dans
5dfe281d60
2013-11-15 17:42:15 +01:00
Marien Fressinaud
6b72063fc1 Supprime le fichier lib_text
Seule la fonction lazyimg était utilisée, je l'ai déplacée dans lib_rss
2013-11-15 17:12:25 +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
76a027c9bb Amélioration des performances de small_hash 2013-11-10 22:45:58 +01:00
Marien Fressinaud
a1fa4a445a Ajout de messages en cas de mauvaise configuration
Si fichier de conf inaccessible / mal configuré ou fichier de log
inaccessible, on affiche des messages plus explicites qu'une page
blanche
2013-11-09 21:33:43 +01:00
Alexandre Alapetite
3a097f8e0c Renomme fichiers selon leur classe
Corrige https://github.com/marienfressinaud/FreshRSS/issues/191
2013-11-07 19:44:36 +01:00
Alexandre Alapetite
316778ef47 Un morceau de tolérance XML oublié 2013-11-07 19:27:52 +01:00
Alexandre Alapetite
6464666075 Plus de tolérance pour les flux
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-07 19:18:52 +01:00
Alexandre Alapetite
5e11093120 Détails : blancs
Suppression des blancs en fin de ligne
2013-11-04 23:34:07 +01:00
Alexandre Alapetite
4a999fb628 Améliorations chargement JS async
En particulier pour global_view.js.
Suppression d'une requête avortée dans Chrome.
2013-11-04 23:33:52 +01:00
Alexandre Alapetite
665d22be76 Mise à jour de la librairie http-conditional
Ajout d'un entête Expires qui ne devrait pas être nécessaire d'après la
spécification mais qui semble aider certains navigateurs
2013-11-04 23:33:04 +01:00
Alexandre Alapetite
adc9a958af Préchargement et requêtes conditionnelles HTTP/1.1
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-04 23:32:22 +01:00
Alexandre Alapetite
231516f523 Grosse optimisation JavaScript
* 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-04 23:31:36 +01:00
Alexandre Alapetite
8bb25589ff URL absolue pour token
Corrige https://github.com/marienfressinaud/FreshRSS/issues/213
Abandonne le protocole relatif "//" et repasse à des "http://" ou
"https://" explicites
2013-10-26 20:49:23 +02:00
Marien Fressinaud
94a887f321 Merge branch 'sqlOptimisation' of https://github.com/Alkarex/FreshRSS into Alkarex-sqlOptimisation 2013-10-26 16:37:02 +02:00
Alexandre Alapetite
410b47603a Optimisation SQL, deuxième vague
Réduction du nombre de requêtes et de connexions SQL
2013-10-13 00:17:12 +02:00
Alexandre Alapetite
d70e5bfa82 Utilise par défaut des adresses relatives
Sur ma page d'accueil, l'adresse absolue de FreshRSS est écrite 1300 fois, ce qui représente 15% de la taille de cette page (542Ko -> 460Ko).
Ce patch utilise une adresse relative par défaut, beaucoup plus courte.
De plus, dans le cas d'une adresse absolue, le protocole relatif "//" est utilisé pour utiliser automatiquement "http://" ou "https://".

Pas testé avec url_rewriting.
2013-10-09 23:00:35 +02:00
Marien Fressinaud
9fcca8a782 Fix issue #157: message lors d'un PDOConnectionException
Le message est loggué dans le fichier qui va bien et un message est affiché
à l'écran : ### Application problem ### See logs files
2013-10-07 11:59:54 +02:00
Marien Fressinaud
ca45605acf Merge pull request #160 from Alkarex/patch-1
SimplePie : Corrige le cas des </body> et </html>
2013-09-14 10:58:36 -07:00
Marien Fressinaud
ec448c53a3 Merge branch 'importOpmlTitles' of https://github.com/Alkarex/FreshRSS into Alkarex-importOpmlTitles 2013-09-14 18:44:41 +02:00
Alexandre Alapetite
5923e1a640 SimplePie : Corrige le cas des </body> et </html>
Corrige https://github.com/marienfressinaud/FreshRSS/issues/159
Les balises fermantes /body et /html n'étaient pas nettoyées par SimplePie.
À tester un moment puis proposer en amont à SimplePie.
2013-09-12 22:54:56 +02:00
Alexandre Alapetite
da2e4e09d9 Revert wrong change on array_map
But would still be better with explicit UTF-8
2013-08-26 22:26:15 +02:00
Alexandre Alapetite
0696890c06 Use feed names coming from OPML
Use the feed names (text or title) provided by OPML and do not overwrite
them during import.
2013-08-26 01:47:14 +02:00
Alexandre Alapetite
81f93dc2e2 Another explicit UTF-8
Explicit UTF-8 for a forgotten htmlentities()
2013-08-25 22:24:08 +02:00
Alexandre Alapetite
6981a24b9c More explicit UTF-8
More explicit UTF-8 in PDO MySQL, html_entity_decode, htmlentities, and
htmlspecialchars (less important)
2013-08-25 21:40:39 +02:00
Marien Fressinaud
37b641966f Issue #100 : base pour utilisation SQLite
Ajout de la structure pour l'utilisation de SQLite. Tout n'est pas
fonctionnel, loin de là, certaines requêtes SQL ne passent pas.

Pour essayer tout de même, décommenter le bloc TODO dans le fichier
public/install.php
2013-08-18 14:59:03 +02:00
Marien Fressinaud
7fd7727096 Amélioration de l'installateur + préfixe BDD
Fix issue #96 : on peut désormais choisir un préfixe aux tables de la
BDD lors de l'installation
Fix issue #115 : échappement des guillemets pendant la phase
d'installation
Fix issue #116 : le thème de l'installateur est désormais accessible
FIx issue #117 : rajout du test de la présence DOMDocument lors de
l'installation. Si non présent, on peut pas accéder aux flux RSS.
Normalement fourni sur un système RedHat-like par le paquet php-xml
2013-08-18 01:22:26 +02:00
Marien Fressinaud
f6d730f9d1 Fix issue #106 : modif nom classes Cache et Log
Passage en Minz_Cache et Minz_Log
Permet d'éviter les redondances quand ces classes sont déjà définies
Je n'utilise pas d'espace de nom parce que beaucoup de boulot et
nécessite obligatoirement php 5.3
Si d'autres classes nécessitent cette modification je le ferai au fur et
à mesure qu'on me remontera les soucis
La version de Minz pour FreshRSS n'est plus compatible avec la version
distribuée à part
2013-07-27 17:07:44 +02:00
Marien Fressinaud
7b26767114 Fix issue #112 : vérification catégorie par défaut
Lors d'une importation OPML, on vérifie la présence d'une catégorie par
défaut pour éviter les imports qui ne marchent pas
2013-07-26 18:26:52 +02:00
Marien Fressinaud
d3078fb726 Mise en place de la structure pour les différentes vues 2013-06-15 19:42:02 +02:00
Marien Fressinaud
fafddf2a20 Fix issue #73 : ajout d'une page pour visualiser les logs 2013-06-15 16:42:50 +02:00
Marien Fressinaud
1863153b96 Fix issue #71 : remise en place du mode endless + correction bug à l'importation OPML 2013-06-15 15:55:44 +02:00
Marien Fressinaud
6d184ad1b8 Fix issue #89 : meilleure vérification des champs de formulaires (géré par Minz) 2013-06-15 14:46:37 +02:00
Marien Fressinaud
e5637cb1ed Fix issue #88 : possibilité d'importer (OPML) des flux sans catégorie 2013-06-15 13:10:39 +02:00
Marien Fressinaud
fb5e5594be Fix issue #82 : ajout direct de Minz sans devoir faire appel au script ./build.sh 2013-06-14 20:53:12 +02:00
Marien Fressinaud
c96225df6d Fix issue #84 : affichage erreur si fichier OPML invalide 2013-05-12 16:51:45 +02:00
Marien Fressinaud
00bac232e0 Importation des flux ok + ajout de commentaires (issue #28) 2013-04-28 16:34:25 +02:00
Marien Fressinaud
21dc4ceace Fix issue #64 : stockage des favicons en local 2013-04-27 22:33:14 +02:00
Marien Fressinaud
81ea32d53e Gestion de la traduction pour les dates (bug #38) 2013-04-27 15:17:10 +02:00
Marien Fressinaud
244026874a Fix issue #61 : amélioration import OPML 2013-04-17 19:24:21 +02:00
Marien Fressinaud
b9f883be69 Gestion des flux https invalides + amélioration mise à jour 2013-04-11 19:48:52 +02:00
Marien Fressinaud
a88e61ca1e Màj de la librairie SimplePie, fix bug #48 2013-04-10 21:35:10 +02:00
Marien Fressinaud
bf24aa601f Ajout controller Rss pour export au format RSS (très très basique) #34 + ajout lib text pour gérer le bbcode 2013-03-20 22:56:17 +01:00
Marien Fressinaud
d4c0fc28ec Réduction lib_simplePie en supprimant des retours à la ligne inutiles 2013-03-17 16:25:42 +01:00