From 4ffe918589f631e282a243287e1f3eb5e82a1180 Mon Sep 17 00:00:00 2001
From: lechuck <l3chuck@autistici.org>
Date: Sat, 12 Jul 2014 10:31:41 +0000
Subject: [PATCH] Upgraded WP-Piwik to 0.9.9.12

---
 .../wp-piwik/classes/WP_Piwik_Settings.php    |   2 +-
 .../wp-piwik/languages/wp-piwik-de_DE.mo      | Bin 23110 -> 23324 bytes
 .../wp-piwik/languages/wp-piwik-de_DE.po      |   8 ++-
 wp-content/plugins/wp-piwik/readme.txt        |  21 ++++--
 .../plugins/wp-piwik/settings/tracking.php    |   5 ++
 wp-content/plugins/wp-piwik/update/91007.php  |   2 +-
 wp-content/plugins/wp-piwik/wp-piwik.php      |  64 ++++++++++++------
 7 files changed, 76 insertions(+), 26 deletions(-)

diff --git a/wp-content/plugins/wp-piwik/classes/WP_Piwik_Settings.php b/wp-content/plugins/wp-piwik/classes/WP_Piwik_Settings.php
index a6b5407a9..81c0f3b1d 100644
--- a/wp-content/plugins/wp-piwik/classes/WP_Piwik_Settings.php
+++ b/wp-content/plugins/wp-piwik/classes/WP_Piwik_Settings.php
@@ -42,6 +42,7 @@
 			'track_codeposition' => 'footer',
 			'track_datacfasync' => false,
 			'track_across' => false,
+			'track_across_alias' => false,			
 			'limit_cookies' => false,
 			'limit_cookies_visitor' => 1209600,
 			'limit_cookies_session' => 0,
@@ -156,7 +157,6 @@
 		public function checkNetworkActivation() {
 			if (!function_exists("is_plugin_active_for_network")) {
 				require_once(ABSPATH.'wp-admin/includes/plugin.php');
-				wp_cookie_constants();
 			}
 			return is_plugin_active_for_network('wp-piwik/wp-piwik.php');
 		}
diff --git a/wp-content/plugins/wp-piwik/languages/wp-piwik-de_DE.mo b/wp-content/plugins/wp-piwik/languages/wp-piwik-de_DE.mo
index 324156d7b4bdcf9b705ee9a9189fe03b0689faea..e4c598b6d12e088c3f017f052cee2018711bde99 100755
GIT binary patch
delta 4765
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

delta 4660
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
TZ__T}-JD`MUvjfW@Dp|b_n7lV

diff --git a/wp-content/plugins/wp-piwik/languages/wp-piwik-de_DE.po b/wp-content/plugins/wp-piwik/languages/wp-piwik-de_DE.po
index fd3d9dfee..d44ebb9f6 100755
--- a/wp-content/plugins/wp-piwik/languages/wp-piwik-de_DE.po
+++ b/wp-content/plugins/wp-piwik/languages/wp-piwik-de_DE.po
@@ -755,4 +755,10 @@ msgid "Track visitors across all subdomains"
 msgstr "Besucher &uuml;ber alle Subdomains aufzeichnen"
 
 msgid "Adds *.-prefix to cookie domain."
-msgstr "F&uuml;gt ein *.-Pr&auml;fix zur Cookie Domain hinzu."
\ No newline at end of file
+msgstr "F&uuml;gt ein *.-Pr&auml;fix zur Cookie Domain hinzu."
+
+msgid "Track visitors across all alias URLs"
+msgstr "Besucher &uuml;ber alle alternative URLs aufzeichnen"
+
+msgid "Adds *.-prefix to tracked domain."
+msgstr "F&uuml;gt ein *.-Pr&auml;fix zur getrackten Domain hinzu."
\ No newline at end of file
diff --git a/wp-content/plugins/wp-piwik/readme.txt b/wp-content/plugins/wp-piwik/readme.txt
index a0cd73d55..754b8cdba 100644
--- a/wp-content/plugins/wp-piwik/readme.txt
+++ b/wp-content/plugins/wp-piwik/readme.txt
@@ -2,8 +2,8 @@
 
 Contributors: Braekling
 Requires at least: 3.8
-Tested up to: 3.9
-Stable tag: 0.9.9.10
+Tested up to: 3.9.1
+Stable tag: 0.9.9.12
 Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6046779
 Tags: statistics, stats, analytics, piwik, wpmu
 
@@ -125,13 +125,26 @@ Please update Piwik if not done yet (Piwik 2.0 or higher is recommended)!
 
 == Changelog ==
 
+= 0.9.9.12 =
+* Bugfix: Avoid forced relogin on site change (WP network)
+* Bugfix: Avoid multiple annotations on post updates
+* Bugfix: User mergeSubdomains instead of mergeAliasURLs
+* Feature: Added mergeAliasURLs as additional feature
+
+= 0.9.9.11 =
+* Bugfix: PHP API causes plain text output issue, see http://wordpress.org/support/topic/bug-cant-access-to-tabs-in-setting-after-configuration
+* Bugfix: PHP API causes WordPress multisite login issue, see http://wordpress.org/support/topic/causes-multisite-superadmin-subsite-login-problem
+* Bugfix: Removed PHP warning if annotations are enabled and annotations will work again, see http://wordpress.org/support/topic/warning-message-everywhere-in-the-backend-call_user_func_array-expects
+* Feature: "Track visitors across all subdomains" script changes are done by Piwik now, see http://wordpress.org/support/topic/track-across-subdomains-wp-on-subdomain?replies=2
+* Update: Flattr API update
+
 = 0.9.9.10 =
 * Bugfix: Multisite login issue, see http://wordpress.org/support/topic/0999-multisite-frontend-not-logged-in
-* Bugfix: wpMandrall compatibility, see http://wordpress.org/support/topic/version-0999-conflicts-with-wpmandrill?replies=4
+* Bugfix: wpMandrill compatibility, see http://wordpress.org/support/topic/version-0999-conflicts-with-wpmandrill
 * Feature: Show page views (actions) in "visitors last 30"
 
 = 0.9.9.9 =
-* Update: PHP API will use namespaces (Piwik 2.x compatibility)
+* Update: PHP API will use namespaces (Piwik 2.x compatibility, PHP 5.3+ required)
 * Update: Piwik URL isn't necessary to use PHP API anymore.
 * Feature: Limit cookie lifetime
 * Feature: Track visitors across all subdomains
diff --git a/wp-content/plugins/wp-piwik/settings/tracking.php b/wp-content/plugins/wp-piwik/settings/tracking.php
index acdc75177..d0b2f52f8 100644
--- a/wp-content/plugins/wp-piwik/settings/tracking.php
+++ b/wp-content/plugins/wp-piwik/settings/tracking.php
@@ -88,6 +88,11 @@ if (self::$settings->getGlobalOption('add_tracking_code')) {
 	<label for="wp-piwik_track_across"><?php echo _e('Adds *.-prefix to cookie domain.', 'wp-piwik'); ?></label>
 </td></tr>
 
+<tr><th><?php _e('Track visitors across all alias URLs', 'wp-piwik'); ?>:</th><td>
+	<input type="checkbox" value="1" id="wp-piwik_track_across_alias" name="wp-piwik_track_across_alias"<?php echo (self::$settings->getGlobalOption('track_across_alias')?' checked="checked"':''); ?> />
+	<label for="wp-piwik_track_across_alias"><?php echo _e('Adds *.-prefix to tracked domain.', 'wp-piwik'); ?></label>
+</td></tr>
+
 <tr><th><?php _e('Track search', 'wp-piwik'); ?>:</th><td>
 	<input type="checkbox" value="1" id="wp-piwik_search" name="wp-piwik_search"<?php echo (self::$settings->getGlobalOption('track_search')?' checked="checked"':''); ?> />
 	<label for="wp-piwik_search"><?php echo _e('Use Piwik\'s advanced Site Search Analytics feature. See', 'wp-piwik'); ?> <a href="http://piwik.org/docs/javascript-tracking/#toc-tracking-internal-search-keywords-categories-and-no-result-search-keywords">Piwik Docs</a>.</label>
diff --git a/wp-content/plugins/wp-piwik/update/91007.php b/wp-content/plugins/wp-piwik/update/91007.php
index 71ab123f7..2cbf8a67f 100644
--- a/wp-content/plugins/wp-piwik/update/91007.php
+++ b/wp-content/plugins/wp-piwik/update/91007.php
@@ -1,2 +1,2 @@
 <?php
-	self::$settings->setGlobalOption('track_codeposition', footer);
\ No newline at end of file
+	self::$settings->setGlobalOption('track_codeposition', 'footer');
\ No newline at end of file
diff --git a/wp-content/plugins/wp-piwik/wp-piwik.php b/wp-content/plugins/wp-piwik/wp-piwik.php
index e33d86f2d..1cd9c58b4 100755
--- a/wp-content/plugins/wp-piwik/wp-piwik.php
+++ b/wp-content/plugins/wp-piwik/wp-piwik.php
@@ -6,7 +6,7 @@ Plugin URI: http://wordpress.org/extend/plugins/wp-piwik/
 
 Description: Adds Piwik stats to your dashboard menu and Piwik code to your wordpress header.
 
-Version: 0.9.9.10
+Version: 0.9.9.12
 Author: Andr&eacute; Br&auml;kling
 Author URI: http://www.braekling.de
 
@@ -39,8 +39,8 @@ if (!class_exists('wp_piwik')) {
 class wp_piwik {
 
 	private static
-		$intRevisionId = 92000,
-		$strVersion = '0.9.9.10',
+		$intRevisionId = 93000,
+		$strVersion = '0.9.9.12',
 		$blog_id,
 		$intDashboardID = 30,
 		$strPluginBasename = NULL,
@@ -103,7 +103,7 @@ class wp_piwik {
 				add_action('admin_head', array($this, 'addAdminHeaderTracking'));
 		}
 		if (self::$settings->getGlobalOption('add_post_annotations'))
-			add_action('transition_post_status', array($this, 'onPostStatusTransition'));
+			add_action('transition_post_status', array($this, 'onPostStatusTransition'),10,3);
 	}
 
 	private function addFilters() {
@@ -672,6 +672,7 @@ class wp_piwik {
 	 */
 	function addAdminHeaderSettings() {
 		echo '<script type="text/javascript">var $j = jQuery.noConflict();</script>';
+		echo '<script type="text/javascript">/* <![CDATA[ */(function() {var s = document.createElement(\'script\');var t = document.getElementsByTagName(\'script\')[0];s.type = \'text/javascript\';s.async = true;s.src = \'//api.flattr.com/js/0.6/load.js?mode=auto\';t.parentNode.insertBefore(s, t);})();/* ]]> */</script>';
 	}
 	
 	/**
@@ -741,6 +742,11 @@ class wp_piwik {
 			return;
 		if (PIWIK_INCLUDE_PATH === FALSE)
 			return serialize(array('result' => 'error', 'message' => __('Could not resolve','wp-piwik').' &quot;'.htmlentities(self::$settings->getGlobalOption('piwik_path')).'&quot;: '.__('realpath() returns false','wp-piwik').'.'));
+		if (!headers_sent()) {
+			$current = ob_get_contents();
+			ob_end_clean();
+			ob_start();
+		}
 		if (file_exists(PIWIK_INCLUDE_PATH . "/index.php"))
 			require_once PIWIK_INCLUDE_PATH . "/index.php";
 		if (file_exists(PIWIK_INCLUDE_PATH . "/core/API/Request.php"))
@@ -751,6 +757,11 @@ class wp_piwik {
 		if (class_exists('Piwik\API\Request'))
 			$objRequest = new Piwik\API\Request($strParams);
 		else serialize(array('result' => 'error', 'message' => __('Class Piwik\API\Request does not exists.','wp-piwik')));
+		if (!headers_sent()) {
+			ob_end_clean();
+			ob_start;
+			echo $current;
+		}
 		return $objRequest->process();		
 	}
 
@@ -857,10 +868,6 @@ class wp_piwik {
 		// Change code if POST is forced to be used
 		if (self::$settings->getGlobalOption('track_post') && self::$settings->getGlobalOption('track_mode') != 2) $strCode = str_replace("_paq.push(['trackPageView']);", "_paq.push(['setRequestMethod', 'POST']);\n_paq.push(['trackPageView']);", $strCode);
 		// Change code if cookies are disabled
-		if (self::$settings->getGlobalOption('track_across')) {
-			$referrerParsed = parse_url(get_bloginfo('url'));
-			$strCode =  str_replace("_paq.push(['trackPageView']);", "_paq.push(['setCookieDomain', '*.".$referrerParsed['host']."']);\n_paq.push(['trackPageView']);", $strCode);
-		}
 		if (self::$settings->getGlobalOption('disable_cookies')) $strCode = str_replace("_paq.push(['trackPageView']);", "_paq.push(['disableCookies']);\n_paq.push(['trackPageView']);", $strCode);
 		if (self::$settings->getGlobalOption('limit_cookies')) $strCode = str_replace("_paq.push(['trackPageView']);", "_paq.push(['setVisitorCookieTimeout', '".self::$settings->getGlobalOption('limit_cookies_visitor')."']);\n_paq.push(['setSessionCookieTimeout', '".self::$settings->getGlobalOption('limit_cookies_session')."']);\n_paq.push(['trackPageView']);", $strCode);
 		// Store <noscript> code
@@ -945,8 +952,14 @@ class wp_piwik {
 			$strURL .= '&format='.$strFormat;
 			$strURL .= ($strPageURL?'&pageUrl='.urlencode($strPageURL):'');
 			$strURL .= ($strNote?'&note='.urlencode($strNote):'');
+			if (self::$settings->getGlobalOption('track_across') && $strMethod == 'SitesManager.getJavascriptTag') {
+				$strURL .= '&mergeSubdomains=1';
+			}
+			if (self::$settings->getGlobalOption('track_across_alias') && $strMethod == 'SitesManager.getJavascriptTag') {
+				$strURL .= '&mergeAliasUrls=1';
+			}
 			// Fetch data if site exists
-			if (!empty($intSite) || $strMethod='SitesManager.getSitesWithAtLeastViewAccess') {
+			if (!empty($intSite) || $strMethod=='SitesManager.getSitesWithAtLeastViewAccess') {
 				self::$logger->log('API method: '.$strMethod.' API call: '.$strURL);
 				$strResult = (string) $this->getRemoteFile($strURL, get_bloginfo('url'));			
 				$result = ($strFormat == 'PHP'?unserialize($strResult):$strResult);
@@ -1210,6 +1223,7 @@ class wp_piwik {
 				self::$settings->setGlobalOption('track_feed_addcampaign', (isset($_POST['wp-piwik_trackfeed_addcampaign'])?$_POST['wp-piwik_trackfeed_addcampaign']:false));
 				self::$settings->setGlobalOption('track_datacfasync', (isset($_POST['wp-piwik_datacfasync'])?$_POST['wp-piwik_datacfasync']:false));
 				self::$settings->setGlobalOption('track_across', (isset($_POST['wp-piwik_track_across'])?$_POST['wp-piwik_track_across']:false));
+				self::$settings->setGlobalOption('track_across_alias', (isset($_POST['wp-piwik_track_across_alias'])?$_POST['wp-piwik_track_across_alias']:false));
 				self::$settings->setGlobalOption('add_post_annotations', (isset($_POST['wp-piwik_annotations'])?$_POST['wp-piwik_annotations']:false));
 				self::$settings->setGlobalOption('add_customvars_box', (isset($_POST['wp-piwik_customvars'])?$_POST['wp-piwik_customvars']:false));
 				self::$settings->setGlobalOption('capability_stealth', (isset($_POST['wp-piwik_filter'])?$_POST['wp-piwik_filter']:array()));
@@ -1275,11 +1289,20 @@ class wp_piwik {
 		<div class="wp-piwik-donate">
 			<p><strong><?php _e('Donate','wp-piwik'); ?></strong></p>
 			<p><?php _e('If you like WP-Piwik, you can support its development by a donation:', 'wp-piwik'); ?></p>
+			<script type="text/javascript">
+			/* <![CDATA[ */
+			window.onload = function() {
+        		FlattrLoader.render({
+            		'uid': 'flattr',
+            		'url': 'http://wp.local',
+            		'title': 'Title of the thing',
+            		'description': 'Description of the thing'
+				}, 'element_id', 'replace');
+			}
+			/* ]]> */
+			</script>
 			<div>
-				<script type="text/javascript">
-					var flattr_url = 'http://www.braekling.de/wp-piwik-wpmu-piwik-wordpress';
-				</script>
-				<script src="http<?php echo (self::isSSL()?'s':''); ?>://api.flattr.com/button/load.js" type="text/javascript"></script>
+				<a class="FlattrButton" style="display:none;" title="WordPress Plugin WP-Piwik" rel="flattr;uid:braekling;category:software;tags:wordpress,piwik,plugin,statistics;" href="https://www.braekling.de/wp-piwik-wpmu-piwik-wordpress">This WordPress plugin adds a Piwik stats site to your WordPress dashboard. It's also able to add the Piwik tracking code to your blog using wp_footer. You need a running Piwik installation and at least view access to your stats.</a>
 			</div>
 			<div>Paypal
 				<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
@@ -1427,11 +1450,14 @@ class wp_piwik {
 	}
 
 	private static function definePiwikConstants() {
-		define('PIWIK_INCLUDE_PATH', self::$settings->getGlobalOption('piwik_path'));
-		define('PIWIK_USER_PATH', self::$settings->getGlobalOption('piwik_path'));
-		define('PIWIK_ENABLE_DISPATCH', false);
-		define('PIWIK_ENABLE_ERROR_HANDLER', false);
-		define('PIWIK_ENABLE_SESSION_START', false);
+		if (!defined('PIWIK_INCLUDE_PATH')) {
+			@header('Content-type: text/xml');
+			define('PIWIK_INCLUDE_PATH', self::$settings->getGlobalOption('piwik_path'));
+			define('PIWIK_USER_PATH', self::$settings->getGlobalOption('piwik_path'));
+			define('PIWIK_ENABLE_DISPATCH', false);
+			define('PIWIK_ENABLE_ERROR_HANDLER', false);
+			define('PIWIK_ENABLE_SESSION_START', false);
+		}
 	}
 	
 	private function openLogger() {
@@ -1490,7 +1516,7 @@ class wp_piwik {
 		$this->addNoscriptCode();
 	}
 	
-	private function onPostStatusTransition($newStatus, $oldStatus = 'false', $post = null) {
+	public function onPostStatusTransition($newStatus, $oldStatus, $post) {
 		if ($newStatus == 'publish' && $oldStatus != 'publish' ) {
 			add_action('publish_post', array($this, 'addPiwikAnnotation'));
 		}
-- 
GitLab