Compare commits

..

1 Commits

Author SHA1 Message Date
84111171f4 Merge pull request 'v1.6.1' (#1) from v1.6.1 into main
Some checks failed
ci/woodpecker/push/woodpecker Pipeline is pending
Plugin Asset Update / Push assets to WordPress.org (push) Has been cancelled
Reviewed-on: wpallstars/fix-plugin-does-not-exist-notices#1
2025-04-11 23:44:35 +00:00
8 changed files with 57 additions and 141 deletions

View File

@ -41,10 +41,7 @@ When updating the version number, always update these files:
1. `fix-plugin-does-not-exist-notices.php` (Plugin header) 1. `fix-plugin-does-not-exist-notices.php` (Plugin header)
2. `CHANGELOG.md` (Add new version section) 2. `CHANGELOG.md` (Add new version section)
3. `readme.txt` (Stable tag and Changelog section) 3. `readme.txt` (Stable tag and Changelog section)
4. `README.md` (Update Changelog section to match readme.txt) 4. Update `FPDEN_VERSION` constant in the main plugin file
5. Update `FPDEN_VERSION` constant in the main plugin file
**IMPORTANT**: Always ensure README.md is kept in sync with readme.txt for consistency across platforms.
## Git Workflow ## Git Workflow
@ -61,41 +58,23 @@ When updating the version number, always update these files:
- Keep the first line under 50 characters - Keep the first line under 50 characters
- Reference issues when relevant: "Fix #123: Resolve plugin detection issue" - Reference issues when relevant: "Fix #123: Resolve plugin detection issue"
### Pre-Release Checklist
Before creating a new release, verify the following:
- [ ] Determine the correct version increment (MAJOR, MINOR, or PATCH) based on the changes
- [ ] Ensure all changes are documented in CHANGELOG.md
- [ ] Verify all code changes are tested and working correctly
- [ ] Check that all files are properly formatted and follow WordPress coding standards
- [ ] Ensure Git Updater configuration is correct (if applicable)
### Release Process ### Release Process
1. Create a new branch for the version: `git checkout -b v{MAJOR}.{MINOR}.{PATCH}` 1. Create a new branch for the version: `git checkout -b v{MAJOR}.{MINOR}.{PATCH}`
2. Update version numbers in ALL required files: 2. Update version numbers in all required files
- `fix-plugin-does-not-exist-notices.php` (Plugin header)
- `FPDEN_VERSION` constant in the main plugin file
- `readme.txt` (Stable tag)
- `README.md` (Ensure changelog is updated)
- Any other files that reference the version number
3. Update CHANGELOG.md with all changes 3. Update CHANGELOG.md with all changes
4. Update readme.txt changelog section 4. Commit changes: `git commit -m "Prepare release v{MAJOR}.{MINOR}.{PATCH}"`
5. Update README.md changelog section to match readme.txt 5. Push branch to all remotes:
6. Commit changes: `git commit -m "Prepare release v{MAJOR}.{MINOR}.{PATCH}"`
7. Push branch to all remotes:
``` ```
git push github HEAD:v{MAJOR}.{MINOR}.{PATCH} git push github HEAD:v{MAJOR}.{MINOR}.{PATCH}
git push gitea HEAD:v{MAJOR}.{MINOR}.{PATCH} git push gitea HEAD:v{MAJOR}.{MINOR}.{PATCH}
``` ```
8. Create and push a tag to trigger the GitHub Actions workflow: 6. Create and push a tag to trigger the GitHub Actions workflow:
``` ```
git tag -a v{MAJOR}.{MINOR}.{PATCH} -m "Release version {MAJOR}.{MINOR}.{PATCH}" git tag -a v{MAJOR}.{MINOR}.{PATCH} -m "Release version {MAJOR}.{MINOR}.{PATCH}"
git push github refs/tags/v{MAJOR}.{MINOR}.{PATCH} git push github refs/tags/v{MAJOR}.{MINOR}.{PATCH}
git push gitea refs/tags/v{MAJOR}.{MINOR}.{PATCH} git push gitea refs/tags/v{MAJOR}.{MINOR}.{PATCH}
``` ```
9. Verify the GitHub Actions workflow completes successfully
## Build Process ## Build Process
@ -143,11 +122,10 @@ Before releasing:
# 1. Create a new branch # 1. Create a new branch
git checkout -b v1.7.0 git checkout -b v1.7.0
# 2. Update version numbers in ALL required files # 2. Update version numbers in files
# - fix-plugin-does-not-exist-notices.php # - fix-plugin-does-not-exist-notices.php
# - CHANGELOG.md # - CHANGELOG.md
# - readme.txt # - readme.txt
# - README.md
# - FPDEN_VERSION constant # - FPDEN_VERSION constant
# 3. Commit changes # 3. Commit changes

View File

@ -2,25 +2,6 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## [1.6.3] - 2024-05-15
### Fixed
- Git Updater repository URLs to use full repository paths
- Update URI configuration for proper update detection
- Version management following semantic versioning
### Changed
- Updated organization name from 'WP All Stars' to 'WP ALLSTARS'
- Updated namespace from 'WPAllStars' to 'WPALLSTARS'
## [1.6.2] - 2024-05-15
### Changed
- Updated POT file version for consistency
- Improved JavaScript localization with proper fallbacks
- Enhanced code quality for WordPress.org submission
### Added
- Git Updater configuration with Update URI
- Update server URL configuration
## [1.6.1] - 2024-05-15 ## [1.6.1] - 2024-05-15
### Added ### Added
- AI assistant guide and workflow documentation - AI assistant guide and workflow documentation

View File

@ -120,41 +120,35 @@ The plugin works by:
## Changelog ## Changelog
### 1.6.3 ### 1.4.1
* Fixed Git Updater repository URLs to use full repository paths - Added FAQ about keeping the plugin installed after notices are cleared
* Corrected Update URI configuration for proper update detection
* Improved version management following semantic versioning
* Updated organization name from 'WP All Stars' to 'WP ALLSTARS'
* Updated namespace from 'WPAllStars' to 'WPALLSTARS'
### 1.6.2 ### 1.4.0
* Updated POT file version for consistency - Updated plugin name and text domain
* Improved JavaScript localization with proper fallbacks - Repository rename from plugin-reference-cleaner to fix-plugin-does-not-exist-notices
* Enhanced code quality for WordPress.org submission
* Added Git Updater configuration with Update URI
* Added update server URL configuration
### 1.6.1 ### 1.3.3
* Added AI assistant guide and workflow documentation * Improved notification placement next to WordPress error messages
* Added detailed release process documentation * Added "Click here to scroll" button that automatically locates missing plugins
* Added feature development guidelines * Enhanced reliability with multiple injection methods
* Added bug fixing procedures * Added visual arrow pointing from notification to error message
* Added code review standards
### 1.6.0 ### 1.3.2
* Added full translation support with POT file * Added prominent notification directly below WordPress error messages
* Added JavaScript localization for better multilingual support * Improved user guidance with visual cues to connect error and solution
* Added plugin constants for improved code organization * Added eye-catching styling to help users understand how to fix errors
* Added Git Updater support for updates from GitHub and Gitea
* Updated code to follow WordPress internationalization best practices
* Improved asset loading with version constants
* Added smart update detection based on installation source
### 1.5.0 ### 1.3.1
* Improved compatibility with WordPress 6.4 * Added instructional notification explaining how to use the plugin
* Enhanced error detection for plugin references * Improved user guidance with step-by-step instructions
* Minor UI improvements for better visibility * Enhanced visual identification of missing plugins
* Accessibility enhancements for screen readers
### 1.3.0
* Complete redesign for maximum compatibility with all WordPress themes
* Now adds missing plugins directly to the plugins list table
* Uses standard WordPress admin UI patterns instead of DOM manipulation
* Added "Remove Reference" action link in the plugins list
* Significantly improved reliability across all WordPress configurations
[View full changelog](CHANGELOG.md) [View full changelog](CHANGELOG.md)
@ -164,4 +158,4 @@ This project is licensed under the GPL-2.0+ License - see the [LICENSE](LICENSE)
## Support ## Support
For support, please visit [WP ALLSTARS](https://www.wpallstars.com). For support, please visit [WP All Stars](https://www.wpallstars.com).

View File

@ -18,18 +18,11 @@
var ourNotice = document.createElement('div'); var ourNotice = document.createElement('div');
ourNotice.className = 'prc-notice'; ourNotice.className = 'prc-notice';
// Add content using localized strings passed via wp_localize_script // Add content (using localized strings passed via wp_localize_script if needed, but simple for now)
var pluginMissingText = typeof fpdenData !== 'undefined' && fpdenData.i18n && fpdenData.i18n.pluginMissing ?
fpdenData.i18n.pluginMissing : 'Plugin file missing';
var removeReferenceText = typeof fpdenData !== 'undefined' && fpdenData.i18n && fpdenData.i18n.removeReference ?
fpdenData.i18n.removeReference : 'Remove Reference';
var clickToScrollText = typeof fpdenData !== 'undefined' && fpdenData.i18n && fpdenData.i18n.clickToScroll ?
fpdenData.i18n.clickToScroll : 'Click here to scroll to missing plugins';
ourNotice.innerHTML = '<h3 style="margin-top:0;color:#826200;">👉 Fix Plugin Does Not Exist Notices Can Fix This</h3>' + ourNotice.innerHTML = '<h3 style="margin-top:0;color:#826200;">👉 Fix Plugin Does Not Exist Notices Can Fix This</h3>' +
'<p>To remove the above error notification, scroll down to find the plugin marked with "<strong style="color:red">(' + pluginMissingText + ')</strong>" and click its "<strong>' + removeReferenceText + '</strong>" link.</p>' + '<p>To remove the above error notification, scroll down to find the plugin marked with "<strong style="color:red">(File Missing)</strong>" and click its "<strong>Remove Reference</strong>" link.</p>' +
'<p>This will permanently remove the missing plugin reference from your database.</p>' + '<p>This will permanently remove the missing plugin reference from your database.</p>' +
'<p><a href="#" id="prc-scroll-to-plugin" style="font-weight:bold;text-decoration:underline;color:#826200;">' + clickToScrollText + '</a></p>'; '<p><a href="#" id="prc-scroll-to-plugin" style="font-weight:bold;text-decoration:underline;color:#826200;">Click here to scroll to the missing plugin</a></p>';
// Insert our notice right after the error // Insert our notice right after the error
notice.parentNode.insertBefore(ourNotice, notice.nextSibling); notice.parentNode.insertBefore(ourNotice, notice.nextSibling);

View File

@ -4,16 +4,14 @@
* *
* @package FixPluginDoesNotExistNotices * @package FixPluginDoesNotExistNotices
* @author Marcus Quinn * @author Marcus Quinn
* @copyright 2023 WP ALLSTARS * @copyright 2023 WP All Stars
* @license GPL-2.0+ * @license GPL-2.0+
* @noinspection PhpUndefinedFunctionInspection
* @noinspection PhpUndefinedConstantInspection
* *
* @wordpress-plugin * @wordpress-plugin
* Plugin Name: Fix 'Plugin file does not exist.' Notices * Plugin Name: Fix 'Plugin file does not exist.' Notices
* Plugin URI: https://wordpress.org/plugins/fix-plugin-does-not-exist-notices/ * Plugin URI: https://wordpress.org/plugins/fix-plugin-does-not-exist-notices/
* Description: Adds missing plugins to the plugins list with a "Remove Reference" link so you can permanently clean up invalid plugin entries and remove error notices. * Description: Adds missing plugins to the plugins list with a "Remove Reference" link so you can permanently clean up invalid plugin entries and remove error notices.
* Version: 1.6.3 * Version: 1.6.1
* Author: Marcus Quinn * Author: Marcus Quinn
* Author URI: https://www.wpallstars.com * Author URI: https://www.wpallstars.com
* License: GPL-2.0+ * License: GPL-2.0+
@ -22,7 +20,6 @@
* Domain Path: /languages * Domain Path: /languages
* Requires at least: 5.0 * Requires at least: 5.0
* Requires PHP: 7.0 * Requires PHP: 7.0
* Update URI: https://git-updater.wpallstars.com
* GitHub Plugin URI: wpallstars/fix-plugin-does-not-exist-notices * GitHub Plugin URI: wpallstars/fix-plugin-does-not-exist-notices
* GitHub Branch: main * GitHub Branch: main
* Gitea Plugin URI: wpallstars/fix-plugin-does-not-exist-notices * Gitea Plugin URI: wpallstars/fix-plugin-does-not-exist-notices
@ -48,7 +45,7 @@ if ( ! defined( 'ABSPATH' ) ) {
} }
// Define plugin constants // Define plugin constants
define( 'FPDEN_VERSION', '1.6.3' ); define( 'FPDEN_VERSION', '1.6.1' );
define( 'FPDEN_PLUGIN_DIR', plugin_dir_path( __FILE__ ) ); define( 'FPDEN_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
define( 'FPDEN_PLUGIN_URL', plugin_dir_url( __FILE__ ) ); define( 'FPDEN_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
define( 'FPDEN_PLUGIN_FILE', __FILE__ ); define( 'FPDEN_PLUGIN_FILE', __FILE__ );
@ -193,7 +190,6 @@ class Fix_Plugin_Does_Not_Exist_Notices {
* @param array $plugin_data An array of plugin data. * @param array $plugin_data An array of plugin data.
* @param string $context The plugin context (e.g., 'all', 'active', 'inactive'). * @param string $context The plugin context (e.g., 'all', 'active', 'inactive').
* @return array The potentially modified array of plugin action links. * @return array The potentially modified array of plugin action links.
* @noinspection PhpUnusedParameterInspection
*/ */
public function add_remove_reference_action( $actions, $plugin_file, $plugin_data, $context ) { public function add_remove_reference_action( $actions, $plugin_file, $plugin_data, $context ) {
// Only run on the plugins page. // Only run on the plugins page.
@ -411,7 +407,7 @@ if (file_exists($autoloader)) {
require_once $autoloader; require_once $autoloader;
// Initialize the updater if the class exists // Initialize the updater if the class exists
if (class_exists('\WPALLSTARS\FixPluginDoesNotExistNotices\Updater')) { if (class_exists('\WPAllStars\FixPluginDoesNotExistNotices\Updater')) {
new \WPALLSTARS\FixPluginDoesNotExistNotices\Updater(__FILE__); new \WPAllStars\FixPluginDoesNotExistNotices\Updater(__FILE__);
} }
} }

View File

@ -3,11 +3,9 @@
* Plugin Updater * Plugin Updater
* *
* @package FixPluginDoesNotExistNotices * @package FixPluginDoesNotExistNotices
* @noinspection PhpUndefinedFunctionInspection
* @noinspection PhpUndefinedClassInspection
*/ */
namespace WPALLSTARS\FixPluginDoesNotExistNotices; namespace WPAllStars\FixPluginDoesNotExistNotices;
/** /**
* Class Updater * Class Updater
@ -78,11 +76,10 @@ class Updater {
* Check if the plugin was installed from GitHub * Check if the plugin was installed from GitHub
* *
* @return bool * @return bool
* @noinspection PhpUndefinedFunctionInspection
*/ */
private function is_github_installation() { private function is_github_installation() {
// Check for GitHub-specific markers in the plugin directory // Check for GitHub-specific markers in the plugin directory
$plugin_dir = \plugin_dir_path($this->plugin_file); $plugin_dir = plugin_dir_path($this->plugin_file);
// Look for .git directory with GitHub remote // Look for .git directory with GitHub remote
if (file_exists($plugin_dir . '.git')) { if (file_exists($plugin_dir . '.git')) {
@ -104,11 +101,10 @@ class Updater {
* Check if the plugin was installed from Gitea * Check if the plugin was installed from Gitea
* *
* @return bool * @return bool
* @noinspection PhpUndefinedFunctionInspection
*/ */
private function is_gitea_installation() { private function is_gitea_installation() {
// Check for Gitea-specific markers in the plugin directory // Check for Gitea-specific markers in the plugin directory
$plugin_dir = \plugin_dir_path($this->plugin_file); $plugin_dir = plugin_dir_path($this->plugin_file);
// Look for .git directory with Gitea remote // Look for .git directory with Gitea remote
if (file_exists($plugin_dir . '.git')) { if (file_exists($plugin_dir . '.git')) {
@ -125,8 +121,6 @@ class Updater {
* Initialize Git Updater Lite * Initialize Git Updater Lite
* *
* @return void * @return void
* @noinspection PhpUndefinedFunctionInspection
* @noinspection PhpUndefinedClassInspection
*/ */
private function init_git_updater() { private function init_git_updater() {
// Check if the Git Updater Lite class exists (composer autoload) // Check if the Git Updater Lite class exists (composer autoload)
@ -141,11 +135,11 @@ class Updater {
} }
// Set the update server based on the installation source // Set the update server based on the installation source
\add_filter('gul_update_server', function() { add_filter('gul_update_server', function() {
if ($this->source === 'github') { if ($this->source === 'github') {
return 'https://github.com/wpallstars/fix-plugin-does-not-exist-notices'; // GitHub repository URL return 'https://wpallstars.com'; // GitHub update server
} elseif ($this->source === 'gitea') { } elseif ($this->source === 'gitea') {
return 'https://gitea.wpallstars.com/wpallstars/fix-plugin-does-not-exist-notices'; // Gitea repository URL return 'https://wpallstars.com'; // Gitea update server
} }
return ''; return '';
}); });

View File

@ -2,7 +2,7 @@
# This file is distributed under the GPL-2.0+. # This file is distributed under the GPL-2.0+.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Fix 'Plugin file does not exist.' Notices 1.6.2\n" "Project-Id-Version: Fix 'Plugin file does not exist.' Notices 1.6.0\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/fix-plugin-does-not-exist-notices\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/fix-plugin-does-not-exist-notices\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -5,7 +5,7 @@ Tags: plugins, missing plugins, cleanup, error fix, admin tools, plugin file doe
Requires at least: 5.0 Requires at least: 5.0
Tested up to: 6.4 Tested up to: 6.4
Requires PHP: 7.0 Requires PHP: 7.0
Stable tag: 1.6.3 Stable tag: 1.6.1
License: GPL-2.0+ License: GPL-2.0+
License URI: https://www.gnu.org/licenses/gpl-2.0.html License URI: https://www.gnu.org/licenses/gpl-2.0.html
@ -89,20 +89,6 @@ Although this plugin consumes minimal disk space, and doesn't run unless you are
== Changelog == == Changelog ==
= 1.6.3 =
* Fixed Git Updater repository URLs to use full repository paths
* Corrected Update URI configuration for proper update detection
* Improved version management following semantic versioning
* Updated organization name from 'WP All Stars' to 'WP ALLSTARS'
* Updated namespace from 'WPAllStars' to 'WPALLSTARS'
= 1.6.2 =
* Updated POT file version for consistency
* Improved JavaScript localization with proper fallbacks
* Enhanced code quality for WordPress.org submission
* Added Git Updater configuration with Update URI
* Added update server URL configuration
= 1.6.1 = = 1.6.1 =
* Added AI assistant guide and workflow documentation * Added AI assistant guide and workflow documentation
* Added detailed release process documentation * Added detailed release process documentation
@ -191,12 +177,6 @@ Although this plugin consumes minimal disk space, and doesn't run unless you are
== Upgrade Notice == == Upgrade Notice ==
= 1.6.3 =
Fixed Git Updater repository URLs and updated organization naming for consistent branding across all platforms!
= 1.6.2 =
Improved JavaScript localization, enhanced code quality, and added Git Updater configuration for seamless updates!
= 1.6.1 = = 1.6.1 =
Added comprehensive AI assistant guide and workflow documentation for improved development processes! Added comprehensive AI assistant guide and workflow documentation for improved development processes!