diff --git a/bin/noblogs.in b/bin/noblogs.in index e912cae6413f832a24ad137e1f08f852efca7c2a..d93f49770d1ebe25a4c40962175714bbe5f10805 100755 --- a/bin/noblogs.in +++ b/bin/noblogs.in @@ -117,7 +117,7 @@ function do_get_option($args) { foreach (array_splice($args, 1) as $arg) { $blog = noblogs_get_blog($arg); if (!$blog) { - echo "Blog {$arg} not found.\n"; + error_log("blog {$arg} not found"); continue; } @@ -151,7 +151,7 @@ function do_set_option($args) { foreach ($args as $arg) { $blog = noblogs_get_blog($arg); if (!$blog) { - echo "Blog {$arg} not found.\n"; + error_log("blog {$arg} not found"); continue; } @@ -174,7 +174,7 @@ function do_set_theme($args) { foreach ($args as $arg) { $blog = noblogs_get_blog($arg); if (!$blog) { - echo "Blog {$arg} not found.\n"; + error_log("blog {$arg} not found"); continue; } @@ -229,7 +229,7 @@ function do_check_upgrade($args) { foreach ($args as $arg) { $blog = noblogs_get_blog($arg); if (!$blog) { - echo "Blog {$arg} not found.\n"; + error_log("blog {$arg} not found"); continue; } switch_to_blog($blog->blog_id); @@ -250,7 +250,7 @@ function do_upgrade($args) { foreach ($args as $arg) { $blog = noblogs_get_blog($arg); if (!$blog) { - echo "Blog {$arg} not found.\n"; + error_log("blog {$arg} not found"); continue; } switch_to_blog($blog->blog_id); @@ -264,14 +264,14 @@ function do_upgrade($args) { function do_run_cron($args) { add_filter('wp_doing_cron', function($args) { return true; }); foreach ($args as $arg) { - $blog = noblogs_get_blog($arg); - if (!$blog) { - echo "Blog {$arg} not found.\n"; + $blog_id = noblogs_get_blog_id($arg); + if ($blog_id < 0) { + error_log("blog {$arg} not found"); continue; } - switch_to_blog($blog->blog_id); + echo "{$blog_id}\n"; + switch_to_blog($blog_id); noblogs_run_cron_for_current_blog(); - echo "{$arg}: ok\n"; restore_current_blog(); } remove_all_filters('wp_doing_cron'); @@ -283,11 +283,11 @@ function do_check_spam($args) { foreach ($args as $arg) { $blog = noblogs_get_blog($arg); if (!$blog) { - echo "Blog {$arg} not found.\n"; + error_log("blog {$arg} not found"); continue; } $spam = $wpdb->get_var("SELECT count(*) FROM wp_".$blog->blog_id ."_comments where comment_approved = 'spam';"); - $spamcount+=$spam; + $spamcount += $spam; printf("%s - %d : %d\n", $blog->domain, $blog->blog_id, $spam); } printf("Found %d spam comments\n", $spamcount); @@ -298,7 +298,7 @@ function do_nuke_spam($args) { foreach ($args as $arg) { $blog = noblogs_get_blog($arg); if (!$blog) { - echo "Blog {$arg} not found.\n"; + error_log("blog {$arg} not found"); continue; } $spam = $wpdb->get_var("DELETE FROM wp_".$blog->blog_id ."_comments where comment_approved = 'spam' and comment_date < '".date('Y-m-d',time() - (86400 * 60))."';"); @@ -433,7 +433,7 @@ function do_fix_cdn($args){ foreach ($args as $arg) { $blog = noblogs_get_blog($arg); if (!$blog) { - echo "{$arg}: blog not found.\n"; + error_log("blog {$arg} not found"); continue; } switch_to_blog($blog->blog_id); @@ -460,7 +460,7 @@ function do_rename_plugins($args){ foreach ($args as $arg) { $blog = noblogs_get_blog($arg); if (!$blog) { - echo "{$arg}: blog not found.\n"; + error_log("blog {$arg} not found"); continue; } switch_to_blog($blog->blog_id); @@ -492,7 +492,7 @@ function do_uninstall_plugin($args){ foreach ($args as $arg) { $blog = noblogs_get_blog($arg); if (!$blog) { - echo "{$arg}: blog not found.\n"; + error_log("blog {$arg} not found"); continue; } switch_to_blog($blog->blog_id); @@ -510,7 +510,7 @@ function do_copy_custom_css($args){ foreach ($args as $arg) { $blog = noblogs_get_blog($arg); if (!$blog) { - echo "{$arg}: blog not found.\n"; + error_log("blog {$arg} not found"); continue; } switch_to_blog($blog->blog_id); diff --git a/lib/blogs.php b/lib/blogs.php index 402fb210c12f65ecf19aa61a39d060071741b12b..a87403c3d113b9084659ddb42a6fdd6a7269a264 100644 --- a/lib/blogs.php +++ b/lib/blogs.php @@ -25,6 +25,19 @@ function noblogs_get_local_blog_objects() { return $blogs; } +// Return the blog ID, if the argument is a blog name. If it's already +// an ID, return it unchanged. +function noblogs_get_blog_id($arg) { + if (preg_match('/^\d+$/', $arg)) { + return $arg; + } + $blog = noblogs_get_blog($arg); + if (!$blog) { + return -1; + } + return $blog->blog_id; +} + // Find a blog by its name or ID. function noblogs_get_blog($blogname) { global $wpdb; diff --git a/lib/cron.php b/lib/cron.php index b93b217a4b2cc46c53c38499d223580a34791e73..4148ee785e23e6a4de19b534bb64c3b8901e52f3 100644 --- a/lib/cron.php +++ b/lib/cron.php @@ -57,6 +57,9 @@ function noblogs_run_cron_for_current_blog() { $blog_details = get_blog_details(null, false); $domain = $blog_details->domain; echo " executing wp-cli for unsafe hooks ({$domain})\n"; - system("wp cron event run --due-now --url={$domain}"); + system("wp cron event run --due-now --url={$domain}", $retval); + if ($retval != 0) { + error_log("error executing wp-cli cron runner for blog {$domain}"); + } } }