Changeset 3439 for sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-plugin.php
- Timestamp:
- 06/18/2016 03:07:08 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-plugin.php
r3289 r3439 3 3 use WordPressdotorg\Plugin_Directory\Plugin_Directory; 4 4 use WordPressdotorg\Plugin_Directory\Template; 5 use WordPressdotorg\Plugin_Directory\Tools; 5 6 use WordPressdotorg\Plugin_Directory\API\Base; 6 7 use WP_REST_Server; … … 187 188 protected function get_plugin_reviews_markup( $plugin_slug ) { 188 189 $output = ''; 189 foreach ( $this->get_plugin_reviews_data( $plugin_slug ) as $review ) {190 foreach ( Tools::get_plugin_reviews( $plugin_slug ) as $review ) { 190 191 $output .= $this->get_plugin_reviews_markup_singular( $review ); 191 192 } … … 245 246 246 247 } 247 248 /**249 * Fetch the latest 10 reviews for a given plugin from the database.250 *251 * This uses raw SQL to query the bbPress tables to fetch reviews.252 *253 * @param string $plugin_slug The slug of the plugin.254 * @return array An array of review details.255 */256 protected function get_plugin_reviews_data( $plugin_slug ) {257 global $wpdb;258 if ( ! defined( 'WPORGPATH' ) || ! defined( 'CUSTOM_USER_TABLE' ) ) {259 // Reviews are stored in the main supoport forum, which isn't open source yet.260 return array();261 }262 263 if ( $reviews = wp_cache_get( $plugin_slug, 'reviews' ) ) {264 return $reviews;265 }266 267 // The forums are the source for users, and also where reviews live.268 $table_prefix = str_replace( 'users', '', CUSTOM_USER_TABLE );269 $forum_id = 18; // The Review Forums ID270 271 $reviews = $wpdb->get_results( $wpdb->prepare( "272 SELECT273 t.topic_id, t.topic_title, t.topic_poster, t.topic_start_time,274 p.post_text,275 tm_wp.meta_value as wp_version276 FROM {$table_prefix}topics AS t277 JOIN {$table_prefix}meta AS tm ON ( tm.object_type = 'bb_topic' AND t.topic_id = tm.object_id AND tm.meta_key = 'is_plugin' )278 JOIN {$table_prefix}posts as p ON ( t.topic_id = p.topic_id AND post_status = 0 AND post_position = 1 )279 LEFT JOIN {$table_prefix}meta AS tm_wp ON ( tm_wp.object_type = 'bb_topic' AND t.topic_id = tm_wp.object_id AND tm_wp.meta_key = 'wp_version' )280 WHERE t.forum_id = %d AND t.topic_status = 0 AND t.topic_sticky = 0 AND tm.meta_value = %s281 ORDER BY t.topic_start_time DESC282 LIMIT 10",283 $forum_id,284 $plugin_slug285 ) );286 287 wp_cache_set( $plugin_slug, $reviews, 'reviews' );288 return $reviews;289 }290 248 } 291 249
Note: See TracChangeset
for help on using the changeset viewer.