=== DH - Rename Uploaded Files ===
Contributors: dannieherdyawan
Donate link: https://www.paypal.com/paypalme/DannieHerdyawan
Tags: media, upload, files, rename, security
Requires at least: 6.0
Tested up to: 6.6.1
Requires PHP: 7.4
Stable tag: 4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Rename WordPress media uploads on the fly with customizable naming patterns. Secure and lightweight.


== Description ==

Automatically renames WordPress media uploads with customizable naming patterns for better organization and security.

<h5>from "hello-world.jpg"</h5>
* to **orlold-whel.jpg**
* or **hello-world_orlold-whel.jpg**
* or **d6sf8z7mlo5ey4h90nkqcbixgr3wvj.jpg**

<h5>Other Plugins:</h5>
* <a href="https://wordpress.org/plugins/dh-anti-adblocker/" target="_blank">DH - Anti AdBlocker</a> <small>- Block the adblocker</small>

<h5>Notes:</h5>
* Only affects newly uploaded files.

== Installation ==

### Automatic Installation
1. Go to 'Plugins' > 'Add New' in your WordPress admin panel
2. Search for 'DH - Rename Uploaded Files'
3. Click 'Install Now' and then 'Activate' the plugin
4. Go to 'Settings' > 'DH – Rename Uploaded Files' to configure the plugin

### Manual Installation
1. Download the plugin zip file
2. Go to 'Plugins' > 'Add New' > 'Upload Plugin' in WordPress
3. Upload the zip file and click 'Install Now'
4. After installation, click 'Activate Plugin'
5. Go to 'Settings' > 'DH – Rename Uploaded Files' to configure the plugin

== Screenshots ==

1. Plugin settings page in WordPress admin showing all available configuration options for renaming uploaded files.

== Changelog ==

= 4 =

### Added
- Added security check to prevent direct file access
- Added proper input validation for empty filenames
- Added proper documentation for the main function with `@param` and `@return` tags

### Changed
- Restructured code using switch statement for better readability and maintainability
- Optimized variable usage to avoid redundant operations
- Improved code organization and indentation
- Enhanced error handling for file renaming operations
- Updated default case handling in the switch statement

### Fixed
- Fixed potential issues with undefined array keys using null coalescing operator
- Fixed code style to follow WordPress coding standards
- Fixed potential edge cases in file extension handling

### Removed
- Removed redundant global variable usage
- Removed duplicate code blocks by consolidating logic

### Security
- Added ABSPATH check to prevent direct file access
- Improved sanitization of file names
- Added proper escaping for file paths

### Performance
- Optimized string operations
- Reduced redundant function calls
- Improved memory usage by reusing variables

### Compatibility
- Maintained backward compatibility with all existing settings
- Ensured compatibility with WordPress 6.5+
- Tested with PHP 8.0+

### Developer Notes
- The plugin now follows better coding standards
- Improved filter hooks documentation
- Better separation of concerns in the code

= 3 =
* Fix some bugs.

= 2 =
* Fix some bugs.
* Compatible with WordPress 6.

= 1.0.1 =
* Fix some bugs.

= 1.0.0 =
* First release.
