WordPress.org

Make WordPress Core

Changeset 47735


Ignore:
Timestamp:
05/01/2020 07:05:04 PM (6 months ago)
Author:
desrosj
Message:

General: Fix various issues flagged by the PHPCompatibilityWP PHPCS ruleset.

As part of the continued effort to improve PHP compatibility, the following improvments are being made:

  • Removing deprecated PHP safe_mode checks not found in bundled external libraries.
  • Change the remaining while loops using each() to foreach loops.
  • Prevent false positives from being flagged for the sodium_compat library being caused by loading this in a non-standard way.
  • Add inline comments to not flag deprecated PHP directives in the getID3 library.

Props desrosj, earnjam, dryanpress.
See #49922.

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/phpcompat.xml.dist

    r47122 r47735  
    4242
    4343    <!--
     44        PHPCompatibilityParagonieSodiumCompat prevents false positives in `sodium_compat`.
     45        However, because these files are included in a non-standard path, false positives are triggered in WordPress Core.
     46    -->
     47    <exclude-pattern>src/wp-includes/sodium_compat/lib/php72compat_const\.php$</exclude-pattern>
     48
     49    <rule ref="PHPCompatibility.FunctionUse.NewFunctions.sodium_crypto_sign_keypair_from_secretkey_and_publickeyFound">
     50        <exclude-pattern>/sodium_compat/src/Compat\.php$</exclude-pattern>
     51    </rule>
     52    <rule ref="PHPCompatibility.FunctionUse.NewFunctions.sodium_padFound">
     53        <exclude-pattern>/sodium_compat/src/Compat\.php$</exclude-pattern>
     54    </rule>
     55    <rule ref="PHPCompatibility.FunctionUse.NewFunctions.sodium_unpadFound">
     56        <exclude-pattern>/sodium_compat/src/Compat\.php$</exclude-pattern>
     57    </rule>
     58
     59    <!--
    4460        PHPCompatibilityParagonieRandomCompat prevents false positives in `random_compat`.
    4561        However, because these files are included in a non-standard path, false positives are triggered in WordPress Core.
  • trunk/src/wp-admin/includes/schema.php

    r47597 r47735  
    370370    do_action( 'populate_options' );
    371371
    372     if ( ini_get( 'safe_mode' ) ) {
    373         // Safe mode can break mkdir() so use a flat structure by default.
    374         $uploads_use_yearmonth_folders = 0;
    375     } else {
    376         $uploads_use_yearmonth_folders = 1;
    377     }
    378 
    379372    // If WP_DEFAULT_THEME doesn't exist, fall back to the latest core default theme.
    380373    $stylesheet = WP_DEFAULT_THEME;
     
    467460
    468461        // 2.0.1
    469         'uploads_use_yearmonth_folders'   => $uploads_use_yearmonth_folders,
     462        'uploads_use_yearmonth_folders'   => 1,
    470463        'upload_path'                     => '',
    471464
  • trunk/src/wp-includes/ID3/getid3.php

    r47604 r47735  
    286286
    287287        // Check safe_mode off
    288         if (preg_match('#(1|ON)#i', ini_get('safe_mode'))) {
     288        if (preg_match('#(1|ON)#i', ini_get('safe_mode'))) { // phpcs:ignore  // phpcs:ignore PHPCompatibility.FunctionUse.RemovedFunctions.get_magic_quotes_runtimeDeprecated
    289289            $this->warning('WARNING: Safe mode is on, shorten support disabled, md5data/sha1data for ogg vorbis disabled, ogg vorbos/flac tag writing disabled.');
    290290        }
     
    301301            // Check for magic_quotes_runtime
    302302            if (function_exists('get_magic_quotes_runtime')) {
    303                 if (get_magic_quotes_runtime()) {
     303                if (get_magic_quotes_runtime()) { // phpcs:ignore PHPCompatibility.FunctionUse.RemovedFunctions.get_magic_quotes_runtimeDeprecated
    304304                    $this->startup_error .= 'magic_quotes_runtime must be disabled before running getID3(). Surround getid3 block by set_magic_quotes_runtime(0) and set_magic_quotes_runtime(1).'."\n";
    305305                }
     
    307307            // Check for magic_quotes_gpc
    308308            if (function_exists('get_magic_quotes_gpc')) {
    309                 if (get_magic_quotes_gpc()) {
     309                if (get_magic_quotes_gpc()) { // phpcs:ignore PHPCompatibility.FunctionUse.RemovedFunctions.get_magic_quotes_gpcDeprecated
    310310                    $this->startup_error .= 'magic_quotes_gpc must be disabled before running getID3(). Surround getid3 block by set_magic_quotes_gpc(0) and set_magic_quotes_gpc(1).'."\n";
    311311                }
     
    15611561            // currently vorbiscomment only works on OggVorbis files.
    15621562
    1563             if (preg_match('#(1|ON)#i', ini_get('safe_mode'))) {
     1563            if (preg_match('#(1|ON)#i', ini_get('safe_mode'))) { // phpcs:ignore  // phpcs:ignore PHPCompatibility.FunctionUse.RemovedFunctions.get_magic_quotes_runtimeDeprecated
    15641564
    15651565                $this->warning('Failed making system call to vorbiscomment.exe - '.$algorithm.'_data is incorrect - error returned: PHP running in Safe Mode (backtick operator not available)');
  • trunk/src/wp-includes/class-snoopy.php

    r42201 r47735  
    184184                        $this->_frameurls = array();
    185185
    186                         while(list(,$frameurl) = each($frameurls))
     186                        foreach ( $frameurls as $frameurl )
    187187                        {
    188188                            if($this->_framedepth < $this->maxframes)
     
    244244                    $this->_frameurls = array();
    245245
    246                     while(list(,$frameurl) = each($frameurls))
     246                    foreach ( $frameurls as $frameurl )
    247247                    {
    248248                        if($this->_framedepth < $this->maxframes)
     
    342342                        $this->_frameurls = array();
    343343
    344                         while(list(,$frameurl) = each($frameurls))
     344                        foreach ( $frameurls as $frameurl )
    345345                        {
    346346                            if($this->_framedepth < $this->maxframes)
     
    409409                    $this->_frameurls = array();
    410410
    411                     while(list(,$frameurl) = each($frameurls))
     411                    foreach ( $frameurls as $frameurl )
    412412                    {
    413413                        if($this->_framedepth < $this->maxframes)
     
    630630        // catenate the non-empty matches from the conditional subpattern
    631631
    632         while(list($key,$val) = each($links[2]))
     632        foreach ( $links[2] as $key => $val )
    633633        {
    634634            if(!empty($val))
     
    636636        }
    637637
    638         while(list($key,$val) = each($links[3]))
     638        foreach ( $links[3] as $key => $val )
    639639        {
    640640            if(!empty($val))
     
    822822            if(!is_array($this->rawheaders))
    823823                $this->rawheaders = (array)$this->rawheaders;
    824             while(list($headerKey,$headerVal) = each($this->rawheaders))
     824            foreach ( $this->rawheaders as $headerKey => $headerVal )
    825825                $headers .= $headerKey.": ".$headerVal."\r\n";
    826826        }
     
    986986            if(!is_array($this->rawheaders))
    987987                $this->rawheaders = (array)$this->rawheaders;
    988             while(list($headerKey,$headerVal) = each($this->rawheaders))
     988            foreach ( $this->rawheaders as $headerKey => $headerVal )
    989989                $headers[] = $headerKey.": ".$headerVal;
    990990        }
     
    12051205            case "application/x-www-form-urlencoded":
    12061206                reset($formvars);
    1207                 while(list($key,$val) = each($formvars)) {
     1207                foreach ( $formvars as $key => $val ) {
    12081208                    if (is_array($val) || is_object($val)) {
    1209                         while (list($cur_key, $cur_val) = each($val)) {
     1209                        foreach ( $val as $cur_key => $cur_val ) {
    12101210                            $postdata .= urlencode($key)."[]=".urlencode($cur_val)."&";
    12111211                        }
     
    12191219
    12201220                reset($formvars);
    1221                 while(list($key,$val) = each($formvars)) {
     1221                foreach ( $formvars as $key => $val ) {
    12221222                    if (is_array($val) || is_object($val)) {
    1223                         while (list($cur_key, $cur_val) = each($val)) {
     1223                        foreach ( $val as $cur_key => $cur_val ) {
    12241224                            $postdata .= "--".$this->_mime_boundary."\r\n";
    12251225                            $postdata .= "Content-Disposition: form-data; name=\"$key\[\]\"\r\n\r\n";
     
    12341234
    12351235                reset($formfiles);
    1236                 while (list($field_name, $file_names) = each($formfiles)) {
     1236                foreach ( $formfiles as $field_name => $file_names ) {
    12371237                    settype($file_names, "array");
    1238                     while (list(, $file_name) = each($file_names)) {
     1238                    foreach ( $file_names as $file_name ) {
    12391239                        if (!is_readable($file_name)) continue;
    12401240
Note: See TracChangeset for help on using the changeset viewer.