Automattic / Automattic/VIP-Coding-Standards

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

Ouverte
#823 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
PHP
Étoiles
261
Forks
44
Merge moyen
19 min
PR mergées (30 j)
1

Description

## 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.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez dans ruleset.xml, au niveau des règles WordPress.WP.AlternativeFunctions.file_system_operations, et comparez les messages configurés avec le comportement dans VIPCS 3.0.0 et WordPressCS 3.1.0. Reproduisez le problème avec l’extrait fopen() fourni et vérifiez les indications qui en résultent. Le travail est considéré comme terminé lorsque les erreurs signalées ne contiennent plus de consignes de remédiation trompeuses et que toutes les règles associées aux opérations sur le système de fichiers ont un comportement explicite et cohérent.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
php, wordpress
Domaine
tooling
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
48/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.