<?xml version="1.0"?>
<ruleset name="FACT-Finder">
    <description>FACT-Finder® OXID Coding Standard</description>

    <arg value="psw" />
    <arg name="extensions" value="php,phtml" />
    <arg name="ignore" value="*/vendor/*" />

    <config name="ignore_warnings_on_exit" value="1" />

    <rule ref="PSR1" />
    <rule ref="PSR2" />
    <rule ref="Generic.Arrays.DisallowLongArraySyntax" />
    <rule ref="Generic.CodeAnalysis.UnusedFunctionParameter" />
    <rule ref="Generic.Files.LineLength">
        <exclude-pattern>*Test.php</exclude-pattern>
        <properties>
            <property name="lineLimit" value="120" />
            <property name="absoluteLineLimit" value="0" />
        </properties>
    </rule>
    <rule ref="Generic.Formatting.SpaceAfterCast" />
    <rule ref="Generic.Metrics.CyclomaticComplexity" />
    <rule ref="Generic.PHP.LowerCaseConstant" />
    <rule ref="Generic.PHP.LowerCaseKeyword" />
    <rule ref="PSR1.Methods.CamelCapsMethodName.NotCamelCaps">
        <exclude-pattern>*Test.php</exclude-pattern>
    </rule>
    <rule ref="PSR2.Classes.PropertyDeclaration.Underscore" />
    <rule ref="PSR2.Files.EndFileNewline" />
    <rule ref="PSR2.Methods.MethodDeclaration.Underscore" />
    <rule ref="Squiz.ControlStructures.ControlSignature">
        <properties>
            <property name="requiredSpacesBeforeColon" value="0" />
        </properties>
    </rule>
    <rule ref="Squiz.Functions.GlobalFunction">
        <exclude-pattern>*/smarty/*</exclude-pattern>
        <exclude-pattern>*Test.php</exclude-pattern>
    </rule>
    <rule ref="Squiz.Strings.DoubleQuoteUsage">
        <exclude name="Squiz.Strings.DoubleQuoteUsage.ContainsVar" />
    </rule>
</ruleset>
