Changeset 3545 for sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/class-tools.php
- Timestamp:
- 06/22/2016 01:33:53 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/class-tools.php
r3530 r3545 257 257 258 258 /** 259 * Determine if a plugin has been favorited by a user. 260 * 261 * @param string $plugin_slug The plugin to check. 262 * @param mixed $user The user to check. 263 * @return bool 264 */ 265 public static function favorited_plugin( $plugin_slug, $user = 0 ) { 266 $post = Plugin_Directory::get_plugin_post( $plugin_slug ); 267 if ( ! $post ) { 268 return false; 269 } 270 271 $user = new WP_User( $user ?: get_current_user_id() ); 272 if ( ! $user->exists() ) { 273 return false; 274 } 275 276 $users_favorites = get_user_meta( $user->ID, 'plugin_favorites', true ) ?: array(); 277 278 return in_array( $post->post_name, $users_favorites, true ); 279 } 280 281 /** 282 * Favorite a plugin 283 * 284 * @param string $plugin_slug The plugin to favorite 285 * @param mixed $user The user favorite 286 * @param bool $favorite Whether it's a favorite, or unfavorite. 287 * @return bool 288 */ 289 public static function favorite_plugin( $plugin_slug, $user = 0, $favorite = true ) { 290 $post = Plugin_Directory::get_plugin_post( $plugin_slug ); 291 if ( ! $post ) { 292 return false; 293 } 294 295 $user = new WP_User( $user ?: get_current_user_id() ); 296 if ( ! $user->exists() ) { 297 return false; 298 } 299 300 $users_favorites = get_user_meta( $user->ID, 'plugin_favorites', true ) ?: array(); 301 302 $already_favorited = in_array( $post->post_name, $users_favorites, true ); 303 304 if ( $favorite && $already_favorited ) { 305 return true; 306 } elseif ( $favorite ) { 307 // Add it 308 $users_favorites[] = $post->post_name; 309 } elseif ( ! $favorite && $already_favorited ) { 310 // Remove it 311 unset( $users_favorites[ array_search( $post->post_name, $users_favorites, true ) ] ); 312 } else { 313 return true; 314 } 315 316 return update_user_meta( $user->ID, 'plugin_favorites', wp_slash( array_values( $users_favorites ) ) ); 317 318 } 319 320 /** 259 321 * Retrieve a list of users who are subscribed to plugin commits. 260 322 *
Note: See TracChangeset
for help on using the changeset viewer.