=== WP-Piwik ===

Contributors: Braekling
Requires at least: 4.0
Tested up to: 4.1.1
Stable tag: 0.9.9.18
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6046779
Tags: statistics, stats, analytics, piwik, wpmu

This plugin adds a Piwik stats site to your WordPress or WordPress multisite dashboard.

== Description ==

This 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.

To use this plugin you will need your own Piwik instance. If you do not already have a Piwik setup, you have two simple options: use either [Self-hosted](http://piwik.org/) (**Piwik 2.7.0 or higher**) or [Cloud-hosted](http://piwik.org/hosting/). 

**PHP 5.3 or higher** is strictly required.
 
*This plugin is not created or provided by the Piwik project team.*

Languages: English, German, Albanian, Azerbaijani, Belorussian, Chinese (simplified), Dutch, French, Greek, Italian, Lithuanian, Norwegian, Persian, Romanian, Russian, Spanish, Swedish, Ukrainian

*Note: If you vote "It's broken", please tell me about your problem. It's hard to fix a bug I don't know about! ;-)*

= Shortcodes =
You can use following shortcodes if activated:

    [wp-piwik module="overview" title="" period="day" date="yesterday"]
Shows overview table like WP-Piwik's overview dashboard. See Piwik API documentation on VisitsSummary.get to get more information on period and day. Multiple data arrays will be cumulated. If you fill the title attribute, its content will be shown in the table's title.

    [wp-piwik module="opt-out" language="en" width="100%" height="200px"]
Shows the Piwik opt-out Iframe. You can change the Iframe's language by the language attribute (e.g. de for German language) and its width and height using the corresponding attributes.

	[wp-piwik module="post" range="last30" key="sum_daily_nb_uniq_visitors"]
Shows the chosen keys value related to the current post. You can define a range (format: lastN, previousN or YYYY-MM-DD,YYYY-MM-DD) and the desired value's key (e.g., sum_daily_nb_uniq_visitors, nb_visits or nb_hits - for details see Piwik's API method Actions.getPageUrl using a range).

	[wp-piwik]
is equal to *[wp-piwik module="overview" title="" period="day" date="yesterday"]*.

More shortcodes will follow soon.

= WP multisite =

See section "Installation".

= Credits =

* Graphs powered by [jqPlot](http://www.jqplot.com/) (GPL 2.0 and MIT) and  and [jQuery Sparklines](http://omnipotent.net/jquery.sparkline/) (New BSD License).
* Metabox support inspired by [Heiko Rabe's metabox demo plugin](http://www.code-styling.de/english/how-to-use-wordpress-metaboxes-at-own-plugins).
* Translation credits see plugin settings
* Donations: Marco L., Rolf W., Tobias U., Lars K., Donna F., Kevin D., Ramos S., Thomas M., John C., Andreas G., Ben M., Myra R. I., Carlos U. R.-S., Oleg I., M. N., Daniel K., James L., Jochen K., the Piwik team itself, and all people flattering this.
* All users who send me mails containing criticism, commendation, feature requests and bug reports - you help me to make WP-Piwik much better!

Thank you all!

== Frequently Asked Questions ==

= Where can I find the Piwik URL and the Piwik auth token? =

To use this plugin you will need your own Piwik instance. If you do not already have a Piwik setup, you have two simple options: use either [Self-hosted](http://piwik.org/) or [Cloud-hosted](http://piwik.org/hosting/). 

As soon as Piwik works, you'll be able to configure WP-Piwik: The Piwik URL is the same URL you use to access your Piwik, e.g. for the demo site: http://demo.piwik.org. The auth token is some kind of secret password, which allows WP-Piwik to get the necessary data from Piwik. To get your auth token, log in to Piwik, click at your user name (top right) and click at "API" (left sidebar menu). E.g., on (this demo site)[http://demo.piwik.org/index.php?module=API&action=listAllAPI&idSite=7&period=day&date=yesterday] you can see the auth token "anonymous".

= How to reset/remove all WP-Piwik settings without uninstalling? =

Login to your admin dashboard and open http://YOUR_BLOG_URL/wp-admin/options-general.php?page=wp-piwik/wp-piwik.php&tab=support&mode=resetconfirmed&full=1

= Tracking does not work on HostGator! / The test script shows an empty response. =

Try to enable the "avoid mod_security" option (WP-Piwik settings, Tracking tab) or create a mod_security whitelist.

= WP-Piwik does not work with SSL! =

See [this support thread](http://wordpress.org/support/topic/plugin-wp-piwik-https-ssl-support?replies=3).

= Overview shortcode shows no unique visitors using a yearly range. =
See [Piwik FAQ](http://piwik.org/faq/how-to/#faq_113).

= Can I also access some Piwik values using a PHP call? =

Yes, you can access also available shortcodes using PHP, too. See this example:
echo $GLOBALS['wp_piwik']->shortcode(array('module' => 'post', 'range' => 'last300', 'key' => 'sum_daily_nb_uniq_visitors'));

== Installation ==

= Install WP-Piwik on a simple WordPress blog =

1. Upload the full `wp-piwik` directory into your `wp-content/plugins` directory.

2. Activate the plugin through the 'Plugins' menu in WordPress. 

3. Open the new 'Settings/WP-Piwik Settings' menu, enter your Piwik base URL and your auth token. Save settings.

4. If you have view access to multiple site stats and did not enable "auto config", choose your blog and save settings again.

5. Look at 'Dashboard/WP-Piwik' to get your site stats.

= Install WP-Piwik on a WordPress blog network (WPMU/WP multisite) =

There are two differents methods to use WP-Piwik in a multisite environment:
* As a Site Specific Plugin it behaves like a plugin installed on a simple WordPress blog. Each user can enable, configure and use WP-Piwik on his own. Users can even use their own Piwik instances (and accordingly they have to). 
* Using WP-Piwik as a Network Plugin equates to a central approach. A single Piwik instance is used and the site admin configures the plugin completely. Users are just allowed to see their own statistics, site admins can see each blog's stats.

*Site Specific Plugin*

Just add WP-Piwik to your /wp-content/plugins folder and enable the Plugins page for individual site administrators. Each user has to enable and configure WP-Piwik on his own if he want to use the plugin.

*Network Plugin*

The Network Plugin support is still experimental. Please test it on your own (e.g. using a local copy of your WP multisite) before you use it in an user context.

Add WP-Piwik to your /wp-content/plugins folder and enable it as [Network Plugin](http://codex.wordpress.org/Create_A_Network#WordPress_Plugins). Users can access their own statistics, site admins can access each blog's statistics and the plugin's configuration.

== Screenshots ==

1. WP-Piwik settings.
2. WP-Piwik statistics page.
3. Closer look to a pie chart.
4. WordPress toolbar graph.

== Upgrade Notice ==

Please update Piwik if not done yet (Piwik 2.7 or higher is recommended). 

== Changelog ==

= 0.9.9.18 =
* Improvement: Define additional file extensions for tracking downloads
* Improvement: Added a POT file to support translators (Note: 1.0 will change a lot, so please don't spend too much time in translating the current version, e.g., by creating an all new translation. With 1.0 I will also offer a translation platform to support your work.)
* Improvement: If necessary, you can force Piwik to use HTTP or HTTPS now (e.g., to avoid redirections from http to https)
* Avoided a naming collision with Woo Theme

= 0.9.9.17 =
* Improvement: Updated the Piwik proxy script and added cURL support if url_fopen is not available
* Bugfix: Setup bug, see https://wordpress.org/support/topic/piwik-urlpath-not-saved
* Bugfix: CDN URL notice, see https://wordpress.org/support/topic/tracking-cdn-blank-gives-php-notice-which-breaks-the-trackback-js-code
* Bugfix: Fixed zlib compression notice, see https://wordpress.org/support/topic/v09914-is-bad
* Bugfix: Proxy script label links to proxy script checkbox
* Fixed a typo in German language file

= 0.9.9.16 =
* Bugfix: PHP API causes plain text output issue (see 0.9.9.11)
* Bugfix: Shortcode output translated

= 0.9.9.15 =
* Bugfix: One more commit error
* Bugfix: Adding up problem related to the overview widget
* Bugfix: Fixes missing brackets on ob_start
* Hotfix: Adds /0.9.9.15 to js/index.php to force a reload
* Bugifx: Replaced broken support link
* Added a bitcoin donation link

= 0.9.9.14 =
* Bugfix: Commit errors in 0.9.9.13

= 0.9.9.13 =
* Improvement: Only activate/ load admin components if an admin page is actually loaded. Thanks to Michael!
* Bugfix: Proxy tracking will work again. Piwik 2.7 or higher is recommended.
* Bugfix: Avoid a PHP notice in dashboard
* NOTE: If you update Piwik and use the "add tracking code" feature, please also update your WP-Piwik tracking code: Just open the WP-Piwik tracking code settings and save them again. 

= 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: 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: Piwik URL isn't necessary to use PHP API anymore.
* Feature: Limit cookie lifetime
* Feature: Track visitors across all subdomains
* Feature: Disable custom var box if necessary
* Feature: Choose if you like to add the tracking code to your site's footer or header
* Feature: New shortcode (post)
* Feature: Add data-cfasync=false to script tag if necessary.
* Feature: Add annotations on new posts, see http://linuxundich.de/webhosting/beim-veroeffentlichen-von-wordpress-posts-eine-anmerkung-in-piwik-setzen/
* Bugfix: Do not load sparklines plugin if toolbar not shown
* Bugfix: PHP API will work again (urlencoding removed)
* jqPlot and jquery.sparkline updated
* Partly refactored code

= 0.9.9.8 =
* Feature: Per post stats (shown at the edit post page)
* Feature: Track RSS views using a measurement pixel

= 0.9.9.7 =
* Bugfix: Error messages won't by cached anymore
* Bugfix: Custom vars will now be added properly
* Bugfix: Missing slash in proxy mode added
* Feature: Track users on admin pages

= 0.9.9.6 =
* Bugfix: Proxy script will work again
* Option: Enable/disable one week caching
* Load config file using full path to avoid side effects

= 0.9.9.5 =
* Fatal error on statistics settings page fixed

= 0.9.9.4 =
* Use Transients API (one week caching)
* Option: Track visitors without JavaScript, see http://piwik.org/faq/how-to/#faq_176

= 0.9.9.3 = 
* Sparkline script update (IE 10 compatibility)
* Syntax error fixes

= 0.9.9.2 =
* Bugfix regarding tracking code changes in proxy mode, see http://wordpress.org/support/topic/problem-with-https-in-proxy-mode
* Feature: Change text "WP-Piwik" in menu items and dashboard widgets
* Code cleanup ("new" first step)
* Debugging: Logger added
* Avoid double slash (//) in tracking code

= 0.9.9.1 =
* CDN support: http and https separated, see http://wordpress.org/support/topic/request-cdn-support-1
* Made <noscript> code optional. Move <noscript> code to site footer.

= 0.9.9.0 =
* Piwik 1.11 compaitbility fixes (Piwik 1.11 required now!) 
* Depending on Piwik 1.11 WP-Piwik will use async tracking now
* CDN support added, see http://wordpress.org/support/topic/request-cdn-support-1

= 0.9.8.1 =
* Warning on empty data removed (overview table)
* Removed a possible deadlock
* Bugfix: Apply tracking code settings everytime the tracking code is updated
* Reset/uninstall script bugfix regarding network mode

= 0.9.8 =
* WordPress 3.5 compatibility fix: http://wordpress.org/support/topic/v35-errors-fix?replies=5 (Thanks Christian Foellmann!)
* Advanced Search Result Analytics, see http://piwik.org/docs/javascript-tracking/#toc-tracking-internal-search-keywords-categories-and-no-result-search-keywords
* Site Search stats added
* Use js/index.php: Replaces piwik.js and piwik.php by js/ (instead of piwik.js only)
* Connection timeout setting added
* Full reset option added
* Uninstall script added
* Stats metaboxes: Date formatted
* Use proxy settings defined in wp-config.php
* Piwik.php proxy script added (see http://piwik.org/faq/how-to/#faq_132)
* Bugfix: After upgrade, Piwik automatically places cookies again (http://wordpress.org/support/topic/after-upgrade-piwik-automatically-places-cookies-again)

= 0.9.7 =
* Shortcodes added
* WP-Piwik will rename sites in Piwik if site name changes in WordPress
* Bugfix: Tracking code changes should stay active after WP-Piwik updates

= 0.9.6.3 =
* Piwik 1.9+ compatibility fix (Piwik 1.9 required!)
* Browser version details added

= 0.9.6.2 =
* Bugfix: ["Create Piwik site" link (network dashboard)](http://wordpress.org/support/topic/plugin-wp-piwik-you-attempted-to-access-the-networks-dashboard-but-you-do-not)

= 0.9.6.1 =
* Toolbar graph bugfix

= 0.9.6 =
* Option: Disable SSL peer verification (REST API)
* Option: Use own user agent
* Test script displays additional information (e.g. response headers)
* Using WordPress metabox concept properly
* Bugfix: Sparkline script only loaded if required
* Stats site supports up to 3 columns
* Network admin stats: Choose site using a paged table (instead of a select box).
* Feature: [Custom variables](http://piwik.org/docs/javascript-tracking/#toc-custom-variables), using [custom post meta boxes](http://wp.smashingmagazine.com/2011/10/04/create-custom-post-meta-boxes-wordpress/).
* Some minor bugfixes

= 0.9.5 =
* WordPress 3.4 compatible (workaround)

= 0.9.4 = 
* Requires at least Piwik 1.8.2!
* Choose between HTTP API or PHP API
* Show graph on WordPress Toolbar
* Add option to disable cookies - Thanks to Mathias T.!
* Update bugfix: Upgrading from WP-Piwik 0.8.7 or less will work again
* Some minor bugfixes

= 0.9.3 =
* Bugfix: Adding a new site will work again.

= 0.9.2 =
* Uses $wpdb->blogs instead of $wpdb->prefix.'blogs' to keep it compatible to different database plugins
* Bugfix: SEO dashboard widget will work even if "last 30" is selected
* Bugfix: New created blogs won't show "Please specify a value for 'idSite'." anymore.
* Bugfix: New network sites without title will be created
* Bugfix: Upgrading from old versions will work again
* Tabbed settings
* Debug tools added (testscript, site configuration overview and WP-Piwik reset)
* Support forum RSS feed
* Language updates
* Optionally use of set_time_limit(0) on stats page time out

= 0.9.1 =
* Bugfix: Usage as "Site Specific Plugin" [mixed up the different sites settings](http://wordpress.org/support/topic/plugin-wp-piwik-as-simple-plugin-with-multisite-fills-auth-with-last-used-token) (network mode)
* Hotfix: Avoid "Unknown site/blog" message without giving a chance to choose an existing site. Thank you, Taimon!

= 0.9.0 =
* Auto-configuration
* No code change required to enable WPMU mode anymore (Still experimental. Please create a backup before trying 0.9.0!)
* All features in WPMU available
* Bugfix: Removed unnecessary API calls done with each site request - Thank you, Martin B.!
* Bugfix: [No stats on dashboard](http://wordpress.org/support/topic/no-stats-on-dashboard-new-install) (sometimes this issue still occured, should be fixed now)
* Code cleanup (still not finished)
* Minor UI fixes
* Minor language/gettext improvements
* Security improvements
* Show SEO rank stats (very slow, caching will be added in 0.9.1)
* WordPress dashboard SEO rank widget (very slow, caching will be added in 0.9.1)
* New option: use js/index.php
* New option: avoid mod_security
* Mulisite: Order blog list alphabetically (Network Admin stats site)
* Settings: Order site list alphabetically (site list shown if order conf is disabled)

= 0.8.10 =
* jqplot update (IE 9 compatibility) - Thank you, Martin!
* Bugfix: [No stats on dashboard](http://wordpress.org/support/topic/no-stats-on-dashboard-new-install)
* Layout fix: [Graph width on dashboard](http://wordpress.org/support/topic/stats-graph-in-dashboard-changed)
* Minor code cleanup

= 0.8.9 =
* WP 3.2 compatible, metabox support

= 0.8.8 =
* Bugfix: Will also work with index.php in Piwik path
* Bugfix: last30 dashboard widget - show correct bounce rate

= 0.8.7 =
* New language files (Azerbaijani, Greek, Russian)
* Fixed hardcoded database prefix (WPMU-Piwik)
* Minor bugfixes: avoid some PHP warnings

= 0.8.6 =
* Added an optional visitor chart to the WordPress dashboard
* [WPMU/multisite bug](http://wordpress.org/support/topic/plugin-wp-piwik-multisite-update-procedure) fixed
* Minor bugfixes

= 0.8.5 =
* Select default date (today or yesterday) shown on statistics page
* Bugfix: Shortcut links are shown again
* German language file update
* Minor optical fixes (text length)

= 0.8.4 =
* New stats in overview box
* WP 3.x compability fixes (capability and deprecated function warnings)
* Some minor bugfixes
* New config handling
* Code clean up (not finished)

= 0.8.3 =
* Piwik 1.1+ compatibility fix

= 0.8.2 =
* Bugfix: [WPMU URL update bug](http://wordpress.org/support/topic/plugin-wp-piwik-jscode-not-updated-when-saving-new-url-in-wpmu-mode)

= 0.8.1 =
* Use load_plugin_textdomain instead of load_textdomain
* Fixed js/css links if symbolic links are used
* Changed experimental WPMU support to experimental WP multisite support
* Try curl() before fopen() to avoid an [OpenSSL bug](http://wordpress.org/support/topic/plugin-wp-piwik-problems-reaching-an-ssl-installation-of-piwiki)
* Added Norwegian language file by Gormer.
* Don't worry - new features will follow soon. ;)

= 0.8.0 =
* Using jqPlot instead of Google Chart API
* Some facelifting
* Some minor bugfixes

= 0.7.1 =
* Track 404-pages in an own category
* Get some page (and article) details
* Language updates

= 0.7.0 =
* Bugfix: Percent calculation fixed
* Bugfix: Visitor chart: No label overlapping if < 50 visitory/day
* Visitor chart: Added a red unique visitor average line
* Visitor table: Added a TOTAL stats line
* Pie charts: Show top 9 + "others", new color range
* Option: Show Piwik shortcut in overview box
* Some performance optimization

= 0.6.4 =
* Unnecessary debug output removed
* German language file update
* WordPress dashboard widget: last 30 days view added

= 0.6.3 =
* Click at a visitor stats day-row to load its details.
* Add stats overview to your WordPress dashboard

= 0.6.0 =
* Added experimental WPMU support
* Switch to disable Google Chart API
* Added Albanian [sq] language file
* Added Belorussian [be_BY] language file

= 0.5.0 =
* Display statistics to selected user roles
* Some HTML fixes (settings page)

= 0.4.0 =
* Tracking filter added
* Resolution stats
* Operating System stats
* Plugin stats

= 0.3.2 =
* If allow_url_fopen is disabled in php.ini, WP-Piwik tries to use CURL instead of file_get_contents.

= 0.3.1 =
* WordPress 2.8 compatible
* Bugfix: Warnings on WP 2.8 plugins site
* Dashboard revised
* Partly optimized code

= 0.3.0 =
* WP-Piwik dashboard widgetized.
* Stats-boxes sortable and closeable.
* German language file added
* Browser stats and bounced visitors

= 0.2.0 =
* First public version.
