<?xml version="1.0"?>
<ruleset name="phpBB PHP Legacy Standard">

 <description>phpBB legacy coding standard for PHP files</description>

 <rule ref="./ruleset-minimum.xml" />

 <!-- "for (; bar; )" should be "while (bar)" instead -->
 <rule ref="Generic.CodeAnalysis.ForLoopShouldBeWhileLoop" />

 <!-- A method MUST not only call its parent -->
 <rule ref="Generic.CodeAnalysis.UselessOverridingMethod" />

 <!-- The body of each structure MUST be enclosed by braces. -->
 <rule ref="Generic.ControlStructures.InlineControlStructure" />

 <!-- There MUST not be more than one statement per line. -->
 <rule ref="Generic.Formatting.DisallowMultipleStatements" />

 <!-- Call-time pass-by-reference MUST not be used. -->
 <rule ref="Generic.Functions.CallTimePassByReference.NotAllowed" />

 <!-- Class constants MUST be declared in all upper case with underscore separators. -->
 <rule ref="Generic.NamingConventions.UpperCaseConstantName" />

 <!-- Only <?php, no short tags. -->
 <rule ref="Generic.PHP.DisallowShortOpenTag.EchoFound" />

 <!-- Method arguments with default values MUST go at the end of the argument list. -->
 <rule ref="PEAR.Functions.ValidDefaultValue" />

 <!-- Each file MUST end with exactly one newline character -->
 <rule ref="PSR2.Files.EndFileNewline" />

 <!-- In the argument list, there MUST NOT be a space before each comma,
      and there MUST be one space after each comma. -->
 <rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing">
  <properties>
   <property name="equalsSpacing" value="1"/>
  </properties>
 </rule>
 <rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing.SpacingAfterHint" />

 <!-- There MUST NOT be trailing whitespace at the end of lines. -->
 <rule ref="Squiz.WhiteSpace.SuperfluousWhitespace" />

 <!-- There MUST NOT be whitespace before the first content of a file -->
 <rule ref="Squiz.WhiteSpace.SuperfluousWhitespace.StartFile" />

 <!-- There MUST NOT be whitespace after the last content of a file -->
 <rule ref="Squiz.WhiteSpace.SuperfluousWhitespace.EndFile" />

 <!-- Functions MUST NOT contain multiple empty lines in a row -->
 <rule ref="Squiz.WhiteSpace.SuperfluousWhitespace.EmptyLines" />

 <!-- The ?> closing tag MUST be omitted from files containing only PHP. -->
 <rule ref="Zend.Files.ClosingTag" />

</ruleset>
