Skip to content

BeAPI/bea-sanitize-filename

Repository files navigation

Be API Github Banner

BEA - Sanitize Filename

Current version: 2.0.10

This plugin will remove all punctuation and accents from the filename of uploaded files, which is pretty handy. You could then ask "Why it's not already into core?". This is make WordPress core !

How ?

Requirements

  • PHP 8.0+
  • WordPress 4.0

Installation

As we assume this is a must have plugin, it's recommended to use at it as mu-plugin. As it is a folder, you must use a MU Loader : https://github.com/BeAPI/wp-mu-loader.

WordPress

  • Download and copy the plugin folder into your must-use plugins folder.
  • Nothing more, this plugin is ready to use !
  • Add repository source : { "type": "git", "url": "https://github.com/BeAPI/bea-sanitize-filename" }.
  • Include "bea/sanitize-filename": "dev-master" in your composer file for last master's commits or a tag released.
  • Nothing more, this plugin is ready to use !

What ?

Features

  • All accented letters will be converted to same letters without accent
  • Special characters will be deleted
  • Underscores will be replaced by hyphens

Compatibility for MAC owners

On MAC, you can also create an accented character with the combination of ` and the wanted letter. This has the effect to create a character with a special filename system encoding format which is not sanitized. An issue is open about this.

Contributing

Testing

Introduction

The tests are based on PHPUnit and run inside wp-env.

Only unit tests are available.

Installation

  1. Install Docker and Node.js (>= 18)
  2. Install dependencies: npm install && composer install
  3. Run tests: npm run test:unit

Tools

To test the code, just launch :

  • For unit tests: npm run test:unit
  • For a readable report: npm run test:unit:report
  • For one-shot start + test + stop: npm run test:unit:once

Operating procedure

  1. Initialize once on your machine:
    • npm install
    • composer install
  2. Run test suite:
    • npm run test:unit
  3. Read result directly in terminal output:
    • Success: exit code 0 and PHPUnit success line.
    • Failure: exit code 1 or 2 with failing test names and stack traces.
  4. Stop environment if needed:
    • npm run wp-env:stop

Troubleshooting

  • Error service "cli" is not running:
    • npm run wp-env:start
    • npm run test:unit
  • If environment is corrupted:
    • npm run wp-env:clean
    • npm run wp-env:start
    • npm run test:unit

Changelog

Please refer to the contributing guidelines to increase the chance of your pull request to be merged and/or receive the best support for your issue.

Issues & features request / proposal

If you identify any errors or have an idea for improving the plugin, feel free to open an issue. Please provide as much info as needed in order to help us resolving / approve your request.

Who ?

Created by Be API, the French WordPress leader agency since 2009. Based in Paris, we are more than 30 people and always hiring some fun and talented guys. So we will be pleased to work with you.

This plugin is only maintained by the Be API team, which means we do not guarantee some free support. Consider reporting an issue and be patient.

If you really like what we do or want to thank us for our quick work, feel free to donate as much as you want / can, even 1€ is a great gift for buying cofee :)

License

BEA - Sanitize Filename is licensed under the GPLv3 or later.

About

Remove all punctuation and accents from the filename of uploaded files

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages