From 05ed76d010b62443f7ab4f7537c3a744de38bfda Mon Sep 17 00:00:00 2001
From: lucha <lucha@paranoici.org>
Date: Mon, 12 Nov 2018 16:32:24 -0800
Subject: [PATCH] added wp-piwik-clear-conf command

---
 bin/noblogs.in     |  3 +++
 lib/noblogs.php.in |  1 +
 lib/wp-piwik.php   | 61 ++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 65 insertions(+)
 create mode 100644 lib/wp-piwik.php

diff --git a/bin/noblogs.in b/bin/noblogs.in
index afa4fea..a222008 100755
--- a/bin/noblogs.in
+++ b/bin/noblogs.in
@@ -84,6 +84,9 @@ Known commands:
   uninstall-plugin PLUGIN BLOG
       Runs unistall action for PLUGIN.
 
+  wp-piwik-clear-config BLOG
+      Clear the configuration for wp-piwik plugin.
+
 <?php
   exit(1);
 }
diff --git a/lib/noblogs.php.in b/lib/noblogs.php.in
index 7bf4420..4f5ca72 100644
--- a/lib/noblogs.php.in
+++ b/lib/noblogs.php.in
@@ -10,6 +10,7 @@ require_once(dirname(__FILE__) . '/blogs.php');
 require_once(dirname(__FILE__) . '/cron.php');
 require_once(dirname(__FILE__) . '/friends.php');
 require_once(dirname(__FILE__) . '/editfiles.php');
+require_once(dirname(__FILE__) . '/wp-piwik.php');
 
 // Load the Wordpress api.
 define('WP_CACHE',false);
diff --git a/lib/wp-piwik.php b/lib/wp-piwik.php
new file mode 100644
index 0000000..870066c
--- /dev/null
+++ b/lib/wp-piwik.php
@@ -0,0 +1,61 @@
+<?php
+
+function do_wp_piwik_clear_config($args){
+
+    $wp_piwik_options_to_delete = array(
+        'wp-piwik_displayto',
+        'wp-piwik_revision',
+        'wp-piwik-track_404'
+    );
+
+    $wp_piwik_options_to_blank = array(
+        'wp-piwik-name',
+        'wp-piwik-noscript_code',
+        'wp-piwik-site_id',
+        'wp-piwik-tracking_code'
+    );
+
+    foreach ($args as $arg) {
+        $blog = noblogs_get_blog($arg);
+        if (!$blog) {
+            echo "Blog {$arg} not found.\n";
+            continue;
+        }
+        switch_to_blog($blog->blog_id);
+        echo "Clearing options for wp-piwik for blog {$arg}\n";
+
+        foreach ($wp_piwik_options_to_delete as $opt) {
+            if (get_option($opt)){
+                echo "Deleting option {$opt}\n";
+                delete_option($opt);
+            }
+        }
+        foreach ($wp_piwik_options_to_blank as $opt) {
+            echo "Clearing option {$opt}\n";
+            update_option($opt,'');
+        }
+
+        restore_current_blog();
+    }
+}
+
+// [*] functioning site
+//  *  wp-piwik-dashboard_revision
+//     wp-piwik_displayto
+//  *  wp-piwik-last_tracking_code_update
+//  *  wp-piwik-name
+//  *  wp-piwik-noscript_code
+//     wp-piwik_revision
+//  *  wp-piwik-site_id
+//     wp-piwik-track_404
+//  *  wp-piwik-tracking_code
+//         +------------------------------------+--------------+
+//         | option_name                        | option_value |
+//         +------------------------------------+--------------+
+//         | wp-piwik-dashboard_revision        | 0            |
+//         | wp-piwik-last_tracking_code_update | 1541989337   |
+//         | wp-piwik-name                      |              |
+//         | wp-piwik-noscript_code             |              |
+//         | wp-piwik-site_id                   |              |
+//         | wp-piwik-tracking_code             |              |
+//         +------------------------------------+--------------+
-- 
GitLab