Automattic / Automattic/VIP-Coding-Standards

WordPress.WP.AlternativeFunctions.file_system_operations error messages cannot be fixed anymore

Offen
#823 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
PHP
Sterne
261
Forks
44
Ø Merge
19 Min.
Gemergte PRs (30 T.)
1

Beschreibung

## Bug Description

`WordPress.WP.AlternativeFunctions.file_system_operations` error messages are overwritten in the ruleset, e.g.

```

File system operations only work on the `/tmp/` and `wp-content/uploads/` directories. To avoid unexpected results, please use helper functions like `get_temp_dir()` or `wp_get_upload_dir()` to get the proper directory path when using functions such as %s(). For more details, please see: https://docs.wpvip.com/technical-references/vip-go-files-system/local-file-operations/

```

However since WPCS 3.0.0 this error can only be fixed by using `WP_Filesystem`. Neither `get_temp_dir()` or `wp_get_upload_dir()` will make the error go away and it's unclear why (unless you debug and find the original error message where it says `WP_Filesystem`)

## Minimal Code Snippet

```php
$f = fopen( get_temp_dir() . '/abc.log' );
```

## Error Code

`WordPress.WP.AlternativeFunctions.file_system_operations_fopen`

## Environment

| Question | Answer
| ------------------------ | -------
| PHP version | 8.3
| VIPCS version | 3.0.0
| WordPressCS version | 3.1.0

## Additional Context (optional)

With `WP_Filesystem`, I think it's unnecessary to overwrite those errors in the first place and these overwrites can all be removed from ruleset.xml

Possibly, errors like `WordPressVIPMinimum.Functions.RestrictedFunctions.file_ops_fputcsv` should be changed to a also only allow `WP_Filesystem` ?

## Tested Against `main` branch?

- [ ] I have verified the issue still exists in the `main` branch of VIPCS.
- [ ] I have verified the issue still exists in the `develop` branch of VIPCS.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginnen Sie in ruleset.xml bei den Regeln WordPress.WP.AlternativeFunctions.file_system_operations und vergleichen Sie die konfigurierten Meldungen mit dem Verhalten in VIPCS 3.0.0 und WordPressCS 3.1.0. Reproduzieren Sie das Problem mit dem bereitgestellten fopen()-Snippet und überprüfen Sie die daraus resultierenden Hinweise. Der Abschluss ist erreicht, wenn die gemeldeten Fehler keine irreführenden Behebungshinweise mehr enthalten und alle zugehörigen Regeln für Dateioperationen ein explizites, konsistentes Verhalten aufweisen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
php, wordpress
Bereich
tooling
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.