<?xml version="1.0" encoding="UTF-8" ?>
<ruleset name="CodeIgniter">
  <description>CodeIgniter coding standard as described at http://codeigniter.com/user_guide/general/styleguide.html.</description>
  <rule ref="Generic.Files.LineEndings">
    <properties>
      <property name="eolChar" value="\n"/>
    </properties>
  </rule>

  <!-- PHP files should OMIT the closing PHP tag -->
  <rule ref="Zend.Files.ClosingTag"/>
  <!-- Always use full PHP opening tags -->
  <rule ref="Generic.PHP.DisallowShortOpenTag"/>

  <!-- Constants should always be fully uppercase -->
  <rule ref="Generic.NamingConventions.UpperCaseConstantName"/>
  <!-- TRUE, FALSE, and NULL keywords should always be fully uppercase -->
  <rule ref="Generic.PHP.UpperCaseConstant"/>

  <!-- One statement per line -->
  <rule ref="Generic.Formatting.DisallowMultipleStatements"/>

  <!-- Classes and functions should be commented -->
  <rule ref="PEAR.Commenting.ClassComment"/>
  <rule ref="PEAR.Commenting.FunctionComment"/>
  <rule ref="Squiz.Commenting.FunctionCommentThrowTag"/>
  <!-- Use warnings for docblock comments for files and variables, since nothing is cleary explained -->
  <rule ref="PEAR.Commenting.FileComment">
    <properties>
      <property name="error" value="false"/>
    </properties>
  </rule>
  <rule ref="Squiz.Commenting.VariableComment">
    <properties>
      <property name="error" value="false"/>
    </properties>
  </rule>

  <!-- Use Allman style indenting. With the exception of Class declarations,
       braces are always placed on a line by themselves, and indented at the same level as the control statement that "owns" them. -->
  <rule ref="Generic.Functions.OpeningFunctionBraceBsdAllman"/>
  <rule ref="PEAR.WhiteSpace.ScopeClosingBrace"/>
  <rule ref="Generic.Functions.FunctionCallArgumentSpacing"/>

  <!-- @todo Please see PHP_CodeSniffer_Standards_CodeIgniter_CodeIgniterCodingStandard for more details about what there is to do -->
</ruleset>