{"id":179805,"date":"2023-11-04T20:45:08","date_gmt":"2023-11-04T20:45:08","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/joes-recent-users-activity\/"},"modified":"2025-11-28T09:03:55","modified_gmt":"2025-11-28T09:03:55","slug":"joes-recent-users-activity","status":"publish","type":"plugin","link":"https:\/\/test.wordpress.org\/plugins\/joes-recent-users-activity\/","author":12114621,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.6","stable_tag":"trunk","tested":"6.9.4","requires":"5.0.0","requires_php":"5.6.40","requires_plugins":null,"header_name":"Joe's Recent Users Activity","header_author":"Joe Wakeford","header_description":"Displays recently logged-in users and their last viewed page in the admin area accessible via a 'Recent Activity' admin menu link.","assets_banners_color":"fefae8","last_updated":"2025-11-28 09:03:55","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.me\/joewakeford\/","header_plugin_uri":"","header_author_uri":"https:\/\/www.joewakeford.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":944,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2989049,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2989049,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":2990928,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":2990928,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3404932,"resolution":false,"location":"assets","locale":"","contents":"{\"landingPage\":\"\\\/wp-admin\\\/plugins.php\",\"preferredVersions\":{\"php\":\"8.0\",\"wp\":\"latest\"},\"phpExtensionBundles\":[\"kitchen-sink\"],\"features\":{\"networking\":true},\"steps\":[{\"step\":\"installPlugin\",\"options\":{\"activate\":true},\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"joes-recent-users-activity\"}},{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"}]}"}},"all_blocks":[],"tagged_versions":[],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":2991998,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":2992012,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"User login list table for backend","2":"Top 10 Exited Pages for backend"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[209511,1433,55369,209510,600],"plugin_category":[54],"plugin_contributors":[222780],"plugin_business_model":[],"class_list":["post-179805","plugin","type-plugin","status-publish","hentry","plugin_tags-brute-force-indicator","plugin_tags-history","plugin_tags-login-log","plugin_tags-rename-admin","plugin_tags-security","plugin_category-security-and-spam-protection","plugin_contributors-joewa1980","plugin_committers-joewa1980"],"banners":{"banner":"https:\/\/ps.w.org\/joes-recent-users-activity\/assets\/banner-772x250.png?rev=2990928","banner_2x":"https:\/\/ps.w.org\/joes-recent-users-activity\/assets\/banner-1544x500.png?rev=2990928","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/joes-recent-users-activity\/assets\/icon-128x128.png?rev=2989049","icon_2x":"https:\/\/ps.w.org\/joes-recent-users-activity\/assets\/icon-256x256.png?rev=2989049","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/joes-recent-users-activity\/assets\/screenshot-1.png?rev=2991998","caption":"User login list table for backend"},{"src":"https:\/\/ps.w.org\/joes-recent-users-activity\/assets\/screenshot-2.png?rev=2992012","caption":"Top 10 Exited Pages for backend"}],"raw_content":"<!--section=description-->\n<p>A mobile responsive lightweight plugin displaying the most recent 100 logged-in users and their last viewed page in the admin area accessible via a 'Recent Activity' admin menu link.<\/p>\n\n<ol>\n<li><strong>User ID<\/strong> - The user ID associated with the logged in party<\/li>\n<li><strong>Username<\/strong> - The currently logged-in user's username, linking to the user's profile page<\/li>\n<li><strong>Role<\/strong> - The user's current role within the Wordpress installation<\/li>\n<li><strong>Last Page Viewed<\/strong> - The front-end page the user last viewed. Admin pages and callbacks are not logged, linking to the page itself<\/li>\n<li><strong>IP Address<\/strong> - The user's IP address<\/li>\n<li><strong>Last Login<\/strong> - The date and time of the user's most recent login using the date format set within the Wordpress installation<\/li>\n<li><strong>Time active<\/strong> - The time from the last login time to the most recenty viewed page<\/li>\n<\/ol>\n\n<p>'Top 10 Exited Pages' shows the five most common pages for logged-in visitors to see before they leave the site.<\/p>\n\n<h4>Features<\/h4>\n\n<p>A mobile responsive lightweight plugin displaying the most recent 100 logged-in users and their last viewed page in the admin area accessible via a 'Recent Activity' admin menu link. A section called, 'Top 10 Exited Pages' shows the ten most common pages for logged-in visitors to see before they leave the site.<\/p>\n\n<h4>Translations<\/h4>\n\n<p>None currently, but it is such a simple plugin there really is not much language to consider.<\/p>\n\n<h4>How to use the plugin?<\/h4>\n\n<ol>\n<li>To see all the tracked records in admin, click on the plugin menu shown in the left sidebar.<\/li>\n<\/ol>\n\n<h4>Bug Fixes<\/h4>\n\n<p>If you find any bug, please create a topic with a step by step description to reproduce the bug.\nPlease search the forum before creating a new topic.<\/p>\n\n<h4>Keywords<\/h4>\n\n<p>user log, log, logger, detector, tracker, membership, register, sign up, admin, subscriber, editor, contributor, geo location, profile, front end registration, manager, report, statistics, activity, user role editor<\/p>\n\n<h3>Third Party Code Integration<\/h3>\n\n<p>A PayPal Donate button is integrated into the plugin page if users would like to support the developer. The code used is shown at https:\/\/developer.paypal.com\/sdk\/donate\/ and PayPal's privacy terms can be read at https:\/\/www.paypal.com\/myaccount\/privacy\/privacyhub\/<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/joes_recent_users_activity<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='can%20this%20plugin%20track%20the%20info%20of%20guest%20users%3F'><h3>Can this plugin track the info of guest users?<\/h3><\/dt>\n<dd><p>No.<\/p><\/dd>\n<dt id='is%20this%20plugin%20mobile%20responsive%3F'><h3>Is this plugin mobile responsive?<\/h3><\/dt>\n<dd><p>Yes.<\/p><\/dd>\n<dt id='where%20to%20see%20login%20list%20in%20admin%3F'><h3>Where to see login list in admin?<\/h3><\/dt>\n<dd><p>After activating the plugin, just re-login and then click on \"Recent Activity\" menu on the left sidebar to see the login list.<\/p>\n\n<p>There are no settings to change.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.6 (28th November 2025)<\/h4>\n\n<ul>\n<li>Compatibility with WordPress 6.9<\/li>\n<\/ul>\n\n<h4>2.5 (8th April 2025)<\/h4>\n\n<ul>\n<li>Compatibility with WordPress 6.8<\/li>\n<\/ul>\n\n<h4>2.4 (28th October 2024)<\/h4>\n\n<ul>\n<li>Compatibility with WordPress 6.7<\/li>\n<\/ul>\n\n<h4>2.3 (5th September 2024)<\/h4>\n\n<ul>\n<li>Compatibility with WordPress 6.6.1<\/li>\n<\/ul>\n\n<h4>2.2 (8th May 2024)<\/h4>\n\n<ul>\n<li>Compatibility with WordPress 6.5.3<\/li>\n<\/ul>\n\n<h4>2.1 (25th March 2024)<\/h4>\n\n<ul>\n<li>Compatibility with WordPress 6.5<\/li>\n<\/ul>\n\n<h4>2.0.3 (25th March 2024)<\/h4>\n\n<ul>\n<li>plugin blueprint.json file added for testing the plugin easily<\/li>\n<\/ul>\n\n<h4>2.0.2 (25th March 2024)<\/h4>\n\n<ul>\n<li>plugin description updated for brevity<\/li>\n<\/ul>\n\n<h4>2.0.1 (25th March 2024)<\/h4>\n\n<ul>\n<li>corrected spelling errors<\/li>\n<\/ul>\n\n<h4>2.0 (25th March 2024)<\/h4>\n\n<ul>\n<li>compatibility with the latest version of Wordpress (6.4.3)<\/li>\n<\/ul>\n\n<h4>1.9 (9th November 2023)<\/h4>\n\n<ul>\n<li>changed the default icon in the admin menu<\/li>\n<li>added title and subheader for mobile explaining sorting<\/li>\n<\/ul>\n\n<h4>1.8 (9th November 2023)<\/h4>\n\n<ul>\n<li>added mobile responsiveness for the main table<\/li>\n<\/ul>\n\n<h4>1.7 (7th November 2023)<\/h4>\n\n<ul>\n<li>table increased to 100 most recent users' activity (from 10)<\/li>\n<li>paginaton introduced<\/li>\n<li>most visited page display increased to 10 (from 5)<\/li>\n<\/ul>\n\n<h4>1.6 (1st November 2023)<\/h4>\n\n<ul>\n<li>sanitize function renamed to match the rest of the plugin functions<\/li>\n<\/ul>\n\n<h4>1.5 (28th October 2023)<\/h4>\n\n<ul>\n<li>additional data sanitized and escaped, nonce added to clear all results button<\/li>\n<\/ul>\n\n<h4>1.4 (25th October 2023)<\/h4>\n\n<ul>\n<li>additional data sanitized and escaped<\/li>\n<\/ul>\n\n<h4>1.3 (16th October 2023)<\/h4>\n\n<ul>\n<li>Nonce added to the POST call to prevent unauthorised access.<\/li>\n<li>prepare() added to database clear query to protect the code from SQL injection vulnerabilities.<\/li>\n<li>detail about PayPal Donate button usage added to readme,txt<\/li>\n<li>all necessary data sanitized, escaped, and validated<\/li>\n<li>variables escaped when echo'd<\/li>\n<\/ul>\n\n<h4>1.2 (9th October 2023)<\/h4>\n\n<ul>\n<li>All data being read from any of these PHP global variables $_POST \/ $_GET \/ $_REQUEST \/ $_COOKIE \/ $_SERVER \/ $_SESSION \/ $_FILES has been sanitized before storing it in another variable or doing something else with it.<\/li>\n<\/ul>\n\n<p>In this code, the following sanitization functions have been used:<\/p>\n\n<p>sanitize_text_field() for text fields.\nabsint() for integers.\nesc_url_raw() for raw URLs.\nThese sanitization functions ensure that the input data is safe to use and minimize the risk of security vulnerabilities.<\/p>\n\n<ul>\n<li>Appropriate escaping functions (esc_html, esc_url_raw, sanitize_text_field) added to the variables that are being echoed or printed to ensure that the output is safe from XSS vulnerabilities.<\/li>\n<\/ul>\n\n<h4>1.1 (27th July 2023)<\/h4>\n\n<ul>\n<li>Added top 5 most exited pages (with clickable links), Top 5 exited pages only include front-end pages and exclude admin-ajax.php, 'nonce', 'wp-json', and others not matching front-end permalinks.<\/li>\n<li>Added line space and contact details under the main title. <\/li>\n<li>Added a 'Clear all results' button in case the table becomes bloated<\/li>\n<\/ul>\n\n<h4>1.0 (24th July 2023)<\/h4>\n\n<p>Plugin released<\/p>","raw_excerpt":"A mobile-responsive plugin showing the last 100 logged-in users &amp; their last page in admin via a &#039;Recent Activity&#039; menu.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/179805","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=179805"}],"author":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/joewa1980"}],"wp:attachment":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=179805"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=179805"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=179805"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=179805"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=179805"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=179805"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}