1<?xml version="1.0"?> 2<ruleset name="Observium ruleset"> 3 <description>Observium rules for PHP CodeSniffer</description> 4 5 <arg value="sp"/> 6 <arg name="extensions" value="php"/> 7 8 <file>.</file> 9 10 <!-- <arg name="report" value="xml"/> 11 <arg name="report-file" value="phpcs-report.xml"/> --> 12 13 <!-- Exclude unused code. --> 14 <exclude-pattern>*/attic/*</exclude-pattern> 15 <!-- Exclude devel code. --> 16 <exclude-pattern>*/devel/*</exclude-pattern> 17 <!-- Exclude Composer vendor directory. --> 18 <exclude-pattern>*/vendor/*</exclude-pattern> 19 <!-- Weathermap exclude --> 20 <exclude-pattern>*/weathermap/*</exclude-pattern> 21 22 <!-- Strip the filepaths down to the relevant bit. --> 23 <arg name="basepath" value="./"/> 24 25 <!-- Check up to 8 files simultanously. --> 26 <arg name="parallel" value="8"/> 27 28 <!-- PHPCompatibility standard path --> 29 <!-- <config name="installed_paths" value="tests/php-compatibility"/> --> 30 31 <!-- Check for cross-version support for PHP 5.6 and higher. --> 32 <config name="testVersion" value="5.6-"/> 33 34 <!-- Run against the PHPCompatibility ruleset --> 35 <rule ref="PHPCompatibility"> 36 <exclude-pattern>irc\.php$</exclude-pattern> 37 <exclude-pattern>*/weathermap/*</exclude-pattern> 38 <!-- <exclude-pattern>libs/pear/*</exclude-pattern> --> 39 <!-- random_bytes() already exist by compatibility lib --> 40 <exclude name="PHPCompatibility.FunctionUse.NewFunctions.random_bytesFound"/> 41 <exclude name="PHPCompatibility.FunctionUse.NewFunctions.random_intFound"/> 42 </rule> 43 44 <!-- Whitelist the mysql_to_rfc3339() and mysql_another_function() functions. --> 45 <rule ref="PHPCompatibility.Extensions.RemovedExtensions"> 46 <properties> 47 <property name="functionWhitelist" type="array" value="mysql_authenticate,mysql_auth_can_logout,mysql_auth_can_change_password,mysql_auth_change_password,mysql_auth_usermanagement,mysql_adduser,mysql_auth_user_exists,mysql_auth_username_by_id,mysql_auth_user_level,mysql_auth_user_id,mysql_deluser,mysql_auth_user_list,mysql_auth_user_info"/> 48 </properties> 49 </rule> 50 51 <!-- random_compat lib --> 52 <rule ref="PHPCompatibility.Classes.NewClasses.typeerrorFound"> 53 <exclude-pattern>libs/random_compat/*</exclude-pattern> 54 </rule> 55 <rule ref="PHPCompatibility.Classes.NewClasses.errorFound"> 56 <exclude-pattern>libs/random_compat/*</exclude-pattern> 57 </rule> 58 <rule ref="PHPCompatibility.IniDirectives.RemovedIniDirectives.mbstring_func_overloadDeprecated"> 59 <exclude-pattern>libs/random_compat/*</exclude-pattern> 60 </rule> 61 <rule ref="PHPCompatibility.FunctionUse.RemovedFunctions.mcrypt_create_ivDeprecatedRemoved"> 62 <exclude-pattern>libs/random_compat/*</exclude-pattern> 63 <exclude-pattern>libs/pear/Crypt/CHAP\.php</exclude-pattern> 64 </rule> 65 <rule ref="PHPCompatibility.Constants.RemovedConstants.mcrypt_dev_urandomDeprecatedRemoved"> 66 <exclude-pattern>libs/random_compat/*</exclude-pattern> 67 <exclude-pattern>libs/pear/Crypt/CHAP\.php</exclude-pattern> 68 </rule> 69 70 <!-- pear chap lib excludes --> 71 <rule ref="PHPCompatibility.FunctionUse.RemovedFunctions.mcrypt_module_openDeprecatedRemoved"> 72 <exclude-pattern>libs/pear/Crypt/CHAP\.php</exclude-pattern> 73 </rule> 74 <rule ref="PHPCompatibility.Constants.RemovedConstants.mcrypt_desDeprecatedRemoved"> 75 <exclude-pattern>libs/pear/Crypt/CHAP\.php</exclude-pattern> 76 </rule> 77 <rule ref="PHPCompatibility.FunctionUse.RemovedFunctions.mcrypt_enc_get_iv_sizeDeprecatedRemoved"> 78 <exclude-pattern>libs/pear/Crypt/CHAP\.php</exclude-pattern> 79 </rule> 80 <rule ref="PHPCompatibility.Constants.RemovedConstants.mcrypt_randDeprecatedRemoved"> 81 <exclude-pattern>libs/pear/Crypt/CHAP\.php</exclude-pattern> 82 </rule> 83 <rule ref="PHPCompatibility.FunctionUse.RemovedFunctions.mcrypt_generic_initDeprecatedRemoved"> 84 <exclude-pattern>libs/pear/Crypt/CHAP\.php</exclude-pattern> 85 </rule> 86 <rule ref="PHPCompatibility.FunctionUse.RemovedFunctions.mcrypt_genericDeprecatedRemoved"> 87 <exclude-pattern>libs/pear/Crypt/CHAP\.php</exclude-pattern> 88 </rule> 89 <rule ref="PHPCompatibility.FunctionUse.RemovedFunctions.mcrypt_generic_deinitDeprecatedRemoved"> 90 <exclude-pattern>libs/pear/Crypt/CHAP\.php</exclude-pattern> 91 </rule> 92 <rule ref="PHPCompatibility.FunctionUse.RemovedFunctions.mcrypt_module_closeDeprecatedRemoved"> 93 <exclude-pattern>libs/pear/Crypt/CHAP\.php</exclude-pattern> 94 </rule> 95 96 <!-- pear net socket excludes --> 97 <rule ref="PHPCompatibility.IniDirectives.RemovedIniDirectives.track_errorsDeprecated"> 98 <exclude-pattern>libs/pear/Net/Socket\.php</exclude-pattern> 99 </rule> 100 <rule ref="PHPCompatibility.Variables.RemovedPredefinedGlobalVariables.php_errormsgDeprecated"> 101 <exclude-pattern>libs/pear/Net/Socket\.php</exclude-pattern> 102 </rule> 103 <rule ref="PHPCompatibility.FunctionUse.NewFunctions.error_clear_lastFound"> 104 <exclude-pattern>libs/pear/Net/Socket\.php</exclude-pattern> 105 </rule> 106 107 <!-- Exclude shiff on specific patterns --> 108 <rule ref="PHPCompatibility.FunctionUse.ArgumentFunctionsReportCurrentValue.NeedsInspection"> 109 <exclude-pattern>includes/common\.inc\.php</exclude-pattern> 110 <exclude-pattern>libs/Fabiang/Xmpp/*</exclude-pattern> 111 </rule> 112 <rule ref="PHPCompatibility.Miscellaneous.ValidIntegers.HexNumericStringFound"> 113 <exclude-pattern>tests/*</exclude-pattern> 114 <exclude-pattern>libs/pear/*</exclude-pattern> 115 </rule> 116 <rule ref="PHPCompatibility.IniDirectives.RemovedIniDirectives.magic_quotes_runtimeDeprecatedRemoved"> 117 <exclude-pattern>libs/pear/Mail/mime*</exclude-pattern> 118 </rule> 119 <rule ref="PHPCompatibility.Constants.NewConstants.json_preserve_zero_fractionFound"> 120 <exclude-pattern>includes/definitions\.inc\.php</exclude-pattern> 121 </rule> 122 <rule ref="PHPCompatibility.Extensions.RemovedExtensions.mysql_DeprecatedRemoved"> 123 <exclude-pattern>includes/db/mysql\.inc\.php</exclude-pattern> 124 </rule> 125 <rule ref="PHPCompatibility.IniDirectives.RemovedIniDirectives.session_hash_functionRemoved"> 126 <exclude-pattern>html/includes/authenticate\.inc\.php</exclude-pattern> 127 </rule> 128 <rule ref="PHPCompatibility.Constants.NewConstants.sodium_crypto_secretbox_keybytesFound"> 129 <exclude-pattern>tests/IncludesEncryptTest\.php</exclude-pattern> 130 <exclude-pattern>includes/encrypt\.inc\.php</exclude-pattern> 131 </rule> 132 <rule ref="PHPCompatibility.Constants.NewConstants.sodium_crypto_secretbox_noncebytesFound"> 133 <exclude-pattern>tests/IncludesEncryptTest\.php</exclude-pattern> 134 <exclude-pattern>includes/encrypt\.inc\.php</exclude-pattern> 135 </rule> 136 <rule ref="PHPCompatibility.FunctionUse.NewFunctions.sodium_padFound"> 137 <exclude-pattern>tests/IncludesEncryptTest\.php</exclude-pattern> 138 <exclude-pattern>includes/encrypt\.inc\.php</exclude-pattern> 139 </rule> 140 <rule ref="PHPCompatibility.FunctionUse.NewFunctions.sodium_crypto_secretboxFound"> 141 <exclude-pattern>tests/IncludesEncryptTest\.php</exclude-pattern> 142 <exclude-pattern>includes/encrypt\.inc\.php</exclude-pattern> 143 </rule> 144 <rule ref="PHPCompatibility.Classes.NewClasses.sodiumexceptionFound"> 145 <exclude-pattern>tests/IncludesEncryptTest\.php</exclude-pattern> 146 <exclude-pattern>includes/encrypt\.inc\.php</exclude-pattern> 147 </rule> 148 <rule ref="PHPCompatibility.FunctionUse.NewFunctions.sodium_crypto_secretbox_openFound"> 149 <exclude-pattern>tests/IncludesEncryptTest\.php</exclude-pattern> 150 <exclude-pattern>includes/encrypt\.inc\.php</exclude-pattern> 151 </rule> 152 <rule ref="PHPCompatibility.Extensions.RemovedExtensions.mcryptDeprecatedRemoved"> 153 <exclude-pattern>tests/IncludesEncryptTest\.php</exclude-pattern> 154 <exclude-pattern>includes/encrypt\.inc\.php</exclude-pattern> 155 <exclude-pattern>libs/random_compat/*</exclude-pattern> 156 <exclude-pattern>libs/pear/Crypt/CHAP\.php</exclude-pattern> 157 </rule> 158 <rule ref="PHPCompatibility.FunctionUse.RemovedFunctions.mcrypt_encryptDeprecatedRemoved"> 159 <exclude-pattern>tests/IncludesEncryptTest\.php</exclude-pattern> 160 <exclude-pattern>includes/encrypt\.inc\.php</exclude-pattern> 161 <exclude-pattern>libs/pear/Crypt/CHAP\.php</exclude-pattern> 162 </rule> 163 <rule ref="PHPCompatibility.FunctionUse.RemovedFunctions.mcrypt_decryptDeprecatedRemoved"> 164 <exclude-pattern>tests/IncludesEncryptTest\.php</exclude-pattern> 165 <exclude-pattern>includes/encrypt\.inc\.php</exclude-pattern> 166 <exclude-pattern>libs/pear/Crypt/CHAP\.php</exclude-pattern> 167 </rule> 168 <rule ref="PHPCompatibility.Constants.RemovedConstants.mcrypt_rijndael_256DeprecatedRemoved"> 169 <exclude-pattern>tests/IncludesEncryptTest\.php</exclude-pattern> 170 <exclude-pattern>includes/encrypt\.inc\.php</exclude-pattern> 171 <exclude-pattern>libs/pear/Crypt/CHAP\.php</exclude-pattern> 172 </rule> 173 <rule ref="PHPCompatibility.Constants.RemovedConstants.mcrypt_mode_ecbDeprecatedRemoved"> 174 <exclude-pattern>tests/IncludesEncryptTest\.php</exclude-pattern> 175 <exclude-pattern>includes/encrypt\.inc\.php</exclude-pattern> 176 <exclude-pattern>libs/pear/Crypt/CHAP\.php</exclude-pattern> 177 </rule> 178 179 180 <!-- Run against a second ruleset --> 181 <!-- <rule ref="PSR2"/> --> 182 183</ruleset> 184