<?xml version="1.0"?>
<ruleset name="WordPress Coding Standards for Plugins">
	<description>Generally-applicable sniffs for WordPress plugins</description>
	<!-- Only sniff PHP files -->
	<arg name="extensions" value="php"/>

	<arg value="s"/>

	<exclude-pattern>/vendor/*</exclude-pattern>
	<exclude-pattern>/tests/*</exclude-pattern>

	<rule ref="WordPress-Core" />
	<rule ref="WordPress-Docs" />

	<rule ref="Squiz.PHP.CommentedOutCode">
		<exclude name="Squiz.PHP.CommentedOutCode.Found" />
	</rule>

	<rule ref="Generic.PHP.NoSilencedErrors">
		<exclude name="Generic.PHP.NoSilencedErrors.Discouraged" />
	</rule>

	<rule ref="WordPress.PHP.NoSilencedErrors">
		<properties>
			<property name="custom_whitelist" type="array" value="ini_get,exif_read_data,ob_end_flush"/>
		</properties>
	</rule>
	<rule ref="WordPress.NamingConventions.ValidVariableName">
		<properties>
			<property name="customPropertiesWhitelist" type="array" value="formatOutput,imgQuality,parentNode,nextSibling,documentElement,imagePath,webimagePath,thumbPath,fileName,Version,Name" />
		</properties>
		<properties>
			<property name="customVariablesWhitelist" type="array" value="formatOutput,parentNode,nextSibling,documentElement" />
		</properties>
	</rule>

	<rule ref="PHPCompatibilityWP">
		<severity>10</severity>
	</rule>

	<rule ref="WordPress.Security">
		<severity>10</severity>
	</rule>

	<rule ref="WordPress.DB.PreparedSQL">
		<severity>10</severity>
	</rule>
</ruleset>
