<!-- https://github.com/squizlabs/PHP_CodeSniffer/blob/master/CodeSniffer/Standards/PSR2/ruleset.xml -->
<rule ref="PSR2"/>
+ <exclude-pattern>./lib/template/*html*</exclude-pattern>
+ <exclude-pattern>./lib/template/includes/</exclude-pattern>
+ <exclude-pattern>./module/</exclude-pattern>
+ <exclude-pattern>./website/css</exclude-pattern>
+ <exclude-pattern>./website/js</exclude-pattern>
-
-
- <!-- currently 300 warnings, we set a limit later -->
<rule ref="Generic.Files.LineLength">
<properties>
- <property name="lineLimit" value="9999"/>
- <property name="absoluteLineLimit" value="0"/>
+ <property name="lineLimit" value="194"/>
+ <property name="absoluteLineLimit" value="194"/>
</properties>
</rule>
+ <!-- "A file should declare new symbols (classes, functions, constants, etc.) and cause no
+ other side effects, or it should execute logic with side effects, but should not do both."
+ ... we have too many script and includes to be able to enforce that.
+ -->
+ <rule ref="PSR1.Files.SideEffects.FoundWithSymbols">
+ <severity>0</severity>
+ </rule>
+
+
+
+ <!-- eval, system, etc -->
+ <rule ref="Generic.PHP.ForbiddenFunctions">
+ <properties>
+ <property name="forbiddenFunctions" type="array" value="sizeof=>count,delete=>unset,print=>echo,create_function=>null,eval=>null"/>
+ </properties>
+ </rule>
<!-- **************************************************************
DOCUMENTATION
************************************************************** -->
- <rule ref="PEAR.Commenting.FileComment.Missing">
- <severity>0</severity>
- </rule>
- <rule ref="PEAR.Commenting.ClassComment.Missing">
- <severity>0</severity>
- </rule>
<rule ref="PEAR.Commenting.FunctionComment.Missing">
<severity>0</severity>
</rule>
COMMENTS
************************************************************** -->
+ <!-- any comments in the lines before function() are better than forcing
+ a PHPdoc style right now -->
+ <rule ref="PEAR.Commenting.FunctionComment.WrongStyle">
+ <severity>0</severity>
+ </rule>
+
<!-- We allow comments after statements -->
<rule ref="Squiz.Commenting.PostStatementComment.Found">
<severity>0</severity>
<rule ref="Squiz.Commenting.InlineComment.NoSpaceBefore">
<severity>0</severity>
</rule>
+ <!-- blank lines after inline comments are fine -->
+ <rule ref="Squiz.Commenting.InlineComment.SpacingAfter">
+ <severity>0</severity>
+ </rule>
<!-- Comments don't have to start uppercase -->
<rule ref="Squiz.Commenting.InlineComment.NotCapital">
<rule ref="Squiz.Commenting.InlineComment.InvalidEndChar">
<severity>0</severity>
</rule>
-
- <!-- we don't need '} // functionname()' at end of large blocks -->
- <rule ref="Squiz.Commenting.ClosingDeclarationComment.Missing">
- <severity>0</severity>
- </rule>
- <!-- .. same for conditions -->
- <rule ref="Squiz.Commenting.LongConditionClosingComment.Missing">
+ <!-- Empty comments are fine -->
+ <rule ref="Squiz.Commenting.InlineComment.Empty">
<severity>0</severity>
</rule>
-
<!-- **************************************************************
INDENTATION, SPACING
************************************************************** -->
- <!-- We don't need 2 blank lines after function -->
- <rule ref="Squiz.WhiteSpace.FunctionSpacing.After">
- <severity>0</severity>
- </rule>
-
- <!-- Aligned looks nicer, but causes too many warnings currently -->
- <rule ref="Generic.Formatting.MultipleStatementAlignment.NotSame">
- <severity>0</severity>
- </rule>
+ <rule ref="Squiz.Arrays.ArrayDeclaration.KeyNotAligned" />
<!-- Aligned looks nicer, but causes too many warnings currently -->
<rule ref="Squiz.Arrays.ArrayDeclaration.DoubleArrowNotAligned">
-
<!-- **************************************************************
VARIABLES
************************************************************** -->
<severity>0</severity>
</rule>
+ <!-- array() instead of [] for initialisation -->
+ <rule ref="Generic.Arrays.DisallowShortArraySyntax.Found" />
+
+
+
+
+ <!-- **************************************************************
+ STRING QUOTING
+ ************************************************************** -->
+
+ <!-- Prefer single quoted strings -->
+ <rule ref="Squiz.Strings.DoubleQuoteUsage" />
+
+ <!-- We allow variabled inside double-quoted strings "abc $somevar" -->
+ <rule ref="Squiz.Strings.DoubleQuoteUsage.ContainsVar">
+ <severity>0</severity>
+ </rule>
+
+
<rule ref="Generic.ControlStructures.InlineControlStructure.NotAllowed">
<severity>0</severity>
</rule>
- <rule ref="Generic.ControlStructures.InlineControlStructure.Discouraged">
- <severity>0</severity>
- </rule>
- <rule ref="Squiz.PHP.DisallowInlineIf.Found">
- <severity>0</severity>
- </rule>
<!-- We allow "if (a)". No need for "if (a === TRUE)" -->
<rule ref="Squiz.Operators.ComparisonOperatorUsage.ImplicitTrue">
<severity>0</severity>
</rule>
- <!-- We allow
- if (a)
- {
- -->
- <rule ref="PEAR.ControlStructures.MultiLineCondition.NewlineBeforeOpenBrace">
- <severity>0</severity>
- </rule>
- <!-- ... same -->
- <rule ref="Squiz.WhiteSpace.ControlStructureSpacing.NoLineAfterClose">
- <severity>0</severity>
- </rule>
- <!-- ... same for foreach/while etc -->
- <rule ref="PEAR.ControlStructures.ControlSignature">
- <severity>0</severity>
- </rule>
- <!-- ... same -->
- <rule ref="Squiz.WhiteSpace.FunctionClosingBraceSpace.SpacingBeforeClose">
- <severity>0</severity>
- </rule>
</ruleset>