mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-08-12 04:40:26 +00:00
Upgrade/Install: Introduce Plugin Dependencies.
Introduces a new "Requires Plugins" plugin header so that plugin developers can list the slugs of the plugins theirs depends on. This will inform users of the requirements, and provide links to the WordPress.org Plugins Repository that they can click to install and activate the dependencies first. Plugins whose requirements are not met cannot be installed or activated, and they will be deactivated automatically if their requirements become unmet. Plugins that others rely on cannot be deactivated or deleted until their dependent plugins are deactivated or deleted. In memory of Alex Mills and Alex King. WordPress Remembers. Props ahoereth, afragen, alanfuller, alexkingorg, amykamala, anonymized_10690803, apeatling, ashfame, atimmer, audrasjb, aristath, azaozz, batmoo, beaulebens, blobaugh, bobbingwide, boonebgorges, brianhenryie, chanthaboune, chrisdavidmiles, coolmann, costdev, courane01, danielbachhuber, davidperez, dd32, Denis-de-Bernardy, dingo_d, DJPaul, dougal, DrewAPicture, ethitter, filosofo, georgestephanis, giuseppemazzapica-1, goldenapples, griffinjt, hellofromTonya, husobj, ideag, jarednova, jbobich, jbrinley, jltallon, joedolson, johnciacia, johnjamesjacoby, joppuyo, jsmoriss, karmatosed, kebbet, knutsp, kraftbj, kraftner, kurtpayne, lkraav, logikal16, luisherranz, man4toman, markjaquith, matt, mbijon, megphillips91, mikeschinkel, mordauk, morehawes, mrwweb, mte90, mukesh27, mzaweb, nacin, norcross, nvwd, nwjames, obliviousharmony, ocean90, oglekler, paaljoachim, pauldewouters, pbaylies, pbiron, peterwilsoncc, Philipp15b, poena, pogidude, retlehs, rmccue, ryan, sabreuse, sc0ttkclark, scribu, sereedmedia, SergeyBiryukov, ShaneF, shidouhikari, soean, spacedmonkey, stephenh1988, swissspidy, taylorde, tazotodua, threadi, TimothyBlynJacobs, TJNowell, tollmanz, toscho, tropicalista, Viper007Bond, westi, whiteshadow, williamsba1, wpsmith, ZaneMatthew. Fixes #22316. git-svn-id: https://develop.svn.wordpress.org/trunk@57545 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -986,6 +986,7 @@ function wp_get_active_and_valid_plugins() {
|
||||
|
||||
$network_plugins = is_multisite() ? wp_get_active_network_plugins() : false;
|
||||
|
||||
$invalid_plugins = array();
|
||||
foreach ( $active_plugins as $plugin ) {
|
||||
if ( ! validate_file( $plugin ) // $plugin must validate as file.
|
||||
&& str_ends_with( $plugin, '.php' ) // $plugin must end with '.php'.
|
||||
@@ -994,6 +995,20 @@ function wp_get_active_and_valid_plugins() {
|
||||
&& ( ! $network_plugins || ! in_array( WP_PLUGIN_DIR . '/' . $plugin, $network_plugins, true ) )
|
||||
) {
|
||||
$plugins[] = WP_PLUGIN_DIR . '/' . $plugin;
|
||||
} else {
|
||||
$invalid_plugins[] = $plugin;
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! empty( $invalid_plugins ) ) {
|
||||
$all_plugin_data = get_option( 'plugin_data', array() );
|
||||
|
||||
if ( ! empty( $all_plugin_data ) ) {
|
||||
foreach ( $invalid_plugins as $invalid_plugin ) {
|
||||
unset( $all_plugin_data[ $invalid_plugin ] );
|
||||
}
|
||||
|
||||
update_option( 'plugin_data', $all_plugin_data );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1190,6 +1205,7 @@ function is_protected_ajax_action() {
|
||||
'search-install-plugins', // Searching for a plugin in the plugin install screen.
|
||||
'update-plugin', // Update an existing plugin.
|
||||
'update-theme', // Update an existing theme.
|
||||
'activate-plugin', // Activating an existing plugin.
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user