Commit Graph

38 Commits

Author SHA1 Message Date
Alexandre Alapetite
67531f796f HTTP Auth : améliorations + changelog
* Affichage logo FreshRSS pendant la demande de nom d'utilisateur HTTP
* Meilleure page d'erreur si utilisateur HTTP non-configuré dans
FreshRSS + log

Je recommande donc de placer le .htaccess pour le contrôle d'accès dans
./FreshRSS/p/i/.htaccess et pas plus haut pour une meilleure mise en
cache et messages de connexion.
2014-01-01 17:01:09 +01:00
Alexandre Alapetite
a08201c414 SQL : Insère la catégorie par défaut dès la création des tables 2014-01-01 15:08:15 +01:00
Alexandre Alapetite
8beb15460a Sauvegardes avec extension .bak.php pour plus de sécurité
Évite le téléchargement
2014-01-01 05:06:36 +01:00
Alexandre Alapetite
bc4116ea77 Changement sauvegarde configuration
Changement oublié dans
66229a5d71
pour https://github.com/marienfressinaud/FreshRSS/issues/126
2014-01-01 04:54:44 +01:00
Alexandre Alapetite
66229a5d71 Minz : bug avec OPcache de PHP 5.5+
Minz ne prenait pas en charge OPcache (cache PHP) http://php.net/opcache
activé par défaut depuis PHP5.5.
Ce fut un peu dur d'isoler ce bug :-/
Il faut penser à appeler opcache_invalidate avant de ré-utiliser un
fichier par include().
Aussi, le mécanisme de lock() n'est plus approprié ni nécessaire.
Pour FreshRSS, évite l'utilisation de ModelArray car il ne restait que
quelques lignes d'utiles, et évite un héritage + appel de classe, ce qui
est toujours ça de gagné.
2014-01-01 04:39:39 +01:00
Alexandre Alapetite
1ac09e7fe4 Multi-utilisateur fonctionnel en HTTP Auth
+ Possibilité d'ajout / suppression d'utilisateur (seulement par
l'administrateur)
+ Divers changements pour le mode multi-utilisateur
https://github.com/marienfressinaud/FreshRSS/issues/126
+ Minz : Renomme "sel_application" en "salt'
2013-12-31 02:59:07 +01:00
Alexandre Alapetite
bd5d7a7bcb Cache HTTP compatible multi-utilisateur
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/126
2013-12-30 15:00:41 +01:00
Alexandre Alapetite
4d6ab45b03 Micro-optimisation : évite is_null et quelques if/else
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/303
2013-12-30 12:43:39 +01:00
Alexandre Alapetite
3cc073f2d1 Log compatible multi-utilisateur
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/126.
Il faudra restaurer la gestion du cache HTTP pour les logs
2013-12-30 12:39:21 +01:00
Alexandre Alapetite
92efd68a3a Début de mode multi-utilisateur avec http_auth
+ Légère optimisation de Minz_View.
+ Encore plus de tests de bibliothèques dans install.php
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/126 et
https://github.com/marienfressinaud/FreshRSS/issues/303
2013-12-30 01:03:32 +01:00
Alexandre Alapetite
96bdbafcea Refactorisation FreshRSS_Configuration
Implémente https://github.com/marienfressinaud/FreshRSS/issues/260
(évite les comparaisons de chaînes au profit des vrais booléens et
entiers)
Grosse simplification et réduction du code relatif à la configuration.
Supprime ConfigurationDAO.
Permet de simplifier considérablement configureController.
Évite de multiples copies des mêmes données en mémoire.
Évite de garder plusieurs versions de la configuration en mémoire
(auparavant : dans un tableau au niveau de ModelArray + au niveau de
FreshRSS_Configuration + en Session + des copies temporaires comme
ConfigurationDAO).
Ne stocke plus 'conf' en Session (n'était presque pas utilisé).
Évite de recharger plusieurs fois Translate inutilement.
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/303
2013-12-28 23:09:39 +01:00
Alexandre Alapetite
01a1dd09a8 Minz : refactorisation ModelArray et Log
Utilisation de fonctions natives de PHP comme file_put_contents et
var_export
Évite de garder un descripteur de fichier ouvert tout le temps
Et ModelTxt n'est plus utilisé
2013-12-28 17:29:38 +01:00
Alexandre Alapetite
9ac1496d63 Bouge anon_access dans config.php
L'accès anonyme n'est pas au niveau utilisateur mais au niveau global.
Bouge FreshRSS_Configuration::conf->anonAccess() qui était stocké dans
*_user.php vers Minz_Configuration::allowAnonymous() stocké dans
config.php
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/126
+ autres optimisations
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/260
2013-12-28 13:54:52 +01:00
Alexandre Alapetite
b99979cef7 Bug affichage ID category introduit récemment 2013-12-27 14:11:17 +01:00
Alexandre Alapetite
43fd0a5439 Mise à jour de f.url en base de données lorsque SimplePie découvre que l'adresse a changé
Et correction problème favicon lorsque l'adresse du flux a changé du
point de vue de SimplePie.
Plus petites optimisations.
2013-12-26 22:20:24 +01:00
Alexandre Alapetite
2c57e7254d Favicons : test pour améliorer le cache HTTP
Test d'utilisation de PATH_INFO plutôt que QUERY_STRING pour améliorer
la mise en cache.
À tester sur différents serveurs
2013-12-26 20:11:18 +01:00
Alexandre Alapetite
574d37bddc Favicons compatibles multi-utilisateurs
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/126
2013-12-26 19:58:17 +01:00
Alexandre Alapetite
2788aaeb1a Problème ctype_digit qui ne marche pas sur des variables qui sont déjà des entiers 2013-12-26 02:50:58 +01:00
Alexandre Alapetite
7eda2793bb Nouveau bouton pour lancer manuellement la purge des vieux articles
Attention, si on supprime des articles qui sont encore dans les flux
RSS, ils risquent de réapparaitre en cas de date manquante ou erronée,
ou si l'utilisateur augmente la date d'expiration.

Ce bouton est plus strict que la purge automatique qui conserve toujours
au moins le même nombre d'articles que dans le flux RSS en cours + 10.
2013-12-25 19:53:09 +01:00
Alexandre Alapetite
0b3d79745d Encodage titre flux pour cas Glazman 2013-12-25 18:50:05 +01:00
Alexandre Alapetite
c2375265c0 Fin taille historique
Permet d'éviter les problèmes de flux vides à l'importation
https://github.com/marienfressinaud/FreshRSS/issues/332 , ou de nombre
d'articles non-lus qui ne correspondent pas au nombre d'articles
affichés
2013-12-25 18:18:14 +01:00
Alexandre Alapetite
06d4b8d102 Option globale pour la taille minimale de l'historique par défaut
Plus une réorganisation des options
2013-12-25 17:37:52 +01:00
Alexandre Alapetite
a4b890b67f Suite gestion plus fine de l'historique 2013-12-25 14:29:29 +01:00
Alexandre Alapetite
87bfa195a6 Permet de configurer plus finement le nombre d’articles minimum à conserver par flux 2013-12-24 01:21:11 +01:00
Alexandre Alapetite
7b7acf5c87 Synchronisation quelques lignes blanches 2013-12-23 13:35:54 +01:00
Alexandre Alapetite
4bcfd591f0 Chargement automatique activé par défaut
Clôture https://github.com/marienfressinaud/FreshRSS/issues/308
2013-12-22 15:00:54 +01:00
Alexandre Alapetite
6b7d96d0ea Refactorisation : correction classes oubliées 2013-12-19 21:19:45 +01:00
Alexandre Alapetite
e29be10556 Recherches spéciales intitle: ou inurl: ou author:
Permet de chercher en utilisant intitle: ou inurl: ou author: comme dans
certains moteurs de recherche. Pour l'instant, un seul de ces mots clefs
à la fois peut être spécifié en tout début de chaîne de recherche et
sera appliqué à l'ensemble du reste de la recherche.
NB: À ajouter à la documentation, wiki
2013-12-16 22:22:56 +01:00
Alexandre Alapetite
ba71d7747a SQL : permet recherche du caractère dièse 2013-12-16 22:03:16 +01:00
Alexandre Alapetite
a1f8bade61 SQL : petits changement recherche
Traite mieux les caractères spéciaux.
Permet par exemple une recherche sur des mots contenant des apostrophes,
ou le signe pourcentage, etc.
Il faudra toujours essayer d'améliorer la recherche en particulier
lorsque plusieurs mots sont fournis
2013-12-16 21:58:47 +01:00
Alexandre Alapetite
8abeeaf65e SQL : correction recherche
Oups, mon précédent changement SQL avait cassé la recherche.
Patch rapide en attendant une ré-optimisation en particulier pour le cas
de recherche sur plusieurs mots
2013-12-16 17:45:57 +01:00
Alexandre Alapetite
847de9b329 PHP : performances fonction isDay
Amélioration des performances de Entry->isDay()
2013-12-16 00:54:13 +01:00
Alexandre Alapetite
529d6bcd15 SQL : performances
Tentative de reformulation de la requête principale pour améliorer les
performances.
Utilisation d'une sous-jointure qui retourne uniquement e.id.
Sur mon serveur avec 13000 articles, la requête de la page d'accueil
sans article non lu mettait 1.38s avant le patch, contre 0.08s après (en
désactivant bien sûr le cache SQL).

Il faudra re-tester et tenter d'autres optimisations (notamment sur les
index) avec un nombre d'articles plus important.

Avant :
SELECT SQL_NO_CACHE e.id, e.guid, e.title, e.author,
UNCOMPRESS(e.content_bin) AS content, e.link, e.date, e.is_read,
e.is_favorite, e.id_feed, e.tags FROM `freshrss_alex_entry` e INNER JOIN
`freshrss_alex_feed` f ON e.id_feed = f.id WHERE f.priority > 0 AND
(e.id >= 1371597014000000 OR e.is_favorite = 1 OR f.keep_history = 1)
ORDER BY e.id DESC LIMIT 33;

Après :
SELECT SQL_NO_CACHE e.id, e.guid, e.title, e.author,
UNCOMPRESS(e.content_bin) AS content, e.link, e.date, e.is_read,
e.is_favorite, e.id_feed, e.tags FROM `freshrss_alex_entry` e INNER JOIN
(SELECT e1.id FROM `freshrss_alex_entry` e1 INNER JOIN
`freshrss_alex_feed` f ON e1.id_feed = f.id WHERE f.priority > 0 AND
(e1.id >= 1371597014000000 OR e1.is_favorite = 1 OR f.keep_history = 1)
ORDER BY e1.id DESC LIMIT 33) e2 ON e2.id = e.id ORDER BY e.id DESC;
2013-12-16 00:50:24 +01:00
Alexandre Alapetite
a2421185d0 SQL : Petite amélioration de la requête principale
En particulier pour les favoris, où cela évite une jointure.
2013-12-15 16:01:37 +01:00
Alexandre Alapetite
4ee4f16ffe Problème de casse renommage répertoire 2013-12-15 11:24:14 +01:00
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
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