<?xml version="1.0"?>
<ruleset name="WordPress Coding Standards for WP User Frontend Pro">
	<description>Generally-applicable sniffs for WordPress plugins.</description>

	<!-- What to scan -->
	<file>.</file>
	<exclude-pattern>*/assets/*</exclude-pattern>
    <exclude-pattern>*/src/*</exclude-pattern>
    <exclude-pattern>*/lib/*</exclude-pattern>
    <exclude-pattern>*/build/*</exclude-pattern>
    <exclude-pattern>*/node_modules/*</exclude-pattern>
    <exclude-pattern>*/vendor/*</exclude-pattern>
    <exclude-pattern>*/tests/*</exclude-pattern>
    <exclude-pattern>*/bin/*</exclude-pattern>
    <exclude-pattern>*/templates/*</exclude-pattern>

	<!-- How to scan -->
	<!-- Usage instructions: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Usage -->
	<!-- Annotated ruleset: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml -->
	<arg value="sp"/> <!-- Show sniff and progress -->
	<arg name="basepath" value="./"/><!-- Strip the file paths down to the relevant bit -->
	<arg name="colors"/>
	<arg name="extensions" value="php"/>
	<arg name="parallel" value="8"/><!-- Enables parallel processing when available for faster results. -->

	<!-- Rules: Check PHP version compatibility -->
	<!-- https://github.com/PHPCompatibility/PHPCompatibility#sniffing-your-code-for-compatibility-with-specific-php-versions -->
	<config name="testVersion" value="5.6-"/>
	<!-- https://github.com/PHPCompatibility/PHPCompatibilityWP -->
	<rule ref="PHPCompatibilityWP"/>

	<!-- Rules: WordPress Coding Standards -->
	<!-- https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards -->
	<!-- https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/wiki/Customizable-sniff-properties -->
	<config name="minimum_supported_wp_version" value="4.4"/>
    <rule ref="WordPress-Core"/>
	<rule ref="WordPress">
        <exclude name="Generic.WhiteSpace.DisallowSpaceIndent"/>
	</rule>
	<rule ref="WordPress.WP.I18n">
		<properties>
			<!-- Value: replace the text domain used. -->
			<property name="text_domain" type="array" value="wpuf-pro"/>
		</properties>
	</rule>
	<rule ref="WordPress.WhiteSpace.ControlStructureSpacing">
		<properties>
			<property name="blank_line_check" value="true"/>
		</properties>
	</rule>

    <rule ref="Squiz.Commenting">
		<severity>0</severity>
	</rule>
	<rule ref="PEAR.Functions.FunctionCallSignature.MultipleArguments">
		<severity>0</severity>
	</rule>
	<rule ref="Generic.Commenting.DocComment.SpacingBeforeTags">
		<severity>0</severity>
	</rule>
	<rule ref="WordPress.Files.FileName">
		<severity>0</severity>
	</rule>
	<rule ref="WordPress.PHP.DevelopmentFunctions">
		<severity>0</severity>
	</rule>
	<rule ref="WordPress.NamingConventions.ValidFunctionName.MethodNameInvalid">
		<severity>0</severity>
	</rule>
	<rule ref="WordPress.Arrays.MultipleStatementAlignment.DoubleArrowNotAligned">
		<severity>0</severity>
	</rule>
	<rule ref="Generic.Formatting.MultipleStatementAlignment.NotSameWarning">
		<severity>0</severity>
	</rule>
	<rule ref="Generic.Commenting.DocComment.MissingShort">
		<severity>0</severity>
	</rule>
	<rule ref="WordPress.PHP.YodaConditions.NotYoda">
		<severity>0</severity>
	</rule>
	<rule ref="Generic.Functions.OpeningFunctionBraceKernighanRitchie.ContentAfterBrace">
		<severity>0</severity>
	</rule>
	<rule ref="WordPress.WhiteSpace.ControlStructureSpacing.NoSpaceAfterCloseParenthesis">
		<severity>0</severity>
	</rule>
	<rule ref="WordPress.Arrays.ArrayDeclarationSpacing.AssociativeArrayFound">
		<type>warning</type>
	</rule>
	<rule ref="WordPress.DB.DirectDatabaseQuery.NoCaching">
		<severity>0</severity>
	</rule>
	<rule ref="WordPress.PHP.StrictInArray.MissingTrueStrict">
		<type>error</type>
	</rule>
	<rule ref="WordPress.PHP.StrictComparisons.LooseComparison">
		<type>error</type>
	</rule>
	<rule ref="WordPress.DB.DirectDatabaseQuery.DirectQuery">
		<severity>0</severity>
	</rule>
	<rule ref="WordPress.DB.PreparedSQL.NotPrepared">
		<type>warning</type>
	</rule>
	<rule ref="WordPress.Security.EscapeOutput.OutputNotEscaped">
		<severity>0</severity>
	</rule>
	<rule ref="WordPress.PHP.DevelopmentFunctions.error_log_var_export">
		<severity>0</severity>
	</rule>
	<rule ref="Generic.Arrays.DisallowShortArraySyntax">
		<severity>0</severity>
	</rule>
</ruleset>
