Version Description
- Adding support for the new 3.5 media uploader.
Download this release
Release Info
| Developer | ronalfy |
| Plugin | |
| Version | 1.0.9 |
| Comparing to | |
| See all releases | |
Code changes from version 1.0.3 to 1.0.9
- assets/banner-772x250.png +0 -0
- js/mpp.js +40 -17
- metronet-profile-picture.php +66 -55
- readme.txt +6 -3
assets/banner-772x250.png
DELETED
|
Binary file
|
js/mpp.js
CHANGED
|
@@ -1,17 +1,40 @@
|
|
| 1 |
-
jQuery( document ).ready( function() {
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
jQuery( document ).ready( function( $ ) {
|
| 2 |
+
$('#metronet-upload-link a, #metronet-profile-image a').on( "click", function(e) {
|
| 3 |
+
//Assign the default view for the media uploader
|
| 4 |
+
var uploader = wp.media({
|
| 5 |
+
state: 'featured-image',
|
| 6 |
+
states: [ new wp.media.controller.FeaturedImage() ]
|
| 7 |
+
});
|
| 8 |
+
uploader.on( 'toolbar:create:featured-image', function( toolbar ) {
|
| 9 |
+
this.createSelectToolbar( toolbar, {
|
| 10 |
+
text: wp.media.view.l10n.setFeaturedImage
|
| 11 |
+
});
|
| 12 |
+
}, uploader );
|
| 13 |
+
|
| 14 |
+
//For when the featured thumbnail is set
|
| 15 |
+
uploader.mt_featured_set = function( id ) {
|
| 16 |
+
var settings = wp.media.view.settings;
|
| 17 |
+
|
| 18 |
+
settings.post.featuredImageId = id;
|
| 19 |
+
$.post( ajaxurl, { action: 'metronet_add_thumbnail', json: false, post_id: settings.post.id, user_id: jQuery( "#metronet_profile_id" ).val(), thumbnail_id: settings.post.featuredImageId,_wpnonce: settings.post.nonce }, function( response ) {
|
| 20 |
+
jQuery( "#metronet-profile-image a" ).html( response );
|
| 21 |
+
} );
|
| 22 |
+
};
|
| 23 |
+
|
| 24 |
+
//For when the featured image is clicked
|
| 25 |
+
uploader.state('featured-image').on( 'select', function() {
|
| 26 |
+
var settings = wp.media.view.settings,
|
| 27 |
+
selection = this.get('selection').single();
|
| 28 |
+
|
| 29 |
+
if ( ! settings.post.featuredImageId )
|
| 30 |
+
return;
|
| 31 |
+
|
| 32 |
+
uploader.mt_featured_set( selection ? selection.id : -1 );
|
| 33 |
+
} );
|
| 34 |
+
|
| 35 |
+
|
| 36 |
+
//Open the media uploader
|
| 37 |
+
uploader.open();
|
| 38 |
+
return false;
|
| 39 |
+
});
|
| 40 |
+
} );
|
metronet-profile-picture.php
CHANGED
|
@@ -4,8 +4,8 @@ Plugin Name: Metronet Profile Picture
|
|
| 4 |
Plugin URI: http://wordpress.org/extend/plugins/metronet-profile-picture/
|
| 5 |
Description: Use the native WP uploader on your user profile page.
|
| 6 |
Author: Metronet
|
| 7 |
-
Version: 1.0.
|
| 8 |
-
Requires at least: 3.
|
| 9 |
Author URI: http://www.metronet.no
|
| 10 |
Contributors: ronalfy, metronet
|
| 11 |
*/
|
|
@@ -75,25 +75,15 @@ class Metronet_Profile_Picture {
|
|
| 75 |
$user_id = isset( $_POST[ 'user_id' ] ) ? absint( $_POST[ 'user_id' ] ) : 0;
|
| 76 |
$thumbnail_id = isset( $_POST[ 'thumbnail_id' ] ) ? absint( $_POST[ 'thumbnail_id' ] ) : 0;
|
| 77 |
if ( $post_id == 0 || $user_id == 0 || $thumbnail_id == 0 ) die( '' );
|
|
|
|
| 78 |
|
| 79 |
//Save user meta
|
| 80 |
update_user_meta( $user_id, 'metronet_post_id', $post_id );
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
$upload_url = admin_url( 'media-upload.php' );
|
| 84 |
-
$query_args = array(
|
| 85 |
-
'user_id' => $user_id,
|
| 86 |
-
'post_id' => $post_id,
|
| 87 |
-
'tab' => 'gallery',
|
| 88 |
-
'TB_iframe' => "1",
|
| 89 |
-
'width' => "640",
|
| 90 |
-
'height' => "425"
|
| 91 |
-
);
|
| 92 |
-
$upload_url = esc_url( add_query_arg( $query_args, $upload_url ) );
|
| 93 |
if ( has_post_thumbnail( $post_id ) ) {
|
| 94 |
$post_thumbnail = get_the_post_thumbnail( $post_id, 'thumbnail' );
|
| 95 |
-
|
| 96 |
-
die( $return_html );
|
| 97 |
}
|
| 98 |
die( '' );
|
| 99 |
} //end ajax_add_thumbnail
|
|
@@ -247,6 +237,54 @@ class Metronet_Profile_Picture {
|
|
| 247 |
$dir .= '/' . ltrim( $path, '/' );
|
| 248 |
return $dir;
|
| 249 |
} //get_plugin_url
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 250 |
|
| 251 |
/**
|
| 252 |
* init()
|
|
@@ -259,6 +297,7 @@ class Metronet_Profile_Picture {
|
|
| 259 |
//* Localization Code */
|
| 260 |
load_plugin_textdomain( 'metronet_profile_picture', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
|
| 261 |
|
|
|
|
| 262 |
//Register post types
|
| 263 |
$post_type_args = array(
|
| 264 |
'public' => false,
|
|
@@ -275,51 +314,20 @@ class Metronet_Profile_Picture {
|
|
| 275 |
|
| 276 |
}//end function init
|
| 277 |
|
|
|
|
|
|
|
| 278 |
/**
|
| 279 |
* insert_upload_form
|
| 280 |
*
|
| 281 |
* Adds an upload form to the user profile page and outputs profile image if there is one
|
| 282 |
*/
|
| 283 |
public function insert_upload_form() {
|
| 284 |
-
//Get user ID
|
| 285 |
-
$user_id = isset( $_GET[ 'user_id' ] ) ? absint( $_GET[ 'user_id' ] ) : 0;
|
| 286 |
-
if ( $user_id == 0 && IS_PROFILE_PAGE ) {
|
| 287 |
-
$current_user = wp_get_current_user();
|
| 288 |
-
$user_id = $current_user->ID;
|
| 289 |
-
}
|
| 290 |
-
|
| 291 |
-
//Get/Create Profile Picture Post
|
| 292 |
-
$post_args = array(
|
| 293 |
-
'post_type' => 'mt_pp',
|
| 294 |
-
'author' => $user_id,
|
| 295 |
-
'post_status' => 'publish'
|
| 296 |
-
);
|
| 297 |
-
$posts = get_posts( $post_args );
|
| 298 |
-
if ( !$posts ) {
|
| 299 |
-
$post_id = wp_insert_post( array(
|
| 300 |
-
'post_author' => $user_id,
|
| 301 |
-
'post_type' => 'mt_pp',
|
| 302 |
-
'post_status' => 'publish',
|
| 303 |
-
) );
|
| 304 |
-
} else {
|
| 305 |
-
$post = end( $posts );
|
| 306 |
-
$post_id = $post->ID;
|
| 307 |
-
}
|
| 308 |
|
| 309 |
-
|
| 310 |
-
$
|
| 311 |
-
$query_args = array(
|
| 312 |
-
'user_id' => absint( $user_id ),
|
| 313 |
-
'post_id' => $post_id,
|
| 314 |
-
'tab' => 'gallery',
|
| 315 |
-
'TB_iframe' => "1",
|
| 316 |
-
'width' => "640",
|
| 317 |
-
'height' => "425"
|
| 318 |
-
);
|
| 319 |
-
$upload_url = esc_url( add_query_arg( $query_args, $upload_url ) );
|
| 320 |
|
| 321 |
//Create upload link
|
| 322 |
-
$upload_link = sprintf( "<a href='
|
| 323 |
?>
|
| 324 |
<tr valign="top">
|
| 325 |
<th scope="row"><?php esc_html_e( "Profile Image", "metronet_profile_picture" ); ?></th>
|
|
@@ -330,7 +338,7 @@ class Metronet_Profile_Picture {
|
|
| 330 |
<?php
|
| 331 |
if ( has_post_thumbnail( $post_id ) ) {
|
| 332 |
$post_thumbnail = get_the_post_thumbnail( $post_id, 'thumbnail' );
|
| 333 |
-
printf( "<a href='
|
| 334 |
}
|
| 335 |
?>
|
| 336 |
</div><!-- #metronet-profile-image -->
|
|
@@ -350,11 +358,14 @@ class Metronet_Profile_Picture {
|
|
| 350 |
* Output media scripts for thickbox and media uploader
|
| 351 |
**/
|
| 352 |
public function print_media_scripts() {
|
| 353 |
-
|
|
|
|
|
|
|
| 354 |
} //end print_media_scripts
|
| 355 |
|
|
|
|
| 356 |
public function print_media_styles() {
|
| 357 |
-
wp_enqueue_style( 'thickbox' );
|
| 358 |
} //end print_media_styles
|
| 359 |
|
| 360 |
/**
|
| 4 |
Plugin URI: http://wordpress.org/extend/plugins/metronet-profile-picture/
|
| 5 |
Description: Use the native WP uploader on your user profile page.
|
| 6 |
Author: Metronet
|
| 7 |
+
Version: 1.0.9
|
| 8 |
+
Requires at least: 3.5
|
| 9 |
Author URI: http://www.metronet.no
|
| 10 |
Contributors: ronalfy, metronet
|
| 11 |
*/
|
| 75 |
$user_id = isset( $_POST[ 'user_id' ] ) ? absint( $_POST[ 'user_id' ] ) : 0;
|
| 76 |
$thumbnail_id = isset( $_POST[ 'thumbnail_id' ] ) ? absint( $_POST[ 'thumbnail_id' ] ) : 0;
|
| 77 |
if ( $post_id == 0 || $user_id == 0 || $thumbnail_id == 0 ) die( '' );
|
| 78 |
+
check_ajax_referer( "update-post_$post_id" );
|
| 79 |
|
| 80 |
//Save user meta
|
| 81 |
update_user_meta( $user_id, 'metronet_post_id', $post_id );
|
| 82 |
+
set_post_thumbnail( $post_id, $thumbnail_id );
|
| 83 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 84 |
if ( has_post_thumbnail( $post_id ) ) {
|
| 85 |
$post_thumbnail = get_the_post_thumbnail( $post_id, 'thumbnail' );
|
| 86 |
+
die( $post_thumbnail );
|
|
|
|
| 87 |
}
|
| 88 |
die( '' );
|
| 89 |
} //end ajax_add_thumbnail
|
| 237 |
$dir .= '/' . ltrim( $path, '/' );
|
| 238 |
return $dir;
|
| 239 |
} //get_plugin_url
|
| 240 |
+
|
| 241 |
+
/**
|
| 242 |
+
* get_post_id
|
| 243 |
+
*
|
| 244 |
+
* Gets a post id for the user - Creates a post if a post doesn't exist
|
| 245 |
+
*
|
| 246 |
+
@param int user_id User ID of the user
|
| 247 |
+
@return int post_id
|
| 248 |
+
*/
|
| 249 |
+
private function get_post_id( $user_id = 0 ) {
|
| 250 |
+
//Get/Create Profile Picture Post
|
| 251 |
+
$post_args = array(
|
| 252 |
+
'post_type' => 'mt_pp',
|
| 253 |
+
'author' => $user_id,
|
| 254 |
+
'post_status' => 'publish'
|
| 255 |
+
);
|
| 256 |
+
$posts = get_posts( $post_args );
|
| 257 |
+
if ( !$posts ) {
|
| 258 |
+
$post_id = wp_insert_post( array(
|
| 259 |
+
'post_author' => $user_id,
|
| 260 |
+
'post_type' => 'mt_pp',
|
| 261 |
+
'post_status' => 'publish',
|
| 262 |
+
) );
|
| 263 |
+
} else {
|
| 264 |
+
$post = end( $posts );
|
| 265 |
+
$post_id = $post->ID;
|
| 266 |
+
}
|
| 267 |
+
return $post_id;
|
| 268 |
+
} //end get_post_id
|
| 269 |
+
|
| 270 |
+
/**
|
| 271 |
+
* get_user_id
|
| 272 |
+
*
|
| 273 |
+
* Gets a user ID for the user
|
| 274 |
+
*
|
| 275 |
+
*@return int user_id
|
| 276 |
+
*
|
| 277 |
+
@return int post_id
|
| 278 |
+
*/
|
| 279 |
+
private function get_user_id() {
|
| 280 |
+
//Get user ID
|
| 281 |
+
$user_id = isset( $_GET[ 'user_id' ] ) ? absint( $_GET[ 'user_id' ] ) : 0;
|
| 282 |
+
if ( $user_id == 0 && IS_PROFILE_PAGE ) {
|
| 283 |
+
$current_user = wp_get_current_user();
|
| 284 |
+
$user_id = $current_user->ID;
|
| 285 |
+
}
|
| 286 |
+
return $user_id;
|
| 287 |
+
} //end get_user_id
|
| 288 |
|
| 289 |
/**
|
| 290 |
* init()
|
| 297 |
//* Localization Code */
|
| 298 |
load_plugin_textdomain( 'metronet_profile_picture', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
|
| 299 |
|
| 300 |
+
add_theme_support( 'post-thumbnails' ); //This should be part of the theme, but the plugin registers it just in case.
|
| 301 |
//Register post types
|
| 302 |
$post_type_args = array(
|
| 303 |
'public' => false,
|
| 314 |
|
| 315 |
}//end function init
|
| 316 |
|
| 317 |
+
|
| 318 |
+
|
| 319 |
/**
|
| 320 |
* insert_upload_form
|
| 321 |
*
|
| 322 |
* Adds an upload form to the user profile page and outputs profile image if there is one
|
| 323 |
*/
|
| 324 |
public function insert_upload_form() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 325 |
|
| 326 |
+
$user_id = $this->get_user_id();
|
| 327 |
+
$post_id = $this->get_post_id( $user_id );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 328 |
|
| 329 |
//Create upload link
|
| 330 |
+
$upload_link = sprintf( "<a href='#' class='add_media'>%s</a>", esc_html__( "Upload or Change Profile Picture", 'metronet_profile_picture' ) );
|
| 331 |
?>
|
| 332 |
<tr valign="top">
|
| 333 |
<th scope="row"><?php esc_html_e( "Profile Image", "metronet_profile_picture" ); ?></th>
|
| 338 |
<?php
|
| 339 |
if ( has_post_thumbnail( $post_id ) ) {
|
| 340 |
$post_thumbnail = get_the_post_thumbnail( $post_id, 'thumbnail' );
|
| 341 |
+
printf( "<a href='#' class='add_media'>%s</a>", $post_thumbnail );
|
| 342 |
}
|
| 343 |
?>
|
| 344 |
</div><!-- #metronet-profile-image -->
|
| 358 |
* Output media scripts for thickbox and media uploader
|
| 359 |
**/
|
| 360 |
public function print_media_scripts() {
|
| 361 |
+
$post_id = $this->get_post_id( $this->get_user_id() );
|
| 362 |
+
wp_enqueue_media( array( 'post' => $post_id ) );
|
| 363 |
+
wp_enqueue_script( 'mt-pp', $this->get_plugin_url( '/js/mpp.js' ), array( 'media-editor' ) );
|
| 364 |
} //end print_media_scripts
|
| 365 |
|
| 366 |
+
//todo - remove
|
| 367 |
public function print_media_styles() {
|
| 368 |
+
//wp_enqueue_style( 'thickbox' );
|
| 369 |
} //end print_media_styles
|
| 370 |
|
| 371 |
/**
|
readme.txt
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
=== Metronet Profile Picture ===
|
| 2 |
Contributors: metronet, ronalfy
|
| 3 |
Tags: users, user, user profile
|
| 4 |
-
Requires at least: 3.
|
| 5 |
-
Tested up to: 3.
|
| 6 |
-
Stable tag: 1.0.
|
| 7 |
License: GPLv2 or later
|
| 8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 9 |
|
|
@@ -67,6 +67,9 @@ We highly recommend the <a href='http://wordpress.org/extend/plugins/post-thumbn
|
|
| 67 |
|
| 68 |
== Changelog ==
|
| 69 |
|
|
|
|
|
|
|
|
|
|
| 70 |
= 1.0.3 =
|
| 71 |
* Bug fix: Avatar classes in the comment section
|
| 72 |
|
| 1 |
=== Metronet Profile Picture ===
|
| 2 |
Contributors: metronet, ronalfy
|
| 3 |
Tags: users, user, user profile
|
| 4 |
+
Requires at least: 3.5
|
| 5 |
+
Tested up to: 3.5
|
| 6 |
+
Stable tag: 1.0.9
|
| 7 |
License: GPLv2 or later
|
| 8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 9 |
|
| 67 |
|
| 68 |
== Changelog ==
|
| 69 |
|
| 70 |
+
= 1.0.9 =
|
| 71 |
+
* Adding support for the new 3.5 media uploader.
|
| 72 |
+
|
| 73 |
= 1.0.3 =
|
| 74 |
* Bug fix: Avatar classes in the comment section
|
| 75 |
|
