mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-01-02 10:27:48 -05:00
* fix: Fix undefined GLOB_BRACE on Alpine The manual states that: > Note: The GLOB_BRACE flag is not available on some non GNU systems, > 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 <alexandre@alapetite.fr>
122 lines
5.3 KiB
XML
122 lines
5.3 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<ruleset name="FreshRSS Ruleset">
|
||
<description>Created with the PHP Coding Standard Generator. https://edorian.github.com/php-coding-standard-generator/</description>
|
||
<arg name="extensions" value="php,phtml,css,js"/>
|
||
<arg name="tab-width" value="4"/>
|
||
<exclude-pattern>./.git/</exclude-pattern>
|
||
<exclude-pattern>./lib/SimplePie/</exclude-pattern>
|
||
<exclude-pattern>./lib/marienfressinaud/</exclude-pattern>
|
||
<exclude-pattern>./lib/phpgt/</exclude-pattern>
|
||
<exclude-pattern>./lib/phpmailer/</exclude-pattern>
|
||
<exclude-pattern>./lib/http-conditional.php</exclude-pattern>
|
||
<exclude-pattern>./node_modules/</exclude-pattern>
|
||
<exclude-pattern>./data/config.php</exclude-pattern>
|
||
<exclude-pattern>./data/users/*/config.php</exclude-pattern>
|
||
<exclude-pattern>./extensions/</exclude-pattern>
|
||
<exclude-pattern>./p/scripts/vendor/</exclude-pattern>
|
||
<exclude-pattern>./vendor/</exclude-pattern>
|
||
<exclude-pattern>*.min.js$</exclude-pattern>
|
||
<!-- Duplicate class names are not allowed -->
|
||
<rule ref="Generic.Classes.DuplicateClassName"/>
|
||
<!-- Statements must not be empty -->
|
||
<rule ref="Generic.CodeAnalysis.EmptyStatement"/>
|
||
<!-- Unconditional if-statements are not allowed -->
|
||
<rule ref="Generic.CodeAnalysis.UnconditionalIfStatement"/>
|
||
<!-- Do not use final statements inside final classes -->
|
||
<rule ref="Generic.CodeAnalysis.UnnecessaryFinalModifier"/>
|
||
<!-- Do not override methods to call their parent -->
|
||
<rule ref="Generic.CodeAnalysis.UselessOverridingMethod"/>
|
||
<!-- Maximum line length -->
|
||
<rule ref="Generic.Files.LineLength">
|
||
<!-- For language strings maximum line lengths make little sense. -->
|
||
<exclude-pattern>./app/i18n/</exclude-pattern>
|
||
<!-- Don’t enforce line length on the HTML; the point is to improve legibility, not reduce it -->
|
||
<exclude-pattern>*.phtml$</exclude-pattern>
|
||
<properties>
|
||
<property name="lineLimit" value="165"/>
|
||
<property name="absoluteLineLimit" value="190"/>
|
||
</properties>
|
||
</rule>
|
||
<!-- When calling a function: -->
|
||
<!-- Do not add a space before the opening parenthesis -->
|
||
<!-- Do not add a space after the opening parenthesis -->
|
||
<!-- Do not add a space before the closing parenthesis -->
|
||
<!-- Do not add a space before a comma -->
|
||
<!-- Add a space after a comma -->
|
||
<rule ref="Generic.Functions.FunctionCallArgumentSpacing"/>
|
||
<rule ref="Generic.PHP.DisallowShortOpenTag">
|
||
<exclude name="Generic.PHP.DisallowShortOpenTag.EchoFound"/>
|
||
</rule>
|
||
<rule ref="Generic.PHP.DeprecatedFunctions" />
|
||
<!-- Use UPPERCARE for constants -->
|
||
<rule ref="Generic.NamingConventions.UpperCaseConstantName"/>
|
||
<!-- Use lowercase for 'true', 'false' and 'null' -->
|
||
<rule ref="Generic.PHP.LowerCaseConstant"/>
|
||
<!-- Use a single string instead of concatenating -->
|
||
<rule ref="Generic.Strings.UnnecessaryStringConcat">
|
||
<properties>
|
||
<!-- Allow string concatenating across multiple lines -->
|
||
<property name="allowMultiline" value="true"/>
|
||
</properties>
|
||
</rule>
|
||
<!-- Use tabs for indentation -->
|
||
<rule ref="Generic.WhiteSpace.DisallowSpaceIndent"/>
|
||
<!-- Parameters with default values must appear last in functions -->
|
||
<rule ref="PEAR.Functions.ValidDefaultValue"/>
|
||
<!-- Use 'elseif' instead of 'else if' -->
|
||
<rule ref="PSR2.ControlStructures.ElseIfDeclaration"/>
|
||
<!-- Do not add spaces after opening or before closing bracket -->
|
||
<rule ref="PSR2.ControlStructures.ControlStructureSpacing"/>
|
||
<!-- Add a new line at the end of a file -->
|
||
<rule ref="PSR2.Files.EndFileNewline"/>
|
||
<!-- Use Unix newlines -->
|
||
<rule ref="Generic.Files.LineEndings">
|
||
<properties>
|
||
<property name="eolChar" value="\n" />
|
||
</properties>
|
||
</rule>
|
||
<!-- Add space after closing parenthesis -->
|
||
<!-- Add body into new line -->
|
||
<!-- Close body in new line -->
|
||
<rule ref="Squiz.ControlStructures.ControlSignature">
|
||
<!-- No space after keyword (before opening parenthesis) -->
|
||
<exclude name="Squiz.ControlStructures.ControlSignature.SpaceAfterKeyword"/>
|
||
</rule>
|
||
<!-- When declaring a function: -->
|
||
<!-- Do not add a space before a comma -->
|
||
<!-- Add a space after a comma -->
|
||
<!-- Add a space before and after an equal sign -->
|
||
<rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing">
|
||
<properties>
|
||
<property name="equalsSpacing" value="1"/>
|
||
</properties>
|
||
</rule>
|
||
<!-- Do not add spaces when casting -->
|
||
<rule ref="Squiz.WhiteSpace.CastSpacing"/>
|
||
<!-- Operators must have a space around them -->
|
||
<rule ref="Squiz.WhiteSpace.OperatorSpacing">
|
||
<properties>
|
||
<property name="ignoreNewlines" value="true" />
|
||
</properties>
|
||
</rule>
|
||
<!-- Do not add a whitespace before a semicolon -->
|
||
<rule ref="Squiz.WhiteSpace.SemicolonSpacing"/>
|
||
<!-- Do not add whitespace at start or end of a file or end of a line -->
|
||
<rule ref="Squiz.WhiteSpace.SuperfluousWhitespace"/>
|
||
<!-- Expected space after closing parenthesis -->
|
||
<rule ref="Squiz.ControlStructures.ControlSignature.SpaceAfterCloseParenthesis">
|
||
<exclude-pattern>.phtml$</exclude-pattern>
|
||
</rule>
|
||
<!-- Opening brace on same line as function declaration -->
|
||
<rule ref="Generic.Functions.OpeningFunctionBraceKernighanRitchie" />
|
||
<!-- Newline required after opening brace -->
|
||
<rule ref="Squiz.ControlStructures.ControlSignature.NewlineAfterOpenBrace">
|
||
<exclude-pattern>.phtml$</exclude-pattern>
|
||
<exclude-pattern>.js$</exclude-pattern>
|
||
</rule>
|
||
<!-- No PHP code was found in this file -->
|
||
<rule ref="Internal.NoCodeFound">
|
||
<exclude-pattern>.phtml$</exclude-pattern>
|
||
</rule>
|
||
</ruleset>
|