<?xml version="1.0"?>
<ruleset name="WordPress Security">

    <!-- Set a description for this ruleset. -->
    <description>A WordPress Ruleset to check application safety.</description>

    <exclude-pattern>freemius/*</exclude-pattern>
    <exclude-pattern>assets/*</exclude-pattern>
    <exclude-pattern>node_modules/*</exclude-pattern>
    <exclude-pattern>test/*</exclude-pattern>
    <exclude-pattern>vendor/*</exclude-pattern>
    <exclude-pattern>.git/*</exclude-pattern>

    <arg name="extensions" value="php,html" />
    <!-- Comment the below argument if you wnat to see warnings -->
    <arg name="warning-severity" value="0" />
    <arg name="colors" />

    <!-- <arg name="basepath" value="."/> -->

    <config name="minimum_wp_version" value="5.0"/>
    <config name="testVersion" value="8.0-" />

    <rule ref="WordPress-Extra">
        <!--Excluded Sniffs-->
        <exclude name="Generic.Commenting.DocComment.SpacingAfter" />
        <exclude name="Generic.Files.LineEndings.InvalidEOLChar" />
        <exclude name="Generic.Functions.FunctionCallArgumentSpacing.SpaceBeforeComma" />
        <exclude name="Generic.Functions.OpeningFunctionBraceKernighanRitchie" />
        <exclude name="PEAR.Functions.FunctionCallSignature" />
        <exclude name="Squiz.Commenting" />
        <exclude name="Squiz.PHP.DisallowSizeFunctionsInLoops.Found" />
        <exclude name="Squiz.WhiteSpace" />
        <!-- <exclude name="WordPress.Arrays" /> -->
        <exclude name="WordPress.Files.FileName" />
        <exclude name="WordPress.NamingConventions" />
        <!-- <exclude name="WordPress.Security.ValidatedSanitizedInput.MissingUnslash" /> -->
        <exclude name="WordPress.WP.I18n.NonSingularStringLiteralText" />
        <exclude name="WordPress.WhiteSpace" />
        <exclude name="Core.Commenting.CommentTags.AuthorTag" />
        <exclude name="WordPress.PHP.DontExtract" />
        <exclude name="Generic.Arrays.DisallowShortArraySyntax" />
        <exclude name="Generic.WhiteSpace.ScopeIndent.Incorrect" />
        <exclude name="WordPress.PHP.YodaConditions"/>
        <exclude name="WordPress.WP.I18n.MixedOrderedPlaceholders"/>
        <exclude name="WordPress.WP.I18n.UnorderedPlaceholders"/>
        <exclude name="WordPress.WP.I18n.NonSingularStringLiteralText"/>
        <exclude name="NormalizedArrays.Arrays.CommaAfterLast"/>
    </rule>

    <!-- Custom Validation Function -->
    <!-- <rule ref="WordPress.Security.ValidatedSanitizedInput">
        <properties>
            <property name="customSanitizingFunctions" type="array">
                <element value="mycred_sanitize_array"/>
            </property>
        </properties>
    </rule> -->
    
</ruleset>