[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f0iGiZ6MOtnxJm_CM67KvPPCqok4cgzSK6RzbbJcvYXQ":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":17,"download_link":23,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26,"vulnerabilities":27,"developer":28,"crawl_stats":25,"alternatives":35,"analysis":134,"fingerprints":714},"blog-topics","Blog Topics For WPMU","1.2","DeannaS","https:\u002F\u002Fprofiles.wordpress.org\u002Fdeannas\u002F","\u003Cp>This plugin creates site-wide topics. Each blog can be identified as belonging to a single topic. Blog owners can select a topic for their blog at creation time, and through a menu under settings. Blog owners can also choose whether or not to include their content in any site-wide aggregated content via the Blog Topics Settings menu.\u003C\u002Fp>\n\u003Cp>Site Admins can set up the site-wide topics, select a “featured topic,” and manage blog’s topic settings through the Site Admin -> Blogs -> Edit menu.\u003C\u002Fp>\n\u003Cp>This plugin comes with 5 optional widgets (in the widgets subdirectory).\u003C\u002Fp>\n\u003Col>\n\u003Cli>BT – Topic Name – displays the name of the topic of the current blog.\u003C\u002Fli>\n\u003Cli>BT – Related Blogs – displays a linked list of other blogs in the same topic.\u003C\u002Fli>\n\u003Cli>BT – Related Posts – displays the title of the N most recent posts in the same topic as the current blog.\u003C\u002Fli>\n\u003Cli>BT – Featured Topic w\u002FPosts – displays the N most recent posts from the “featured” topic.\u003C\u002Fli>\n\u003Cli>BT – Topics w\u002FPosts – displays the N most recent posts from each topic, with the option of excluding selected topics.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Some of the widgets rely on theme code for topic listing pages and site listing pages, referred to as “portal links.” All portal links can be turned on and off in the widgets. This plugin comes with a sample theme to help you learn how to modify your own theme to incorporate the portal elements.\u003C\u002Fp>\n","Allows users to categorize blogs by topic. Allows users to categorize blogs by topic. Includes multiple optional widgets and optional sample theme cod &hellip;",10,7710,0,"2011-04-19T16:25:00.000Z","3.1.4","2.9","",[19,20,21,22],"wmpu-site-wide-categories","wordpress-mu","wordpress-multiuser","wpmu-site-wide-topics","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fblog-topics.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":29,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":31,"avg_security_score":24,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},"deannas",7,70,30,84,"2026-04-04T05:29:12.177Z",[36,55,78,98,118],{"slug":37,"name":38,"version":39,"author":7,"author_profile":8,"description":40,"short_description":41,"active_installs":11,"downloaded":42,"rating":43,"num_ratings":44,"last_updated":45,"tested_up_to":46,"requires_at_least":47,"requires_php":48,"tags":49,"homepage":53,"download_link":54,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"wpmu-plugin-stats","WPMU Plugin Stats","3.0.1","\u003Cblockquote>\n\u003Cp>The plugin is deprecated and reaches a hard end-of-life date on 31. January 2018!\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>Alternative\u003C\u002Fh4>\n\u003Cp>You should switch to \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmultisite-enhancements\u002F\" rel=\"ugc\">Multisite Enhancements\u003C\u002Fa>. It provides the same functionality and is actively maintained.\u003C\u002Fp>\n\u003Cp>This plugin gives you a count and the listing of sites using your installed plugins.\u003C\u002Fp>\n\u003Cp>Usage data is cached in a Transient (non-autoloading) but the data collection process can be a very expensive operation depending on plugin and (especially) site count.\u003Cbr \u002F>\nCheck the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwpmu-plugin-stats\u002Ffaq\u002F\" title=\"Frequently Asked Questions\" rel=\"ugc\">FAQ\u003C\u002Fa> for more details on caching.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Requires a WordPress Multisite Installation\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>JavaScript is required to toggle the list of sites using a plugin\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Development\u003C\u002Fh4>\n\u003Cblockquote>\n\u003Cp>The plugin has reached its end-of-life. No updates and\u002For support after 2018-01-31\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cul>\n\u003Cli>GitHub Repository: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwp-repository\u002Fwpmu-plugin-stats\" rel=\"nofollow ugc\">wpmu-plugin-stats\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Gives network admins an easy way to see what plugins are actively used on the sites of a multisite installation",17612,60,2,"2018-08-30T09:46:00.000Z","4.9.29","3.8","5.3",[50,51,20,21,52],"multisite","plugin-stats","wpmu","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwpmu-plugin-stats\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwpmu-plugin-stats.3.0.1.zip",{"slug":56,"name":57,"version":58,"author":59,"author_profile":60,"description":61,"short_description":62,"active_installs":63,"downloaded":64,"rating":65,"num_ratings":66,"last_updated":67,"tested_up_to":68,"requires_at_least":69,"requires_php":17,"tags":70,"homepage":76,"download_link":77,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"wpml-widgets","WPML Widgets","1.0.6","Jeroen Sormani","https:\u002F\u002Fprofiles.wordpress.org\u002Fsormano\u002F","\u003Cp>WPML Widgets is a simple to use extension to add a language selector dropdown to your widgets.\u003C\u002Fp>\n\u003Cp>This plugin is the easiest way to add multilingual widgets to your website.\u003C\u002Fp>\n\u003Cp>WPML Widgets is a ultra lightweight plugin, so there will be (about) zero extra loading time.\u003C\u002Fp>\n","WPML Widgets is a simple to use extension to add a language selector dropdown to your widgets.",10000,171698,98,36,"2017-11-28T08:13:00.000Z","4.7.32","3.6",[71,72,73,74,75],"wordpress-multilanguage","wordpress-multilanguage-widget","wpml","wpml-widget","wpml-widget-selector","http:\u002F\u002Fjeroensormani.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwpml-widgets.1.0.6.zip",{"slug":79,"name":80,"version":81,"author":82,"author_profile":83,"description":84,"short_description":85,"active_installs":86,"downloaded":87,"rating":88,"num_ratings":11,"last_updated":89,"tested_up_to":90,"requires_at_least":91,"requires_php":17,"tags":92,"homepage":96,"download_link":97,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"disable-user-gravatar","Disable User Gravatar","3.1","Marcus (aka @msykes)","https:\u002F\u002Fprofiles.wordpress.org\u002Fnetweblogic\u002F","\u003Cp>This is a very simple and lightweight plugin that anonymizes default avatars and prevents the user’s gravatar being automatically obtained from gravatar.com based on their registered email. This would be useful for sites where users require an extra layer of privacy, or if you just want to prevent potentially silly or embarrasing avatar accidents.\u003C\u002Fp>\n\u003Cp>If you’re using Identicons or any other generated default avatar, the user should keep a consistent avatar unless they change their registered email.\u003C\u002Fp>\n\u003Cp>You can also disable Gravatar completely and choose a default image to display.\u003C\u002Fp>\n\u003Cp>This plugin is also compatible with other avatar customization plugins such as \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Favatar-manager\u002F\" rel=\"ugc\">Avatar Manager\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbuddypress\u002F\" rel=\"ugc\">BuddyPress\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fadd-new-default-avatar\u002F\" rel=\"ugc\">Add New Default Avatar\u003C\u002Fa>, since this plugin specifically prevents the gravatar of a specific user email being used and reverts to the default or user-defined avatar.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Important 3.0 Update – BuddyPress users should visit the Settings > Discussion page on your dashboard and choose one of the Disable Gravatar options to restore previous behavior.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>If you have any issues or suggestions, please visit our \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fdisable-user-gravatar\" rel=\"ugc\">support forums\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>If you find this plugin useful and would like to say thanks, please leave us a \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fview\u002Fplugin-reviews\u002Fdisable-user-gravatar?filter=5\" rel=\"ugc\">5 star review\u003C\u002Fa>!\u003C\u002Fp>\n","Stops WordPress from grabbing a user avatar using their registrated email from gravatar.com.",3000,40294,100,"2022-11-01T16:00:00.000Z","6.1.10","2.7",[93,94,95,20,52],"activity-stream","avatar","gravatar","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdisable-user-gravatar\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisable-user-gravatar.zip",{"slug":99,"name":100,"version":101,"author":102,"author_profile":103,"description":104,"short_description":105,"active_installs":32,"downloaded":106,"rating":107,"num_ratings":108,"last_updated":109,"tested_up_to":110,"requires_at_least":111,"requires_php":17,"tags":112,"homepage":116,"download_link":117,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"yd-wpmu-sitewide-options","YD Network-wide Options","4.0.1","Yann at WP&Co","https:\u002F\u002Fprofiles.wordpress.org\u002Fydubois\u002F","\u003Cp>This plugin has been thoroughly tested and is fully compatible with \u003Cstrong>WordPress 3.0x multisite\u003C\u002Fstrong> or with \u003Cstrong>WPMU 2.9\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>This plugin was originally named \u003Cstrong>YD WPMU Sitewide Options\u003C\u002Fstrong>. The name has been changed with version 3.0 to match WordPress 3.0 vocabulary and concepts. Backwards compatibility with WordPress MU has been maintained.\u003C\u002Fp>\n\u003Ch4>Centralized management of your network-wide installed plugins!\u003C\u002Fh4>\n\u003Cp>This WordPress 3.0 multisite or WPMU plugin installs a \u003Cstrong>new settings page\u003C\u002Fstrong> where you can choose which blog or plugin settings you want to replicate site-wide or network-wide to all your \u003Cstrong>children sites\u003C\u002Fstrong>.\u003Cbr \u002F>\nAny change (update) to those settings (options) on the \u003Cstrong>mother site\u003C\u002Fstrong> admin pages can be automatically copied to all the sub-sites (blogs).\u003C\u002Fp>\n\u003Cp>You can choose which settings to replicate, you can decide if changes of the settings on the main blog should be automatically replicated to all blogs.\u003C\u002Fp>\n\u003Cp>You can replicate your settings as a “one-shot” process (for example when setting up new blogs or installing a new network-wide or site-wide plugin),\u003Cbr \u002F>\nor have the plugin maintain your settings in sync on all your blogs over time.\u003C\u002Fp>\n\u003Cp>You can decide if chosen settings will be automatically “spread” to newly created blogs or not.\u003C\u002Fp>\n\u003Cp>You can choose to manually spread the settings only when you decide to, and not to overwrite existing individual blog settings.\u003Cbr \u002F>\nThis way, you can maintain specific settings on some blogs while keeping the ability to spread default settings to new blogs.\u003C\u002Fp>\n\u003Cp>Since version 4.0.0, the plugin can now create and copy custom database tables used by some plugins, further widening the scope of plugins that can be made network-wide manageable.\u003C\u002Fp>\n\u003Cp>Those techniques can be used to convert any standard WordPress plugin from standalone to a versatile multisite network-wide or sitewide WPMU plugin!\u003C\u002Fp>\n\u003Cp>You can use your main blog as a template-blog for the creation of new sites in your network: the new sites can automatically adopt any or all settings of your main blog,\u003Cbr \u002F>\nactivated plugins can also be copied, as well as the settings of each plugin. This is an alternative to other commercial or non-commercial new blog defaults \u002F new blog template plugins for WPMU.\u003C\u002Fp>\n\u003Cp>Many other creative uses are possible.\u003C\u002Fp>\n\u003Cp>It efficiently makes for a centralized deployment of any plugin parameter on all your WPMU blogs: the main blog acts as a “master” when setting the site-wide option, while your child blogs replicate any change in the option over time like “slaves” (a rather typical master-slave replication pattern).\u003C\u002Fp>\n\u003Cp>The plugin has its own admin options page (settings page).\u003C\u002Fp>\n\u003Cp>It is \u003Cstrong>fully internationalized\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Base package includes .pot file for translation of the interface, and English, French, Dutch and German versions.\u003C\u002Fp>\n\u003Ch4>Compatibility\u003C\u002Fh4>\n\u003Cp>This plugin has been successfully tested to convert the following standalone WordPress plugins to network-wide Worpress 3.0x multisite or sitewide WordPress MU plugins with centralized administration:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>All WordPress core-options including WordPress 3.0x default theme header options, active plugins, administrator e-mail, commenting otpions and search engine accessibility (public\u002Fprivate status), etc.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002FWordPress.org\u002Fextend\u002Fplugins\u002Fakismet\u002F\" rel=\"ugc\">Akismet plugin\u003C\u002Fa> credentials (API Key)\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002FWordPress.org\u002Fextend\u002Fplugins\u002Fyd-spread-parameter\u002F\" rel=\"ugc\">YD Spread Parameter plugin\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002FWordPress.org\u002Fextend\u002Fplugins\u002Fyd-export2email\u002F\" rel=\"ugc\">YD Export2Email plugin\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002FWordPress.org\u002Fextend\u002Fplugins\u002Fwp-theme-switcher\u002F\" rel=\"ugc\">WP Theme Switcher plugin\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002FWordPress.org\u002Fextend\u002Fplugins\u002Fdj-email-publish\u002F\" rel=\"ugc\">DJ E-mail Publish plugin\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwprobot.net\u002F\" rel=\"nofollow ugc\">WPRobot plugin\u003C\u002Fa> credentials and settings\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002FWordPress.org\u002Fextend\u002Fplugins\u002Feasy-privacy-policy\u002F\" rel=\"ugc\">Easy Privacy Policy plugin\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwpmu.org\u002Fplugin-commander-111\u002F\" rel=\"nofollow ugc\">WordPress plugin Commander\u003C\u002Fa> to centrally activate or de-activate plugins network-wide\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwpml.org\u002F\" rel=\"nofollow ugc\">WPML Multilingual CMS\u003C\u002Fa> (new since version 4.0.0)\u003C\u002Fli>\n\u003Cli>and many, many more…\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Only some plugins that do not use either WordPress’ built-in options mechanism or some simple database tables to store their settings cannot be made network-wide with this plugin.\u003Cbr \u002F>\nHowever, the vast majority of state-of-the art third-party plugins use options and\u002For simple tables.\u003C\u002Fp>\n\u003Cp>\u003Cem>Please leave a comment on the \u003Ca href=\"http:\u002F\u002Fwww.yann.com\u002Fen\u002Fwp-plugins\u002Fyd-wpmu-sitewide-options\" title=\"Yann Dubois' Network-wide options plugin for multisite WordPress\" rel=\"nofollow ugc\">support site\u003C\u002Fa> to report\u003Cbr \u002F>\nother successful implementations, or any incompatibility.\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch4>Active support\u003C\u002Fh4>\n\u003Cp>Drop me a line on my \u003Ca href=\"http:\u002F\u002Fwww.yann.com\u002Fen\u002Fwp-plugins\u002Fyd-wpmu-sitewide-options\" title=\"Yann Dubois' Network-wide options plugin for multisite WordPress\" rel=\"nofollow ugc\">WordPress developer site\u003C\u002Fa> to report bugs, ask for a specific feature or improvement, or just tell me how you’re using the plugin.\u003C\u002Fp>\n\u003Ch4>Description en Français :\u003C\u002Fh4>\n\u003Cp>Ce plug-in pour WordPress 3.0x multi-site ou WordPress MU permet de recopier automatiquement n’importe quel paramétrage (option, réglage) de plugin sur tous les blogs de votre réseau WordPress 3.0x ou WPMU.\u003Cbr \u002F>\nToute modification (mise à jour) faite sur un paramètre sélectionné dans le blog principal peut être automatiquement répercutée sur les sous-blogs.\u003Cbr \u002F>\nDe cette façon, vous pouvez centraliser la gestion de vos plugins transversaux.\u003C\u002Fp>\n\u003Cp>Avec cette technique, n’importe quel plugin WordPress standard peut être converti en un plugin transversal pour WP3.0x multisite ou WPMU !\u003C\u002Fp>\n\u003Cp>Les réglages de vos plugins sont automatiquement déployés sur tous vos sites WP MU ou sur tous les sites de votre réseau multi-sites.\u003C\u002Fp>\n\u003Cp>Très pratique si vous installez un plugin transversalement (network-wide) sur tous vos blogs.\u003C\u002Fp>\n\u003Cp>Le plugin a sa propre page d’options dans l’administration.\u003Cbr \u002F>\nIl est entièrement internationalisé.\u003C\u002Fp>\n\u003Cp>La distribution standard inclut le fichier de traduction .pot et les versions française, anglaise, hollandaise et allemande.\u003C\u002Fp>\n\u003Cp>Le plugin peut fonctionner avec n’importe quelle langue ou jeu de caractères.\u003C\u002Fp>\n\u003Cp>Pour toute aide ou information en français, laissez-moi un commentaire sur le \u003Ca href=\"http:\u002F\u002Fwww.yann.com\u002Fen\u002Fwp-plugins\u002Fyd-wpmu-sitewide-options\" title=\"Yann Dubois' Network-wide Options for multisite WordPress\" rel=\"nofollow ugc\">site de support du plugin YD WPMU Network-wide Options\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Yann dubois, \u003Ca href=\"http:\u002F\u002Fwww.yann.com\u002Ffr\u002Fa-propos\u002Fdeveloppeur-wordpress\" title=\"Développeur WordPress freelance à Paris\" rel=\"nofollow ugc\">Développeur WordPress\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Funding Credits\u003C\u002Fh4>\n\u003Cp>Original development of this plugin has been paid for by \u003Ca href=\"http:\u002F\u002Fwww.wellcom.fr\" title=\"Wellcom\" rel=\"nofollow ugc\">Wellcom.fr\u003C\u002Fa>. Please visit their site!\u003C\u002Fp>\n\u003Cp>Additional development was paid for by \u003Ca href=\"http:\u002F\u002Fbossinternetmarketing.com\u002F\" title=\"bossinternetmarketing.com\" rel=\"nofollow ugc\">Matt Hardy\u003C\u002Fa>. Please visit his site!\u003C\u002Fp>\n\u003Cp>Additional development was paid for by \u003Ca href=\"http:\u002F\u002Fwww.eurospreed.com\u002F\" title=\"Eurospreed.com\" rel=\"nofollow ugc\">Eurospreed\u003C\u002Fa>. Please visit their site!\u003C\u002Fp>\n\u003Cp>Le développement d’origine de ce plugin a été financé par \u003Ca href=\"http:\u002F\u002Fwww.wellcom.fr\" title=\"Wellcom\" rel=\"nofollow ugc\">Wellcom.fr\u003C\u002Fa>. Allez visiter leur site !\u003C\u002Fp>\n\u003Cp>Des développements additionnels ont été financés par \u003Ca href=\"http:\u002F\u002Fbossinternetmarketing.com\u002F\" title=\"bossinternetmarketing.com\" rel=\"nofollow ugc\">Matt Hardy\u003C\u002Fa>. Allez visiter son site!\u003C\u002Fp>\n\u003Ch4>Translation\u003C\u002Fh4>\n\u003Cp>If you want to contribute to a translation of this plugin, please drop me a line by e-mail or leave a comment on the \u003Ca href=\"http:\u002F\u002Fwww.yann.com\u002Fen\u002Fwp-plugins\u002Fyd-wpmu-sitewide-options\" title=\"Yann Dubois' Network-wide Options plugin for multisite WordPress\" rel=\"nofollow ugc\">plugin’s page\u003C\u002Fa>.\u003Cbr \u002F>\nYou will get credit for your translation in the plugin file and this documentation, as well as a link on this page and on \u003Ca href=\"http:\u002F\u002Fwww.yann.com\u002F\" rel=\"nofollow ugc\">my developers’ blog\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Dutch version kindly provided by \u003Ca href=\"http:\u002F\u002Fwww.fethiyehotels.com\" rel=\"nofollow ugc\">Rene\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>German version kindly provided by \u003Ca href=\"http:\u002F\u002Fwww.pangaea.nl\u002Fdiensten\u002Fexact-webshop\" rel=\"nofollow ugc\">Rian\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Plugin settings\u002Foptions page\u003C\u002Fh3>\n\u003Cp>Use the plugin’s own settings page to select which plugin options\u002Fsettings to automatically replicate network-wide \u002F site-wide.\u003C\u002Fp>\n\u003Ch3>Revisions\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>0.1.0 Original beta version.\u003C\u002Fli>\n\u003Cli>0.1.1 Optional debug code.\u003C\u002Fli>\n\u003Cli>0.2.0 Bugfixes + improved settings page.\u003C\u002Fli>\n\u003Cli>1.0.0 Bugfixes + important new features.\u003C\u002Fli>\n\u003Cli>1.1.0 Bugfixes + new features.* 1.1.\u003C\u002Fli>\n\u003Cli>1.1.1 Bugfix\u003C\u002Fli>\n\u003Cli>3.0   WordPress 3.0 compatibility\u003C\u002Fli>\n\u003Cli>3.0.1 Minor text changes\u003C\u002Fli>\n\u003Cli>4.0.0 Database table replication, bugfixes, flush rewrite rules, choose master, ignore blogs\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Did you like it?\u003C\u002Fh3>\n\u003Cp>Drop me a line on http:\u002F\u002Fwww.yann.com\u002Fen\u002Fwp-plugins\u002Fyd-wpmu-sitewide-options\u003C\u002Fp>\n\u003Cp>And… \u003Cem>please\u003C\u002Fem> rate this plugin –>\u003C\u002Fp>\n","This plugin has been thoroughly tested and is fully compatible with WordPress 3.0x multisite or with WPMU 2.9.",30081,88,8,"2012-01-31T19:26:00.000Z","3.0.5","2.9.1",[113,114,115,20,52],"admin","automatic","mu","http:\u002F\u002Fwww.yann.com\u002Fen\u002Fwp-plugins\u002Fyd-wpmu-sitewide-options","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fyd-wpmu-sitewide-options.zip",{"slug":119,"name":120,"version":121,"author":102,"author_profile":103,"description":122,"short_description":123,"active_installs":124,"downloaded":125,"rating":13,"num_ratings":13,"last_updated":126,"tested_up_to":127,"requires_at_least":111,"requires_php":17,"tags":128,"homepage":132,"download_link":133,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"yd-wpmu-bloglist-widget","YD WPMU Bloglist Widget","2.1.1","\u003Ch4>Show a list of all the WPMU sub-sites\u003C\u002Fh4>\n\u003Cp>This WordPress MU plugin installs a \u003Cstrong>new sidebar widget\u003C\u002Fstrong> that can display the \u003Cstrong>list of children sites\u003C\u002Fstrong> of your main \u003Cstrong>mother site\u003C\u002Fstrong> in a single or multi-column format.\u003Cbr \u002F>\nThe \u003Cstrong>post count\u003C\u002Fstrong> is displayed for each sub-site \u002F blog of the \u003Cstrong>blogs listing\u003C\u002Fstrong>.\u003Cbr \u002F>\nIt also creates a \u003Cstrong>new PHP function\u003C\u002Fstrong> that can be included in any template to \u003Cstrong>display an ordered list\u003C\u002Fstrong> that can be designed as a block of information using CSS.\u003C\u002Fp>\n\u003Cp>The list can be ordered by blog name, post count, blog creation date or last update, in ascending or descending order.\u003Cbr \u002F>\nBlogs can be excluded from the list based on various criteria or individually by blog ID.\u003C\u002Fp>\n\u003Cp>Since version 2.0.0, this plugin supports WPML multiple-language blogs: it will automatically list only blogs using the active language, except where WPML filters are deactivated,\u003Cbr \u002F>\nor a special ‘in’ (international) langiage is created.\u003C\u002Fp>\n\u003Cp>If you don’t like the widget or don’t use sidebars, you can also \u003Cstrong>include the list in the content of any page or post\u003C\u002Fstrong> of your blog,\u003Cbr \u002F>\nby simply adding the special \u003Ccode>[!YDWPMUBL]\u003C\u002Fcode> special tag, or \u003Cstrong>include the blog listing in a template\u003C\u002Fstrong> with the \u003Ccode>\u003C?php yd_display_wpmu_bloglist() ?>\u003C\u002Fcode> function.\u003Cbr \u002F>\nThe list design is \u003Cstrong>highly customizable\u003C\u002Fstrong> allowing different settings when displayed as a widget on the home page and other blog pages, and when used inside templates.\u003C\u002Fp>\n\u003Cp>All display parameters can be set in the settings (options) page, or overridden in the template function call.\u003C\u002Fp>\n\u003Cp>The display style of each element of the listing can be individually customized using CSS.\u003C\u002Fp>\n\u003Cp>The plugin uses \u003Cstrong>cache\u003C\u002Fstrong> and sitemeta table information to avoid multiple database query.\u003Cbr \u002F>\nIt has its own widget control pannel and admin settings page.\u003Cbr \u002F>\nIt is \u003Cstrong>fully internationalized\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Base package includes .pot file for translation of the interface, and English, Spanish, Galician, French, Dutch and German versions.\u003Cbr \u002F>\nThe plugin can be used to display text in any WordPress compatible language and charset.\u003C\u002Fp>\n\u003Ch4>Active support\u003C\u002Fh4>\n\u003Cp>Drop me a line on my \u003Ca href=\"http:\u002F\u002Fwww.yann.com\u002Fen\u002Fwp-plugins\u002Fyd-wpmu-bloglist-widget\" title=\"Yann Dubois' Bloglist Widget for WordPress MU\" rel=\"nofollow ugc\">YD WPMU Bloglist plugin support site\u003C\u002Fa> to report bugs, ask for a specific feature or improvement, or just tell me how you’re using the plugin.\u003C\u002Fp>\n\u003Ch4>Description en Français :\u003C\u002Fh4>\n\u003Cp>Ce plug-in WordPress installe un nouveau widget dans votre barre latérale qui peut afficher la liste des “sous-sites” de votre site principal WordPress MU, triés selons divers critères au choix.\u003C\u002Fp>\n\u003Cp>Le nombre de billets publiés dans chaque blog est également indiqué.\u003C\u002Fp>\n\u003Cp>La liste peut être triée notamment par nom de site, par nombre de billets publiés, par date de création ou de mise à jour.\u003Cbr \u002F>\nOn peut sélectionner quels blogs sont inclus ou exclus de la liste selon divers critères, et exclure individuellement des blogs par identifiant.\u003C\u002Fp>\n\u003Cp>Depuis la version 2.0.0 ce plugin supporte les sites multi-lingues utilisant WPML. Seuls les blogs de la langue active seront listés.\u003C\u002Fp>\n\u003Cp>La liste est affichée sous forme d’un bloc, sur une ou plusieurs colonnes et on peut choisir le nombre de colonnes à utiliser.\u003Cbr \u002F>\nSi vous n’aimez pas le principe du widget ou n’utilisez pas de barres latérales, vous pouvez inclure la liste des blogs n’impore où dans le contenu des pages et billets de votre blog,\u003Cbr \u002F>\nsimplement en insérant un “tag” spécial.\u003C\u002Fp>\n\u003Cp>Chaque élément affiché dispose d’un conteneur séparé permettant de complètement personnaliser le style d’affichage à l’aide de feuilles de style CSS.\u003C\u002Fp>\n\u003Cp>Le plugin utilise un système de cache pour éviter les requêtes de base de données redondantes.\u003C\u002Fp>\n\u003Cp>Il a son propre panneau de contrôle et sa page de réglages (options) dans l’administration.\u003Cbr \u002F>\nIl est entièrement internationalisé.\u003C\u002Fp>\n\u003Cp>La distribution standard inclut le fichier de traduction .pot et les versions française, anglaise, espagnole, galicienne, hollandaise et allemande.\u003Cbr \u002F>\nLe plugin peut fonctionner avec n’importe quelle langue ou jeu de caractères y compris le chinois.\u003Cbr \u002F>\nPour toute aide ou information en français, laissez-moi un commentaire sur le \u003Ca href=\"http:\u002F\u002Fwww.yann.com\u002Fen\u002Fwp-plugins\u002Fyd-wpmu-bloglist-widget\" title=\"Yann Dubois' Bloglist Widget for WordPress\" rel=\"nofollow ugc\">site de support du plugin YD WPMU Bloglist Widget\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Funding Credits\u003C\u002Fh4>\n\u003Cp>Original and additional developments of this plugin has been paid for by \u003Ca href=\"http:\u002F\u002Fwww.wellcom.fr\" title=\"Wellcom\" rel=\"nofollow ugc\">Wellcom.fr\u003C\u002Fa>. Please visit their site!\u003C\u002Fp>\n\u003Cp>Le développement d’origine et les améliorations de cette extension ont été financés par \u003Ca href=\"http:\u002F\u002Fwww.wellcom.fr\" title=\"Wellcom\" rel=\"nofollow ugc\">Wellcom.fr\u003C\u002Fa>. Allez visiter leur site !\u003C\u002Fp>\n\u003Ch4>Translation\u003C\u002Fh4>\n\u003Cp>If you want to contribute to a translation of this plugin, please drop me a line by e-mail or leave a comment on the \u003Ca href=\"http:\u002F\u002Fwww.yann.com\u002Fen\u002Fwp-plugins\u002Fyd-wpmu-bloglist-widget\" title=\"Yann Dubois' Bloglist Widget for WordPress MU\" rel=\"nofollow ugc\">plugin’s page\u003C\u002Fa>.\u003Cbr \u002F>\nYou will get credit for your translation in the plugin file and this documentation, as well as a link on this page and on my developers’ blog.\u003C\u002Fp>\n\u003Ch4>Translation credits\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Spanish and Galician translation kindly provided by: \u003Ca href=\"http:\u002F\u002Fwww.arumeinformatica.es\u002F\" title=\"Arume\" rel=\"nofollow ugc\">Arume\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Dutch translation kindly provided by: \u003Ca href=\"http:\u002F\u002Fwww.fethiyehotels.com\" title=\"Rene\" rel=\"nofollow ugc\">Rene\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>German translation by: \u003Ca href=\"http:\u002F\u002Fwww.pangaea.nl\u002Fdiensten\u002Fexact-webshop\" title=\"Pangaea\" rel=\"nofollow ugc\">Rian Kramer\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Ukrainian translation by: \u003Ca href=\"http:\u002F\u002Fwebhostinggeeks.com\u002F\" title=\"Web Geek\" rel=\"nofollow ugc\">Mikalay Lisica\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Widget control pannel\u003C\u002Fh3>\n\u003Cp>The widget has its own control pannel for setting-up its look and feel. You can administer it from the widgets admin page.\u003Cbr \u002F>\nRemember to clear the cache when you make changes, if you want to see them right away (see hereunder).\u003C\u002Fp>\n\u003Ch3>Widget options page\u003C\u002Fh3>\n\u003Cp>Use the widget’s own option page to clear the cache and reset default settings.\u003Cbr \u002F>\nOtherwise, the cache expires only when content is added to the blog or widget control panel options are changed.\u003C\u002Fp>\n\u003Ch3>Revisions\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>2.1.1 Indonesian translation by Syamsul Alam\u003C\u002Fli>\n\u003Cli>2.1.0 New features: drop-down, sort by domain, filter hooks, show_count=false, wp-style arguments\u003C\u002Fli>\n\u003Cli>2.0.0 Major new release : WPML support, blog exclusion options\u003C\u002Fli>\n\u003Cli>1.0.2 Bugfix in postcount order; German version.\u003C\u002Fli>\n\u003Cli>1.0.1 Bugfix in settings update.\u003C\u002Fli>\n\u003Cli>1.0.0 Final release. Includes improved settings page and Dutch version.\u003C\u002Fli>\n\u003Cli>0.2.2 Bug fixes in the options page (when saving settings) – still considered beta (check cache IRL).\u003C\u002Fli>\n\u003Cli>0.2.1 Third debug (“duplicate link” issue for subdomains) – still considered beta (check cache IRL).\u003C\u002Fli>\n\u003Cli>0.2.0 Second debug (thanks to TB@Wellcom) – still considered beta (check cache IRL).\u003C\u002Fli>\n\u003Cli>0.1.1 First debug (thanks to Arume) – still considered beta (check cache IRL).\u003C\u002Fli>\n\u003Cli>0.1.0 Original beta version.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Did you like it?\u003C\u002Fh3>\n\u003Cp>Drop me a line on http:\u002F\u002Fwww.yann.com\u002Fen\u002Fwp-plugins\u002Fyd-wpmu-bloglist-widget\u003C\u002Fp>\n\u003Cp>And… \u003Cem>please\u003C\u002Fem> rate this plugin –>\u003C\u002Fp>\n","Sidebar widget and template function to display an ordered blog list of subsites (with post count) on a page of the WordPress MU main site.",20,15842,"2013-02-01T00:24:00.000Z","3.5.2",[129,130,131,20,52],"blog-list","blog-listing","bloglist","http:\u002F\u002Fwww.yann.com\u002Fen\u002Fwp-plugins\u002Fyd-wpmu-bloglist-widget","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fyd-wpmu-bloglist-widget.zip",{"attackSurface":135,"codeSignals":241,"taintFlows":477,"riskAssessment":699,"analyzedAt":713},{"hooks":136,"ajaxHandlers":237,"restRoutes":238,"shortcodes":239,"cronEvents":240,"entryPointCount":13,"unprotectedCount":13},[137,143,149,153,157,161,164,168,172,176,178,182,187,191,194,197,202,206,210,213,217,222,227,231,234],{"type":138,"name":139,"callback":140,"file":141,"line":142},"action","signup_blogform","get_topics_select_signup","cets_blogtopics.php",1129,{"type":144,"name":145,"callback":146,"priority":147,"file":141,"line":148},"filter","wpmu_new_blog","set_new_blog_topic",101,1130,{"type":138,"name":150,"callback":151,"file":141,"line":152},"signup_finished","save_signup_blog_topic",1131,{"type":138,"name":154,"callback":155,"file":141,"line":156},"admin_notices","site_admin_notice",1133,{"type":138,"name":158,"callback":159,"file":141,"line":160},"admin_init","add_privacy_options_init",1139,{"type":138,"name":162,"callback":162,"priority":11,"file":141,"line":163},"update_option_cets_topicexclude",1141,{"type":138,"name":165,"callback":166,"file":141,"line":167},"wp_head","hide_privacy_stylesheet",1145,{"type":138,"name":169,"callback":170,"file":141,"line":171},"admin_menu","add_submenu",1149,{"type":138,"name":173,"callback":174,"file":141,"line":175},"network_admin_menu","add_siteadmin_page",1155,{"type":138,"name":169,"callback":174,"file":141,"line":177},1163,{"type":138,"name":179,"callback":180,"file":141,"line":181},"delete_blog","update_relationships",1169,{"type":138,"name":183,"callback":184,"file":185,"line":186},"wpmueditblogaction","cets_blogtopics_misc_actions","cets_blog_topics\\miscactions.php",13,{"type":138,"name":188,"callback":189,"file":185,"line":190},"wpmu_update_blog_options","cets_blogtopics_misc_actions_posted",18,{"type":138,"name":192,"callback":189,"file":185,"line":193},"wpmuadminedit",22,{"type":138,"name":169,"callback":195,"file":196,"line":33},"add_image_page","cets_blog_topics_sampletheme\\functions.php",{"type":144,"name":198,"callback":199,"file":200,"line":201},"generate_rewrite_rules","cets_fyi_theme_rewrites","cets_blog_topics_sampletheme\\rewrites.php",4,{"type":138,"name":203,"callback":204,"file":200,"line":205},"init","cets_fyi_theme_flush_rewrite_rules",17,{"type":144,"name":207,"callback":208,"file":200,"line":209},"query_vars","cets_fyi_theme_add_topicvar",31,{"type":144,"name":207,"callback":211,"file":200,"line":212},"cets_fyi_theme_add_sitesvar",38,{"type":138,"name":214,"callback":215,"file":200,"line":216},"template_redirect","cets_fyi_theme_template",43,{"type":138,"name":218,"callback":219,"file":220,"line":221},"widgets_init","anonymous","widgets\\cets_bt_featured_topic_with_posts.php",130,{"type":138,"name":223,"callback":224,"file":225,"line":226},"plugins_loaded","widget_cets_bt_related_blogs_init","widgets\\cets_bt_related_blogs_widget.php",136,{"type":138,"name":223,"callback":228,"file":229,"line":230},"widget_cets_bt_recent_posts_init","widgets\\cets_bt_related_posts_widget.php",158,{"type":138,"name":223,"callback":232,"file":233,"line":221},"widget_cets_bt_topic_name_init","widgets\\cets_bt_topicname_widget.php",{"type":138,"name":218,"callback":219,"file":235,"line":236},"widgets\\cets_bt_topics_with_posts.php",146,[],[],[],[],{"dangerousFunctions":242,"sqlUsage":248,"outputEscaping":270,"fileOperations":13,"externalRequests":13,"nonceChecks":44,"capabilityChecks":475,"bundledLibraries":476},[243,246],{"fn":244,"file":220,"line":221,"context":245},"create_function","add_action('widgets_init', create_function('', 'return register_widget(\"cets_bt_featured_topic_with_",{"fn":244,"file":235,"line":236,"context":247},"add_action('widgets_init', create_function('', 'return register_widget(\"cets_bt_topics_with_posts\");",{"prepared":249,"raw":108,"locations":250},45,[251,254,257,260,262,264,266,268],{"file":141,"line":252,"context":253},95,"$wpdb->get_var() with variable interpolation",{"file":141,"line":255,"context":256},133,"$wpdb->get_results() with variable interpolation",{"file":141,"line":258,"context":259},185,"$wpdb->query() with variable interpolation",{"file":141,"line":261,"context":259},186,{"file":141,"line":263,"context":256},244,{"file":141,"line":265,"context":256},260,{"file":141,"line":267,"context":253},699,{"file":141,"line":269,"context":253},707,{"escaped":271,"rawEcho":272,"locations":273},9,116,[274,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,310,311,313,315,317,319,321,323,326,328,329,331,333,336,338,340,342,343,346,347,349,351,353,355,357,360,362,365,367,369,371,373,375,377,379,381,382,384,385,387,389,390,392,393,395,397,399,401,402,404,405,406,408,410,411,412,413,415,416,417,418,419,421,423,425,426,428,429,431,433,435,437,439,440,442,444,446,448,449,450,451,452,453,455,457,459,460,461,462,463,465,466,467,468,470,472,473,474],{"file":141,"line":275,"context":276},399,"raw output",{"file":141,"line":278,"context":276},401,{"file":141,"line":280,"context":276},403,{"file":141,"line":282,"context":276},416,{"file":141,"line":284,"context":276},431,{"file":141,"line":286,"context":276},439,{"file":141,"line":288,"context":276},517,{"file":141,"line":290,"context":276},543,{"file":141,"line":292,"context":276},563,{"file":141,"line":294,"context":276},579,{"file":141,"line":296,"context":276},733,{"file":141,"line":298,"context":276},734,{"file":141,"line":300,"context":276},735,{"file":141,"line":302,"context":276},736,{"file":141,"line":304,"context":276},737,{"file":141,"line":306,"context":276},741,{"file":141,"line":308,"context":276},781,{"file":141,"line":308,"context":276},{"file":141,"line":308,"context":276},{"file":141,"line":312,"context":276},955,{"file":141,"line":314,"context":276},1002,{"file":141,"line":316,"context":276},1028,{"file":141,"line":318,"context":276},1032,{"file":141,"line":320,"context":276},1044,{"file":141,"line":322,"context":276},1050,{"file":324,"line":325,"context":276},"cets_blog_topics_sampletheme\\footer.php",5,{"file":196,"line":327,"context":276},12,{"file":196,"line":252,"context":276},{"file":196,"line":330,"context":276},96,{"file":196,"line":332,"context":276},221,{"file":334,"line":335,"context":276},"cets_blog_topics_sampletheme\\header.php",52,{"file":334,"line":337,"context":276},67,{"file":334,"line":339,"context":276},78,{"file":334,"line":341,"context":276},83,{"file":334,"line":33,"context":276},{"file":344,"line":345,"context":276},"cets_blog_topics_sampletheme\\home.php",21,{"file":344,"line":193,"context":276},{"file":344,"line":348,"context":276},24,{"file":344,"line":350,"context":276},27,{"file":344,"line":352,"context":276},64,{"file":344,"line":354,"context":276},66,{"file":344,"line":356,"context":276},69,{"file":358,"line":359,"context":276},"cets_blog_topics_sampletheme\\index.php",44,{"file":358,"line":361,"context":276},46,{"file":363,"line":364,"context":276},"cets_blog_topics_sampletheme\\sites.php",29,{"file":366,"line":327,"context":276},"cets_blog_topics_sampletheme\\tag.php",{"file":366,"line":368,"context":276},14,{"file":366,"line":370,"context":276},23,{"file":372,"line":216,"context":276},"cets_blog_topics_sampletheme\\topic.php",{"file":372,"line":374,"context":276},51,{"file":372,"line":376,"context":276},53,{"file":372,"line":378,"context":276},55,{"file":372,"line":380,"context":276},76,{"file":372,"line":380,"context":276},{"file":383,"line":327,"context":276},"cets_blog_topics_sampletheme\\topicfeed.php",{"file":383,"line":193,"context":276},{"file":383,"line":386,"context":276},26,{"file":383,"line":388,"context":276},28,{"file":383,"line":66,"context":276},{"file":383,"line":391,"context":276},37,{"file":383,"line":212,"context":276},{"file":383,"line":394,"context":276},39,{"file":383,"line":396,"context":276},41,{"file":220,"line":398,"context":276},61,{"file":220,"line":400,"context":276},62,{"file":220,"line":352,"context":276},{"file":220,"line":403,"context":276},65,{"file":220,"line":337,"context":276},{"file":220,"line":31,"context":276},{"file":220,"line":407,"context":276},74,{"file":220,"line":409,"context":276},117,{"file":220,"line":409,"context":276},{"file":220,"line":409,"context":276},{"file":220,"line":409,"context":276},{"file":220,"line":414,"context":276},118,{"file":220,"line":414,"context":276},{"file":220,"line":414,"context":276},{"file":220,"line":414,"context":276},{"file":225,"line":339,"context":276},{"file":225,"line":420,"context":276},82,{"file":225,"line":422,"context":276},121,{"file":225,"line":424,"context":276},123,{"file":229,"line":339,"context":276},{"file":229,"line":427,"context":276},81,{"file":229,"line":107,"context":276},{"file":229,"line":430,"context":276},91,{"file":229,"line":432,"context":276},134,{"file":229,"line":434,"context":276},139,{"file":229,"line":436,"context":276},141,{"file":233,"line":438,"context":276},80,{"file":233,"line":33,"context":276},{"file":233,"line":441,"context":276},87,{"file":233,"line":443,"context":276},110,{"file":233,"line":445,"context":276},111,{"file":233,"line":447,"context":276},113,{"file":233,"line":272,"context":276},{"file":235,"line":398,"context":276},{"file":235,"line":400,"context":276},{"file":235,"line":403,"context":276},{"file":235,"line":354,"context":276},{"file":235,"line":454,"context":276},68,{"file":235,"line":456,"context":276},71,{"file":235,"line":458,"context":276},77,{"file":235,"line":424,"context":276},{"file":235,"line":424,"context":276},{"file":235,"line":424,"context":276},{"file":235,"line":424,"context":276},{"file":235,"line":464,"context":276},124,{"file":235,"line":464,"context":276},{"file":235,"line":464,"context":276},{"file":235,"line":464,"context":276},{"file":235,"line":469,"context":276},127,{"file":235,"line":471,"context":276},129,{"file":235,"line":471,"context":276},{"file":235,"line":471,"context":276},{"file":235,"line":471,"context":276},1,[],[478,495,505,524,536,584,668,684],{"entryPoint":479,"graph":480,"unsanitizedCount":475,"severity":494},"custom_image_utility (cets_blog_topics_sampletheme\\functions.php:86)",{"nodes":481,"edges":491},[482,486],{"id":483,"type":484,"label":485,"file":196,"line":330},"n0","source","$_SERVER['REQUEST_URI']",{"id":487,"type":488,"label":489,"file":196,"line":330,"wp_function":490},"n1","sink","echo() [XSS]","echo",[492],{"from":483,"to":487,"sanitized":493},false,"medium",{"entryPoint":496,"graph":497,"unsanitizedCount":13,"severity":504},"\u003Cfunctions> (cets_blog_topics_sampletheme\\functions.php:0)",{"nodes":498,"edges":501},[499,500],{"id":483,"type":484,"label":485,"file":196,"line":330},{"id":487,"type":488,"label":489,"file":196,"line":330,"wp_function":490},[502],{"from":483,"to":487,"sanitized":503},true,"low",{"entryPoint":506,"graph":507,"unsanitizedCount":475,"severity":523},"set_new_blog_topic (cets_blogtopics.php:596)",{"nodes":508,"edges":520},[509,512,515],{"id":483,"type":484,"label":510,"file":141,"line":511},"$_POST",623,{"id":487,"type":513,"label":514,"file":141,"line":511},"transform","→ set_blog_topic()",{"id":516,"type":488,"label":517,"file":141,"line":518,"wp_function":519},"n2","query() [SQLi]",669,"query",[521,522],{"from":483,"to":487,"sanitized":493},{"from":487,"to":516,"sanitized":493},"high",{"entryPoint":525,"graph":526,"unsanitizedCount":475,"severity":523},"config_page (cets_blogtopics.php:765)",{"nodes":527,"edges":533},[528,531,532],{"id":483,"type":484,"label":529,"file":141,"line":530},"$_POST['blog_topic_id']",770,{"id":487,"type":513,"label":514,"file":141,"line":530},{"id":516,"type":488,"label":517,"file":141,"line":518,"wp_function":519},[534,535],{"from":483,"to":487,"sanitized":493},{"from":487,"to":516,"sanitized":493},{"entryPoint":537,"graph":538,"unsanitizedCount":201,"severity":523},"cets_bc_management_page (cets_blogtopics.php:827)",{"nodes":539,"edges":575},[540,543,545,547,550,553,556,560,563,566,569,572],{"id":483,"type":484,"label":541,"file":141,"line":542},"$_POST['topic']",833,{"id":487,"type":513,"label":544,"file":141,"line":542},"→ update_topic()",{"id":516,"type":488,"label":517,"file":141,"line":546,"wp_function":519},678,{"id":548,"type":484,"label":541,"file":141,"line":549},"n3",837,{"id":551,"type":513,"label":552,"file":141,"line":549},"n4","→ add_topic()",{"id":554,"type":488,"label":517,"file":141,"line":555,"wp_function":519},"n5",684,{"id":557,"type":484,"label":558,"file":141,"line":559},"n6","$_POST['topicid']",842,{"id":561,"type":513,"label":562,"file":141,"line":559},"n7","→ delete_topic()",{"id":564,"type":488,"label":517,"file":141,"line":565,"wp_function":519},"n8",722,{"id":567,"type":484,"label":529,"file":141,"line":568},"n9",847,{"id":570,"type":513,"label":571,"file":141,"line":568},"n10","→ set_featured_topic()",{"id":573,"type":488,"label":517,"file":141,"line":574,"wp_function":519},"n11",692,[576,577,578,579,580,581,582,583],{"from":483,"to":487,"sanitized":493},{"from":487,"to":516,"sanitized":493},{"from":548,"to":551,"sanitized":493},{"from":551,"to":554,"sanitized":493},{"from":557,"to":561,"sanitized":493},{"from":561,"to":564,"sanitized":493},{"from":567,"to":570,"sanitized":493},{"from":570,"to":573,"sanitized":493},{"entryPoint":585,"graph":586,"unsanitizedCount":271,"severity":523},"\u003Ccets_blogtopics> (cets_blogtopics.php:0)",{"nodes":587,"edges":648},[588,591,592,593,594,595,596,597,598,599,600,601,602,604,606,608,610,612,614,616,618,621,624,629,632,635,637,640,643],{"id":483,"type":484,"label":589,"file":141,"line":590},"$_POST (x6)",615,{"id":487,"type":488,"label":517,"file":141,"line":518,"wp_function":519},{"id":516,"type":484,"label":510,"file":141,"line":511},{"id":548,"type":513,"label":514,"file":141,"line":511},{"id":551,"type":488,"label":517,"file":141,"line":518,"wp_function":519},{"id":554,"type":484,"label":529,"file":141,"line":530},{"id":557,"type":513,"label":514,"file":141,"line":530},{"id":561,"type":488,"label":517,"file":141,"line":518,"wp_function":519},{"id":564,"type":484,"label":541,"file":141,"line":542},{"id":567,"type":513,"label":544,"file":141,"line":542},{"id":570,"type":488,"label":517,"file":141,"line":546,"wp_function":519},{"id":573,"type":484,"label":541,"file":141,"line":549},{"id":603,"type":513,"label":552,"file":141,"line":549},"n12",{"id":605,"type":488,"label":517,"file":141,"line":555,"wp_function":519},"n13",{"id":607,"type":484,"label":558,"file":141,"line":559},"n14",{"id":609,"type":513,"label":562,"file":141,"line":559},"n15",{"id":611,"type":488,"label":517,"file":141,"line":565,"wp_function":519},"n16",{"id":613,"type":484,"label":529,"file":141,"line":568},"n17",{"id":615,"type":513,"label":571,"file":141,"line":568},"n18",{"id":617,"type":488,"label":517,"file":141,"line":574,"wp_function":519},"n19",{"id":619,"type":484,"label":510,"file":141,"line":620},"n20",1185,{"id":622,"type":513,"label":623,"file":141,"line":620},"n21","→ get_topic_name()",{"id":625,"type":488,"label":626,"file":141,"line":627,"wp_function":628},"n22","get_var() [SQLi]",237,"get_var",{"id":630,"type":484,"label":510,"file":141,"line":631},"n23",1207,{"id":633,"type":513,"label":634,"file":141,"line":631},"n24","→ get_recent_posts_from_topic_id_html()",{"id":636,"type":488,"label":489,"file":141,"line":282,"wp_function":490},"n25",{"id":638,"type":484,"label":510,"file":141,"line":639},"n26",1229,{"id":641,"type":513,"label":642,"file":141,"line":639},"n27","→ get_topic()",{"id":644,"type":488,"label":645,"file":141,"line":646,"wp_function":647},"n28","get_row() [SQLi]",267,"get_row",[649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667],{"from":483,"to":487,"sanitized":503},{"from":516,"to":548,"sanitized":493},{"from":548,"to":551,"sanitized":493},{"from":554,"to":557,"sanitized":493},{"from":557,"to":561,"sanitized":493},{"from":564,"to":567,"sanitized":493},{"from":567,"to":570,"sanitized":493},{"from":573,"to":603,"sanitized":493},{"from":603,"to":605,"sanitized":493},{"from":607,"to":609,"sanitized":493},{"from":609,"to":611,"sanitized":493},{"from":613,"to":615,"sanitized":493},{"from":615,"to":617,"sanitized":493},{"from":619,"to":622,"sanitized":493},{"from":622,"to":625,"sanitized":493},{"from":630,"to":633,"sanitized":493},{"from":633,"to":636,"sanitized":493},{"from":638,"to":641,"sanitized":493},{"from":641,"to":644,"sanitized":493},{"entryPoint":669,"graph":670,"unsanitizedCount":44,"severity":523},"cets_blogtopics_misc_actions_posted (cets_blog_topics\\miscactions.php:54)",{"nodes":671,"edges":679},[672,673,674,676,677,678],{"id":483,"type":484,"label":510,"file":185,"line":352},{"id":487,"type":513,"label":514,"file":185,"line":352},{"id":516,"type":488,"label":517,"file":141,"line":675,"wp_function":519},671,{"id":548,"type":484,"label":529,"file":185,"line":352},{"id":551,"type":513,"label":514,"file":185,"line":352},{"id":554,"type":488,"label":517,"file":141,"line":518,"wp_function":519},[680,681,682,683],{"from":483,"to":487,"sanitized":493},{"from":487,"to":516,"sanitized":493},{"from":548,"to":551,"sanitized":493},{"from":551,"to":554,"sanitized":493},{"entryPoint":685,"graph":686,"unsanitizedCount":44,"severity":523},"\u003Cmiscactions> (cets_blog_topics\\miscactions.php:0)",{"nodes":687,"edges":694},[688,689,690,691,692,693],{"id":483,"type":484,"label":510,"file":185,"line":352},{"id":487,"type":513,"label":514,"file":185,"line":352},{"id":516,"type":488,"label":517,"file":141,"line":675,"wp_function":519},{"id":548,"type":484,"label":529,"file":185,"line":352},{"id":551,"type":513,"label":514,"file":185,"line":352},{"id":554,"type":488,"label":517,"file":141,"line":518,"wp_function":519},[695,696,697,698],{"from":483,"to":487,"sanitized":493},{"from":487,"to":516,"sanitized":493},{"from":548,"to":551,"sanitized":493},{"from":551,"to":554,"sanitized":493},{"summary":700,"deductions":701},"The \"blog-topics\" plugin v1.2 presents a mixed security posture. While it boasts zero known CVEs, a small attack surface, and a good percentage of SQL queries using prepared statements, several concerning code signals and taint analysis results warrant attention.\n\nThe significant number of flows with unsanitized paths, specifically six high-severity ones, is a critical red flag. This strongly suggests that user-supplied data is not being properly validated or escaped before being used in sensitive operations, potentially leading to cross-site scripting (XSS) or other injection vulnerabilities. Furthermore, the plugin uses the deprecated and inherently insecure `create_function` function twice, which can be a vector for code execution if not handled with extreme caution. The low rate of proper output escaping (7%) amplifies the risk posed by unsanitized inputs.\n\nDespite the lack of historical vulnerabilities, the current static analysis reveals significant potential weaknesses. The plugin demonstrates good practices in avoiding external requests and file operations, and it includes some nonce and capability checks. However, the high number of high-severity taint flows and the poor output escaping significantly outweigh these positives. The conclusion is that while the plugin has not yet been exploited or publicly documented with vulnerabilities, the static analysis points to a high likelihood of exploitable issues, particularly around input sanitization and output encoding.",[702,705,707,709,711],{"reason":703,"points":704},"High severity unsanitized taint flows",15,{"reason":706,"points":108},"Use of dangerous function 'create_function'",{"reason":708,"points":30},"Low percentage of properly escaped output",{"reason":710,"points":475},"Some capability checks present",{"reason":712,"points":475},"Some nonce checks present","2026-03-17T00:29:32.276Z",{"wat":715,"direct":720},{"assetPaths":716,"generatorPatterns":717,"scriptPaths":718,"versionParams":719},[],[],[],[],{"cssClasses":721,"htmlComments":722,"htmlAttributes":724,"restEndpoints":727,"jsGlobals":728,"shortcodeOutput":731},[],[723],"\u003C!-- Widget: Blog Topics -->",[725,726],"data-blog_id","data-topic_id",[],[729,730],"cets_blog_topics","cets_blogtopics_setup",[732],"[blog_topics]"]