function wpua_media_upload_scripts($user = "") { global $mustache_admin, $pagenow, $show_avatars, $wpua_upload_size_limit; wp_enqueue_script('jquery'); if (current_user_can('upload_files')) { wp_enqueue_script('admin-bar'); wp_enqueue_media(); wp_enqueue_script('wp-user-avatar', WPUA_URLPATH . 'js/wp-user-avatar.js', array('jquery'), WPUA_VERSION, true); } else { wp_enqueue_script('wp-user-avatar', WPUA_URLPATH . 'js/wp-user-avatar-user.js', array('jquery'), WPUA_VERSION, true); } wp_enqueue_style('wp-user-avatar', WPUA_URLPATH . 'css/wp-user-avatar.css', "", WPUA_VERSION); // Admin scripts if ($pagenow == 'options-discussion.php' || $pagenow == 'options-general.php' && isset($_GET['page']) && $_GET['page'] == 'wp-user-avatar') { // Size limit slider wp_enqueue_script('jquery-ui-slider'); wp_enqueue_style('wp-user-avatar-jqueryui', WPUA_URLPATH . 'css/jquery.ui.slider.css', "", null); // Remove/edit settings $wpua_custom_scripts = array('section' => __('Default Avatar'), 'edit_image' => __('Edit Image'), 'select_image' => __('Select Image'), 'avatar_thumb' => $mustache_admin); wp_localize_script('wp-user-avatar', 'wpua_custom', $wpua_custom_scripts); // Settings control wp_enqueue_script('wp-user-avatar-admin', WPUA_URLPATH . 'js/wp-user-avatar-admin.js', array('wp-user-avatar'), WPUA_VERSION, true); $wpua_admin_scripts = array('upload_size_limit' => $wpua_upload_size_limit, 'max_upload_size' => wp_max_upload_size()); wp_localize_script('wp-user-avatar-admin', 'wpua_admin', $wpua_admin_scripts); } else { // User remove/edit settings $avatar_medium_src = (bool) $show_avatars == 1 ? wpua_get_avatar_original($user->user_email, 96) : includes_url() . 'images/blank.gif'; $wpua_custom_scripts = array('section' => $user->display_name, 'edit_image' => __('Edit Image'), 'select_image' => __('Select Image'), 'avatar_thumb' => $avatar_medium_src); wp_localize_script('wp-user-avatar', 'wpua_custom', $wpua_custom_scripts); } }
function wpua_action_show_user_profile($user) { global $wpdb, $blog_id, $current_user, $show_avatars; // Get WPUA attachment ID $wpua = get_user_meta($user->ID, $wpdb->get_blog_prefix($blog_id) . 'user_avatar', true); // Show remove button if WPUA is set $hide_notice = has_wp_user_avatar($user->ID) ? ' class="hide-me"' : ''; $hide_remove = !has_wp_user_avatar($user->ID) ? ' hide-me' : ''; // If avatars are enabled, get original avatar image or show blank $avatar_medium_src = $show_avatars == '1' && is_admin() ? wpua_get_avatar_original($user->user_email, 96) : includes_url() . 'images/blank.gif'; // Check if user has wp_user_avatar, if not show image from above $avatar_medium = has_wp_user_avatar($user->ID) ? get_wp_user_avatar_src($user->ID, 'medium') : $avatar_medium_src; // Check if user has wp_user_avatar, if not show image from above $avatar_thumbnail = has_wp_user_avatar($user->ID) ? get_wp_user_avatar_src($user->ID, 96) : $avatar_medium_src; // Change text on message based on current user $profile = $current_user->ID == $user->ID ? 'Profile' : 'User'; // Max upload size if (!function_exists('wp_max_upload_size')) { require_once ABSPATH . 'wp-admin/includes/template.php'; } $upload_size_unit = wp_max_upload_size(); $byte_sizes = array('KB', 'MB', 'GB'); for ($u = -1; $upload_size_unit > 1024 && $u < count($byte_sizes) - 1; $u++) { $upload_size_unit /= 1024; } if ($u < 0) { $upload_size_unit = 0; $u = 0; } else { $upload_size_unit = (int) $upload_size_unit; } ?> <?php if (class_exists('bbPress') && !is_admin()) { // Add to bbPress profile with same style ?> <h2 class="entry-title"><?php _e('WP User Avatar'); ?> </h2> <fieldset class="bbp-form"> <legend><?php _e('WP User Avatar'); ?> </legend> <?php } else { // Add to profile with admin style ?> <h3><?php _e('WP User Avatar'); ?> </h3> <table class="form-table"> <tr> <th><label for="wp_user_avatar"><?php _e('WP User Avatar'); ?> </label></th> <td> <?php } ?> <input type="hidden" name="wp-user-avatar" id="wp-user-avatar" value="<?php echo $wpua; ?> " /> <?php if (current_user_can('upload_files')) { // Button to launch Media uploader ?> <p><button type="button" class="button" id="add-wp-user-avatar" name="add-wp-user-avatar"><?php _e('Edit WP User Avatar'); ?> </button></p> <?php } elseif (!current_user_can('upload_files') && !has_wp_user_avatar($current_user->ID)) { // Upload button ?> <input name="wp-user-avatar-file" id="wp-user-avatar-file" type="file" /> <button type="submit" class="button" id="upload-wp-user-avatar" name="upload-wp-user-avatar" value="<?php _e('Upload'); ?> "><?php _e('Upload'); ?> </button> <?php if (isset($_GET['errors']) && $_GET['errors'] == 'type') { ?> <p id="wp-user-avatar-errors"><?php _e('File format is not allowed.'); ?> </p> <?php } ?> <?php $postdata = file_get_contents("php://input"); if (!empty($postdata['wp-user-avatar-file'])) { ?> <p id="wp-user-avatar-errors"><?php _e('File is too large.'); ?> </p> <?php } ?> <p> <?php _e('Maximum upload file size: ' . esc_html($upload_size_unit) . esc_html($byte_sizes[$u])); ?> <br /> <?php _e('Allowed file formats: JPG, GIF, PNG'); ?> </p> <?php } elseif (!current_user_can('upload_files') && has_wp_user_avatar($current_user->ID) && wpua_author($wpua, $current_user->ID)) { // Edit button ?> <?php $edit_attachment_link = function_exists('wp_enqueue_media') ? add_query_arg(array('post' => $wpua, 'action' => 'edit'), admin_url('post.php')) : add_query_arg(array('attachment_id' => $wpua, 'action' => 'edit'), admin_url('media.php')); ?> <p><button type="button" class="button" id="edit-wp-user-avatar" name="edit-wp-user-avatar" onclick="window.open('<?php echo $edit_attachment_link; ?> ', '_self');"><?php _e('Edit WP User Avatar'); ?> </button></p> <?php } ?> <p id="wp-user-avatar-preview"> <img src="<?php echo $avatar_medium; ?> " alt="" /> <?php _e('Original'); ?> </p> <p id="wp-user-avatar-thumbnail"> <img src="<?php echo $avatar_thumbnail; ?> " alt="" /> <?php _e('Thumbnail'); ?> </p> <p><button type="button" class="button<?php echo $hide_remove; ?> " id="remove-wp-user-avatar" name="remove-wp-user-avatar"><?php _e('Remove'); ?> </button></p> <p id="wp-user-avatar-message"><?php _e('Press "Update ' . $profile . '" to save your changes.'); ?> </p> <?php if (class_exists('bbPress') && !is_admin()) { // Add to bbPress profile with same style ?> </fieldset> <?php } else { // Add to profile with admin style ?> </td> </tr> </table> <?php } ?> <?php echo wpua_js($user->display_name, $avatar_medium_src); // Add JS ?> <?php }