Fixes regression introduced recently #3941
Merge remote-tracking branch 'origin/master'
Fixing broken Add website
fixing real time map
Refs #3934 Thanks Peter for testing and finding this. the array_map('urlencode',  fixes it
Fixing non working footer link refs #2135
Fixing lcfirst not available yet
Refs #3934 much better fix
Fixes #3940 Adding '&format=php' to ensure the data within the bulk request, is converted only once and is valid JSON. Also works in XML (not in CSV).

I updated the bulk request doc at: http://piwik.org/docs/analytics-api/reference/#toc-advanced-users-send-multiple-api-requests-at-once
Fixes #3951
Fixes #3887
Hiding row evolution graph URL from output for Referrer.getAll
Please double test it's all working!
Fixing tracking code generator + better display of Loading messages (more often, but not too much)

BETA 17 will become 1.12 if nothing comes up (EXCEPT for MOBILE DEVICE detection plugin coming shortly :))
BETA 18
Fixes #3953 now detecting campaign parameters within the hash tag as well
Fixes #3951
cheers Peter for finding this bad bug!

The new deleteCookies function can be used, whenever new_visit=1 is used, to ensure the cookies are re-created for the new visitor.

For example use as:
_paq.push(["deleteCookies"]);
_paq.push(["appendToTrackingUrl", "new_visit=1"]);

put both at the same time. Make sure you remove the "deleteCookies" otherwise. This should fix it!

I have updated the faq at http://piwik.org/faq/how-to/#faq_187
Adding new DevicesDetection plugin, developed by Clearcode and sponsored by a client of Piwik Professional Services. A beautiful work of engineering, all released under GNU/GPL license!

Fixes #3612
 * when enabled, the plugin will add a new submenu: Visitors> Devices
 * the new devices report contains NEW reports:
  * Much improved Device type (tracking 'car browser', 'console', 'desktop', 'feature phone', 'smartphone', 'tablet', 'tv')
  * Device brand (tracking more than 100 brands such as Nokia, Nintendo, Lenovo or Apple.
  * Device model (tracking hundreds of phone/console models)
  * Operating System versions (tracking 70 variations of operating systems including Ubuntu vs Kubuntu vs Debian vs Lubuntu vs Xubuntu)
  * Operating System families (Android vs Google TV vs Windows vs Windows mobile vs Mobile gaming consoles)
  * Browser versions
  * Browser families

Refs #3505 There is some basic TV detection included and maybe you can help contribute better detections (see the .yml data files containing the regular expressions in YAML format)

HOW DOES IT WORK

This is quite beautiful system. It is a plugin that disabled by default. when enabled, it will create additional columns in the DB. Also at tracking, it will look at the user agent, and try to match it against one browser we know in the databases. The databases of user agent matching are composed by 3 YML files, parsed by spyc.php into php array.

These 3 YML took dozens of hours of work and testing with dozens of mobile phones and devices for accuracy. We are happy with the result as they should cover > 80% of the devices commonly used. We hope the community will help us build up these YML files and make them better, so we can track accurately 90% or 95% of requests.

The performance overhead is pretty small, but parsing the YML files + running dozens of regex will add some overhead. This is why it is still disabled by default. We will think about how to integrate it in core, in the next few months.

Please let me know if you find any problem with this new awesome code!
Refs #3612
 * making some tests pass == fixing bugs
Refs #3612
 * making tests pass!
 * enabling DevicesDetection tests, even though DevicesDetection plugin is disabled by default.
Last test
beta 19 with DevicesDetection plugin! FTW