<feed xmlns='http://www.w3.org/2005/Atom'>
<title>FreshRSS (Customized)/app/views/helpers/export, branch 1.23.1</title>
<subtitle>Customized version of FreshRSS, a self-hosted RSS feed aggregator</subtitle>
<id>https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.23.1</id>
<link rel='self' href='https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.23.1'/>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/'/>
<updated>2023-12-18T16:59:16+00:00</updated>
<entry>
<title>Pass PHPStan level 8 (#5946)</title>
<updated>2023-12-18T16:59:16+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-12-18T16:59:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=a80a5f48a16e7d232168a7aaa68e9a1804235ce1'/>
<id>urn:sha1:a80a5f48a16e7d232168a7aaa68e9a1804235ce1</id>
<content type='text'>
* Pass PHPStan level 8
And prepare for PHPStan level 9 https://phpstan.org/user-guide/rule-levels

* Revert wrong replace in comment

* Fix PHPStan level 8

* Update PHPStan and other dev dependencies

* Remove obsolete comment

* noVariableVariables and towards bleedingEdge
https://github.com/phpstan/phpstan-strict-rules
https://phpstan.org/blog/what-is-bleeding-edge

* More bleedingEdge

* A bit more PHPStan level 9

* More PHPStan level 9

* Prepare for booleansInConditions
Ignore int and null

* Revert wrong line

* More fixes

* Fix keep_max_n_unread

* Stricter attribute functions

* Stricter callHooks and more PHPStan level 9

* More typing

* A tiny more</content>
</entry>
<entry>
<title>Use strict_types (#5830)</title>
<updated>2023-11-16T21:43:00+00:00</updated>
<author>
<name>Luc SANCHEZ</name>
<email>4697568+ColonelMoutarde@users.noreply.github.com</email>
</author>
<published>2023-11-16T21:43:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=30c7a61a9b410f023c56ef19b9389a61647d8768'/>
<id>urn:sha1:30c7a61a9b410f023c56ef19b9389a61647d8768</id>
<content type='text'>
* Little's optimisations and booleans in conditions

* Apply strict type

* Apply strict type

* Apply strict type

* Fix multiple bugs with PHP 8.2 and 8.3

* Many declares missing, more errors fixed

* Apply strict type

* Another approach

* Stronger typing for Minz_Session

* Fix case of SQLite

---------

Co-authored-by: Luc &lt;sanchezluc+freshrss@gmail.com&gt;
Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<entry>
<title>Fix JSON export/import (#5626)</title>
<updated>2023-09-04T08:09:37+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-09-04T08:09:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=1c7c1016f4a5147003ed1c438b8a386a63a53cab'/>
<id>urn:sha1:1c7c1016f4a5147003ed1c438b8a386a63a53cab</id>
<content type='text'>
* Fix import with empty content
fix https://github.com/FreshRSS/FreshRSS/issues/5622
Cherry picks on https://github.com/FreshRSS/FreshRSS/pull/5584

* Fix export of tags / labels
Article-defined tags were wrongly exported as user-defined labels.

* Fix export of tags / labels
Article-defined tags were wrongly exported as user-defined labels.

* Fix bug with many labels

* Better typing

* Comments</content>
</entry>
<entry>
<title>OPML export fix empty attributes (#5559)</title>
<updated>2023-08-03T19:57:00+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-08-03T19:57:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=c49c29a561e73d791c7ea1df84c661e052b46781'/>
<id>urn:sha1:c49c29a561e73d791c7ea1df84c661e052b46781</id>
<content type='text'>
Fix:
&gt; Deprecated:  DOMElement::setAttributeNS(): Passing null to parameter #3 ($value) of type string is deprecated in /var/www/FreshRSS/lib/marienfressinaud/lib_opml/src/LibOpml/LibOpml.php on line 680</content>
</entry>
<entry>
<title>Complete PHPStan Level 6 (#5305)</title>
<updated>2023-04-17T06:30:21+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-04-17T06:30:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=f3760f138dcbaf7a2190336a0378cf1b2190c9f5'/>
<id>urn:sha1:f3760f138dcbaf7a2190336a0378cf1b2190c9f5</id>
<content type='text'>
* Complete PHPStan Level 6
Fix https://github.com/FreshRSS/FreshRSS/issues/4112
And initiate PHPStan Level 7

* PHPStan Level 6 for tests
* Use phpstan/phpstan-phpunit
* Update to PHPStan version 1.10

* Fix mixed bug

* Fix mixed return bug

* Fix paginator bug

* Fix FreshRSS_UserConfiguration

* A couple more Minz_Configuration bug fixes

* A few trivial PHPStan Level 7 fixes

* A few more simple PHPStan Level 7

* More files passing PHPStan Level 7
Add interface to replace removed class from https://github.com/FreshRSS/FreshRSS/pull/5251

* A few more PHPStan Level 7 preparations

* A few last details</content>
</entry>
<entry>
<title>Fix OPML export (#5238)</title>
<updated>2023-03-29T19:30:37+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-03-29T19:30:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=ea877080108aa5846d07a0039083d3cc6fdc2ba9'/>
<id>urn:sha1:ea877080108aa5846d07a0039083d3cc6fdc2ba9</id>
<content type='text'>
Regression from https://github.com/FreshRSS/FreshRSS/pull/4403</content>
</entry>
<entry>
<title>Automated test towards PHPStan level 6 (#5230)</title>
<updated>2023-03-26T21:19:41+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-03-26T21:19:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=f3af3f0f3d4da8023c5e918545d47a51afc4b6c1'/>
<id>urn:sha1:f3af3f0f3d4da8023c5e918545d47a51afc4b6c1</id>
<content type='text'>
* Automated test towards PHPStan level 6
Contributes to https://github.com/FreshRSS/FreshRSS/issues/4112
With this automated tests, files that are passing Level 6 are tested to avoid regressions towards Level 5 (which is the current baseline for the whole code-base)

It is included when calling `make test-all` or can be called specifically by `composer run-script phpstan-next`

* Test and example with 3 new passing files</content>
</entry>
<entry>
<title>Modernize Constants and use new constant for string 'currentUser' (#5089)</title>
<updated>2023-03-26T12:17:22+00:00</updated>
<author>
<name>Luc SANCHEZ</name>
<email>4697568+ColonelMoutarde@users.noreply.github.com</email>
</author>
<published>2023-03-26T12:17:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=5f898dcc5ee244e4adbd6aa83b607c844d432fb6'/>
<id>urn:sha1:5f898dcc5ee244e4adbd6aa83b607c844d432fb6</id>
<content type='text'>
* Modernize Constants and use new constant 'currentUser'

* Add FreshRSS_Context::currentUser() function and use

* Add FreshRSS_Context::currentUser() function and use

* Add FreshRSS_Context::currentUser() function and use

* Add FreshRSS_Context::currentUser() function and use

* Add FreshRSS_Context::currentUser() function and use

* Update app/Controllers/userController.php

* Update app/Controllers/userController.php

* Update app/Controllers/userController.php

* Update app/Models/Auth.php

* Update p/api/greader.php

* Update p/api/greader.php

* Update p/api/greader.php

* Update app/Models/Context.php

* Update app/Models/LogDAO.php

* Update lib/Minz/Log.php

* Update p/api/greader.php

* Update app/layout/header.phtml

* Update app/views/helpers/export/articles.phtml

* Update cli/do-install.php

* Remarque's from Alkarex

* Remarque's from Alkarex

* Refactor using new Minz_User class

* Consistent naming of public constants

---------

Co-authored-by: Luc &lt;sanchezluc+freshrss@gmail.com&gt;
Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<entry>
<title>XML+XPath (#5076)</title>
<updated>2023-02-09T12:57:20+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2023-02-09T12:57:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=05ae1b0d2684cea4eda664c5ea1a995cb9f0c4b9'/>
<id>urn:sha1:05ae1b0d2684cea4eda664c5ea1a995cb9f0c4b9</id>
<content type='text'>
* XML+XPath
#fix https://github.com/FreshRSS/FreshRSS/issues/5075
Implementation allowing to take an XML document as input using an XML parser (instead of an HTML parser for HTML+XPath)

* Remove noise from another PR

* Better MIME for XML

* And add glob *.xml for cache cleaning

* Minor syntax

* Add glob json for clean cache</content>
</entry>
<entry>
<title>tec: Update the lib_opml (#4403)</title>
<updated>2023-01-18T09:12:21+00:00</updated>
<author>
<name>berumuron</name>
<email>dev@marienfressinaud.fr</email>
</author>
<published>2023-01-18T09:12:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=daaa391e33c5d92e3dd91bb0b81ac420abed7097'/>
<id>urn:sha1:daaa391e33c5d92e3dd91bb0b81ac420abed7097</id>
<content type='text'>
* fix: Fix undefined GLOB_BRACE on Alpine

The manual states that:

&gt; Note: The GLOB_BRACE flag is not available on some non GNU systems,
&gt; like Solaris or Alpine Linux.

This generated an error on Alpine.

Reference: https://www.php.net/manual/function.glob.php

* fix: List details of feeds for OPML exportation

The details are necessary to export the XPath information, the CSS full
content path and read actions filters.

* Update LibOpml to 0.4.0

* Refactor OPML importation to be more robust

First, it fixes two regressions introduced by the update of lib_opml:

- title attribute is used when text attribute is missing;
- the OPML category attribute is used as a fallback for feeds categories.

In a related way, if also fixes a problem when a feed had both a parent
category outline and a category attribute. Before, it only considered the
attribute as its category, but now it considers the parent outline.

Then, it counts category limit correctly by not increasing
`$nb_categories` if the category already exists.

* Exclude lib_opml from the CodeSniffer

* Fix variable names when logging some errors

* Fix catch of LibOpml Exception

* Make sure to declare the category

* Exclude lib_opml from PHPStan analyze

* Disable markdownlint for lib_opml

* Fix typos

* Use auto-loading and allow updates via Composer

* Fix broken links to lib_opml

* Bring back the ability to import the OPML frss:opmlUrl attribute

* Refactor the logs of OPML errors

* Update lib_opml to the version 0.5.0

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
</feed>
