[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f4JwRSIYpvCspcHa0htnHkpKiMPtbTlEKe5H902Mnb1M":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":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":37,"analysis":150,"fingerprints":387},"pagely-reseller-management","Integration Plugin for Pagely Resellers","3.3","joshua strebel","https:\u002F\u002Fprofiles.wordpress.org\u002Fjoshuastrebel\u002F","\u003Cp>The new reseller plugin for the pagely WordPress hosting system.\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fdocs-api.pagely.com\u002Fbug-report\u002F\" rel=\"nofollow ugc\">Report Bugs here\u003C\u002Fa> if you want them addressed.\u003C\u002Fp>\n","This is in beta. Your mileage may vary.",10,5522,0,"2014-06-03T04:18:00.000Z","3.9.40","3.4","",[19,20,21,22,23],"admin","administration","hositng","pagely","reseller","https:\u002F\u002Fdocs-api.pagely.com\u002Freseller-plugin\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpagely-reseller-management.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":26,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},"joshuastrebel",2,310,30,84,"2026-04-04T19:58:03.217Z",[38,62,82,105,129],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":48,"num_ratings":49,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":53,"tags":54,"homepage":17,"download_link":58,"security_score":59,"vuln_count":60,"unpatched_count":13,"last_vuln_date":61,"fetched_at":28},"wp-maintenance-mode","LightStart – Maintenance Mode, Coming Soon and Landing Page Builder","2.6.20","Themeisle","https:\u002F\u002Fprofiles.wordpress.org\u002Fthemeisle\u002F","\u003Cp>Add a maintenance page to your blog that lets visitors know your blog is down for maintenance, add a coming soon page for a new website or create a landing page for an existing site. User with admin rights gets full access to the blog including the front end.\u003C\u002Fp>\n\u003Cp>Activate the plugin and your blog is in maintenance-mode, works and only registered users with enough rights can see the front end. You can use a date with a countdown timer for visitor information or set a value and unit for information.\u003C\u002Fp>\n\u003Cp>Also works with WordPress Multisite installs (each blog from the network has its own maintenance settings).\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Fully customizable (change colors, texts and backgrounds).\u003C\u002Fli>\n\u003Cli>Subscription form (export emails to .csv file).\u003C\u002Fli>\n\u003Cli>Countdown timer (remaining time).\u003C\u002Fli>\n\u003Cli>Contact form (receive emails from visitors).\u003C\u002Fli>\n\u003Cli>Coming soon page;\u003C\u002Fli>\n\u003Cli>Landing page templates;\u003C\u002Fli>\n\u003Cli>WordPress multisite;\u003C\u002Fli>\n\u003Cli>Responsive design;\u003C\u002Fli>\n\u003Cli>Social media icons;\u003C\u002Fli>\n\u003Cli>Works with any WordPress theme;\u003C\u002Fli>\n\u003Cli>SEO options;\u003C\u002Fli>\n\u003Cli>Exclude URLs from maintenance;\u003C\u002Fli>\n\u003Cli>Bot functionality to collect the emails in a friendly and efficient way;\u003C\u002Fli>\n\u003Cli>GDPR Ready;\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Bugs, technical hints or contribute\u003C\u002Fh4>\n\u003Cp>Please give us feedback, contribute and file technical bugs on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fandrianvaleanu\u002FWP-Maintenance-Mode\" rel=\"nofollow ugc\">GitHub Repo\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Credits\u003C\u002Fh4>\n\u003Cp>Developed by \u003Ca href=\"https:\u002F\u002Fthemeisle.com\" rel=\"nofollow ugc\">Themeisle\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>What’s Next\u003C\u002Fh4>\n\u003Cp>If you like this plugin, then consider checking out our other projects:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Foptimole.com\u002F\" rel=\"nofollow ugc\">Optimole\u003C\u002Fa> – Optimole is your all-in-one image optimization solution for WordPress & beyond.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwpshout.com\u002F\" rel=\"nofollow ugc\">WPShout\u003C\u002Fa> – In-Depth WordPress Tutorials for Developers\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Frevive.social\u002F\" rel=\"nofollow ugc\">Revive Social\u003C\u002Fa> – Revive Old Posts helps you keep your content alive and in front the audiences that matter.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.codeinwp.com\u002F\" rel=\"nofollow ugc\">CodeinWP\u003C\u002Fa> – CodeinWP stands for all-things-WordPress. From web design to freelancing and from development to business, your questions are covered.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdomainwheel.com\" rel=\"nofollow ugc\">DomainWheel\u003C\u002Fa> – Free Short Website name generator, with the help of AI, for instant ideas.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Check-out \u003Ca href=\"https:\u002F\u002Fthemeisle.com\u002Fblog\u002F\" title=\"Themeisle blog\" rel=\"nofollow ugc\">our blog\u003C\u002Fa> to learn from our \u003Ca href=\"https:\u002F\u002Fthemeisle.com\u002Fblog\u002Fcategory\u002Fwordpress\u002Freviews\u002F\" title=\"WordPress Reviews\" rel=\"nofollow ugc\">WordPress Reviews\u003C\u002Fa> and see other \u003Ca href=\"https:\u002F\u002Fthemeisle.com\u002Fblog\u002Fcategory\u002Fwordpress-plugins\u002F\" title=\"WordPress Plugins Comparisons\" rel=\"nofollow ugc\">WordPress plugins\u003C\u002Fa>.\u003C\u002Fp>\n","Easy Drag & Drop Page Builder that adds a splash page to your site that it's perfect for a coming soon page, maintenance or landing page.",500000,19310486,86,859,"2025-12-10T19:23:00.000Z","6.9.4","4.7","7.1",[19,20,55,56,57],"coming-soon","maintenance-mode","unavailable","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-maintenance-mode.2.6.20.zip",96,6,"2024-01-05 00:00:00",{"slug":63,"name":64,"version":65,"author":66,"author_profile":67,"description":68,"short_description":69,"active_installs":70,"downloaded":71,"rating":72,"num_ratings":73,"last_updated":74,"tested_up_to":75,"requires_at_least":76,"requires_php":17,"tags":77,"homepage":79,"download_link":80,"security_score":35,"vuln_count":32,"unpatched_count":13,"last_vuln_date":81,"fetched_at":28},"adminimize","Adminimize","1.11.11","WP Media","https:\u002F\u002Fprofiles.wordpress.org\u002Fwp_media\u002F","\u003Cp>If you manage a multi-author WordPress blog or WordPress sites for clients, then you may have wondered if it was possible to clean up the WordPress admin area for your users? There are lots of things in the WordPress admin area that your users don’t need to see or use. This plugin help you to hide unnecessary items from WordPress admin area.\u003C\u002Fp>\n\u003Cp>Adminimize makes it easy to remove items from view based on a user’s role.\u003C\u002Fp>\n\u003Ch4>What does this plugin do?\u003C\u002Fh4>\n\u003Cp>The plugin changes the administration backend and gives you the power to assign rights on certain parts. Admins can activate\u002Fdeactivate every part of the menu and even parts of the sub-menu. Meta fields can be administered separately for posts and pages. Certain parts of the write menu can be deactivated separately for admins or non-admins. The header of the backend is minimized and optimized to give you more space and the structure of the menu gets changed to make it more logical – this can all be done per user so each role and their resulting users can have his own settings.\u003C\u002Fp>\n\u003Ch4>Support Custom Post Type\u003C\u002Fh4>\n\u003Cp>The plugin support all functions also for custom post types, automatically in the settings page.\u003C\u002Fp>\n\u003Ch4>Support Custom Options on all different post types\u003C\u002Fh4>\n\u003Cp>It is possible to add own options to hide areas in the back-end of WordPress. It is easy and you must only forgive a ID or class, a selector, of the markup, that you will hide.\u003C\u002Fp>\n\u003Ch4>Compatibility with plugins for MetaBoxes in Write-area\u003C\u002Fh4>\n\u003Cp>You can add your own options, you must only check for css selectors.\u003C\u002Fp>\n\u003Ch4>Help with “Your own options”\u003C\u002Fh4>\n\u003Cp>See the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002F328449\" title=\"Plugin: Adminimize Help with Your own options (3 posts)\" rel=\"ugc\">entry on the WP community forum\u003C\u002Fa> for help with this great possibility.\u003C\u002Fp>\n\u003Ch4>License\u003C\u002Fh4>\n\u003Cp>Good news, this plugin is free for everyone! Since it’s released under the GPL, you can use it free of charge on your personal or commercial blog. But if you enjoy this plugin, you can thank me and leave a \u003Ca href=\"http:\u002F\u002Fbueltge.de\u002Fwunschliste\u002F\" title=\"Wishliste and Donate\" rel=\"nofollow ugc\">small donation\u003C\u002Fa> for the time I’ve spent writing and supporting this plugin. And I really don’t want to know how many hours of my life this plugin has already eaten 😉\u003C\u002Fp>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cp>The plugin comes with various translations, please refer to the \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FInstalling_WordPress_in_Your_Language\" title=\"Installing WordPress in Your Language\" rel=\"nofollow ugc\">WordPress Codex\u003C\u002Fa> for more information about activating the translation. If you want to help to translate the plugin to your language, please have a look at the sitemap.pot file which contains all definitions and may be used with a \u003Ca href=\"http:\u002F\u002Fwww.gnu.org\u002Fsoftware\u002Fgettext\u002F\" rel=\"nofollow ugc\">gettext\u003C\u002Fa> editor like \u003Ca href=\"http:\u002F\u002Fwww.poedit.net\u002F\" rel=\"nofollow ugc\">Poedit\u003C\u002Fa> (Windows) or use, I prefers this, the \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fadminimize\" rel=\"nofollow ugc\">translation service from wordpress.org\u003C\u002Fa>.\u003C\u002Fp>\n","Adminimize that lets you hide 'unnecessary' items from the WordPress backend",200000,3104947,94,253,"2024-03-15T16:24:00.000Z","6.4.8","4.0",[20,78],"customization","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fadminimize\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadminimize.1.11.11.zip","2014-08-01 00:00:00",{"slug":83,"name":84,"version":85,"author":86,"author_profile":87,"description":88,"short_description":89,"active_installs":90,"downloaded":91,"rating":92,"num_ratings":93,"last_updated":94,"tested_up_to":95,"requires_at_least":96,"requires_php":97,"tags":98,"homepage":103,"download_link":104,"security_score":92,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"remove-dashboard-access-for-non-admins","Remove Dashboard Access","1.2.1","TrustedLogin","https:\u002F\u002Fprofiles.wordpress.org\u002Ftrustedlogin\u002F","\u003Cp>The easiest and safest way to restrict access to your WordPress site’s Dashboard and administrative menus. Remove Dashboard Access is a lightweight plugin that automatically redirects users who shouldn’t have access to the Dashboard to a custom URL of your choosing. Redirects can also be configured on a per-role\u002Fper-capability basis, allowing you to keep certain users out of the Dashboard, while retaining access for others.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Limit Dashboard access to user roles:\n\u003Cul>\n\u003Cli>Admins only\u003C\u002Fli>\n\u003Cli>Admins + editors\u003C\u002Fli>\n\u003Cli>Admins, editors, and authors\u003C\u002Fli>\n\u003Cli>or restrict by specific user capability\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Choose your own redirect URL\u003C\u002Fli>\n\u003Cli>Optionally allow users to edit their profiles\u003C\u002Fli>\n\u003Cli>Display a message on the login screen so users know why they’re being redirected\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Blocking access to the Dashboard is a great way to prevent clients from breaking their sites, prevent users from seeing things they shouldn’t, and to keep your site’s backend more secure.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Allow only users with roles or capabilities:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>You can restrict Dashboard access to Admins only, Editors or above, Authors or above, or by selecting a specific user capability.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Grant access to user profiles:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Optionally allow all users the ability to edit their profiles in the Dashboard. Users lacking the chosen capability won’t be able to access any other sections of the Dashboard.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Show a custom login message:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Supply a message to display on the login screen. Leaving this blank disables the message.\u003C\u002Fli>\n\u003C\u002Ful>\n","Disable Dashboard access for users of a specific role or capability. Disallowed users are redirected to a chosen URL. Get set up in seconds.",30000,467245,92,78,"2024-11-29T20:13:00.000Z","6.7.5","3.1.0","5.3",[99,20,100,101,102],"access","dashboard","login","restrict","https:\u002F\u002Fwww.trustedlogin.com\u002Fremove-dashboard-access\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fremove-dashboard-access-for-non-admins.1.2.1.zip",{"slug":106,"name":107,"version":108,"author":109,"author_profile":110,"description":111,"short_description":112,"active_installs":113,"downloaded":114,"rating":48,"num_ratings":115,"last_updated":116,"tested_up_to":117,"requires_at_least":118,"requires_php":119,"tags":120,"homepage":124,"download_link":125,"security_score":126,"vuln_count":127,"unpatched_count":13,"last_vuln_date":128,"fetched_at":28},"error-log-monitor","Error Log Monitor","1.7.12","Janis Elsts","https:\u002F\u002Fprofiles.wordpress.org\u002Fwhiteshadow\u002F","\u003Cp>This plugin adds a Dashboard widget that displays the latest messages from your PHP error log. It can also send you email notifications about newly logged errors.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Automatically detects error log location.\u003C\u002Fli>\n\u003Cli>Explains how to configure PHP error logging if it’s not enabled yet.\u003C\u002Fli>\n\u003Cli>The number of displayed log entries is configurable.\u003C\u002Fli>\n\u003Cli>Sends you email notifications about logged errors (optional).\u003C\u002Fli>\n\u003Cli>Configurable email address and frequency.\u003C\u002Fli>\n\u003Cli>You can easily clear the log file.\u003C\u002Fli>\n\u003Cli>The dashboard widget is only visible to administrators.\u003C\u002Fli>\n\u003Cli>Optimized to work well even with very large log files.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Usage\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Once you’ve installed the plugin, go to the Dashboard and enable the “PHP Error Log” widget through the “Screen Options” panel. The widget should automatically display the last 20 lines from your PHP error log. If you see an error message like “Error logging is disabled” instead, follow the displayed instructions to configure error logging.\u003C\u002Fp>\n\u003Cp>Email notifications are disabled by default. To enable them, click the “Configure” link in the top-right corner of the widget and enter your email address in the “Periodically email logged errors to:” box. If desired, you can also change email frequency by selecting the minimum time interval between emails from the “How often to send email” drop-down.\u003C\u002Fp>\n","Adds a Dashboard widget that displays the latest messages from your PHP error log. It can also send logged errors to email.",20000,631204,48,"2025-10-01T15:12:00.000Z","6.8.5","4.5","7.4",[19,20,121,122,123],"dashboard-widget","error-reporting","php","http:\u002F\u002Fw-shadow.com\u002Fblog\u002F2012\u002F07\u002F25\u002Ferror-log-monitor-plugin\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ferror-log-monitor.1.7.12.zip",99,1,"2019-02-25 00:00:00",{"slug":130,"name":131,"version":132,"author":133,"author_profile":134,"description":135,"short_description":136,"active_installs":137,"downloaded":138,"rating":48,"num_ratings":139,"last_updated":140,"tested_up_to":95,"requires_at_least":141,"requires_php":17,"tags":142,"homepage":146,"download_link":147,"security_score":148,"vuln_count":127,"unpatched_count":13,"last_vuln_date":149,"fetched_at":28},"automatic-domain-changer","Automatic Domain Changer","2.0.4","nuagelab","https:\u002F\u002Fprofiles.wordpress.org\u002Fnuagelab\u002F","\u003Cp>This plugin automatically detects a domain name change, and updates all the WordPress tables in the database to reflect this change.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Easily migrate a WordPress site from one domain to another\u003C\u002Fli>\n\u003Cli>Migrate www.domain.com and domain.com at once\u003C\u002Fli>\n\u003Cli>Migrate http and https links at once\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Feedback\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>We are open for your suggestions and feedback – Thank you for using or trying out one of our plugins!\u003C\u002Fli>\n\u003Cli>Drop us a line \u003Ca href=\"http:\u002F\u002Ftwitter.com\u002F#!\u002Fnuagelab\" rel=\"nofollow ugc\">@nuagelab\u003C\u002Fa> on Twitter\u003C\u002Fli>\n\u003Cli>Follow us on \u003Ca href=\"https:\u002F\u002Fwww.facebook.com\u002Fpages\u002FNuageLab\u002F150091288388352\" rel=\"nofollow ugc\">our Facebook page\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Drop us a line at \u003Ca href=\"mailto:wordpress-plugins@nuagelab.com\" rel=\"nofollow ugc\">wordpress-plugins@nuagelab.com\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>More\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.nuagelab.com\u002Fproducts\u002Fwordpress-plugins\u002F\" rel=\"nofollow ugc\">Also see our other plugins\u003C\u002Fa> or see \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fusers\u002Fnuagelab\u002F\" rel=\"nofollow ugc\">our WordPress.org profile page\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Translations\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>English\u003C\u002Fli>\n\u003Cli>French\u003C\u002Fli>\n\u003Cli>Spanish\u003C\u002Fli>\n\u003Cli>Slovak\u003C\u002Fli>\n\u003C\u002Ful>\n","Automatically detects a domain name change, and updates all the WordPress tables in the database to reflect this change.",10000,166221,28,"2025-04-14T20:03:00.000Z","3.0",[19,20,143,144,145],"domain-change","links","resources","http:\u002F\u002Fwww.nuagelab.com\u002Fwordpress-plugins\u002Fauto-domain-change","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fautomatic-domain-changer.zip",100,"2022-05-31 00:00:00",{"attackSurface":151,"codeSignals":210,"taintFlows":311,"riskAssessment":374,"analyzedAt":386},{"hooks":152,"ajaxHandlers":179,"restRoutes":206,"shortcodes":207,"cronEvents":208,"entryPointCount":209,"unprotectedCount":13},[153,159,164,169,173,176],{"type":154,"name":155,"callback":156,"file":157,"line":158},"action","admin_init","_register_PagelyApi_settings","inc\\options_page.php",23,{"type":154,"name":160,"callback":161,"priority":127,"file":162,"line":163},"send_headers","_process_payment_response","partner-api.php",98,{"type":154,"name":165,"callback":166,"priority":167,"file":162,"line":168},"admin_menu","_create_menu",20,121,{"type":154,"name":170,"callback":171,"priority":127,"file":162,"line":172},"wp_enqueue_scripts","_load_scripts_head",127,{"type":154,"name":170,"callback":174,"priority":127,"file":162,"line":175},"_head_styles",128,{"type":154,"name":177,"callback":177,"priority":127,"file":162,"line":178},"init",1003,[180,186,188,192,194,198,200,204],{"action":181,"nopriv":182,"callback":183,"hasNonce":184,"hasCapCheck":182,"file":162,"line":185},"pagely_jax_formvalidate_callback",false,"_pagely_jax_formvalidate_callback",true,132,{"action":181,"nopriv":184,"callback":183,"hasNonce":184,"hasCapCheck":182,"file":162,"line":187},133,{"action":189,"nopriv":182,"callback":190,"hasNonce":184,"hasCapCheck":182,"file":162,"line":191},"pagely_jax_accformsubmit_callback","_pagely_jax_accformsubmit_callback",135,{"action":189,"nopriv":184,"callback":190,"hasNonce":184,"hasCapCheck":182,"file":162,"line":193},136,{"action":195,"nopriv":182,"callback":196,"hasNonce":184,"hasCapCheck":182,"file":162,"line":197},"pagely_jax_accenroll_callback","_pagely_jax_accenroll_callback",138,{"action":195,"nopriv":184,"callback":196,"hasNonce":184,"hasCapCheck":182,"file":162,"line":199},139,{"action":201,"nopriv":182,"callback":202,"hasNonce":184,"hasCapCheck":182,"file":162,"line":203},"pagely_jax_generic_callback","_pagely_jax_generic_callback",141,{"action":201,"nopriv":184,"callback":202,"hasNonce":184,"hasCapCheck":182,"file":162,"line":205},142,[],[],[],8,{"dangerousFunctions":211,"sqlUsage":212,"outputEscaping":214,"fileOperations":13,"externalRequests":127,"nonceChecks":309,"capabilityChecks":127,"bundledLibraries":310},[],{"prepared":13,"raw":13,"locations":213},[],{"escaped":215,"rawEcho":216,"locations":217},11,47,[218,222,224,226,228,230,231,233,235,237,239,241,243,245,247,249,251,253,255,257,259,261,263,266,267,269,270,271,273,274,277,278,280,282,285,287,289,290,292,293,295,298,300,302,303,305,307],{"file":219,"line":220,"context":221},"inc\\helpers.php",36,"raw output",{"file":219,"line":223,"context":221},42,{"file":157,"line":225,"context":221},196,{"file":157,"line":227,"context":221},220,{"file":157,"line":229,"context":221},246,{"file":157,"line":73,"context":221},{"file":157,"line":232,"context":221},259,{"file":157,"line":234,"context":221},268,{"file":157,"line":236,"context":221},309,{"file":157,"line":238,"context":221},369,{"file":157,"line":240,"context":221},390,{"file":157,"line":242,"context":221},439,{"file":162,"line":244,"context":221},249,{"file":162,"line":246,"context":221},386,{"file":162,"line":248,"context":221},407,{"file":162,"line":250,"context":221},429,{"file":162,"line":252,"context":221},587,{"file":162,"line":254,"context":221},603,{"file":162,"line":256,"context":221},613,{"file":162,"line":258,"context":221},617,{"file":162,"line":260,"context":221},911,{"file":162,"line":262,"context":221},914,{"file":264,"line":265,"context":221},"views\\cart.php",17,{"file":264,"line":265,"context":221},{"file":264,"line":268,"context":221},18,{"file":264,"line":167,"context":221},{"file":264,"line":158,"context":221},{"file":264,"line":272,"context":221},25,{"file":264,"line":220,"context":221},{"file":275,"line":276,"context":221},"views\\order-form.php",12,{"file":275,"line":276,"context":221},{"file":275,"line":279,"context":221},27,{"file":275,"line":281,"context":221},41,{"file":283,"line":284,"context":221},"views\\order_step1.php",31,{"file":283,"line":286,"context":221},32,{"file":283,"line":288,"context":221},59,{"file":283,"line":288,"context":221},{"file":283,"line":291,"context":221},63,{"file":283,"line":126,"context":221},{"file":283,"line":294,"context":221},108,{"file":296,"line":297,"context":221},"views\\order_step3.php",9,{"file":296,"line":299,"context":221},22,{"file":296,"line":301,"context":221},33,{"file":296,"line":301,"context":221},{"file":296,"line":304,"context":221},34,{"file":296,"line":306,"context":221},35,{"file":296,"line":308,"context":221},50,4,[],[312,329,338,347,357,366],{"entryPoint":313,"graph":314,"unsanitizedCount":13,"severity":328},"_pagely_jax_formvalidate_callback (partner-api.php:362)",{"nodes":315,"edges":326},[316,321],{"id":317,"type":318,"label":319,"file":162,"line":320},"n0","source","$_POST",378,{"id":322,"type":323,"label":324,"file":162,"line":246,"wp_function":325},"n1","sink","echo() [XSS]","echo",[327],{"from":317,"to":322,"sanitized":184},"low",{"entryPoint":330,"graph":331,"unsanitizedCount":13,"severity":328},"_pagely_jax_accenroll_callback (partner-api.php:396)",{"nodes":332,"edges":336},[333,335],{"id":317,"type":318,"label":319,"file":162,"line":334},398,{"id":322,"type":323,"label":324,"file":162,"line":248,"wp_function":325},[337],{"from":317,"to":322,"sanitized":184},{"entryPoint":339,"graph":340,"unsanitizedCount":13,"severity":328},"_pagely_jax_accformsubmit_callback (partner-api.php:416)",{"nodes":341,"edges":345},[342,344],{"id":317,"type":318,"label":319,"file":162,"line":343},420,{"id":322,"type":323,"label":324,"file":162,"line":250,"wp_function":325},[346],{"from":317,"to":322,"sanitized":184},{"entryPoint":348,"graph":349,"unsanitizedCount":13,"severity":328},"_pagely_jax_generic_callback (partner-api.php:568)",{"nodes":350,"edges":355},[351,354],{"id":317,"type":318,"label":352,"file":162,"line":353},"$_POST (x2)",570,{"id":322,"type":323,"label":324,"file":162,"line":256,"wp_function":325},[356],{"from":317,"to":322,"sanitized":184},{"entryPoint":358,"graph":359,"unsanitizedCount":13,"severity":328},"\u003Cpartner-api> (partner-api.php:0)",{"nodes":360,"edges":364},[361,363],{"id":317,"type":318,"label":362,"file":162,"line":320},"$_POST (x5)",{"id":322,"type":323,"label":324,"file":162,"line":246,"wp_function":325},[365],{"from":317,"to":322,"sanitized":184},{"entryPoint":367,"graph":368,"unsanitizedCount":32,"severity":328},"\u003Corder-form> (views\\order-form.php:0)",{"nodes":369,"edges":372},[370,371],{"id":317,"type":318,"label":352,"file":275,"line":309},{"id":322,"type":323,"label":324,"file":275,"line":276,"wp_function":325},[373],{"from":317,"to":322,"sanitized":182},{"summary":375,"deductions":376},"The \"pagely-reseller-management\" v3.3 plugin exhibits a generally strong security posture due to its robust handling of entry points and avoidance of critical code vulnerabilities. All identified AJAX handlers and REST API routes appear to have proper authentication checks, and the absence of dangerous functions, raw SQL queries, file operations, and external HTTP requests are positive indicators. The plugin also utilizes prepared statements for its SQL queries, which is a significant security strength.\n\nHowever, there are notable areas for improvement. The low percentage of properly escaped output (19%) represents a significant concern, as it leaves the plugin vulnerable to Cross-Site Scripting (XSS) attacks. While the taint analysis did not reveal critical or high-severity issues, the presence of one flow with unsanitized paths indicates a potential for vulnerabilities that could be exploited. Furthermore, the limited number of nonce and capability checks, coupled with the existence of an unsanitized path flow, suggests that while the immediate attack surface might be secured, there could be subtle weaknesses that attackers could leverage.\n\nGiven the absence of known CVEs and a clean vulnerability history, the plugin appears to have been developed with security in mind. The lack of past vulnerabilities suggests a commitment to secure coding practices. Nevertheless, the high proportion of unescaped output is a critical flaw that needs immediate attention to mitigate XSS risks. The plugin's strengths lie in its protected entry points and SQL practices, but its weakness in output escaping presents the most pressing security concern.",[377,380,383],{"reason":378,"points":379},"Low percentage of properly escaped output",15,{"reason":381,"points":382},"Flows with unsanitized paths detected",7,{"reason":384,"points":385},"Limited capability checks detected",3,"2026-03-17T01:45:37.045Z",{"wat":388,"direct":401},{"assetPaths":389,"generatorPatterns":394,"scriptPaths":395,"versionParams":396},[390,391,392,393],"\u002Fwp-content\u002Fplugins\u002Fpagely-reseller-management\u002Fassets\u002Fjs\u002Fjquery.validate.min.js","\u002Fwp-content\u002Fplugins\u002Fpagely-reseller-management\u002Fassets\u002Fjs\u002Fpp-api.js","\u002Fwp-content\u002Fplugins\u002Fpagely-reseller-management\u002Fassets\u002Fjs\u002Fpp-options.js","\u002Fwp-content\u002Fplugins\u002Fpagely-reseller-management\u002Fassets\u002Fcss\u002Fpp-form.css",[],[390,391,392],[397,398,399,400],"pagely-reseller-management\u002Fassets\u002Fjs\u002Fjquery.validate.min.js?ver=","pagely-reseller-management\u002Fassets\u002Fjs\u002Fpp-api.js?ver=","pagely-reseller-management\u002Fassets\u002Fjs\u002Fpp-options.js?ver=","pagely-reseller-management\u002Fassets\u002Fcss\u002Fpp-form.css?ver=",{"cssClasses":402,"htmlComments":405,"htmlAttributes":415,"restEndpoints":417,"jsGlobals":420,"shortcodeOutput":422},[403,404],"pagely-order-form","js-pagely-form",[406,407,408,409,410,411,412,413,414],"\u003C!-- Pagely order form -->","\u003C!-- Pagely API CALLS -->","\u003C!-- RENDERS THE ORDER FORM -->","\u003C!-- Main Pagely API CLASS -->","\u003C!-- PRE INSTALL -->","\u003C!-- INSTALL STEP 1 -->","\u003C!-- INSTALL STEP 2 -->","\u003C!-- INSTALL STEP 3 -->","\u003C!-- THERE IS NO STEP 4, DO NOT EDIT THIS FILE -->",[416],"data-pp-plans",[418,419],"\u002Fwp-json\u002Fpagely\u002Fv1\u002Fplans","\u002Fwp-json\u002Fpagely\u002Fv1\u002Fproducts",[421],"pagelyJax",[423],"\u003C!-- Pagely order form -->\n\u003C?php pagely_order_form($post->post_name) ?>\n\u003C!-- Pagely order form -->"]