Changeset 13105
- Timestamp:
- 01/12/2024 05:29:18 AM (16 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-plugin-blueprint.php
r13088 r13105 58 58 } 59 59 60 protected function get_zip_url_by_slug( $slug ) { 61 $plugin = Plugin_Directory::get_plugin_post( $slug ); 62 if ( !$plugin ) { 63 return false; 64 } 65 66 $zips = get_attached_media( 'application/zip', $plugin ); 67 // Return the first (is this correct?) 68 if ( $zips & count( $zips ) ) { 69 return wp_get_attachment_url( reset($zips)->ID ); 70 } 71 return false; 72 } 73 60 74 function reviewer_blueprint( $request, $plugin ) { 61 75 // Direct zip preview for plugin reviewers … … 69 83 $landing_page = '/wp-admin/plugins.php'; 70 84 $activate_plugin = true; 85 $dependencies = $plugin->requires_plugins ?: []; 86 87 if ( stripos( $plugin->post_title, 'woocommerce' ) ) { 88 $dependencies[] = 'woocommerce'; 89 } 90 if ( stripos( $plugin->post_title, 'buddypress' ) ) { 91 $dependencies[] = 'buddypress'; 92 } 93 94 $dependencies = array_diff( $dependencies, [ $plugin->post_name ] ); 71 95 72 96 // Plugin deactivated, and land on the Plugin Check page 73 97 if ( 'pcp' === $request->get_param('type') ) { 74 $landing_page = '/wp-admin/admin.php?page=plugin-check ';98 $landing_page = '/wp-admin/admin.php?page=plugin-check&plugin=' . sanitize_title( $request['plugin_slug'] ); 75 99 $activate_plugin = false; 100 $dependencies = []; 76 101 } 77 102 … … 91 116 (object)[ 92 117 'step' => 'installPlugin', 93 'pluginZipFile' => [118 'pluginZipFile' => (object)[ 94 119 'resource' => 'wordpress.org/plugins', 95 120 'slug' => 'plugin-check', … … 114 139 ]; 115 140 141 if ( $dependencies ) { 142 $dep_step = []; 143 foreach ( $dependencies as $slug ) { 144 $dep_step[] = (object)[ 145 'step' => 'installPlugin', 146 'pluginZipFile' => [ 147 'resource' => 'wordpress.org/plugins', 148 'slug' => sanitize_title( $slug ), 149 ], 150 'options' => (object)[ 151 'activate' => true 152 ] 153 ]; 154 } 155 // Insert dependencies aftter PCP 156 array_splice( $zip_blueprint->steps, 1, 0, $dep_step ); 157 } 158 159 // Include the helper plugin too 160 $helper_zip = self::get_zip_url_by_slug( 'playground-review-helper' ); 161 if ( $helper_zip && 'pcp' !== $request->get_param('type') ) { 162 $helper_step = [ 163 (object)[ 164 'step' => 'installPlugin', 165 'pluginZipFile' => [ 166 'resource' => 'url', 167 'url' => $helper_zip, 168 ], 169 'options' => (object)[ 170 'activate' => (bool)$activate_plugin 171 ] 172 ] 173 ]; 174 array_splice( $zip_blueprint->steps, 1, 0, $helper_step ); 175 } 176 116 177 $output = json_encode( $zip_blueprint ); 117 178
Note: See TracChangeset
for help on using the changeset viewer.