Commit Graph

19 Commits

Author SHA1 Message Date
Alexandre Alapetite
77e9877316 Add PHPStan (#4021)
* Add PHPStan
#fix https://github.com/FreshRSS/FreshRSS/issues/4016
https://phpstan.org/

```sh
composer run-script phpstan
```

* More fixes

* Fix global variables

* Add .phtml

* Fix merge
https://github.com/FreshRSS/FreshRSS/pull/4090

* Fix more warnings

* Fix view errors and enable in CI

* ReturnTypeWillChange

* Dynamic view type

* Fix Minz static/self bug
2021-12-31 17:00:51 +01:00
Alexandre Alapetite
a2ab9cf83a Minz request avoid custom methods (#4020)
Take advantage of PHP7+ null-coalescing operator `??` to make code more standard, shorter, and faster instead of custom function with no extra functionality.

Allows code to be better tested and fix two PHPstan errors:

```
 ------ -----------------------------------------
  Line   app/Controllers/configureController.php
 ------ -----------------------------------------
  410    Cannot unset offset 'rid' on string.
 ------ -----------------------------------------

 ------ ------------------------------------
  Line   lib/Minz/FrontController.php
 ------ ------------------------------------
  70     Cannot unset offset 'c' on string.
  71     Cannot unset offset 'a' on string.
 ------ ------------------------------------
```

https://github.com/FreshRSS/FreshRSS/issues/4016
2021-12-02 23:25:07 +01:00
Alexandre Alapetite
4888f919f1 Prepare for batch mark as read 2018-12-25 01:30:28 +01:00
Alexandre Alapetite
8ee8a573f1 Custom labels (#2027)
* First draft of custom tags

https://github.com/FreshRSS/FreshRSS/issues/928
https://github.com/FreshRSS/FreshRSS/issues/1367

* SMALLINT to BIGINT for id_entry

And uppercase SQL types

* Fix layout for unreads

* Start UI menu

* Change menu order

* Clean database helpers

https://github.com/FreshRSS/FreshRSS/pull/2027#discussion_r217971535

* Travis rules do not understand PostgreSQL constants

Grrr

* Tag controller + UI

* Add column attributes to tags

* Use only favicon for now, for label

* Fix styling for different themes

* Constant for maximum InnoDB index length in Unicode

https://github.com/FreshRSS/FreshRSS/pull/2027#discussion_r219052200
(I would have personnally prefered keeping the readability of a real
value instead of a constant, in this case of many SQL fields)

* Use FreshRSS_Factory::createCategoryDao

* Add view of all articles containing any tag

* Fix search in tags

* Mark as read tags

* Partial auto-update unread tags

* More auto update tag unreads

* Add tag deletion

* Do not purge tagged articles

* Minor comment

* Fix SQLite and UI bug

* Google Reader API support for user tags

Add SQL check that tag names must be distinct from category names

* whitespace

* Add missing API for EasyRSS

* Compatibility SQLite

Problematic parentheses

* Add SQL DISTINCT for cases with multiple tags

* Fix for PostgreSQL

PostgreSQL needs some additional type hint to avoid "could not determine
data type of parameter $1"

http://www.postgresql-archive.org/Could-not-determine-data-type-of-parameter-1-tp2171092p2171094.html
2018-09-29 20:47:17 +02:00
Alexandre Alapetite
56ffc115d1 Do not mix POST and GET params
Avoid returning CSRF POST token for a GET
2016-08-13 19:10:32 +02:00
Alexandre Alapetite
6466fc87ec Load styles for two JSON cases 2016-04-29 18:24:46 +02:00
Marien Fressinaud
65ab90d3c7 Coding style (views)
See https://github.com/marienfressinaud/FreshRSS/issues/655
2014-10-05 19:11:43 +02:00
Marien Fressinaud
c8fad68a4f Use _i() whenever it is possible
Transform FreshRSS_Themes::icon\s? in _i

See https://github.com/marienfressinaud/FreshRSS/issues/655
2014-10-05 16:10:25 +02:00
Alexandre Alapetite
69f7bce75b Changements de vues
Correction d'un bug JavaScript récent dans la vue globale.
Corrections de nombreux bugs lors des changements de vue
https://github.com/marienfressinaud/FreshRSS/issues/346 et amélioration
des performances pour la génération des URL en évitant beaucoup d'appels
de fonctions https://github.com/marienfressinaud/FreshRSS/pull/362
De plus, dans les URL, is_favorite et is_read ont maintenant une valeur
par défaut de 1, ce qui évite de les écrire dans beaucoup de cas.
Suppression des espaces blancs de la sortie HTML au niveau de quelques
boucles critiques.
2014-01-18 16:41:10 +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
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
d85e6c5b83 Refactorise icon() dans RSSThemes::icon
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/284
2013-11-24 20:42:55 +01:00
Alexandre Alapetite
632423d97c Améliorations suite à icon()
Contribue à https://github.com/marienfressinaud/FreshRSS/issues/284
2013-11-23 23:47:20 +01:00
Alexandre Alapetite
f2697be658 Avoid preg_replace for simple cases
Use the faster str_replace() and str_ireplace() instead.
From http://www.php.net/manual/function.str-replace.php : "If you don't
need fancy replacing rules (like regular expressions), you should always
use this function instead of preg_replace(). "
2013-08-31 12:09:36 +02:00
Marien Fressinaud
3ba63a170e Suppression des 'notes' sur les articles, pas utile 2013-06-15 13:25:48 +02:00
Marien Fressinaud
19407e1ab6 Structure pour l'internationalisation terminée (voir bug #38) : il reste à faire la traduction en anglais notamment, rajouter une option pour changer la langue, détecter la langue préférée de l'utilisateur et voir si on peut migrer facilement l'installateur aussi 2013-04-27 13:40:48 +02:00
Marien Fressinaud
4b5c458a00 Curseur en forme de pointeur au dessus de titre et date de flux_header + ajout de liens de retour à l'accueil au niveau de la conf (fix temporaire du bug #36) 2013-03-18 23:00:43 +01:00
Marien Fressinaud
caf8d18c1d Début fix bug #22 : possibilité d'ajouter des notes à des articles et les mettre ou non en public 2013-03-17 21:34:14 +01:00
Marien Fressinaud
d21c1bb138 correction marquage des articles en js 2012-10-25 15:42:06 +02:00