wp/wp-includes/class-wp-plugin-dependencies.php
changeset 22 8c2e4d02f4ef
parent 21 48c4eec2b7e6
equal deleted inserted replaced
21:48c4eec2b7e6 22:8c2e4d02f4ef
   157 	 *
   157 	 *
   158 	 * @param string $plugin_file The plugin's filepath, relative to the plugins directory.
   158 	 * @param string $plugin_file The plugin's filepath, relative to the plugins directory.
   159 	 * @return bool Whether the plugin has active dependents.
   159 	 * @return bool Whether the plugin has active dependents.
   160 	 */
   160 	 */
   161 	public static function has_active_dependents( $plugin_file ) {
   161 	public static function has_active_dependents( $plugin_file ) {
   162 		require_once ABSPATH . '/wp-admin/includes/plugin.php';
   162 		require_once ABSPATH . 'wp-admin/includes/plugin.php';
   163 
   163 
   164 		$dependents = self::get_dependents( self::convert_to_slug( $plugin_file ) );
   164 		$dependents = self::get_dependents( self::convert_to_slug( $plugin_file ) );
   165 		foreach ( $dependents as $dependent ) {
   165 		foreach ( $dependents as $dependent ) {
   166 			if ( is_plugin_active( $dependent ) ) {
   166 			if ( is_plugin_active( $dependent ) ) {
   167 				return true;
   167 				return true;
   233 	public static function has_unmet_dependencies( $plugin_file ) {
   233 	public static function has_unmet_dependencies( $plugin_file ) {
   234 		if ( ! isset( self::$dependencies[ $plugin_file ] ) ) {
   234 		if ( ! isset( self::$dependencies[ $plugin_file ] ) ) {
   235 			return false;
   235 			return false;
   236 		}
   236 		}
   237 
   237 
   238 		require_once ABSPATH . '/wp-admin/includes/plugin.php';
   238 		require_once ABSPATH . 'wp-admin/includes/plugin.php';
   239 
   239 
   240 		foreach ( self::$dependencies[ $plugin_file ] as $dependency ) {
   240 		foreach ( self::$dependencies[ $plugin_file ] as $dependency ) {
   241 			$dependency_filepath = self::get_dependency_filepath( $dependency );
   241 			$dependency_filepath = self::get_dependency_filepath( $dependency );
   242 
   242 
   243 			if ( false === $dependency_filepath || is_plugin_inactive( $dependency_filepath ) ) {
   243 			if ( false === $dependency_filepath || is_plugin_inactive( $dependency_filepath ) ) {
   493 		if ( empty( $dependencies ) ) {
   493 		if ( empty( $dependencies ) ) {
   494 			$status['message'] = __( 'The plugin has no required plugins.' );
   494 			$status['message'] = __( 'The plugin has no required plugins.' );
   495 			wp_send_json_success( $status );
   495 			wp_send_json_success( $status );
   496 		}
   496 		}
   497 
   497 
   498 		require_once ABSPATH . '/wp-admin/includes/plugin.php';
   498 		require_once ABSPATH . 'wp-admin/includes/plugin.php';
   499 
   499 
   500 		$inactive_dependencies = array();
   500 		$inactive_dependencies = array();
   501 		foreach ( $dependencies as $dependency ) {
   501 		foreach ( $dependencies as $dependency ) {
   502 			if ( false === self::$plugin_dirnames[ $dependency ] || is_plugin_inactive( self::$plugin_dirnames[ $dependency ] ) ) {
   502 			if ( false === self::$plugin_dirnames[ $dependency ] || is_plugin_inactive( self::$plugin_dirnames[ $dependency ] ) ) {
   503 				$inactive_dependencies[] = $dependency;
   503 				$inactive_dependencies[] = $dependency;
   542 	protected static function get_plugins() {
   542 	protected static function get_plugins() {
   543 		if ( is_array( self::$plugins ) ) {
   543 		if ( is_array( self::$plugins ) ) {
   544 			return self::$plugins;
   544 			return self::$plugins;
   545 		}
   545 		}
   546 
   546 
   547 		require_once ABSPATH . '/wp-admin/includes/plugin.php';
   547 		require_once ABSPATH . 'wp-admin/includes/plugin.php';
   548 		self::$plugins = get_plugins();
   548 		self::$plugins = get_plugins();
   549 
   549 
   550 		return self::$plugins;
   550 		return self::$plugins;
   551 	}
   551 	}
   552 
   552