Changeset 14769
- Timestamp:
- 03/27/2026 03:25:57 PM (21 hours ago)
- Location:
- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-abilities/plugins/plugin-directory
- Files:
-
- 3 edited
-
class-ability-base.php (modified) (2 diffs)
-
tools/class-get-plugin-status.php (modified) (3 diffs)
-
tools/class-submit-plugin.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-abilities/plugins/plugin-directory/class-ability-base.php
r14725 r14769 12 12 13 13 namespace WordPressdotorg\Abilities\Plugins\Plugin_Directory; 14 15 use WordPressdotorg\Plugin_Directory\Plugin_Directory; 14 16 15 17 defined( 'ABSPATH' ) || exit; … … 47 49 } 48 50 49 $autoloader = WP_PLUGIN_DIR . '/plugin-directory/class-autoloader.php';51 switch_to_blog( self::PLUGINS_BLOG_ID ); 50 52 51 if ( ! file_exists( $autoloader ) ) { 52 return; 53 } 53 require_once WP_PLUGIN_DIR . '/plugin-directory/plugin-directory.php'; 54 54 55 require_once $autoloader; 56 \WordPressdotorg\Plugin_Directory\Autoloader\register_class_path( 57 'WordPressdotorg\\Plugin_Directory', 58 WP_PLUGIN_DIR . '/plugin-directory' 59 ); 60 61 switch_to_blog( self::PLUGINS_BLOG_ID ); 55 Plugin_Directory::instance()->init(); 62 56 63 57 $loaded = true; -
sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-abilities/plugins/plugin-directory/tools/class-get-plugin-status.php
r14749 r14769 12 12 use WordPressdotorg\Abilities\Plugins\Plugin_Directory\Ability_Base; 13 13 use WordPressdotorg\Plugin_Directory\Clients\HelpScout as HelpScout_Client; 14 use WordPressdotorg\Plugin_Directory\Plugin_Directory; 14 15 use WordPressdotorg\Plugin_Directory\Template; 15 16 use WordPressdotorg\Plugin_Directory\Tools\Helpscout; … … 143 144 self::maybe_load_plugin_directory(); 144 145 145 $slug = sanitize_title( $input['plugin_slug'] ); 146 $post = self::get_plugin_post( $slug ); 146 $post = Plugin_Directory::get_plugin_post( $input['plugin_slug'] ); 147 148 if ( $post && (int) $post->post_author !== get_current_user_id() ) { 149 $post = false; 150 } 147 151 148 152 if ( ! $post ) { 149 153 return array( 150 'error' => sprintf( 'No plugin with slug "%s" was found for your account.', $slug),154 'error' => sprintf( 'No plugin with slug "%s" was found for your account.', sanitize_title( $input['plugin_slug'] ) ), 151 155 ); 152 156 } … … 158 162 'feedback' => self::get_feedback( $post, $full_history ), 159 163 ); 160 }161 162 /**163 * Look up a plugin post owned by the current user.164 *165 * @param string $slug The plugin slug.166 * @return \WP_Post|null167 */168 private static function get_plugin_post( string $slug ): ?\WP_Post {169 $posts = get_posts(170 array(171 'post_type' => 'plugin',172 'name' => $slug,173 'post_status' => 'any',174 'author' => get_current_user_id(),175 'numberposts' => 1,176 )177 );178 179 return $posts[0] ?? null;180 164 } 181 165 -
sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-abilities/plugins/plugin-directory/tools/class-submit-plugin.php
r14749 r14769 11 11 12 12 use WordPressdotorg\Abilities\Plugins\Plugin_Directory\Ability_Base; 13 use WordPressdotorg\Plugin_Directory\Plugin_Directory; 13 14 use WordPressdotorg\Plugin_Directory\Shortcodes\Upload_Handler; 14 15 … … 207 208 $plugin_post_id = 0; 208 209 if ( $is_update ) { 209 $slug = sanitize_title( $input['plugin_slug'] ); 210 $post = self::find_plugin_post( $slug ); 210 $post = Plugin_Directory::get_plugin_post( $input['plugin_slug'] ); 211 211 212 212 if ( ! $post ) { 213 213 return self::error_response( 214 214 'plugin_not_found', 215 sprintf( 'No plugin with slug "%s" was found for your account.', $slug),215 sprintf( 'No plugin with slug "%s" was found for your account.', sanitize_title( $input['plugin_slug'] ) ), 216 216 'Use wporg://plugins/plugin-directory/get-plugin-status to check your plugin slugs.' 217 217 ); … … 474 474 475 475 return $temp_path; 476 }477 478 /**479 * Find a plugin post owned by the current user or accessible to a plugin reviewer.480 *481 * @param string $slug The plugin slug.482 * @return \WP_Post|null483 */484 private static function find_plugin_post( string $slug ): ?\WP_Post {485 $query_args = array(486 'post_type' => 'plugin',487 'name' => $slug,488 'post_status' => 'any',489 'numberposts' => 1,490 );491 492 // Scope to the current user unless they can review plugins.493 if ( ! current_user_can( 'plugin_approve' ) ) { // phpcs:ignore WordPress.WP.Capabilities.Unknown -- plugin_approve is registered by the plugin-directory plugin.494 $query_args['author'] = get_current_user_id();495 }496 497 $posts = get_posts( $query_args );498 499 return $posts[0] ?? null;500 476 } 501 477
Note: See TracChangeset
for help on using the changeset viewer.