{"id":27009,"date":"2013-12-31T04:52:53","date_gmt":"2013-12-31T04:52:53","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/clean-zombie-users\/"},"modified":"2014-01-01T14:31:02","modified_gmt":"2014-01-01T14:31:02","slug":"clean-zombie-users","status":"closed","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/clean-zombie-users\/","author":9169033,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.4f","stable_tag":"0.4f","tested":"3.7.41","requires":"3.0.1","requires_php":"","requires_plugins":"","header_name":"Clean Up Zombie Users","header_author":"Imperative Ideas","header_description":"","assets_banners_color":"","last_updated":"2014-01-01 14:31:02","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"http:\/\/imperativeideas.com","header_author_uri":"http:\/\/imperativeideas.com\/","rating":4.4,"author_block_rating":0,"active_installs":40,"downloads":3987,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":[],"upgrade_notice":{"":"<p>Resolved plugin-breaking bugs with both roles and limiters since the initial release (0.4d). Update recommended.<\/p>"},"ratings":{"1":"1","2":0,"3":0,"4":"1","5":"6"},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.4d","0.4e","0.4f"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":"830699","resolution":"1","location":"assets"},"screenshot-2.png":{"filename":"screenshot-2.png","revision":"830641","resolution":"2","location":"assets"}},"screenshots":{"1":"The plugin options screen","2":"Successful Operation Screen"}},"plugin_section":[],"plugin_tags":[83,599,1917],"plugin_category":[54],"plugin_contributors":[85569],"plugin_business_model":[],"class_list":["post-27009","plugin","type-plugin","status-closed","hentry","plugin_tags-admin","plugin_tags-spam","plugin_tags-users","plugin_category-security-and-spam-protection","plugin_contributors-ianarmstrong","plugin_committers-ianarmstrong"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/clean-zombie-users.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/clean-zombie-users\/assets\/screenshot-1.png?rev=830699","caption":"The plugin options screen"},{"src":"https:\/\/ps.w.org\/clean-zombie-users\/assets\/screenshot-2.png?rev=830641","caption":"Successful Operation Screen"}],"raw_content":"<!--section=description-->\n<p>Anyone who has run a WordPress site for more than a few weeks knows that 95% of all site registrations typically come from spammers. When they can't get a comment approved, they just sit in the database, clogging up the works.<\/p>\n\n<p>We call these folks <strong>zombie users<\/strong>, and they're <em>coming for your brains<\/em>.<\/p>\n\n<p>This is a plugin designed to do one thing: clean up zombie users.<\/p>\n\n<p>If you have a WordPress site with lots spammer registrations, this plugin will delete any user who has never had a post or comment approved. Zombie Users... BRAAAAINS.<\/p>\n\n<h4>Included Features:<\/h4>\n\n\n\n<ul>\n<li>Target specific user roles for deletion based on whether they have ever posted or commented<\/li>\n<li>Includes a test mode to see what the results will be<\/li>\n<li>Includes the ability to delete users in chunks, for large sites.<\/li>\n<\/ul>\n\n<h4>To Do:<\/h4>\n\n\n\n<p>An [x] indicates this is done in the development version<\/p>\n\n<ul>\n<li>[ ] Allow newer users to be excluded<\/li>\n<li>[ ] Build in logic for all major e-commerce plugins so that paying customers can't be pruned<\/li>\n<li>[ ] Boolean values don't really need to be sanitized, but we're going to do it anyway<\/li>\n<li>[ ] Save selections as session data between submit &amp; results<\/li>\n<li>[x] Trim \" | User Role\" from the end of role listings on older WP sites.<\/li>\n<li>[ ] Need to make the entire introductory message change after a post<\/li>\n<li>[ ] Need to put the deleted users list into a scrolling DIV<\/li>\n<li>[ ] Investigate AJAX updates as the plugin works<\/li>\n<li>[ ] Investigate the ability to protect users without changing their roles<\/li>\n<li>[ ] Investigate the ability to line-item delete users, or remove them from the operation<\/li>\n<\/ul>\n\n<h4>Ongoing Development<\/h4>\n\n\n\n<p>If you would like to contribute something, find the plugin at:\nhttps:\/\/github.com\/isarmstrong\/clean-zombie-users<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload plugin to the \"\/wp-content\/plugins\/\" directory.<\/li>\n<li>Activate the plugin through the \"Plugins\" menu in WordPress.<\/li>\n<li>Visit the options page in your administrative settings and get cleaning<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>0.4f<\/h4>\n\n<ul>\n<li>Accidentally reverted a few lines in the limiter check to 4.0b, causing a bug in that feature. Resolved<\/li>\n<li>Updated the never-comment\/never-post logic to avoid undefined variables in certain situations<\/li>\n<li>Questioned whether I'm even going to leave the office in time for New Years Eve<\/li>\n<\/ul>\n\n<h4>0.4e<\/h4>\n\n<ul>\n<li>Fixed an issue with key =&gt; value pairs when determining roles for auto-inclusion. Primarily affected older installations<\/li>\n<\/ul>\n\n<h4>0.4d<\/h4>\n\n<ul>\n<li>Properly sanitized the text field for limiting results<\/li>\n<\/ul>\n\n<h4>0.4c<\/h4>\n\n<ul>\n<li>Broke up the plugin into smaller files for greater readability<\/li>\n<li>Properly enqueued styles &amp; scripts<\/li>\n<\/ul>\n\n<h4>0.4b<\/h4>\n\n<ul>\n<li>Fixed the undefined index in dynamic variables on lines 71 and 72.<\/li>\n<li>Fixed a jQuery mistake in the confirmation conditional<\/li>\n<li>Plugin now 100% error free in testing.<\/li>\n<\/ul>\n\n<h4>0.4a<\/h4>\n\n<ul>\n<li>Fixed the has_cap warning by changing \"8\" to \"manage_options\" in option page permissions<\/li>\n<\/ul>","raw_excerpt":"If you have a WordPress site with lots spammer registrations, this plugin will delete any user who has never had a post or comment approved.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/27009","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=27009"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ianarmstrong"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=27009"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=27009"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=27009"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=27009"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=27009"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=27009"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}