Skip to content

BeAPI/bea-sanitize-filename

Repository files navigation

Be API Github Banner

BEA - Sanitize Filename

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

  • No requirements

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 WP-Browser.

You have WPUnit and Acceptance tests.

Installation

  1. Install Lando
  2. From command line into the project folder execute ./bin/lando-start.sh
  3. From command line into the project folder execute lando composer install

The local url will be https://beasanitizefilename.lndo.site and credentials will be

  • user : admin
  • password : admin

Tools

To test the code, just launch :

  • For Wpunit tests and desktop : lando test-local
  • For desktop mobile : lando test-mobile

If you need to test the code on BrowserStack, you need to define two environments variables :

  • BROWSERSTACK_USERNAME_REAL : the usernmae of your browserStack account
  • BROWSERSTACK_KEY : the key of your browserStack account

/!\ Do not commit theses credentials /!\

Customization

Need to customize the environment variables ? every codeception file can be overrided bit by bit by creating a new file without the .dist. So to customize the .env file you'l need to :

  • Create a codeception.yml file
  • Put into the file :
params:
- .env.local
  • Create a .env.local file and change the desired environment variables like BROWSERSTACK_KEY

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.