[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fS8hH3QcTaaljOE7qPolgfW-mkRBcD30pAxmT5FvoxmU":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":34,"analysis":121,"fingerprints":197},"simple-frontend-avatar-uploader","Simple Frontend Avatar Uploader","1.0.0","revaithub","https:\u002F\u002Fprofiles.wordpress.org\u002Frevaithub\u002F","\u003Cp>Simple Frontend Avatar Uploader is a lightweight plugin that allows users to update their profile picture directly from the frontend. It uses the native WordPress media uploader for a seamless experience.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features:\u003C\u002Fstrong>\u003Cbr \u002F>\n*   Frontend profile picture upload.\u003Cbr \u002F>\n*   Uses WordPress Media Library.\u003Cbr \u002F>\n*   Shortcode \u003Ccode>[simple_frontend_avatar_upload]\u003C\u002Fcode> to display the upload button.\u003Cbr \u002F>\n*   AJAX-based upload for instant feedback.\u003Cbr \u002F>\n*   Restrict uploads to specific user roles.\u003Cbr \u002F>\n*   Customize image size and shape (Circle\u002FSquare).\u003Cbr \u002F>\n*   Modern Admin Settings page.\u003C\u002Fp>\n","Allow users to upload their profile picture from the frontend using a shortcode.",0,101,"2026-02-07T07:20:00.000Z","6.9.4","5.0","",[18,19,20,21,22],"avatar","frontend","profile","upload","user","https:\u002F\u002Frevaitsolutions.tech\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-frontend-avatar-uploader.zip",100,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":31,"trust_score":32,"computed_at":33},1,30,94,"2026-04-04T16:11:05.325Z",[35,52,70,84,100],{"slug":36,"name":37,"version":38,"author":39,"author_profile":40,"description":41,"short_description":42,"active_installs":25,"downloaded":43,"rating":11,"num_ratings":11,"last_updated":44,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":45,"homepage":48,"download_link":49,"security_score":50,"vuln_count":30,"unpatched_count":30,"last_vuln_date":51,"fetched_at":27},"codeablepress-simple-frontend-profile-picture-upload","CodeablePress: Simple Frontend Profile Picture Upload","1.0.2","codeablepress","https:\u002F\u002Fprofiles.wordpress.org\u002Fcodeablepress\u002F","\u003Cp>⚠️ \u003Cstrong>This plugin has been retired.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>We’ve rebuilt this plugin from the ground up as a brand new, modern WordPress.org plugin:\u003C\u002Fp>\n\u003Cp>👉 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fchargewp-front-end-avatar-upload\u002F\" rel=\"ugc\">ChargeWP – Front-End Avatar Upload\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Please install and activate the new plugin\u003C\u002Fstrong> to continue receiving updates and support.\u003C\u002Fp>\n\u003Cp>This version (1.0.1) now displays a migration notice and version 1.0.2 will \u003Cstrong>not\u003C\u002Fstrong> run the upload functionality anymore — it’s safe to keep active temporarily while switching.\u003C\u002Fp>\n\u003Ch3>Why the Change?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>The new plugin offers improved performance and security\u003C\u002Fli>\n\u003Cli>Better WooCommerce and \u003Cstrong>new\u003C\u002Fstrong> block editor support\u003C\u002Fli>\n\u003Cli>Ongoing updates and future enhancements on WordPress.org\u003C\u002Fli>\n\u003Cli>Easier support and automatic updates\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>What Happens After Updating?\u003C\u002Fh3>\n\u003Cp>After updating to version 1.0.1, you’ll see a notice in your WordPress Dashboard with a one-click option to \u003Cstrong>Install & Activate ChargeWP – Front-End Avatar Upload\u003C\u002Fstrong>.\u003Cbr \u002F>\nAll existing data (user profile pictures) remain after switching plugins but will not work if you go back to the old plugin.\u003C\u002Fp>\n","A simple, lightweight, and secure way for users to upload profile pictures directly from the WooCommerce My Account page or via shortcode.",892,"2025-12-18T02:07:00.000Z",[18,19,21,46,47],"user-profile","woocommerce","https:\u002F\u002Fchargewp.com\u002Fplugin\u002Ffront-end-avatar-upload\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcodeablepress-simple-frontend-profile-picture-upload.1.0.2.zip",78,"2025-08-14 00:00:00",{"slug":53,"name":54,"version":55,"author":56,"author_profile":57,"description":58,"short_description":59,"active_installs":60,"downloaded":61,"rating":25,"num_ratings":30,"last_updated":62,"tested_up_to":14,"requires_at_least":63,"requires_php":64,"tags":65,"homepage":48,"download_link":69,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"chargewp-front-end-avatar-upload","ChargeWP – Front End Avatar Upload","2.0.2","ChargeWP","https:\u002F\u002Fprofiles.wordpress.org\u002Fchargewp\u002F","\u003Cp>\u003Cstrong>It just works.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>ChargeWP Avatar Upload gives users a clean, intuitive way to update their profile photo without opening the dashboard.\u003Cbr \u002F>\nIt’s built for modern WordPress sites: secure, lightweight, and theme-friendly.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Instant front-end upload\u003C\u002Fstrong> — update your avatar right on the page or in WooCommerce “My Account.”  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>SmartCrop.js built in\u003C\u002Fstrong> — automatically centers faces for perfect, professional results.  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gutenberg Block and Shortcode\u003C\u002Fstrong> — add the avatar uploader anywhere you want.  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gravatar friendly\u003C\u002Fstrong> — keeps existing Gravatars in place and simply takes priority when a custom image is uploaded.  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic cleanup\u003C\u002Fstrong> — replaces old avatars so your media library stays tidy.  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Lightweight and native\u003C\u002Fstrong> — no complex settings, no setup screens, and no bloat.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Why You’ll Love It\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Works straight out of the box.  \u003C\u002Fli>\n\u003Cli>Looks and feels like part of WordPress and WooCommerce.  \u003C\u002Fli>\n\u003Cli>Secure uploads with smart cropping and optimized JPEG output.  \u003C\u002Fli>\n\u003Cli>Supports all image types WordPress allows (JPG, PNG, WebP, and more).  \u003C\u002Fli>\n\u003Cli>Translation ready and developer friendly.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>Shortcode example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[chargewp_avatar type=\"0\" check_page_author=\"false\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Attributes:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>type\u003C\u002Fcode> — 0 = avatar only, 1 = avatar + name + ID, 2 = avatar + name + ID + profile link. Default: 0\u003Cbr \u002F>\n– \u003Ccode>check_page_author\u003C\u002Fcode> — true or false. When true, shows the page or post author’s avatar instead of the current user. Default: false\u003Cbr \u002F>\n– \u003Ccode>classes\u003C\u002Fcode> — Optional extra CSS classes for custom styling.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Block:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Insert the \u003Cstrong>ChargeWP Avatar\u003C\u002Fstrong> block in the editor.\u003Cbr \u002F>\n– Adjust display type and author options from the block sidebar.\u003C\u002Fp>\n\u003Ch3>Developer Notes\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Template overrides are supported. Copy files from\u003Cbr \u002F>\n  plugins\u002Fchargewp-avatar\u002Ftemplates\u002F to \u003Ccode>yourtheme\u002Ftemplates\u002Fcwpa\u002F\u003C\u002Fcode>.  \u003C\u002Fli>\n\u003Cli>Filters to disable automatic placement:\n\u003Cul>\n\u003Cli>\u003Ccode>add_filter('cwpa_auto_inject_wc_account', '__return_false');\u003C\u002Fcode>  \u003C\u002Fli>\n\u003Cli>\u003Ccode>add_filter('cwpa_auto_inject_cwpd_sidebar', '__return_false');\u003C\u002Fcode>  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Filters to change display type:\n\u003Cul>\n\u003Cli>\u003Ccode>cwpa_avatar_type_wc_account\u003C\u002Fcode>  \u003C\u002Fli>\n\u003Cli>\u003Ccode>cwpa_avatar_type_cwpd_sidebar\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n","Change your profile picture instantly from the front end.   Simple, fast, and built to feel like part of WordPress.",20,234,"2025-12-03T17:28:00.000Z","5.8","7.4",[18,66,67,68,47],"frontend-upload","gravatar","profile-picture","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fchargewp-front-end-avatar-upload.2.0.2.zip",{"slug":71,"name":72,"version":73,"author":74,"author_profile":75,"description":76,"short_description":77,"active_installs":78,"downloaded":79,"rating":11,"num_ratings":11,"last_updated":16,"tested_up_to":14,"requires_at_least":63,"requires_php":64,"tags":80,"homepage":16,"download_link":82,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":83},"am-avatar","AM-Avatar","1.0","amdevbro","https:\u002F\u002Fprofiles.wordpress.org\u002Famdevbro\u002F","\u003Cp>AM-Avatar is a lightweight and efficient WordPress plugin that allows users to upload custom profile pictures directly from their user profile page.\u003C\u002Fp>\n\u003Cp>Key features:\u003Cbr \u002F>\n* \u003Cstrong>Automatic WebP Conversion:\u003C\u002Fstrong> All uploaded images are automatically converted to WebP format for superior performance and smaller file sizes.\u003Cbr \u002F>\n* \u003Cstrong>Smart Integration:\u003C\u002Fstrong> Seamlessly replaces the default Gravatar section on the profile page using a native-looking interface.\u003Cbr \u002F>\n* \u003Cstrong>Organized Storage:\u003C\u002Fstrong> Keeps your uploads folder clean by storing all avatars in a dedicated \u003Ccode>\u002Fuploads\u002Fam-avatar\u002F\u003C\u002Fcode> directory.\u003Cbr \u002F>\n* \u003Cstrong>Settings Page:\u003C\u002Fstrong> Includes a dedicated settings menu to manage plugin preferences.\u003Cbr \u002F>\n* \u003Cstrong>Cleanup Option:\u003C\u002Fstrong> Choose whether to permanently delete all uploaded data and settings when the plugin is uninstalled.\u003Cbr \u002F>\n* \u003Cstrong>Security First:\u003C\u002Fstrong> Includes Nonce verification, strict sanitization, and WP_Filesystem API integration.\u003Cbr \u002F>\n* \u003Cstrong>Performance:\u003C\u002Fstrong> Automatically resizes images to 150x150px to ensure fast loading times.\u003Cbr \u002F>\n* \u003Cstrong>Privacy Friendly:\u003C\u002Fstrong> No external calls to Gravatar servers when a custom avatar is set.\u003C\u002Fp>\n","High-performance avatar management with automatic WebP conversion and custom directory integration.",10,115,[18,68,21,46,81],"webp","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fam-avatar.1.0.zip","2026-03-15T10:48:56.248Z",{"slug":85,"name":86,"version":87,"author":88,"author_profile":89,"description":90,"short_description":91,"active_installs":78,"downloaded":92,"rating":11,"num_ratings":11,"last_updated":93,"tested_up_to":94,"requires_at_least":95,"requires_php":64,"tags":96,"homepage":16,"download_link":98,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":99},"frontenduseravatar","Frontend User Avatar","1.1.0","Albert Tarres","https:\u002F\u002Fprofiles.wordpress.org\u002Falberttarress\u002F","\u003Cp>Effortlessly manage and display your user profile avatar from the frontend.\u003C\u002Fp>\n\u003Cp>Use the [frontend-user-avatar] shortcode to allow users to upload or update their avatar directly on your site.\u003Cbr \u002F>\nAdditionally, the [frontend-avatar-preview] shortcode provides a real-time preview of the current avatar, enhancing the user experience with a visual confirmation before any changes are made.\u003C\u002Fp>\n","Effortlessly manage and display your user profile avatar from the frontend",1190,"2025-09-09T14:54:00.000Z","6.8.5","6.2",[18,19,97,21,22],"shortcodes","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffrontenduseravatar.1.1.0.zip","2026-03-15T14:54:45.397Z",{"slug":101,"name":102,"version":103,"author":104,"author_profile":105,"description":106,"short_description":107,"active_installs":108,"downloaded":109,"rating":32,"num_ratings":110,"last_updated":111,"tested_up_to":14,"requires_at_least":112,"requires_php":16,"tags":113,"homepage":116,"download_link":117,"security_score":118,"vuln_count":119,"unpatched_count":11,"last_vuln_date":120,"fetched_at":27},"one-user-avatar","One User Avatar | User Profile Picture","2.5.4","One Designs","https:\u002F\u002Fprofiles.wordpress.org\u002Fonedesigns\u002F","\u003Cp>WordPress currently only allows you to use custom avatars that are uploaded through \u003Ca href=\"http:\u002F\u002Fgravatar.com\u002F\" rel=\"nofollow ugc\">Gravatar\u003C\u002Fa>. \u003Cstrong>One User Avatar\u003C\u002Fstrong> enables you to use any photo uploaded into your Media Library as an avatar. This means you use the same uploader and library as your posts. No extra folders or image editing functions are necessary. This plugin is a fork of WP User Avatar v2.2.16.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>One User Avatar\u003C\u002Fstrong> also lets you:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Upload your own Default Avatar in your One User Avatar settings.\u003C\u002Fli>\n\u003Cli>Show the user’s \u003Ca href=\"http:\u002F\u002Fgravatar.com\u002F\" rel=\"nofollow ugc\">Gravatar\u003C\u002Fa> avatar or Default Avatar if the user doesn’t have a One User Avatar image.\u003C\u002Fli>\n\u003Cli>Disable \u003Ca href=\"http:\u002F\u002Fgravatar.com\u002F\" rel=\"nofollow ugc\">Gravatar\u003C\u002Fa> avatars and use only local avatars.\u003C\u002Fli>\n\u003Cli>Use the \u003Ccode>[avatar_upload]\u003C\u002Fcode> shortcode to add a standalone uploader to a front page or widget. This uploader is only visible to logged-in users.\u003C\u002Fli>\n\u003Cli>Use the \u003Ccode>[avatar]\u003C\u002Fcode> shortcode in your posts. These shortcodes will work with any theme, whether it has avatar support or not.\u003C\u002Fli>\n\u003Cli>Allow Contributors and Subscribers to upload their own avatars.\u003C\u002Fli>\n\u003Cli>Limit upload file size and image dimensions for Contributors and Subscribers.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Copyright\u003C\u002Fh3>\n\u003Cp>One User Avatar\u003Cbr \u002F>\nCopyright (c) 2023 One Designs https:\u002F\u002Fonedesigns.com\u002F\u003Cbr \u002F>\nLicense: GPLv2\u003Cbr \u002F>\nSource: https:\u002F\u002Fgithub.com\u002Fonedesigns\u002Fone-user-avatar\u003C\u002Fp>\n\u003Cp>One User Avatar is based on WP User Avatar v2.2.16\u003Cbr \u002F>\nCopyright (c) 2020-2021 ProfilePress https:\u002F\u002Fprofilepress.net\u002F\u003Cbr \u002F>\nCopyright (c) 2014-2020 Flippercode https:\u002F\u002Fwww.flippercode.com\u002F\u003Cbr \u002F>\nCopyright (c) 2013-2014 Bangbay Siboliban http:\u002F\u002Fbangbay.com\u002F\u003Cbr \u002F>\nLicense: GPLv2\u003Cbr \u002F>\nSource: https:\u002F\u002Fgithub.com\u002Fprofilepress\u002Fwp-user-avatar\u003C\u002Fp>\n\u003Cp>One User Avatar is distributed under the terms of the GNU GPL\u003C\u002Fp>\n\u003Cp>This program is free software: you can redistribute it and\u002For modify\u003Cbr \u002F>\nit under the terms of the GNU General Public License as published by\u003Cbr \u002F>\nthe Free Software Foundation, either version 2 of the License, or\u003Cbr \u002F>\n(at your option) any later version.\u003C\u002Fp>\n\u003Cp>This program is distributed in the hope that it will be useful,\u003Cbr \u002F>\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\u003Cbr \u002F>\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\u003Cbr \u002F>\nGNU General Public License for more details.\u003C\u002Fp>\n\u003Ch3>Advanced Settings\u003C\u002Fh3>\n\u003Ch4>Add One User Avatar to your own profile edit page\u003C\u002Fh4>\n\u003Cp>You can use the [avatar_upload] shortcode to add a standalone uploader to any page. It’s best to use this uploader by itself and without other profile fields.\u003C\u002Fp>\n\u003Cp>If you’re building your own profile edit page with other fields, One User Avatar is automatically added to the \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FPlugin_API\u002FAction_Reference\u002Fshow_user_profile\" rel=\"nofollow ugc\">show_user_profile\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FPlugin_API\u002FAction_Reference\u002Fshow_user_profile\" rel=\"nofollow ugc\">edit_user_profile\u003C\u002Fa> hooks. If you’d rather have One User Avatar in its own section, you could add another hook:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>do_action( 'edit_user_avatar', $current_user );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Then, to add One User Avatar to that hook and remove it from the other hooks outside of the administration panel, you would add this code to the \u003Ccode>functions.php\u003C\u002Fcode> file of your theme:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>function my_avatar_filter() {\n    \u002F\u002F Remove from show_user_profile hook\n    remove_action( 'show_user_profile', array( 'wp_user_avatar', 'wpua_action_show_user_profile' ) );\n    remove_action( 'show_user_profile', array( 'wp_user_avatar', 'wpua_media_upload_scripts' ) );\n\n    \u002F\u002F Remove from edit_user_profile hook\n    remove_action( 'edit_user_profile', array( 'wp_user_avatar', 'wpua_action_show_user_profile' ) );\n    remove_action( 'edit_user_profile', array( 'wp_user_avatar', 'wpua_media_upload_scripts' ) );\n\n    \u002F\u002F Add to edit_user_avatar hook\n    add_action( 'edit_user_avatar', array( 'wp_user_avatar', 'wpua_action_show_user_profile' ) );\n    add_action( 'edit_user_avatar', array( 'wp_user_avatar', 'wpua_media_upload_scripts' ) );\n}\n\n\u002F\u002F Loads only outside of administration panel\nif ( ! is_admin() ) {\n    add_action( 'init','my_avatar_filter' );\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>HTML Wrapper\u003C\u002Fh4>\n\u003Cp>You can change the HTML wrapper of the One User Avatar section by using the functions \u003Ccode>wpua_before_avatar\u003C\u002Fcode> and \u003Ccode>wpua_after_avatar\u003C\u002Fcode>. By default, the avatar code is structured like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cdiv class=\"wpua-edit-container\">\n    \u003Ch3>Avatar\u003C\u002Fh3>\n    \u003Cinput type=\"hidden\" name=\"wp-user-avatar\" id=\"wp-user-avatar\" value=\"{attachmentID}\" \u002F>\n    \u003Cp id=\"wpua-add-button\">\n        \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-add\" name=\"wpua-add\">Edit Image\u003C\u002Fbutton>\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-preview\">\n        \u003Cimg src=\"{imageURL}\" alt=\"\" \u002F>\n        Original Size\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-thumbnail\">\n        \u003Cimg src=\"{imageURL}\" alt=\"\" \u002F>\n        Thumbnail\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-remove-button\">\n        \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-remove\" name=\"wpua-remove\">Default Avatar\u003C\u002Fbutton>\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-undo-button\">\n        \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-undo\" name=\"wpua-undo\">Undo\u003C\u002Fbutton>\n    \u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>To strip out the div container and h3 heading, you would add the following filters to the \u003Ccode>functions.php\u003C\u002Fcode> file in your theme:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>remove_action( 'wpua_before_avatar', 'wpua_do_before_avatar' );\nremove_action( 'wpua_after_avatar', 'wpua_do_after_avatar' );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>To add your own wrapper, you could create something like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>function my_before_avatar() {\n    echo '\u003Cdiv id=\"my-avatar\">';\n}\nadd_action( 'wpua_before_avatar', 'my_before_avatar' );\n\nfunction my_after_avatar() {\n    echo '\u003C\u002Fdiv>';\n}\nadd_action( 'wpua_after_avatar', 'my_after_avatar' );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This would output:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cdiv id=\"my-avatar\">\n    \u003Cinput type=\"hidden\" name=\"wp-user-avatar\" id=\"wp-user-avatar\" value=\"{attachmentID}\" \u002F>\n    \u003Cp id=\"wpua-add-button\">\n        \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-add\" name=\"wpua-add\">Edit Image\u003C\u002Fbutton>\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-preview\">\n        \u003Cimg src=\"{imageURL}\" alt=\"\" \u002F>\n        \u003Cspan class=\"description\">Original Size\u003C\u002Fspan>\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-thumbnail\">\n        \u003Cimg src=\"{imageURL}\" alt=\"\" \u002F>\n        \u003Cspan class=\"description\">Thumbnail\u003C\u002Fspan>\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-remove-button\">\n        \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-remove\" name=\"wpua-remove\">Default Avatar\u003C\u002Fbutton>\n    \u003C\u002Fp>\n    \u003Cp id=\"wpua-undo-button\">\n        \u003Cbutton type=\"button\" class=\"button\" id=\"wpua-undo\" name=\"wpua-undo\">Undo\u003C\u002Fbutton>\n    \u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Use any image from your WordPress Media Library as a custom user avatar or user profile picture. Add your own Default Avatar.",100000,490816,41,"2026-01-12T00:58:00.000Z","4.0",[18,114,67,20,115],"bbpress","users","https:\u002F\u002Fonedesigns.com\u002Fplugins\u002Fone-user-avatar\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fone-user-avatar.2.5.4.zip",99,2,"2021-09-20 00:00:00",{"attackSurface":122,"codeSignals":172,"taintFlows":190,"riskAssessment":191,"analyzedAt":196},{"hooks":123,"ajaxHandlers":157,"restRoutes":165,"shortcodes":166,"cronEvents":171,"entryPointCount":119,"unprotectedCount":11},[124,130,135,139,144,148,152],{"type":125,"name":126,"callback":127,"file":128,"line":129},"action","wp_enqueue_scripts","enqueue_scripts","includes\\class-sfau-core.php",37,{"type":131,"name":132,"callback":133,"file":128,"line":134},"filter","ajax_query_attachments_args","filter_media",38,{"type":131,"name":136,"callback":137,"priority":78,"file":128,"line":138},"get_avatar","filter_avatar",39,{"type":125,"name":140,"callback":141,"file":142,"line":143},"admin_menu","add_admin_menu","includes\\class-sfau-settings.php",23,{"type":125,"name":145,"callback":146,"file":142,"line":147},"admin_init","register_settings",24,{"type":125,"name":149,"callback":150,"file":142,"line":151},"admin_enqueue_scripts","enqueue_admin_assets",25,{"type":125,"name":153,"callback":154,"file":155,"line":156},"plugins_loaded","sfau_init","simple-frontend-avatar-uploader.php",54,[158],{"action":159,"nopriv":160,"callback":161,"hasNonce":162,"hasCapCheck":162,"file":163,"line":164},"sfau_update_profile_pic",false,"update_profile_pic",true,"includes\\class-sfau-ajax.php",18,[],[167],{"tag":168,"callback":169,"file":170,"line":164},"simple_frontend_avatar_upload","render_shortcode","includes\\class-sfau-shortcode.php",[],{"dangerousFunctions":173,"sqlUsage":174,"outputEscaping":176,"fileOperations":11,"externalRequests":11,"nonceChecks":30,"capabilityChecks":188,"bundledLibraries":189},[],{"prepared":11,"raw":11,"locations":175},[],{"escaped":164,"rawEcho":177,"locations":178},4,[179,182,184,186],{"file":142,"line":180,"context":181},174,"raw output",{"file":142,"line":183,"context":181},191,{"file":142,"line":185,"context":181},211,{"file":170,"line":187,"context":181},65,3,[],[],{"summary":192,"deductions":193},"The \"simple-frontend-avatar-uploader\" plugin v1.0.0 exhibits a generally good security posture based on the static analysis. The absence of dangerous functions, the exclusive use of prepared statements for SQL queries, and a high percentage of properly escaped output are all positive indicators. Furthermore, the plugin implements nonce and capability checks, which are crucial for securing entry points.\n\nThe analysis reveals no identified vulnerabilities in its history, and importantly, the static code analysis found no critical or high severity taint flows. This suggests a well-written codebase with a focus on security. However, while the attack surface appears limited and all identified entry points (AJAX and shortcodes) are protected, it's important to note that any complex plugin can introduce unforeseen risks. The lack of external HTTP requests and file operations also contributes to a reduced risk profile.\n\nOverall, the plugin appears to be developed with security in mind, demonstrating good practices in critical areas. The absence of any known vulnerabilities in its history further reinforces this. The strengths lie in its secure coding practices for database interaction and output handling, coupled with essential security checks. The primary weakness is the inherent, albeit small, attack surface of any plugin, and the potential for undiscovered issues in more complex scenarios, though the current analysis doesn't highlight any specific immediate concerns.",[194],{"reason":195,"points":177},"Minor unescaped output detected","2026-03-17T07:07:28.417Z",{"wat":198,"direct":211},{"assetPaths":199,"generatorPatterns":204,"scriptPaths":205,"versionParams":206},[200,201,202,203],"\u002Fwp-content\u002Fplugins\u002Fsimple-frontend-avatar-uploader\u002Fassets\u002Fjs\u002Ffrontend.js","\u002Fwp-content\u002Fplugins\u002Fsimple-frontend-avatar-uploader\u002Fassets\u002Fcss\u002Ffrontend.css","\u002Fwp-content\u002Fplugins\u002Fsimple-frontend-avatar-uploader\u002Fassets\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Fsimple-frontend-avatar-uploader\u002Fassets\u002Fjs\u002Fadmin.js",[],[200,203],[207,208,209,210],"simple-frontend-avatar-uploader\u002Fassets\u002Fjs\u002Ffrontend.js?ver=","simple-frontend-avatar-uploader\u002Fassets\u002Fcss\u002Ffrontend.css?ver=","simple-frontend-avatar-uploader\u002Fassets\u002Fcss\u002Fadmin.css?ver=","simple-frontend-avatar-uploader\u002Fassets\u002Fjs\u002Fadmin.js?ver=",{"cssClasses":212,"htmlComments":215,"htmlAttributes":216,"restEndpoints":218,"jsGlobals":219,"shortcodeOutput":222},[213,214],"sfau-upload-wrap","sfau-upload-button",[],[217],"data-nonce='sfau_nonce'",[],[220,221],"sfau_ajax","sfau_vars",[223],"[simple_frontend_avatar_uploader]"]