notices_enabled_pages)) { // Admin scripts add_action('admin_enqueue_scripts', [$this, 'custom_admin_enqueue_scripts']); // HTML render of notices add_action('admin_notices', [$this, 'render_admin_error_notices']); add_action('admin_notices', [$this, 'render_admin_donation_notice']); } } public static function init() { new self; } /** * Load CSS and JavaScript for wp-admin * * @since 1.0 * @return void */ public function custom_admin_enqueue_scripts() { // Get current user global $current_user; // Enqueue WordPress Media Library wp_enqueue_media(); // CSS for wp-admin wp_enqueue_style('sua', plugins_url('/css/style.min.css', __FILE__), [], SUA_PLUGIN_VERSION, 'all'); // JavaScript for wp-admin wp_enqueue_script('sua', plugins_url('/js/scripts.js', __FILE__), ['jquery'], SUA_PLUGIN_VERSION, true); // Get default avatar URL by user_email $l10n = [ 'default_avatar_src' => $this->get_default_avatar_url_by_email($current_user->user_email, $this->avatar_size), 'default_avatar_srcset' => $this->get_default_avatar_url_by_email($current_user->user_email, ($this->avatar_size * 2)) . ' 2x', 'input_name' => SUA_USER_META_KEY ]; wp_localize_script('sua', 'sua_obj', $l10n); } /** * Default WordPress avatar URL by user email * * @since 2.8 * @return string */ private function get_default_avatar_url_by_email($user_email = '', $size = 96) { // Check the email provided if (empty($user_email) || !filter_var($user_email, FILTER_VALIDATE_EMAIL)) { return null; } // Sanitize email and get md5 $user_email = sanitize_email($user_email); $md5_user_email = md5($user_email); // SSL Gravatar URL $url = 'https://secure.gravatar.com/avatar/' . $md5_user_email; // Add query args $url = add_query_arg('s', $size, $url); $url = add_query_arg('d', 'mm', $url); $url = add_query_arg('r', 'g', $url); return esc_url($url); } /** * Add table in user profile * * @since 1.0 * @return void */ public function render_custom_user_profile_fields($user) { // Get user meta $attachment_id = get_user_meta($user->ID, SUA_USER_META_KEY, true); ?>
|
ID, $this->avatar_size, '', $user->display_name, ['class' => 'sua-attachment-avatar']); ?>
|
An error occurred while saving the transient. Please make sure this website can save transients.
', 'simple-user-avatar'), esc_url($this->reference_public_permalink) ) ); break; } } } /** * Admin notice for donations, if transient not exists or is expired * * @since 2.6 * @return void */ public function render_admin_donation_notice() { // Get Current user global $current_user; // Get the transient $notice_is_expired = get_transient(SUA_TRANSIENT_NAME); // Check the return of transient, if it's okay empty return if ($notice_is_expired !== false && is_numeric($notice_is_expired) && $notice_is_expired == 1) { return; } // Set the nonce field $wp_nonce_field = wp_nonce_field(SUA_TRANSIENT_NAME, '_wpnonce', true, false); $wp_nonce_field = preg_replace('/id=("|\').*?("|\')/', '', $wp_nonce_field); ?>