<?xml version="1.0"?>
<ruleset name="WordPress Core">
	<description>Non-controversial generally-agreed upon WordPress Coding Standards</description>

	<!-- http://make.wordpress.org/core/handbook/coding-standards/php/#brace-style -->
	<rule ref="Generic.ControlStructures.InlineControlStructure" />
	<rule ref="Squiz.ControlStructures.ControlSignature" />
	<rule ref="Squiz.ControlStructures.ControlSignature.NewlineAfterOpenBrace">
		<severity>0</severity>
	</rule>

	<!-- http://make.wordpress.org/core/handbook/coding-standards/php/#remove-trailing-spaces -->
	<rule ref="Squiz.WhiteSpace.SuperfluousWhitespace"/>

	<!-- http://make.wordpress.org/core/handbook/coding-standards/php/#no-shorthand-php-tags -->
	<rule ref="Generic.PHP.DisallowShortOpenTag"/>

	<!-- important to prevent issues with content being sent before headers -->
	<rule ref="Generic.Files.ByteOrderMark"/>

	<!-- http://make.wordpress.org/core/handbook/coding-standards/php/#naming-conventions -->
	<rule ref="Generic.PHP.LowerCaseConstant"/>

	<!-- http://make.wordpress.org/core/handbook/coding-standards/php/#indentation -->
	<arg name="tab-width" value="4"/>
	<rule ref="Generic.WhiteSpace.DisallowSpaceIndent"/>
	<rule ref="Generic.WhiteSpace.ScopeIndent">
		<properties>
			<property name="indent" value="4"/>
			<property name="tabIndent" value="true"/>
		</properties>
	</rule>

	<!-- http://make.wordpress.org/core/handbook/coding-standards/php/#error-control-operator -->
	<rule ref="Generic.PHP.NoSilencedErrors" />

	<rule ref="Squiz.Strings.DoubleQuoteUsage"/>
	<rule ref="Squiz.Strings.DoubleQuoteUsage.ContainsVar">
		<severity>0</severity>
	</rule>
	
	<rule ref="Generic.PHP.LowerCaseKeyword"/>

	<rule ref="Generic.Files.LineEndings">
		<properties>
			<property name="eolChar" value="\n"/>
		</properties>
	</rule>


	<rule ref="Generic.Files.EndFileNewline"/>

	<!-- https://make.wordpress.org/core/handbook/coding-standards/php/#naming-conventions -->
	<rule ref="Generic.Files.LowercasedFilename"/>

	<!-- https://make.wordpress.org/core/handbook/coding-standards/php/#space-usage -->
	<rule ref="Generic.Formatting.SpaceAfterCast"/>

	<!-- https://make.wordpress.org/core/handbook/coding-standards/php/#brace-style -->
	<rule ref="Generic.Functions.OpeningFunctionBraceKernighanRitchie"/>

	<rule ref="PEAR.Functions.FunctionCallSignature">
		<properties>
			<property name="requiredSpacesAfterOpen" value="1" />
			<property name="requiredSpacesBeforeClose" value="1" />
		</properties>
	</rule>
	<rule ref="PEAR.Functions.FunctionCallSignature.ContentAfterOpenBracket">
		<severity>0</severity>
	</rule>
	<rule ref="PEAR.Functions.FunctionCallSignature.CloseBracketLine">
		<severity>0</severity>
	</rule>

	<rule ref="WordPress.Arrays.ArrayDeclaration">
		<exclude name="WordPress.Arrays.ArrayDeclaration.SingleLineNotAllowed" />
	</rule>
	<rule ref="WordPress.Arrays.ArrayKeySpacingRestrictions"/>
	<rule ref="WordPress.Classes.ValidClassName"/>
	<rule ref="WordPress.Files.FileName"/>
	<rule ref="WordPress.Functions.FunctionDeclarationArgumentSpacing"/>
	<rule ref="WordPress.NamingConventions.ValidFunctionName"/>
	<rule ref="WordPress.WhiteSpace.ControlStructureSpacing"/>
	<rule ref="WordPress.WhiteSpace.OperatorSpacing"/>
	<rule ref="WordPress.WhiteSpace.CastStructureSpacing"/>
	<rule ref="WordPress.PHP.YodaConditions"/>

</ruleset>