[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fEWG8I0xQMfgd2BeKC2KEOvk5YcwCpEQM6F-Cuk7pugQ":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":135,"fingerprints":351},"yaqeentech-training-operations-for-tutor-lms","YaqeenTech Training Operations for Tutor LMS","1.0.26","yaqeentech","https:\u002F\u002Fprofiles.wordpress.org\u002Fyaqeentech\u002F","\u003Cp>YaqeenTech Training Operations for Tutor LMS adds an operational management layer on top of Tutor LMS.\u003C\u002Fp>\n\u003Cp>While Tutor LMS focuses on course delivery, this plugin provides tools for managing enrollments, organizing structured training plans, tracking batches, and viewing scheduled training activity in a centralized calendar.\u003C\u002Fp>\n\u003Cp>Key capabilities include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Training Plan creation and multi-course structuring\u003C\u002Fli>\n\u003Cli>Bulk enrollment via CSV upload\u003C\u002Fli>\n\u003Cli>Enrollment batch tracking\u003C\u002Fli>\n\u003Cli>Scheduled training releases\u003C\u002Fli>\n\u003Cli>Administrative training calendar\u003C\u002Fli>\n\u003Cli>Enrollment search and exploration tools\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin requires Tutor LMS to be installed and active.\u003C\u002Fp>\n\u003Ch3>1.0.26\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Added plugin action links in Plugins screen: Settings, Add-ons, and Documentation.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>1.0.25\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Security hardening: nonce + capability checks and input validation fixes for WordPress.org review.\u003C\u002Fli>\n\u003Cli>Fixed text domain mismatch in translation calls.\u003C\u002Fli>\n\u003Cli>Improved CSV upload handling with WordPress-safe upload validation.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>1.0.20\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Fixed Elementor\u002Ftheme formatting issues for the prefixed yaqetrop_* shortcodes by ensuring front-end assets enqueue correctly.\u003C\u002Fli>\n\u003Cli>Removed legacy trainingflow_* shortcodes to keep a single canonical shortcode set.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>1.0.15\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Front-end embed UI styling\u002Ftypography normalization (prevents theme CSS from distorting headings and layout).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>1.0.14\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Settings page now displays prefixed shortcodes and keeps legacy shortcode aliases for backward compatibility.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>1.0.13\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Added explicit capability enforcement for batch actions and improved GET sanitization (wp_unslash + sanitize_*).\u003C\u002Fli>\n\u003Cli>Standardized transient prefixes to the plugin prefix.\u003C\u002Fli>\n\u003Cli>Renamed front-end shortcodes and helper wrapper to use the yaqetrop_ prefix.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>1.0.12\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Prefixed localized script nonce action for uniqueness and consistency.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>1.0.11\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Security hardening and sanitization improvements\u003C\u002Fli>\n\u003Cli>Removed user creation and login functionality\u003C\u002Fli>\n\u003Cli>Improved nonce validation and input handling\u003C\u002Fli>\n\u003Cli>Refactored file naming for consistent prefixing\u003C\u002Fli>\n\u003Cli>Improved shortcode permission handling\u003C\u002Fli>\n\u003Cli>Fixed custom post type slug length issues\u003C\u002Fli>\n\u003Cli>Stability and compatibility improvements\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>1.0.1\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Initial public release\u003C\u002Fli>\n\u003C\u002Ful>\n","Operational management layer for Tutor LMS: training plans, bulk enrollment, enrollment batches, and a training calendar.",0,227,"2026-03-04T03:51:00.000Z","6.9.4","5.9","7.4",[18,19,20,21,22],"bulk-enrollment","enrollment-management","training-calendar","training-plans","tutor-lms","https:\u002F\u002Fyaqeentech.com\u002Ftraining-operations-for-tutor-lms","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fyaqeentech-training-operations-for-tutor-lms.1.0.26.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-04T12:27:17.620Z",[35,59,77,95,114],{"slug":36,"name":37,"version":38,"author":39,"author_profile":40,"description":41,"short_description":42,"active_installs":43,"downloaded":44,"rating":25,"num_ratings":45,"last_updated":46,"tested_up_to":47,"requires_at_least":48,"requires_php":49,"tags":50,"homepage":56,"download_link":57,"security_score":58,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"lesson-bookmark-tutor-lms","Lesson Bookmark for Tutor LMS","2.0.3","Lekcie","https:\u002F\u002Fprofiles.wordpress.org\u002Flekciewp\u002F","\u003Cp>Lesson Bookmark for Tutor LMS is an addon for Tutor LMS plugin that allows you to add a lesson to favorites. Concretely, an add \u002F remove to favorites button is displayed on each lesson page. You will then have a shortcode you can add to the location of your choice.\u003C\u002Fp>\n\u003Cp>Shortcode: \u003Ccode>[tllb_display_favorites]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Place the shortcode anywhere to display the list of lessons that you have put in your favorites.\u003C\u002Fp>\n\u003Ch4>What’s new in V2\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>You can now style your markdowns by editting the layout, the text size and color, the button size and color\u003C\u002Fli>\n\u003Cli>Overview the changes you make before saving them\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>A brief Use Case Example\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Go to a lesson and click on “Bookmark”\u003C\u002Fli>\n\u003Cli>Copy and paste the shortcode \u003Ccode>[tllb_display_favorites]\u003C\u002Fcode> wherever you want\u003C\u002Fli>\n\u003Cli>You can remove the favorites by going to a lesson and clicking on “Remove bookmark”\u003C\u002Fli>\n\u003C\u002Fol>\n","Lesson Bookmark allows you to add lessons in the list of your favorite lessons and to display the favorites with [tllb_display_favorites]",400,11623,14,"2024-09-02T16:16:00.000Z","6.6.5","6.0","8.0",[51,52,53,54,55],"tutor-addon","tutor-bookmark","tutor-lms-addon","tutor-lms-bookmark","tutor-lms-lesson-bookmark","https:\u002F\u002Flekcie.com\u002Fplugins-wordpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flesson-bookmark-tutor-lms.2.0.3.zip",92,{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":67,"downloaded":68,"rating":25,"num_ratings":30,"last_updated":69,"tested_up_to":70,"requires_at_least":71,"requires_php":16,"tags":72,"homepage":75,"download_link":76,"security_score":58,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"reviews-tutor-lms","Reviews for Tutor LMS","1.0.2","Vlăduț Ilie","https:\u002F\u002Fprofiles.wordpress.org\u002Fvladwtz\u002F","\u003Cp>The Reviews for Tutor LMS plugin provides additional functionality for managing reviews received on online courses. It allows you to approve, disapprove, mark as spam, or delete reviews individually and in bulk.\u003C\u002Fp>\n","The Reviews for Tutor LMS plugin is an addon for Tutor LMS that allows you to manage course reviews.",300,3912,"2024-11-20T11:45:00.000Z","6.7.5","6.4",[73,74,22],"reviews","reviews-addon","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Freviews-tutor-lms.1.0.2.zip",{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":85,"downloaded":86,"rating":87,"num_ratings":30,"last_updated":88,"tested_up_to":89,"requires_at_least":48,"requires_php":16,"tags":90,"homepage":75,"download_link":94,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"custom-user-registration-fields-tutor-lms","Custom User Registration Fields for Tutor LMS","1.3","UserElements","https:\u002F\u002Fprofiles.wordpress.org\u002Fuserelements\u002F","\u003Cp>Custom User Registration Fields for Tutor LMS extends your Tutor LMS registration process by allowing you to add custom fields for both student and instructor registrations. This plugin provides a simple admin interface to manage custom fields without any coding knowledge required.\u003C\u002Fp>\n\u003Ch3>How It Works\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Install and activate the plugin\u003C\u002Fli>\n\u003Cli>Navigate to Users \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Tutor LMS User Fields in your admin panel\u003C\u002Fli>\n\u003Cli>Add custom fields with labels and meta keys\u003C\u002Fli>\n\u003Cli>Fields automatically appear on registration forms\u003C\u002Fli>\n\u003Cli>User data is saved and displayed on profile pages\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Tutorials & Guides\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.userelements.com\u002Flist\u002Ftutor-lms-website-examples\u002F\" rel=\"nofollow ugc\">17 Awesome Websites Made with Tutor LMS\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.userelements.com\u002Ftutor-lms-shortcodes\u002F\" rel=\"nofollow ugc\">The Complete List of Tutor LMS Shortcodes and How to Use Them – Tutor LMS\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.userelements.com\u002Fsending-reminder-emails-to-inactive-students-tutor-lms\u002F\" rel=\"nofollow ugc\">Sending Reminder Emails to Inactive Students – Tutor LMS\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.userelements.com\u002Ftutor-lms-get-student-information-in-php\u002F\" rel=\"nofollow ugc\">Tutor LMS – Get Student Information in PHP\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.userelements.com\u002Fremove-tutor-reviews\u002F\" rel=\"nofollow ugc\">How to Hide, Remove or Disable Reviews or Star Rating in Tutor LMS\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fuserelements.com\u002Fcreate-user-directory-elementor\u002F\" rel=\"nofollow ugc\">Create a User Directory with Elementor\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.userelements.com\u002Flist\u002Fbest-wordpress-lms-plugins\u002F\" rel=\"nofollow ugc\">Best WordPress LMS Plugins to Create and Sell Courses Online\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>More Plugins by UserElements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.userelements.com\u002Fmightymenu-tutorlms\u002F\" rel=\"nofollow ugc\">Personalized User Menu for TutorLMS\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.userelements.com\u002Fwp-user-data\u002F\" rel=\"nofollow ugc\">WP User Data\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.userelements.com\u002Fuser-broadcast-email\u002F\" rel=\"nofollow ugc\">User Broadcast Email\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fproduct-table-for-elementor\" rel=\"ugc\">Elementor Product Table for WooCommerce\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For technical support, feature requests, or general questions, please visit userelements.com or create a support ticket in the WordPress.org plugin forum.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Ch3>Admin Panel\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Go to \u003Ccode>Users\u003C\u002Fcode> -> \u003Ccode>Tutor LMS User Fields\u003C\u002Fcode> to manage custom fields.\u003C\u002Fli>\n\u003Cli>There are two tabs: \u003Ccode>Student Registration Fields\u003C\u002Fcode> and \u003Ccode>Instructor Registration Fields\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Add new fields by filling in the \u003Ccode>Field Label\u003C\u002Fcode> and \u003Ccode>Meta Key\u003C\u002Fcode> and clicking \u003Ccode>Add Field\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Remove fields by clicking the \u003Ccode>Remove\u003C\u002Fcode> button next to the respective field.\u003C\u002Fli>\n\u003Cli>Save changes by clicking the \u003Ccode>Save Changes\u003C\u002Fcode> button.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Frontend\u003C\u002Fh3>\n\u003Cp>Custom fields will automatically appear on the Tutor LMS registration forms for students and instructors.\u003C\u002Fp>\n\u003Ch3>Hooks and Functions\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Admin Menu:\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Adds a submenu under the \u003Ccode>Users\u003C\u002Fcode> menu for plugin settings.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom CSS:\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Enqueues custom CSS for the plugin settings page.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Settings Page:\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Displays the settings page for managing custom fields.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User Meta:\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Adds and updates custom user meta during registration and profile updates.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Profile Page:\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Displays custom fields on the user profile page.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Registration Forms:\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Adds custom fields to Tutor LMS registration forms for students and instructors.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GNU General Public License v2.0. See the \u003Ca href=\"http:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-2.0.html\" rel=\"nofollow ugc\">License URI\u003C\u002Fa> for more details.\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Developed by \u003Ca href=\"http:\u002F\u002Fuserelements.com\u002F\" rel=\"nofollow ugc\">userelements\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support, please visit \u003Ca href=\"http:\u002F\u002Fuserelements.com\u002F\" rel=\"nofollow ugc\">userelements.com\u003C\u002Fa>.\u003C\u002Fp>\n","Add Custom User Registration Fields for Tutor LMS.",200,1049,60,"2025-08-23T06:55:00.000Z","6.8.5",[91,92,22,93],"registration-field","tutor","user-field","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-user-registration-fields-tutor-lms.1.3.zip",{"slug":96,"name":97,"version":98,"author":99,"author_profile":100,"description":101,"short_description":102,"active_installs":85,"downloaded":103,"rating":11,"num_ratings":11,"last_updated":104,"tested_up_to":89,"requires_at_least":105,"requires_php":106,"tags":107,"homepage":112,"download_link":113,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"grassblade-xapi-tutorlms","Experience API for TutorLMS by GrassBlade","2.8","Pankaj Agrawal","https:\u002F\u002Fprofiles.wordpress.org\u002Fliveaspankaj\u002F","\u003Cp>This plugin enables Experience API (xAPI \u002F Tin Can), SCORM 1.2, SCORM 2004 and cmi5 standard content support on Tutor LMS by integrating with \u003Ca href=\"https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fgrassblade-xapi-companion\u002F\" rel=\"nofollow ugc\">GrassBlade xAPI Companion plugin\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Which authoring tools are supported:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>H5P\u003C\u002Fli>\n\u003Cli>Articulate Storyline\u003C\u002Fli>\n\u003Cli>Articulate Rise\u003C\u002Fli>\n\u003Cli>Articulate Studio\u003C\u002Fli>\n\u003Cli>Articulate 360\u003C\u002Fli>\n\u003Cli>Adobe Captivate\u003C\u002Fli>\n\u003Cli>Lectora Inspire\u003C\u002Fli>\n\u003Cli>Lectora Publisher\u003C\u002Fli>\n\u003Cli>Lectora Online\u003C\u002Fli>\n\u003Cli>iSpring Suite\u003C\u002Fli>\n\u003Cli>Adapt Authoring Tool\u003C\u002Fli>\n\u003Cli>iSpring Pro\u003C\u002Fli>\n\u003Cli>DominKnow Claro\u003C\u002Fli>\n\u003Cli>and more not listed here\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Videos Supported with \u003Ca href=\"https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fkb\u002Fadvanced-video-tracking\u002F\" rel=\"nofollow ugc\">advanced video tracking\u003C\u002Fa>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>YouTube\u003C\u002Fli>\n\u003Cli>Vimeo\u003C\u002Fli>\n\u003Cli>Wistia\u003C\u002Fli>\n\u003Cli>MP4 (self hosted or URL)\u003C\u002Fli>\n\u003Cli>MP3 (self hosted or URL)\u003C\u002Fli>\n\u003Cli>Wistia\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>What do you need?\u003C\u002Fp>\n\u003Col>\n\u003Cli>Tutor LMS plugin\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fgrassblade-xapi-companion\u002F\" rel=\"nofollow ugc\">GrassBlade xAPI Companion\u003C\u002Fa> plugin\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fgrassblade-lrs-experience-api\u002F\" rel=\"nofollow ugc\">GrassBlade Cloud LRS\u003C\u002Fa> (or GrassBlade LRS)\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>The LRS, also known as the Learning Record Store, is optional if you are using content without any tracking.\u003C\u002Fp>\n\u003Cp>What features do you get with this integration?\u003C\u002Fp>\n\u003Cul>\n\u003Cli>You can host content from several authoring tools.\u003C\u002Fli>\n\u003Cli>Restrict progress till xAPI Content is completed.\u003C\u002Fli>\n\u003Cli>Completion based on xAPI Content.\u003C\u002Fli>\n\u003Cli>Use xAPI Content-based Quiz and its score in the reports.\u003C\u002Fli>\n\u003Cli>Award Certificates based on completion of xAPI Content.\u003C\u002Fli>\n\u003Cli>Generate detailed reports\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Available Reports\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Admins users can generate following reports to get complete insight on user activities.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Completions Report\u003C\u002Fli>\n\u003Cli>Gradebook Report\u003C\u002Fli>\n\u003Cli>Achievements Report\u003C\u002Fli>\n\u003Cli>Progress Snapshot Report\u003C\u002Fli>\n\u003Cli>User Report\u003C\u002Fli>\n\u003Cli>Quiz Report\u003C\u002Fli>\n\u003Cli>Questions Report\u003C\u002Fli>\n\u003Cli>Video Overview, Attempts and Gradebook Report\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fkb\u002Freports-for-group-leaders-admins\u002F\" rel=\"nofollow ugc\">Learn more\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>GrassBlade xAPI Companion works with:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Flearndash-integration\u002F\" rel=\"nofollow ugc\">LearnDash LMS\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fexperience-api-for-wp-courseware\u002F\" rel=\"nofollow ugc\">WP Courseware LMS\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fexperience-api-for-lifterlms\u002F\" rel=\"nofollow ugc\">LifterLMS\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fexperience-api-for-learnpress\u002F\" rel=\"nofollow ugc\">LearnPress LMS\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fexperience-api-for-tutorlms\u002F\" rel=\"nofollow ugc\">TutorLMS\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fexperience-api-for-masterstudy-lms\u002F\" rel=\"nofollow ugc\">MasterStudy LMS\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fexperience-api-for-sensei-lms\u002F\" rel=\"nofollow ugc\">Sensei LMS\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Related Plugins for TutorLMS:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fmanual-completions-for-tutorlms\u002F\" rel=\"nofollow ugc\">Manual Completions for TutorLMS\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fvisibility-control-for-tutorlms\u002F\" rel=\"nofollow ugc\">Visibility Control for TutorLMS\u003C\u002Fa>\u003C\u002Fp>\n","Experience API for TutorLMS plugin adds xAPI, SCORM, and cmi5 support to Tutor LMS by integrating with the GrassBlade xAPI Companion plugin.",6599,"2026-03-05T07:04:00.000Z","4.0","5.6",[108,109,110,22,111],"grassblade","reports","scorm","xapi","https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fexperience-api-for-tutorlms\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgrassblade-xapi-tutorlms.2.8.zip",{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":85,"downloaded":122,"rating":123,"num_ratings":124,"last_updated":125,"tested_up_to":126,"requires_at_least":127,"requires_php":128,"tags":129,"homepage":132,"download_link":133,"security_score":134,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"tutor-lms-author","Tutor LMS Author Ownership Changer – Migrate your Course Author Ownership","1.0.3","FahimMurshed","https:\u002F\u002Fprofiles.wordpress.org\u002Ffahimmurshed\u002F","\u003Cp>Tutor Learning Management Systems was primarily designed to help you administer and teach eLearning courses online. Now you can change the authorship with this plugin.\u003C\u002Fp>\n\u003Cp>Go to modify plugin file: \u003Ccode>\u002Fwp-content\u002Fplugins\u002Ftutor\u002Fblob\u002Fmaster\u002Fclasses\u002FCourse.php\u003C\u002Fcode> Line# 40 and remove this code\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('wp_insert_post_data', array($this, 'tutor_add_gutenberg_author'), '99', 2);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Now you can change the Author with this plugin.\u003C\u002Fp>\n\u003Cp>If you need more assistance, \u003Ca href=\"https:\u002F\u002Fmurshidalam.com\u002Fcontact\u002F\" rel=\"nofollow ugc\">contact me\u003C\u002Fa>\u003C\u002Fp>\n","Easily change the Tutor LMS course author ownership.",5318,64,6,"2020-06-28T06:21:00.000Z","5.5.18","5.0","7.0",[130,131,92,22,115],"change-course-author-ownership","change-courses-author","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftutor-lms-author","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftutor-lms-author.zip",85,{"attackSurface":136,"codeSignals":233,"taintFlows":269,"riskAssessment":345,"analyzedAt":350},{"hooks":137,"ajaxHandlers":206,"restRoutes":211,"shortcodes":212,"cronEvents":231,"entryPointCount":232,"unprotectedCount":30},[138,144,146,148,150,153,155,158,161,164,168,170,174,177,179,183,186,189,191,194,198,200,203],{"type":139,"name":140,"callback":141,"file":142,"line":143},"action","admin_init","closure","includes\\class-yaqetrop-frontend-enrollment.php",210,{"type":139,"name":140,"callback":141,"file":142,"line":145},219,{"type":139,"name":140,"callback":141,"file":142,"line":147},248,{"type":139,"name":140,"callback":141,"file":142,"line":149},373,{"type":139,"name":151,"callback":141,"priority":31,"file":142,"line":152},"admin_menu",389,{"type":139,"name":140,"callback":141,"file":142,"line":154},421,{"type":139,"name":151,"callback":141,"priority":156,"file":142,"line":157},999,448,{"type":139,"name":159,"callback":141,"file":142,"line":160},"init",878,{"type":139,"name":162,"callback":141,"file":142,"line":163},"add_meta_boxes",903,{"type":139,"name":165,"callback":166,"file":142,"line":167},"admin_post_yaqetrop_csv_template","yaqetrop_handle_csv_template_download",1451,{"type":139,"name":159,"callback":141,"file":142,"line":169},1623,{"type":139,"name":171,"callback":141,"priority":172,"file":142,"line":173},"save_post_tutor_enrolled",20,1921,{"type":139,"name":175,"callback":141,"priority":172,"file":142,"line":176},"tutor_after_enroll",1950,{"type":139,"name":140,"callback":141,"file":142,"line":178},2145,{"type":139,"name":180,"callback":141,"priority":181,"file":142,"line":182},"trashed_post",10,2266,{"type":139,"name":184,"callback":141,"priority":181,"file":142,"line":185},"before_delete_post",2272,{"type":139,"name":187,"callback":141,"priority":181,"file":142,"line":188},"save_post",2284,{"type":139,"name":159,"callback":141,"file":142,"line":190},4487,{"type":139,"name":140,"callback":141,"file":192,"line":193},"yaqeentech-training-operations-for-tutor-lms.php",18,{"type":195,"name":196,"callback":141,"priority":181,"file":192,"line":197},"filter","register_post_type_args",46,{"type":139,"name":159,"callback":141,"file":192,"line":199},63,{"type":139,"name":201,"callback":141,"file":192,"line":202},"wp_enqueue_scripts",125,{"type":139,"name":204,"callback":141,"file":192,"line":205},"admin_enqueue_scripts",154,[207],{"action":208,"nopriv":209,"callback":141,"hasNonce":209,"hasCapCheck":209,"file":142,"line":210},"yaqetrop_trainingflow_meta_keys",false,481,[],[213,216,219,222,225,228],{"tag":214,"callback":141,"file":142,"line":215},"yaqetrop_frontend_bulk_enroll",3048,{"tag":217,"callback":141,"file":142,"line":218},"yaqetrop_tutor_scheduled_calendar",4070,{"tag":220,"callback":141,"file":142,"line":221},"yaqetrop_calendar",4557,{"tag":223,"callback":141,"file":142,"line":224},"yaqetrop_enrollment_explorer",4566,{"tag":226,"callback":141,"file":142,"line":227},"yaqetrop_enrollment_batches",4575,{"tag":229,"callback":141,"file":142,"line":230},"yaqetrop_bulk_enrollment",4584,[],7,{"dangerousFunctions":234,"sqlUsage":235,"outputEscaping":238,"fileOperations":11,"externalRequests":11,"nonceChecks":240,"capabilityChecks":267,"bundledLibraries":268},[],{"prepared":236,"raw":11,"locations":237},8,[],{"escaped":239,"rawEcho":240,"locations":241},426,12,[242,245,247,249,251,253,255,257,259,261,263,265],{"file":142,"line":243,"context":244},443,"raw output",{"file":142,"line":246,"context":244},462,{"file":142,"line":248,"context":244},940,{"file":142,"line":250,"context":244},1447,{"file":142,"line":252,"context":244},2509,{"file":142,"line":254,"context":244},2585,{"file":142,"line":256,"context":244},3718,{"file":142,"line":258,"context":244},3766,{"file":142,"line":260,"context":244},4364,{"file":142,"line":262,"context":244},4377,{"file":142,"line":264,"context":244},4561,{"file":142,"line":266,"context":244},4589,25,[],[270,302,313],{"entryPoint":271,"graph":272,"unsanitizedCount":30,"severity":301},"yaqetrop_render_enrollment_explorer_page (includes\\class-yaqetrop-frontend-enrollment.php:2387)",{"nodes":273,"edges":296},[274,279,285,289,293],{"id":275,"type":276,"label":277,"file":142,"line":278},"n0","source","$_GET (x2)",2414,{"id":280,"type":281,"label":282,"file":142,"line":283,"wp_function":284},"n1","sink","echo() [XSS]",2489,"echo",{"id":286,"type":276,"label":287,"file":142,"line":288},"n2","$_GET",2407,{"id":290,"type":291,"label":292,"file":142,"line":288},"n3","transform","→ yaqetrop_render_batch_detail_page()",{"id":294,"type":281,"label":282,"file":142,"line":295,"wp_function":284},"n4",2918,[297,299,300],{"from":275,"to":280,"sanitized":298},true,{"from":286,"to":290,"sanitized":209},{"from":290,"to":294,"sanitized":209},"low",{"entryPoint":303,"graph":304,"unsanitizedCount":30,"severity":301},"yaqetrop_render_batches_admin_page (includes\\class-yaqetrop-frontend-enrollment.php:2616)",{"nodes":305,"edges":310},[306,308,309],{"id":275,"type":276,"label":287,"file":142,"line":307},2632,{"id":280,"type":291,"label":292,"file":142,"line":307},{"id":286,"type":281,"label":282,"file":142,"line":295,"wp_function":284},[311,312],{"from":275,"to":280,"sanitized":209},{"from":280,"to":286,"sanitized":209},{"entryPoint":314,"graph":315,"unsanitizedCount":344,"severity":301},"\u003Cclass-yaqetrop-frontend-enrollment> (includes\\class-yaqetrop-frontend-enrollment.php:0)",{"nodes":316,"edges":338},[317,319,323,325,326,329,332,334,336],{"id":275,"type":276,"label":287,"file":142,"line":318},486,{"id":280,"type":281,"label":320,"file":142,"line":321,"wp_function":322},"get_col() [SQLi]",490,"get_col",{"id":286,"type":276,"label":324,"file":142,"line":278},"$_GET (x24)",{"id":290,"type":281,"label":282,"file":142,"line":283,"wp_function":284},{"id":294,"type":276,"label":327,"file":142,"line":328},"$_POST",4124,{"id":330,"type":281,"label":282,"file":142,"line":331,"wp_function":284},"n5",4341,{"id":333,"type":276,"label":277,"file":142,"line":288},"n6",{"id":335,"type":291,"label":292,"file":142,"line":288},"n7",{"id":337,"type":281,"label":282,"file":142,"line":295,"wp_function":284},"n8",[339,340,341,342,343],{"from":275,"to":280,"sanitized":298},{"from":286,"to":290,"sanitized":298},{"from":294,"to":330,"sanitized":298},{"from":333,"to":335,"sanitized":209},{"from":335,"to":337,"sanitized":209},2,{"summary":346,"deductions":347},"The plugin 'yaqeentech-training-operations-for-tutor-lms' version 1.0.26 exhibits a generally good security posture with strong adherence to secure coding practices. The plugin demonstrates excellent use of prepared statements for all SQL queries, a high percentage of properly escaped output, and a robust number of nonce and capability checks, indicating a conscious effort to protect against common web vulnerabilities. Furthermore, the absence of known CVEs and recorded vulnerabilities suggests a history of stable and secure development.\n\nHowever, a significant concern arises from the presence of one AJAX handler without authentication checks. This creates an exposed entry point that could be exploited if it handles user-supplied data without proper validation and sanitization. While the taint analysis did not reveal critical or high severity issues, the three identified flows with unsanitized paths, even if of lower severity, warrant attention, especially in conjunction with the unprotected AJAX endpoint. The total attack surface is relatively small, but the single unprotected entry point is a notable weakness.\n\nIn conclusion, the plugin is built on a solid foundation of secure coding. The comprehensive use of prepared statements and output escaping are significant strengths. The primary weakness lies in the single unprotected AJAX handler, which introduces a potential risk of unauthorized actions or information disclosure. Addressing this single unprotected entry point and further investigating the identified unsanitized paths would significantly bolster the plugin's security.",[348],{"reason":349,"points":236},"AJAX handler without authentication check","2026-03-17T06:21:42.774Z",{"wat":352,"direct":361},{"assetPaths":353,"generatorPatterns":356,"scriptPaths":357,"versionParams":358},[354,355],"\u002Fwp-content\u002Fplugins\u002Fyaqeentech-training-operations-for-tutor-lms\u002Fassets\u002Fyaqetrop-trainingflow.css","\u002Fwp-content\u002Fplugins\u002Fyaqeentech-training-operations-for-tutor-lms\u002Fassets\u002Fyaqetrop-trainingflow.js",[],[355],[359,360],"yaqeentech-training-operations-for-tutor-lms\u002Fassets\u002Fyaqetrop-trainingflow.css?ver=","yaqeentech-training-operations-for-tutor-lms\u002Fassets\u002Fyaqetrop-trainingflow.js?ver=",{"cssClasses":362,"htmlComments":363,"htmlAttributes":364,"restEndpoints":366,"jsGlobals":367,"shortcodeOutput":369},[],[],[365],"data-yaqetrop-action",[],[368],"yaqetropVars",[370,371,372,373,374,375],"[yaqetrop_calendar]","[yaqetrop_enrollment_explorer]","[yaqetrop_enrollment_batches]","[yaqetrop_bulk_enrollment]","[yaqetrop_tutor_scheduled_calendar]","[yaqetrop_frontend_bulk_enroll]"]