[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fNrtgUQ3fqyN23kPq_wIluwaIXsyg0zLQvp0xpLoonUo":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":24,"download_link":25,"security_score":26,"vuln_count":11,"unpatched_count":11,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":38,"analysis":123,"fingerprints":1388},"trainingpress","TrainingPress","1.0.2","rudrainn","https:\u002F\u002Fprofiles.wordpress.org\u002Frudrainnovatives\u002F","\u003Cp>TrainingPress is a online course management system plugin for WordPress. This plugin can be used to easily create courses. Each course curriculum can be made with modules, chapters and exercises which can be managed by anyone.\u003C\u002Fp>\n\u003Cp>Features of the plugin include:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>* Create unlimited courses\n\n* Manage Courses.\n\n* Create and manage Modules.\n\n* Create and manage Chapters.\n\n* Chapter Assignment\n\n* Create and manage Exercises.\n\n* Compose exercise with different types of components like paragraph, video, image, question (with different types).\n\n* Admin can track Course Progress of any user.\n\n* Admin can create 'Sample course' from settings submenu tab  inside Training Menu\n\n* Assign author to course \u002F Display author of course on frontend\n\n* Search course functionality on frontend\n\n* Share course on Facebook, Twitter, Google+\n\n* Comments & Rating option\n\n* SEO friendly URLs\n\u003C\u002Fcode>\u003C\u002Fpre>\n","TrainingPress Plugin can be used to easily create & sell courses online. Each course curriculum can be made with modules, chapters and exercises.",0,1955,100,1,"2024-08-22T11:22:00.000Z","6.6.5","4.0","",[20,21,22,23],"online-training","courses","e-learning","training","https:\u002F\u002Fwww.rudrainnovative.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftrainingpress.1.0.2.zip",92,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":34,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},"rudrainnovatives",2,20,85,30,84,"2026-04-05T09:52:15.090Z",[39,55,74,91,104],{"slug":23,"name":40,"version":41,"author":7,"author_profile":8,"description":42,"short_description":43,"active_installs":33,"downloaded":44,"rating":13,"num_ratings":14,"last_updated":18,"tested_up_to":16,"requires_at_least":45,"requires_php":18,"tags":46,"homepage":50,"download_link":51,"security_score":52,"vuln_count":14,"unpatched_count":14,"last_vuln_date":53,"fetched_at":54},"Training – Courses","2.0.1","\u003Cp>Training is a comprehensive Learning management system Plugin for WordPress. This Training Plugin can be used to easily create courses. Each course curriculum can be made with modules, lessons and exercises which can be managed by anyone.\u003C\u002Fp>\n\u003Cp>Features included in this plugin:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>* Create courses (upto 5)\n\n* Manage Courses.\n\n* Create and manage Modules.\n\n* Create and manage Lessons.\n\n* Settings - Notification timeout settings\n\n* Create and manage Exercises with time periods.    \n\n* Admin can assign & remove courses to any user.\n\n* Admin can track Course Progress of any user.\n\n* User can \"submit project\" or \"marked completed\" after learning any course. \n\n* While making exercises you can add \"Help Links\", \"Additional Images, Videos\" and \"Notes\".\n\n* List\u002FAdd\u002FEdit\u002FDelete authors\n\n* Assign author to course \u002F Display author of course on frontend\n\n* Assign Category & subcategory to a course\n\n* On frontend, filter courses by category, subcategory\n\n* Share course on Facebook and Twitter\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Extra Features included in premium version:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>* Create Unlimited Courses\n\n* Create paid courses\n\n* Create survey using form builder and send at user email        \n\n* User can rate and add comments for any course\n\n* Stripe and Paypal payment gateway integration. Payumoney gateway available for Indian customers\n\n* Customize email templates    \n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.rudrainnovative.com\u002Fcontact-us\u002F\" rel=\"nofollow ugc\">Contact Us premium version installtion and configuration\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Frudraserver.com\u002Ftraining-demo\" rel=\"nofollow ugc\">DEMO\u003C\u002Fa>\u003C\u002Fp>\n","This Training Plugin can be used to easily create courses online. Each course curriculum can be made with modules, lessons and exercises.",6413,"4.5",[22,47,48,23,49],"online-courses","online-training-lms","wordpress","https:\u002F\u002Fwww.rudrainnovative.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftraining.2.0.1.zip",77,"2024-10-30 00:00:00","2026-03-15T10:48:56.248Z",{"slug":56,"name":57,"version":58,"author":59,"author_profile":60,"description":61,"short_description":62,"active_installs":11,"downloaded":63,"rating":11,"num_ratings":11,"last_updated":64,"tested_up_to":65,"requires_at_least":66,"requires_php":18,"tags":67,"homepage":72,"download_link":73,"security_score":34,"vuln_count":11,"unpatched_count":11,"last_vuln_date":27,"fetched_at":28},"ps-lms","Perception LMS","1.0.0","Perception System System Pvt. Ltd.","https:\u002F\u002Fprofiles.wordpress.org\u002Fuvesh123\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.perceptionsystem.com\u002F\" rel=\"nofollow ugc\">perceptionsystem.com\u003C\u002Fa> is a full-featured, free learning management system ( LMS ) that integrates easily with any WordPress theme.  It allows you to create unlimited courses right on your WordPress website, restrict lesson content.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>PS LMS is 100% free\u003C\u002Fli>\n\u003Cli>Create \u003Cstrong>Unlimited courses\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Integrates with any theme\u003C\u002Fli>\n\u003Cli>Users can track lessons they’ve viewed\u003C\u002Fli>\n\u003Cli>Users can track lessons they’ve completed\u003C\u002Fli>\n\u003Cli>Create video or text-based lessons\u003C\u002Fli>\n\u003Cli>Easy to use and setup\u003C\u002Fli>\n\u003C\u002Ful>\n","PS LMS is a full-featured, free LMS that integrates easily with any theme.",1061,"2023-02-08T10:09:00.000Z","6.1.10","5.3",[21,68,69,70,71],"learning-management-system","lessons","lms","online-learning","http:\u002F\u002Fwww.perceptionsystem.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fps-lms.zip",{"slug":75,"name":76,"version":77,"author":78,"author_profile":79,"description":80,"short_description":81,"active_installs":11,"downloaded":82,"rating":13,"num_ratings":14,"last_updated":83,"tested_up_to":84,"requires_at_least":85,"requires_php":86,"tags":87,"homepage":89,"download_link":90,"security_score":13,"vuln_count":11,"unpatched_count":11,"last_vuln_date":27,"fetched_at":28},"skilltriks","SkillTriks","1.2","KrishaWeb","https:\u002F\u002Fprofiles.wordpress.org\u002Fkrishaweb\u002F","\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.skilltriks.com\u002F\" rel=\"nofollow ugc\">SkillTriks\u003C\u002Fa>\u003C\u002Fstrong> \u003Cstrong>is a modern, modular WordPress LMS Plugin built for organizations that want to centralize learning, facilitate team growth, and make data-driven decisions—right within WordPress.\u003C\u002Fstrong> It goes beyond basic training programs. Whether you’re running onboarding, employee training, or leadership development, SkillTriks empowers corporate learning with a platform that is easy, secure, and built for growth.\u003C\u002Fp>\n\u003Cp>This \u003Cstrong>100% self-hosted platform\u003C\u002Fstrong> gives you complete control over data and learner privacy while delivering a fully branded learning experience that feels uniquely yours. SkillTriks provides a dashboard to plan, create, organize, and assess training sessions with a result-oriented approach.\u003C\u002Fp>\n\u003Cp>With full customization and a built-in \u003Cstrong>skill gap assessment\u003C\u002Fstrong>, SkillTriks tracks training, identifies needs, monitors progress, and highlights areas for improvement. Learners can also earn \u003Cstrong>certifications\u003C\u002Fstrong> upon course completion, making achievements visible and motivating continued growth. The detailed insights help top management make informed decisions that drive overall organizational development. Best of all, it’s free, feature-rich, and simple to install—enabling you to create a corporate eLearning system that reflects your brand best.\u003C\u002Fp>\n\u003Ch3>BECOME A CONTRIBUTOR\u003C\u002Fh3>\n\u003Cp>SkillTriks plugin is an open-source project, and we welcome contributors to be part of our vibrant community! Help us improve the plugin and make it even better – \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkrishastore\u002Fskilltriks\" rel=\"nofollow ugc\">Github Link\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>From Admin Dashboard\u003C\u002Fh3>\n\u003Col>\n\u003Cli>In your WordPress Dashboard go to “Plugins” -> “Add Plugin”.\u003C\u002Fli>\n\u003Cli>Search for “SkillTriks”.\u003C\u002Fli>\n\u003Cli>Install the plugin by pressing the “Install” button.\u003C\u002Fli>\n\u003Cli>Activate the plugin by pressing the “Activate” button.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Manually\u003C\u002Fh3>\n\u003Col>\n\u003Cli>From wordpress directories, Upload \u003Ccode>SkillTriks\u003C\u002Fcode> to the \u003Ccode>\u002Fwp-content\u002Fplugins\u002F\u003C\u002Fcode> directory\u003C\u002Fli>\n\u003Cli>Now activate the plugin through the ‘Plugins’ menu in WordPress\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>User Manual\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.skilltriks.com\u002Fuser-manual\u002F\" rel=\"nofollow ugc\">Click Here\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Course & Content Creation\u003C\u002Fstrong>\u003Cbr \u002F>\nDesign structured programs with lessons, quizzes, and evaluations.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Progress & Engagement Tracking\u003C\u002Fstrong>\u003Cbr \u002F>\nMonitor who’s learning what, when, and how effectively.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Personalized Dashboards\u003C\u002Fstrong>\u003Cbr \u002F>\nGive learners and admins tailored views of training progress and activity.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Skill Gap Analysis (Coming Soon)\u003C\u002Fstrong>\u003Cbr \u002F>\nAssess where each learner stands and recommend relevant learning paths.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ROI & Performance Metrics (Coming Soon)\u003C\u002Fstrong>\u003Cbr \u002F>\nUnderstand learning impact with team-level and individual analytics.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Role-Based Access\u003C\u002Fstrong>\u003Cbr \u002F>\nAssign custom roles (Learner, Mentor, Reviewer, Admin) with controlled permissions.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Secure & Self-Hosted\u003C\u002Fstrong>\u003Cbr \u002F>\nKeep everything on your server—no third-party tools needed.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Open Source & Developer Friendly\u003C\u002Fstrong>\u003Cbr \u002F>\nEasily extend or integrate into your workflow. Contributions are welcome.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Use Cases\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Employee Onboarding\u003C\u002Fstrong>\u003Cbr \u002F>\nDeliver structured learning content to new hires with progress tracking.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Sales & Product Training\u003C\u002Fstrong>\u003Cbr \u002F>\nTrain customer-facing teams on products, services, and best practices.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Leadership & Soft Skills Development\u003C\u002Fstrong>\u003Cbr \u002F>\nOffer continuous learning journeys for team leads and managers.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Internal Certification Programs\u003C\u002Fstrong>\u003Cbr \u002F>\nDesign and deliver in-house exams, quizzes, and certification tracks.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Personalized Upskilling\u003C\u002Fstrong>\u003Cbr \u002F>\nEmpower employees to choose from curated learning paths based on their career goals.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Who Is This Plugin For?\u003C\u002Fh3>\n\u003Cp>SkillTriks is built to support a wide range of professionals and organizations focused on team development:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>HR Managers\u003C\u002Fstrong> – Manage company-wide learning and performance tracking\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Training Coordinators\u003C\u002Fstrong> – Organize, assign, and monitor team training\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Team Leads & Department Heads\u003C\u002Fstrong> – Recommend role-based content and track upskilling\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Startups & SMEs\u003C\u002Fstrong> – Implement affordable, scalable training systems\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Large Enterprises\u003C\u002Fstrong> – Customize and integrate learning within internal systems\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Agencies\u003C\u002Fstrong> – Offer internal education programs to designers, developers, or marketers\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Remote & Hybrid Teams\u003C\u002Fstrong> – Deliver structured learning regardless of location\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>If you’re managing people, tracking learning outcomes, or building a culture of continuous improvement—SkillTriks is made for you.\u003C\u002Fp>\n","Transform your WordPress site into a dynamic Learning Management System (LMS) using our innovative WordPress LMS Plugin.",621,"2025-09-15T12:06:00.000Z","6.8.5","6.0","7.4",[21,22,88,68,70],"education","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fskilltriks\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fskilltriks.1.2.zip",{"slug":92,"name":93,"version":94,"author":78,"author_profile":79,"description":95,"short_description":81,"active_installs":11,"downloaded":96,"rating":11,"num_ratings":11,"last_updated":97,"tested_up_to":98,"requires_at_least":85,"requires_php":86,"tags":99,"homepage":102,"download_link":103,"security_score":13,"vuln_count":11,"unpatched_count":11,"last_vuln_date":27,"fetched_at":28},"skilltriks-theme-pack","SkillTriks Theme Pack","1.0","\u003Cp>\u003Cstrong>Extend the visual power of your SkillTriks LMS with professionally designed and customizable themes!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The \u003Cstrong>SkillTriks Theme Pack\u003C\u002Fstrong> is an official add-on for the \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.skilltriks.com\u002F\" rel=\"nofollow ugc\">SkillTriks LMS plugin\u003C\u002Fa>\u003C\u002Fstrong> that brings a collection of beautifully crafted themes to elevate the look and feel of your e-learning website.\u003C\u002Fp>\n\u003Cp>Each theme in the pack is fully responsive, easy to apply, and comes with customization options that let you tweak colors, fonts, and visual styles without touching a single line of code. Whether you’re an educator, course creator, or organization using SkillTriks, this add-on gives you the flexibility to align your LMS appearance with your brand.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>New themes and customization features will be added regularly!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Multiple theme options for your SkillTriks-powered LMS\u003C\u002Fli>\n\u003Cli>Customize fonts and colors to match your brand\u003C\u002Fli>\n\u003Cli>One-click theme activation\u003C\u002Fli>\n\u003Cli>Fully responsive design\u003C\u002Fli>\n\u003Cli>No coding required\u003C\u002Fli>\n\u003Cli>Regular updates with new themes\u003C\u002Fli>\n\u003Cli>Seamless integration with SkillTriks core plugin\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>User Manual\u003C\u002Fh3>\n",101,"2026-01-30T06:24:00.000Z","6.9.4",[21,22,88,100,101],"learnpress","themes","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fskilltriks-theme-pack\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fskilltriks-theme-pack.1.0.zip",{"slug":105,"name":106,"version":107,"author":108,"author_profile":109,"description":110,"short_description":111,"active_installs":112,"downloaded":113,"rating":114,"num_ratings":115,"last_updated":116,"tested_up_to":98,"requires_at_least":85,"requires_php":86,"tags":117,"homepage":119,"download_link":120,"security_score":121,"vuln_count":14,"unpatched_count":11,"last_vuln_date":122,"fetched_at":28},"learnpress-course-review","LearnPress – Course Review","4.2.0","ThimPress","https:\u002F\u002Fprofiles.wordpress.org\u002Fthimpress\u002F","\u003Cp>\u003Cstrong>LearnPress\u003C\u002Fstrong> is a \u003Ca href=\"http:\u002F\u002Fthimpress.com\u002Flearnpress\" rel=\"nofollow ugc\">WordPress LMS Plugin\u003C\u002Fa> by ThimPress.\u003C\u002Fp>\n\u003Cp>LearnPress Course Review bring review feature to your course. Now, student can rate and give review for the course they take on a LearnPress site.\u003C\u002Fp>\n\u003Cp>Review add-on for LearnPress is using on some WordPress Themes: \u003Ca href=\"http:\u002F\u002Fthemeforest.net\u002Fitem\u002Feducation-wordpress-theme-education-wp\u002F14058034?utm_source=wporg&utm_medium=course-review&ref=thimpress&utm_campaign=learnpress\" title=\"Education WordPress Theme\" rel=\"nofollow ugc\">Education WordPress Theme\u003C\u002Fa> and \u003Ca href=\"http:\u002F\u002Fthemeforest.net\u002Fitem\u002Flms-wordpress-theme-elearning-wp\u002F11797847??utm_source=wporg&utm_medium=course-review&ref=thimpress&utm_campaign=learnpress\" title=\"LMS WordPress Theme\" rel=\"nofollow ugc\">LMS WordPress Theme\u003C\u002Fa>, more is coming.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Other free add-ons for LearnPress are available in WordPress:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flearnpress-wishlist\u002F\" rel=\"ugc\">LearnPress Wishlist\u003C\u002Fa> – add courses to a wishlist for students.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flearnpress-course-review\u002F\" rel=\"ugc\">LearnPress Course Review\u003C\u002Fa> – review course for enrolled students.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flearnpress-import-export\u002F\" rel=\"ugc\">LearnPress Import Export\u003C\u002Fa> – export or import course or courses out-of-box.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flearnpress-prerequisites-courses\u002F\" rel=\"ugc\">LearnPress Prerequisites Courses\u003C\u002Fa> – require student to pass some courses in order to enroll other course.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flearnpress-bbpress\" rel=\"ugc\">LearnPress bbPress\u003C\u002Fa> – add bbPress Forum support for LearnPress.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Flearnpress-buddypress\" rel=\"ugc\">LearnPress BuddyPress\u003C\u002Fa> – add BuddyPress support for LearnPress.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Premium Plugins (add-ons) for LearnPress WordPress LMS Plugin\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fthimpress.com\u002Fshop\u002Fcertificates-add-on-for-learnpress\u002F\" rel=\"nofollow ugc\">Certificates add-on for LearnPress\u003C\u002Fa> – adding drag & drop certificates builder as well as selecting designed certificate for each LMS course, your student will get particular certificate when they finished a course.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fthimpress.com\u002Fshop\u002Fco-instructors-add-on-for-learnpress\u002F\" rel=\"nofollow ugc\">Co-instructors add-on for LearnPress\u003C\u002Fa> – multiple instructors support for each LMS course.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fthimpress.com\u002Fshop\u002Fcollections-add-on-for-learnpress\u002F\" rel=\"nofollow ugc\">Collections add-on for LearnPress\u003C\u002Fa> – making LMS courses collection by selecting number of courses, this is helpful if you want to combine multiple LMS courses into a collection for a group of skills.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fthimpress.com\u002Fshop\u002Fstripe-add-on-for-learnpress\u002F\" rel=\"nofollow ugc\">Stripe Payment method for LearnPress\u003C\u002Fa> – Stripe payment method for LearnPress WordPress LMS Plugin.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fthimpress.com\u002Fshop\u002Fwoocommerce-add-on-for-learnpress\u002F\" rel=\"nofollow ugc\">WooCommerce add-on for LearnPress\u003C\u002Fa> – using WooCommerce as payment gateway for LearnPrss WordPress LMS Plugin.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Other note\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fdocs.thimpress.com\u002Flearnpress\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa> is available in ThimPress site.\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FLearnPress\u002FLearnPress\u002F\" rel=\"nofollow ugc\">LearnPress github repo.\u003C\u002Fa>\u003C\u002Fp>\n","LearnPress Course Review - An extension plugin for LearnPress.",30000,1171323,50,8,"2026-01-16T04:30:00.000Z",[22,88,68,70,118],"review","https:\u002F\u002Fthimpress.com\u002Fproduct\u002Flearnpress-course-review\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flearnpress-course-review.4.2.0.zip",99,"2026-01-15 00:00:00",{"attackSurface":124,"codeSignals":292,"taintFlows":970,"riskAssessment":1376,"analyzedAt":1387},{"hooks":125,"ajaxHandlers":268,"restRoutes":279,"shortcodes":280,"cronEvents":289,"entryPointCount":290,"unprotectedCount":291},[126,132,135,138,140,143,146,150,152,154,156,159,162,165,168,171,173,175,177,179,181,183,185,187,189,192,195,198,201,204,207,210,213,216,219,222,225,228,231,234,237,240,243,246,249,252,254,256,259,261,264],{"type":127,"name":128,"callback":129,"file":130,"line":131},"action","plugins_loaded","anonymous","includes\\class-rdtr.php",140,{"type":127,"name":133,"callback":129,"file":130,"line":134},"pre_get_posts",154,{"type":127,"name":136,"callback":129,"file":130,"line":137},"admin_enqueue_scripts",156,{"type":127,"name":136,"callback":129,"file":130,"line":139},157,{"type":127,"name":141,"callback":129,"file":130,"line":142},"admin_menu",159,{"type":127,"name":144,"callback":129,"file":130,"line":145},"init",162,{"type":147,"name":148,"callback":129,"file":130,"line":149},"filter","parse_query",167,{"type":147,"name":148,"callback":129,"file":130,"line":151},170,{"type":147,"name":148,"callback":129,"file":130,"line":153},173,{"type":147,"name":148,"callback":129,"file":130,"line":155},176,{"type":127,"name":157,"callback":129,"file":130,"line":158},"restrict_manage_posts",179,{"type":147,"name":160,"callback":129,"file":130,"line":161},"views_edit-modules",184,{"type":147,"name":163,"callback":129,"file":130,"line":164},"views_edit-chapters",186,{"type":147,"name":166,"callback":129,"file":130,"line":167},"views_edit-exercises",188,{"type":127,"name":169,"callback":129,"file":130,"line":170},"save_post",191,{"type":127,"name":169,"callback":129,"file":130,"line":172},194,{"type":127,"name":169,"callback":129,"file":130,"line":174},197,{"type":127,"name":169,"callback":129,"file":130,"line":176},200,{"type":127,"name":169,"callback":129,"file":130,"line":178},203,{"type":127,"name":169,"callback":129,"file":130,"line":180},206,{"type":127,"name":169,"callback":129,"file":130,"line":182},209,{"type":127,"name":169,"callback":129,"file":130,"line":184},212,{"type":127,"name":169,"callback":129,"file":130,"line":186},215,{"type":127,"name":169,"callback":129,"file":130,"line":188},218,{"type":127,"name":190,"callback":129,"file":130,"line":191},"add_meta_boxes",221,{"type":127,"name":193,"callback":129,"file":130,"line":194},"parent_file",224,{"type":127,"name":196,"callback":129,"file":130,"line":197},"wp_print_scripts",229,{"type":147,"name":199,"callback":129,"file":130,"line":200},"manage_edit-modules_sortable_columns",232,{"type":147,"name":202,"callback":129,"file":130,"line":203},"manage_exercises_posts_columns",235,{"type":147,"name":205,"callback":129,"file":130,"line":206},"manage_chapters_posts_columns",238,{"type":147,"name":208,"callback":129,"file":130,"line":209},"manage_training_posts_columns",241,{"type":147,"name":211,"callback":129,"file":130,"line":212},"manage_modules_posts_columns",244,{"type":127,"name":214,"callback":129,"file":130,"line":215},"manage_training_posts_custom_column",247,{"type":127,"name":217,"callback":129,"file":130,"line":218},"manage_modules_posts_custom_column",250,{"type":127,"name":220,"callback":129,"file":130,"line":221},"manage_chapters_posts_custom_column",253,{"type":127,"name":223,"callback":129,"file":130,"line":224},"manage_exercises_posts_custom_column",256,{"type":147,"name":226,"callback":129,"file":130,"line":227},"posts_orderby",264,{"type":127,"name":229,"callback":129,"file":130,"line":230},"comment_form_logged_in_after",267,{"type":127,"name":232,"callback":129,"file":130,"line":233},"comment_form_after_fields",268,{"type":127,"name":235,"callback":129,"file":130,"line":236},"comment_post",271,{"type":147,"name":238,"callback":129,"file":130,"line":239},"preprocess_comment",274,{"type":147,"name":241,"callback":129,"file":130,"line":242},"comment_text",277,{"type":147,"name":244,"callback":129,"file":130,"line":245},"the_content",280,{"type":127,"name":247,"callback":129,"file":130,"line":248},"admin_bar_menu",282,{"type":127,"name":250,"callback":129,"file":130,"line":251},"admin_notices",284,{"type":127,"name":144,"callback":129,"file":130,"line":253},287,{"type":127,"name":133,"callback":129,"file":130,"line":255},289,{"type":127,"name":257,"callback":129,"file":130,"line":258},"wp_enqueue_scripts",304,{"type":127,"name":257,"callback":129,"file":130,"line":260},305,{"type":147,"name":262,"callback":129,"file":130,"line":263},"template_include",308,{"type":127,"name":144,"callback":265,"file":266,"line":267},"wpl_rtr_define_vars","rdtr.php",68,[269,273,276],{"action":270,"nopriv":271,"callback":129,"hasNonce":271,"hasCapCheck":271,"file":130,"line":272},"rd_wpl_training_library",false,164,{"action":274,"nopriv":271,"callback":129,"hasNonce":271,"hasCapCheck":271,"file":130,"line":275},"wpl_training_public_handler",310,{"action":274,"nopriv":277,"callback":129,"hasNonce":271,"hasCapCheck":271,"file":130,"line":278},true,311,[],[281,285],{"tag":282,"callback":283,"file":130,"line":284},"training-courses","wpl_rd_front_end_training_courses",313,{"tag":286,"callback":287,"file":130,"line":288},"training-my-course","wpl_rd_front_end_training_my_course",315,[],5,3,{"dangerousFunctions":293,"sqlUsage":294,"outputEscaping":363,"fileOperations":32,"externalRequests":11,"nonceChecks":960,"capabilityChecks":961,"bundledLibraries":962},[],{"prepared":295,"raw":296,"locations":297},146,28,[298,302,305,308,310,312,314,317,320,323,326,328,330,332,334,337,338,340,342,344,346,348,350,353,355,357,359,361],{"file":299,"line":300,"context":301},"admin\\class-rdtr-admin.php",2246,"$wpdb->get_var() with variable interpolation",{"file":299,"line":303,"context":304},2851,"$wpdb->get_results() with variable interpolation",{"file":299,"line":306,"context":307},2995,"$wpdb->get_row() with variable interpolation",{"file":299,"line":309,"context":307},3002,{"file":299,"line":311,"context":307},3009,{"file":299,"line":313,"context":307},3016,{"file":315,"line":316,"context":304},"admin\\class-rdtr-user-progress.php",122,{"file":318,"line":319,"context":301},"admin\\class-rdtr-view-progress.php",347,{"file":321,"line":322,"context":307},"admin\\partials\\tmpl\\tmpl-user-chapters-progress.php",54,{"file":324,"line":325,"context":301},"includes\\class-rdtr-activator.php",41,{"file":324,"line":327,"context":301},56,{"file":324,"line":329,"context":301},71,{"file":324,"line":331,"context":301},87,{"file":324,"line":333,"context":301},104,{"file":335,"line":336,"context":304},"public\\class-rdtr-public.php",192,{"file":335,"line":174,"context":304},{"file":335,"line":339,"context":301},408,{"file":335,"line":341,"context":301},412,{"file":335,"line":343,"context":301},485,{"file":335,"line":345,"context":301},489,{"file":335,"line":347,"context":301},900,{"file":335,"line":349,"context":304},1019,{"file":351,"line":352,"context":301},"public\\templates\\rdtr-course-desc-template.php",373,{"file":351,"line":354,"context":304},396,{"file":351,"line":356,"context":304},403,{"file":351,"line":358,"context":301},411,{"file":351,"line":360,"context":304},448,{"file":351,"line":362,"context":301},456,{"escaped":364,"rawEcho":365,"locations":366},136,391,[367,370,371,372,374,376,378,380,382,383,385,387,389,390,392,394,396,398,400,402,403,404,406,407,409,410,412,414,415,417,419,420,421,423,424,426,427,429,431,432,434,436,438,439,441,443,445,447,448,450,452,453,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,498,499,501,502,504,505,506,508,510,511,513,514,516,517,518,520,521,523,524,525,527,529,530,532,533,534,536,537,539,540,541,543,544,545,547,548,550,551,552,554,556,557,559,560,561,563,564,565,567,569,571,572,574,576,577,579,581,583,585,586,588,590,593,594,596,597,598,599,600,601,602,603,604,605,607,609,611,614,616,618,619,621,623,625,627,629,631,633,635,637,638,641,642,643,644,646,647,648,650,651,653,654,655,656,658,659,661,662,663,664,666,668,670,671,673,675,676,678,680,682,684,685,687,689,690,691,692,694,695,697,698,699,701,703,705,706,707,709,710,712,714,716,717,719,721,723,724,726,728,730,732,734,736,738,740,742,744,746,748,750,752,754,755,756,757,758,759,761,763,765,766,767,768,770,771,773,775,777,779,780,781,782,783,786,787,789,790,792,794,796,797,798,799,800,801,803,804,805,806,808,810,811,813,814,816,817,819,820,821,822,823,825,826,827,828,829,831,832,833,834,836,837,838,839,840,841,842,843,844,845,846,848,850,851,852,853,854,855,857,858,859,860,862,864,866,867,869,870,871,872,873,874,875,878,879,881,882,883,884,885,886,888,889,891,892,893,894,895,896,897,898,899,901,902,903,904,905,907,908,909,910,912,913,914,915,916,917,918,919,921,923,925,926,928,929,931,932,934,935,936,938,940,942,943,944,945,946,947,949,951,952,953,955,956,957,958,959],{"file":299,"line":368,"context":369},117,"raw output",{"file":299,"line":200,"context":369},{"file":299,"line":275,"context":369},{"file":299,"line":373,"context":369},345,{"file":299,"line":375,"context":369},358,{"file":299,"line":377,"context":369},371,{"file":299,"line":379,"context":369},394,{"file":299,"line":381,"context":369},400,{"file":299,"line":343,"context":369},{"file":299,"line":384,"context":369},486,{"file":299,"line":386,"context":369},487,{"file":299,"line":388,"context":369},488,{"file":299,"line":345,"context":369},{"file":299,"line":391,"context":369},490,{"file":299,"line":393,"context":369},522,{"file":299,"line":395,"context":369},547,{"file":299,"line":397,"context":369},550,{"file":299,"line":399,"context":369},552,{"file":299,"line":401,"context":369},615,{"file":299,"line":401,"context":369},{"file":299,"line":401,"context":369},{"file":299,"line":405,"context":369},616,{"file":299,"line":405,"context":369},{"file":299,"line":408,"context":369},617,{"file":299,"line":408,"context":369},{"file":299,"line":411,"context":369},627,{"file":299,"line":413,"context":369},631,{"file":299,"line":413,"context":369},{"file":299,"line":416,"context":369},633,{"file":299,"line":418,"context":369},676,{"file":299,"line":418,"context":369},{"file":299,"line":418,"context":369},{"file":299,"line":422,"context":369},677,{"file":299,"line":422,"context":369},{"file":299,"line":425,"context":369},678,{"file":299,"line":425,"context":369},{"file":299,"line":428,"context":369},688,{"file":299,"line":430,"context":369},691,{"file":299,"line":430,"context":369},{"file":299,"line":433,"context":369},693,{"file":299,"line":435,"context":369},725,{"file":299,"line":437,"context":369},733,{"file":299,"line":437,"context":369},{"file":299,"line":440,"context":369},734,{"file":299,"line":442,"context":369},748,{"file":299,"line":444,"context":369},954,{"file":299,"line":446,"context":369},1022,{"file":299,"line":63,"context":369},{"file":299,"line":449,"context":369},1063,{"file":299,"line":451,"context":369},1079,{"file":299,"line":451,"context":369},{"file":299,"line":451,"context":369},{"file":299,"line":455,"context":369},1098,{"file":299,"line":457,"context":369},1108,{"file":299,"line":459,"context":369},1109,{"file":299,"line":461,"context":369},1126,{"file":299,"line":463,"context":369},1136,{"file":299,"line":465,"context":369},1137,{"file":299,"line":467,"context":369},1177,{"file":299,"line":469,"context":369},1204,{"file":299,"line":471,"context":369},1205,{"file":299,"line":473,"context":369},1435,{"file":299,"line":475,"context":369},1438,{"file":299,"line":477,"context":369},1451,{"file":299,"line":479,"context":369},1460,{"file":299,"line":481,"context":369},1471,{"file":299,"line":483,"context":369},1498,{"file":299,"line":485,"context":369},1507,{"file":299,"line":487,"context":369},1522,{"file":299,"line":489,"context":369},1524,{"file":299,"line":491,"context":369},1533,{"file":299,"line":493,"context":369},1541,{"file":299,"line":495,"context":369},1549,{"file":299,"line":497,"context":369},1758,{"file":299,"line":497,"context":369},{"file":299,"line":500,"context":369},1762,{"file":299,"line":500,"context":369},{"file":299,"line":503,"context":369},1767,{"file":299,"line":503,"context":369},{"file":299,"line":503,"context":369},{"file":299,"line":507,"context":369},1772,{"file":299,"line":509,"context":369},1783,{"file":299,"line":509,"context":369},{"file":299,"line":512,"context":369},1824,{"file":299,"line":512,"context":369},{"file":299,"line":515,"context":369},1825,{"file":299,"line":515,"context":369},{"file":299,"line":515,"context":369},{"file":299,"line":519,"context":369},1829,{"file":299,"line":519,"context":369},{"file":299,"line":522,"context":369},1841,{"file":299,"line":522,"context":369},{"file":299,"line":522,"context":369},{"file":299,"line":526,"context":369},1846,{"file":299,"line":528,"context":369},1859,{"file":299,"line":528,"context":369},{"file":299,"line":531,"context":369},1860,{"file":299,"line":531,"context":369},{"file":299,"line":531,"context":369},{"file":299,"line":535,"context":369},1913,{"file":299,"line":535,"context":369},{"file":299,"line":538,"context":369},1914,{"file":299,"line":538,"context":369},{"file":299,"line":538,"context":369},{"file":299,"line":542,"context":369},1915,{"file":299,"line":542,"context":369},{"file":299,"line":542,"context":369},{"file":299,"line":546,"context":369},1919,{"file":299,"line":546,"context":369},{"file":299,"line":549,"context":369},1924,{"file":299,"line":549,"context":369},{"file":299,"line":549,"context":369},{"file":299,"line":553,"context":369},1928,{"file":299,"line":555,"context":369},1944,{"file":299,"line":555,"context":369},{"file":299,"line":558,"context":369},1945,{"file":299,"line":558,"context":369},{"file":299,"line":558,"context":369},{"file":299,"line":562,"context":369},1946,{"file":299,"line":562,"context":369},{"file":299,"line":562,"context":369},{"file":315,"line":566,"context":369},29,{"file":315,"line":568,"context":369},32,{"file":315,"line":570,"context":369},36,{"file":315,"line":570,"context":369},{"file":315,"line":573,"context":369},37,{"file":318,"line":575,"context":369},33,{"file":318,"line":573,"context":369},{"file":318,"line":578,"context":369},38,{"file":318,"line":580,"context":369},42,{"file":318,"line":582,"context":369},43,{"file":318,"line":584,"context":369},74,{"file":318,"line":584,"context":369},{"file":318,"line":587,"context":369},103,{"file":318,"line":589,"context":369},107,{"file":591,"line":592,"context":369},"admin\\partials\\rdtr-course-progress.php",13,{"file":591,"line":592,"context":369},{"file":591,"line":595,"context":369},18,{"file":591,"line":595,"context":369},{"file":591,"line":595,"context":369},{"file":591,"line":566,"context":369},{"file":591,"line":566,"context":369},{"file":591,"line":566,"context":369},{"file":591,"line":35,"context":369},{"file":591,"line":35,"context":369},{"file":591,"line":35,"context":369},{"file":591,"line":35,"context":369},{"file":591,"line":606,"context":369},51,{"file":591,"line":608,"context":369},60,{"file":591,"line":610,"context":369},70,{"file":612,"line":613,"context":369},"admin\\partials\\rdtr-render-exercise-status.php",34,{"file":612,"line":615,"context":369},48,{"file":612,"line":617,"context":369},61,{"file":612,"line":52,"context":369},{"file":612,"line":620,"context":369},91,{"file":612,"line":622,"context":369},106,{"file":612,"line":624,"context":369},119,{"file":612,"line":626,"context":369},135,{"file":612,"line":628,"context":369},143,{"file":612,"line":630,"context":369},155,{"file":612,"line":632,"context":369},166,{"file":612,"line":634,"context":369},178,{"file":612,"line":636,"context":369},187,{"file":612,"line":172,"context":369},{"file":639,"line":640,"context":369},"admin\\partials\\rdtr-settings.php",27,{"file":639,"line":617,"context":369},{"file":639,"line":617,"context":369},{"file":639,"line":617,"context":369},{"file":639,"line":645,"context":369},98,{"file":639,"line":645,"context":369},{"file":639,"line":645,"context":369},{"file":639,"line":649,"context":369},126,{"file":321,"line":32,"context":369},{"file":321,"line":652,"context":369},24,{"file":321,"line":606,"context":369},{"file":321,"line":52,"context":369},{"file":321,"line":52,"context":369},{"file":321,"line":657,"context":369},83,{"file":321,"line":657,"context":369},{"file":660,"line":290,"context":369},"admin\\partials\\tmpl\\tmpl-users-enrolled.php",{"file":660,"line":592,"context":369},{"file":660,"line":114,"context":369},{"file":660,"line":606,"context":369},{"file":660,"line":665,"context":369},52,{"file":660,"line":667,"context":369},53,{"file":660,"line":669,"context":369},55,{"file":660,"line":669,"context":369},{"file":672,"line":32,"context":369},"admin\\partials\\tmpl\\tmpl-users-progress.php",{"file":672,"line":674,"context":369},12,{"file":672,"line":592,"context":369},{"file":672,"line":677,"context":369},25,{"file":672,"line":679,"context":369},62,{"file":672,"line":681,"context":369},73,{"file":672,"line":683,"context":369},76,{"file":672,"line":683,"context":369},{"file":672,"line":686,"context":369},79,{"file":672,"line":688,"context":369},88,{"file":672,"line":645,"context":369},{"file":672,"line":645,"context":369},{"file":672,"line":645,"context":369},{"file":351,"line":693,"context":369},75,{"file":351,"line":34,"context":369},{"file":351,"line":696,"context":369},89,{"file":351,"line":620,"context":369},{"file":351,"line":587,"context":369},{"file":351,"line":700,"context":369},123,{"file":351,"line":702,"context":369},128,{"file":351,"line":704,"context":369},168,{"file":351,"line":155,"context":369},{"file":351,"line":161,"context":369},{"file":351,"line":708,"context":369},190,{"file":351,"line":708,"context":369},{"file":351,"line":711,"context":369},196,{"file":351,"line":713,"context":369},210,{"file":351,"line":715,"context":369},220,{"file":351,"line":230,"context":369},{"file":351,"line":718,"context":369},269,{"file":351,"line":720,"context":369},270,{"file":351,"line":722,"context":369},279,{"file":351,"line":245,"context":369},{"file":351,"line":725,"context":369},316,{"file":351,"line":727,"context":369},348,{"file":351,"line":729,"context":369},368,{"file":351,"line":731,"context":369},378,{"file":351,"line":733,"context":369},419,{"file":351,"line":735,"context":369},429,{"file":351,"line":737,"context":369},432,{"file":351,"line":739,"context":369},435,{"file":351,"line":741,"context":369},443,{"file":351,"line":743,"context":369},464,{"file":351,"line":745,"context":369},466,{"file":351,"line":747,"context":369},468,{"file":351,"line":749,"context":369},473,{"file":351,"line":751,"context":369},521,{"file":753,"line":652,"context":369},"public\\templates\\rdtr-course-detail.php",{"file":753,"line":568,"context":369},{"file":753,"line":575,"context":369},{"file":753,"line":613,"context":369},{"file":753,"line":582,"context":369},{"file":753,"line":329,"context":369},{"file":753,"line":760,"context":369},81,{"file":753,"line":762,"context":369},97,{"file":764,"line":652,"context":369},"public\\templates\\rdtr-course-my-course.php",{"file":764,"line":566,"context":369},{"file":764,"line":52,"context":369},{"file":764,"line":52,"context":369},{"file":764,"line":769,"context":369},80,{"file":764,"line":36,"context":369},{"file":764,"line":772,"context":369},86,{"file":764,"line":774,"context":369},94,{"file":764,"line":776,"context":369},96,{"file":764,"line":778,"context":369},105,{"file":764,"line":778,"context":369},{"file":764,"line":624,"context":369},{"file":764,"line":700,"context":369},{"file":764,"line":702,"context":369},{"file":784,"line":785,"context":369},"public\\templates\\rdtr-course-syllabus.php",19,{"file":784,"line":33,"context":369},{"file":784,"line":788,"context":369},21,{"file":784,"line":580,"context":369},{"file":784,"line":791,"context":369},44,{"file":784,"line":793,"context":369},45,{"file":784,"line":795,"context":369},65,{"file":784,"line":795,"context":369},{"file":784,"line":795,"context":369},{"file":784,"line":795,"context":369},{"file":784,"line":795,"context":369},{"file":784,"line":267,"context":369},{"file":784,"line":802,"context":369},72,{"file":784,"line":584,"context":369},{"file":784,"line":26,"context":369},{"file":784,"line":333,"context":369},{"file":784,"line":807,"context":369},120,{"file":784,"line":809,"context":369},138,{"file":784,"line":809,"context":369},{"file":784,"line":812,"context":369},139,{"file":784,"line":131,"context":369},{"file":815,"line":595,"context":369},"public\\templates\\rdtr-training-all-courses.php",{"file":815,"line":325,"context":369},{"file":818,"line":677,"context":369},"public\\templates\\tmpl\\rdtr-load-course-body-section.php",{"file":818,"line":35,"context":369},{"file":818,"line":573,"context":369},{"file":818,"line":580,"context":369},{"file":818,"line":606,"context":369},{"file":818,"line":824,"context":369},57,{"file":818,"line":329,"context":369},{"file":818,"line":333,"context":369},{"file":818,"line":333,"context":369},{"file":818,"line":333,"context":369},{"file":818,"line":830,"context":369},124,{"file":818,"line":364,"context":369},{"file":818,"line":364,"context":369},{"file":818,"line":134,"context":369},{"file":835,"line":788,"context":369},"public\\templates\\tmpl\\rdtr-load-course-detail-left-sidebar.php",{"file":835,"line":788,"context":369},{"file":835,"line":640,"context":369},{"file":835,"line":34,"context":369},{"file":835,"line":34,"context":369},{"file":835,"line":34,"context":369},{"file":835,"line":26,"context":369},{"file":835,"line":26,"context":369},{"file":835,"line":26,"context":369},{"file":835,"line":778,"context":369},{"file":835,"line":778,"context":369},{"file":835,"line":847,"context":369},108,{"file":835,"line":849,"context":369},158,{"file":835,"line":849,"context":369},{"file":835,"line":849,"context":369},{"file":835,"line":704,"context":369},{"file":835,"line":704,"context":369},{"file":835,"line":704,"context":369},{"file":835,"line":856,"context":369},180,{"file":835,"line":856,"context":369},{"file":835,"line":711,"context":369},{"file":835,"line":203,"context":369},{"file":835,"line":861,"context":369},261,{"file":835,"line":863,"context":369},262,{"file":865,"line":33,"context":369},"public\\templates\\tmpl\\rdtr-load-courses.php",{"file":865,"line":578,"context":369},{"file":865,"line":868,"context":369},46,{"file":865,"line":868,"context":369},{"file":865,"line":606,"context":369},{"file":865,"line":606,"context":369},{"file":865,"line":322,"context":369},{"file":865,"line":824,"context":369},{"file":865,"line":769,"context":369},{"file":876,"line":877,"context":369},"public\\templates\\tmpl\\rdtr-load-exercise-sections.php",15,{"file":876,"line":566,"context":369},{"file":876,"line":880,"context":369},39,{"file":876,"line":580,"context":369},{"file":876,"line":791,"context":369},{"file":876,"line":322,"context":369},{"file":876,"line":267,"context":369},{"file":876,"line":267,"context":369},{"file":876,"line":887,"context":369},69,{"file":876,"line":696,"context":369},{"file":876,"line":890,"context":369},90,{"file":876,"line":890,"context":369},{"file":876,"line":13,"context":369},{"file":876,"line":96,"context":369},{"file":876,"line":622,"context":369},{"file":876,"line":622,"context":369},{"file":876,"line":622,"context":369},{"file":876,"line":624,"context":369},{"file":876,"line":316,"context":369},{"file":876,"line":900,"context":369},137,{"file":876,"line":900,"context":369},{"file":876,"line":809,"context":369},{"file":876,"line":142,"context":369},{"file":876,"line":142,"context":369},{"file":876,"line":906,"context":369},161,{"file":876,"line":145,"context":369},{"file":876,"line":145,"context":369},{"file":876,"line":153,"context":369},{"file":876,"line":911,"context":369},174,{"file":876,"line":856,"context":369},{"file":876,"line":856,"context":369},{"file":876,"line":856,"context":369},{"file":876,"line":172,"context":369},{"file":876,"line":174,"context":369},{"file":876,"line":184,"context":369},{"file":876,"line":184,"context":369},{"file":876,"line":920,"context":369},213,{"file":876,"line":922,"context":369},230,{"file":876,"line":924,"context":369},231,{"file":876,"line":924,"context":369},{"file":876,"line":927,"context":369},234,{"file":876,"line":927,"context":369},{"file":876,"line":930,"context":369},240,{"file":876,"line":209,"context":369},{"file":876,"line":933,"context":369},246,{"file":876,"line":933,"context":369},{"file":876,"line":933,"context":369},{"file":876,"line":937,"context":369},254,{"file":876,"line":939,"context":369},259,{"file":876,"line":941,"context":369},260,{"file":876,"line":941,"context":369},{"file":876,"line":722,"context":369},{"file":876,"line":722,"context":369},{"file":876,"line":245,"context":369},{"file":876,"line":248,"context":369},{"file":876,"line":948,"context":369},283,{"file":876,"line":950,"context":369},288,{"file":876,"line":950,"context":369},{"file":876,"line":950,"context":369},{"file":954,"line":788,"context":369},"public\\templates\\tmpl\\rdtr-tmpl-exercise-area.php",{"file":954,"line":573,"context":369},{"file":954,"line":322,"context":369},{"file":954,"line":322,"context":369},{"file":954,"line":669,"context":369},{"file":954,"line":327,"context":369},9,10,[963,966],{"name":964,"version":27,"knownCves":965},"DataTables",[],{"name":967,"version":968,"knownCves":969},"jQuery","2.1.1",[],[971,995,1015,1029,1113,1121,1131,1140,1149,1168,1178,1196,1222,1237,1263,1313,1323],{"entryPoint":972,"graph":973,"unsanitizedCount":640,"severity":994},"wpl_top_show_breadcrumbs (admin\\class-rdtr-admin.php:1717)",{"nodes":974,"edges":991},[975,980,985,989],{"id":976,"type":977,"label":978,"file":299,"line":979},"n0","source","$_GET (x26)",1720,{"id":981,"type":982,"label":983,"file":299,"line":497,"wp_function":984},"n1","sink","echo() [XSS]","echo",{"id":986,"type":977,"label":987,"file":299,"line":988},"n2","$_REQUEST",1777,{"id":990,"type":982,"label":983,"file":299,"line":509,"wp_function":984},"n3",[992,993],{"from":976,"to":981,"sanitized":271},{"from":986,"to":990,"sanitized":271},"medium",{"entryPoint":996,"graph":997,"unsanitizedCount":290,"severity":994},"wpl_user_course_progress (admin\\class-rdtr-user-progress.php:14)",{"nodes":998,"edges":1011},[999,1002,1003,1005,1006,1009],{"id":976,"type":977,"label":1000,"file":315,"line":1001},"$_GET (x3)",26,{"id":981,"type":982,"label":983,"file":315,"line":566,"wp_function":984},{"id":986,"type":977,"label":1004,"file":315,"line":570},"$_SERVER['PHP_SELF']",{"id":990,"type":982,"label":983,"file":315,"line":570,"wp_function":984},{"id":1007,"type":977,"label":1008,"file":315,"line":573},"n4","$_REQUEST['page']",{"id":1010,"type":982,"label":983,"file":315,"line":573,"wp_function":984},"n5",[1012,1013,1014],{"from":976,"to":981,"sanitized":271},{"from":986,"to":990,"sanitized":271},{"from":1007,"to":1010,"sanitized":271},{"entryPoint":1016,"graph":1017,"unsanitizedCount":11,"severity":1028},"wpl_sort_cpt_table_list (admin\\class-rdtr-admin.php:2633)",{"nodes":1018,"edges":1026},[1019,1022],{"id":976,"type":977,"label":1020,"file":299,"line":1021},"$_POST",2639,{"id":981,"type":982,"label":1023,"file":299,"line":1024,"wp_function":1025},"get_results() [SQLi]",2651,"get_results",[1027],{"from":976,"to":981,"sanitized":277},"low",{"entryPoint":1030,"graph":1031,"unsanitizedCount":11,"severity":1028},"\u003Cclass-rdtr-admin> (admin\\class-rdtr-admin.php:0)",{"nodes":1032,"edges":1101},[1033,1036,1037,1039,1043,1045,1047,1049,1051,1055,1058,1061,1066,1069,1074,1076,1081,1083,1085,1089,1092,1096],{"id":976,"type":977,"label":1034,"file":299,"line":1035},"$_GET (x35)",339,{"id":981,"type":982,"label":983,"file":299,"line":373,"wp_function":984},{"id":986,"type":977,"label":1038,"file":299,"line":194},"$_REQUEST (x4)",{"id":990,"type":982,"label":1040,"file":299,"line":1041,"wp_function":1042},"get_row() [SQLi]",795,"get_row",{"id":1007,"type":977,"label":1044,"file":299,"line":194},"$_REQUEST (x3)",{"id":1010,"type":982,"label":1023,"file":299,"line":1046,"wp_function":1025},925,{"id":1048,"type":977,"label":987,"file":299,"line":988},"n6",{"id":1050,"type":982,"label":983,"file":299,"line":509,"wp_function":984},"n7",{"id":1052,"type":977,"label":1053,"file":299,"line":1054},"n8","$_GET",2098,{"id":1056,"type":982,"label":1040,"file":299,"line":1057,"wp_function":1042},"n9",2105,{"id":1059,"type":977,"label":1038,"file":299,"line":1060},"n10",2208,{"id":1062,"type":982,"label":1063,"file":299,"line":1064,"wp_function":1065},"n11","update_option() [Settings Manipulation]",2210,"update_option",{"id":1067,"type":977,"label":987,"file":299,"line":1068},"n12",2312,{"id":1070,"type":982,"label":1071,"file":299,"line":1072,"wp_function":1073},"n13","file_get_contents() [SSRF\u002FLFI]",2376,"file_get_contents",{"id":1075,"type":977,"label":987,"file":299,"line":1068},"n14",{"id":1077,"type":982,"label":1078,"file":299,"line":1079,"wp_function":1080},"n15","file_put_contents() [File Write]",2387,"file_put_contents",{"id":1082,"type":977,"label":1020,"file":299,"line":1021},"n16",{"id":1084,"type":982,"label":1023,"file":299,"line":1024,"wp_function":1025},"n17",{"id":1086,"type":977,"label":1087,"file":299,"line":1088},"n18","$_POST (x4)",2640,{"id":1090,"type":982,"label":983,"file":299,"line":1091,"wp_function":984},"n19",2710,{"id":1093,"type":977,"label":1094,"file":299,"line":1095},"n20","$_REQUEST (x2)",2292,{"id":1097,"type":982,"label":1098,"file":299,"line":1099,"wp_function":1100},"n21","get_var() [SQLi]",3043,"get_var",[1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112],{"from":976,"to":981,"sanitized":277},{"from":986,"to":990,"sanitized":277},{"from":1007,"to":1010,"sanitized":277},{"from":1048,"to":1050,"sanitized":277},{"from":1052,"to":1056,"sanitized":277},{"from":1059,"to":1062,"sanitized":277},{"from":1067,"to":1070,"sanitized":277},{"from":1075,"to":1077,"sanitized":277},{"from":1082,"to":1084,"sanitized":277},{"from":1086,"to":1090,"sanitized":277},{"from":1093,"to":1097,"sanitized":277},{"entryPoint":1114,"graph":1115,"unsanitizedCount":291,"severity":1028},"\u003Crdtr-course-detail> (public\\templates\\rdtr-course-detail.php:0)",{"nodes":1116,"edges":1119},[1117,1118],{"id":976,"type":977,"label":1044,"file":753,"line":674},{"id":981,"type":982,"label":983,"file":753,"line":613,"wp_function":984},[1120],{"from":976,"to":981,"sanitized":271},{"entryPoint":1122,"graph":1123,"unsanitizedCount":14,"severity":1028},"\u003Crdtr-course-my-course> (public\\templates\\rdtr-course-my-course.php:0)",{"nodes":1124,"edges":1129},[1125,1128],{"id":976,"type":977,"label":1126,"file":764,"line":1127},"$_SERVER",102,{"id":981,"type":982,"label":983,"file":764,"line":778,"wp_function":984},[1130],{"from":976,"to":981,"sanitized":271},{"entryPoint":1132,"graph":1133,"unsanitizedCount":14,"severity":1028},"\u003Crdtr-course-syllabus> (public\\templates\\rdtr-course-syllabus.php:0)",{"nodes":1134,"edges":1138},[1135,1137],{"id":976,"type":977,"label":987,"file":784,"line":1136},11,{"id":981,"type":982,"label":983,"file":784,"line":788,"wp_function":984},[1139],{"from":976,"to":981,"sanitized":271},{"entryPoint":1141,"graph":1142,"unsanitizedCount":14,"severity":1148},"wpl_modify_course_filter_query (admin\\class-rdtr-admin.php:2094)",{"nodes":1143,"edges":1146},[1144,1145],{"id":976,"type":977,"label":1053,"file":299,"line":1054},{"id":981,"type":982,"label":1040,"file":299,"line":1057,"wp_function":1042},[1147],{"from":976,"to":981,"sanitized":271},"high",{"entryPoint":1150,"graph":1151,"unsanitizedCount":115,"severity":1148},"wpl_ajax_handler (admin\\class-rdtr-admin.php:2194)",{"nodes":1152,"edges":1163},[1153,1154,1155,1157,1159,1160,1161,1162],{"id":976,"type":977,"label":1038,"file":299,"line":1060},{"id":981,"type":982,"label":1063,"file":299,"line":1064,"wp_function":1065},{"id":986,"type":977,"label":1094,"file":299,"line":1156},2234,{"id":990,"type":982,"label":1023,"file":299,"line":1158,"wp_function":1025},2236,{"id":1007,"type":977,"label":987,"file":299,"line":1068},{"id":1010,"type":982,"label":1071,"file":299,"line":1072,"wp_function":1073},{"id":1048,"type":977,"label":987,"file":299,"line":1068},{"id":1050,"type":982,"label":1078,"file":299,"line":1079,"wp_function":1080},[1164,1165,1166,1167],{"from":976,"to":981,"sanitized":271},{"from":986,"to":990,"sanitized":271},{"from":1007,"to":1010,"sanitized":271},{"from":1048,"to":1050,"sanitized":271},{"entryPoint":1169,"graph":1170,"unsanitizedCount":14,"severity":1148},"table_data (admin\\class-rdtr-user-progress.php:108)",{"nodes":1171,"edges":1176},[1172,1174],{"id":976,"type":977,"label":1053,"file":315,"line":1173},118,{"id":981,"type":982,"label":1023,"file":315,"line":1175,"wp_function":1025},127,[1177],{"from":976,"to":981,"sanitized":271},{"entryPoint":1179,"graph":1180,"unsanitizedCount":1195,"severity":1148},"\u003Cclass-rdtr-user-progress> (admin\\class-rdtr-user-progress.php:0)",{"nodes":1181,"edges":1190},[1182,1183,1184,1185,1186,1187,1188,1189],{"id":976,"type":977,"label":1000,"file":315,"line":1001},{"id":981,"type":982,"label":983,"file":315,"line":566,"wp_function":984},{"id":986,"type":977,"label":1004,"file":315,"line":570},{"id":990,"type":982,"label":983,"file":315,"line":570,"wp_function":984},{"id":1007,"type":977,"label":1008,"file":315,"line":573},{"id":1010,"type":982,"label":983,"file":315,"line":573,"wp_function":984},{"id":1048,"type":977,"label":1053,"file":315,"line":1173},{"id":1050,"type":982,"label":1023,"file":315,"line":1175,"wp_function":1025},[1191,1192,1193,1194],{"from":976,"to":981,"sanitized":271},{"from":986,"to":990,"sanitized":271},{"from":1007,"to":1010,"sanitized":271},{"from":1048,"to":1050,"sanitized":271},6,{"entryPoint":1197,"graph":1198,"unsanitizedCount":115,"severity":1148},"wpl_view_course_progress (admin\\class-rdtr-view-progress.php:17)",{"nodes":1199,"edges":1215},[1200,1202,1203,1204,1205,1206,1207,1208,1209,1210,1213],{"id":976,"type":977,"label":1201,"file":318,"line":35},"$_GET (x4)",{"id":981,"type":982,"label":983,"file":318,"line":575,"wp_function":984},{"id":986,"type":977,"label":1004,"file":318,"line":580},{"id":990,"type":982,"label":983,"file":318,"line":580,"wp_function":984},{"id":1007,"type":977,"label":1008,"file":318,"line":582},{"id":1010,"type":982,"label":983,"file":318,"line":582,"wp_function":984},{"id":1048,"type":977,"label":1053,"file":318,"line":35},{"id":1050,"type":982,"label":1023,"file":318,"line":824,"wp_function":1025},{"id":1052,"type":977,"label":1053,"file":318,"line":696},{"id":1056,"type":1211,"label":1212,"file":318,"line":696},"transform","→ wpl_rd_has_users_started_exercise()",{"id":1059,"type":982,"label":1040,"file":299,"line":1214,"wp_function":1042},2957,[1216,1217,1218,1219,1220,1221],{"from":976,"to":981,"sanitized":271},{"from":986,"to":990,"sanitized":271},{"from":1007,"to":1010,"sanitized":271},{"from":1048,"to":1050,"sanitized":271},{"from":1052,"to":1056,"sanitized":271},{"from":1056,"to":1059,"sanitized":271},{"entryPoint":1223,"graph":1224,"unsanitizedCount":32,"severity":1148},"table_data (admin\\class-rdtr-view-progress.php:318)",{"nodes":1225,"edges":1234},[1226,1228,1230,1232],{"id":976,"type":977,"label":1053,"file":318,"line":1227},334,{"id":981,"type":982,"label":1023,"file":318,"line":1229,"wp_function":1025},337,{"id":986,"type":977,"label":1053,"file":318,"line":1231},335,{"id":990,"type":982,"label":1098,"file":318,"line":1233,"wp_function":1100},360,[1235,1236],{"from":976,"to":981,"sanitized":271},{"from":986,"to":990,"sanitized":271},{"entryPoint":1238,"graph":1239,"unsanitizedCount":961,"severity":1148},"\u003Cclass-rdtr-view-progress> (admin\\class-rdtr-view-progress.php:0)",{"nodes":1240,"edges":1255},[1241,1242,1243,1244,1245,1246,1247,1249,1250,1251,1252,1253,1254],{"id":976,"type":977,"label":1201,"file":318,"line":35},{"id":981,"type":982,"label":983,"file":318,"line":575,"wp_function":984},{"id":986,"type":977,"label":1004,"file":318,"line":580},{"id":990,"type":982,"label":983,"file":318,"line":580,"wp_function":984},{"id":1007,"type":977,"label":1008,"file":318,"line":582},{"id":1010,"type":982,"label":983,"file":318,"line":582,"wp_function":984},{"id":1048,"type":977,"label":1248,"file":318,"line":35},"$_GET (x2)",{"id":1050,"type":982,"label":1023,"file":318,"line":824,"wp_function":1025},{"id":1052,"type":977,"label":1053,"file":318,"line":1231},{"id":1056,"type":982,"label":1098,"file":318,"line":1233,"wp_function":1100},{"id":1059,"type":977,"label":1053,"file":318,"line":696},{"id":1062,"type":1211,"label":1212,"file":318,"line":696},{"id":1067,"type":982,"label":1040,"file":299,"line":1214,"wp_function":1042},[1256,1257,1258,1259,1260,1261,1262],{"from":976,"to":981,"sanitized":271},{"from":986,"to":990,"sanitized":271},{"from":1007,"to":1010,"sanitized":271},{"from":1048,"to":1050,"sanitized":271},{"from":1052,"to":1056,"sanitized":271},{"from":1059,"to":1062,"sanitized":271},{"from":1062,"to":1067,"sanitized":271},{"entryPoint":1264,"graph":1265,"unsanitizedCount":1312,"severity":1148},"wpl_public_ajax_handler (public\\class-rdtr-public.php:209)",{"nodes":1266,"edges":1300},[1267,1269,1270,1273,1274,1276,1278,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299],{"id":976,"type":977,"label":1044,"file":335,"line":1268},296,{"id":981,"type":982,"label":1040,"file":335,"line":260,"wp_function":1042},{"id":986,"type":977,"label":1271,"file":335,"line":1272},"$_REQUEST (x6)",402,{"id":990,"type":982,"label":1098,"file":335,"line":339,"wp_function":1100},{"id":1007,"type":977,"label":1038,"file":335,"line":1275},515,{"id":1010,"type":982,"label":1023,"file":335,"line":1277,"wp_function":1025},520,{"id":1048,"type":977,"label":987,"file":335,"line":278},{"id":1050,"type":1211,"label":1280,"file":335,"line":278},"→ wpl_check_course_enrollment()",{"id":1052,"type":982,"label":1040,"file":335,"line":1282,"wp_function":1042},860,{"id":1056,"type":977,"label":987,"file":335,"line":1284},439,{"id":1059,"type":1211,"label":1286,"file":335,"line":1284},"→ wpl_rd_get_sequence_id_by_seq_no()",{"id":1062,"type":982,"label":1040,"file":335,"line":1288,"wp_function":1042},1340,{"id":1067,"type":977,"label":987,"file":335,"line":1290},637,{"id":1070,"type":1211,"label":1292,"file":335,"line":1290},"→ wpl_rd_get_user_exercise_marked_status()",{"id":1075,"type":982,"label":1040,"file":335,"line":1294,"wp_function":1042},1396,{"id":1077,"type":977,"label":987,"file":335,"line":1296},652,{"id":1082,"type":1211,"label":1298,"file":335,"line":1296},"→ wpl_rd_get_course_status()",{"id":1084,"type":982,"label":1040,"file":335,"line":479,"wp_function":1042},[1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311],{"from":976,"to":981,"sanitized":271},{"from":986,"to":990,"sanitized":271},{"from":1007,"to":1010,"sanitized":271},{"from":1048,"to":1050,"sanitized":271},{"from":1050,"to":1052,"sanitized":271},{"from":1056,"to":1059,"sanitized":271},{"from":1059,"to":1062,"sanitized":271},{"from":1067,"to":1070,"sanitized":271},{"from":1070,"to":1075,"sanitized":271},{"from":1077,"to":1082,"sanitized":271},{"from":1082,"to":1084,"sanitized":271},17,{"entryPoint":1314,"graph":1315,"unsanitizedCount":14,"severity":1148},"wpl_rd_front_end_training_my_course (public\\class-rdtr-public.php:928)",{"nodes":1316,"edges":1321},[1317,1319],{"id":976,"type":977,"label":987,"file":335,"line":1318},934,{"id":981,"type":982,"label":1023,"file":335,"line":1320,"wp_function":1025},943,[1322],{"from":976,"to":981,"sanitized":271},{"entryPoint":1324,"graph":1325,"unsanitizedCount":325,"severity":1148},"\u003Cclass-rdtr-public> (public\\class-rdtr-public.php:0)",{"nodes":1326,"edges":1360},[1327,1329,1330,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1349,1351,1352,1354,1357],{"id":976,"type":977,"label":1328,"file":335,"line":1268},"$_REQUEST (x12)",{"id":981,"type":982,"label":1040,"file":335,"line":260,"wp_function":1042},{"id":986,"type":977,"label":1331,"file":335,"line":1272},"$_REQUEST (x11)",{"id":990,"type":982,"label":1098,"file":335,"line":339,"wp_function":1100},{"id":1007,"type":977,"label":1328,"file":335,"line":1275},{"id":1010,"type":982,"label":1023,"file":335,"line":1277,"wp_function":1025},{"id":1048,"type":977,"label":987,"file":335,"line":278},{"id":1050,"type":1211,"label":1280,"file":335,"line":278},{"id":1052,"type":982,"label":1040,"file":335,"line":1282,"wp_function":1042},{"id":1056,"type":977,"label":987,"file":335,"line":1284},{"id":1059,"type":1211,"label":1286,"file":335,"line":1284},{"id":1062,"type":982,"label":1040,"file":335,"line":1288,"wp_function":1042},{"id":1067,"type":977,"label":987,"file":335,"line":1290},{"id":1070,"type":1211,"label":1292,"file":335,"line":1290},{"id":1075,"type":982,"label":1040,"file":335,"line":1294,"wp_function":1042},{"id":1077,"type":977,"label":987,"file":335,"line":1296},{"id":1082,"type":1211,"label":1298,"file":335,"line":1296},{"id":1084,"type":982,"label":1040,"file":335,"line":479,"wp_function":1042},{"id":1086,"type":977,"label":987,"file":335,"line":1348},1087,{"id":1090,"type":1211,"label":1350,"file":335,"line":1348},"→ wpl_rd_get_course_completed_excercise()",{"id":1093,"type":982,"label":1098,"file":335,"line":449,"wp_function":1100},{"id":1097,"type":977,"label":987,"file":335,"line":1353},1132,{"id":1355,"type":1211,"label":1356,"file":335,"line":1353},"n22","→ wp_rd_get_course_enrolled_by_user()",{"id":1358,"type":982,"label":1098,"file":335,"line":1359,"wp_function":1100},"n23",1115,[1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375],{"from":976,"to":981,"sanitized":271},{"from":986,"to":990,"sanitized":271},{"from":1007,"to":1010,"sanitized":271},{"from":1048,"to":1050,"sanitized":271},{"from":1050,"to":1052,"sanitized":271},{"from":1056,"to":1059,"sanitized":271},{"from":1059,"to":1062,"sanitized":271},{"from":1067,"to":1070,"sanitized":271},{"from":1070,"to":1075,"sanitized":271},{"from":1077,"to":1082,"sanitized":271},{"from":1082,"to":1084,"sanitized":271},{"from":1086,"to":1090,"sanitized":271},{"from":1090,"to":1093,"sanitized":271},{"from":1097,"to":1355,"sanitized":271},{"from":1355,"to":1358,"sanitized":271},{"summary":1377,"deductions":1378},"The 'trainingpress' v1.0.2 plugin exhibits a mixed security posture. While it shows strength in avoiding known CVEs and using prepared statements for most SQL queries, significant concerns arise from its static analysis. The plugin has a considerable attack surface, with 3 out of 5 entry points lacking authentication checks. This is a major security weakness that could allow unauthenticated users to trigger plugin functionalities.  Furthermore, the taint analysis reveals a high number of flows with unsanitized paths (15 out of 17 analyzed), with 10 of these identified as high severity. This indicates a strong potential for cross-site scripting (XSS) or other injection vulnerabilities, particularly given the low percentage of properly escaped output (26%). The absence of recorded vulnerabilities in its history might suggest a lack of active exploitation or discovery, rather than inherent security.  However, the static analysis findings, especially the unprotected AJAX handlers and high-severity unsanitized taint flows, present a tangible risk that needs immediate attention. The bundled DataTables and an older version of jQuery also represent potential vulnerabilities if not properly managed or updated.",[1379,1381,1383,1385],{"reason":1380,"points":961},"Unprotected AJAX handlers",{"reason":1382,"points":961},"High number of unsanitized taint flows (high severity)",{"reason":1384,"points":290},"Low percentage of properly escaped output",{"reason":1386,"points":291},"Bundled outdated jQuery library","2026-03-17T07:10:14.805Z",{"wat":1389,"direct":1412},{"assetPaths":1390,"generatorPatterns":1400,"scriptPaths":1401,"versionParams":1402},[1391,1392,1393,1394,1395,1396,1397,1398,1399],"\u002Fwp-content\u002Fplugins\u002Ftrainingpress\u002Fassets\u002Fcss\u002Fjquery.dataTables.min.css","\u002Fwp-content\u002Fplugins\u002Ftrainingpress\u002Fassets\u002Fcss\u002Fstar-rate.css","\u002Fwp-content\u002Fplugins\u002Ftrainingpress\u002Fassets\u002Fcss\u002Ffontawsome\u002Fcss\u002Ffont-awesome.min.css","\u002Fwp-content\u002Fplugins\u002Ftrainingpress\u002Fassets\u002Fjs\u002Fjquery.validate.js","\u002Fwp-content\u002Fplugins\u002Ftrainingpress\u002Fassets\u002Fjs\u002Fjquery.dataTables.min.js","\u002Fwp-content\u002Fplugins\u002Ftrainingpress\u002Fadmin\u002Fcss\u002Fstyle.css","\u002Fwp-content\u002Fplugins\u002Ftrainingpress\u002Fadmin\u002Fjs\u002Fscript.js","\u002Fwp-content\u002Fplugins\u002Ftrainingpress\u002Fcss\u002Fjquery.notifyBar.css","\u002Fwp-content\u002Fplugins\u002Ftrainingpress\u002Fadmin\u002Fjs\u002Fjquery.notifyBar.js",[],[1394,1395,1397,1399],[1403,1404,1405,1406,1407,1408,1409,1410,1411],"trainingpress\u002Fassets\u002Fcss\u002Fjquery.dataTables.min.css?ver=","trainingpress\u002Fassets\u002Fcss\u002Fstar-rate.css?ver=","trainingpress\u002Fassets\u002Fcss\u002Ffontawsome\u002Fcss\u002Ffont-awesome.min.css?ver=","trainingpress\u002Fassets\u002Fjs\u002Fjquery.validate.js?ver=","trainingpress\u002Fassets\u002Fjs\u002Fjquery.dataTables.min.js?ver=","trainingpress\u002Fadmin\u002Fcss\u002Fstyle.css?ver=","trainingpress\u002Fadmin\u002Fjs\u002Fscript.js?ver=","trainingpress\u002Fcss\u002Fjquery.notifyBar.css?ver=","trainingpress\u002Fadmin\u002Fjs\u002Fjquery.notifyBar.js?ver=",{"cssClasses":1413,"htmlComments":1428,"htmlAttributes":1429,"restEndpoints":1435,"jsGlobals":1436,"shortcodeOutput":1438},[1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427],"training-course-content","training-course-module-content","training-lesson-content","training-exercise-content","course_title","course_short_description","course_start_date","course_end_date","course_price","course_difficulty","course_level","course_category","course_tags","rdtr-course-list",[],[1430,1431,1432,1433,1434],"data-course-id","data-module-id","data-lesson-id","data-exercise-id","data-user-id",[],[1437],"RDTR_TRAINING_PLUGIN_URL",[1439,1440,1441,1442,1443],"[training_course_details]","[training_course_list]","[training_course_modules]","[training_course_lessons]","[training_course_exercises]"]