@@ -2299,13 +2299,18 @@ public static function getConfigData($key)
22992299 public static function setConfigData ($ key , $ value , $ temp =false )
23002300 {
23012301 if ($ temp === false ) {
2302- $ configFile = dirname (__FILE__ ).'/CodeSniffer.conf ' ;
2303- if (is_file ($ configFile ) === false
2304- && strpos ('@data_dir@ ' , '@data_dir ' ) === false
2305- ) {
2306- // If data_dir was replaced, this is a PEAR install and we can
2307- // use the PEAR data dir to store the conf file.
2308- $ configFile = '@data_dir@/PHP_CodeSniffer/CodeSniffer.conf ' ;
2302+ $ path = Phar::running (false );
2303+ if ($ path !== '' ) {
2304+ $ configFile = dirname ($ path ).'/CodeSniffer.conf ' ;
2305+ } else {
2306+ $ configFile = dirname (__FILE__ ).'/CodeSniffer.conf ' ;
2307+ if (is_file ($ configFile ) === false
2308+ && strpos ('@data_dir@ ' , '@data_dir ' ) === false
2309+ ) {
2310+ // If data_dir was replaced, this is a PEAR install and we can
2311+ // use the PEAR data dir to store the conf file.
2312+ $ configFile = '@data_dir@/PHP_CodeSniffer/CodeSniffer.conf ' ;
2313+ }
23092314 }
23102315
23112316 if (is_file ($ configFile ) === true
@@ -2314,7 +2319,7 @@ public static function setConfigData($key, $value, $temp=false)
23142319 $ error = 'Config file ' .$ configFile .' is not writable ' ;
23152320 throw new PHP_CodeSniffer_Exception ($ error );
23162321 }
2317- }
2322+ }//end if
23182323
23192324 $ phpCodeSnifferConfig = self ::getAllConfigData ();
23202325
@@ -2355,9 +2360,14 @@ public static function getAllConfigData()
23552360 return $ GLOBALS ['PHP_CODESNIFFER_CONFIG_DATA ' ];
23562361 }
23572362
2358- $ configFile = dirname (__FILE__ ).'/CodeSniffer.conf ' ;
2359- if (is_file ($ configFile ) === false ) {
2360- $ configFile = '@data_dir@/PHP_CodeSniffer/CodeSniffer.conf ' ;
2363+ $ path = Phar::running (false );
2364+ if ($ path !== '' ) {
2365+ $ configFile = dirname ($ path ).'/CodeSniffer.conf ' ;
2366+ } else {
2367+ $ configFile = dirname (__FILE__ ).'/CodeSniffer.conf ' ;
2368+ if (is_file ($ configFile ) === false ) {
2369+ $ configFile = '@data_dir@/PHP_CodeSniffer/CodeSniffer.conf ' ;
2370+ }
23612371 }
23622372
23632373 if (is_file ($ configFile ) === false ) {
0 commit comments