Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md17
-rw-r--r--composer.json8
-rw-r--r--composer.lock223
-rw-r--r--config/environment/cli.php29
-rw-r--r--config/environment/test.php8
-rw-r--r--config/global.ini.php3
-rw-r--r--config/global.php84
-rwxr-xr-xconsole5
-rw-r--r--core/CliMulti/RequestCommand.php19
-rw-r--r--core/Common.php8
-rw-r--r--core/Console.php20
-rw-r--r--core/Container/ContainerFactory.php79
-rw-r--r--core/Container/StaticContainer.php53
-rw-r--r--core/CronArchive.php23
-rw-r--r--core/Db.php2
-rw-r--r--core/Error.php226
-rw-r--r--core/ErrorHandler.php130
-rw-r--r--core/Exception/ErrorException.php16
-rw-r--r--core/ExceptionHandler.php96
-rw-r--r--core/FrontController.php45
-rw-r--r--core/Log.php638
-rw-r--r--core/Log/Formatter/LineMessageFormatter.php75
-rw-r--r--core/Log/Handler/DatabaseHandler.php30
-rw-r--r--core/Log/Handler/FileHandler.php31
-rw-r--r--core/Log/Handler/WebNotificationHandler.php51
-rw-r--r--core/Log/Processor/ClassNameProcessor.php71
-rw-r--r--core/Log/Processor/ExceptionToTextProcessor.php58
-rw-r--r--core/Log/Processor/RequestIdProcessor.php34
-rw-r--r--core/Log/Processor/SprintfProcessor.php40
-rw-r--r--core/Tracker.php2
-rw-r--r--core/Updates/2.10.0-b10.php49
-rw-r--r--core/Version.php2
-rw-r--r--core/dispatch.php12
-rw-r--r--index.php4
-rw-r--r--lang/de.json2
-rw-r--r--lang/it.json3
-rw-r--r--lang/pl.json8
m---------libs/PiwikTracker0
-rw-r--r--libs/upgradephp/upgrade.php6
-rw-r--r--misc/cron/archive.php15
-rw-r--r--misc/others/cli-script-bootstrap.php17
-rwxr-xr-xmisc/others/geoipUpdateRows.php28
-rw-r--r--misc/phpstorm-codestyles/Piwik_codestyle.xml1
-rw-r--r--plugins/Contents/tests/System/expected/test_Contents__Live.getLastVisitsDetails_day.xml36
-rw-r--r--plugins/Contents/tests/System/expected/test_Contents__Live.getLastVisitsDetails_month.xml36
-rw-r--r--plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Live.getLastVisitsDetails_day.xml36
-rw-r--r--plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Live.getLastVisitsDetails_day.xml36
-rw-r--r--plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Live.getLastVisitsDetails_day.xml36
-rw-r--r--plugins/CoreAdminHome/lang/hu.json82
-rw-r--r--plugins/CoreConsole/Commands/CoreArchiver.php4
-rw-r--r--plugins/CustomVariables/tests/System/expected/test_CustomVariablesSystemTest__Live.getLastVisitsDetails_day.xml22
-rw-r--r--plugins/DevicePlugins/API.php90
-rw-r--r--plugins/DevicePlugins/Archiver.php75
-rw-r--r--plugins/DevicePlugins/Columns/Plugin.php (renamed from plugins/UserSettings/Columns/Plugin.php)2
-rw-r--r--plugins/DevicePlugins/Columns/PluginCookie.php (renamed from plugins/UserSettings/Columns/PluginCookie.php)2
-rw-r--r--plugins/DevicePlugins/Columns/PluginDirector.php (renamed from plugins/UserSettings/Columns/PluginDirector.php)2
-rw-r--r--plugins/DevicePlugins/Columns/PluginFlash.php (renamed from plugins/UserSettings/Columns/PluginFlash.php)2
-rw-r--r--plugins/DevicePlugins/Columns/PluginGears.php (renamed from plugins/UserSettings/Columns/PluginGears.php)2
-rw-r--r--plugins/DevicePlugins/Columns/PluginJava.php (renamed from plugins/UserSettings/Columns/PluginJava.php)2
-rw-r--r--plugins/DevicePlugins/Columns/PluginPdf.php (renamed from plugins/UserSettings/Columns/PluginPdf.php)2
-rw-r--r--plugins/DevicePlugins/Columns/PluginQuickTime.php (renamed from plugins/UserSettings/Columns/PluginQuickTime.php)2
-rw-r--r--plugins/DevicePlugins/Columns/PluginRealPlayer.php (renamed from plugins/UserSettings/Columns/PluginRealPlayer.php)2
-rw-r--r--plugins/DevicePlugins/Columns/PluginSilverlight.php (renamed from plugins/UserSettings/Columns/PluginSilverlight.php)2
-rw-r--r--plugins/DevicePlugins/Columns/PluginWindowsMedia.php (renamed from plugins/UserSettings/Columns/PluginWindowsMedia.php)2
-rw-r--r--plugins/DevicePlugins/DevicePlugins.php48
-rw-r--r--plugins/DevicePlugins/Reports/Base.php32
-rw-r--r--plugins/DevicePlugins/Reports/GetPlugin.php (renamed from plugins/UserSettings/Reports/GetPlugin.php)14
-rw-r--r--plugins/DevicePlugins/Visitor.php (renamed from plugins/UserSettings/Visitor.php)4
-rw-r--r--plugins/DevicePlugins/functions.php20
-rw-r--r--plugins/DevicePlugins/images/plugins/cookie.gif (renamed from plugins/UserSettings/images/plugins/cookie.gif)bin211 -> 211 bytes
-rw-r--r--plugins/DevicePlugins/images/plugins/director.gif (renamed from plugins/UserSettings/images/plugins/director.gif)bin198 -> 198 bytes
-rw-r--r--plugins/DevicePlugins/images/plugins/flash.gif (renamed from plugins/UserSettings/images/plugins/flash.gif)bin1018 -> 1018 bytes
-rw-r--r--plugins/DevicePlugins/images/plugins/gears.gif (renamed from plugins/UserSettings/images/plugins/gears.gif)bin558 -> 558 bytes
-rw-r--r--plugins/DevicePlugins/images/plugins/java.gif (renamed from plugins/UserSettings/images/plugins/java.gif)bin565 -> 565 bytes
-rw-r--r--plugins/DevicePlugins/images/plugins/pdf.gif (renamed from plugins/UserSettings/images/plugins/pdf.gif)bin1021 -> 1021 bytes
-rw-r--r--plugins/DevicePlugins/images/plugins/quicktime.gif (renamed from plugins/UserSettings/images/plugins/quicktime.gif)bin1003 -> 1003 bytes
-rw-r--r--plugins/DevicePlugins/images/plugins/realplayer.gif (renamed from plugins/UserSettings/images/plugins/realplayer.gif)bin1025 -> 1025 bytes
-rw-r--r--plugins/DevicePlugins/images/plugins/silverlight.gif (renamed from plugins/UserSettings/images/plugins/silverlight.gif)bin1012 -> 1012 bytes
-rw-r--r--plugins/DevicePlugins/images/plugins/windowsmedia.gif (renamed from plugins/UserSettings/images/plugins/windowsmedia.gif)bin1026 -> 1026 bytes
-rw-r--r--plugins/DevicePlugins/lang/am.json5
-rw-r--r--plugins/DevicePlugins/lang/ar.json6
-rw-r--r--plugins/DevicePlugins/lang/be.json7
-rw-r--r--plugins/DevicePlugins/lang/bg.json9
-rw-r--r--plugins/DevicePlugins/lang/ca.json7
-rw-r--r--plugins/DevicePlugins/lang/cs.json9
-rw-r--r--plugins/DevicePlugins/lang/da.json9
-rw-r--r--plugins/DevicePlugins/lang/de.json9
-rw-r--r--plugins/DevicePlugins/lang/el.json9
-rw-r--r--plugins/DevicePlugins/lang/en.json10
-rw-r--r--plugins/DevicePlugins/lang/es.json9
-rw-r--r--plugins/DevicePlugins/lang/et.json6
-rw-r--r--plugins/DevicePlugins/lang/eu.json5
-rw-r--r--plugins/DevicePlugins/lang/fa.json8
-rw-r--r--plugins/DevicePlugins/lang/fi.json9
-rw-r--r--plugins/DevicePlugins/lang/fr.json9
-rw-r--r--plugins/DevicePlugins/lang/gl.json5
-rw-r--r--plugins/DevicePlugins/lang/hi.json7
-rw-r--r--plugins/DevicePlugins/lang/hu.json6
-rw-r--r--plugins/DevicePlugins/lang/id.json9
-rw-r--r--plugins/DevicePlugins/lang/is.json6
-rw-r--r--plugins/DevicePlugins/lang/it.json10
-rw-r--r--plugins/DevicePlugins/lang/ja.json9
-rw-r--r--plugins/DevicePlugins/lang/ka.json6
-rw-r--r--plugins/DevicePlugins/lang/ko.json7
-rw-r--r--plugins/DevicePlugins/lang/lt.json6
-rw-r--r--plugins/DevicePlugins/lang/lv.json7
-rw-r--r--plugins/DevicePlugins/lang/nb.json5
-rw-r--r--plugins/DevicePlugins/lang/nl.json9
-rw-r--r--plugins/DevicePlugins/lang/nn.json6
-rw-r--r--plugins/DevicePlugins/lang/pl.json6
-rw-r--r--plugins/DevicePlugins/lang/pt-br.json9
-rw-r--r--plugins/DevicePlugins/lang/pt.json7
-rw-r--r--plugins/DevicePlugins/lang/ro.json9
-rw-r--r--plugins/DevicePlugins/lang/ru.json7
-rw-r--r--plugins/DevicePlugins/lang/sk.json6
-rw-r--r--plugins/DevicePlugins/lang/sl.json7
-rw-r--r--plugins/DevicePlugins/lang/sq.json7
-rw-r--r--plugins/DevicePlugins/lang/sr.json9
-rw-r--r--plugins/DevicePlugins/lang/sv.json9
-rw-r--r--plugins/DevicePlugins/lang/th.json6
-rw-r--r--plugins/DevicePlugins/lang/tl.json9
-rw-r--r--plugins/DevicePlugins/lang/tr.json6
-rw-r--r--plugins/DevicePlugins/lang/uk.json6
-rw-r--r--plugins/DevicePlugins/lang/vi.json9
-rw-r--r--plugins/DevicePlugins/lang/zh-cn.json9
-rw-r--r--plugins/DevicePlugins/lang/zh-tw.json6
-rw-r--r--plugins/DevicesDetection/lang/pl.json2
-rw-r--r--plugins/Installation/Controller.php12
-rw-r--r--plugins/Installation/lang/de.json2
-rw-r--r--plugins/Installation/lang/pl.json1
-rw-r--r--plugins/Installation/templates/welcome.twig10
-rw-r--r--plugins/LanguagesManager/Commands/CreatePull.php4
-rw-r--r--plugins/Live/templates/_dataTableViz_visitorLog.twig4
-rw-r--r--plugins/Live/templates/getSingleVisitSummary.twig2
-rw-r--r--plugins/Resolution/lang/it.json1
-rw-r--r--plugins/SitesManager/lang/pl.json2
-rw-r--r--plugins/Transitions/lang/pl.json2
-rw-r--r--plugins/UserCountry/lang/pl.json6
-rw-r--r--plugins/UserSettings/API.php50
-rw-r--r--plugins/UserSettings/Archiver.php25
-rw-r--r--plugins/UserSettings/Controller.php2
-rw-r--r--plugins/UserSettings/UserSettings.php11
-rw-r--r--plugins/UserSettings/functions.php8
-rw-r--r--plugins/UserSettings/lang/am.json3
-rw-r--r--plugins/UserSettings/lang/ar.json4
-rw-r--r--plugins/UserSettings/lang/be.json5
-rw-r--r--plugins/UserSettings/lang/bg.json7
-rw-r--r--plugins/UserSettings/lang/ca.json5
-rw-r--r--plugins/UserSettings/lang/cs.json7
-rw-r--r--plugins/UserSettings/lang/da.json7
-rw-r--r--plugins/UserSettings/lang/de.json7
-rw-r--r--plugins/UserSettings/lang/el.json7
-rw-r--r--plugins/UserSettings/lang/en.json7
-rw-r--r--plugins/UserSettings/lang/es.json7
-rw-r--r--plugins/UserSettings/lang/et.json4
-rw-r--r--plugins/UserSettings/lang/eu.json3
-rw-r--r--plugins/UserSettings/lang/fa.json6
-rw-r--r--plugins/UserSettings/lang/fi.json7
-rw-r--r--plugins/UserSettings/lang/fr.json7
-rw-r--r--plugins/UserSettings/lang/gl.json3
-rw-r--r--plugins/UserSettings/lang/hi.json3
-rw-r--r--plugins/UserSettings/lang/hu.json4
-rw-r--r--plugins/UserSettings/lang/id.json7
-rw-r--r--plugins/UserSettings/lang/is.json4
-rw-r--r--plugins/UserSettings/lang/it.json7
-rw-r--r--plugins/UserSettings/lang/ja.json7
-rw-r--r--plugins/UserSettings/lang/ka.json4
-rw-r--r--plugins/UserSettings/lang/ko.json5
-rw-r--r--plugins/UserSettings/lang/lt.json4
-rw-r--r--plugins/UserSettings/lang/lv.json5
-rw-r--r--plugins/UserSettings/lang/nb.json3
-rw-r--r--plugins/UserSettings/lang/nl.json7
-rw-r--r--plugins/UserSettings/lang/nn.json4
-rw-r--r--plugins/UserSettings/lang/pl.json4
-rw-r--r--plugins/UserSettings/lang/pt-br.json7
-rw-r--r--plugins/UserSettings/lang/pt.json5
-rw-r--r--plugins/UserSettings/lang/ro.json7
-rw-r--r--plugins/UserSettings/lang/ru.json5
-rw-r--r--plugins/UserSettings/lang/sk.json4
-rw-r--r--plugins/UserSettings/lang/sl.json5
-rw-r--r--plugins/UserSettings/lang/sq.json5
-rw-r--r--plugins/UserSettings/lang/sr.json7
-rw-r--r--plugins/UserSettings/lang/sv.json7
-rw-r--r--plugins/UserSettings/lang/th.json4
-rw-r--r--plugins/UserSettings/lang/tl.json7
-rw-r--r--plugins/UserSettings/lang/tr.json4
-rw-r--r--plugins/UserSettings/lang/uk.json4
-rw-r--r--plugins/UserSettings/lang/vi.json7
-rw-r--r--plugins/UserSettings/lang/zh-cn.json7
-rw-r--r--plugins/UserSettings/lang/zh-tw.json4
-rw-r--r--plugins/VisitFrequency/lang/pl.json2
-rw-r--r--tests/PHPUnit/Integration/LogTest.php116
-rw-r--r--tests/PHPUnit/Integration/ReleaseCheckListTest.php3
-rw-r--r--tests/PHPUnit/System/OneVisitorLongUrlsTruncatedTest.php2
-rwxr-xr-xtests/PHPUnit/System/OneVisitorTwoVisitsWithCookieSupportTest.php2
-rw-r--r--tests/PHPUnit/System/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml770
-rw-r--r--tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml180
-rw-r--r--tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml180
-rw-r--r--tests/PHPUnit/System/expected/test_ImportLogs__DevicePlugins.getPlugin_month.xml63
-rw-r--r--tests/PHPUnit/System/expected/test_ImportLogs__Live.getLastVisitsDetails_range.xml614
-rw-r--r--tests/PHPUnit/System/expected/test_ImportLogs__UserSettings.getPlugin_month.xml20
-rw-r--r--tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisitAsc__Live.getLastVisitsDetails_month.xml154
-rw-r--r--tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisit__Live.getLastVisitsDetails_month.xml154
-rw-r--r--tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByVisitCount__Live.getLastVisitsDetails_month.xml154
-rw-r--r--tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortDesc__Live.getLastVisitsDetails_month.xml154
-rw-r--r--tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest__Live.getLastVisitsDetails_month.xml220
-rw-r--r--tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__DevicePlugins.getPlugin_day.xml63
-rw-r--r--tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__UserSettings.getPlugin_day.xml20
-rw-r--r--tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__DevicePlugins.getPlugin_day.xml63
-rw-r--r--tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Live.getLastVisitsDetails_day.xml44
-rw-r--r--tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__UserSettings.getPlugin_day.xml20
-rw-r--r--tests/PHPUnit/System/expected/test_OneVisitor_LongUrlsTruncated__DevicePlugins.getPlugin_day.xml (renamed from tests/PHPUnit/System/expected/test_OneVisitor_LongUrlsTruncated__UserSettings.getPlugin_day.xml)4
-rw-r--r--tests/PHPUnit/System/expected/test_OneVisitor_NoKeywordSpecified__Live.getLastVisitsDetails_day.xml44
-rw-r--r--tests/PHPUnit/System/expected/test_OneVisitor_SeveralDays_ImportedInRandomOrderTest_shouldShowOneVisit_InEachOfThreeDays__Live.getLastVisitsDetails_month.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TimezonesTest__Live.getLastVisitsDetails_day.xml22
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv16
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html262
-rw-r--r--tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml56
-rw-r--r--tests/PHPUnit/System/expected/test_csvExport__Live.getLastVisitsDetails_day.csvbin7376 -> 7388 bytes
-rwxr-xr-xtests/PHPUnit/System/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml44
-rwxr-xr-xtests/PHPUnit/System/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml66
-rw-r--r--tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv10
-rw-r--r--tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html78
-rw-r--r--tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__DevicePlugins.getPlugin_day.xml10
-rw-r--r--tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__DevicePlugins.getPlugin_week.xml10
-rw-r--r--tests/PHPUnit/System/expected/test_noVisit__DevicePlugins.getPlugin_day.xml2
-rw-r--r--tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisits.xml66
-rw-r--r--tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisitsDetails_range.xml66
-rw-r--r--tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getVisitorProfile.xml44
m---------tests/PHPUnit/UI0
-rw-r--r--tests/PHPUnit/Unit/DeprecatedMethodsTest.php1
-rw-r--r--tests/PHPUnit/Unit/Log/Formatter/LineMessageFormatterTest.php85
-rw-r--r--tests/PHPUnit/Unit/Log/Processor/ClassNameProcessorTest.php42
-rw-r--r--tests/PHPUnit/Unit/Log/Processor/ExceptionToTextProcessorTest.php86
-rw-r--r--tests/PHPUnit/Unit/Log/Processor/RequestIdProcessorTest.php62
-rw-r--r--tests/PHPUnit/Unit/Log/Processor/SprintfProcessorTest.php64
-rw-r--r--tests/PHPUnit/bootstrap.php5
-rw-r--r--tests/resources/OmniFixture-dump.sql.gzbin661224 -> 659304 bytes
-rwxr-xr-xtests/travis/travis.sh8
239 files changed, 4546 insertions, 3229 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index de6319269f..26cb7dccb8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,8 +6,18 @@ This is a changelog for Piwik platform developers. All changes for our HTTP API'
### Breaking Changes
* API responses containing visitor information will now longer contain the fields `screenType` and `screenTypeIcon` as those reports have been completely removed
-* os and browser icons are now located in the DevicesDetection plugin. If you are not using the Reporting or Metadata API to get the icon locations please update your paths.
+* os, browser and browser plugin icons are now located in the DevicesDetection and DevicePlugins plugin. If you are not using the Reporting or Metadata API to get the icon locations please update your paths.
* The deprecated method `Piwik\SettingsPiwik::rewriteTmpPathWithHostname()` has been removed.
+* The following events have been removed:
+ * `Log.formatFileMessage`
+ * `Log.formatDatabaseMessage`
+ * `Log.formatScreenMessage`
+ * These events where very specific events for an internal need (logging exceptions) and have been replaced by a more extensible solution.
+* The event `Log.getAvailableWriters` has been removed: to add custom log backends, you now need to configure Monolog handlers
+* The INI options `log_only_when_cli` and `log_only_when_debug_parameter` have been removed
+
+### Library updates
+* We added the `symfony/var-dumper` library allowing you to better print any arbitrary PHP variable via `dump($var1, $var2, ...)`.
### Deprecations
* Some duplicate reports from UserSettings plugin have been removed. Widget URLs for those reports will still work till May 1st 2015. Please update those to the new reports of DevicesDetection plugin.
@@ -19,8 +29,11 @@ This is a changelog for Piwik platform developers. All changes for our HTTP API'
* The API method `UserSettings.getBrowserType` is deprecated and will be removed from May 1st 2015. Use `DevicesDetection.getBrowserEngines` instead
* The API method `UserSettings.getResolution` is deprecated and will be removed from May 1st 2015. Use `Resolution.getResolution` instead
* The API method `UserSettings.getConfiguration` is deprecated and will be removed from May 1st 2015. Use `Resolution.getConfiguration` instead
-* The API method `UserSettings.getWideScreen` has been removed
+* The API method `UserSettings.getPlugin` is deprecated and will be removed from May 1st 2015. Use `DevicePlugins.getPlugin` instead
+* The API method `UserSettings.getWideScreen` has been removed. Use `UserSettings.getScreenType` instead.
* `Piwik\SettingsPiwik::rewriteTmpPathWithInstanceId()` has been deprecated. Instead of hardcoding the `tmp/` path everywhere in the codebase and then calling `rewriteTmpPathWithInstanceId()`, developers should get the `path.tmp` configuration value from the DI container (e.g. `StaticContainer::getContainer()->get('path.tmp')`).
+* The method `Piwik\Log::setLogLevel()` has been deprecated
+* The method `Piwik\Log::getLogLevel()` has been deprecated
### Library updates
* The tracker proxy (previously in `miscproxy-hide-piwik-url/`) has been moved to a separate repository: [https://github.com/piwik/tracker-proxy](https://github.com/piwik/tracker-proxy).
diff --git a/composer.json b/composer.json
index 9bab20ec44..7e2f5023d7 100644
--- a/composer.json
+++ b/composer.json
@@ -46,13 +46,17 @@
"piwik/decompress": "~0.1.1",
"piwik/network": "~0.1.0",
"mnapoli/php-di": "5.0.x-dev",
- "piwik/cache": "~0.2"
+ "piwik/cache": "~0.2",
+ "psr/log": "~1.0",
+ "monolog/monolog": "~1.11",
+ "symfony/monolog-bridge": "~2.5"
},
"require-dev": {
"aws/aws-sdk-php": "2.7.1",
"phpunit/phpunit": "~4.1",
"facebook/xhprof": "dev-master",
- "phpseclib/phpseclib": "~0.3.8"
+ "phpseclib/phpseclib": "~0.3.8",
+ "symfony/var-dumper": "~2.6"
},
"repositories": [
{
diff --git a/composer.lock b/composer.lock
index 84b8ee1739..d4d7fa3462 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
- "hash": "993a7439f15dd4d11b2684f6e35b944d",
+ "hash": "f02ab2d393f7883b41d47def753a3088",
"packages": [
{
"name": "container-interop/container-interop",
@@ -355,6 +355,78 @@
"time": "2014-08-21 08:20:45"
},
{
+ "name": "monolog/monolog",
+ "version": "1.11.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Seldaek/monolog.git",
+ "reference": "ec3961874c43840e96da3a8a1ed20d8c73d7e5aa"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/ec3961874c43840e96da3a8a1ed20d8c73d7e5aa",
+ "reference": "ec3961874c43840e96da3a8a1ed20d8c73d7e5aa",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0",
+ "psr/log": "~1.0"
+ },
+ "provide": {
+ "psr/log-implementation": "1.0.0"
+ },
+ "require-dev": {
+ "aws/aws-sdk-php": "~2.4, >2.4.8",
+ "doctrine/couchdb": "~1.0@dev",
+ "graylog2/gelf-php": "~1.0",
+ "phpunit/phpunit": "~3.7.0",
+ "raven/raven": "~0.5",
+ "ruflin/elastica": "0.90.*",
+ "videlalvaro/php-amqplib": "~2.4"
+ },
+ "suggest": {
+ "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
+ "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
+ "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
+ "ext-mongo": "Allow sending log messages to a MongoDB server",
+ "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
+ "raven/raven": "Allow sending log messages to a Sentry server",
+ "rollbar/rollbar": "Allow sending log messages to Rollbar",
+ "ruflin/elastica": "Allow sending log messages to an Elastic Search server",
+ "videlalvaro/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.11.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Monolog\\": "src/Monolog"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "http://seld.be"
+ }
+ ],
+ "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
+ "homepage": "http://github.com/Seldaek/monolog",
+ "keywords": [
+ "log",
+ "logging",
+ "psr-3"
+ ],
+ "time": "2014-09-30 13:30:58"
+ },
+ {
"name": "mustangostang/spyc",
"version": "0.5.1",
"source": {
@@ -594,6 +666,44 @@
"time": "2014-10-23 03:30:23"
},
{
+ "name": "psr/log",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/log.git",
+ "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
+ "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b",
+ "shasum": ""
+ },
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "Psr\\Log\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for logging libraries",
+ "keywords": [
+ "log",
+ "psr",
+ "psr-3"
+ ],
+ "time": "2012-12-21 11:40:51"
+ },
+ {
"name": "symfony/console",
"version": "v2.5.6",
"target-dir": "Symfony/Component/Console",
@@ -649,6 +759,64 @@
"time": "2014-10-05 13:57:04"
},
{
+ "name": "symfony/monolog-bridge",
+ "version": "v2.6.1",
+ "target-dir": "Symfony/Bridge/Monolog",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/MonologBridge.git",
+ "reference": "98a8debb952b8a7e0fff31fbce0f5e965dc1f499"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/MonologBridge/zipball/98a8debb952b8a7e0fff31fbce0f5e965dc1f499",
+ "reference": "98a8debb952b8a7e0fff31fbce0f5e965dc1f499",
+ "shasum": ""
+ },
+ "require": {
+ "monolog/monolog": "~1.11",
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "symfony/console": "~2.3",
+ "symfony/event-dispatcher": "~2.2",
+ "symfony/http-kernel": "~2.2"
+ },
+ "suggest": {
+ "symfony/console": "For the possibility to show log messages in console commands depending on verbosity settings. You need version ~2.3 of the console for it.",
+ "symfony/event-dispatcher": "Needed when using log messages in console commands",
+ "symfony/http-kernel": "For using the debugging handlers together with the response life cycle of the HTTP kernel."
+ },
+ "type": "symfony-bridge",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.6-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Symfony\\Bridge\\Monolog\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Symfony Community",
+ "homepage": "http://symfony.com/contributors"
+ },
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ }
+ ],
+ "description": "Symfony Monolog Bridge",
+ "homepage": "http://symfony.com",
+ "time": "2014-12-02 20:19:20"
+ },
+ {
"name": "tedivm/jshrink",
"version": "v0.5.2",
"source": {
@@ -1788,6 +1956,59 @@
"time": "2014-10-01 15:43:05"
},
{
+ "name": "symfony/var-dumper",
+ "version": "v2.6.1",
+ "target-dir": "Symfony/Component/VarDumper",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/var-dumper.git",
+ "reference": "8f3ee04faeca3b8418229b2efbfc8b2b8625b8aa"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/8f3ee04faeca3b8418229b2efbfc8b2b8625b8aa",
+ "reference": "8f3ee04faeca3b8418229b2efbfc8b2b8625b8aa",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "suggest": {
+ "ext-symfony_debug": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.6-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "Resources/functions/dump.php"
+ ],
+ "psr-0": {
+ "Symfony\\Component\\VarDumper\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ }
+ ],
+ "description": "Symfony mechanism for exploring and dumping PHP variables",
+ "homepage": "http://symfony.com",
+ "keywords": [
+ "debug",
+ "dump"
+ ],
+ "time": "2014-11-18 10:08:24"
+ },
+ {
"name": "symfony/yaml",
"version": "v2.5.6",
"target-dir": "Symfony/Component/Yaml",
diff --git a/config/environment/cli.php b/config/environment/cli.php
new file mode 100644
index 0000000000..f924c31b20
--- /dev/null
+++ b/config/environment/cli.php
@@ -0,0 +1,29 @@
+<?php
+
+use Interop\Container\ContainerInterface;
+use Monolog\Logger;
+use Symfony\Bridge\Monolog\Formatter\ConsoleFormatter;
+use Symfony\Bridge\Monolog\Handler\ConsoleHandler;
+use Symfony\Component\Console\Output\OutputInterface;
+
+return array(
+
+ // Log
+ 'log.handlers' => array(
+ DI\link('Symfony\Bridge\Monolog\Handler\ConsoleHandler'),
+ ),
+ 'Symfony\Bridge\Monolog\Handler\ConsoleHandler' => DI\factory(function (ContainerInterface $c) {
+ // Override the default verbosity map to make it more verbose by default
+ $verbosityMap = array(
+ OutputInterface::VERBOSITY_NORMAL => Logger::INFO,
+ OutputInterface::VERBOSITY_VERBOSE => Logger::DEBUG,
+ OutputInterface::VERBOSITY_VERY_VERBOSE => Logger::DEBUG,
+ OutputInterface::VERBOSITY_DEBUG => Logger::DEBUG,
+ );
+ $handler = new ConsoleHandler(null, true, $verbosityMap);
+ $handler->setFormatter(new ConsoleFormatter($c->get('log.console.format'), null, true, true));
+ return $handler;
+ }),
+ 'log.console.format' => '%start_tag%%level_name% %extra.class%[%datetime%]%end_tag% %message%' . PHP_EOL,
+
+);
diff --git a/config/environment/test.php b/config/environment/test.php
new file mode 100644
index 0000000000..95857fd134
--- /dev/null
+++ b/config/environment/test.php
@@ -0,0 +1,8 @@
+<?php
+
+return array(
+
+ // Disable logging
+ 'Psr\Log\LoggerInterface' => DI\object('Psr\Log\NullLogger'),
+
+);
diff --git a/config/global.ini.php b/config/global.ini.php
index dc1d1de09b..c140cf21c9 100644
--- a/config/global.ini.php
+++ b/config/global.ini.php
@@ -65,7 +65,7 @@ log_writers[] = screen
; log level, everything logged w/ this level or one of greater severity
; will be logged. everything else will be ignored. possible values are:
; NONE, ERROR, WARN, INFO, DEBUG, VERBOSE
-log_level = ERROR
+log_level = WARN
; if set to 1, only requests done in CLI mode (eg. the ./console core:archive cron run) will be logged
; NOTE: log_only_when_debug_parameter will also be checked for
@@ -754,6 +754,7 @@ Plugins[] = Contents
Plugins[] = TestRunner
Plugins[] = BulkTracking
Plugins[] = Resolution
+Plugins[] = DevicePlugins
[PluginsInstalled]
PluginsInstalled[] = Login
diff --git a/config/global.php b/config/global.php
index 29559349b7..7033dbb835 100644
--- a/config/global.php
+++ b/config/global.php
@@ -1,6 +1,8 @@
<?php
use Interop\Container\ContainerInterface;
+use Monolog\Logger;
+use Piwik\Log;
use Piwik\Cache\Eager;
use Piwik\SettingsServer;
@@ -74,4 +76,86 @@ return array(
return $backend;
}),
+ // Log
+ 'Psr\Log\LoggerInterface' => DI\object('Monolog\Logger')
+ ->constructor('piwik', DI\link('log.handlers'), DI\link('log.processors')),
+ 'log.handlers' => DI\factory(function (ContainerInterface $c) {
+ if ($c->has('old_config.log.log_writers')) {
+ $writerNames = $c->get('old_config.log.log_writers');
+ } else {
+ return array();
+ }
+ $classes = array(
+ 'file' => 'Piwik\Log\Handler\FileHandler',
+ 'screen' => 'Piwik\Log\Handler\WebNotificationHandler',
+ 'database' => 'Piwik\Log\Handler\DatabaseHandler',
+ );
+ $writerNames = array_map('trim', $writerNames);
+ $writers = array();
+ foreach ($writerNames as $writerName) {
+ if (isset($classes[$writerName])) {
+ $writers[$writerName] = $c->get($classes[$writerName]);
+ }
+ }
+ return array_values($writers);
+ }),
+ 'log.processors' => array(
+ DI\link('Piwik\Log\Processor\ClassNameProcessor'),
+ DI\link('Piwik\Log\Processor\RequestIdProcessor'),
+ DI\link('Piwik\Log\Processor\ExceptionToTextProcessor'),
+ DI\link('Piwik\Log\Processor\SprintfProcessor'),
+ DI\link('Monolog\Processor\PsrLogMessageProcessor'),
+ ),
+ 'Piwik\Log\Handler\FileHandler' => DI\object()
+ ->constructor(DI\link('log.file.filename'), DI\link('log.level'))
+ ->method('setFormatter', DI\link('Piwik\Log\Formatter\LineMessageFormatter')),
+ 'Piwik\Log\Handler\DatabaseHandler' => DI\object()
+ ->constructor(DI\link('log.level'))
+ ->method('setFormatter', DI\link('Piwik\Log\Formatter\LineMessageFormatter')),
+ 'Piwik\Log\Handler\WebNotificationHandler' => DI\object()
+ ->constructor(DI\link('log.level'))
+ ->method('setFormatter', DI\link('Piwik\Log\Formatter\LineMessageFormatter')),
+ 'log.level' => DI\factory(function (ContainerInterface $c) {
+ if ($c->has('old_config.log.log_level')) {
+ $level = strtoupper($c->get('old_config.log.log_level'));
+ if (!empty($level) && defined('Piwik\Log::'.strtoupper($level))) {
+ return Log::getMonologLevel(constant('Piwik\Log::'.strtoupper($level)));
+ }
+ }
+ return Logger::WARNING;
+ }),
+ 'log.file.filename' => DI\factory(function (ContainerInterface $c) {
+ $logPath = $c->get('old_config.log.logger_file_path');
+
+ // Absolute path
+ if (strpos($logPath, '/') === 0) {
+ return $logPath;
+ }
+
+ // Remove 'tmp/' at the beginning
+ if (strpos($logPath, 'tmp/') === 0) {
+ $logPath = substr($logPath, strlen('tmp'));
+ }
+
+ if (empty($logPath)) {
+ // Default log file
+ $logPath = '/logs/piwik.log';
+ }
+
+ $logPath = $c->get('path.tmp') . $logPath;
+ if (is_dir($logPath)) {
+ $logPath .= '/piwik.log';
+ }
+
+ return $logPath;
+ }),
+ 'Piwik\Log\Formatter\LineMessageFormatter' => DI\object()
+ ->constructor(DI\link('log.format')),
+ 'log.format' => DI\factory(function (ContainerInterface $c) {
+ if ($c->has('old_config.log.string_message_format')) {
+ return $c->get('old_config.log.string_message_format');
+ }
+ return '%level% %tag%[%datetime%] %message%';
+ }),
+
);
diff --git a/console b/console
index e3738ab10a..a0bba7da39 100755
--- a/console
+++ b/console
@@ -25,5 +25,10 @@ if (!Piwik\Common::isPhpCliMode()) {
exit;
}
+if (!defined('PIWIK_ENABLE_ERROR_HANDLER') || PIWIK_ENABLE_ERROR_HANDLER) {
+ \Piwik\ErrorHandler::registerErrorHandler();
+ \Piwik\ExceptionHandler::setUp();
+}
+
$console = new Piwik\Console();
$console->run(); \ No newline at end of file
diff --git a/core/CliMulti/RequestCommand.php b/core/CliMulti/RequestCommand.php
index 4eddb0d8b8..1271c41cb3 100644
--- a/core/CliMulti/RequestCommand.php
+++ b/core/CliMulti/RequestCommand.php
@@ -9,12 +9,13 @@
namespace Piwik\CliMulti;
use Piwik\Config;
+use Piwik\Container\StaticContainer;
+use Piwik\Log;
use Piwik\Plugin\ConsoleCommand;
use Piwik\Url;
use Piwik\UrlHelper;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
-use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
/**
@@ -31,6 +32,8 @@ class RequestCommand extends ConsoleCommand
protected function execute(InputInterface $input, OutputInterface $output)
{
+ $this->recreateContainerWithWebEnvironment();
+
$this->initHostAndQueryString($input);
if ($this->isTestModeEnabled()) {
@@ -81,4 +84,16 @@ class RequestCommand extends ConsoleCommand
}
}
-} \ No newline at end of file
+ /**
+ * We will be simulating an HTTP request here (by including index.php).
+ *
+ * To avoid weird side-effects (e.g. the logging output messing up the HTTP response on the CLI output)
+ * we need to recreate the container with the default environment instead of the CLI environment.
+ */
+ private function recreateContainerWithWebEnvironment()
+ {
+ StaticContainer::setEnvironment(null);
+ StaticContainer::clearContainer();
+ Log::unsetInstance();
+ }
+}
diff --git a/core/Common.php b/core/Common.php
index f228053da0..5e09c62934 100644
--- a/core/Common.php
+++ b/core/Common.php
@@ -1233,7 +1233,11 @@ class Common
$var = null;
}
- public static function printDebug($info = '')
+ /**
+ * @todo This method is weird, it's debugging statements but seem to only work for the tracker, maybe it
+ * should be moved elsewhere
+ */
+ public static function printDebug($info = '')
{
if (isset($GLOBALS['PIWIK_TRACKER_DEBUG']) && $GLOBALS['PIWIK_TRACKER_DEBUG']) {
@@ -1241,8 +1245,6 @@ class Common
$info = var_export($info, true);
}
- Log::getInstance()->setLogLevel(Log::DEBUG);
-
if (is_array($info) || is_object($info)) {
$info = Common::sanitizeInputValues($info);
$out = var_export($info, true);
diff --git a/core/Console.php b/core/Console.php
index d0268569c9..80fa29b758 100644
--- a/core/Console.php
+++ b/core/Console.php
@@ -8,7 +8,9 @@
*/
namespace Piwik;
+use Piwik\Container\StaticContainer;
use Piwik\Plugin\Manager as PluginManager;
+use Symfony\Bridge\Monolog\Handler\ConsoleHandler;
use Symfony\Component\Console\Application;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
@@ -29,12 +31,15 @@ class Console extends Application
);
$this->getDefinition()->addOption($option);
+
+ StaticContainer::setEnvironment('cli');
}
public function doRun(InputInterface $input, OutputInterface $output)
{
$this->initPiwikHost($input);
$this->initConfig($output);
+ $this->initLoggerOutput($output);
try {
self::initPlugins();
@@ -142,6 +147,21 @@ class Console extends Application
}
}
+ /**
+ * Register the console output into the logger.
+ *
+ * Ideally, this should be done automatically with events:
+ * @see http://symfony.com/fr/doc/current/components/console/events.html
+ * @see Symfony\Bridge\Monolog\Handler\ConsoleHandler::onCommand()
+ * But it would require to install Symfony's Event Dispatcher.
+ */
+ private function initLoggerOutput(OutputInterface $output)
+ {
+ /** @var ConsoleHandler $consoleLogHandler */
+ $consoleLogHandler = StaticContainer::getContainer()->get('Symfony\Bridge\Monolog\Handler\ConsoleHandler');
+ $consoleLogHandler->setOutput($output);
+ }
+
public static function initPlugins()
{
Plugin\Manager::getInstance()->loadActivatedPlugins();
diff --git a/core/Container/ContainerFactory.php b/core/Container/ContainerFactory.php
new file mode 100644
index 0000000000..f0414452b7
--- /dev/null
+++ b/core/Container/ContainerFactory.php
@@ -0,0 +1,79 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Container;
+
+use DI\Container;
+use DI\ContainerBuilder;
+use Doctrine\Common\Cache\ArrayCache;
+use Piwik\Config;
+
+/**
+ * Creates a configured DI container.
+ */
+class ContainerFactory
+{
+ /**
+ * Optional environment config to load.
+ *
+ * @var bool
+ */
+ private $environment;
+
+ /**
+ * @param string|null $environment Optional environment config to load.
+ */
+ public function __construct($environment = null)
+ {
+ $this->environment = $environment;
+ }
+
+ /**
+ * @link http://php-di.org/doc/container-configuration.html
+ * @throws \Exception
+ * @return Container
+ */
+ public function create()
+ {
+ if (!class_exists('DI\ContainerBuilder')) {
+ throw new \Exception('DI\ContainerBuilder could not be found, maybe you are using Piwik from git and need to update Composer: php composer.phar update');
+ }
+
+ $builder = new ContainerBuilder();
+
+ $builder->useAnnotations(false);
+ $builder->setDefinitionCache(new ArrayCache());
+
+ // INI config
+ $builder->addDefinitions(new IniConfigDefinitionSource(Config::getInstance()));
+
+ // Global config
+ $builder->addDefinitions(PIWIK_USER_PATH . '/config/global.php');
+
+ // User config
+ if (file_exists(PIWIK_USER_PATH . '/config/config.php')) {
+ $builder->addDefinitions(PIWIK_USER_PATH . '/config/config.php');
+ }
+
+ // Environment config
+ $this->addEnvironmentConfig($builder);
+
+ return $builder->build();
+ }
+
+ private function addEnvironmentConfig(ContainerBuilder $builder)
+ {
+ if (!$this->environment) {
+ return;
+ }
+
+ $file = sprintf('%s/config/environment/%s.php', PIWIK_USER_PATH, $this->environment);
+
+ $builder->addDefinitions($file);
+ }
+}
diff --git a/core/Container/StaticContainer.php b/core/Container/StaticContainer.php
index 4e09d2bdb7..048ba8a687 100644
--- a/core/Container/StaticContainer.php
+++ b/core/Container/StaticContainer.php
@@ -9,9 +9,6 @@
namespace Piwik\Container;
use DI\Container;
-use DI\ContainerBuilder;
-use Doctrine\Common\Cache\ArrayCache;
-use Piwik\Config;
/**
* This class provides a static access to the container.
@@ -28,6 +25,13 @@ class StaticContainer
private static $container;
/**
+ * Optional environment config to load.
+ *
+ * @var bool
+ */
+ private static $environment;
+
+ /**
* @return Container
*/
public static function getContainer()
@@ -45,32 +49,31 @@ class StaticContainer
}
/**
+ * Only use this in tests.
+ *
+ * @param Container $container
+ */
+ public static function set(Container $container)
+ {
+ self::$container = $container;
+ }
+
+ /**
* @link http://php-di.org/doc/container-configuration.html
*/
private static function createContainer()
{
- if (!class_exists('DI\ContainerBuilder')) {
- throw new \Exception('DI\ContainerBuilder could not be found, maybe you are using Piwik from git and need to update Composer: php composer.phar update');
- }
-
- $builder = new ContainerBuilder();
-
- $builder->useAnnotations(false);
-
- // TODO set a better cache
- $builder->setDefinitionCache(new ArrayCache());
-
- // Old global INI config
- $builder->addDefinitions(new IniConfigDefinitionSource(Config::getInstance()));
-
- // Global config
- $builder->addDefinitions(PIWIK_USER_PATH . '/config/global.php');
-
- // User config
- if (file_exists(PIWIK_USER_PATH . '/config/config.php')) {
- $builder->addDefinitions(PIWIK_USER_PATH . '/config/config.php');
- }
+ $containerFactory = new ContainerFactory(self::$environment);
+ return $containerFactory->create();
+ }
- return $builder->build();
+ /**
+ * Set the application environment (cli, test, …) or null for the default one.
+ *
+ * @param string|null $environment
+ */
+ public static function setEnvironment($environment)
+ {
+ self::$environment = $environment;
}
}
diff --git a/core/CronArchive.php b/core/CronArchive.php
index d36e988832..3348966ab0 100644
--- a/core/CronArchive.php
+++ b/core/CronArchive.php
@@ -218,7 +218,6 @@ class CronArchive
{
$this->formatter = new Formatter();
- $this->initLog();
$this->initPiwikHost($piwikUrl);
$this->initCore();
$this->initTokenAuth();
@@ -892,28 +891,6 @@ class CronArchive
}
/**
- * Configures Piwik\Log so messages are written in output
- */
- private function initLog()
- {
- $config = Config::getInstance();
-
- $log = $config->log;
- $log['log_only_when_debug_parameter'] = 0;
- $log[Log::LOG_WRITERS_CONFIG_OPTION][] = "screen";
-
- $config->log = $log;
-
- Log::unsetInstance();
-
- // Make sure we log at least INFO (if logger is set to DEBUG then keep it)
- $logLevel = Log::getInstance()->getLogLevel();
- if ($logLevel < Log::INFO) {
- Log::getInstance()->setLogLevel(Log::INFO);
- }
- }
-
- /**
* Init Piwik, connect DB, create log & config objects, etc.
*/
private function initCore()
diff --git a/core/Db.php b/core/Db.php
index fa26f34f02..66aef40222 100644
--- a/core/Db.php
+++ b/core/Db.php
@@ -711,6 +711,6 @@ class Db
private static function logSql($functionName, $sql, $parameters = array())
{
// NOTE: at the moment we dont log bind in order to avoid sensitive information leaks
- Log::verbose("Db::%s() executing SQL:\n%s", $functionName, $sql);
+ Log::verbose("Db::%s() executing SQL: %s", $functionName, $sql);
}
}
diff --git a/core/Error.php b/core/Error.php
deleted file mode 100644
index c56e3301a7..0000000000
--- a/core/Error.php
+++ /dev/null
@@ -1,226 +0,0 @@
-<?php
-/**
- * Piwik - free/libre analytics platform
- *
- * @link http://piwik.org
- * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- *
- */
-namespace Piwik;
-
-require_once PIWIK_INCLUDE_PATH . '/core/Log.php';
-
-/**
- * Holds PHP error information (non-exception errors). Also contains log formatting logic
- * for PHP errors and Piwik's error handler function.
- */
-class Error
-{
- /**
- * The backtrace string to use when testing.
- *
- * @var string
- */
- public static $debugBacktraceForTests = null;
-
- /**
- * The error number. See http://php.net/manual/en/errorfunc.constants.php#errorfunc.constants.errorlevels
- *
- * @var int
- */
- public $errno;
-
- /**
- * The error message.
- *
- * @var string
- */
- public $errstr;
-
- /**
- * The file in which the error occurred.
- *
- * @var string
- */
- public $errfile;
-
- /**
- * The line number on which the error occurred.
- *
- * @var int
- */
- public $errline;
-
- /**
- * The error backtrace.
- *
- * @var string
- */
- public $backtrace;
-
- /**
- * Constructor.
- *
- * @param int $errno
- * @param string $errstr
- * @param string $errfile
- * @param int $errline
- * @param string $backtrace
- */
- public function __construct($errno, $errstr, $errfile, $errline, $backtrace)
- {
- $this->errno = $errno;
- $this->errstr = $errstr;
- $this->errfile = $errfile;
- $this->errline = $errline;
- $this->backtrace = $backtrace;
- }
-
- /**
- * Returns a string description of a PHP error number.
- *
- * @param int $errno `E_ERROR`, `E_WARNING`, `E_PARSE`, etc.
- * @return string
- */
- public static function getErrNoString($errno)
- {
- switch ($errno) {
- case E_ERROR:
- return "Error";
- case E_WARNING:
- return "Warning";
- case E_PARSE:
- return "Parse Error";
- case E_NOTICE:
- return "Notice";
- case E_CORE_ERROR:
- return "Core Error";
- case E_CORE_WARNING:
- return "Core Warning";
- case E_COMPILE_ERROR:
- return "Compile Error";
- case E_COMPILE_WARNING:
- return "Compile Warning";
- case E_USER_ERROR:
- return "User Error";
- case E_USER_WARNING:
- return "User Warning";
- case E_USER_NOTICE:
- return "User Notice";
- case E_STRICT:
- return "Strict Notice";
- case E_RECOVERABLE_ERROR:
- return "Recoverable Error";
- case E_DEPRECATED:
- return "Deprecated";
- case E_USER_DEPRECATED:
- return "User Deprecated";
- default:
- return "Unknown error ($errno)";
- }
- }
-
- public static function formatFileAndDBLogMessage(&$message, $level, $tag, $datetime, $log)
- {
- if ($message instanceof Error) {
- $message = $message->errfile . '(' . $message->errline . '): ' . Error::getErrNoString($message->errno)
- . ' - ' . $message->errstr . "\n" . $message->backtrace;
-
- $message = $log->formatMessage($level, $tag, $datetime, $message);
- }
- }
-
- public static function formatScreenMessage(&$message, $level, $tag, $datetime, $log)
- {
- if ($message instanceof Error) {
- $errno = $message->errno & error_reporting();
-
- // problem when using error_reporting with the @ silent fail operator
- // it gives an errno 0, and in this case the objective is to NOT display anything on the screen!
- // is there any other case where the errno is zero at this point?
- if ($errno == 0) {
- $message = false;
- return;
- }
-
- Common::sendHeader('Content-Type: text/html; charset=utf-8');
-
- $htmlString = '';
- $htmlString .= "\n<div style='word-wrap: break-word; border: 3px solid red; padding:4px; width:70%; background-color:#FFFF96;'>
- <strong>There is an error. Please report the message (Piwik " . (class_exists('Piwik\Version') ? Version::VERSION : '') . ")
- and full backtrace in the <a href='?module=Proxy&action=redirect&url=http://forum.piwik.org' target='_blank'>Piwik forums</a> (please do a Search first as it might have been reported already!).<br /><br/>
- ";
- $htmlString .= Error::getErrNoString($message->errno);
- $htmlString .= ":</strong> <em>{$message->errstr}</em> in <strong>{$message->errfile}</strong>";
- $htmlString .= " on line <strong>{$message->errline}</strong>\n";
- $htmlString .= "<br /><br />Backtrace --&gt;<div style=\"font-family:Courier;font-size:10pt\"><br />\n";
- $htmlString .= str_replace("\n", "<br />\n", $message->backtrace);
- $htmlString .= "</div><br />";
- $htmlString .= "\n </pre></div><br />";
-
- $message = $htmlString;
- }
- }
-
- public static function setErrorHandler()
- {
- Piwik::addAction('Log.formatFileMessage', array('\\Piwik\\Error', 'formatFileAndDBLogMessage'));
- Piwik::addAction('Log.formatDatabaseMessage', array('\\Piwik\\Error', 'formatFileAndDBLogMessage'));
- Piwik::addAction('Log.formatScreenMessage', array('\\Piwik\\Error', 'formatScreenMessage'));
-
- set_error_handler(array('\\Piwik\\Error', 'errorHandler'));
- }
-
- public static function errorHandler($errno, $errstr, $errfile, $errline)
- {
- // if the error has been suppressed by the @ we don't handle the error
- if (error_reporting() == 0) {
- return;
- }
-
- $backtrace = '';
- if (empty(self::$debugBacktraceForTests)) {
- $bt = @debug_backtrace();
- if ($bt !== null && isset($bt[0])) {
- foreach ($bt as $i => $debug) {
- $backtrace .= "#$i "
- . (isset($debug['class']) ? $debug['class'] : '')
- . (isset($debug['type']) ? $debug['type'] : '')
- . (isset($debug['function']) ? $debug['function'] : '')
- . '(...) called at ['
- . (isset($debug['file']) ? $debug['file'] : '') . ':'
- . (isset($debug['line']) ? $debug['line'] : '') . ']' . "\n";
- }
- }
- } else {
- $backtrace = self::$debugBacktraceForTests;
- }
-
- $error = new Error($errno, $errstr, $errfile, $errline, $backtrace);
- Log::error($error);
-
- switch ($errno) {
- case E_ERROR:
- case E_PARSE:
- case E_CORE_ERROR:
- case E_CORE_WARNING:
- case E_COMPILE_ERROR:
- case E_COMPILE_WARNING:
- case E_USER_ERROR:
- exit;
- break;
-
- case E_WARNING:
- case E_NOTICE:
- case E_USER_WARNING:
- case E_USER_NOTICE:
- case E_STRICT:
- case E_RECOVERABLE_ERROR:
- case E_DEPRECATED:
- case E_USER_DEPRECATED:
- default:
- // do not exit
- break;
- }
- }
-}
diff --git a/core/ErrorHandler.php b/core/ErrorHandler.php
new file mode 100644
index 0000000000..93d5ea874b
--- /dev/null
+++ b/core/ErrorHandler.php
@@ -0,0 +1,130 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik;
+
+use Piwik\Exception\ErrorException;
+
+/**
+ * Piwik's error handler function.
+ */
+class ErrorHandler
+{
+ /**
+ * Returns a string description of a PHP error number.
+ *
+ * @param int $errno `E_ERROR`, `E_WARNING`, `E_PARSE`, etc.
+ * @return string
+ */
+ public static function getErrNoString($errno)
+ {
+ switch ($errno) {
+ case E_ERROR:
+ return "Error";
+ case E_WARNING:
+ return "Warning";
+ case E_PARSE:
+ return "Parse Error";
+ case E_NOTICE:
+ return "Notice";
+ case E_CORE_ERROR:
+ return "Core Error";
+ case E_CORE_WARNING:
+ return "Core Warning";
+ case E_COMPILE_ERROR:
+ return "Compile Error";
+ case E_COMPILE_WARNING:
+ return "Compile Warning";
+ case E_USER_ERROR:
+ return "User Error";
+ case E_USER_WARNING:
+ return "User Warning";
+ case E_USER_NOTICE:
+ return "User Notice";
+ case E_STRICT:
+ return "Strict Notice";
+ case E_RECOVERABLE_ERROR:
+ return "Recoverable Error";
+ case E_DEPRECATED:
+ return "Deprecated";
+ case E_USER_DEPRECATED:
+ return "User Deprecated";
+ default:
+ return "Unknown error ($errno)";
+ }
+ }
+
+ public static function registerErrorHandler()
+ {
+ set_error_handler(array('Piwik\ErrorHandler', 'errorHandler'));
+ }
+
+ public static function errorHandler($errno, $errstr, $errfile, $errline)
+ {
+ // if the error has been suppressed by the @ we don't handle the error
+ if (error_reporting() == 0) {
+ return;
+ }
+
+ switch ($errno) {
+ case E_ERROR:
+ case E_PARSE:
+ case E_CORE_ERROR:
+ case E_CORE_WARNING:
+ case E_COMPILE_ERROR:
+ case E_COMPILE_WARNING:
+ case E_USER_ERROR:
+ // Convert the error to an exception with an HTML message
+ $e = new \Exception();
+ $message = self::getHtmlMessage($errno, $errstr, $errfile, $errline, $e->getTraceAsString());
+ throw new ErrorException($message, 0, $errno, $errfile, $errline);
+ break;
+
+ case E_WARNING:
+ case E_NOTICE:
+ case E_USER_WARNING:
+ case E_USER_NOTICE:
+ case E_STRICT:
+ case E_RECOVERABLE_ERROR:
+ case E_DEPRECATED:
+ case E_USER_DEPRECATED:
+ default:
+ Log::warning(self::createLogMessage($errno, $errstr, $errfile, $errline));
+ break;
+ }
+ }
+
+ private static function createLogMessage($errno, $errstr, $errfile, $errline)
+ {
+ return sprintf(
+ "%s(%d): %s - %s - Piwik " . (class_exists('Piwik\Version') ? Version::VERSION : '') . " - Please report this message in the Piwik forums: http://forum.piwik.org (please do a search first as it might have been reported already)",
+ $errfile,
+ $errline,
+ ErrorHandler::getErrNoString($errno),
+ $errstr
+ );
+ }
+
+ private static function getHtmlMessage($errno, $errstr, $errfile, $errline, $trace)
+ {
+ $trace = Log::$debugBacktraceForTests ?: $trace;
+
+ $message = ErrorHandler::getErrNoString($errno) . ' - ' . $errstr;
+
+ $html = "<strong>There is an error. Please report the message (Piwik " . (class_exists('Piwik\Version') ? Version::VERSION : '') . ")
+ and full backtrace in the <a href='?module=Proxy&action=redirect&url=http://forum.piwik.org' target='_blank'>Piwik forums</a> (please do a Search first as it might have been reported already!).</strong><br /><br/>
+ ";
+ $html .= "<strong>{$message}</strong> in <em>{$errfile}</em>";
+ $html .= " on line {$errline}<br />";
+ $html .= "<br />Backtrace:<div style=\"font-family:Courier;font-size:10pt\"><br />\n";
+ $html .= str_replace("\n", "<br />\n", $trace);
+ $html .= "</div>";
+
+ return $html;
+ }
+}
diff --git a/core/Exception/ErrorException.php b/core/Exception/ErrorException.php
new file mode 100644
index 0000000000..1673d8def8
--- /dev/null
+++ b/core/Exception/ErrorException.php
@@ -0,0 +1,16 @@
+<?php
+
+namespace Piwik\Exception;
+
+/**
+ * ErrorException
+ *
+ * @author Matthieu Napoli <matthieu@mnapoli.fr>
+ */
+class ErrorException extends \ErrorException
+{
+ public function isHtmlMessage()
+ {
+ return true;
+ }
+}
diff --git a/core/ExceptionHandler.php b/core/ExceptionHandler.php
index 8566385070..e68a058e4a 100644
--- a/core/ExceptionHandler.php
+++ b/core/ExceptionHandler.php
@@ -8,54 +8,92 @@
*/
namespace Piwik;
-use Piwik\API\ResponseBuilder;
-use Piwik\Plugin;
+use Exception;
+use Piwik\Plugins\CoreAdminHome\CustomLogo;
/**
- * Contains Piwik's uncaught exception handler and log file formatting for exception
- * instances.
+ * Contains Piwik's uncaught exception handler.
*/
class ExceptionHandler
{
- /**
- * The backtrace string to use when testing.
- *
- * @var string
- */
- public static $debugBacktraceForTests = null;
-
public static function setUp()
{
- Piwik::addAction('Log.formatFileMessage', array('\\Piwik\\ExceptionHandler', 'formatFileAndDBLogMessage'));
- Piwik::addAction('Log.formatDatabaseMessage', array('\\Piwik\\ExceptionHandler', 'formatFileAndDBLogMessage'));
- Piwik::addAction('Log.formatScreenMessage', array('\\Piwik\\ExceptionHandler', 'formatScreenMessage'));
+ set_exception_handler(array('Piwik\ExceptionHandler', 'handleException'));
+ }
+
+ public static function handleException(Exception $exception)
+ {
+ if (Common::isPhpCliMode()) {
+ self::dieWithCliError($exception);
+ }
- set_exception_handler(array('\\Piwik\\ExceptionHandler', 'logException'));
+ self::dieWithHtmlErrorPage($exception);
}
- public static function formatFileAndDBLogMessage(&$message, $level, $tag, $datetime, $log)
+ public static function dieWithCliError(Exception $exception)
{
- if ($message instanceof \Exception) {
- $message = sprintf("%s(%d): %s\n%s", $message->getFile(), $message->getLine(), $message->getMessage(),
- self::$debugBacktraceForTests ? : $message->getTraceAsString());
+ $message = $exception->getMessage();
- $message = $log->formatMessage($level, $tag, $datetime, $message);
+ if (!method_exists($exception, 'isHtmlMessage') || !$exception->isHtmlMessage()) {
+ $message = strip_tags(str_replace('<br />', PHP_EOL, $message));
}
+
+ $message = sprintf(
+ "Uncaught exception: %s\nin %s line %d\n%s\n",
+ $message,
+ $exception->getFile(),
+ $exception->getLine(),
+ $exception->getTraceAsString()
+ );
+
+ echo $message;
+
+ exit(1);
}
- public static function formatScreenMessage(&$message, $level, $tag, $datetime, $log)
+ public static function dieWithHtmlErrorPage(Exception $exception)
{
- if ($message instanceof \Exception) {
- Common::sendHeader('Content-Type: text/html; charset=utf-8');
+ Common::sendHeader('Content-Type: text/html; char1set=utf-8');
- $outputFormat = strtolower(Common::getRequestVar('format', 'html', 'string'));
- $response = new ResponseBuilder($outputFormat);
- $message = $response->getResponseException(new \Exception($message->getMessage()));
- }
+ echo self::getErrorResponse($exception);
+
+ exit(1);
}
- public static function logException(\Exception $exception)
+ private static function getErrorResponse(Exception $ex)
{
- Log::error($exception);
+ $debugTrace = $ex->getTraceAsString();
+
+ $message = $ex->getMessage();
+
+ if (!method_exists($ex, 'isHtmlMessage') || !$ex->isHtmlMessage()) {
+ $message = Common::sanitizeInputValue($message);
+ }
+
+ $logo = new CustomLogo();
+
+ $logoHeaderUrl = false;
+ $logoFaviconUrl = false;
+ try {
+ $logoHeaderUrl = $logo->getHeaderLogoUrl();
+ $logoFaviconUrl = $logo->getPathUserFavicon();
+ } catch (Exception $ex) {
+ Log::debug($ex);
+ }
+
+ $result = Piwik_GetErrorMessagePage($message, $debugTrace, true, true, $logoHeaderUrl, $logoFaviconUrl);
+
+ /**
+ * Triggered before a Piwik error page is displayed to the user.
+ *
+ * This event can be used to modify the content of the error page that is displayed when
+ * an exception is caught.
+ *
+ * @param string &$result The HTML of the error page.
+ * @param Exception $ex The Exception displayed in the error page.
+ */
+ Piwik::postEvent('FrontController.modifyErrorPage', array(&$result, $ex));
+
+ return $result;
}
}
diff --git a/core/FrontController.php b/core/FrontController.php
index f4ff833352..90b9db2fa5 100644
--- a/core/FrontController.php
+++ b/core/FrontController.php
@@ -18,7 +18,6 @@ use Piwik\Http\Router;
use Piwik\Plugin\Controller;
use Piwik\Plugin\Report;
use Piwik\Plugin\Widgets;
-use Piwik\Plugins\CoreAdminHome\CustomLogo;
use Piwik\Session;
/**
@@ -612,48 +611,4 @@ class FrontController extends Singleton
Piwik::postEvent('Request.dispatch.end', array(&$result, $module, $action, $parameters));
return $result;
}
-
- /**
- * Returns HTML that displays an exception's error message (and possibly stack trace).
- * The result of this method is echo'd by dispatch.php.
- *
- * @param Exception $ex The exception to use when generating the error page's HTML.
- * @return string The HTML to echo.
- */
- public function getErrorResponse(Exception $ex)
- {
- $debugTrace = $ex->getTraceAsString();
-
- $message = $ex->getMessage();
-
- if (!method_exists($ex, 'isHtmlMessage') || !$ex->isHtmlMessage()) {
- $message = Common::sanitizeInputValue($message);
- }
-
- $logo = new CustomLogo();
-
- $logoHeaderUrl = false;
- $logoFaviconUrl = false;
- try {
- $logoHeaderUrl = $logo->getHeaderLogoUrl();
- $logoFaviconUrl = $logo->getPathUserFavicon();
- } catch (Exception $ex) {
- Log::debug($ex);
- }
-
- $result = Piwik_GetErrorMessagePage($message, $debugTrace, true, true, $logoHeaderUrl, $logoFaviconUrl);
-
- /**
- * Triggered before a Piwik error page is displayed to the user.
- *
- * This event can be used to modify the content of the error page that is displayed when
- * an exception is caught.
- *
- * @param string &$result The HTML of the error page.
- * @param Exception $ex The Exception displayed in the error page.
- */
- Piwik::postEvent('FrontController.modifyErrorPage', array(&$result, $ex));
-
- return $result;
- }
}
diff --git a/core/Log.php b/core/Log.php
index 1315362c38..afbe2c46f5 100644
--- a/core/Log.php
+++ b/core/Log.php
@@ -4,12 +4,13 @@
*
* @link http://piwik.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- *
*/
+
namespace Piwik;
+use Monolog\Logger;
use Piwik\Container\StaticContainer;
-use Piwik\Db;
+use Psr\Log\LoggerInterface;
/**
* Logging utility class.
@@ -19,9 +20,7 @@ use Piwik\Db;
* the name of the current class is used.
*
* You can log messages using one of the public static functions (eg, 'error', 'warning',
- * 'info', etc.). Messages logged with the **error** level will **always** be logged to
- * the screen, regardless of whether the [log] log_writer config option includes the
- * screen writer.
+ * 'info', etc.).
*
* Currently, Piwik supports the following logging backends:
*
@@ -29,6 +28,8 @@ use Piwik\Db;
* - **file**: logging to a file
* - **database**: logging to Piwik's MySQL database
*
+ * Messages logged in the console will always be logged to the console output.
+ *
* ### Logging configuration
*
* The logging utility can be configured by manipulating the INI config options in the
@@ -43,63 +44,14 @@ use Piwik\Db;
* or **VERBOSE**. Log entries made with a log level that is as or more
* severe than the current log level will be outputted. Others will be
* ignored. The default level is **WARN**.
- * - `log_only_when_cli`: 0 or 1. If 1, logging is only enabled when Piwik is executed
- * in the command line (for example, by the core:archive command
- * script). Default: 0.
- * - `log_only_when_debug_parameter`: 0 or 1. If 1, logging is only enabled when the
- * `debug` query parameter is 1. Default: 0.
* - `logger_file_path`: For the file log writer, specifies the path to the log file
* to log to or a path to a directory to store logs in. If a
* directory, the file name is piwik.log. Can be relative to
* Piwik's root dir or an absolute path. Defaults to **tmp/logs**.
*
- * ### Custom message formatting
- *
- * If you'd like to format log messages differently for different backends, you can use
- * one of the `'Log.format...Message'` events.
- *
- * These events are fired when an object is logged. You can create your own custom class
- * containing the information to log and listen to these events to format it correctly for
- * different backends.
- *
- * If you don't care about the backend when formatting an object, implement a `__toString()`
- * in the custom class.
- *
- * ### Custom log writers
- *
- * New logging backends can be added via the {@hook Log.getAvailableWriters}` event. A log
- * writer is just a callback that accepts log entry information (such as the message,
- * level, etc.), so any backend could conceivably be used (including existing PSR3
- * backends).
- *
- * ### Examples
- *
- * **Basic logging**
- *
- * Log::error("This log message will end up on the screen and in a file.")
- * Log::verbose("This log message uses %s params, but %s will only be called if the"
- * . " configured log level includes %s.", "sprintf", "sprintf", "verbose");
*
- * **Logging objects**
- *
- * class MyDebugInfo
- * {
- * // ...
- *
- * public function __toString()
- * {
- * return // ...
- * }
- * }
- *
- * try {
- * $myThirdPartyServiceClient->doSomething();
- * } catch (Exception $unexpectedError) {
- * $debugInfo = new MyDebugInfo($unexpectedError, $myThirdPartyServiceClient);
- * Log::debug($debugInfo);
- * }
- *
- * @method static \Piwik\Log getInstance()
+ * @deprecated Inject and use Psr\Log\LoggerInterface instead of this class.
+ * @see \Psr\Log\LoggerInterface
*/
class Log extends Singleton
{
@@ -117,78 +69,62 @@ class Log extends Singleton
const LOGGER_FILE_PATH_CONFIG_OPTION = 'logger_file_path';
const STRING_MESSAGE_FORMAT_OPTION = 'string_message_format';
- const FORMAT_FILE_MESSAGE_EVENT = 'Log.formatFileMessage';
-
- const FORMAT_SCREEN_MESSAGE_EVENT = 'Log.formatScreenMessage';
-
- const FORMAT_DATABASE_MESSAGE_EVENT = 'Log.formatDatabaseMessage';
-
- const GET_AVAILABLE_WRITERS_EVENT = 'Log.getAvailableWriters';
-
/**
- * The current logging level. Everything of equal or greater priority will be logged.
- * Everything else will be ignored.
- *
- * @var int
- */
- private $currentLogLevel = self::WARN;
-
- /**
- * The array of callbacks executed when logging to a file. Each callback writes a log
- * message to a logging backend.
- *
- * @var array
- */
- private $writers = array();
-
- /**
- * The log message format string that turns a tag name, date-time and message into
- * one string to log.
+ * The backtrace string to use when testing.
*
* @var string
*/
- private $logMessageFormat = "%level% %tag%[%datetime%] %message%";
+ public static $debugBacktraceForTests;
/**
- * If we're logging to a file, this is the path to the file to log to.
+ * Singleton instance.
*
- * @var string
+ * @var Log
*/
- private $logToFilePath;
+ private static $instance;
/**
- * True if we're currently setup to log to a screen, false if otherwise.
- *
- * @var bool
+ * @var LoggerInterface
*/
- private $loggingToScreen;
+ private $logger;
+
+ public static function getInstance()
+ {
+ if (self::$instance === null) {
+ self::$instance = StaticContainer::getContainer()->get(__CLASS__);
+ }
+ return self::$instance;
+ }
+ public static function unsetInstance()
+ {
+ self::$instance = null;
+ }
+ public static function setSingletonInstance($instance)
+ {
+ self::$instance = $instance;
+ }
/**
- * Constructor.
+ * @param LoggerInterface $logger
*/
- protected function __construct()
+ public function __construct(LoggerInterface $logger)
{
- $logConfig = Config::getInstance()->log;
- $this->setCurrentLogLevelFromConfig($logConfig);
- $this->setLogWritersFromConfig($logConfig);
- $this->setLogFilePathFromConfig($logConfig);
- $this->setStringLogMessageFormat($logConfig);
- $this->disableLoggingBasedOnConfig($logConfig);
+ $this->logger = $logger;
}
/**
* Logs a message using the ERROR log level.
*
- * _Note: Messages logged with the ERROR level are always logged to the screen in addition
- * to configured writers._
- *
* @param string $message The log message. This can be a sprintf format string.
* @param ... mixed Optional sprintf params.
* @api
+ *
+ * @deprecated Inject and call Psr\Log\LoggerInterface::error() instead.
+ * @see \Psr\Log\LoggerInterface::error()
*/
public static function error($message /* ... */)
{
- self::logMessage(self::ERROR, $message, array_slice(func_get_args(), 1));
+ self::logMessage(Logger::ERROR, $message, array_slice(func_get_args(), 1));
}
/**
@@ -197,10 +133,13 @@ class Log extends Singleton
* @param string $message The log message. This can be a sprintf format string.
* @param ... mixed Optional sprintf params.
* @api
+ *
+ * @deprecated Inject and call Psr\Log\LoggerInterface::warning() instead.
+ * @see \Psr\Log\LoggerInterface::warning()
*/
public static function warning($message /* ... */)
{
- self::logMessage(self::WARN, $message, array_slice(func_get_args(), 1));
+ self::logMessage(Logger::WARNING, $message, array_slice(func_get_args(), 1));
}
/**
@@ -209,10 +148,13 @@ class Log extends Singleton
* @param string $message The log message. This can be a sprintf format string.
* @param ... mixed Optional sprintf params.
* @api
+ *
+ * @deprecated Inject and call Psr\Log\LoggerInterface::info() instead.
+ * @see \Psr\Log\LoggerInterface::info()
*/
public static function info($message /* ... */)
{
- self::logMessage(self::INFO, $message, array_slice(func_get_args(), 1));
+ self::logMessage(Logger::INFO, $message, array_slice(func_get_args(), 1));
}
/**
@@ -221,10 +163,13 @@ class Log extends Singleton
* @param string $message The log message. This can be a sprintf format string.
* @param ... mixed Optional sprintf params.
* @api
+ *
+ * @deprecated Inject and call Psr\Log\LoggerInterface::debug() instead.
+ * @see \Psr\Log\LoggerInterface::debug()
*/
public static function debug($message /* ... */)
{
- self::logMessage(self::DEBUG, $message, array_slice(func_get_args(), 1));
+ self::logMessage(Logger::DEBUG, $message, array_slice(func_get_args(), 1));
}
/**
@@ -233,481 +178,66 @@ class Log extends Singleton
* @param string $message The log message. This can be a sprintf format string.
* @param ... mixed Optional sprintf params.
* @api
+ *
+ * @deprecated Inject and call Psr\Log\LoggerInterface::debug() instead (the verbose level doesn't exist in the PSR standard).
+ * @see \Psr\Log\LoggerInterface::debug()
*/
public static function verbose($message /* ... */)
{
- self::logMessage(self::VERBOSE, $message, array_slice(func_get_args(), 1));
+ self::logMessage(Logger::DEBUG, $message, array_slice(func_get_args(), 1));
}
/**
- * Creates log message combining logging info including a log level, tag name,
- * date time, and caller-provided log message. The log message can be set through
- * the `[log] string_message_format` INI config option. By default it will
- * create log messages like:
- *
- * **LEVEL [tag:datetime] log message**
- *
- * @param int $level
- * @param string $tag
- * @param string $datetime
- * @param string $message
- * @return string
+ * @param int $logLevel
+ * @deprecated Will be removed, log levels are now applied on each Monolog handler.
*/
- public function formatMessage($level, $tag, $datetime, $message)
- {
- return str_replace(
- array("%tag%", "%message%", "%datetime%", "%level%"),
- array($tag, trim($message), $datetime, $this->getStringLevel($level)),
- $this->logMessageFormat
- );
- }
-
- private function setLogWritersFromConfig($logConfig)
- {
- // set the log writers
- $logWriters = @$logConfig[self::LOG_WRITERS_CONFIG_OPTION];
- if (empty($logWriters)) {
- return;
- }
-
- $logWriters = array_map('trim', $logWriters);
- foreach ($logWriters as $writerName) {
- $this->addLogWriter($writerName);
- }
- }
-
- public function addLogWriter($writerName)
- {
- if (array_key_exists($writerName, $this->writers)) {
- return;
- }
-
- $availableWritersByName = $this->getAvailableWriters();
-
- if (empty($availableWritersByName[$writerName])) {
- return;
- }
-
- $this->writers[$writerName] = $availableWritersByName[$writerName];
- }
-
- private function setCurrentLogLevelFromConfig($logConfig)
- {
- if (!empty($logConfig[self::LOG_LEVEL_CONFIG_OPTION])) {
- $logLevel = $this->getLogLevelFromStringName($logConfig[self::LOG_LEVEL_CONFIG_OPTION]);
-
- if ($logLevel >= self::NONE // sanity check
- && $logLevel <= self::VERBOSE
- ) {
- $this->setLogLevel($logLevel);
- }
- }
- }
-
- private function setStringLogMessageFormat($logConfig)
- {
- if (isset($logConfig['string_message_format'])) {
- $this->logMessageFormat = $logConfig['string_message_format'];
- }
- }
-
- private function setLogFilePathFromConfig($logConfig)
- {
- $logPath = @$logConfig[self::LOGGER_FILE_PATH_CONFIG_OPTION];
-
- // Absolute path
- if (strpos($logPath, '/') === 0) {
- $this->logToFilePath = $logPath;
- return;
- }
-
- // Remove 'tmp/' at the beginning
- if (strpos($logPath, 'tmp/') === 0) {
- $logPath = substr($logPath, strlen('tmp'));
- }
-
- if (empty($logPath)) {
- $logPath = $this->getDefaultFileLogPath();
- }
-
- $logPath = StaticContainer::getContainer()->get('path.tmp') . $logPath;
- if (is_dir($logPath)) {
- $logPath .= '/piwik.log';
- }
- $this->logToFilePath = $logPath;
- }
-
- private function getDefaultFileLogPath()
- {
- return '/logs/piwik.log';
- }
-
- private function getAvailableWriters()
- {
- $writers = array();
-
- /**
- * This event is called when the Log instance is created. Plugins can use this event to
- * make new logging writers available.
- *
- * A logging writer is a callback with the following signature:
- *
- * function (int $level, string $tag, string $datetime, string $message)
- *
- * `$level` is the log level to use, `$tag` is the log tag used, `$datetime` is the date time
- * of the logging call and `$message` is the formatted log message.
- *
- * Logging writers must be associated by name in the array passed to event handlers. The
- * name specified can be used in Piwik's INI configuration.
- *
- * **Example**
- *
- * public function getAvailableWriters(&$writers) {
- * $writers['myloggername'] = function ($level, $tag, $datetime, $message) {
- * // ...
- * };
- * }
- *
- * // 'myloggername' can now be used in the log_writers config option.
- *
- * @param array $writers Array mapping writer names with logging writers.
- */
- Piwik::postEvent(self::GET_AVAILABLE_WRITERS_EVENT, array(&$writers));
-
- $writers['file'] = array($this, 'logToFile');
- $writers['screen'] = array($this, 'logToScreen');
- $writers['database'] = array($this, 'logToDatabase');
- return $writers;
- }
-
public function setLogLevel($logLevel)
{
- $this->currentLogLevel = $logLevel;
}
+ /**
+ * @deprecated Will be removed, log levels are now applied on each Monolog handler.
+ */
public function getLogLevel()
{
- return $this->currentLogLevel;
}
- private function logToFile($level, $tag, $datetime, $message)
+ private function doLog($level, $message, $parameters = array())
{
- $message = $this->getMessageFormattedFile($level, $tag, $datetime, $message);
- if (empty($message)) {
- return;
- }
-
- if (!@file_put_contents($this->logToFilePath, $message, FILE_APPEND)
- && !defined('PIWIK_TEST_MODE')
- ) {
- $message = Filechecks::getErrorMessageMissingPermissions($this->logToFilePath);
- throw new \Exception($message);
+ // To ensure the compatibility with PSR-3, the message must be a string
+ if ($message instanceof \Exception) {
+ $parameters['exception'] = $message;
+ $message = $message->getMessage();
}
- }
-
- private function logToScreen($level, $tag, $datetime, $message)
- {
- $message = $this->getMessageFormattedScreen($level, $tag, $datetime, $message);
- if (empty($message)) {
- return;
+ if (! is_string($message)) {
+ throw new \InvalidArgumentException('Trying to log a message that is not a string');
}
- echo $message;
+ $this->logger->log($level, $message, $parameters);
}
- private function logToDatabase($level, $tag, $datetime, $message)
+ private static function logMessage($level, $message, $parameters)
{
- $message = $this->getMessageFormattedDatabase($level, $tag, $datetime, $message);
- if (empty($message)) {
- return;
- }
-
- $sql = "INSERT INTO " . Common::prefixTable('logger_message')
- . " (tag, timestamp, level, message)"
- . " VALUES (?, ?, ?, ?)";
- Db::query($sql, array($tag, $datetime, self::getStringLevel($level), (string)$message));
+ self::getInstance()->doLog($level, $message, $parameters);
}
- private function doLog($level, $message, $sprintfParams = array())
+ public static function getMonologLevel($level)
{
- if (!$this->shouldLoggerLog($level)) {
- return;
- }
-
- $datetime = date("Y-m-d H:i:s");
- if (is_string($message)
- && !empty($sprintfParams)
- ) {
- // handle array sprintf parameters
- foreach ($sprintfParams as &$param) {
- if (is_array($param)) {
- $param = json_encode($param);
- }
- }
-
- $message = vsprintf($message, $sprintfParams);
- }
-
- if (version_compare(phpversion(), '5.3.6', '>=')) {
- $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS | DEBUG_BACKTRACE_PROVIDE_OBJECT);
- } else {
- $backtrace = debug_backtrace();
- }
- $tag = Plugin::getPluginNameFromBacktrace($backtrace);
-
- // if we can't determine the plugin, use the name of the calling class
- if ($tag == false) {
- $tag = $this->getClassNameThatIsLogging($backtrace);
- }
-
- $this->writeMessage($level, $tag, $datetime, $message);
- }
-
- private function writeMessage($level, $tag, $datetime, $message)
- {
- foreach ($this->writers as $writer) {
- call_user_func($writer, $level, $tag, $datetime, $message);
- }
-
- if ($level == self::ERROR) {
- $message = $this->getMessageFormattedScreen($level, $tag, $datetime, $message);
- $this->writeErrorToStandardErrorOutput($message);
- if (!isset($this->writers['screen'])) {
- echo $message;
- }
- }
- }
-
- private static function logMessage($level, $message, $sprintfParams)
- {
- self::getInstance()->doLog($level, $message, $sprintfParams);
- }
-
- private function shouldLoggerLog($level)
- {
- return $level <= $this->currentLogLevel;
- }
-
- private function disableLoggingBasedOnConfig($logConfig)
- {
- $disableLogging = false;
-
- if (!empty($logConfig['log_only_when_cli'])
- && !Common::isPhpCliMode()
- ) {
- $disableLogging = true;
- }
-
- if (!empty($logConfig['log_only_when_debug_parameter'])
- && !isset($_REQUEST['debug'])
- ) {
- $disableLogging = true;
- }
-
- if ($disableLogging) {
- $this->currentLogLevel = self::NONE;
- }
- }
-
- private function getLogLevelFromStringName($name)
- {
- $name = strtoupper($name);
- switch ($name) {
- case 'NONE':
- return self::NONE;
- case 'ERROR':
- return self::ERROR;
- case 'WARN':
- return self::WARN;
- case 'INFO':
- return self::INFO;
- case 'DEBUG':
- return self::DEBUG;
- case 'VERBOSE':
- return self::VERBOSE;
+ switch ($level) {
+ case self::ERROR:
+ return Logger::ERROR;
+ case self::WARN:
+ return Logger::WARNING;
+ case self::INFO:
+ return Logger::INFO;
+ case self::DEBUG:
+ return Logger::DEBUG;
+ case self::VERBOSE:
+ return Logger::DEBUG;
+ case self::NONE:
default:
- return -1;
- }
- }
-
- private function getStringLevel($level)
- {
- static $levelToName = array(
- self::NONE => 'NONE',
- self::ERROR => 'ERROR',
- self::WARN => 'WARN',
- self::INFO => 'INFO',
- self::DEBUG => 'DEBUG',
- self::VERBOSE => 'VERBOSE'
- );
- return $levelToName[$level];
- }
-
- private function getClassNameThatIsLogging($backtrace)
- {
- foreach ($backtrace as $tracepoint) {
- if (isset($tracepoint['class'])
- && $tracepoint['class'] != "Piwik\\Log"
- && $tracepoint['class'] != "Piwik\\Piwik"
- && $tracepoint['class'] != "Piwik\\CronArchive"
- ) {
- return $tracepoint['class'];
- }
- }
- return false;
- }
-
- /**
- * @param $level
- * @param $tag
- * @param $datetime
- * @param $message
- * @return string
- */
- private function getMessageFormattedScreen($level, $tag, $datetime, $message)
- {
- static $currentRequestKey;
- if (empty($currentRequestKey)) {
- $currentRequestKey = substr(Common::generateUniqId(), 0, 5);
- }
-
- if (is_string($message)) {
- if (!defined('PIWIK_TEST_MODE')) {
- $message = '[' . $currentRequestKey . '] ' . $message;
- }
- $message = $this->formatMessage($level, $tag, $datetime, $message);
-
- if (!Common::isPhpCliMode()) {
- $message = Common::sanitizeInputValue($message);
- $message = '<pre>' . $message . '</pre>';
- }
- } else {
- $logger = $this;
-
- /**
- * Triggered when trying to log an object to the screen. Plugins can use
- * this event to convert objects to strings before they are logged.
- *
- * The result of this callback can be HTML so no sanitization is done on the result.
- * This means **YOU MUST SANITIZE THE MESSAGE YOURSELF** if you use this event.
- *
- * **Example**
- *
- * public function formatScreenMessage(&$message, $level, $tag, $datetime, $logger) {
- * if ($message instanceof MyCustomDebugInfo) {
- * $message = Common::sanitizeInputValue($message->formatForScreen());
- * }
- * }
- *
- * @param mixed &$message The object that is being logged. Event handlers should
- * check if the object is of a certain type and if it is,
- * set `$message` to the string that should be logged.
- * @param int $level The log level used with this log entry.
- * @param string $tag The current plugin that started logging (or if no plugin,
- * the current class).
- * @param string $datetime Datetime of the logging call.
- * @param Log $logger The Log singleton.
- */
- Piwik::postEvent(self::FORMAT_SCREEN_MESSAGE_EVENT, array(&$message, $level, $tag, $datetime, $logger));
+ // Highest level possible, need to do better in the future...
+ return Logger::EMERGENCY;
}
- $message = trim($message);
- return $message . "\n";
- }
-
- /**
- * @param $message
- */
- private function writeErrorToStandardErrorOutput($message)
- {
- if (defined('PIWIK_TEST_MODE')) {
- // do not log on stderr during tests (prevent display of errors in CI output)
- return;
- }
- $fe = fopen('php://stderr', 'w');
- fwrite($fe, $message);
- }
-
- /**
- * @param $level
- * @param $tag
- * @param $datetime
- * @param $message
- * @return string
- */
- private function getMessageFormattedDatabase($level, $tag, $datetime, $message)
- {
- if (is_string($message)) {
- $message = $this->formatMessage($level, $tag, $datetime, $message);
- } else {
- $logger = $this;
-
- /**
- * Triggered when trying to log an object to a database table. Plugins can use
- * this event to convert objects to strings before they are logged.
- *
- * **Example**
- *
- * public function formatDatabaseMessage(&$message, $level, $tag, $datetime, $logger) {
- * if ($message instanceof MyCustomDebugInfo) {
- * $message = $message->formatForDatabase();
- * }
- * }
- *
- * @param mixed &$message The object that is being logged. Event handlers should
- * check if the object is of a certain type and if it is,
- * set `$message` to the string that should be logged.
- * @param int $level The log level used with this log entry.
- * @param string $tag The current plugin that started logging (or if no plugin,
- * the current class).
- * @param string $datetime Datetime of the logging call.
- * @param Log $logger The Log singleton.
- */
- Piwik::postEvent(self::FORMAT_DATABASE_MESSAGE_EVENT, array(&$message, $level, $tag, $datetime, $logger));
- }
- $message = trim($message);
- return $message;
- }
-
- /**
- * @param $level
- * @param $tag
- * @param $datetime
- * @param $message
- * @return string
- */
- private function getMessageFormattedFile($level, $tag, $datetime, $message)
- {
- if (is_string($message)) {
- $message = $this->formatMessage($level, $tag, $datetime, $message);
- } else {
- $logger = $this;
-
- /**
- * Triggered when trying to log an object to a file. Plugins can use
- * this event to convert objects to strings before they are logged.
- *
- * **Example**
- *
- * public function formatFileMessage(&$message, $level, $tag, $datetime, $logger) {
- * if ($message instanceof MyCustomDebugInfo) {
- * $message = $message->formatForFile();
- * }
- * }
- *
- * @param mixed &$message The object that is being logged. Event handlers should
- * check if the object is of a certain type and if it is,
- * set `$message` to the string that should be logged.
- * @param int $level The log level used with this log entry.
- * @param string $tag The current plugin that started logging (or if no plugin,
- * the current class).
- * @param string $datetime Datetime of the logging call.
- * @param Log $logger The Log singleton.
- */
- Piwik::postEvent(self::FORMAT_FILE_MESSAGE_EVENT, array(&$message, $level, $tag, $datetime, $logger));
- }
-
- $message = trim($message);
- $message = str_replace("\n", "\n ", $message);
- return $message . "\n";
}
}
diff --git a/core/Log/Formatter/LineMessageFormatter.php b/core/Log/Formatter/LineMessageFormatter.php
new file mode 100644
index 0000000000..7c38fc32df
--- /dev/null
+++ b/core/Log/Formatter/LineMessageFormatter.php
@@ -0,0 +1,75 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Log\Formatter;
+
+use Monolog\Formatter\FormatterInterface;
+
+/**
+ * Formats a log message into a line of text using our custom Piwik log format.
+ */
+class LineMessageFormatter implements FormatterInterface
+{
+ /**
+ * The log message format string that turns a tag name, date-time and message into
+ * one string to log.
+ *
+ * @var string
+ */
+ private $logMessageFormat;
+
+ /**
+ * @param string $logMessageFormat
+ */
+ public function __construct($logMessageFormat)
+ {
+ $this->logMessageFormat = $logMessageFormat;
+ }
+
+ public function format(array $record)
+ {
+ $class = isset($record['extra']['class']) ? $record['extra']['class'] : '';
+ $date = $record['datetime']->format('Y-m-d H:i:s');
+
+ $message = $this->prefixMessageWithRequestId($record);
+
+ $message = str_replace(
+ array('%tag%', '%message%', '%datetime%', '%level%'),
+ array($class, $message, $date, $record['level_name']),
+ $this->logMessageFormat
+ );
+
+ $message = str_replace("\n", "\n ", $message);
+
+ $message .= "\n";
+
+ return $message;
+ }
+
+ public function formatBatch(array $records)
+ {
+ foreach ($records as $key => $record) {
+ $records[$key] = $this->format($record);
+ }
+
+ return $records;
+ }
+
+ private function prefixMessageWithRequestId(array $record)
+ {
+ $requestId = isset($record['extra']['request_id']) ? $record['extra']['request_id'] : '';
+
+ $message = trim($record['message']);
+
+ if ($requestId) {
+ $message = '[' . $requestId . '] ' . $message;
+ }
+
+ return $message;
+ }
+}
diff --git a/core/Log/Handler/DatabaseHandler.php b/core/Log/Handler/DatabaseHandler.php
new file mode 100644
index 0000000000..5981a7e919
--- /dev/null
+++ b/core/Log/Handler/DatabaseHandler.php
@@ -0,0 +1,30 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Log\Handler;
+
+use Monolog\Handler\AbstractProcessingHandler;
+use Piwik\Common;
+use Piwik\Db;
+
+/**
+ * Writes log to database.
+ */
+class DatabaseHandler extends AbstractProcessingHandler
+{
+ protected function write(array $record)
+ {
+ $sql = "INSERT INTO " . Common::prefixTable('logger_message')
+ . " (tag, timestamp, level, message)"
+ . " VALUES (?, ?, ?, ?)";
+
+ $message = trim($record['formatted']);
+
+ Db::query($sql, array($record['extra']['class'], $record['datetime']->format('Y-m-d H:i:s'), $record['level_name'], $message));
+ }
+}
diff --git a/core/Log/Handler/FileHandler.php b/core/Log/Handler/FileHandler.php
new file mode 100644
index 0000000000..57f31610c1
--- /dev/null
+++ b/core/Log/Handler/FileHandler.php
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Log\Handler;
+
+use Monolog\Handler\StreamHandler;
+use Piwik\Filechecks;
+
+/**
+ * Writes log to file.
+ *
+ * Extends StreamHandler to be able to have a custom exception message.
+ */
+class FileHandler extends StreamHandler
+{
+ protected function write(array $record)
+ {
+ try {
+ parent::write($record);
+ } catch (\UnexpectedValueException $e) {
+ throw new \Exception(
+ Filechecks::getErrorMessageMissingPermissions($this->url)
+ );
+ }
+ }
+}
diff --git a/core/Log/Handler/WebNotificationHandler.php b/core/Log/Handler/WebNotificationHandler.php
new file mode 100644
index 0000000000..37004d6521
--- /dev/null
+++ b/core/Log/Handler/WebNotificationHandler.php
@@ -0,0 +1,51 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Log\Handler;
+
+use Monolog\Handler\AbstractProcessingHandler;
+use Monolog\Logger;
+use Piwik\Common;
+use Piwik\Notification;
+use Piwik\Notification\Manager;
+use Zend_Session_Exception;
+
+/**
+ * Writes log messages into HTML notification box.
+ */
+class WebNotificationHandler extends AbstractProcessingHandler
+{
+ protected function write(array $record)
+ {
+ switch ($record['level']) {
+ case Logger::EMERGENCY:
+ case Logger::ALERT:
+ case Logger::CRITICAL:
+ case Logger::ERROR:
+ $context = Notification::CONTEXT_ERROR;
+ break;
+ case Logger::WARNING:
+ $context = Notification::CONTEXT_WARNING;
+ break;
+ default:
+ $context = Notification::CONTEXT_INFO;
+ break;
+ }
+
+ $message = htmlentities($record['formatted']);
+
+ $notification = new Notification($message);
+ $notification->context = $context;
+ try {
+ Manager::notify(Common::getRandomString(), $notification);
+ } catch (Zend_Session_Exception $e) {
+ // Can happen if this handler is enabled in CLI
+ // Silently ignore the error.
+ }
+ }
+}
diff --git a/core/Log/Processor/ClassNameProcessor.php b/core/Log/Processor/ClassNameProcessor.php
new file mode 100644
index 0000000000..a5b211d7d3
--- /dev/null
+++ b/core/Log/Processor/ClassNameProcessor.php
@@ -0,0 +1,71 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Log\Processor;
+
+use Piwik\Plugin;
+
+/**
+ * Records the name of the class that logged.
+ */
+class ClassNameProcessor
+{
+ private $skippedClasses = array(
+ __CLASS__,
+ 'Piwik\Log',
+ 'Piwik\Piwik',
+ 'Piwik\CronArchive',
+ 'Monolog\Logger',
+ );
+
+ public function __invoke(array $record)
+ {
+ $record['extra']['class'] = $this->getLoggingClassName();
+
+ return $record;
+ }
+
+ /**
+ * Returns the name of the plugin/class that triggered the log.
+ *
+ * @return string
+ */
+ private function getLoggingClassName()
+ {
+ $backtrace = $this->getBacktrace();
+
+ $name = Plugin::getPluginNameFromBacktrace($backtrace);
+
+ // if we can't determine the plugin, use the name of the calling class
+ if ($name == false) {
+ $name = $this->getClassNameThatIsLogging($backtrace);
+ }
+
+ return $name;
+ }
+
+ private function getClassNameThatIsLogging($backtrace)
+ {
+ foreach ($backtrace as $line) {
+ if (isset($line['class']) && !in_array($line['class'], $this->skippedClasses)) {
+ return $line['class'];
+ }
+ }
+
+ return '';
+ }
+
+ private function getBacktrace()
+ {
+ if (version_compare(phpversion(), '5.3.6', '>=')) {
+ return debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS | DEBUG_BACKTRACE_PROVIDE_OBJECT);
+ }
+
+ return debug_backtrace();
+ }
+}
diff --git a/core/Log/Processor/ExceptionToTextProcessor.php b/core/Log/Processor/ExceptionToTextProcessor.php
new file mode 100644
index 0000000000..c3d51ae9e5
--- /dev/null
+++ b/core/Log/Processor/ExceptionToTextProcessor.php
@@ -0,0 +1,58 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Log\Processor;
+
+use Piwik\ErrorHandler;
+use Piwik\Log;
+
+/**
+ * Process a log record containing an exception to generate a textual message.
+ */
+class ExceptionToTextProcessor
+{
+ public function __invoke(array $record)
+ {
+ if (! $this->contextContainsException($record)) {
+ return $record;
+ }
+
+ /** @var \Exception $exception */
+ $exception = $record['context']['exception'];
+
+ $record['message'] = sprintf(
+ "%s(%d): %s\n%s",
+ $exception->getFile(),
+ $exception->getLine(),
+ $this->getMessage($exception),
+ $this->getStackTrace($exception)
+ );
+
+ return $record;
+ }
+
+ private function contextContainsException($record)
+ {
+ return isset($record['context']['exception'])
+ && $record['context']['exception'] instanceof \Exception;
+ }
+
+ private function getMessage(\Exception $exception)
+ {
+ if ($exception instanceof \ErrorException) {
+ return ErrorHandler::getErrNoString($exception->getSeverity()) . ' - ' . $exception->getMessage();
+ }
+
+ return $exception->getMessage();
+ }
+
+ private function getStackTrace(\Exception $exception)
+ {
+ return Log::$debugBacktraceForTests ?: $exception->getTraceAsString();
+ }
+}
diff --git a/core/Log/Processor/RequestIdProcessor.php b/core/Log/Processor/RequestIdProcessor.php
new file mode 100644
index 0000000000..46ae17372e
--- /dev/null
+++ b/core/Log/Processor/RequestIdProcessor.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Log\Processor;
+
+use Piwik\Common;
+
+/**
+ * Adds a unique "request id" to the log message to follow log entries for each HTTP request.
+ */
+class RequestIdProcessor
+{
+ private $currentRequestKey;
+
+ public function __invoke(array $record)
+ {
+ if (Common::isPhpCliMode()) {
+ return $record;
+ }
+
+ if (empty($this->currentRequestKey)) {
+ $this->currentRequestKey = substr(Common::generateUniqId(), 0, 5);
+ }
+
+ $record['extra']['request_id'] = $this->currentRequestKey;
+
+ return $record;
+ }
+}
diff --git a/core/Log/Processor/SprintfProcessor.php b/core/Log/Processor/SprintfProcessor.php
new file mode 100644
index 0000000000..9032f5ba7a
--- /dev/null
+++ b/core/Log/Processor/SprintfProcessor.php
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Log\Processor;
+
+/**
+ * Processes a log message using `sprintf()`.
+ */
+class SprintfProcessor
+{
+ public function __invoke(array $record)
+ {
+ $message = $record['message'];
+ $parameters = $record['context'];
+
+ if (is_string($message) && !empty($parameters)) {
+ $parameters = $this->ensureParametersAreStrings($parameters);
+
+ $record['message'] = vsprintf($message, $parameters);
+ }
+
+ return $record;
+ }
+
+ private function ensureParametersAreStrings(array $parameters)
+ {
+ foreach ($parameters as &$param) {
+ if (is_array($param)) {
+ $param = json_encode($param);
+ }
+ }
+
+ return $parameters;
+ }
+}
diff --git a/core/Tracker.php b/core/Tracker.php
index fae00a57ef..802f025cca 100644
--- a/core/Tracker.php
+++ b/core/Tracker.php
@@ -76,7 +76,7 @@ class Tracker
\Piwik\FrontController::createConfigObject();
if ($this->isDebugModeEnabled()) {
- Error::setErrorHandler();
+ ErrorHandler::registerErrorHandler();
ExceptionHandler::setUp();
Common::printDebug("Debug enabled - Input parameters: ");
diff --git a/core/Updates/2.10.0-b10.php b/core/Updates/2.10.0-b10.php
new file mode 100644
index 0000000000..3628719ccd
--- /dev/null
+++ b/core/Updates/2.10.0-b10.php
@@ -0,0 +1,49 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+
+namespace Piwik\Updates;
+
+use Piwik\DataAccess\ArchiveTableCreator;
+use Piwik\Updater;
+use Piwik\Updates;
+
+class Updates_2_10_0_b10 extends Updates
+{
+
+ static function getSql()
+ {
+ $sqls = array();
+
+ $archiveTables = ArchiveTableCreator::getTablesArchivesInstalled();
+
+ $archiveBlobTables = array_filter($archiveTables, function($name) {
+ return ArchiveTableCreator::getTypeFromTableName($name) == ArchiveTableCreator::BLOB_TABLE;
+ });
+
+ foreach ($archiveBlobTables as $table) {
+
+ $sqls["UPDATE " . $table . " SET name = 'DevicePlugins_plugin' WHERE name = 'UserSettings_plugin'"] = false;
+ }
+
+ return $sqls;
+ }
+
+ static function update()
+ {
+ $pluginManager = \Piwik\Plugin\Manager::getInstance();
+
+ try {
+ $pluginManager->activatePlugin('DevicePlugins');
+ } catch(\Exception $e) {
+ }
+
+ Updater::updateDatabase(__FILE__, self::getSql());
+ }
+
+}
diff --git a/core/Version.php b/core/Version.php
index 5edf0e5dba..334d7bf818 100644
--- a/core/Version.php
+++ b/core/Version.php
@@ -20,5 +20,5 @@ final class Version
* The current Piwik version.
* @var string
*/
- const VERSION = '2.10.0-b9';
+ const VERSION = '2.10.0-b10';
}
diff --git a/core/dispatch.php b/core/dispatch.php
index 86b810500a..1359dd8ee5 100644
--- a/core/dispatch.php
+++ b/core/dispatch.php
@@ -8,7 +8,7 @@
* @package Piwik
*/
-use Piwik\Error;
+use Piwik\ErrorHandler;
use Piwik\ExceptionHandler;
use Piwik\FrontController;
use Piwik\Plugin\ControllerAdmin as PluginControllerAdmin;
@@ -16,9 +16,7 @@ use Piwik\Plugin\ControllerAdmin as PluginControllerAdmin;
PluginControllerAdmin::disableEacceleratorIfEnabled();
if (!defined('PIWIK_ENABLE_ERROR_HANDLER') || PIWIK_ENABLE_ERROR_HANDLER) {
- require_once PIWIK_INCLUDE_PATH . '/core/Error.php';
- Error::setErrorHandler();
- require_once PIWIK_INCLUDE_PATH . '/core/ExceptionHandler.php';
+ ErrorHandler::registerErrorHandler();
ExceptionHandler::setUp();
}
@@ -39,10 +37,6 @@ if (PIWIK_ENABLE_DISPATCH) {
echo $response;
}
} catch (Exception $ex) {
- $response = $controller->getErrorResponse($ex);
-
- echo $response;
-
- exit(1);
+ ExceptionHandler::dieWithHtmlErrorPage($ex);
}
} \ No newline at end of file
diff --git a/index.php b/index.php
index e142d64ea0..3a26f9ff7c 100644
--- a/index.php
+++ b/index.php
@@ -31,14 +31,14 @@ require_once PIWIK_INCLUDE_PATH . '/core/testMinimumPhpVersion.php';
// NOTE: the code above this comment must be PHP4 compatible
-require_once PIWIK_INCLUDE_PATH . '/libs/upgradephp/upgrade.php';
-
session_cache_limiter('nocache');
@date_default_timezone_set('UTC');
require_once PIWIK_INCLUDE_PATH . '/core/Loader.php';
\Piwik\Loader::init();
+require_once PIWIK_INCLUDE_PATH . '/libs/upgradephp/upgrade.php';
+
if(!defined('PIWIK_PRINT_ERROR_BACKTRACE')) {
define('PIWIK_PRINT_ERROR_BACKTRACE', false);
}
diff --git a/lang/de.json b/lang/de.json
index 7949377357..b5e8f4b7d6 100644
--- a/lang/de.json
+++ b/lang/de.json
@@ -148,7 +148,9 @@
"EvolutionSummaryGeneric": "%1$s in %2$s verglichen mit %3$s in %4$s. Entwicklung: %5$s",
"ExceptionCheckUserHasSuperUserAccessOrIsTheUser": "Der Benutzer muss entweder ein Hauptadministrator sein oder der Benutzer '%s'.",
"ExceptionConfigurationFileNotFound": "Die Konfigurationsdatei {%s} wurde nicht gefunden.",
+ "ExceptionContactSupportGeneric": "Falls dieses Problem weiterhin besteht %skontaktieren Sie bitte Ihren Piwik Administrator%s für Unterstützung.",
"ExceptionDatabaseVersion": "Ihre %1$s-Version ist %2$s, aber Piwik benötigt mindestens %3$s",
+ "ExceptionDatabaseVersionNewerThanCodebase": "Ihre Piwik Codebase läuft auf der alten Version %1$s und wir haben erkannt, dass Ihre Piwik Datenbank bereits auf die neuere Version %2$s aktualisiert wurde.",
"ExceptionFileIntegrity": "Integritätsprüfung fehlgeschlagen: %s",
"ExceptionFilesizeMismatch": "Unterschiedliche Dateigröße: %1$s (erwartete Größe: %2$s, gefunden: %3$s)",
"ExceptionIncompatibleClientServerVersions": "Ihre %1$s-Client Version ist %2$s, die aber mit der Server-Version %3$s inkompatibel ist.",
diff --git a/lang/it.json b/lang/it.json
index 695694fb10..69f5153d6b 100644
--- a/lang/it.json
+++ b/lang/it.json
@@ -148,7 +148,10 @@
"EvolutionSummaryGeneric": "%1$s in %2$s confrontato con %3$s in %4$s. Evoluzione: %5$s",
"ExceptionCheckUserHasSuperUserAccessOrIsTheUser": "L'utente deve essere un Super User o l'utente '%s' stesso.",
"ExceptionConfigurationFileNotFound": "Il file di configurazione {%s} non è stato trovato.",
+ "ExceptionContactSupportGeneric": "Se hai ancora questo problema %scontatta il tuo amministratore di Piwik%s per assistenza.",
"ExceptionDatabaseVersion": "La tua %1$s versione è %2$s ma Piwik ha bisogno di almeno %3$s.",
+ "ExceptionDatabaseVersionNewerThanCodebase": "Il tuo codice di Piwik è quello della vecchia versione %1$s mentre abbiamo rilevato che il database di Piwik è già stato aggiornato alla nuova versione %2$s.",
+ "ExceptionDatabaseVersionNewerThanCodebaseWait": "Può darsi che i tuoi amministratori di Piwik al momento stiano terminando il processo di aggiornamento. Prova ancora tra qualche minuto.",
"ExceptionFileIntegrity": "Test di integrità fallito: %s",
"ExceptionFilesizeMismatch": "Discordanza di dimensione file: %1$s (dimensione attesa: %2$s, trovata: %3$s)",
"ExceptionIncompatibleClientServerVersions": "La tua %1$s versione del client è %2$s la quale non è compatibile con la versione del server %3$s.",
diff --git a/lang/pl.json b/lang/pl.json
index a603d572e9..479fbde735 100644
--- a/lang/pl.json
+++ b/lang/pl.json
@@ -1,4 +1,7 @@
{
+ "DoNotTrack": {
+ "PluginDescription": "Ignoruj wizyty z nagłówkami X-Do-Not-Track lub DNT (Do Not Track)."
+ },
"General": {
"AbandonedCarts": "Porzucone transakcje",
"AboutPiwikX": "O Piwik %s",
@@ -225,6 +228,8 @@
"Matches": "Pasuje",
"MediumToHighTrafficItIsRecommendedTo": "Dla serwisów o średnim natężeniu ruchu, zaleca się przetwarzanie raportowania dziennego najwyżej do pół godziny (%s sekund) lub co godzinę (%s sekund).",
"Metadata": "Metadata",
+ "Metric": "Metryka",
+ "Metrics": "Metryki",
"MetricsToPlot": "Dane do porównania",
"MinutesSeconds": "%1$s min %2$ss",
"Mobile": "Przenośny",
@@ -435,12 +440,14 @@
"AddPiwikDemo": "Dodaj Piwik Demo",
"Advanced": "Zaawansowane",
"AnonymousAccess": "Dostęp anonimowy",
+ "ChooseMetric": "Wybierz metrykę",
"ChooseReport": "Wybierz raport",
"ChooseSegment": "Wybierz segment",
"ConfirmRemoveAccount": "Czy chcesz usunąć to konto?",
"DefaultReportDate": "Data raportu",
"EmailUs": "Wyślij nam wiadomośc email",
"EnableGraphsLabel": "Wyświetlanie wykresów",
+ "HowtoDeleteAnAccount": "Naciśnij i przytrzymaj by usunac konto.",
"IgnoreSslError": "Ignoruj błąd SSL",
"LastUpdated": "Ostatnia aktualizacja: %s",
"LoadingReport": "Ładowanie %s",
@@ -459,6 +466,7 @@
"NoVisitorsShort": "Brak odwiedzających",
"NoWebsiteFound": "Nie znaleziono strony",
"NoWebsitesShort": "Brak stron",
+ "PossibleSslError": "Możliwy błąd certyfikatu SSL",
"RatingDontRemindMe": "Nie przypominaj mi",
"RatingNotNow": "Nie teraz",
"Reloading": "Przeładowanie...",
diff --git a/libs/PiwikTracker b/libs/PiwikTracker
-Subproject 98b01eb4d721e966e5acfe4c91c1093bf6782cc
+Subproject cb714355e3aeeeb011f7f47c6b5bffab80aeda7
diff --git a/libs/upgradephp/upgrade.php b/libs/upgradephp/upgrade.php
index 903611c970..c6591b70a9 100644
--- a/libs/upgradephp/upgrade.php
+++ b/libs/upgradephp/upgrade.php
@@ -696,3 +696,9 @@ if (!function_exists('gzopen')
return gzopen64($filename , $mode, $use_include_path);
}
}
+
+if (!function_exists('dump')) {
+ function dump () {
+
+ }
+}
diff --git a/misc/cron/archive.php b/misc/cron/archive.php
index 0d59036d79..41dfb06d7e 100644
--- a/misc/cron/archive.php
+++ b/misc/cron/archive.php
@@ -9,6 +9,11 @@
* @package Piwik
*/
+use Piwik\Container\StaticContainer;
+use Symfony\Bridge\Monolog\Handler\ConsoleHandler;
+use Symfony\Component\Console\Output\ConsoleOutput;
+use Symfony\Component\Console\Output\OutputInterface;
+
if (!defined('PIWIK_INCLUDE_PATH')) {
define('PIWIK_INCLUDE_PATH', realpath(dirname(__FILE__) . "/../.."));
}
@@ -55,6 +60,16 @@ if (isset($_SERVER['argv']) && Piwik\Console::isSupported()) {
$console->run();
} else { // if running via web request, use CronArchive directly
+
+ if (Piwik\Common::isPhpCliMode()) {
+ // We can run the archive in CLI with `php-cgi` so we have to configure the container/logger
+ // just like for CLI
+ StaticContainer::setEnvironment('cli');
+ /** @var ConsoleHandler $consoleLogHandler */
+ $consoleLogHandler = StaticContainer::getContainer()->get('Symfony\Bridge\Monolog\Handler\ConsoleHandler');
+ $consoleLogHandler->setOutput(new ConsoleOutput(OutputInterface::VERBOSITY_VERBOSE));
+ }
+
$archiver = new Piwik\CronArchive();
if (!Piwik\Common::isPhpCliMode()) {
diff --git a/misc/others/cli-script-bootstrap.php b/misc/others/cli-script-bootstrap.php
index 9f89cfe319..e2374bbe10 100644
--- a/misc/others/cli-script-bootstrap.php
+++ b/misc/others/cli-script-bootstrap.php
@@ -4,10 +4,13 @@
*
* @link http://piwik.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- *
*/
-use Piwik\Config;
+
+use Piwik\Container\StaticContainer;
use Piwik\FrontController;
+use Symfony\Bridge\Monolog\Handler\ConsoleHandler;
+use Symfony\Component\Console\Output\ConsoleOutput;
+use Symfony\Component\Console\Output\OutputInterface;
error_reporting(E_ALL | E_NOTICE);
@@ -34,5 +37,11 @@ require_once PIWIK_INCLUDE_PATH . '/core/Loader.php';
$GLOBALS['PIWIK_TRACKER_DEBUG'] = false;
define('PIWIK_ENABLE_DISPATCH', false);
-Config::getInstance()->log['string_message_format'] = "%message%";
-FrontController::getInstance()->init(); \ No newline at end of file
+if (Piwik\Common::isPhpCliMode()) {
+ StaticContainer::setEnvironment('cli');
+ /** @var ConsoleHandler $consoleLogHandler */
+ $consoleLogHandler = StaticContainer::getContainer()->get('Symfony\Bridge\Monolog\Handler\ConsoleHandler');
+ $consoleLogHandler->setOutput(new ConsoleOutput());
+}
+
+FrontController::getInstance()->init();
diff --git a/misc/others/geoipUpdateRows.php b/misc/others/geoipUpdateRows.php
index 23e72fc413..f7b5473c3c 100755
--- a/misc/others/geoipUpdateRows.php
+++ b/misc/others/geoipUpdateRows.php
@@ -20,14 +20,11 @@ if (!Common::isPhpCliMode()) {
try {
Piwik::checkUserHasSuperUserAccess();
} catch (Exception $e) {
- Log::error('[error] You must be logged in as Super User to run this script. Please login in to Piwik and refresh this page.');
+ Log::error('You must be logged in as Super User to run this script. Please login in to Piwik and refresh this page.');
exit;
}
}
-Log::getInstance()->setLogLevel(Log::VERBOSE);
-Log::getInstance()->addLogWriter('screen');
-
if (!Common::isPhpCliMode()) {
// the 'start' query param will be supplied by the AJAX requests, so if it's not there, the
// user is viewing the page in the browser.
@@ -105,7 +102,7 @@ $displayNotes = $start == 0;
$provider = new Pecl();
if (!$provider->isAvailable()) {
if ($displayNotes) {
- Log::info("[note] The GeoIP PECL extension is not installed.");
+ Log::info("The GeoIP PECL extension is not installed.");
}
$provider = null;
@@ -113,10 +110,10 @@ if (!$provider->isAvailable()) {
$workingOrError = $provider->isWorking();
if ($workingOrError !== true) {
if ($displayNotes) {
- Log::info("[note] The GeoIP PECL extension is broken: $workingOrError");
+ Log::info("The GeoIP PECL extension is broken: $workingOrError");
}
if (Common::isPhpCliMode()) {
- Log::info("[note] Make sure your command line PHP is configured to use the PECL extension.");
+ Log::info("Make sure your command line PHP is configured to use the PECL extension.");
}
$provider = null;
}
@@ -125,20 +122,20 @@ if (!$provider->isAvailable()) {
// use php api if pecl extension cannot be used
if (is_null($provider)) {
if ($displayNotes) {
- Log::info("[note] Falling back to PHP API. This may become too slow for you. If so, you can read this link on how to install the PECL extension: http://piwik.org/faq/how-to/#faq_164");
+ Log::info("Falling back to PHP API. This may become too slow for you. If so, you can read this link on how to install the PECL extension: http://piwik.org/faq/how-to/#faq_164");
}
$provider = new Php();
if (!$provider->isAvailable()) {
if ($displayNotes) {
- Log::info("[note] The GeoIP PHP API is not available. This means you do not have a GeoIP location database in your ./misc directory. The database must be named either GeoIP.dat or GeoIPCity.dat based on the type of database it is.");
+ Log::info("The GeoIP PHP API is not available. This means you do not have a GeoIP location database in your ./misc directory. The database must be named either GeoIP.dat or GeoIPCity.dat based on the type of database it is.");
}
$provider = null;
} else {
$workingOrError = $provider->isWorking();
if ($workingOrError !== true) {
if ($displayNotes) {
- Log::info("[note] The GeoIP PHP API is broken: $workingOrError");
+ Log::info("The GeoIP PHP API is broken: $workingOrError");
}
$provider = null;
}
@@ -146,12 +143,12 @@ if (is_null($provider)) {
}
if (is_null($provider)) {
- geoipUpdateError("\n[error] There is no location provider that can be used with this script. Only the GeoIP PECL module or the GeoIP PHP API can be used at present. Please install and configure one of these first.");
+ geoipUpdateError("There is no location provider that can be used with this script. Only the GeoIP PECL module or the GeoIP PHP API can be used at present. Please install and configure one of these first.");
}
$info = $provider->getInfo();
if ($displayNotes) {
- Log::info("[note] Found working provider: {$info['id']}");
+ Log::info("Found working provider: {$info['id']}");
}
// perform update
@@ -162,7 +159,7 @@ $logVisitFieldsToUpdate = array('location_country' => LocationProvider::COUNTR
'location_longitude' => LocationProvider::LONGITUDE_KEY);
if ($displayNotes) {
- Log::info("\n$count rows to process in " . Common::prefixTable('log_visit')
+ Log::info("$count rows to process in " . Common::prefixTable('log_visit')
. " and " . Common::prefixTable('log_conversion') . "...");
}
flush();
@@ -230,6 +227,5 @@ for (; $start < $end; $start += $limit) {
}
if ($start >= $count) {
Log::info("100% done!");
- Log::info("");
- Log::info("[note] Now that you've geolocated your old visits, you need to force your reports to be re-processed. See this FAQ entry: http://piwik.org/faq/how-to/#faq_59");
-} \ No newline at end of file
+ Log::info("Now that you've geolocated your old visits, you need to force your reports to be re-processed. See this FAQ entry: http://piwik.org/faq/how-to/#faq_59");
+}
diff --git a/misc/phpstorm-codestyles/Piwik_codestyle.xml b/misc/phpstorm-codestyles/Piwik_codestyle.xml
index ed09f367d7..e04c442b53 100644
--- a/misc/phpstorm-codestyles/Piwik_codestyle.xml
+++ b/misc/phpstorm-codestyles/Piwik_codestyle.xml
@@ -15,6 +15,7 @@
<option name="KEEP_SIMPLE_METHODS_IN_ONE_LINE" value="true" />
</codeStyleSettings>
<codeStyleSettings language="PHP">
+ <option name="BLANK_LINES_AFTER_PACKAGE" value="1" />
<option name="ALIGN_MULTILINE_ARRAY_INITIALIZER_EXPRESSION" value="true" />
<arrangement>
<groups>
diff --git a/plugins/Contents/tests/System/expected/test_Contents__Live.getLastVisitsDetails_day.xml b/plugins/Contents/tests/System/expected/test_Contents__Live.getLastVisitsDetails_day.xml
index a57da45c9a..95459f0177 100644
--- a/plugins/Contents/tests/System/expected/test_Contents__Live.getLastVisitsDetails_day.xml
+++ b/plugins/Contents/tests/System/expected/test_Contents__Live.getLastVisitsDetails_day.xml
@@ -49,17 +49,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -92,6 +81,17 @@
<customVariables>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -147,13 +147,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>director</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/director.gif</pluginIcon>
- <pluginName>director</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -186,6 +179,13 @@
<customVariables>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>director</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/director.gif</pluginIcon>
+ <pluginName>director</pluginName>
+ </row>
+ </pluginsIcons>
diff --git a/plugins/Contents/tests/System/expected/test_Contents__Live.getLastVisitsDetails_month.xml b/plugins/Contents/tests/System/expected/test_Contents__Live.getLastVisitsDetails_month.xml
index a57da45c9a..95459f0177 100644
--- a/plugins/Contents/tests/System/expected/test_Contents__Live.getLastVisitsDetails_month.xml
+++ b/plugins/Contents/tests/System/expected/test_Contents__Live.getLastVisitsDetails_month.xml
@@ -49,17 +49,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -92,6 +81,17 @@
<customVariables>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -147,13 +147,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>director</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/director.gif</pluginIcon>
- <pluginName>director</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -186,6 +179,13 @@
<customVariables>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>director</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/director.gif</pluginIcon>
+ <pluginName>director</pluginName>
+ </row>
+ </pluginsIcons>
diff --git a/plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Live.getLastVisitsDetails_day.xml b/plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Live.getLastVisitsDetails_day.xml
index a57da45c9a..95459f0177 100644
--- a/plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Live.getLastVisitsDetails_day.xml
+++ b/plugins/Contents/tests/System/expected/test_Contents_contentInteractionMatch__Live.getLastVisitsDetails_day.xml
@@ -49,17 +49,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -92,6 +81,17 @@
<customVariables>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -147,13 +147,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>director</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/director.gif</pluginIcon>
- <pluginName>director</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -186,6 +179,13 @@
<customVariables>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>director</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/director.gif</pluginIcon>
+ <pluginName>director</pluginName>
+ </row>
+ </pluginsIcons>
diff --git a/plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Live.getLastVisitsDetails_day.xml b/plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Live.getLastVisitsDetails_day.xml
index a57da45c9a..95459f0177 100644
--- a/plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Live.getLastVisitsDetails_day.xml
+++ b/plugins/Contents/tests/System/expected/test_Contents_contentTargetMatch__Live.getLastVisitsDetails_day.xml
@@ -49,17 +49,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -92,6 +81,17 @@
<customVariables>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -147,13 +147,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>director</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/director.gif</pluginIcon>
- <pluginName>director</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -186,6 +179,13 @@
<customVariables>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>director</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/director.gif</pluginIcon>
+ <pluginName>director</pluginName>
+ </row>
+ </pluginsIcons>
diff --git a/plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Live.getLastVisitsDetails_day.xml b/plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Live.getLastVisitsDetails_day.xml
index a57da45c9a..95459f0177 100644
--- a/plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Live.getLastVisitsDetails_day.xml
+++ b/plugins/Contents/tests/System/expected/test_ContentscontentNameOrPieceMatch__Live.getLastVisitsDetails_day.xml
@@ -49,17 +49,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -92,6 +81,17 @@
<customVariables>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -147,13 +147,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>director</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/director.gif</pluginIcon>
- <pluginName>director</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -186,6 +179,13 @@
<customVariables>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>director</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/director.gif</pluginIcon>
+ <pluginName>director</pluginName>
+ </row>
+ </pluginsIcons>
diff --git a/plugins/CoreAdminHome/lang/hu.json b/plugins/CoreAdminHome/lang/hu.json
index ace8ddfe14..14fdfabb76 100644
--- a/plugins/CoreAdminHome/lang/hu.json
+++ b/plugins/CoreAdminHome/lang/hu.json
@@ -1,12 +1,88 @@
{
"CoreAdminHome": {
"Administration": "Adminisztráció",
- "BrandingSettings": "Arculat beállítása",
+ "ArchivingSettings": "Archiválási beállítások",
+ "BrandingSettings": "Arculat beállítások",
+ "CheckReleaseGetVersion": "When checking for new version of Piwik, always get",
+ "ClickHereToOptIn": "Kattintson ide a bekapcsoláshoz.",
+ "ClickHereToOptOut": "Kattintson ide a kikapcsoláshoz.",
"CustomLogoFeedbackInfo": "A Piwik logó konfigurálása esetén érdekes lehet a felső menüben található %s link eltávolítása is. Ehhez a %sBővítmények%s oldalon ki kell kapcsolni a Feedback bővítményt.",
"CustomLogoHelpText": "A felhasználói felületen és az e-mail jelentésekben megjelenő Piwik logó testreszabható.",
+ "DevelopmentProcess": "Annak ellenére, hogy a %sfejlesztési folyamat%s során több ezer automatizált teszt hajtódik végre, a Beta tesztelők kulcsfontosságú szerepet töltenek be, hogy a \"Nincs hiba irányelv\" tartható legyen.",
"EmailServerSettings": "E-mail szerver beállítások",
- "LogoUpload": "Feltölteni kívánt logó:",
+ "FaviconUpload": "Válasszon egy Favicon-t a feltöltéshez",
+ "FileUploadDisabled": "A fájlfeltöltés nincs engedélyezve a PHP konfigurációban. Egyedi logó feltöltéséhez be kell állítani a php.ini fájlban a következőt: %s. A webszerver újraindítása is szükséges lehet.",
+ "ForBetaTestersOnly": "Csak béta tesztelőknek",
+ "ImageTracking": "Kép Követés",
+ "ImageTrackingIntro1": "Ha egy látogatónál le van tiltva a JavaScript, vagy JavaScript egyéb okokból nem használható, lehetőség van egy kép követési link segítségével követni a látogatókat.",
+ "ImageTrackingIntro2": "Erre használható az alább generált HTML kód az oldalba ágyazva. %1$s tagbe illesztve helyettesíthető a JavaScript követő kód, ha az valamiért nem használható.",
+ "ImageTrackingIntro3": "Az összes lehetséges opciót %1$sKövetés API dokumentáció%2$s tartalmazza.",
+ "ImageTrackingLink": "Kép Követési Link",
+ "ImportingServerLogs": "Szervernaplók Importálása",
+ "InvalidPluginsWarning": "A következő bővítmény nem kompatibilisek evvel: %1$s ezért nem lehet őket betölteni: %2$s.",
+ "InvalidPluginsYouCanUninstall": "A bővítmények frissíthetők vagy törölhetők a %1$sBővítmények%2$s oldalon.",
+ "JavaScriptTracking": "JavaScript Követés",
+ "JSTracking_CampaignKwdParam": "Kampány Kulcsszó paraméter",
+ "JSTracking_CampaignNameParam": "Kampány Név paraméter",
+ "JSTracking_CodeNote": "Győződjön meg róla, hogy a kód minden oldalon szerepel a %1$s tag előtt.",
+ "JSTracking_CustomCampaignQueryParam": "Saját paraméter nevek használata a kampány név és a kulcsszó mezőkhöz",
+ "JSTracking_CustomCampaignQueryParamDesc": "Megjegyzés: A %1$sPiwik automatikusan felismeri a Googly Analytics paramétereket.%2$s",
+ "JSTracking_DisableCookies": "Minden követő süti tiltása",
+ "JSTracking_DisableCookiesDesc": "Letilt minden első féltől származó sütit. A már meglévő sütik a következő oldalbetöltéskor törlődni fognak.",
+ "JSTracking_EnableDoNotTrack": "Kliens oldali DoNotTrack engedélyezése",
+ "JSTracking_EnableDoNotTrack_AlreadyEnabled": "Megjegyzés: A szerver oldali DoNotTrack már engedélyezve van, így ennek az opciónak arra nincs hatása.",
+ "JSTracking_EnableDoNotTrackDesc": "A látogatónak lehetősége van a követés megtiltására, így a követési kérések nem lesznek elküldve.",
+ "JSTracking_GroupPageTitlesByDomain": "Az weboldal domain nevének hozzáfűzése az oldal címéhez",
+ "JSTracking_GroupPageTitlesByDomainDesc1": "Ha valaki a 'Rólunk' oldalt látogatja meg a(z) blog.%1$s weboldalon, a naplóban 'blog \/ Rólunk' fog szerepelni. Ez a legegyszerűbb módja a látogatások aldomain szerinti áttekintésének.",
+ "JSTracking_MergeAliases": "A \"Kilépési lapok\" jelentésben az ismert álnevek (URLek) elrejtése a következőnél:",
+ "JSTracking_MergeAliasesDesc": "Egy álnevet (URLt) (pl. %s) tartalmazó linkre kattintás nem lesz \"Kilépési lapként\" számolva.",
+ "JSTracking_MergeSubdomains": "Látogatók követése a következő összes aldomainjén:",
+ "JSTracking_MergeSubdomainsDesc": "Ha egy látogató meglátogatja a(z) %1$s és %2$s weboldalakat, akkor egyedi látogatásként lesz számolva.",
+ "JSTracking_PageCustomVars": "Saját változók követése minden oldalmegtekintésnél",
+ "JSTracking_PageCustomVarsDesc": "Példa: változó: \"Kategória\", érték: \"Újság\".",
+ "JSTracking_VisitorCustomVars": "Saját változó kovetése látogatónként",
+ "JSTracking_VisitorCustomVarsDesc": "Példa: változó: \"Típus\", érték: \"Ügyfél\".",
+ "JSTrackingIntro1": "Látogatók követésére sokféle módszer létezik. A javasolt megoldás JavaScript követőkód használata. Ehhez a módszerhez minden oldalnak tartalmaznia kell egy JavaScript kódot.",
+ "JSTrackingIntro2": "A lent látható generált kódnak (vagy annak egy módosított változatának) szerepelnie kell minden oldalon, amit a Piwiknek követnie kell.",
+ "JSTrackingIntro3": "A legtöbb weboldalhoz, bloghoz, CMShez, stb. létezik egy beépülő, ami elvégzi a szükséges technikai dolgokat. (%1$sA lista a Piwiket integráló beépülőkről%2$s.) Ha nincs elérhető beépülő, akkor a kód manuálisan is beilleszthető a weboldal sablonjának \"lábléc\" részébe.",
+ "JSTrackingIntro4": "JavaScript követés helyett lehetőség van kép alapú követés használatára is, mely %1$saz alábbi linkre kattintva generálható%2$s.",
+ "JSTrackingIntro5": "Ha az oldalmegtekintések követése nem elég, tekintse meg a %1$sPiwik Javascript Követés dokumentációt%2$s a további funkciókért. Ezek használatával lehetőség van egyéni célok, saját változók, ecommerce rendelések, otthagyott bevásárló kosarak, stb, követésére.",
+ "LatestBetaRelease": "Legfirssebb béta kiadás",
+ "LatestStableRelease": "Legfrissebb stabil kiadás",
+ "LogoNotWriteableInstruction": "Egyedi logó használatához írási jogosultságra van szükség a következő könyvtárhoz: %1$s A logók tárolásához a következőfájlokhoz írási jogosultság szükséges: %2$s.",
+ "LogoUpload": "Válasszon egy logót a feltöltéshez",
+ "LogoUploadHelp": "A feltöltött fájlnak %s formátumban, minimum %s pixel magasnak kell lennie.",
+ "MenuDevelopment": "Fejlesztés",
+ "MenuDiagnostic": "Diagnosztika",
"MenuGeneralSettings": "Alapbeállítások",
- "PluginDescription": "Piwik adminisztrációs felület"
+ "MenuManage": "Kezelés",
+ "OptOutComplete": "Követés kikapcsolva; a látogatások semmilyen statisztikában nem fognak szerepelni.",
+ "OptOutCompleteBis": "Megjegyzés: abban az esetben, ha a követést tiltó süti törlődik, más számítógépről vagy böngészőből látogatja meg a weboldalt, a követést ismét le kell tiltania.",
+ "OptOutExplanation": "A Piwik tiszteletben tartja a magánéletet Internet. Annak érdekében, hogy látogatóinak lehetősége legyen a követés kikapcsolására, helyezze el az alábbi HTML kódot például egy Adatvédelmi Tájékoztató oldalon.",
+ "OptOutExplanationBis": "Az alábbi kód egy Iframet tartalmazó link, ahol a látogatók ki tudják kapcsolni a követést. Ehhez a Piwik egy követést letiltő sütit helyez el a böngészőben. %s Kattintson ide%s az iFrame tartalmának megtekintéséhez.",
+ "OptOutForYourVisitors": "Piwik követés letiltása látogatók által",
+ "PiwikIsInstalledAt": "Piwik telepítve itt:",
+ "PluginDescription": "Piwik adminisztrációs felület",
+ "PluginSettingChangeNotAllowed": "Önnek nincs jogosultsága a(z) \"%s\" beállítás módosításához a(z) \"%s\" bővítményben",
+ "PluginSettingReadNotAllowed": "Önnek nincs jogosultséga a(z) \"%s\" beállítás megtekintéséhez a(z) \"%s\" bővítményben",
+ "PluginSettings": "Bővítmény beállítások",
+ "PluginSettingsIntro": "Itt módosíthatók a harmadik féltől származó bővítmények beállításai:",
+ "PluginSettingsSaveFailed": "A bővítmény beállítások mentése sikertelen",
+ "PluginSettingsValueNotAllowed": "A(z) \"%s\" mező értéke a(z) \"%s\" bővítményben érvénytelen",
+ "SendPluginUpdateCommunication": "Értesítés küldése emailben ha egy bővítményhez frissítés érhető el",
+ "SendPluginUpdateCommunicationHelp": "Az adminisztrátorok emailben értesülnek ha egy bővítményhez frissítés érhető el.",
+ "StableReleases": "Ha a Piwik fontos része a vállalkozásának, javasoljuk, hogy a legfrissebb stabil kiadást használja. Ha a legfrissebb béte kiadást használja és hibát talál vagy javaslata van, kérjük %skattintson ide%s.",
+ "TrackAGoal": "Cél követése",
+ "TrackingCode": "Követőkód",
+ "TrustedHostConfirm": "Biztosan meg akarja változtatni a megbízható Piwik hosztnevet?",
+ "TrustedHostSettings": "Megbízható Piwik Hosztnév",
+ "UpdateSettings": "Beállítások frissítése",
+ "UseCustomLogo": "Saját logó használata",
+ "ValidPiwikHostname": "Érvényes Piwik Hosztnév",
+ "WithOptionalRevenue": "opcionális jövedelemmel",
+ "YouAreOptedIn": "A követés jelenleg be van kapcsolva.",
+ "YouAreOptedOut": "A követés jelenleg ki van kapcsolva.",
+ "YouMayOptOut": "Lehetőség van a számítógépen tárolt egyedi azonosító süti letiltására, hogy a látogatás ne szerepeljen semmilyen statisztikában.",
+ "YouMayOptOutBis": "Az alábbi kapcsoló segítségével engedélyezhető a követő süti használata."
}
} \ No newline at end of file
diff --git a/plugins/CoreConsole/Commands/CoreArchiver.php b/plugins/CoreConsole/Commands/CoreArchiver.php
index d34b422d55..ec151bf0ef 100644
--- a/plugins/CoreConsole/Commands/CoreArchiver.php
+++ b/plugins/CoreConsole/Commands/CoreArchiver.php
@@ -35,10 +35,6 @@ class CoreArchiver extends ConsoleCommand
throw new \InvalidArgumentException('No valid URL given. If you have specified a valid URL try --piwik-domain instead of --url');
}
- if ($input->getOption('verbose')) {
- Log::getInstance()->setLogLevel(Log::VERBOSE);
- }
-
$archiver = self::makeArchiver($url, $input);
try {
diff --git a/plugins/CustomVariables/tests/System/expected/test_CustomVariablesSystemTest__Live.getLastVisitsDetails_day.xml b/plugins/CustomVariables/tests/System/expected/test_CustomVariablesSystemTest__Live.getLastVisitsDetails_day.xml
index ebfa0c2d8e..00263a9a2c 100644
--- a/plugins/CustomVariables/tests/System/expected/test_CustomVariablesSystemTest__Live.getLastVisitsDetails_day.xml
+++ b/plugins/CustomVariables/tests/System/expected/test_CustomVariablesSystemTest__Live.getLastVisitsDetails_day.xml
@@ -90,17 +90,6 @@
<referrerUrl>http://www.google.com/search?q=this+keyword+should+be+ranked</referrerUrl>
<referrerSearchEngineUrl>http://google.com</referrerSearchEngineUrl>
<referrerSearchEngineIcon>plugins/Referrers/images/searchEngines/google.com.png</referrerSearchEngineIcon>
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -165,6 +154,17 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
diff --git a/plugins/DevicePlugins/API.php b/plugins/DevicePlugins/API.php
new file mode 100644
index 0000000000..c49839e8ae
--- /dev/null
+++ b/plugins/DevicePlugins/API.php
@@ -0,0 +1,90 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\DevicePlugins;
+
+use Piwik\Archive;
+use Piwik\DataTable;
+use Piwik\Metrics;
+use Piwik\Piwik;
+use Piwik\Plugins\DevicesDetection\Archiver AS DDArchiver;
+use Piwik\Plugins\CoreHome\Columns\Metrics\VisitsPercent;
+
+/**
+ * @see plugins/DevicePlugins/functions.php
+ */
+require_once PIWIK_INCLUDE_PATH . '/plugins/DevicePlugins/functions.php';
+
+/**
+ * The DevicePlugins API lets you access reports about device plugins such as browser plugins.
+ *
+ * @method static \Piwik\Plugins\DevicePlugins\API getInstance()
+ */
+class API extends \Piwik\Plugin\API
+{
+ protected function getDataTable($name, $idSite, $period, $date, $segment)
+ {
+ Piwik::checkUserHasViewAccess($idSite);
+ $archive = Archive::build($idSite, $period, $date, $segment);
+ $dataTable = $archive->getDataTable($name);
+ $dataTable->filter('Sort', array(Metrics::INDEX_NB_VISITS));
+ $dataTable->queueFilter('ReplaceColumnNames');
+ $dataTable->queueFilter('ReplaceSummaryRowLabel');
+ return $dataTable;
+ }
+
+ public function getPlugin($idSite, $period, $date, $segment = false)
+ {
+ // fetch all archive data required
+ $dataTable = $this->getDataTable(Archiver::PLUGIN_RECORD_NAME, $idSite, $period, $date, $segment);
+ $browserTypes = $this->getDataTable(DDArchiver::BROWSER_ENGINE_RECORD_NAME, $idSite, $period, $date, $segment);
+ $archive = Archive::build($idSite, $period, $date, $segment);
+ $visitsSums = $archive->getDataTableFromNumeric('nb_visits');
+
+ // check whether given tables are arrays
+ if ($dataTable instanceof DataTable\Map) {
+ $dataTableMap = $dataTable->getDataTables();
+ $browserTypesArray = $browserTypes->getDataTables();
+ $visitSumsArray = $visitsSums->getDataTables();
+ } else {
+ $dataTableMap = array($dataTable);
+ $browserTypesArray = array($browserTypes);
+ $visitSumsArray = array($visitsSums);
+ }
+
+ // walk through the results and calculate the percentage
+ foreach ($dataTableMap as $key => $table) {
+ // Calculate percentage, but ignore IE users because plugin detection doesn't work on IE
+ $ieVisits = 0;
+
+ $ieStats = $browserTypesArray[$key]->getRowFromLabel('Trident');
+ if ($ieStats !== false) {
+ $ieVisits = $ieStats->getColumn(Metrics::INDEX_NB_VISITS);
+ }
+
+ // get according visitsSum
+ $visits = $visitSumsArray[$key];
+ if ($visits->getRowsCount() == 0) {
+ $visitsSumTotal = 0;
+ } else {
+ $visitsSumTotal = (float) $visits->getFirstRow()->getColumn('nb_visits');
+ }
+
+ $visitsSum = $visitsSumTotal - $ieVisits;
+
+ $extraProcessedMetrics = $table->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME);
+ $extraProcessedMetrics[] = new VisitsPercent($visitsSum);
+ $table->setMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME, $extraProcessedMetrics);
+ }
+
+ $dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'logo', __NAMESPACE__ . '\getPluginsLogo'));
+ $dataTable->queueFilter('ColumnCallbackReplace', array('label', 'ucfirst'));
+
+ return $dataTable;
+ }
+}
diff --git a/plugins/DevicePlugins/Archiver.php b/plugins/DevicePlugins/Archiver.php
new file mode 100644
index 0000000000..1b4b92213e
--- /dev/null
+++ b/plugins/DevicePlugins/Archiver.php
@@ -0,0 +1,75 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+
+namespace Piwik\Plugins\DevicePlugins;
+
+use Piwik\DataAccess\LogAggregator;
+use Piwik\DataTable;
+use Piwik\Metrics;
+
+require_once PIWIK_INCLUDE_PATH . '/plugins/DevicePlugins/functions.php';
+
+/**
+ * Archiver for DevicePlugins Plugin
+ *
+ * @see PluginsArchiver
+ */
+class Archiver extends \Piwik\Plugin\Archiver
+{
+ const PLUGIN_RECORD_NAME = 'DevicePlugins_plugin';
+
+ /**
+ * Daily archive of DevicePlugins report. Processes reports for Visits by plugins.
+ */
+ public function aggregateDayReport()
+ {
+ $this->aggregateByPlugin();
+ }
+
+ /**
+ * Period archiving: simply sums up daily archives
+ */
+ public function aggregateMultipleReports()
+ {
+ $dataTableRecords = array(
+ self::PLUGIN_RECORD_NAME,
+ );
+ $this->getProcessor()->aggregateDataTableRecords($dataTableRecords, $this->maximumRows);
+ }
+
+ protected function aggregateByPlugin()
+ {
+ $selects = array(
+ "sum(case log_visit.config_pdf when 1 then 1 else 0 end) as pdf",
+ "sum(case log_visit.config_flash when 1 then 1 else 0 end) as flash",
+ "sum(case log_visit.config_java when 1 then 1 else 0 end) as java",
+ "sum(case log_visit.config_director when 1 then 1 else 0 end) as director",
+ "sum(case log_visit.config_quicktime when 1 then 1 else 0 end) as quicktime",
+ "sum(case log_visit.config_realplayer when 1 then 1 else 0 end) as realplayer",
+ "sum(case log_visit.config_windowsmedia when 1 then 1 else 0 end) as windowsmedia",
+ "sum(case log_visit.config_gears when 1 then 1 else 0 end) as gears",
+ "sum(case log_visit.config_silverlight when 1 then 1 else 0 end) as silverlight",
+ "sum(case log_visit.config_cookie when 1 then 1 else 0 end) as cookie"
+ );
+
+ $query = $this->getLogAggregator()->queryVisitsByDimension(array(), false, $selects, $metrics = array());
+ $data = $query->fetch();
+ $cleanRow = LogAggregator::makeArrayOneColumn($data, Metrics::INDEX_NB_VISITS);
+ $table = DataTable::makeFromIndexedArray($cleanRow);
+ $this->insertTable(self::PLUGIN_RECORD_NAME, $table);
+ }
+
+ protected function insertTable($recordName, DataTable $table)
+ {
+ $report = $table->getSerialized($this->maximumRows, null, Metrics::INDEX_NB_VISITS);
+ return $this->getProcessor()->insertBlobRecord($recordName, $report);
+ }
+
+}
+
diff --git a/plugins/UserSettings/Columns/Plugin.php b/plugins/DevicePlugins/Columns/Plugin.php
index a6ecef0c29..0066c5ce19 100644
--- a/plugins/UserSettings/Columns/Plugin.php
+++ b/plugins/DevicePlugins/Columns/Plugin.php
@@ -6,7 +6,7 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
-namespace Piwik\Plugins\UserSettings\Columns;
+namespace Piwik\Plugins\DevicePlugins\Columns;
use Piwik\Columns\Dimension;
use Piwik\Piwik;
diff --git a/plugins/UserSettings/Columns/PluginCookie.php b/plugins/DevicePlugins/Columns/PluginCookie.php
index 8af841ca52..935bd24333 100644
--- a/plugins/UserSettings/Columns/PluginCookie.php
+++ b/plugins/DevicePlugins/Columns/PluginCookie.php
@@ -6,7 +6,7 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
-namespace Piwik\Plugins\UserSettings\Columns;
+namespace Piwik\Plugins\DevicePlugins\Columns;
use Piwik\Common;
use Piwik\Plugin\Dimension\VisitDimension;
diff --git a/plugins/UserSettings/Columns/PluginDirector.php b/plugins/DevicePlugins/Columns/PluginDirector.php
index 58019826ce..4e5b82d2fd 100644
--- a/plugins/UserSettings/Columns/PluginDirector.php
+++ b/plugins/DevicePlugins/Columns/PluginDirector.php
@@ -6,7 +6,7 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
-namespace Piwik\Plugins\UserSettings\Columns;
+namespace Piwik\Plugins\DevicePlugins\Columns;
use Piwik\Common;
use Piwik\Plugin\Dimension\VisitDimension;
diff --git a/plugins/UserSettings/Columns/PluginFlash.php b/plugins/DevicePlugins/Columns/PluginFlash.php
index d691d200a4..70d9bbfe83 100644
--- a/plugins/UserSettings/Columns/PluginFlash.php
+++ b/plugins/DevicePlugins/Columns/PluginFlash.php
@@ -6,7 +6,7 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
-namespace Piwik\Plugins\UserSettings\Columns;
+namespace Piwik\Plugins\DevicePlugins\Columns;
use Piwik\Common;
use Piwik\Plugin\Dimension\VisitDimension;
diff --git a/plugins/UserSettings/Columns/PluginGears.php b/plugins/DevicePlugins/Columns/PluginGears.php
index edf024877e..8d0584a937 100644
--- a/plugins/UserSettings/Columns/PluginGears.php
+++ b/plugins/DevicePlugins/Columns/PluginGears.php
@@ -6,7 +6,7 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
-namespace Piwik\Plugins\UserSettings\Columns;
+namespace Piwik\Plugins\DevicePlugins\Columns;
use Piwik\Common;
use Piwik\Plugin\Dimension\VisitDimension;
diff --git a/plugins/UserSettings/Columns/PluginJava.php b/plugins/DevicePlugins/Columns/PluginJava.php
index 0db9b81778..9b316fda83 100644
--- a/plugins/UserSettings/Columns/PluginJava.php
+++ b/plugins/DevicePlugins/Columns/PluginJava.php
@@ -6,7 +6,7 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
-namespace Piwik\Plugins\UserSettings\Columns;
+namespace Piwik\Plugins\DevicePlugins\Columns;
use Piwik\Common;
use Piwik\Plugin\Dimension\VisitDimension;
diff --git a/plugins/UserSettings/Columns/PluginPdf.php b/plugins/DevicePlugins/Columns/PluginPdf.php
index c50f92c53e..4f637e6d79 100644
--- a/plugins/UserSettings/Columns/PluginPdf.php
+++ b/plugins/DevicePlugins/Columns/PluginPdf.php
@@ -6,7 +6,7 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
-namespace Piwik\Plugins\UserSettings\Columns;
+namespace Piwik\Plugins\DevicePlugins\Columns;
use Piwik\Common;
use Piwik\Plugin\Dimension\VisitDimension;
diff --git a/plugins/UserSettings/Columns/PluginQuickTime.php b/plugins/DevicePlugins/Columns/PluginQuickTime.php
index ea2f85ad0b..9f74f0191d 100644
--- a/plugins/UserSettings/Columns/PluginQuickTime.php
+++ b/plugins/DevicePlugins/Columns/PluginQuickTime.php
@@ -6,7 +6,7 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
-namespace Piwik\Plugins\UserSettings\Columns;
+namespace Piwik\Plugins\DevicePlugins\Columns;
use Piwik\Common;
use Piwik\Plugin\Dimension\VisitDimension;
diff --git a/plugins/UserSettings/Columns/PluginRealPlayer.php b/plugins/DevicePlugins/Columns/PluginRealPlayer.php
index b8e17c605c..902bac086b 100644
--- a/plugins/UserSettings/Columns/PluginRealPlayer.php
+++ b/plugins/DevicePlugins/Columns/PluginRealPlayer.php
@@ -6,7 +6,7 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
-namespace Piwik\Plugins\UserSettings\Columns;
+namespace Piwik\Plugins\DevicePlugins\Columns;
use Piwik\Common;
use Piwik\Plugin\Dimension\VisitDimension;
diff --git a/plugins/UserSettings/Columns/PluginSilverlight.php b/plugins/DevicePlugins/Columns/PluginSilverlight.php
index f917c3d296..a9381a35ee 100644
--- a/plugins/UserSettings/Columns/PluginSilverlight.php
+++ b/plugins/DevicePlugins/Columns/PluginSilverlight.php
@@ -6,7 +6,7 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
-namespace Piwik\Plugins\UserSettings\Columns;
+namespace Piwik\Plugins\DevicePlugins\Columns;
use Piwik\Common;
use Piwik\Plugin\Dimension\VisitDimension;
diff --git a/plugins/UserSettings/Columns/PluginWindowsMedia.php b/plugins/DevicePlugins/Columns/PluginWindowsMedia.php
index 02e7088ce0..3ae32f8ab3 100644
--- a/plugins/UserSettings/Columns/PluginWindowsMedia.php
+++ b/plugins/DevicePlugins/Columns/PluginWindowsMedia.php
@@ -6,7 +6,7 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
-namespace Piwik\Plugins\UserSettings\Columns;
+namespace Piwik\Plugins\DevicePlugins\Columns;
use Piwik\Common;
use Piwik\Plugin\Dimension\VisitDimension;
diff --git a/plugins/DevicePlugins/DevicePlugins.php b/plugins/DevicePlugins/DevicePlugins.php
new file mode 100644
index 0000000000..afe8abf950
--- /dev/null
+++ b/plugins/DevicePlugins/DevicePlugins.php
@@ -0,0 +1,48 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\DevicePlugins;
+
+use Piwik\Piwik;
+use Piwik\Plugins\CoreVisualizations\Visualizations\Graph;
+use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable;
+
+/**
+ *
+ */
+class DevicePlugins extends \Piwik\Plugin
+{
+ /**
+ * @see Piwik\Plugin::getListHooksRegistered
+ */
+ public function getListHooksRegistered()
+ {
+ return array(
+ 'Metrics.getDefaultMetricTranslations' => 'addMetricTranslations',
+ 'Live.getAllVisitorDetails' => 'extendVisitorDetails',
+ );
+ }
+
+ public function extendVisitorDetails(&$visitor, $details)
+ {
+ $instance = new Visitor($details);
+
+ $visitor['plugins'] = $instance->getPlugins();
+ $visitor['pluginsIcons'] = $instance->getPluginIcons();
+ }
+
+ public function addMetricTranslations(&$translations)
+ {
+ $metrics = array(
+ 'nb_visits_percentage' => Piwik::translate('General_ColumnPercentageVisits')
+ );
+
+ $translations = array_merge($translations, $metrics);
+ }
+
+}
diff --git a/plugins/DevicePlugins/Reports/Base.php b/plugins/DevicePlugins/Reports/Base.php
new file mode 100644
index 0000000000..cb075958be
--- /dev/null
+++ b/plugins/DevicePlugins/Reports/Base.php
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\DevicePlugins\Reports;
+
+use Piwik\Plugin\ViewDataTable;
+use Piwik\Plugins\CoreVisualizations\Visualizations\Graph;
+
+abstract class Base extends \Piwik\Plugin\Report
+{
+ protected function init()
+ {
+ $this->category = 'UserSettings_VisitorSettings';
+ }
+
+ protected function getBasicDevicePluginsDisplayProperties(ViewDataTable $view)
+ {
+ $view->config->show_search = false;
+ $view->config->show_exclude_low_population = false;
+
+ $view->requestConfig->filter_limit = 5;
+
+ if ($view->isViewDataTableId(Graph::ID)) {
+ $view->config->max_graph_elements = 5;
+ }
+ }
+}
diff --git a/plugins/UserSettings/Reports/GetPlugin.php b/plugins/DevicePlugins/Reports/GetPlugin.php
index e9512c4256..151bf3e1a6 100644
--- a/plugins/UserSettings/Reports/GetPlugin.php
+++ b/plugins/DevicePlugins/Reports/GetPlugin.php
@@ -6,11 +6,11 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
-namespace Piwik\Plugins\UserSettings\Reports;
+namespace Piwik\Plugins\DevicePlugins\Reports;
use Piwik\Piwik;
use Piwik\Plugin\ViewDataTable;
-use Piwik\Plugins\UserSettings\Columns\Plugin;
+use Piwik\Plugins\DevicePlugins\Columns\Plugin;
class GetPlugin extends Base
{
@@ -18,18 +18,18 @@ class GetPlugin extends Base
{
parent::init();
$this->dimension = new Plugin();
- $this->name = Piwik::translate('UserSettings_WidgetPlugins');
- $this->documentation = Piwik::translate('UserSettings_WidgetPluginsDocumentation', '<br />');
+ $this->name = Piwik::translate('DevicePlugins_WidgetPlugins');
+ $this->documentation = Piwik::translate('DevicePlugins_WidgetPluginsDocumentation', '<br />');
$this->metrics = array('nb_visits');
$this->constantRowsCount = true;
$this->processedMetrics = array('nb_visits_percentage');
$this->order = 4;
- $this->widgetTitle = 'UserSettings_WidgetPlugins';
+ $this->widgetTitle = 'DevicePlugins_WidgetPlugins';
}
public function configureView(ViewDataTable $view)
{
- $this->getBasicUserSettingsDisplayProperties($view);
+ $this->getBasicDevicePluginsDisplayProperties($view);
$view->config->addTranslations(array(
'label' => $this->dimension->getName(),
@@ -43,7 +43,7 @@ class GetPlugin extends Base
$view->config->show_all_views_icons = false;
$view->config->show_table_all_columns = false;
$view->config->columns_to_display = array('label', 'nb_visits_percentage', 'nb_visits');
- $view->config->show_footer_message = Piwik::translate('UserSettings_PluginDetectionDoesNotWorkInIE');
+ $view->config->show_footer_message = Piwik::translate('DevicePlugins_PluginDetectionDoesNotWorkInIE');
$view->requestConfig->filter_sort_column = 'nb_visits_percentage';
$view->requestConfig->filter_sort_order = 'desc';
diff --git a/plugins/UserSettings/Visitor.php b/plugins/DevicePlugins/Visitor.php
index e399cba3ac..501e241a50 100644
--- a/plugins/UserSettings/Visitor.php
+++ b/plugins/DevicePlugins/Visitor.php
@@ -6,9 +6,9 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
-namespace Piwik\Plugins\UserSettings;
+namespace Piwik\Plugins\DevicePlugins;
-require_once PIWIK_INCLUDE_PATH . '/plugins/UserSettings/functions.php';
+require_once PIWIK_INCLUDE_PATH . '/plugins/DevicePlugins/functions.php';
class Visitor
{
diff --git a/plugins/DevicePlugins/functions.php b/plugins/DevicePlugins/functions.php
new file mode 100644
index 0000000000..4cf77ab120
--- /dev/null
+++ b/plugins/DevicePlugins/functions.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+
+namespace Piwik\Plugins\DevicePlugins;
+
+use Piwik\Piwik;
+
+function getPluginsLogo($label)
+{
+ if ($label == Piwik::translate('General_Others')) {
+ return false;
+ }
+ return 'plugins/DevicePlugins/images/plugins/' . $label . '.gif';
+}
diff --git a/plugins/UserSettings/images/plugins/cookie.gif b/plugins/DevicePlugins/images/plugins/cookie.gif
index b2dba70a34..b2dba70a34 100644
--- a/plugins/UserSettings/images/plugins/cookie.gif
+++ b/plugins/DevicePlugins/images/plugins/cookie.gif
Binary files differ
diff --git a/plugins/UserSettings/images/plugins/director.gif b/plugins/DevicePlugins/images/plugins/director.gif
index aa77c91cdc..aa77c91cdc 100644
--- a/plugins/UserSettings/images/plugins/director.gif
+++ b/plugins/DevicePlugins/images/plugins/director.gif
Binary files differ
diff --git a/plugins/UserSettings/images/plugins/flash.gif b/plugins/DevicePlugins/images/plugins/flash.gif
index d96f58166e..d96f58166e 100644
--- a/plugins/UserSettings/images/plugins/flash.gif
+++ b/plugins/DevicePlugins/images/plugins/flash.gif
Binary files differ
diff --git a/plugins/UserSettings/images/plugins/gears.gif b/plugins/DevicePlugins/images/plugins/gears.gif
index 4767112184..4767112184 100644
--- a/plugins/UserSettings/images/plugins/gears.gif
+++ b/plugins/DevicePlugins/images/plugins/gears.gif
Binary files differ
diff --git a/plugins/UserSettings/images/plugins/java.gif b/plugins/DevicePlugins/images/plugins/java.gif
index 1606c5f2f7..1606c5f2f7 100644
--- a/plugins/UserSettings/images/plugins/java.gif
+++ b/plugins/DevicePlugins/images/plugins/java.gif
Binary files differ
diff --git a/plugins/UserSettings/images/plugins/pdf.gif b/plugins/DevicePlugins/images/plugins/pdf.gif
index 810f75d2bc..810f75d2bc 100644
--- a/plugins/UserSettings/images/plugins/pdf.gif
+++ b/plugins/DevicePlugins/images/plugins/pdf.gif
Binary files differ
diff --git a/plugins/UserSettings/images/plugins/quicktime.gif b/plugins/DevicePlugins/images/plugins/quicktime.gif
index cefbbafbb6..cefbbafbb6 100644
--- a/plugins/UserSettings/images/plugins/quicktime.gif
+++ b/plugins/DevicePlugins/images/plugins/quicktime.gif
Binary files differ
diff --git a/plugins/UserSettings/images/plugins/realplayer.gif b/plugins/DevicePlugins/images/plugins/realplayer.gif
index 2ed04565ab..2ed04565ab 100644
--- a/plugins/UserSettings/images/plugins/realplayer.gif
+++ b/plugins/DevicePlugins/images/plugins/realplayer.gif
Binary files differ
diff --git a/plugins/UserSettings/images/plugins/silverlight.gif b/plugins/DevicePlugins/images/plugins/silverlight.gif
index 2a3a35cacb..2a3a35cacb 100644
--- a/plugins/UserSettings/images/plugins/silverlight.gif
+++ b/plugins/DevicePlugins/images/plugins/silverlight.gif
Binary files differ
diff --git a/plugins/UserSettings/images/plugins/windowsmedia.gif b/plugins/DevicePlugins/images/plugins/windowsmedia.gif
index 92e72c9006..92e72c9006 100644
--- a/plugins/UserSettings/images/plugins/windowsmedia.gif
+++ b/plugins/DevicePlugins/images/plugins/windowsmedia.gif
Binary files differ
diff --git a/plugins/DevicePlugins/lang/am.json b/plugins/DevicePlugins/lang/am.json
new file mode 100644
index 0000000000..7024f45788
--- /dev/null
+++ b/plugins/DevicePlugins/lang/am.json
@@ -0,0 +1,5 @@
+{
+ "DevicePlugins": {
+ "WidgetPlugins": "የተሰኪዎች ዝርዝር"
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/ar.json b/plugins/DevicePlugins/lang/ar.json
new file mode 100644
index 0000000000..c0e62aa58f
--- /dev/null
+++ b/plugins/DevicePlugins/lang/ar.json
@@ -0,0 +1,6 @@
+{
+ "DevicePlugins": {
+ "PluginDetectionDoesNotWorkInIE": "ملاحظة: اكتشاف الإضافات البرمجية لا تعمل في متصفح إنترنت إكسبلورر. هذه الخاصية ترتكز للمتصفحات من العائلات الأخرى غير إنترنت إكسبلورر.",
+ "WidgetPlugins": "قائمة الإضافات"
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/be.json b/plugins/DevicePlugins/lang/be.json
new file mode 100644
index 0000000000..82f75389a6
--- /dev/null
+++ b/plugins/DevicePlugins/lang/be.json
@@ -0,0 +1,7 @@
+{
+ "DevicePlugins": {
+ "PluginDetectionDoesNotWorkInIE": "Заўважце: Плагіны не вызначаюцца ў Internet Explorer. Гэта справаздача заснавана на не-IE браўзарах.",
+ "WidgetPlugins": "Спіс плагінаў",
+ "WidgetPluginsDocumentation": "Гэтая справаздача паказвае, якія плагіны были ўключаны ў браўзэраў Вашых наведвальнікаў. Гэтая інфармацыя можа мець важнае значэнне для выбару правільнага спосабу дастаўкі кантэнту."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/bg.json b/plugins/DevicePlugins/lang/bg.json
new file mode 100644
index 0000000000..12e47992f6
--- /dev/null
+++ b/plugins/DevicePlugins/lang/bg.json
@@ -0,0 +1,9 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s без активни добавки",
+ "BrowserWithPluginsEnabled": "%1$s с добавки %2$s активиран",
+ "PluginDetectionDoesNotWorkInIE": "Забележка: Засичането на добавки не работи при Internet Explorer. Този доклад е базиран само на браузъри, различни от IE.",
+ "WidgetPlugins": "Добавки",
+ "WidgetPluginsDocumentation": "Този отчет показва каква добавка на браузъра са използвали вашите посетители. Тази информация може да е важна, за да изберете правилния начин за доставяне на вашето съдържание."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/ca.json b/plugins/DevicePlugins/lang/ca.json
new file mode 100644
index 0000000000..8ea7576c7c
--- /dev/null
+++ b/plugins/DevicePlugins/lang/ca.json
@@ -0,0 +1,7 @@
+{
+ "DevicePlugins": {
+ "PluginDetectionDoesNotWorkInIE": "Nota: La detecció d'extensions no funciona amb Internet Explorer. L'informe es basa nomes amb navegadors diferents de l'Internet Explorer",
+ "WidgetPlugins": "Llistat de connectors",
+ "WidgetPluginsDocumentation": "Aquest informe mostra quines extensions tenen els vostres visitants activades. Aquesta informació pot ser important per determinar la forma correcta de mostrar el contingut."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/cs.json b/plugins/DevicePlugins/lang/cs.json
new file mode 100644
index 0000000000..63c7807235
--- /dev/null
+++ b/plugins/DevicePlugins/lang/cs.json
@@ -0,0 +1,9 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s bez povolených zásuvných modulů",
+ "BrowserWithPluginsEnabled": "%1$s s povolenými zásuvnými moduly %2$s",
+ "PluginDetectionDoesNotWorkInIE": "Poznámka: Detekce zásuvných modulů nepracuje v prohlížeči Interet Explorer. Toto hlášení je založeno na ostatních prohlížečích",
+ "WidgetPlugins": "Seznam zásuvných modulů",
+ "WidgetPluginsDocumentation": "Toto hlášení zobrazuje zásuvné moduly, které měli vaši návštěvníci povoleny. Tato informace může být důležitá při rozhodování o tom, jakým způsobem prezentovat obsah."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/da.json b/plugins/DevicePlugins/lang/da.json
new file mode 100644
index 0000000000..13f09e4e7a
--- /dev/null
+++ b/plugins/DevicePlugins/lang/da.json
@@ -0,0 +1,9 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s med ingen aktiverede udvidelsesmoduler",
+ "BrowserWithPluginsEnabled": "%1$s med udvidelsesmoduler %2$s aktiveret",
+ "PluginDetectionDoesNotWorkInIE": "Note: Udvidelsesmodul detektering virker ikke i Internet Explorer. Rapport viser kun ikke-IE browsere.",
+ "WidgetPlugins": "Udvidelsesmoduler",
+ "WidgetPluginsDocumentation": "Rapporten viser, hvilke browserudvidelser de besøgende havde aktiveret. Oplysningerne kan være vigtigt for at vælge den rigtige måde at levere indholdet på."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/de.json b/plugins/DevicePlugins/lang/de.json
new file mode 100644
index 0000000000..668124075c
--- /dev/null
+++ b/plugins/DevicePlugins/lang/de.json
@@ -0,0 +1,9 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s mit keinen aktivierten Plugins",
+ "BrowserWithPluginsEnabled": "%1$s mit den Plugins %2$s aktiviert",
+ "PluginDetectionDoesNotWorkInIE": "Hinweis: Die Erkennung von Plugins funktioniert nicht im Internet Explorer. Diese Statistik beruht nur auf Nicht-IE Browsern.",
+ "WidgetPlugins": "Liste der Plugins",
+ "WidgetPluginsDocumentation": "Dieser Bericht zeigt Ihnen, welche Plugins Ihre Besucher in Ihren Browser aktiviert haben. Diese Informationen kann Ihnen dabei helfen, die beste Art zu finden, Ihre Inhalte auszuliefern."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/el.json b/plugins/DevicePlugins/lang/el.json
new file mode 100644
index 0000000000..55afbb91db
--- /dev/null
+++ b/plugins/DevicePlugins/lang/el.json
@@ -0,0 +1,9 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s με ανενεργά πρόσθετα",
+ "BrowserWithPluginsEnabled": "%1$s με %2$s πρόσθετα ενεργά",
+ "PluginDetectionDoesNotWorkInIE": "Σημείωση: η ανίχνευση Προσθέτων δεν λειτουργεί στον Internet Explorer. Αυτή η αναφορά βασίζεται μόνο σε μη IE φυλλομετρητές.",
+ "WidgetPlugins": "Λίστα προσθέτων",
+ "WidgetPluginsDocumentation": "Αυτή η αναφορά δείχνει ποια πρόσθετα φυλλομετρητή έχουν ενεργά οι επισκέπτες σας. Αυτή η πληροφορία ίσως είναι σημαντική για την επιλογή του πιο σωστού τρόπου απόδοσης του περιεχομένου σας."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/en.json b/plugins/DevicePlugins/lang/en.json
new file mode 100644
index 0000000000..0e8b452a8a
--- /dev/null
+++ b/plugins/DevicePlugins/lang/en.json
@@ -0,0 +1,10 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s with no plugins enabled",
+ "BrowserWithPluginsEnabled": "%1$s with plugins %2$s enabled",
+ "PluginDescription": "Reports browser plugins",
+ "PluginDetectionDoesNotWorkInIE": "Note: Plugins detection doesn't work in Internet Explorer. This report is only based on non-IE browsers.",
+ "WidgetPlugins": "Browser Plugins",
+ "WidgetPluginsDocumentation": "This report shows which browser plugins your visitors had enabled. This information might be important for choosing the right way to deliver your content."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/es.json b/plugins/DevicePlugins/lang/es.json
new file mode 100644
index 0000000000..0036691462
--- /dev/null
+++ b/plugins/DevicePlugins/lang/es.json
@@ -0,0 +1,9 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s sin complementos habilitados",
+ "BrowserWithPluginsEnabled": "%1$s con los complementos %2$s habilitados",
+ "PluginDetectionDoesNotWorkInIE": "Nota: la detección de Plugins no funciona con Internet Explorer. Este reporte solo funciona con navegadores no-IE.",
+ "WidgetPlugins": "Lista de Plugins",
+ "WidgetPluginsDocumentation": "Este informe muestra que extensiones del navegador sus visitantes han habilitado. Esta información puede ser importante sea para elegir el método eficiente de enviar su contenido."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/et.json b/plugins/DevicePlugins/lang/et.json
new file mode 100644
index 0000000000..b6cd3a8379
--- /dev/null
+++ b/plugins/DevicePlugins/lang/et.json
@@ -0,0 +1,6 @@
+{
+ "DevicePlugins": {
+ "PluginDetectionDoesNotWorkInIE": "Märge: Lisatarkvara tuvastamine ei tööta Internet Exploreriga külastajatel. See raport kuvab andmeid mitte-IE veebisirvikute kohta.",
+ "WidgetPlugins": "Sirviku lisatarkvarad"
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/eu.json b/plugins/DevicePlugins/lang/eu.json
new file mode 100644
index 0000000000..ac3dcfee34
--- /dev/null
+++ b/plugins/DevicePlugins/lang/eu.json
@@ -0,0 +1,5 @@
+{
+ "DevicePlugins": {
+ "WidgetPlugins": "Pluginen zerrenda"
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/fa.json b/plugins/DevicePlugins/lang/fa.json
new file mode 100644
index 0000000000..ea9edd5c4c
--- /dev/null
+++ b/plugins/DevicePlugins/lang/fa.json
@@ -0,0 +1,8 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s با هیچ پلاگین را فعال کنید",
+ "PluginDetectionDoesNotWorkInIE": "توجه: تشخیص پلاگین در مرورگر اینترنت اکسپلورر کار نمی کند. این گزارش تنها بر روی مرورگرهای غیر اینترنت اکسپلورر است.",
+ "WidgetPlugins": "لیست افزونه ها",
+ "WidgetPluginsDocumentation": "این گزارش نشان می دهد که پلاگین مرورگر بازدید کننده خود را فعال کرده بود. این اطلاعات ممکن است مهم برای انتخاب راه درست برای ارائه محتوای خود را."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/fi.json b/plugins/DevicePlugins/lang/fi.json
new file mode 100644
index 0000000000..529fc48f67
--- /dev/null
+++ b/plugins/DevicePlugins/lang/fi.json
@@ -0,0 +1,9 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s ilman liitännäisiä aktivoitu",
+ "BrowserWithPluginsEnabled": "%1$s liitännäisillä %2$s on aktivoitu",
+ "PluginDetectionDoesNotWorkInIE": "Huom: lisäosien tunnistus ei toimi Internet Explorerissa. Tämä raportti perustuu vain ei-IE-selaimiin.",
+ "WidgetPlugins": "Lista lisäosista",
+ "WidgetPluginsDocumentation": "Tämä raportti näyttää, mitä selainlisäosia vierailijoillasi oli käytössä. Tästä tiedosta voi olla hyötyä, kun joudut valitsemaan, miten tietoa esitetään ja välitetään vierailijoille."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/fr.json b/plugins/DevicePlugins/lang/fr.json
new file mode 100644
index 0000000000..05c67e3f51
--- /dev/null
+++ b/plugins/DevicePlugins/lang/fr.json
@@ -0,0 +1,9 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s avec aucun plugin activé",
+ "BrowserWithPluginsEnabled": "%1$s avec les plugins %2$s activés",
+ "PluginDetectionDoesNotWorkInIE": "Note : La détection des plugins ne fonctionne pas avec Internet Explorer. Ce rapport est basé sur les autres navigateurs.",
+ "WidgetPlugins": "Liste de Plugins",
+ "WidgetPluginsDocumentation": "Ce rapport montre quels plugins du navigateur vos visiteurs ont activés. Cette information peut être importante pour choisir le bon moyen de délivrer le contenu."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/gl.json b/plugins/DevicePlugins/lang/gl.json
new file mode 100644
index 0000000000..a098f11509
--- /dev/null
+++ b/plugins/DevicePlugins/lang/gl.json
@@ -0,0 +1,5 @@
+{
+ "DevicePlugins": {
+ "WidgetPlugins": "Lista de plugins"
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/hi.json b/plugins/DevicePlugins/lang/hi.json
new file mode 100644
index 0000000000..696fb42938
--- /dev/null
+++ b/plugins/DevicePlugins/lang/hi.json
@@ -0,0 +1,7 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s के साथ प्लगइन सक्रिय नहीं",
+ "BrowserWithPluginsEnabled": "प्लगिन %2$s से %1$s सक्षम",
+ "PluginDetectionDoesNotWorkInIE": "नोट: प्लगइन्स का पता लगाने इंटरनेट एक्सप्लोरर में काम नहीं करता है. यह रिपोर्ट केवल गैर आईई ब्राउज़रों पर आधारित है."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/hu.json b/plugins/DevicePlugins/lang/hu.json
new file mode 100644
index 0000000000..e68a307f11
--- /dev/null
+++ b/plugins/DevicePlugins/lang/hu.json
@@ -0,0 +1,6 @@
+{
+ "DevicePlugins": {
+ "PluginDetectionDoesNotWorkInIE": "A böngészők bővítményeinek detektálása nem működik az Internet Exlporernél, így ez a jelentés csak a nem Internet Explorert használó látogatók adatait jeleníti meg.",
+ "WidgetPlugins": "Bővítmények listája"
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/id.json b/plugins/DevicePlugins/lang/id.json
new file mode 100644
index 0000000000..4aad881c58
--- /dev/null
+++ b/plugins/DevicePlugins/lang/id.json
@@ -0,0 +1,9 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s dengan tanpa pengaya diaktifkan",
+ "BrowserWithPluginsEnabled": "%1$s dengan %2$s pengaya diaktifkan",
+ "PluginDetectionDoesNotWorkInIE": "Catatan: Pendeteksian pengaya tidak bekerja di Internet Explorer. Laporan ini hanya berdasarkan pada peramban bukan-IE.",
+ "WidgetPlugins": "Daftar Pengaya",
+ "WidgetPluginsDocumentation": "Laporan ini menunjukkan pengaya peramban yang diaktifkan oleh pengunjung. Informasi yang tersedia kemungkinan penting untuk memilih cara terbaik untuk menyampaikan konten Anda."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/is.json b/plugins/DevicePlugins/lang/is.json
new file mode 100644
index 0000000000..af396fe27e
--- /dev/null
+++ b/plugins/DevicePlugins/lang/is.json
@@ -0,0 +1,6 @@
+{
+ "DevicePlugins": {
+ "PluginDetectionDoesNotWorkInIE": "Ath: uppgötvun á íbótum virkar ekki með Internet Explorer. Þessi skýrsla er aðeins unnin út frá öðrum vöfrum en IE.",
+ "WidgetPlugins": "Listi yfir íbætur"
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/it.json b/plugins/DevicePlugins/lang/it.json
new file mode 100644
index 0000000000..484a91f66c
--- /dev/null
+++ b/plugins/DevicePlugins/lang/it.json
@@ -0,0 +1,10 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s con nessun plugin abilitato",
+ "BrowserWithPluginsEnabled": "%1$s con plugin %2$s abilitati",
+ "PluginDescription": "Fa un report dei plugins dei browser",
+ "PluginDetectionDoesNotWorkInIE": "N.B.: Questo plugin non funziona su Internet Explorer. Questo report è basato solamente sugli utenti di altri browser.",
+ "WidgetPlugins": "Lista dei Plugin",
+ "WidgetPluginsDocumentation": "Questo report mostra quali plugin del browser i visitatori avevano abilitato. Questa informazione potrebbe essere importante per la scelta del giusto modo di inviare i tuoi contenuti."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/ja.json b/plugins/DevicePlugins/lang/ja.json
new file mode 100644
index 0000000000..608ed98913
--- /dev/null
+++ b/plugins/DevicePlugins/lang/ja.json
@@ -0,0 +1,9 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s のプラグインが有効ではありません",
+ "BrowserWithPluginsEnabled": "%1$s のプラグイン %2$s は有効",
+ "PluginDetectionDoesNotWorkInIE": "注意: Internet Explorer ではプラグインの検出が動作しません。 このリポートは、非 IE ブラウザのみに基づきます。",
+ "WidgetPlugins": "プラグイン一覧",
+ "WidgetPluginsDocumentation": "ビジターが利用しているブラウザのプラグインについてのリポートです。コンテンツの最適な表示方法を選択するために重要な情報です。"
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/ka.json b/plugins/DevicePlugins/lang/ka.json
new file mode 100644
index 0000000000..2452d64099
--- /dev/null
+++ b/plugins/DevicePlugins/lang/ka.json
@@ -0,0 +1,6 @@
+{
+ "DevicePlugins": {
+ "PluginDetectionDoesNotWorkInIE": "შენიშვნა: პლაგინების ამოცნობა არ ხდება ინტერნეტ ექსპლორერში. ეს რეპორტი მუშაოაბს მხოლოდ არა–IE ბრაუზერებზე.",
+ "WidgetPlugins": "პლაგინების სია"
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/ko.json b/plugins/DevicePlugins/lang/ko.json
new file mode 100644
index 0000000000..35c64c3187
--- /dev/null
+++ b/plugins/DevicePlugins/lang/ko.json
@@ -0,0 +1,7 @@
+{
+ "DevicePlugins": {
+ "PluginDetectionDoesNotWorkInIE": "참고: Internet Explorer에서는 플러그인 검색이 작동하지 않습니다. 이 보고서는 IE 브라우저가 아닌것에 기반합니다.",
+ "WidgetPlugins": "플러그인 목록",
+ "WidgetPluginsDocumentation": "방문자가 사용하는 브라우저의 플러그인에 대한 보고서입니다. 컨텐츠에 대한 최적의 표시 방법을 선택하는 데 중요한 정보입니다."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/lt.json b/plugins/DevicePlugins/lang/lt.json
new file mode 100644
index 0000000000..12fc5b4d8b
--- /dev/null
+++ b/plugins/DevicePlugins/lang/lt.json
@@ -0,0 +1,6 @@
+{
+ "DevicePlugins": {
+ "PluginDetectionDoesNotWorkInIE": "Pastaba: papildinio aptikimas neveikia Internet Explorer naršyklėje. Ši ataskaita bus sugeneruota tik kitose naršyklėse.",
+ "WidgetPlugins": "Papildinių sąrašas"
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/lv.json b/plugins/DevicePlugins/lang/lv.json
new file mode 100644
index 0000000000..c09ee9a33f
--- /dev/null
+++ b/plugins/DevicePlugins/lang/lv.json
@@ -0,0 +1,7 @@
+{
+ "DevicePlugins": {
+ "PluginDetectionDoesNotWorkInIE": "Piezīme: spraudņu noteikšana nedarbojas Internet Explorer pārlūkā. Šī atskaite ir bāzēta tikai uz ne-IE pārlūkiem.",
+ "WidgetPlugins": "Spraudņu saraksts",
+ "WidgetPluginsDocumentation": "Šajā atskaitē ir redzami pārlūku spraudņi, kuri bija ieslēgti apmeklētāju pārlūkos. Šī informācija ir svarīga, lai izvēlētos vislabāko veidu kā piegādāt saturu apmeklētājiem."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/nb.json b/plugins/DevicePlugins/lang/nb.json
new file mode 100644
index 0000000000..f7b01e9240
--- /dev/null
+++ b/plugins/DevicePlugins/lang/nb.json
@@ -0,0 +1,5 @@
+{
+ "DevicePlugins": {
+ "WidgetPlugins": "Liste over tillegg"
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/nl.json b/plugins/DevicePlugins/lang/nl.json
new file mode 100644
index 0000000000..f142b6275b
--- /dev/null
+++ b/plugins/DevicePlugins/lang/nl.json
@@ -0,0 +1,9 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s zonder plugins ingeschakeld",
+ "BrowserWithPluginsEnabled": "%1$s met plugins %2$s ingeschakeld",
+ "PluginDetectionDoesNotWorkInIE": "Opmerking: plugin detectie werkt niet in Internet Explorer. Het rapport is alleen gebaseerd op andere browsers dan IE",
+ "WidgetPlugins": "Geïnstalleerde plugins",
+ "WidgetPluginsDocumentation": "Dit rapport laat zien welke browserplugins uw bezoekers haden geïnstalleerd. Deze informatie kan van belang zijn voor het kiezen van de juiste manier om uw content aan te bieden."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/nn.json b/plugins/DevicePlugins/lang/nn.json
new file mode 100644
index 0000000000..29ffb15b3f
--- /dev/null
+++ b/plugins/DevicePlugins/lang/nn.json
@@ -0,0 +1,6 @@
+{
+ "DevicePlugins": {
+ "PluginDetectionDoesNotWorkInIE": "Merk: Registrering av innstikk virkar ikkje i Internet Explorer. Denne rapporten er berre basert på andre nettlesarar enn IE.",
+ "WidgetPlugins": "Liste over innstikk"
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/pl.json b/plugins/DevicePlugins/lang/pl.json
new file mode 100644
index 0000000000..1efe58f73b
--- /dev/null
+++ b/plugins/DevicePlugins/lang/pl.json
@@ -0,0 +1,6 @@
+{
+ "DevicePlugins": {
+ "PluginDetectionDoesNotWorkInIE": "Uwaga: wykrywanie wtyczek nie działa w przypadku Internet Explorera. Raport ten pokaże tylko wyniki w oparciu o badanie innych przeglądarek, nie opartych na silniku IE.",
+ "WidgetPlugins": "Lista wtyczek"
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/pt-br.json b/plugins/DevicePlugins/lang/pt-br.json
new file mode 100644
index 0000000000..28857e6267
--- /dev/null
+++ b/plugins/DevicePlugins/lang/pt-br.json
@@ -0,0 +1,9 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s sem plugins ativados",
+ "BrowserWithPluginsEnabled": "%1$s com os plugins %2$s ativados",
+ "PluginDetectionDoesNotWorkInIE": "Nota: a detecção de plugins não funciona no Internet Explorer. Esse relatório é baseado apenas em navegadores não IE.",
+ "WidgetPlugins": "Lista de Plugins",
+ "WidgetPluginsDocumentation": "Este relatório mostra quais plugins de navegador seus visitantes tinham ativado. Esta informação pode ser importante para escolher o caminho certo para levar o seu conteúdo."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/pt.json b/plugins/DevicePlugins/lang/pt.json
new file mode 100644
index 0000000000..9c6ee983ae
--- /dev/null
+++ b/plugins/DevicePlugins/lang/pt.json
@@ -0,0 +1,7 @@
+{
+ "DevicePlugins": {
+ "PluginDetectionDoesNotWorkInIE": "Nota: Detecção de plugins não funciona no Internet Explorer. Este relatório só se baseia em navegadores não-IE.",
+ "WidgetPlugins": "Lista de Plugins",
+ "WidgetPluginsDocumentation": "Este relatório mostra quais os plugin que o navegador dos seus visitantes tinham. Esta informação pode ser importante para a escolha do caminho certo para distribuir o seu conteúdo."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/ro.json b/plugins/DevicePlugins/lang/ro.json
new file mode 100644
index 0000000000..d8c8b21387
--- /dev/null
+++ b/plugins/DevicePlugins/lang/ro.json
@@ -0,0 +1,9 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s fără plugin-uri activate",
+ "BrowserWithPluginsEnabled": "%1$s cu plugin-uri %2$s activate",
+ "PluginDetectionDoesNotWorkInIE": "Notă: de detectare a plugin-uri nu funcționează în Internet Explorer. Acest raport se bazează doar pe browsere non-IE.",
+ "WidgetPlugins": "Lista pluginurilor",
+ "WidgetPluginsDocumentation": "Acest raport arată ce plugin-uri de browser-ul au activat vizitatorii. Aceste informație ar putea fi importanta pentru a alege modul corect de a livra conținut."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/ru.json b/plugins/DevicePlugins/lang/ru.json
new file mode 100644
index 0000000000..14dce0cd74
--- /dev/null
+++ b/plugins/DevicePlugins/lang/ru.json
@@ -0,0 +1,7 @@
+{
+ "DevicePlugins": {
+ "PluginDetectionDoesNotWorkInIE": "Учтите: Определение плагинов не работает в Internet Explorer. Этот отчет содержит информацию о не-IE браузерах.",
+ "WidgetPlugins": "Список плагинов",
+ "WidgetPluginsDocumentation": "Этот отчет показывается какие плагины посетители используют в своих браузерах. Эта информация может быть важна для того, чтобы посетители смогли видеть ваш контент должным образом."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/sk.json b/plugins/DevicePlugins/lang/sk.json
new file mode 100644
index 0000000000..8ef5c5a693
--- /dev/null
+++ b/plugins/DevicePlugins/lang/sk.json
@@ -0,0 +1,6 @@
+{
+ "DevicePlugins": {
+ "PluginDetectionDoesNotWorkInIE": "Poznámka: Plugin detekcia nefunguje v Internet Exploreri. Táto správa je založená len na non-IE prehliadačov.",
+ "WidgetPlugins": "Zoznam modulov"
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/sl.json b/plugins/DevicePlugins/lang/sl.json
new file mode 100644
index 0000000000..1550e85abf
--- /dev/null
+++ b/plugins/DevicePlugins/lang/sl.json
@@ -0,0 +1,7 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s brez omogočenih vtičnikov",
+ "BrowserWithPluginsEnabled": "%1$s z omogočenimi vtičniki %2$s",
+ "WidgetPlugins": "Seznam Vtičnikov"
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/sq.json b/plugins/DevicePlugins/lang/sq.json
new file mode 100644
index 0000000000..1c9ca0ebad
--- /dev/null
+++ b/plugins/DevicePlugins/lang/sq.json
@@ -0,0 +1,7 @@
+{
+ "DevicePlugins": {
+ "PluginDetectionDoesNotWorkInIE": "Shënim: Zbulimi i shtojcave nuk funksionon nën Internet Explorer. Ky raport mund të kihet vetëm nën shfletuesa jo-IE.",
+ "WidgetPlugins": "Listë e Shtojcave",
+ "WidgetPluginsDocumentation": "Ky raport tregon se cilat shtojca shfletuesi kanë të aktivizuara vizitorët tuaj. Ky informacion mund të jetë i vlefshëm për zgjedhjen e mënyrës më të përshtatshme për ofrimin e lëndës suaj."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/sr.json b/plugins/DevicePlugins/lang/sr.json
new file mode 100644
index 0000000000..07d7e6c81a
--- /dev/null
+++ b/plugins/DevicePlugins/lang/sr.json
@@ -0,0 +1,9 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s sa isključenim dodacima",
+ "BrowserWithPluginsEnabled": "%1$s sa uključenim dodacima %2$s",
+ "PluginDetectionDoesNotWorkInIE": "Pažnja: detekcija dodataka ne radi kod Internet Explorera. Ovaj izveštaj se odnosi samo na brauzere koji nisu Internet Exlorer",
+ "WidgetPlugins": "Lista dodataka",
+ "WidgetPluginsDocumentation": "Ovaj izveštaj prikazuje koje dodatke za brauzere vaši posetioci imaju uključene. Ova informacija može biti od značaja prilikom odabira pravog načina prikaza sadržaja na vašem sajtu."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/sv.json b/plugins/DevicePlugins/lang/sv.json
new file mode 100644
index 0000000000..d83cd460ee
--- /dev/null
+++ b/plugins/DevicePlugins/lang/sv.json
@@ -0,0 +1,9 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s med inga plugins är aktiverad",
+ "BrowserWithPluginsEnabled": "%1$s med plugins %2$s är aktiverad",
+ "PluginDetectionDoesNotWorkInIE": "Notering: Plugins upptäckt fungerar inte i Internet Explorer. Denna rapport är endast baserad på icke-IE webbläsare.",
+ "WidgetPlugins": "Lista över plugins",
+ "WidgetPluginsDocumentation": "Denna rapport visar vilka plugins i webbläsaren som besökarna hade aktiverat. Denna information kan vara viktig för att välja rätt sätt att leverera ditt innehåll."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/th.json b/plugins/DevicePlugins/lang/th.json
new file mode 100644
index 0000000000..664c466eb3
--- /dev/null
+++ b/plugins/DevicePlugins/lang/th.json
@@ -0,0 +1,6 @@
+{
+ "DevicePlugins": {
+ "PluginDetectionDoesNotWorkInIE": "หมายเหตุ: ตรวจสอบปลั๊กอินไม่ทำงานใน Internet Explorer รายงานนี้จะอิงตามเฉพาะเบราว์เซอร์ที่ไม่ใช่ IE",
+ "WidgetPlugins": "รายการปลั้กอิน"
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/tl.json b/plugins/DevicePlugins/lang/tl.json
new file mode 100644
index 0000000000..c0ce59acc1
--- /dev/null
+++ b/plugins/DevicePlugins/lang/tl.json
@@ -0,0 +1,9 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s na may plugins na hindi pinapagana",
+ "BrowserWithPluginsEnabled": "%1$s na may mga plugin %2$s na naka-enable",
+ "PluginDetectionDoesNotWorkInIE": "Tandaan: Ang pagtingin ng Plugin ay hindi gumagana sa Internet Explorer. Ang ulat na ito ay batay lamang sa mga browser na hindi-IE.",
+ "WidgetPlugins": "Browser Plugins",
+ "WidgetPluginsDocumentation": "Ang ulat na ito ay ipinapakita kung anong browser plugis ang gumagana sa iyong bisita. Ang impormasyon na ito may maaring mahalaga sa pagpili kung paanu ihahatid ang nilalaman nito."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/tr.json b/plugins/DevicePlugins/lang/tr.json
new file mode 100644
index 0000000000..94ce8e428e
--- /dev/null
+++ b/plugins/DevicePlugins/lang/tr.json
@@ -0,0 +1,6 @@
+{
+ "DevicePlugins": {
+ "PluginDetectionDoesNotWorkInIE": "Not: Hedeflenen eklenti Internet Explorer çalışmamaktadir. Bu not\/rapor sadece IE içindir.",
+ "WidgetPlugins": "Eklenti Listesi"
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/uk.json b/plugins/DevicePlugins/lang/uk.json
new file mode 100644
index 0000000000..142c1f2e63
--- /dev/null
+++ b/plugins/DevicePlugins/lang/uk.json
@@ -0,0 +1,6 @@
+{
+ "DevicePlugins": {
+ "PluginDetectionDoesNotWorkInIE": "Примітка: Визначення плагінів не працює в Internet Explorer. Цей звіт базується лише на не-IE веб-оглядачах.",
+ "WidgetPlugins": "Список плагінів"
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/vi.json b/plugins/DevicePlugins/lang/vi.json
new file mode 100644
index 0000000000..03098daac0
--- /dev/null
+++ b/plugins/DevicePlugins/lang/vi.json
@@ -0,0 +1,9 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s không có plugin nào được kích hoạt",
+ "BrowserWithPluginsEnabled": "%1$s với plugin %2$s đã kích hoạt",
+ "PluginDetectionDoesNotWorkInIE": "Chú ý: Các Plugin phát hiện không làm việc trên Internet Explorer. Báo cáo này chỉ dựa trên trình duyệt không phải IE.",
+ "WidgetPlugins": "Các Plugin trình duyệt",
+ "WidgetPluginsDocumentation": "Báo cáo này cho thấy các plugin trình duyệt mà khách truy cập của bạn đã kích hoạt. Thông tin này có thể là quan trọng cho việc lựa chọn cách đúng để cung cấp nội dung của bạn."
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/zh-cn.json b/plugins/DevicePlugins/lang/zh-cn.json
new file mode 100644
index 0000000000..94e33f2469
--- /dev/null
+++ b/plugins/DevicePlugins/lang/zh-cn.json
@@ -0,0 +1,9 @@
+{
+ "DevicePlugins": {
+ "BrowserWithNoPluginsEnabled": "%1$s 没有启用插件",
+ "BrowserWithPluginsEnabled": "%1$s 启用插件%2$s",
+ "PluginDetectionDoesNotWorkInIE": "注意: 插件检查无法在 Internet Explorer 上运行。这个报表仅提供非 IE 浏览器。",
+ "WidgetPlugins": "浏览器插件清单",
+ "WidgetPluginsDocumentation": "本报表显示访客使用的浏览器插件,这可能对如何发布您的内容很重要。"
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicePlugins/lang/zh-tw.json b/plugins/DevicePlugins/lang/zh-tw.json
new file mode 100644
index 0000000000..3525eebf47
--- /dev/null
+++ b/plugins/DevicePlugins/lang/zh-tw.json
@@ -0,0 +1,6 @@
+{
+ "DevicePlugins": {
+ "PluginDetectionDoesNotWorkInIE": "注意:外掛偵測無法在 Internet Explorer 上運作。這個報告僅提供非 IE 瀏覽器。",
+ "WidgetPlugins": "瀏覽器外掛清單"
+ }
+} \ No newline at end of file
diff --git a/plugins/DevicesDetection/lang/pl.json b/plugins/DevicesDetection/lang/pl.json
index 7057a37d66..a8175a6e56 100644
--- a/plugins/DevicesDetection/lang/pl.json
+++ b/plugins/DevicesDetection/lang/pl.json
@@ -1,5 +1,7 @@
{
"DevicesDetection": {
+ "BrowserEngine": "Silnik przeglądarki",
+ "BrowserEngines": "Silniki przeglądarek",
"BrowserFamily": "Rodzina przeglądarek",
"Browsers": "Przeglądarki",
"BrowserVersion": "Wersja przeglądarki",
diff --git a/plugins/Installation/Controller.php b/plugins/Installation/Controller.php
index 9d6244a63c..bf6920dffc 100644
--- a/plugins/Installation/Controller.php
+++ b/plugins/Installation/Controller.php
@@ -78,26 +78,20 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
* Installation Step 1: Welcome
*
* Can also display an error message when there is a failure early (eg. DB connection failed)
- *
- * @param string Optional error message
*/
- function welcome($message = false)
+ function welcome()
{
// Delete merged js/css files to force regenerations based on updated activated plugin list
Filesystem::deleteAllCacheOnUpdate();
- if (empty($message)) {
- $this->checkPiwikIsNotInstalled();
- }
+ $this->checkPiwikIsNotInstalled();
$view = new View(
'@Installation/welcome',
$this->getInstallationSteps(),
__FUNCTION__
);
- $view->newInstall = !SettingsPiwik::isPiwikInstalled();
- $view->errorMessage = $message;
- $view->showNextStep = $view->newInstall;
+ $view->showNextStep = true;
return $view->render();
}
diff --git a/plugins/Installation/lang/de.json b/plugins/Installation/lang/de.json
index 3daa6bd088..5c7ba3c579 100644
--- a/plugins/Installation/lang/de.json
+++ b/plugins/Installation/lang/de.json
@@ -98,6 +98,8 @@
"SystemCheckPdoAndMysqliHelp": "Auf einem Linux-Server können Sie PHP mit den folgenden Optionen kompilieren: %1$s In Ihrer php.ini fügen Sie dann die folgenden Zeilen ein: %2$s",
"SystemCheckPhp": "PHP-Version",
"SystemCheckPhpPdoAndMysqli": "Weitere Informationen unter: %1$sPHP PDO%2$s und %3$sMYSQLI%4$s.",
+ "SystemCheckPhpSetting": "Um schwerwiegende Probleme zu verhinden, sollten Sie Folgendes in Ihrer php.ini setzen: %s",
+ "SystemCheckSettings": "Benötigte PHP Konfiguration (php.ini)",
"SystemCheckSplHelp": "Sie müssen PHP mit standardmäßig aktivierter Standard PHP Bibliothek (SPL) konfigurieren und neu übersetzen.",
"SystemCheckSummaryNoProblems": "Gratulation! Es gibt keine Probleme mit Ihrer Piwik Installation. Sie können sich selbst auf die Schulter klopfen.",
"SystemCheckSummaryThereWereErrors": "Ohje! Piwik hat einige %1$skritische Fehler%2$s mit Ihrer Installation festgestellt. %3$sDiese sollten schnellstmöglich behoben werden.%4$s",
diff --git a/plugins/Installation/lang/pl.json b/plugins/Installation/lang/pl.json
index 9ebd0af394..1c1deb7371 100644
--- a/plugins/Installation/lang/pl.json
+++ b/plugins/Installation/lang/pl.json
@@ -66,6 +66,7 @@
"SystemCheckGzcompressHelp": "Musisz włączyć rozszerzenie zlib i funkcję gzcompress.",
"SystemCheckGzuncompressHelp": "Musisz włączyć rozszerzenie zlib i funkcję gzuncompress.",
"SystemCheckIconvHelp": "Potrzebujesz skonfigurować i przebudować środowisko PHP, z włączonym wsparciem dla \"iconv\", --with-iconv.",
+ "SystemCheckJsonHelp": "Rozszeżenie php5-json jest wymagane by Piwik był w stanie czytać i zapisywać dane typu JSON.",
"SystemCheckMailHelp": "Informacje zwrotne i wiadomości o utraconych hasłach nie będą mogły zostać wysłane przy pomocy funkcji mail().",
"SystemCheckMbstring": "mbstring",
"SystemCheckMbstringHelp": "Rozszerzenie mbstring jest wymagane do obsługi znaków wielobajtowych w interfejsie użytkownika i API odpowiedzi. Ponadto należy sprawdzić, mbstring.func_overload jest ustawiony na \"0\" w pliku php.ini.",
diff --git a/plugins/Installation/templates/welcome.twig b/plugins/Installation/templates/welcome.twig
index 89df7ac8aa..e879b5319e 100644
--- a/plugins/Installation/templates/welcome.twig
+++ b/plugins/Installation/templates/welcome.twig
@@ -3,15 +3,7 @@
{% block content %}
<h2>{{ 'Installation_Welcome'|translate }}</h2>
-{% if newInstall %}
- {{ 'Installation_WelcomeHelp'|translate(totalNumberOfSteps)|raw }}
-{% else %}
- <p>{{ 'Installation_ConfigurationHelp'|translate }}</p>
- <br/>
- <div class="error">
- {{ errorMessage }}
- </div>
-{% endif %}
+{{ 'Installation_WelcomeHelp'|translate(totalNumberOfSteps)|raw }}
<script type="text/javascript">
<!--
diff --git a/plugins/LanguagesManager/Commands/CreatePull.php b/plugins/LanguagesManager/Commands/CreatePull.php
index 356f4e213f..bf208ac332 100644
--- a/plugins/LanguagesManager/Commands/CreatePull.php
+++ b/plugins/LanguagesManager/Commands/CreatePull.php
@@ -49,7 +49,7 @@ class CreatePull extends TranslationBase
chdir(PIWIK_DOCUMENT_ROOT);
shell_exec('
- git checkout master > /dev/null 2>&1
+ git checkout -f master > /dev/null 2>&1
git pull > /dev/null 2>&1
git submodule init > /dev/null 2>&1
git submodule update > /dev/null 2>&1
@@ -75,7 +75,7 @@ class CreatePull extends TranslationBase
// switch to branch and update it to latest master
shell_exec('
- git checkout translationupdates > /dev/null 2>&1
+ git checkout -f translationupdates > /dev/null 2>&1
git merge master > /dev/null 2>&1
git push origin translationupdates > /dev/null 2>&1
');
diff --git a/plugins/Live/templates/_dataTableViz_visitorLog.twig b/plugins/Live/templates/_dataTableViz_visitorLog.twig
index 535fd2a1ce..74a2c4ab04 100644
--- a/plugins/Live/templates/_dataTableViz_visitorLog.twig
+++ b/plugins/Live/templates/_dataTableViz_visitorLog.twig
@@ -31,9 +31,9 @@
{% if visitor.getColumn('countryFlag') %}<img src="{{ visitor.getColumn('countryFlag') }}" title="{{ visitor.getColumn('location') }}, Provider {{ visitor.getColumn('providerName') }}"/>{% endif %}
&nbsp;
{% if visitor.getColumn('plugins') %}
- {% if visitor.getColumn('browserIcon') %}<img src="{{ visitor.getColumn('browserIcon') }}" title="{{ 'UserSettings_BrowserWithPluginsEnabled'|translate(visitor.getColumn('browserName'),visitor.getColumn('plugins')) }}"/>{% endif %}
+ {% if visitor.getColumn('browserIcon') %}<img src="{{ visitor.getColumn('browserIcon') }}" title="{{ 'DevicePlugins_BrowserWithPluginsEnabled'|translate(visitor.getColumn('browserName'),visitor.getColumn('plugins')) }}"/>{% endif %}
{% else %}
- {% if visitor.getColumn('browserIcon') %}<img src="{{ visitor.getColumn('browserIcon') }}" title="{{ 'UserSettings_BrowserWithNoPluginsEnabled'|translate(visitor.getColumn('browserName')) }}"/>{% endif %}
+ {% if visitor.getColumn('browserIcon') %}<img src="{{ visitor.getColumn('browserIcon') }}" title="{{ 'DevicePlugins_BrowserWithNoPluginsEnabled'|translate(visitor.getColumn('browserName')) }}"/>{% endif %}
{% endif %}
{% if visitor.getColumn('operatingSystemIcon') %}&nbsp;
<img src="{{ visitor.getColumn('operatingSystemIcon') }}"
diff --git a/plugins/Live/templates/getSingleVisitSummary.twig b/plugins/Live/templates/getSingleVisitSummary.twig
index a515b0dff6..c35c6ef09b 100644
--- a/plugins/Live/templates/getSingleVisitSummary.twig
+++ b/plugins/Live/templates/getSingleVisitSummary.twig
@@ -25,7 +25,7 @@
</li>
<li>
{% if visitData.browserName is defined %}
- <div class="visitor-profile-browser" title="{% if visitData.plugins is defined %}{{ 'UserSettings_BrowserWithPluginsEnabled'|translate(visitData.browserName, visitData.plugins) }}{% else %}{{ 'UserSettings_BrowserWithNoPluginsEnabled'|translate(visitData.browserName) }}{% endif %}">
+ <div class="visitor-profile-browser" title="{% if visitData.plugins is defined %}{{ 'DevicePlugins_BrowserWithPluginsEnabled'|translate(visitData.browserName, visitData.plugins) }}{% else %}{{ 'DevicePlugins_BrowserWithNoPluginsEnabled'|translate(visitData.browserName) }}{% endif %}">
{% if visitData.browserIcon is defined %}<img src="{{ visitData.browserIcon }}"/>{% endif %}<span>{{ visitData.browserName|split(' ')[0] }}</span>
</div>
{% endif %}
diff --git a/plugins/Resolution/lang/it.json b/plugins/Resolution/lang/it.json
index d66edce256..e72bb3a376 100644
--- a/plugins/Resolution/lang/it.json
+++ b/plugins/Resolution/lang/it.json
@@ -3,6 +3,7 @@
"ColumnConfiguration": "Configurazione",
"ColumnResolution": "Risoluzione",
"Configurations": "Configurazioni",
+ "PluginDescription": "Fa un report della risoluzione dei visitatori",
"Resolutions": "Risoluzioni",
"WidgetGlobalVisitors": "Riepilogo configurazione visitatori",
"WidgetGlobalVisitorsDocumentation": "Questo report mostra le configurazioni globali più comuni che i visitatori avevano. Una configurazione è la combinazione di un sistema operativo, un tipo browser e una risoluzione di schermo.",
diff --git a/plugins/SitesManager/lang/pl.json b/plugins/SitesManager/lang/pl.json
index f8e5477a31..6e66aacd4d 100644
--- a/plugins/SitesManager/lang/pl.json
+++ b/plugins/SitesManager/lang/pl.json
@@ -33,7 +33,9 @@
"OnlyOneSiteAtTime": "W danym momencie możesz edytować tylko jedną ze stron. Zapisz lub zrezygnuj z wprowadzonych teraz modyfikacji dla strony %s.",
"PiwikWillAutomaticallyExcludeCommonSessionParameters": "Piwik automatycznie wyklucza wspólne parametry sesji (%s).",
"PluginDescription": "Zarządzanie stronami w Piwik: dodanie nowej strony, edycja istniejącej, wyświetlanie kodu JavaScript który należy dodać do stron. Wszystkie te działania są dostępne przez interfejs API.",
+ "SearchCategoryLabel": "Parametr kategorii",
"SearchKeywordLabel": "Parametr zapytania",
+ "SearchParametersNote2": "W celu zablokowania opcji Szukania na Stronie dla nowych stron, te dwa pola nalezy pozostawić puste.",
"SelectACity": "Wybierz miasto",
"SelectDefaultCurrency": "Możesz wybrać walutę jako domyślną dla nowych stron.",
"SelectDefaultTimezone": "Możesz wybrać strefę czasową jako domyślną dla nowych stron.",
diff --git a/plugins/Transitions/lang/pl.json b/plugins/Transitions/lang/pl.json
index fa4ebe30d0..49b7accf08 100644
--- a/plugins/Transitions/lang/pl.json
+++ b/plugins/Transitions/lang/pl.json
@@ -1,6 +1,8 @@
{
"Transitions": {
+ "DirectEntries": "Wejścia Bezpośrednie",
"ExitsInline": "%s wyjść",
+ "FromCampaigns": "Z Kampanii",
"FromPreviousSiteSearches": "Z wyszukiwarki wewnętrznej",
"FromSearchEngines": "Z wyszukiwarek",
"FromWebsites": "Ze stron",
diff --git a/plugins/UserCountry/lang/pl.json b/plugins/UserCountry/lang/pl.json
index 86c80727e9..826d1ac6bf 100644
--- a/plugins/UserCountry/lang/pl.json
+++ b/plugins/UserCountry/lang/pl.json
@@ -1,6 +1,8 @@
{
"UserCountry": {
+ "AssumingNonApache": "Nie można znaleźć funkcji apache_get_modules co oznacza serwer nie będący typu Apache.",
"CannotListContent": "Błąd wyświetlenia zawartości %1$s: %2$s",
+ "CannotLocalizeLocalIP": "Adres IP %s jest adresem lokalnym i nie można go poddać geolokacji.",
"CannotUnzipDatFile": "Błąd rozpakowania pliki dat w %1$s: %2$s",
"City": "Miasto",
"CityAndCountry": "%1$s, %2$s",
@@ -294,6 +296,9 @@
"FromDifferentCities": "różne miasta",
"GeoIPDatabases": "Baza danych GeoIP",
"Geolocation": "Geolokalizacja",
+ "GeolocationPageDesc": "Na tej stronie można zmienić sposób wykrywania lokalizacji odwiedzających stosowany przez Piwik'a.",
+ "getCityDocumentation": "Raport ten pokazuje miasta, w których przebywali odwiedzający gdy whcodzili na stronę.",
+ "getContinentDocumentation": "Raport then pokazuje kraje, w których byli odwiedzający gdzy oglądali strony.",
"getCountryDocumentation": "Ten raport pokazuje, w którym kraju był odwiedzający kiedy wchodził na twoją stronę.",
"getRegionDocumentation": "Ten raport pokazuje,w którym regionie był odwiedzający kiedy wchodził na twoją stronę.",
"HowToInstallApacheModule": "W jaki sposób zainstaluję moduł GeoIP dla Apache?",
@@ -301,6 +306,7 @@
"HowToInstallGeoIpPecl": "W jaki sposób zainstaluję rozszerzenie GeoIP PECL?",
"HowToInstallNginxModule": "W jaki sposób zainstaluję moduł GeoIP dla Nginx?",
"HowToSetupGeoIP": "Jak ustawić dokładną geolokalizację z GeoIP?",
+ "HttpServerModule": "Moduł Serwera HTTP",
"ISPDatabase": "Baza danych dostawców internetowych",
"IWantToDownloadFreeGeoIP": "Chcę ściągnąć darmową bazę GeoIP...",
"Latitude": "Szerokość",
diff --git a/plugins/UserSettings/API.php b/plugins/UserSettings/API.php
index 9f3649d3ba..d2703489a4 100644
--- a/plugins/UserSettings/API.php
+++ b/plugins/UserSettings/API.php
@@ -109,54 +109,12 @@ class API extends \Piwik\Plugin\API
return $this->getDevicesDetectorApi()->getBrowserEngines($idSite, $period, $date, $segment);
}
+ /**
+ * @deprecated since 2.10.0 See {@link Piwik\Plugins\DevicePlugins\API} for new implementation.
+ */
public function getPlugin($idSite, $period, $date, $segment = false)
{
- // fetch all archive data required
- $dataTable = $this->getDataTable(Archiver::PLUGIN_RECORD_NAME, $idSite, $period, $date, $segment);
- $browserTypes = $this->getDataTable(DDArchiver::BROWSER_ENGINE_RECORD_NAME, $idSite, $period, $date, $segment);
- $archive = Archive::build($idSite, $period, $date, $segment);
- $visitsSums = $archive->getDataTableFromNumeric('nb_visits');
-
- // check whether given tables are arrays
- if ($dataTable instanceof DataTable\Map) {
- $dataTableMap = $dataTable->getDataTables();
- $browserTypesArray = $browserTypes->getDataTables();
- $visitSumsArray = $visitsSums->getDataTables();
- } else {
- $dataTableMap = array($dataTable);
- $browserTypesArray = array($browserTypes);
- $visitSumsArray = array($visitsSums);
- }
-
- // walk through the results and calculate the percentage
- foreach ($dataTableMap as $key => $table) {
- // Calculate percentage, but ignore IE users because plugin detection doesn't work on IE
- $ieVisits = 0;
-
- $ieStats = $browserTypesArray[$key]->getRowFromLabel('Trident');
- if ($ieStats !== false) {
- $ieVisits = $ieStats->getColumn(Metrics::INDEX_NB_VISITS);
- }
-
- // get according visitsSum
- $visits = $visitSumsArray[$key];
- if ($visits->getRowsCount() == 0) {
- $visitsSumTotal = 0;
- } else {
- $visitsSumTotal = (float) $visits->getFirstRow()->getColumn('nb_visits');
- }
-
- $visitsSum = $visitsSumTotal - $ieVisits;
-
- $extraProcessedMetrics = $table->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME);
- $extraProcessedMetrics[] = new VisitsPercent($visitsSum);
- $table->setMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME, $extraProcessedMetrics);
- }
-
- $dataTable->queueFilter('ColumnCallbackAddMetadata', array('label', 'logo', __NAMESPACE__ . '\getPluginsLogo'));
- $dataTable->queueFilter('ColumnCallbackReplace', array('label', 'ucfirst'));
-
- return $dataTable;
+ return \Piwik\Plugins\DevicePlugins\API::getInstance()->getPlugin($idSite, $period, $date, $segment);
}
public function getLanguage($idSite, $period, $date, $segment = false)
diff --git a/plugins/UserSettings/Archiver.php b/plugins/UserSettings/Archiver.php
index a9b67a135c..54f0034c41 100644
--- a/plugins/UserSettings/Archiver.php
+++ b/plugins/UserSettings/Archiver.php
@@ -25,7 +25,6 @@ require_once PIWIK_INCLUDE_PATH . '/plugins/UserSettings/functions.php';
class Archiver extends \Piwik\Plugin\Archiver
{
const LANGUAGE_RECORD_NAME = 'UserSettings_language';
- const PLUGIN_RECORD_NAME = 'UserSettings_plugin';
const LANGUAGE_DIMENSION = "log_visit.location_browser_lang";
@@ -35,7 +34,6 @@ class Archiver extends \Piwik\Plugin\Archiver
*/
public function aggregateDayReport()
{
- $this->aggregateByPlugin();
$this->aggregateByLanguage();
}
@@ -45,34 +43,11 @@ class Archiver extends \Piwik\Plugin\Archiver
public function aggregateMultipleReports()
{
$dataTableRecords = array(
- self::PLUGIN_RECORD_NAME,
self::LANGUAGE_RECORD_NAME,
);
$this->getProcessor()->aggregateDataTableRecords($dataTableRecords, $this->maximumRows);
}
- protected function aggregateByPlugin()
- {
- $selects = array(
- "sum(case log_visit.config_pdf when 1 then 1 else 0 end) as pdf",
- "sum(case log_visit.config_flash when 1 then 1 else 0 end) as flash",
- "sum(case log_visit.config_java when 1 then 1 else 0 end) as java",
- "sum(case log_visit.config_director when 1 then 1 else 0 end) as director",
- "sum(case log_visit.config_quicktime when 1 then 1 else 0 end) as quicktime",
- "sum(case log_visit.config_realplayer when 1 then 1 else 0 end) as realplayer",
- "sum(case log_visit.config_windowsmedia when 1 then 1 else 0 end) as windowsmedia",
- "sum(case log_visit.config_gears when 1 then 1 else 0 end) as gears",
- "sum(case log_visit.config_silverlight when 1 then 1 else 0 end) as silverlight",
- "sum(case log_visit.config_cookie when 1 then 1 else 0 end) as cookie"
- );
-
- $query = $this->getLogAggregator()->queryVisitsByDimension(array(), false, $selects, $metrics = array());
- $data = $query->fetch();
- $cleanRow = LogAggregator::makeArrayOneColumn($data, Metrics::INDEX_NB_VISITS);
- $table = DataTable::makeFromIndexedArray($cleanRow);
- $this->insertTable(self::PLUGIN_RECORD_NAME, $table);
- }
-
protected function aggregateByLanguage()
{
$query = $this->getLogAggregator()->queryVisitsByDimension(array("label" => self::LANGUAGE_DIMENSION));
diff --git a/plugins/UserSettings/Controller.php b/plugins/UserSettings/Controller.php
index 8c64ede3da..bb21c40fd2 100644
--- a/plugins/UserSettings/Controller.php
+++ b/plugins/UserSettings/Controller.php
@@ -10,7 +10,7 @@ namespace Piwik\Plugins\UserSettings;
use Piwik\Plugins\Resolution\Reports\GetConfiguration;
use Piwik\Plugins\UserSettings\Reports\GetLanguage;
-use Piwik\Plugins\UserSettings\Reports\GetPlugin;
+use Piwik\Plugins\DevicePlugins\Reports\GetPlugin;
use Piwik\Plugins\Resolution\Reports\GetResolution;
use Piwik\View;
diff --git a/plugins/UserSettings/UserSettings.php b/plugins/UserSettings/UserSettings.php
index 7596227de5..cb034c7d94 100644
--- a/plugins/UserSettings/UserSettings.php
+++ b/plugins/UserSettings/UserSettings.php
@@ -24,7 +24,6 @@ class UserSettings extends \Piwik\Plugin
{
return array(
'Metrics.getDefaultMetricTranslations' => 'addMetricTranslations',
- 'Live.getAllVisitorDetails' => 'extendVisitorDetails',
'Request.getRenamedModuleAndAction' => 'renameDeprecatedModuleAndAction',
);
}
@@ -55,14 +54,10 @@ class UserSettings extends \Piwik\Plugin
if ($module == 'UserSettings' && ($action == 'getResolution' || $action == 'getConfiguration')) {
$module = 'Resolution';
}
- }
-
- public function extendVisitorDetails(&$visitor, $details)
- {
- $instance = new Visitor($details);
- $visitor['plugins'] = $instance->getPlugins();
- $visitor['pluginsIcons'] = $instance->getPluginIcons();
+ if ($module == 'UserSettings' && $action == 'getPlugin') {
+ $module = 'DevicePlugins';
+ }
}
public function addMetricTranslations(&$translations)
diff --git a/plugins/UserSettings/functions.php b/plugins/UserSettings/functions.php
index c50e84146e..f00f717ea3 100644
--- a/plugins/UserSettings/functions.php
+++ b/plugins/UserSettings/functions.php
@@ -12,14 +12,6 @@ namespace Piwik\Plugins\UserSettings;
use Piwik\Piwik;
use Piwik\Tracker\Request;
-function getPluginsLogo($oldLabel)
-{
- if ($oldLabel == Piwik::translate('General_Others')) {
- return false;
- }
- return 'plugins/UserSettings/images/plugins/' . $oldLabel . '.gif';
-}
-
/**
* Returns the given language code to translated language name
*
diff --git a/plugins/UserSettings/lang/am.json b/plugins/UserSettings/lang/am.json
index 037b6c3249..fdf11f9b68 100644
--- a/plugins/UserSettings/lang/am.json
+++ b/plugins/UserSettings/lang/am.json
@@ -155,7 +155,6 @@
"Language_zh": "ቻይንኛ",
"Language_zu": "ዙሉኛ",
"LanguageCode": "የቋንቋ ኮድ",
- "VisitorSettings": "የጎበኚዎች ቅንብሮች",
- "WidgetPlugins": "የተሰኪዎች ዝርዝር"
+ "VisitorSettings": "የጎበኚዎች ቅንብሮች"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/ar.json b/plugins/UserSettings/lang/ar.json
index 3613ab75df..f8e7b5a261 100644
--- a/plugins/UserSettings/lang/ar.json
+++ b/plugins/UserSettings/lang/ar.json
@@ -185,8 +185,6 @@
"Language_zu": "الزولو",
"LanguageCode": "كود اللغة",
"PluginDescription": "تقارير عن إعدادات المستخدمين المختلفة: المتصفح، عائلة المتصفح، نظام التشغيل، الإضافات البرمجية، كثافة الشاشة النقطية، الإعدادات العامة.",
- "PluginDetectionDoesNotWorkInIE": "ملاحظة: اكتشاف الإضافات البرمجية لا تعمل في متصفح إنترنت إكسبلورر. هذه الخاصية ترتكز للمتصفحات من العائلات الأخرى غير إنترنت إكسبلورر.",
- "VisitorSettings": "إعدادات الزوار",
- "WidgetPlugins": "قائمة الإضافات"
+ "VisitorSettings": "إعدادات الزوار"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/be.json b/plugins/UserSettings/lang/be.json
index 910b353116..567de44341 100644
--- a/plugins/UserSettings/lang/be.json
+++ b/plugins/UserSettings/lang/be.json
@@ -116,9 +116,6 @@
"Language_zu": "зулу",
"LanguageCode": "Код мовы",
"PluginDescription": "Справаздачы наладак карыстальнікаў: Браўзэр, Сямейства Браўзэр сям'і, Аперацыйная сістэма, Плагіны, Глабальныя параметры.",
- "PluginDetectionDoesNotWorkInIE": "Заўважце: Плагіны не вызначаюцца ў Internet Explorer. Гэта справаздача заснавана на не-IE браўзарах.",
- "VisitorSettings": "Налады карыстача",
- "WidgetPlugins": "Спіс плагінаў",
- "WidgetPluginsDocumentation": "Гэтая справаздача паказвае, якія плагіны были ўключаны ў браўзэраў Вашых наведвальнікаў. Гэтая інфармацыя можа мець важнае значэнне для выбару правільнага спосабу дастаўкі кантэнту."
+ "VisitorSettings": "Налады карыстача"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/bg.json b/plugins/UserSettings/lang/bg.json
index 15b03d0a3f..4507c890df 100644
--- a/plugins/UserSettings/lang/bg.json
+++ b/plugins/UserSettings/lang/bg.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "Език на браузъра",
- "BrowserWithNoPluginsEnabled": "%1$s без активни добавки",
- "BrowserWithPluginsEnabled": "%1$s с добавки %2$s активиран",
"Language_aa": "афарски",
"Language_ab": "абхазки",
"Language_ae": "авестийски",
@@ -189,9 +187,6 @@
"Language_zu": "зулуски",
"LanguageCode": "Код на езика",
"PluginDescription": "Докладът за различните потребителски настройки: Браузър, Браузър Семейство, операционна система, модули, резолюция, Глобални настройки.",
- "PluginDetectionDoesNotWorkInIE": "Забележка: Засичането на добавки не работи при Internet Explorer. Този доклад е базиран само на браузъри, различни от IE.",
- "VisitorSettings": "Настройки на посетителя",
- "WidgetPlugins": "Добавки",
- "WidgetPluginsDocumentation": "Този отчет показва каква добавка на браузъра са използвали вашите посетители. Тази информация може да е важна, за да изберете правилния начин за доставяне на вашето съдържание."
+ "VisitorSettings": "Настройки на посетителя"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/ca.json b/plugins/UserSettings/lang/ca.json
index ceb19d3255..bf108dbdc6 100644
--- a/plugins/UserSettings/lang/ca.json
+++ b/plugins/UserSettings/lang/ca.json
@@ -186,9 +186,6 @@
"Language_zu": "Zulu",
"LanguageCode": "Codi de l'idioma",
"PluginDescription": "Informe sobre les preferències del usuari: Navegador, Família del navegador, Sistema Operatiu, Extensions, Resolució, Preferències Globals",
- "PluginDetectionDoesNotWorkInIE": "Nota: La detecció d'extensions no funciona amb Internet Explorer. L'informe es basa nomes amb navegadors diferents de l'Internet Explorer",
- "VisitorSettings": "Configuració del visitant",
- "WidgetPlugins": "Llistat de connectors",
- "WidgetPluginsDocumentation": "Aquest informe mostra quines extensions tenen els vostres visitants activades. Aquesta informació pot ser important per determinar la forma correcta de mostrar el contingut."
+ "VisitorSettings": "Configuració del visitant"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/cs.json b/plugins/UserSettings/lang/cs.json
index 4a78c685e1..f635b64bdb 100644
--- a/plugins/UserSettings/lang/cs.json
+++ b/plugins/UserSettings/lang/cs.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "Jazyk prohlížeče",
- "BrowserWithNoPluginsEnabled": "%1$s bez povolených zásuvných modulů",
- "BrowserWithPluginsEnabled": "%1$s s povolenými zásuvnými moduly %2$s",
"Language_aa": "afarština",
"Language_ab": "abcházština",
"Language_ae": "avestánština",
@@ -189,9 +187,6 @@
"Language_zu": "zulu",
"LanguageCode": "Jazykový kód",
"PluginDescription": "Zobrazí různá uživatelská nastavení: prohlížeč, rodinu prohlížečů, operační systém, zásuvné moduly, rozlišení, globální nastavení.",
- "PluginDetectionDoesNotWorkInIE": "Poznámka: Detekce zásuvných modulů nepracuje v prohlížeči Interet Explorer. Toto hlášení je založeno na ostatních prohlížečích",
- "VisitorSettings": "Nastavení návštěvníků",
- "WidgetPlugins": "Seznam zásuvných modulů",
- "WidgetPluginsDocumentation": "Toto hlášení zobrazuje zásuvné moduly, které měli vaši návštěvníci povoleny. Tato informace může být důležitá při rozhodování o tom, jakým způsobem prezentovat obsah."
+ "VisitorSettings": "Nastavení návštěvníků"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/da.json b/plugins/UserSettings/lang/da.json
index e15b757631..93035bac1f 100644
--- a/plugins/UserSettings/lang/da.json
+++ b/plugins/UserSettings/lang/da.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "Browser sprog",
- "BrowserWithNoPluginsEnabled": "%1$s med ingen aktiverede udvidelsesmoduler",
- "BrowserWithPluginsEnabled": "%1$s med udvidelsesmoduler %2$s aktiveret",
"Language_aa": "Afar",
"Language_ab": "Abkhasisk",
"Language_ae": "Avestisk",
@@ -189,9 +187,6 @@
"Language_zu": "Zulu",
"LanguageCode": "Sprogkode",
"PluginDescription": "Rapporter brugerindstillinger: browser, browsertype, operativsystem, udvidelsesmoduler, opløsning, globale indstillinger.",
- "PluginDetectionDoesNotWorkInIE": "Note: Udvidelsesmodul detektering virker ikke i Internet Explorer. Rapport viser kun ikke-IE browsere.",
- "VisitorSettings": "Besøgendes indstillinger",
- "WidgetPlugins": "Udvidelsesmoduler",
- "WidgetPluginsDocumentation": "Rapporten viser, hvilke browserudvidelser de besøgende havde aktiveret. Oplysningerne kan være vigtigt for at vælge den rigtige måde at levere indholdet på."
+ "VisitorSettings": "Besøgendes indstillinger"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/de.json b/plugins/UserSettings/lang/de.json
index 465ae682d5..ccbe596669 100644
--- a/plugins/UserSettings/lang/de.json
+++ b/plugins/UserSettings/lang/de.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "Browsersprache",
- "BrowserWithNoPluginsEnabled": "%1$s mit keinen aktivierten Plugins",
- "BrowserWithPluginsEnabled": "%1$s mit den Plugins %2$s aktiviert",
"Language_aa": "Afar",
"Language_ab": "Abchasisch",
"Language_ae": "Avestisch",
@@ -189,9 +187,6 @@
"Language_zu": "IsiZulu",
"LanguageCode": "Sprach-Code",
"PluginDescription": "Bericht über verschiedene Benutzereinstellungen: Browser, Browserfamilie, Betriebssystem, Plugins, Auflösung, Allgemeine Einstellungen.",
- "PluginDetectionDoesNotWorkInIE": "Hinweis: Die Erkennung von Plugins funktioniert nicht im Internet Explorer. Diese Statistik beruht nur auf Nicht-IE Browsern.",
- "VisitorSettings": "Besuchereinstellungen",
- "WidgetPlugins": "Liste der Plugins",
- "WidgetPluginsDocumentation": "Dieser Bericht zeigt Ihnen, welche Plugins Ihre Besucher in Ihren Browser aktiviert haben. Diese Informationen kann Ihnen dabei helfen, die beste Art zu finden, Ihre Inhalte auszuliefern."
+ "VisitorSettings": "Besuchereinstellungen"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/el.json b/plugins/UserSettings/lang/el.json
index 3fff7c6576..17f71f9857 100644
--- a/plugins/UserSettings/lang/el.json
+++ b/plugins/UserSettings/lang/el.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "Γλώσσα φυλλομετρητή",
- "BrowserWithNoPluginsEnabled": "%1$s με ανενεργά πρόσθετα",
- "BrowserWithPluginsEnabled": "%1$s με %2$s πρόσθετα ενεργά",
"Language_aa": "Αφαρικά",
"Language_ab": "Αμπχαζικά",
"Language_ae": "Αβεστανικά",
@@ -189,9 +187,6 @@
"Language_zu": "Ζουλού",
"LanguageCode": "Κωδικός γλώσσας",
"PluginDescription": "Αναφέρει διάφορες Ρυθμίσεις Χρήστη: Φυλλομετρητής, Ομάδα Φυλλομετρητών, Λειτουργικό Σύστημα, Πρόσθετα, Ανάλυση, Γενικές Ρυθμίσεις.",
- "PluginDetectionDoesNotWorkInIE": "Σημείωση: η ανίχνευση Προσθέτων δεν λειτουργεί στον Internet Explorer. Αυτή η αναφορά βασίζεται μόνο σε μη IE φυλλομετρητές.",
- "VisitorSettings": "Ρυθμίσεις επισκέπτη",
- "WidgetPlugins": "Λίστα προσθέτων",
- "WidgetPluginsDocumentation": "Αυτή η αναφορά δείχνει ποια πρόσθετα φυλλομετρητή έχουν ενεργά οι επισκέπτες σας. Αυτή η πληροφορία ίσως είναι σημαντική για την επιλογή του πιο σωστού τρόπου απόδοσης του περιεχομένου σας."
+ "VisitorSettings": "Ρυθμίσεις επισκέπτη"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/en.json b/plugins/UserSettings/lang/en.json
index f5240dc9e2..de1005438b 100644
--- a/plugins/UserSettings/lang/en.json
+++ b/plugins/UserSettings/lang/en.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "Browser language",
- "BrowserWithNoPluginsEnabled": "%1$s with no plugins enabled",
- "BrowserWithPluginsEnabled": "%1$s with plugins %2$s enabled",
"Language_aa": "Afar",
"Language_ab": "Abkhazian",
"Language_ae": "Avestan",
@@ -189,9 +187,6 @@
"Language_zu": "Zulu",
"LanguageCode": "Language code",
"PluginDescription": "Reports various User Settings: Browser, Browser Family, Operating System, Plugins, Resolution, Global Settings.",
- "PluginDetectionDoesNotWorkInIE": "Note: Plugins detection doesn't work in Internet Explorer. This report is only based on non-IE browsers.",
- "VisitorSettings": "Visitor Settings",
- "WidgetPlugins": "Browser Plugins",
- "WidgetPluginsDocumentation": "This report shows which browser plugins your visitors had enabled. This information might be important for choosing the right way to deliver your content."
+ "VisitorSettings": "Visitor Settings"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/es.json b/plugins/UserSettings/lang/es.json
index 5b068ba608..f921adc0dc 100644
--- a/plugins/UserSettings/lang/es.json
+++ b/plugins/UserSettings/lang/es.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "Idioma de Navegador",
- "BrowserWithNoPluginsEnabled": "%1$s sin complementos habilitados",
- "BrowserWithPluginsEnabled": "%1$s con los complementos %2$s habilitados",
"Language_aa": "Lejos",
"Language_ab": "Abjasia",
"Language_ae": "Avéstico",
@@ -189,9 +187,6 @@
"Language_zu": "Zulú",
"LanguageCode": "Código de idioma",
"PluginDescription": "Reporta varias configuraciones de usuario: Navegador, Familia del Navegador, Sistema Operativo, Plugins, Resolución, Configuración General.",
- "PluginDetectionDoesNotWorkInIE": "Nota: la detección de Plugins no funciona con Internet Explorer. Este reporte solo funciona con navegadores no-IE.",
- "VisitorSettings": "Configuración de visitantes",
- "WidgetPlugins": "Lista de Plugins",
- "WidgetPluginsDocumentation": "Este informe muestra que extensiones del navegador sus visitantes han habilitado. Esta información puede ser importante sea para elegir el método eficiente de enviar su contenido."
+ "VisitorSettings": "Configuración de visitantes"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/et.json b/plugins/UserSettings/lang/et.json
index f88b9cef5d..1db4c23fa3 100644
--- a/plugins/UserSettings/lang/et.json
+++ b/plugins/UserSettings/lang/et.json
@@ -186,8 +186,6 @@
"Language_zh": "hiina",
"Language_zu": "suulu",
"LanguageCode": "Keele kood",
- "PluginDetectionDoesNotWorkInIE": "Märge: Lisatarkvara tuvastamine ei tööta Internet Exploreriga külastajatel. See raport kuvab andmeid mitte-IE veebisirvikute kohta.",
- "VisitorSettings": "Külastajate seaded",
- "WidgetPlugins": "Sirviku lisatarkvarad"
+ "VisitorSettings": "Külastajate seaded"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/eu.json b/plugins/UserSettings/lang/eu.json
index ad33730e08..a4949895d4 100644
--- a/plugins/UserSettings/lang/eu.json
+++ b/plugins/UserSettings/lang/eu.json
@@ -146,7 +146,6 @@
"Language_zh": "txinera",
"Language_zu": "zuluera",
"LanguageCode": "Hizkuntza-kodea",
- "VisitorSettings": "Bisitariaren ezarpenak",
- "WidgetPlugins": "Pluginen zerrenda"
+ "VisitorSettings": "Bisitariaren ezarpenak"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/fa.json b/plugins/UserSettings/lang/fa.json
index fac25a4b88..fdefbdb01e 100644
--- a/plugins/UserSettings/lang/fa.json
+++ b/plugins/UserSettings/lang/fa.json
@@ -1,7 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "زبان مرورگر",
- "BrowserWithNoPluginsEnabled": "%1$s با هیچ پلاگین را فعال کنید",
"Language_aa": "آفاری",
"Language_ab": "آبخازیایی",
"Language_ae": "اوستایی",
@@ -188,9 +187,6 @@
"Language_zu": "زولویی",
"LanguageCode": "کد زبان",
"PluginDescription": "گزارش تنظیمات کاربر های مختلف: مرورگر، Family (خانواده) مرورگر، سیستم عامل، پلاگین، سایز تصویر، تنظیمات جهانی است.",
- "PluginDetectionDoesNotWorkInIE": "توجه: تشخیص پلاگین در مرورگر اینترنت اکسپلورر کار نمی کند. این گزارش تنها بر روی مرورگرهای غیر اینترنت اکسپلورر است.",
- "VisitorSettings": "تنظیمات بازدید کننده",
- "WidgetPlugins": "لیست افزونه ها",
- "WidgetPluginsDocumentation": "این گزارش نشان می دهد که پلاگین مرورگر بازدید کننده خود را فعال کرده بود. این اطلاعات ممکن است مهم برای انتخاب راه درست برای ارائه محتوای خود را."
+ "VisitorSettings": "تنظیمات بازدید کننده"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/fi.json b/plugins/UserSettings/lang/fi.json
index 938a7f5183..ad70ea0159 100644
--- a/plugins/UserSettings/lang/fi.json
+++ b/plugins/UserSettings/lang/fi.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "Selaimen kieli",
- "BrowserWithNoPluginsEnabled": "%1$s ilman liitännäisiä aktivoitu",
- "BrowserWithPluginsEnabled": "%1$s liitännäisillä %2$s on aktivoitu",
"Language_aa": "afar",
"Language_ab": "abkhazian",
"Language_ae": "avestan",
@@ -189,9 +187,6 @@
"Language_zu": "zulu",
"LanguageCode": "Kielikoodi",
"PluginDescription": "Raportit käyttäjien asetuksista: selain, selaimen perhe, käyttöjärjestelmä, lisäosat, resoluutio, yleiset asetukset.",
- "PluginDetectionDoesNotWorkInIE": "Huom: lisäosien tunnistus ei toimi Internet Explorerissa. Tämä raportti perustuu vain ei-IE-selaimiin.",
- "VisitorSettings": "Kävijöiden asetukset",
- "WidgetPlugins": "Lista lisäosista",
- "WidgetPluginsDocumentation": "Tämä raportti näyttää, mitä selainlisäosia vierailijoillasi oli käytössä. Tästä tiedosta voi olla hyötyä, kun joudut valitsemaan, miten tietoa esitetään ja välitetään vierailijoille."
+ "VisitorSettings": "Kävijöiden asetukset"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/fr.json b/plugins/UserSettings/lang/fr.json
index 82ac789d10..d90382ebc9 100644
--- a/plugins/UserSettings/lang/fr.json
+++ b/plugins/UserSettings/lang/fr.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "Langage du navigateur",
- "BrowserWithNoPluginsEnabled": "%1$s avec aucun plugin activé",
- "BrowserWithPluginsEnabled": "%1$s avec les plugins %2$s activés",
"Language_aa": "Afar",
"Language_ab": "Abkhaze",
"Language_ae": "Avestique",
@@ -189,9 +187,6 @@
"Language_zu": "Zoulou",
"LanguageCode": "Code langue",
"PluginDescription": "Effectue des rapports variés sur les paramètres utilisateurs: navigateur, famille du navigateur, système d'exploitation, plugins, résolution, paramètres généraux.",
- "PluginDetectionDoesNotWorkInIE": "Note : La détection des plugins ne fonctionne pas avec Internet Explorer. Ce rapport est basé sur les autres navigateurs.",
- "VisitorSettings": "Paramètres visiteur",
- "WidgetPlugins": "Liste de Plugins",
- "WidgetPluginsDocumentation": "Ce rapport montre quels plugins du navigateur vos visiteurs ont activés. Cette information peut être importante pour choisir le bon moyen de délivrer le contenu."
+ "VisitorSettings": "Paramètres visiteur"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/gl.json b/plugins/UserSettings/lang/gl.json
index e18820cb79..dd30b05ce2 100644
--- a/plugins/UserSettings/lang/gl.json
+++ b/plugins/UserSettings/lang/gl.json
@@ -146,7 +146,6 @@
"Language_yo": "ioruba",
"Language_zh": "Chinés",
"Language_zu": "Zulú",
- "LanguageCode": "Código de idioma",
- "WidgetPlugins": "Lista de plugins"
+ "LanguageCode": "Código de idioma"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/hi.json b/plugins/UserSettings/lang/hi.json
index e8b314eb2e..57f065402d 100644
--- a/plugins/UserSettings/lang/hi.json
+++ b/plugins/UserSettings/lang/hi.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "ब्राउज़र की भाषा",
- "BrowserWithNoPluginsEnabled": "%1$s के साथ प्लगइन सक्रिय नहीं",
- "BrowserWithPluginsEnabled": "प्लगिन %2$s से %1$s सक्षम",
"Language_aa": "अफ़ार",
"Language_ab": "अब्खाज़ियन्",
"Language_ae": "अवेस्तन",
@@ -189,7 +187,6 @@
"Language_zu": "ज़ुलू",
"LanguageCode": "भाषा कोड",
"PluginDescription": "विभिन्न उपयोगकर्ता सेटिंग्स की रिपोर्ट: ब्राउज़र, ब्राउज़र परिवार, आपरेटिंग सिस्टम, प्लगइन्स, संकल्प, वैश्विक सेटिंग्स.",
- "PluginDetectionDoesNotWorkInIE": "नोट: प्लगइन्स का पता लगाने इंटरनेट एक्सप्लोरर में काम नहीं करता है. यह रिपोर्ट केवल गैर आईई ब्राउज़रों पर आधारित है.",
"VisitorSettings": "आगंतुक सेटिंग्स"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/hu.json b/plugins/UserSettings/lang/hu.json
index d42c8f4cb3..b4d3153cdc 100644
--- a/plugins/UserSettings/lang/hu.json
+++ b/plugins/UserSettings/lang/hu.json
@@ -186,8 +186,6 @@
"Language_zu": "zulu",
"LanguageCode": "Nyelvi kód",
"PluginDescription": "Jelentéseket készít a látogatóknál észlelt beállításokról és rendszerkörnyezetről mint például: böngésző típusa, böngészőcsaládok, operációs rendszer, böngésző bővítmények, képernyőfelbontás, globális beállítások.",
- "PluginDetectionDoesNotWorkInIE": "A böngészők bővítményeinek detektálása nem működik az Internet Exlporernél, így ez a jelentés csak a nem Internet Explorert használó látogatók adatait jeleníti meg.",
- "VisitorSettings": "Látogatók adatai",
- "WidgetPlugins": "Bővítmények listája"
+ "VisitorSettings": "Látogatók adatai"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/id.json b/plugins/UserSettings/lang/id.json
index cd7d7677e6..54df69b53b 100644
--- a/plugins/UserSettings/lang/id.json
+++ b/plugins/UserSettings/lang/id.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "Bahasa Peramban",
- "BrowserWithNoPluginsEnabled": "%1$s dengan tanpa pengaya diaktifkan",
- "BrowserWithPluginsEnabled": "%1$s dengan %2$s pengaya diaktifkan",
"Language_aa": "Afar",
"Language_ab": "Abkhaz",
"Language_ae": "Avestan",
@@ -189,9 +187,6 @@
"Language_zu": "Zulu",
"LanguageCode": "Kode Bahasa",
"PluginDescription": "Laporan Pengaturan Pengguna: Peramban, Keluarga Peramban, Sistem Operasi, Pengaya, Resolusi Layar, Pengaturan Umum.",
- "PluginDetectionDoesNotWorkInIE": "Catatan: Pendeteksian pengaya tidak bekerja di Internet Explorer. Laporan ini hanya berdasarkan pada peramban bukan-IE.",
- "VisitorSettings": "Pengaturan Pengunjung",
- "WidgetPlugins": "Daftar Pengaya",
- "WidgetPluginsDocumentation": "Laporan ini menunjukkan pengaya peramban yang diaktifkan oleh pengunjung. Informasi yang tersedia kemungkinan penting untuk memilih cara terbaik untuk menyampaikan konten Anda."
+ "VisitorSettings": "Pengaturan Pengunjung"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/is.json b/plugins/UserSettings/lang/is.json
index a962d9452e..230ee1aa28 100644
--- a/plugins/UserSettings/lang/is.json
+++ b/plugins/UserSettings/lang/is.json
@@ -186,8 +186,6 @@
"Language_zu": "súlú",
"LanguageCode": "Kóði tungumáls",
"PluginDescription": "Gefur skýrslu um ýmsar stillingar gesta:Vafra, Vafrafjölskyldu, Stýrikerfi, Íbætur, Skjáupplausn, altækar stillingar.",
- "PluginDetectionDoesNotWorkInIE": "Ath: uppgötvun á íbótum virkar ekki með Internet Explorer. Þessi skýrsla er aðeins unnin út frá öðrum vöfrum en IE.",
- "VisitorSettings": "Stillingar gesta",
- "WidgetPlugins": "Listi yfir íbætur"
+ "VisitorSettings": "Stillingar gesta"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/it.json b/plugins/UserSettings/lang/it.json
index 0100bd0797..35f98dd3a3 100644
--- a/plugins/UserSettings/lang/it.json
+++ b/plugins/UserSettings/lang/it.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "Lingua Browser",
- "BrowserWithNoPluginsEnabled": "%1$s con nessun plugin abilitato",
- "BrowserWithPluginsEnabled": "%1$s con plugin %2$s abilitati",
"Language_aa": "afar",
"Language_ab": "abkhazian",
"Language_ae": "avestan",
@@ -189,9 +187,6 @@
"Language_zu": "zulu",
"LanguageCode": "Codice della lingua",
"PluginDescription": "Mostra le varie impostazioni per gli utenti: Browser, Famiglia del Browser, Sistema Operativo, Plugin, Risoluzione, Impostazioni Globali.",
- "PluginDetectionDoesNotWorkInIE": "N.B.: Questo plugin non funziona su Internet Explorer. Questo report è basato solamente sugli utenti di altri browser.",
- "VisitorSettings": "Impostazioni visitatori",
- "WidgetPlugins": "Lista dei Plugin",
- "WidgetPluginsDocumentation": "Questo report mostra quali plugin del browser i visitatori avevano abilitato. Questa informazione potrebbe essere importante per la scelta del giusto modo di inviare i tuoi contenuti."
+ "VisitorSettings": "Impostazioni visitatori"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/ja.json b/plugins/UserSettings/lang/ja.json
index 7d1b353ac1..3a03d8a3e0 100644
--- a/plugins/UserSettings/lang/ja.json
+++ b/plugins/UserSettings/lang/ja.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "ブラウザの言語",
- "BrowserWithNoPluginsEnabled": "%1$s のプラグインが有効ではありません",
- "BrowserWithPluginsEnabled": "%1$s のプラグイン %2$s は有効",
"Language_aa": "アファル語",
"Language_ab": "アブハズ語",
"Language_ae": "アヴェスタ語",
@@ -189,9 +187,6 @@
"Language_zu": "ズールー語",
"LanguageCode": "言語コード",
"PluginDescription": "各種ユーザー設定(ブラウザ、ブラウザファミリー、オペレーティングシステム、プラグイン、解像度、全般設定)をリポートします。",
- "PluginDetectionDoesNotWorkInIE": "注意: Internet Explorer ではプラグインの検出が動作しません。 このリポートは、非 IE ブラウザのみに基づきます。",
- "VisitorSettings": "ビジターの環境",
- "WidgetPlugins": "プラグイン一覧",
- "WidgetPluginsDocumentation": "ビジターが利用しているブラウザのプラグインについてのリポートです。コンテンツの最適な表示方法を選択するために重要な情報です。"
+ "VisitorSettings": "ビジターの環境"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/ka.json b/plugins/UserSettings/lang/ka.json
index 66d3b0aa43..c76c043e50 100644
--- a/plugins/UserSettings/lang/ka.json
+++ b/plugins/UserSettings/lang/ka.json
@@ -159,8 +159,6 @@
"Language_zu": "ზულუ",
"LanguageCode": "ენის კოდი",
"PluginDescription": "იძლევა ანგარიშს მომხმარებლის სხვადასხვა პარამეტრებზე: ბრაუზერები, ბრაუზერის ოჯახი, ოპერაციული სისტემა, პლაგინები, რეზოლუცია, გლობალური პარამეტრები.",
- "PluginDetectionDoesNotWorkInIE": "შენიშვნა: პლაგინების ამოცნობა არ ხდება ინტერნეტ ექსპლორერში. ეს რეპორტი მუშაოაბს მხოლოდ არა–IE ბრაუზერებზე.",
- "VisitorSettings": "ვიზიტორის პარამეტრები",
- "WidgetPlugins": "პლაგინების სია"
+ "VisitorSettings": "ვიზიტორის პარამეტრები"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/ko.json b/plugins/UserSettings/lang/ko.json
index e0ebf9c47b..54a35a3c53 100644
--- a/plugins/UserSettings/lang/ko.json
+++ b/plugins/UserSettings/lang/ko.json
@@ -187,9 +187,6 @@
"Language_zu": "줄루어",
"LanguageCode": "언어 코드",
"PluginDescription": "각종 사용자 설정 (브라우저, 브라우저 페밀리, 운영 시스템, 플러그인, 해상도, 일반 설정)를 보고합니다.",
- "PluginDetectionDoesNotWorkInIE": "참고: Internet Explorer에서는 플러그인 검색이 작동하지 않습니다. 이 보고서는 IE 브라우저가 아닌것에 기반합니다.",
- "VisitorSettings": "방문자 설정",
- "WidgetPlugins": "플러그인 목록",
- "WidgetPluginsDocumentation": "방문자가 사용하는 브라우저의 플러그인에 대한 보고서입니다. 컨텐츠에 대한 최적의 표시 방법을 선택하는 데 중요한 정보입니다."
+ "VisitorSettings": "방문자 설정"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/lt.json b/plugins/UserSettings/lang/lt.json
index 84ab811625..d2dae7529d 100644
--- a/plugins/UserSettings/lang/lt.json
+++ b/plugins/UserSettings/lang/lt.json
@@ -186,8 +186,6 @@
"Language_zu": "zulų",
"LanguageCode": "Kalbos kodas",
"PluginDescription": "Parodo įvairius lankytojo nustatymus: naršyklę, naršyklės šeimą, operacinę sistemą, papildinius, ekrano raišką, skiriamąją gebą, globalius nustatymus.",
- "PluginDetectionDoesNotWorkInIE": "Pastaba: papildinio aptikimas neveikia Internet Explorer naršyklėje. Ši ataskaita bus sugeneruota tik kitose naršyklėse.",
- "VisitorSettings": "Lankytojų nustatymai",
- "WidgetPlugins": "Papildinių sąrašas"
+ "VisitorSettings": "Lankytojų nustatymai"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/lv.json b/plugins/UserSettings/lang/lv.json
index 15f82b1f93..26f072d5f1 100644
--- a/plugins/UserSettings/lang/lv.json
+++ b/plugins/UserSettings/lang/lv.json
@@ -186,9 +186,6 @@
"Language_zu": "zulu",
"LanguageCode": "Valodas kods",
"PluginDescription": "Apskata dažādus lietotāju iestatījumus: pārlūku, pārlūku ģimeni, operētājsistēmu, spraudņus, ekrāna izšķirtspēju, globālos iestatījumus.",
- "PluginDetectionDoesNotWorkInIE": "Piezīme: spraudņu noteikšana nedarbojas Internet Explorer pārlūkā. Šī atskaite ir bāzēta tikai uz ne-IE pārlūkiem.",
- "VisitorSettings": "Apmeklētāju iestatījumi",
- "WidgetPlugins": "Spraudņu saraksts",
- "WidgetPluginsDocumentation": "Šajā atskaitē ir redzami pārlūku spraudņi, kuri bija ieslēgti apmeklētāju pārlūkos. Šī informācija ir svarīga, lai izvēlētos vislabāko veidu kā piegādāt saturu apmeklētājiem."
+ "VisitorSettings": "Apmeklētāju iestatījumi"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/nb.json b/plugins/UserSettings/lang/nb.json
index 9c25cc141e..6e25fa09e3 100644
--- a/plugins/UserSettings/lang/nb.json
+++ b/plugins/UserSettings/lang/nb.json
@@ -186,7 +186,6 @@
"Language_zu": "zulu",
"LanguageCode": "Språkkode",
"PluginDescription": "Rapporterer forskjellige brukerinnstillinger: Nettleser, nettleserfamilie, operativsystem, tillegg, oppløsning, globale innstillinger.",
- "VisitorSettings": "Besøkendes innstillinger",
- "WidgetPlugins": "Liste over tillegg"
+ "VisitorSettings": "Besøkendes innstillinger"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/nl.json b/plugins/UserSettings/lang/nl.json
index 481c3f259e..ef48387e87 100644
--- a/plugins/UserSettings/lang/nl.json
+++ b/plugins/UserSettings/lang/nl.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "Browsertaal",
- "BrowserWithNoPluginsEnabled": "%1$s zonder plugins ingeschakeld",
- "BrowserWithPluginsEnabled": "%1$s met plugins %2$s ingeschakeld",
"Language_aa": "Afar",
"Language_ab": "Abchazisch",
"Language_ae": "Avestisch",
@@ -189,9 +187,6 @@
"Language_zu": "Zulu",
"LanguageCode": "Taal code",
"PluginDescription": "Rapporteert verschillende gebruikers instellingen: Browser, Browser familie, Besturingssysteem, Plugins, Resolutie, Globale Instellingen.",
- "PluginDetectionDoesNotWorkInIE": "Opmerking: plugin detectie werkt niet in Internet Explorer. Het rapport is alleen gebaseerd op andere browsers dan IE",
- "VisitorSettings": "Bezoekers Instellingen",
- "WidgetPlugins": "Geïnstalleerde plugins",
- "WidgetPluginsDocumentation": "Dit rapport laat zien welke browserplugins uw bezoekers haden geïnstalleerd. Deze informatie kan van belang zijn voor het kiezen van de juiste manier om uw content aan te bieden."
+ "VisitorSettings": "Bezoekers Instellingen"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/nn.json b/plugins/UserSettings/lang/nn.json
index bbab7b45ce..bb721142f8 100644
--- a/plugins/UserSettings/lang/nn.json
+++ b/plugins/UserSettings/lang/nn.json
@@ -186,8 +186,6 @@
"Language_zu": "zulu",
"LanguageCode": "Språkkode",
"PluginDescription": "Rapporter diverse vitjarinnstillingar: Nettlesar, Nettlesarfamilie, operativsystem, oppløysing og globale innstillingar.",
- "PluginDetectionDoesNotWorkInIE": "Merk: Registrering av innstikk virkar ikkje i Internet Explorer. Denne rapporten er berre basert på andre nettlesarar enn IE.",
- "VisitorSettings": "Vitjarinnstillingar",
- "WidgetPlugins": "Liste over innstikk"
+ "VisitorSettings": "Vitjarinnstillingar"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/pl.json b/plugins/UserSettings/lang/pl.json
index c8dce6a4bc..01697fe556 100644
--- a/plugins/UserSettings/lang/pl.json
+++ b/plugins/UserSettings/lang/pl.json
@@ -187,8 +187,6 @@
"Language_zu": "zulu",
"LanguageCode": "Kod języka",
"PluginDescription": "Raporty rozmaitych konfiguracji użytkownika: przeglądarki, rodziny przeglądarek, systemów operacyjnych, wtyczek, rozdzielczości, ogólnej konfiguracji.",
- "PluginDetectionDoesNotWorkInIE": "Uwaga: wykrywanie wtyczek nie działa w przypadku Internet Explorera. Raport ten pokaże tylko wyniki w oparciu o badanie innych przeglądarek, nie opartych na silniku IE.",
- "VisitorSettings": "Konfiguracje użytkownika",
- "WidgetPlugins": "Lista wtyczek"
+ "VisitorSettings": "Konfiguracje użytkownika"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/pt-br.json b/plugins/UserSettings/lang/pt-br.json
index 3a4ea45b6d..0e4b6667da 100644
--- a/plugins/UserSettings/lang/pt-br.json
+++ b/plugins/UserSettings/lang/pt-br.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "Idioma do navegador",
- "BrowserWithNoPluginsEnabled": "%1$s sem plugins ativados",
- "BrowserWithPluginsEnabled": "%1$s com os plugins %2$s ativados",
"Language_aa": "afar",
"Language_ab": "abcázio",
"Language_ae": "avéstico",
@@ -189,9 +187,6 @@
"Language_zu": "zulu",
"LanguageCode": "Código do Idioma",
"PluginDescription": "Relatórios diversas configurações de usuário: navegador, navegador família, sistema operacional, plugins, resolução, configurações globais.",
- "PluginDetectionDoesNotWorkInIE": "Nota: a detecção de plugins não funciona no Internet Explorer. Esse relatório é baseado apenas em navegadores não IE.",
- "VisitorSettings": "Configurações dos visitantes",
- "WidgetPlugins": "Lista de Plugins",
- "WidgetPluginsDocumentation": "Este relatório mostra quais plugins de navegador seus visitantes tinham ativado. Esta informação pode ser importante para escolher o caminho certo para levar o seu conteúdo."
+ "VisitorSettings": "Configurações dos visitantes"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/pt.json b/plugins/UserSettings/lang/pt.json
index cadd238f27..d6ccab7375 100644
--- a/plugins/UserSettings/lang/pt.json
+++ b/plugins/UserSettings/lang/pt.json
@@ -186,9 +186,6 @@
"Language_zu": "zulu",
"LanguageCode": "Código do idioma",
"PluginDescription": "Relata várias Definições de Utilizador: Navegador, Família de Navegadores, Sistema Operativo, Plugins, Resolução, Definições Globais",
- "PluginDetectionDoesNotWorkInIE": "Nota: Detecção de plugins não funciona no Internet Explorer. Este relatório só se baseia em navegadores não-IE.",
- "VisitorSettings": "Definições do Visitante",
- "WidgetPlugins": "Lista de Plugins",
- "WidgetPluginsDocumentation": "Este relatório mostra quais os plugin que o navegador dos seus visitantes tinham. Esta informação pode ser importante para a escolha do caminho certo para distribuir o seu conteúdo."
+ "VisitorSettings": "Definições do Visitante"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/ro.json b/plugins/UserSettings/lang/ro.json
index ce0a61ab5a..de3768248d 100644
--- a/plugins/UserSettings/lang/ro.json
+++ b/plugins/UserSettings/lang/ro.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "Limba browser-ului",
- "BrowserWithNoPluginsEnabled": "%1$s fără plugin-uri activate",
- "BrowserWithPluginsEnabled": "%1$s cu plugin-uri %2$s activate",
"Language_aa": "Afar",
"Language_ab": "abhază",
"Language_ae": "avestană",
@@ -189,9 +187,6 @@
"Language_zu": "zulu",
"LanguageCode": "Cod limbă",
"PluginDescription": "Rapoarte difera la setări utilizator: Browser, Browser de familie, sistemul de operare, plugins, Rezolutie, Global Setări.",
- "PluginDetectionDoesNotWorkInIE": "Notă: de detectare a plugin-uri nu funcționează în Internet Explorer. Acest raport se bazează doar pe browsere non-IE.",
- "VisitorSettings": "Setări vizitatori",
- "WidgetPlugins": "Lista pluginurilor",
- "WidgetPluginsDocumentation": "Acest raport arată ce plugin-uri de browser-ul au activat vizitatorii. Aceste informație ar putea fi importanta pentru a alege modul corect de a livra conținut."
+ "VisitorSettings": "Setări vizitatori"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/ru.json b/plugins/UserSettings/lang/ru.json
index dc4738a5de..25716d1d0b 100644
--- a/plugins/UserSettings/lang/ru.json
+++ b/plugins/UserSettings/lang/ru.json
@@ -187,9 +187,6 @@
"Language_zu": "зулу",
"LanguageCode": "Код языка",
"PluginDescription": "Ведет учет различных настроек пользователя: браузер, семейство браузера, операционная система, плагины, разрешение экрана, а также глобальные настройки.",
- "PluginDetectionDoesNotWorkInIE": "Учтите: Определение плагинов не работает в Internet Explorer. Этот отчет содержит информацию о не-IE браузерах.",
- "VisitorSettings": "Настройки посетителей",
- "WidgetPlugins": "Список плагинов",
- "WidgetPluginsDocumentation": "Этот отчет показывается какие плагины посетители используют в своих браузерах. Эта информация может быть важна для того, чтобы посетители смогли видеть ваш контент должным образом."
+ "VisitorSettings": "Настройки посетителей"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/sk.json b/plugins/UserSettings/lang/sk.json
index 74a87bb041..800547c1fd 100644
--- a/plugins/UserSettings/lang/sk.json
+++ b/plugins/UserSettings/lang/sk.json
@@ -186,8 +186,6 @@
"Language_zu": "zuluština",
"LanguageCode": "Kód jazyka",
"PluginDescription": "Rôzne reporty užívateľského nastavenia: Prehliadač, Rodina prehliadača, Operačný systém, Pluginy, Rozlíšenie, Globálne nastavenia.",
- "PluginDetectionDoesNotWorkInIE": "Poznámka: Plugin detekcia nefunguje v Internet Exploreri. Táto správa je založená len na non-IE prehliadačov.",
- "VisitorSettings": "Nastavenia návštevníkov",
- "WidgetPlugins": "Zoznam modulov"
+ "VisitorSettings": "Nastavenia návštevníkov"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/sl.json b/plugins/UserSettings/lang/sl.json
index 9f6607afd2..1ca2cb1142 100644
--- a/plugins/UserSettings/lang/sl.json
+++ b/plugins/UserSettings/lang/sl.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "Jezik brskalnika",
- "BrowserWithNoPluginsEnabled": "%1$s brez omogočenih vtičnikov",
- "BrowserWithPluginsEnabled": "%1$s z omogočenimi vtičniki %2$s",
"Language_aa": "afarščina",
"Language_ab": "abhaščina",
"Language_ae": "avestijščina",
@@ -188,7 +186,6 @@
"Language_zh": "kitajščina",
"Language_zu": "zulujščina",
"LanguageCode": "Šifra jezika",
- "VisitorSettings": "Nastavitve obiskovalcev",
- "WidgetPlugins": "Seznam Vtičnikov"
+ "VisitorSettings": "Nastavitve obiskovalcev"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/sq.json b/plugins/UserSettings/lang/sq.json
index d7dc1795b5..9705d70fad 100644
--- a/plugins/UserSettings/lang/sq.json
+++ b/plugins/UserSettings/lang/sq.json
@@ -103,9 +103,6 @@
"Language_zu": "Zulu",
"LanguageCode": "Kod Gjuhe",
"PluginDescription": "Raporton Rregullime të ndryshme të Përdoruesit: Shfletues, Familje Shfletuesi, Sistem Operativ, Shtojca, Qartësi, Rregullime Globale.",
- "PluginDetectionDoesNotWorkInIE": "Shënim: Zbulimi i shtojcave nuk funksionon nën Internet Explorer. Ky raport mund të kihet vetëm nën shfletuesa jo-IE.",
- "VisitorSettings": "Rregullimet për Vizitor",
- "WidgetPlugins": "Listë e Shtojcave",
- "WidgetPluginsDocumentation": "Ky raport tregon se cilat shtojca shfletuesi kanë të aktivizuara vizitorët tuaj. Ky informacion mund të jetë i vlefshëm për zgjedhjen e mënyrës më të përshtatshme për ofrimin e lëndës suaj."
+ "VisitorSettings": "Rregullimet për Vizitor"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/sr.json b/plugins/UserSettings/lang/sr.json
index 5fcf4549b4..680d7b3e19 100644
--- a/plugins/UserSettings/lang/sr.json
+++ b/plugins/UserSettings/lang/sr.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "Jezik brauzera",
- "BrowserWithNoPluginsEnabled": "%1$s sa isključenim dodacima",
- "BrowserWithPluginsEnabled": "%1$s sa uključenim dodacima %2$s",
"Language_aa": "Afar",
"Language_ab": "Abhazijski",
"Language_ae": "Avestan",
@@ -189,9 +187,6 @@
"Language_zu": "Zulu",
"LanguageCode": "Kod jezika",
"PluginDescription": "Izveštaj o različitim parametrima vezanim za posetioce: brauzeri, operativni sistemi, dodaci, ekranske rezolucije, globalna podešavanja.",
- "PluginDetectionDoesNotWorkInIE": "Pažnja: detekcija dodataka ne radi kod Internet Explorera. Ovaj izveštaj se odnosi samo na brauzere koji nisu Internet Exlorer",
- "VisitorSettings": "Parametri posetilaca",
- "WidgetPlugins": "Lista dodataka",
- "WidgetPluginsDocumentation": "Ovaj izveštaj prikazuje koje dodatke za brauzere vaši posetioci imaju uključene. Ova informacija može biti od značaja prilikom odabira pravog načina prikaza sadržaja na vašem sajtu."
+ "VisitorSettings": "Parametri posetilaca"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/sv.json b/plugins/UserSettings/lang/sv.json
index 9cb34b693b..8c8d467c01 100644
--- a/plugins/UserSettings/lang/sv.json
+++ b/plugins/UserSettings/lang/sv.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "Webbläsarspråk",
- "BrowserWithNoPluginsEnabled": "%1$s med inga plugins är aktiverad",
- "BrowserWithPluginsEnabled": "%1$s med plugins %2$s är aktiverad",
"Language_aa": "Afar",
"Language_ab": "Abchaziska",
"Language_ae": "Avestiska",
@@ -189,9 +187,6 @@
"Language_zu": "Zulu",
"LanguageCode": "Språkkod",
"PluginDescription": "Rapporterar olika användarinställningar: Webbläsare, Webbläsarfamilj, operativsystem, Plugins, upplösning, Globala inställningar.",
- "PluginDetectionDoesNotWorkInIE": "Notering: Plugins upptäckt fungerar inte i Internet Explorer. Denna rapport är endast baserad på icke-IE webbläsare.",
- "VisitorSettings": "Besökarinställningar",
- "WidgetPlugins": "Lista över plugins",
- "WidgetPluginsDocumentation": "Denna rapport visar vilka plugins i webbläsaren som besökarna hade aktiverat. Denna information kan vara viktig för att välja rätt sätt att leverera ditt innehåll."
+ "VisitorSettings": "Besökarinställningar"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/th.json b/plugins/UserSettings/lang/th.json
index 76d152d3d3..a0c6ffacef 100644
--- a/plugins/UserSettings/lang/th.json
+++ b/plugins/UserSettings/lang/th.json
@@ -186,8 +186,6 @@
"Language_zu": "ซูลู",
"LanguageCode": "รหัสภาษา",
"PluginDescription": "รายงานการตั้งค่าผู้ใช้ต่างๆ: เบราว์เซอร์, ตระกูลเบราว์เซอร์,ระบบปฏิบัติการ, ปลั๊กอิน, การแก้ไขและการตั้งค่าส่วนกลาง",
- "PluginDetectionDoesNotWorkInIE": "หมายเหตุ: ตรวจสอบปลั๊กอินไม่ทำงานใน Internet Explorer รายงานนี้จะอิงตามเฉพาะเบราว์เซอร์ที่ไม่ใช่ IE",
- "VisitorSettings": "การตั้งค่าของผู้เข้าชม",
- "WidgetPlugins": "รายการปลั้กอิน"
+ "VisitorSettings": "การตั้งค่าของผู้เข้าชม"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/tl.json b/plugins/UserSettings/lang/tl.json
index e2166e7802..7fb967d127 100644
--- a/plugins/UserSettings/lang/tl.json
+++ b/plugins/UserSettings/lang/tl.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "wika ng browser",
- "BrowserWithNoPluginsEnabled": "%1$s na may plugins na hindi pinapagana",
- "BrowserWithPluginsEnabled": "%1$s na may mga plugin %2$s na naka-enable",
"Language_aa": "Afar",
"Language_ab": "Abkhazian",
"Language_ae": "Avestan",
@@ -188,9 +186,6 @@
"Language_zu": "Zulu",
"LanguageCode": "wika ng code",
"PluginDescription": "Ulat para sa ibat-ibang mga Setting ng user: Browser Pamilya ng browser Operating System Plugins Resolution Pang-kalahatang settings.",
- "PluginDetectionDoesNotWorkInIE": "Tandaan: Ang pagtingin ng Plugin ay hindi gumagana sa Internet Explorer. Ang ulat na ito ay batay lamang sa mga browser na hindi-IE.",
- "VisitorSettings": "Mga Setting ng bisita",
- "WidgetPlugins": "Browser Plugins",
- "WidgetPluginsDocumentation": "Ang ulat na ito ay ipinapakita kung anong browser plugis ang gumagana sa iyong bisita. Ang impormasyon na ito may maaring mahalaga sa pagpili kung paanu ihahatid ang nilalaman nito."
+ "VisitorSettings": "Mga Setting ng bisita"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/tr.json b/plugins/UserSettings/lang/tr.json
index 0b47d7fc6c..74ceaf6900 100644
--- a/plugins/UserSettings/lang/tr.json
+++ b/plugins/UserSettings/lang/tr.json
@@ -186,8 +186,6 @@
"Language_zu": "Zulu",
"LanguageCode": "Dil kodu",
"PluginDescription": "Çeşitli kullanıcı rapor ayalari: Tarayıcı, Tarayıcı Ailesi, İşletim Sistemi, Eklentiler, Çözünürlük, Genel Ayarlar.",
- "PluginDetectionDoesNotWorkInIE": "Not: Hedeflenen eklenti Internet Explorer çalışmamaktadir. Bu not\/rapor sadece IE içindir.",
- "VisitorSettings": "Ziyaretçi Ayarlari",
- "WidgetPlugins": "Eklenti Listesi"
+ "VisitorSettings": "Ziyaretçi Ayarlari"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/uk.json b/plugins/UserSettings/lang/uk.json
index d3aaf7c667..86784d750c 100644
--- a/plugins/UserSettings/lang/uk.json
+++ b/plugins/UserSettings/lang/uk.json
@@ -186,8 +186,6 @@
"Language_zu": "зулуська",
"LanguageCode": "Код мови",
"PluginDescription": "Повідомляє різні налаштуванян користовувача: веб-оглядач, родина веб-оглядача, операційна система, плагіни, роздільна здатність, глобальні налаштування.",
- "PluginDetectionDoesNotWorkInIE": "Примітка: Визначення плагінів не працює в Internet Explorer. Цей звіт базується лише на не-IE веб-оглядачах.",
- "VisitorSettings": "Налаштування відвідувача",
- "WidgetPlugins": "Список плагінів"
+ "VisitorSettings": "Налаштування відвідувача"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/vi.json b/plugins/UserSettings/lang/vi.json
index 01e6272fd5..62ec4565ad 100644
--- a/plugins/UserSettings/lang/vi.json
+++ b/plugins/UserSettings/lang/vi.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "Ngôn ngữ trình duyệt",
- "BrowserWithNoPluginsEnabled": "%1$s không có plugin nào được kích hoạt",
- "BrowserWithPluginsEnabled": "%1$s với plugin %2$s đã kích hoạt",
"Language_aa": "Tiếng Afar",
"Language_ab": "Tiếng Abkhazia",
"Language_ae": "Tiếng Avestan",
@@ -189,9 +187,6 @@
"Language_zu": "Tiếng Zulu",
"LanguageCode": "Mã ngôn ngữ",
"PluginDescription": "Cài đặt báo cáo người dùng khác nhau: trình duyệt, họ trình duyệt, Hệ điều hành, Plugin, Độ phân giải, Cài đặt tổng quát.",
- "PluginDetectionDoesNotWorkInIE": "Chú ý: Các Plugin phát hiện không làm việc trên Internet Explorer. Báo cáo này chỉ dựa trên trình duyệt không phải IE.",
- "VisitorSettings": "Thiết lập khách truy cập",
- "WidgetPlugins": "Các Plugin trình duyệt",
- "WidgetPluginsDocumentation": "Báo cáo này cho thấy các plugin trình duyệt mà khách truy cập của bạn đã kích hoạt. Thông tin này có thể là quan trọng cho việc lựa chọn cách đúng để cung cấp nội dung của bạn."
+ "VisitorSettings": "Thiết lập khách truy cập"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/zh-cn.json b/plugins/UserSettings/lang/zh-cn.json
index 09db56f729..9de7f32e3f 100644
--- a/plugins/UserSettings/lang/zh-cn.json
+++ b/plugins/UserSettings/lang/zh-cn.json
@@ -1,8 +1,6 @@
{
"UserSettings": {
"BrowserLanguage": "浏览器语言",
- "BrowserWithNoPluginsEnabled": "%1$s 没有启用插件",
- "BrowserWithPluginsEnabled": "%1$s 启用插件%2$s",
"Language_aa": "阿法文",
"Language_ab": "阿布哈西亚文",
"Language_ae": "阿维斯塔文",
@@ -189,9 +187,6 @@
"Language_zu": "祖鲁文",
"LanguageCode": "语言代码",
"PluginDescription": "用户环境报表: 浏览器、浏览器种类、操作系统、插件、分辨率、全局参数。",
- "PluginDetectionDoesNotWorkInIE": "注意: 插件检查无法在 Internet Explorer 上运行。这个报表仅提供非 IE 浏览器。",
- "VisitorSettings": "访客设置",
- "WidgetPlugins": "浏览器插件清单",
- "WidgetPluginsDocumentation": "本报表显示访客使用的浏览器插件,这可能对如何发布您的内容很重要。"
+ "VisitorSettings": "访客设置"
}
} \ No newline at end of file
diff --git a/plugins/UserSettings/lang/zh-tw.json b/plugins/UserSettings/lang/zh-tw.json
index 76e4bb9265..fa535f0b85 100644
--- a/plugins/UserSettings/lang/zh-tw.json
+++ b/plugins/UserSettings/lang/zh-tw.json
@@ -187,8 +187,6 @@
"Language_zu": "祖鲁文",
"LanguageCode": "語系代碼",
"PluginDescription": "各個用戶設定報表:瀏覽器、瀏覽器家族、作業系統、外掛、解析度、全域設定。",
- "PluginDetectionDoesNotWorkInIE": "注意:外掛偵測無法在 Internet Explorer 上運作。這個報告僅提供非 IE 瀏覽器。",
- "VisitorSettings": "造訪者設定值",
- "WidgetPlugins": "瀏覽器外掛清單"
+ "VisitorSettings": "造訪者設定值"
}
} \ No newline at end of file
diff --git a/plugins/VisitFrequency/lang/pl.json b/plugins/VisitFrequency/lang/pl.json
index 140ad4f45f..1c1f66d270 100644
--- a/plugins/VisitFrequency/lang/pl.json
+++ b/plugins/VisitFrequency/lang/pl.json
@@ -4,7 +4,9 @@
"ColumnAverageVisitDurationForReturningVisitors": "Średni czas odwiedzin dla powtórnych wizyt (w sekundach)",
"ColumnAvgActionsPerReturningVisit": "Średnia ilość działań przypadająca na powtórne odwiedziny",
"ColumnBounceRateForReturningVisits": "Współczynnik rezygnacji dla powtórnych odwiedzin",
+ "ColumnReturningUsers": "Powracający Użytkownicy",
"ColumnReturningVisits": "Powtórne odwiedziny",
+ "ColumnSumVisitLengthReturning": "Całkowity czas spędzony przez powracających użytkowników (w sekundach)",
"PluginDescription": "Raportuje rozmaite statystyki o powracających odwiedzających w odniesieniu do tych którzy pojawiają się po raz pierwszy.",
"ReturnActions": "%s działań przypadających na powtórne odwiedziny",
"ReturnAverageVisitDuration": "%s średni czas trwania odwiedzin przy powtórnych odsłonach",
diff --git a/tests/PHPUnit/Integration/LogTest.php b/tests/PHPUnit/Integration/LogTest.php
index 7dd6e1aae6..15c04a9f2a 100644
--- a/tests/PHPUnit/Integration/LogTest.php
+++ b/tests/PHPUnit/Integration/LogTest.php
@@ -11,10 +11,9 @@ namespace Piwik\Tests\Integration;
use Exception;
use Piwik\Common;
use Piwik\Config;
+use Piwik\Container\ContainerFactory;
use Piwik\Container\StaticContainer;
use Piwik\Db;
-use Piwik\Error;
-use Piwik\ExceptionHandler;
use Piwik\Log;
use Piwik\Plugins\TestPlugin\TestLoggingUtility;
use Piwik\Tests\Framework\TestCase\IntegrationTestCase;
@@ -23,6 +22,7 @@ require_once PIWIK_INCLUDE_PATH . '/tests/resources/TestPluginLogClass.php';
/**
* @group Core
+ * @group Log
*/
class LogTest extends IntegrationTestCase
{
@@ -30,67 +30,38 @@ class LogTest extends IntegrationTestCase
const STRING_MESSAGE_FORMAT = '[%tag%] %message%';
const STRING_MESSAGE_FORMAT_SPRINTF = "[%s] %s";
- public static $expectedExceptionOutput = array(
- 'screen' => 'dummy error message<br />
- <br />
- --&gt; To temporarily debug this error further, set const PIWIK_PRINT_ERROR_BACKTRACE=true; in index.php',
- 'file' => '[Piwik\Tests\Integration\LogTest] LogTest.php(162): dummy error message
- dummy backtrace',
- 'database' => '[Piwik\Tests\Integration\LogTest] LogTest.php(162): dummy error message
-dummy backtrace'
- );
-
- public static $expectedErrorOutput = array(
- 'screen' => '<div style=\'word-wrap: break-word; border: 3px solid red; padding:4px; width:70%; background-color:#FFFF96;\'>
- <strong>There is an error. Please report the message (Piwik 2.0)
- and full backtrace in the <a href=\'?module=Proxy&action=redirect&url=http://forum.piwik.org\' target=\'_blank\'>Piwik forums</a> (please do a Search first as it might have been reported already!).<br /><br/>
- Unknown error (102):</strong> <em>dummy error string</em> in <strong>dummyerrorfile.php</strong> on line <strong>145</strong>
-<br /><br />Backtrace --&gt;<div style="font-family:Courier;font-size:10pt"><br />
-dummy backtrace</div><br />
- </pre></div><br />',
- 'file' => '[Piwik\Tests\Integration\LogTest] dummyerrorfile.php(145): Unknown error (102) - dummy error string
- dummy backtrace',
- 'database' => '[Piwik\Tests\Integration\LogTest] dummyerrorfile.php(145): Unknown error (102) - dummy error string
-dummy backtrace'
- );
-
- private $screenOutput;
-
- public static function setUpBeforeClass()
- {
- parent::setUpBeforeClass();
-
- Error::setErrorHandler();
- ExceptionHandler::setUp();
- }
+ public static $expectedExceptionOutput = '[Piwik\Tests\Integration\LogTest] LogTest.php(122): dummy error message
+ dummy backtrace';
- public static function tearDownAfterClass()
- {
- restore_error_handler();
- restore_exception_handler();
-
- parent::tearDownAfterClass();
- }
+ public static $expectedErrorOutput = '[Piwik\Tests\Integration\LogTest] dummyerrorfile.php(145): Unknown error (102) - dummy error string
+ dummy backtrace';
public function setUp()
{
parent::setUp();
+ // Create the container in the normal environment (because in tests logging is disabled)
+ $containerFactory = new ContainerFactory();
+ $container = $containerFactory->create();
+ StaticContainer::set($container);
+ Log::unsetInstance();
+
Config::getInstance()->log['string_message_format'] = self::STRING_MESSAGE_FORMAT;
Config::getInstance()->log['logger_file_path'] = self::getLogFileLocation();
Config::getInstance()->log['log_level'] = Log::INFO;
@unlink(self::getLogFileLocation());
- Log::unsetInstance();
- Error::$debugBacktraceForTests = ExceptionHandler::$debugBacktraceForTests = "dummy backtrace";
+ Log::$debugBacktraceForTests = "dummy backtrace";
}
public function tearDown()
{
parent::tearDown();
+ StaticContainer::clearContainer();
Log::unsetInstance();
+
@unlink(self::getLogFileLocation());
- Error::$debugBacktraceForTests = ExceptionHandler::$debugBacktraceForTests = null;
+ Log::$debugBacktraceForTests = null;
}
/**
@@ -98,9 +69,10 @@ dummy backtrace'
*/
public function getBackendsToTest()
{
- return array(array('screen'),
- array('file'),
- array('database'));
+ return array(
+ 'file' => array('file'),
+ 'database' => array('database'),
+ );
}
/**
@@ -110,10 +82,7 @@ dummy backtrace'
{
Config::getInstance()->log['log_writers'] = array($backend);
- ob_start();
Log::warning(self::TESTMESSAGE);
- $this->screenOutput = ob_get_contents();
- ob_end_clean();
$this->checkBackend($backend, self::TESTMESSAGE, $formatMessage = true, $tag = __CLASS__);
}
@@ -125,10 +94,7 @@ dummy backtrace'
{
Config::getInstance()->log['log_writers'] = array($backend);
- ob_start();
Log::warning(self::TESTMESSAGE, " subst ");
- $this->screenOutput = ob_get_contents();
- ob_end_clean();
$this->checkBackend($backend, sprintf(self::TESTMESSAGE, " subst "), $formatMessage = true, $tag = __CLASS__);
}
@@ -140,14 +106,10 @@ dummy backtrace'
{
Config::getInstance()->log['log_writers'] = array($backend);
- ob_start();
- $error = new Error(102, "dummy error string", "dummyerrorfile.php", 145, "dummy backtrace");
+ $error = new \ErrorException("dummy error string", 0, 102, "dummyerrorfile.php", 145);
Log::error($error);
- $this->screenOutput = ob_get_contents();
- ob_end_clean();
- $this->checkBackend($backend, self::$expectedErrorOutput[$backend], $formatMessage = false, $tag = __CLASS__);
- $this->checkBackend('screen', self::$expectedErrorOutput['screen']); // errors should always written to the screen
+ $this->checkBackend($backend, self::$expectedErrorOutput, $formatMessage = false, $tag = __CLASS__);
}
/**
@@ -157,14 +119,10 @@ dummy backtrace'
{
Config::getInstance()->log['log_writers'] = array($backend);
- ob_start();
$exception = new Exception("dummy error message");
Log::error($exception);
- $this->screenOutput = ob_get_contents();
- ob_end_clean();
- $this->checkBackend($backend, self::$expectedExceptionOutput[$backend], $formatMessage = false, $tag = __CLASS__);
- $this->checkBackend('screen', self::$expectedExceptionOutput['screen']); // errors should always written to the screen
+ $this->checkBackend($backend, self::$expectedExceptionOutput, $formatMessage = false, $tag = __CLASS__);
}
/**
@@ -174,10 +132,7 @@ dummy backtrace'
{
Config::getInstance()->log['log_writers'] = array($backend);
- ob_start();
TestLoggingUtility::doLog(self::TESTMESSAGE);
- $this->screenOutput = ob_get_contents();
- ob_end_clean();
$this->checkBackend($backend, self::TESTMESSAGE, $formatMessage = true, $tag = 'TestPlugin');
}
@@ -190,10 +145,7 @@ dummy backtrace'
Config::getInstance()->log['log_writers'] = array($backend);
Config::getInstance()->log['log_level'] = 'ERROR';
- ob_start();
Log::info(self::TESTMESSAGE);
- $this->screenOutput = ob_get_contents();
- ob_end_clean();
$this->checkNoMessagesLogged($backend);
}
@@ -205,10 +157,7 @@ dummy backtrace'
{
Config::getInstance()->log['log_writers'] = array($backend);
- ob_start();
TestLoggingUtility::doLog(" \n ".self::TESTMESSAGE."\n\n\n \n");
- $this->screenOutput = ob_get_contents();
- ob_end_clean();
$this->checkBackend($backend, self::TESTMESSAGE, $formatMessage = true, $tag = 'TestPlugin');
}
@@ -219,20 +168,7 @@ dummy backtrace'
$expectedMessage = sprintf(self::STRING_MESSAGE_FORMAT_SPRINTF, $tag, $expectedMessage);
}
- // remove version number from message
- $expectedMessage = str_replace("(Piwik 2.0)", "", $expectedMessage);
- $this->screenOutput = str_replace("(Piwik ". \Piwik\Version::VERSION.")", "", $this->screenOutput);
-
- if ($backend == 'screen') {
- if ($formatMessage
- && !Common::isPhpCliMode()) {
- $expectedMessage = '<pre>' . $expectedMessage . '</pre>';
- }
-
- $this->screenOutput = $this->removePathsFromBacktrace($this->screenOutput);
-
- $this->assertEquals($expectedMessage . "\n", $this->screenOutput, "unexpected output: ".$this->screenOutput);
- } else if ($backend == 'file') {
+ if ($backend == 'file') {
$this->assertTrue(file_exists(self::getLogFileLocation()));
$fileContents = file_get_contents(self::getLogFileLocation());
@@ -258,9 +194,7 @@ dummy backtrace'
private function checkNoMessagesLogged($backend)
{
- if ($backend == 'screen') {
- $this->assertEmpty($this->screenOutput, "Output not empty: ".$this->screenOutput);
- } else if ($backend == 'file') {
+ if ($backend == 'file') {
$this->assertFalse(file_exists(self::getLogFileLocation()));
} else if ($backend == 'database') {
$this->assertEquals(0, Db::fetchOne("SELECT COUNT(*) FROM " . Common::prefixTable('logger_message')));
diff --git a/tests/PHPUnit/Integration/ReleaseCheckListTest.php b/tests/PHPUnit/Integration/ReleaseCheckListTest.php
index 763c3b7424..95aaccb43f 100644
--- a/tests/PHPUnit/Integration/ReleaseCheckListTest.php
+++ b/tests/PHPUnit/Integration/ReleaseCheckListTest.php
@@ -78,8 +78,7 @@ class ReleaseCheckListTest extends \PHPUnit_Framework_TestCase
$this->_checkEqual(array('Tracker' => 'record_statistics'), '1');
$this->_checkEqual(array('Tracker' => 'visit_standard_length'), '1800');
$this->_checkEqual(array('Tracker' => 'trust_visitors_cookies'), '0');
- // logging messages are disabled
- $this->_checkEqual(array('log' => 'log_level'), 'ERROR');
+ $this->_checkEqual(array('log' => 'log_level'), 'WARN');
$this->_checkEqual(array('log' => 'log_writers'), array('screen'));
$this->_checkEqual(array('log' => 'logger_api_call'), null);
diff --git a/tests/PHPUnit/System/OneVisitorLongUrlsTruncatedTest.php b/tests/PHPUnit/System/OneVisitorLongUrlsTruncatedTest.php
index d6f2742da5..f0f64bf021 100644
--- a/tests/PHPUnit/System/OneVisitorLongUrlsTruncatedTest.php
+++ b/tests/PHPUnit/System/OneVisitorLongUrlsTruncatedTest.php
@@ -35,7 +35,7 @@ class OneVisitorLongUrlsTruncatedTest extends SystemTestCase
'Actions.getPageUrls',
// Specifically testing getPlugin filter_truncate works
- 'UserSettings.getPlugin');
+ 'DevicePlugins.getPlugin');
return array(
array($apiToCall, array('idSite' => self::$fixture->idSite,
diff --git a/tests/PHPUnit/System/OneVisitorTwoVisitsWithCookieSupportTest.php b/tests/PHPUnit/System/OneVisitorTwoVisitsWithCookieSupportTest.php
index 1122a59c90..fdd32288a8 100755
--- a/tests/PHPUnit/System/OneVisitorTwoVisitsWithCookieSupportTest.php
+++ b/tests/PHPUnit/System/OneVisitorTwoVisitsWithCookieSupportTest.php
@@ -34,7 +34,7 @@ class OneVisitorTwoVisitsWithCookieSupportTest extends SystemTestCase
{
$apiToCall = array(
'VisitTime', 'VisitsSummary', 'VisitorInterest', 'VisitFrequency', 'UserSettings', 'DevicesDetection',
- 'UserCountry', 'Referrers', 'Provider', 'Goals', 'CustomVariables', 'CoreAdminHome',
+ 'UserCountry', 'Referrers', 'Provider', 'Goals', 'CustomVariables', 'CoreAdminHome', 'DevicePlugins',
'Actions', 'Live.getLastVisitsDetails');
return array(
diff --git a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml
index 5f5b0e174d..a8529ea68d 100644
--- a/tests/PHPUnit/System/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml
+++ b/tests/PHPUnit/System/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml
@@ -56,17 +56,6 @@
<referrerUrl>http://google.com/?q=Wikileaks FTW</referrerUrl>
<referrerSearchEngineUrl>http://google.com</referrerSearchEngineUrl>
<referrerSearchEngineIcon>plugins/Referrers/images/searchEngines/google.com.png</referrerSearchEngineIcon>
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -94,6 +83,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>0</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -202,17 +202,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -240,6 +229,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -325,17 +325,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -363,6 +352,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -462,17 +462,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -500,6 +489,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -585,17 +585,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -623,6 +612,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -739,17 +739,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -777,6 +766,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -862,17 +862,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -900,6 +889,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -999,17 +999,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -1037,6 +1026,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -1122,17 +1122,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -1160,6 +1149,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -1276,17 +1276,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -1314,6 +1303,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>awesomeisp.com</provider>
<providerName>Awesomeisp</providerName>
<providerUrl>http://www.awesomeisp.com/</providerUrl>
@@ -1399,17 +1399,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -1437,6 +1426,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>awesomeisp.com</provider>
<providerName>Awesomeisp</providerName>
<providerUrl>http://www.awesomeisp.com/</providerUrl>
@@ -1536,17 +1536,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -1574,6 +1563,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -1673,17 +1673,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Unknown</deviceType>
<operatingSystem>Unknown</operatingSystem>
<operatingSystemCode>UNK</operatingSystemCode>
@@ -1711,6 +1700,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -1788,17 +1788,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -1826,6 +1815,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -1911,17 +1911,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Unknown</deviceType>
<operatingSystem>Unknown</operatingSystem>
<operatingSystemCode>UNK</operatingSystemCode>
@@ -1949,6 +1938,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -2065,17 +2065,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -2103,6 +2092,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>comcast.net</provider>
<providerName>Comcast</providerName>
<providerUrl>http://www.comcast.net/</providerUrl>
@@ -2219,17 +2219,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Unknown</deviceType>
<operatingSystem>Unknown</operatingSystem>
<operatingSystemCode>UNK</operatingSystemCode>
@@ -2257,6 +2246,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -2334,17 +2334,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -2372,6 +2361,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>comcast.net</provider>
<providerName>Comcast</providerName>
<providerUrl>http://www.comcast.net/</providerUrl>
@@ -2457,17 +2457,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Unknown</deviceType>
<operatingSystem>Unknown</operatingSystem>
<operatingSystemCode>UNK</operatingSystemCode>
@@ -2495,6 +2484,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -2594,17 +2594,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -2632,6 +2621,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -2731,17 +2731,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -2769,6 +2758,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -2868,17 +2868,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Unknown</deviceType>
<operatingSystem>Unknown</operatingSystem>
<operatingSystemCode>UNK</operatingSystemCode>
@@ -2906,6 +2895,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -2997,17 +2997,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -3035,6 +3024,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -3120,17 +3120,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -3158,6 +3147,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -3243,17 +3243,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -3281,6 +3270,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -3366,17 +3366,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Unknown</deviceType>
<operatingSystem>Unknown</operatingSystem>
<operatingSystemCode>UNK</operatingSystemCode>
@@ -3404,6 +3393,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -3489,17 +3489,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -3527,6 +3516,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -3643,17 +3643,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -3681,6 +3670,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -3797,17 +3797,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -3835,6 +3824,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -3951,17 +3951,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Unknown</deviceType>
<operatingSystem>Unknown</operatingSystem>
<operatingSystemCode>UNK</operatingSystemCode>
@@ -3989,6 +3978,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -4097,17 +4097,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -4135,6 +4124,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -4220,17 +4220,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -4258,6 +4247,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>0</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -4343,17 +4343,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -4381,6 +4370,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>0</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -4466,17 +4466,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -4504,6 +4493,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>0</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -4589,17 +4589,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -4627,6 +4616,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>0</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml
index f6671ef6af..5394e1c1dc 100644
--- a/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml
+++ b/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml
@@ -47,17 +47,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -94,6 +83,17 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -147,17 +147,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -194,6 +183,17 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -315,17 +315,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -362,6 +351,17 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -415,17 +415,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -462,6 +451,17 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -750,17 +750,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -797,6 +786,17 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -850,13 +850,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>director</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/director.gif</pluginIcon>
- <pluginName>director</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -893,6 +886,13 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>director</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/director.gif</pluginIcon>
+ <pluginName>director</pluginName>
+ </row>
+ </pluginsIcons>
@@ -946,13 +946,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>director</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/director.gif</pluginIcon>
- <pluginName>director</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -989,6 +982,13 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>director</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/director.gif</pluginIcon>
+ <pluginName>director</pluginName>
+ </row>
+ </pluginsIcons>
@@ -1110,13 +1110,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>director</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/director.gif</pluginIcon>
- <pluginName>director</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -1153,6 +1146,13 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>director</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/director.gif</pluginIcon>
+ <pluginName>director</pluginName>
+ </row>
+ </pluginsIcons>
@@ -1206,13 +1206,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>director</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/director.gif</pluginIcon>
- <pluginName>director</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -1249,6 +1242,13 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>director</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/director.gif</pluginIcon>
+ <pluginName>director</pluginName>
+ </row>
+ </pluginsIcons>
@@ -1537,13 +1537,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>director</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/director.gif</pluginIcon>
- <pluginName>director</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -1580,6 +1573,13 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>director</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/director.gif</pluginIcon>
+ <pluginName>director</pluginName>
+ </row>
+ </pluginsIcons>
diff --git a/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml
index f6671ef6af..5394e1c1dc 100644
--- a/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml
+++ b/tests/PHPUnit/System/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml
@@ -47,17 +47,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -94,6 +83,17 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -147,17 +147,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -194,6 +183,17 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -315,17 +315,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -362,6 +351,17 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -415,17 +415,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -462,6 +451,17 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -750,17 +750,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -797,6 +786,17 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -850,13 +850,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>director</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/director.gif</pluginIcon>
- <pluginName>director</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -893,6 +886,13 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>director</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/director.gif</pluginIcon>
+ <pluginName>director</pluginName>
+ </row>
+ </pluginsIcons>
@@ -946,13 +946,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>director</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/director.gif</pluginIcon>
- <pluginName>director</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -989,6 +982,13 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>director</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/director.gif</pluginIcon>
+ <pluginName>director</pluginName>
+ </row>
+ </pluginsIcons>
@@ -1110,13 +1110,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>director</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/director.gif</pluginIcon>
- <pluginName>director</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -1153,6 +1146,13 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>director</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/director.gif</pluginIcon>
+ <pluginName>director</pluginName>
+ </row>
+ </pluginsIcons>
@@ -1206,13 +1206,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>director</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/director.gif</pluginIcon>
- <pluginName>director</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -1249,6 +1242,13 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>director</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/director.gif</pluginIcon>
+ <pluginName>director</pluginName>
+ </row>
+ </pluginsIcons>
@@ -1537,13 +1537,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>director</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/director.gif</pluginIcon>
- <pluginName>director</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -1580,6 +1573,13 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>director</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/director.gif</pluginIcon>
+ <pluginName>director</pluginName>
+ </row>
+ </pluginsIcons>
diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__DevicePlugins.getPlugin_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs__DevicePlugins.getPlugin_month.xml
new file mode 100644
index 0000000000..9fd23368c3
--- /dev/null
+++ b/tests/PHPUnit/System/expected/test_ImportLogs__DevicePlugins.getPlugin_month.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<result>
+ <row>
+ <label>Cookie</label>
+ <nb_visits>2</nb_visits>
+ <nb_visits_percentage>7%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/cookie.gif</logo>
+ </row>
+ <row>
+ <label>Flash</label>
+ <nb_visits>2</nb_visits>
+ <nb_visits_percentage>7%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/flash.gif</logo>
+ </row>
+ <row>
+ <label>Java</label>
+ <nb_visits>2</nb_visits>
+ <nb_visits_percentage>7%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/java.gif</logo>
+ </row>
+ <row>
+ <label>Director</label>
+ <nb_visits>1</nb_visits>
+ <nb_visits_percentage>4%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/director.gif</logo>
+ </row>
+ <row>
+ <label>Gears</label>
+ <nb_visits>1</nb_visits>
+ <nb_visits_percentage>4%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/gears.gif</logo>
+ </row>
+ <row>
+ <label>Pdf</label>
+ <nb_visits>1</nb_visits>
+ <nb_visits_percentage>4%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/pdf.gif</logo>
+ </row>
+ <row>
+ <label>Windowsmedia</label>
+ <nb_visits>1</nb_visits>
+ <nb_visits_percentage>4%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/windowsmedia.gif</logo>
+ </row>
+ <row>
+ <label>Quicktime</label>
+ <nb_visits>0</nb_visits>
+ <nb_visits_percentage>0%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/quicktime.gif</logo>
+ </row>
+ <row>
+ <label>Realplayer</label>
+ <nb_visits>0</nb_visits>
+ <nb_visits_percentage>0%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/realplayer.gif</logo>
+ </row>
+ <row>
+ <label>Silverlight</label>
+ <nb_visits>0</nb_visits>
+ <nb_visits_percentage>0%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/silverlight.gif</logo>
+ </row>
+</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__Live.getLastVisitsDetails_range.xml b/tests/PHPUnit/System/expected/test_ImportLogs__Live.getLastVisitsDetails_range.xml
index 84ef4e46ba..19fa0dba3c 100644
--- a/tests/PHPUnit/System/expected/test_ImportLogs__Live.getLastVisitsDetails_range.xml
+++ b/tests/PHPUnit/System/expected/test_ImportLogs__Live.getLastVisitsDetails_range.xml
@@ -63,21 +63,6 @@
<referrerUrl>http://blog.comperiosearch.com/blog/2014/02/05/dynamic-search-ranking-using-elasticsearch-neo4j-and-piwik/</referrerUrl>
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>pdf, flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/pdf.gif</pluginIcon>
- <pluginName>pdf</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows 8.1</operatingSystem>
<operatingSystemCode>W81</operatingSystemCode>
@@ -114,6 +99,21 @@
</row>
</customVariables>
<resolution>1366x768</resolution>
+ <plugins>pdf, flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/pdf.gif</pluginIcon>
+ <pluginName>pdf</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -199,8 +199,6 @@
<referrerUrl>http://piwik.org/what-is-piwik/</referrerUrl>
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Windows 7</operatingSystem>
<operatingSystemCode>WI7</operatingSystemCode>
@@ -237,6 +235,8 @@
</row>
</customVariables>
<resolution>1536x864</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -306,29 +306,6 @@
<referrerUrl>http://demo.piwik.org/index.php?module=MultiSites&amp;action=index&amp;date=yesterday&amp;period=day&amp;idSite=32</referrerUrl>
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>pdf, flash, java, quicktime, silverlight</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/pdf.gif</pluginIcon>
- <pluginName>pdf</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/quicktime.gif</pluginIcon>
- <pluginName>quicktime</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/silverlight.gif</pluginIcon>
- <pluginName>silverlight</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows 7</operatingSystem>
<operatingSystemCode>WI7</operatingSystemCode>
@@ -369,6 +346,29 @@
</row>
</customVariables>
<resolution>1920x1200</resolution>
+ <plugins>pdf, flash, java, quicktime, silverlight</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/pdf.gif</pluginIcon>
+ <pluginName>pdf</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/quicktime.gif</pluginIcon>
+ <pluginName>quicktime</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/silverlight.gif</pluginIcon>
+ <pluginName>silverlight</pluginName>
+ </row>
+ </pluginsIcons>
@@ -454,25 +454,6 @@
<referrerUrl>http://piwik.org/faq/general/#faq_144</referrerUrl>
<referrerSearchEngineUrl>http://google.com</referrerSearchEngineUrl>
<referrerSearchEngineIcon>plugins/Referrers/images/searchEngines/google.com.png</referrerSearchEngineIcon>
- <plugins>pdf, flash, java, quicktime</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/pdf.gif</pluginIcon>
- <pluginName>pdf</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/quicktime.gif</pluginIcon>
- <pluginName>quicktime</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Mac</operatingSystem>
<operatingSystemCode>MAC</operatingSystemCode>
@@ -509,6 +490,25 @@
</row>
</customVariables>
<resolution>2880x1800</resolution>
+ <plugins>pdf, flash, java, quicktime</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/pdf.gif</pluginIcon>
+ <pluginName>pdf</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/quicktime.gif</pluginIcon>
+ <pluginName>quicktime</pluginName>
+ </row>
+ </pluginsIcons>
@@ -567,25 +567,6 @@
<referrerUrl>http://musicforeveryoneradio.be:2222/CMD_PLUGINS/installatron/index.raw</referrerUrl>
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>pdf, flash, java, silverlight</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/pdf.gif</pluginIcon>
- <pluginName>pdf</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/silverlight.gif</pluginIcon>
- <pluginName>silverlight</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows 7</operatingSystem>
<operatingSystemCode>WI7</operatingSystemCode>
@@ -622,6 +603,25 @@
</row>
</customVariables>
<resolution>1920x1080</resolution>
+ <plugins>pdf, flash, java, silverlight</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/pdf.gif</pluginIcon>
+ <pluginName>pdf</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/silverlight.gif</pluginIcon>
+ <pluginName>silverlight</pluginName>
+ </row>
+ </pluginsIcons>
@@ -691,33 +691,6 @@
<referrerUrl>http://piwik.org/faq/general/#faq_144</referrerUrl>
<referrerSearchEngineUrl>http://google.com</referrerSearchEngineUrl>
<referrerSearchEngineIcon>plugins/Referrers/images/searchEngines/google.com.png</referrerSearchEngineIcon>
- <plugins>pdf, flash, java, quicktime, windowsmedia, silverlight</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/pdf.gif</pluginIcon>
- <pluginName>pdf</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/quicktime.gif</pluginIcon>
- <pluginName>quicktime</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/windowsmedia.gif</pluginIcon>
- <pluginName>windowsmedia</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/silverlight.gif</pluginIcon>
- <pluginName>silverlight</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Mac</operatingSystem>
<operatingSystemCode>MAC</operatingSystemCode>
@@ -754,6 +727,33 @@
</row>
</customVariables>
<resolution>1360x768</resolution>
+ <plugins>pdf, flash, java, quicktime, windowsmedia, silverlight</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/pdf.gif</pluginIcon>
+ <pluginName>pdf</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/quicktime.gif</pluginIcon>
+ <pluginName>quicktime</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/windowsmedia.gif</pluginIcon>
+ <pluginName>windowsmedia</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/silverlight.gif</pluginIcon>
+ <pluginName>silverlight</pluginName>
+ </row>
+ </pluginsIcons>
@@ -822,21 +822,6 @@
<referrerUrl>http://piwik.org/faq/general/#faq_144</referrerUrl>
<referrerSearchEngineUrl>http://google.com</referrerSearchEngineUrl>
<referrerSearchEngineIcon>plugins/Referrers/images/searchEngines/google.com.png</referrerSearchEngineIcon>
- <plugins>pdf, java, quicktime</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/pdf.gif</pluginIcon>
- <pluginName>pdf</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/quicktime.gif</pluginIcon>
- <pluginName>quicktime</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Mac</operatingSystem>
<operatingSystemCode>MAC</operatingSystemCode>
@@ -873,6 +858,21 @@
</row>
</customVariables>
<resolution>2560x1440</resolution>
+ <plugins>pdf, java, quicktime</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/pdf.gif</pluginIcon>
+ <pluginName>pdf</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/quicktime.gif</pluginIcon>
+ <pluginName>quicktime</pluginName>
+ </row>
+ </pluginsIcons>
@@ -942,13 +942,6 @@
<referrerUrl>http://berndjung.com/piwik/index.php?module=CoreHome&amp;action=index&amp;idSite=1&amp;period=day&amp;date=today</referrerUrl>
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Unknown</deviceType>
<operatingSystem>Android</operatingSystem>
<operatingSystemCode>AND</operatingSystemCode>
@@ -985,6 +978,13 @@
</row>
</customVariables>
<resolution>360x640</resolution>
+ <plugins>flash</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ </pluginsIcons>
@@ -1054,33 +1054,6 @@
<referrerUrl>http://forum.golem.de/kommentare/security/urteil-zu-tracking-nutzer-muessen-piwik-analyse-widersprechen-koennen/piwik-log-analytics/80715,3669355,3669355,read.html</referrerUrl>
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>pdf, flash, java, quicktime, windowsmedia, silverlight</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/pdf.gif</pluginIcon>
- <pluginName>pdf</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/quicktime.gif</pluginIcon>
- <pluginName>quicktime</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/windowsmedia.gif</pluginIcon>
- <pluginName>windowsmedia</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/silverlight.gif</pluginIcon>
- <pluginName>silverlight</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows 7</operatingSystem>
<operatingSystemCode>WI7</operatingSystemCode>
@@ -1117,6 +1090,33 @@
</row>
</customVariables>
<resolution>2560x1440</resolution>
+ <plugins>pdf, flash, java, quicktime, windowsmedia, silverlight</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/pdf.gif</pluginIcon>
+ <pluginName>pdf</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/quicktime.gif</pluginIcon>
+ <pluginName>quicktime</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/windowsmedia.gif</pluginIcon>
+ <pluginName>windowsmedia</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/silverlight.gif</pluginIcon>
+ <pluginName>silverlight</pluginName>
+ </row>
+ </pluginsIcons>
@@ -1221,17 +1221,6 @@
<referrerUrl>http://piwik.org/faq/general/#faq_144</referrerUrl>
<referrerSearchEngineUrl>http://google.com</referrerSearchEngineUrl>
<referrerSearchEngineIcon>plugins/Referrers/images/searchEngines/google.com.png</referrerSearchEngineIcon>
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows 8</operatingSystem>
<operatingSystemCode>WI8</operatingSystemCode>
@@ -1268,6 +1257,17 @@
</row>
</customVariables>
<resolution>1920x1080</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -1337,25 +1337,6 @@
<referrerUrl>http://piwik.org/docs/installation/</referrerUrl>
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>pdf, flash, java, silverlight</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/pdf.gif</pluginIcon>
- <pluginName>pdf</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/silverlight.gif</pluginIcon>
- <pluginName>silverlight</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows 7</operatingSystem>
<operatingSystemCode>WI7</operatingSystemCode>
@@ -1392,6 +1373,25 @@
</row>
</customVariables>
<resolution>1366x768</resolution>
+ <plugins>pdf, flash, java, silverlight</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/pdf.gif</pluginIcon>
+ <pluginName>pdf</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/silverlight.gif</pluginIcon>
+ <pluginName>silverlight</pluginName>
+ </row>
+ </pluginsIcons>
@@ -1461,25 +1461,6 @@
<referrerUrl>http://musicforeveryoneradio.be:2222/CMD_PLUGINS/installatron/index.raw</referrerUrl>
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>pdf, flash, java, silverlight</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/pdf.gif</pluginIcon>
- <pluginName>pdf</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/silverlight.gif</pluginIcon>
- <pluginName>silverlight</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows 7</operatingSystem>
<operatingSystemCode>WI7</operatingSystemCode>
@@ -1516,6 +1497,25 @@
</row>
</customVariables>
<resolution>1920x1080</resolution>
+ <plugins>pdf, flash, java, silverlight</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/pdf.gif</pluginIcon>
+ <pluginName>pdf</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/silverlight.gif</pluginIcon>
+ <pluginName>silverlight</pluginName>
+ </row>
+ </pluginsIcons>
@@ -1747,8 +1747,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Unknown</deviceType>
<operatingSystem>Unknown</operatingSystem>
<operatingSystemCode>UNK</operatingSystemCode>
@@ -1781,6 +1779,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -1850,8 +1850,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Mac</operatingSystem>
<operatingSystemCode>MAC</operatingSystemCode>
@@ -1884,6 +1882,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -1969,8 +1969,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Windows</operatingSystem>
<operatingSystemCode>WIN</operatingSystemCode>
@@ -2003,6 +2001,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -2072,8 +2072,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Mac</operatingSystem>
<operatingSystemCode>MAC</operatingSystemCode>
@@ -2106,6 +2104,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -2192,8 +2192,6 @@
<referrerUrl>http://example.com/Search/SearchResults.pg?informationRecipient.languageCode.c=en</referrerUrl>
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Smartphone</deviceType>
<operatingSystem>Android</operatingSystem>
<operatingSystemCode>AND</operatingSystemCode>
@@ -2226,6 +2224,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -2295,8 +2295,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Mac</operatingSystem>
<operatingSystemCode>MAC</operatingSystemCode>
@@ -2329,6 +2327,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -2405,17 +2405,6 @@
<referrerUrl>http://piwik.org/contribute%</referrerUrl>
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -2452,6 +2441,17 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -2520,33 +2520,6 @@
<referrerUrl>http://sn110w.snt110.mail.live.com/mail/InboxLight.aspx?n=184083971</referrerUrl>
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>pdf, flash, java, director, windowsmedia, gears</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/pdf.gif</pluginIcon>
- <pluginName>pdf</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/director.gif</pluginIcon>
- <pluginName>director</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/windowsmedia.gif</pluginIcon>
- <pluginName>windowsmedia</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/gears.gif</pluginIcon>
- <pluginName>gears</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -2583,6 +2556,33 @@
</row>
</customVariables>
<resolution>1280x800</resolution>
+ <plugins>pdf, flash, java, director, windowsmedia, gears</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/pdf.gif</pluginIcon>
+ <pluginName>pdf</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/director.gif</pluginIcon>
+ <pluginName>director</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/windowsmedia.gif</pluginIcon>
+ <pluginName>windowsmedia</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/gears.gif</pluginIcon>
+ <pluginName>gears</pluginName>
+ </row>
+ </pluginsIcons>
@@ -2643,8 +2643,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Unknown</deviceType>
<operatingSystem>Unknown</operatingSystem>
<operatingSystemCode>UNK</operatingSystemCode>
@@ -2677,6 +2675,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -2736,8 +2736,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Unknown</deviceType>
<operatingSystem>Unknown</operatingSystem>
<operatingSystemCode>UNK</operatingSystemCode>
@@ -2770,6 +2768,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -2838,8 +2838,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Mac</operatingSystem>
<operatingSystemCode>MAC</operatingSystemCode>
@@ -2876,6 +2874,8 @@
</row>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -2961,8 +2961,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Mac</operatingSystem>
<operatingSystemCode>MAC</operatingSystemCode>
@@ -2999,6 +2997,8 @@
</row>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -3091,8 +3091,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Mac</operatingSystem>
<operatingSystemCode>MAC</operatingSystemCode>
@@ -3129,6 +3127,8 @@
</row>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -3197,8 +3197,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Unknown</deviceType>
<operatingSystem>Bot</operatingSystem>
<operatingSystemCode>BOT</operatingSystemCode>
@@ -3235,6 +3233,8 @@
</row>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -3303,8 +3303,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Windows 7</operatingSystem>
<operatingSystemCode>WI7</operatingSystemCode>
@@ -3341,6 +3339,8 @@
</row>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -3399,8 +3399,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Unknown</deviceType>
<operatingSystem>Unknown</operatingSystem>
<operatingSystemCode>UNK</operatingSystemCode>
@@ -3437,6 +3435,8 @@
</row>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -3505,8 +3505,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Smartphone</deviceType>
<operatingSystem>Android</operatingSystem>
<operatingSystemCode>AND</operatingSystemCode>
@@ -3543,6 +3541,8 @@
</row>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -3611,8 +3611,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Mac</operatingSystem>
<operatingSystemCode>MAC</operatingSystemCode>
@@ -3649,6 +3647,8 @@
</row>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -3717,8 +3717,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Windows 7</operatingSystem>
<operatingSystemCode>WI7</operatingSystemCode>
@@ -3751,6 +3749,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -3819,8 +3819,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>GNU/Linux</operatingSystem>
<operatingSystemCode>LIN</operatingSystemCode>
@@ -3853,6 +3851,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -3921,8 +3921,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Windows 7</operatingSystem>
<operatingSystemCode>WI7</operatingSystemCode>
@@ -3955,6 +3953,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -4023,8 +4023,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>GNU/Linux</operatingSystem>
<operatingSystemCode>LIN</operatingSystemCode>
@@ -4057,6 +4055,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -4125,8 +4125,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Windows 7</operatingSystem>
<operatingSystemCode>WI7</operatingSystemCode>
@@ -4159,6 +4157,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -4227,8 +4227,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>GNU/Linux</operatingSystem>
<operatingSystemCode>LIN</operatingSystemCode>
@@ -4261,6 +4259,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -4329,8 +4329,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Windows 7</operatingSystem>
<operatingSystemCode>WI7</operatingSystemCode>
@@ -4363,6 +4361,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -4431,8 +4431,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Windows 7</operatingSystem>
<operatingSystemCode>WI7</operatingSystemCode>
@@ -4465,6 +4463,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -4533,8 +4533,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Mac</operatingSystem>
<operatingSystemCode>MAC</operatingSystemCode>
@@ -4567,6 +4565,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -4635,8 +4635,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>GNU/Linux</operatingSystem>
<operatingSystemCode>LIN</operatingSystemCode>
@@ -4669,6 +4667,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -4737,8 +4737,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>GNU/Linux</operatingSystem>
<operatingSystemCode>LIN</operatingSystemCode>
@@ -4771,6 +4769,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -4839,8 +4839,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>GNU/Linux</operatingSystem>
<operatingSystemCode>LIN</operatingSystemCode>
@@ -4873,6 +4871,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -4941,8 +4941,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Windows 7</operatingSystem>
<operatingSystemCode>WI7</operatingSystemCode>
@@ -4975,6 +4973,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -5043,8 +5043,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>GNU/Linux</operatingSystem>
<operatingSystemCode>LIN</operatingSystemCode>
@@ -5077,6 +5075,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -5145,8 +5145,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>GNU/Linux</operatingSystem>
<operatingSystemCode>LIN</operatingSystemCode>
@@ -5179,6 +5177,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -5247,8 +5247,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Smartphone</deviceType>
<operatingSystem>Android</operatingSystem>
<operatingSystemCode>AND</operatingSystemCode>
@@ -5281,6 +5279,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
@@ -5349,8 +5349,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Mac</operatingSystem>
<operatingSystemCode>MAC</operatingSystemCode>
@@ -5383,6 +5381,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__UserSettings.getPlugin_month.xml b/tests/PHPUnit/System/expected/test_ImportLogs__UserSettings.getPlugin_month.xml
index 94bb890a25..9fd23368c3 100644
--- a/tests/PHPUnit/System/expected/test_ImportLogs__UserSettings.getPlugin_month.xml
+++ b/tests/PHPUnit/System/expected/test_ImportLogs__UserSettings.getPlugin_month.xml
@@ -4,60 +4,60 @@
<label>Cookie</label>
<nb_visits>2</nb_visits>
<nb_visits_percentage>7%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/cookie.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/cookie.gif</logo>
</row>
<row>
<label>Flash</label>
<nb_visits>2</nb_visits>
<nb_visits_percentage>7%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/flash.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/flash.gif</logo>
</row>
<row>
<label>Java</label>
<nb_visits>2</nb_visits>
<nb_visits_percentage>7%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/java.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/java.gif</logo>
</row>
<row>
<label>Director</label>
<nb_visits>1</nb_visits>
<nb_visits_percentage>4%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/director.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/director.gif</logo>
</row>
<row>
<label>Gears</label>
<nb_visits>1</nb_visits>
<nb_visits_percentage>4%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/gears.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/gears.gif</logo>
</row>
<row>
<label>Pdf</label>
<nb_visits>1</nb_visits>
<nb_visits_percentage>4%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/pdf.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/pdf.gif</logo>
</row>
<row>
<label>Windowsmedia</label>
<nb_visits>1</nb_visits>
<nb_visits_percentage>4%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/windowsmedia.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/windowsmedia.gif</logo>
</row>
<row>
<label>Quicktime</label>
<nb_visits>0</nb_visits>
<nb_visits_percentage>0%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/quicktime.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/quicktime.gif</logo>
</row>
<row>
<label>Realplayer</label>
<nb_visits>0</nb_visits>
<nb_visits_percentage>0%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/realplayer.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/realplayer.gif</logo>
</row>
<row>
<label>Silverlight</label>
<nb_visits>0</nb_visits>
<nb_visits_percentage>0%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/silverlight.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/silverlight.gif</logo>
</row>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisitAsc__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisitAsc__Live.getLastVisitsDetails_month.xml
index 4af83361f6..f7b0d51cb1 100644
--- a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisitAsc__Live.getLastVisitsDetails_month.xml
+++ b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisitAsc__Live.getLastVisitsDetails_month.xml
@@ -66,17 +66,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -102,6 +91,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>0</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -218,17 +218,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -254,6 +243,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -339,17 +339,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -375,6 +364,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>0</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -491,17 +491,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -527,6 +516,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -612,17 +612,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -648,6 +637,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>0</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -764,17 +764,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Unknown</deviceType>
<operatingSystem>Unknown</operatingSystem>
<operatingSystemCode>UNK</operatingSystemCode>
@@ -800,6 +789,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -877,17 +877,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -913,6 +902,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>0</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
diff --git a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisit__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisit__Live.getLastVisitsDetails_month.xml
index 18a864dbcd..a12a9e2a85 100644
--- a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisit__Live.getLastVisitsDetails_month.xml
+++ b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisit__Live.getLastVisitsDetails_month.xml
@@ -56,17 +56,6 @@
<referrerUrl>http://google.com/?q=Wikileaks FTW</referrerUrl>
<referrerSearchEngineUrl>http://google.com</referrerSearchEngineUrl>
<referrerSearchEngineIcon>plugins/Referrers/images/searchEngines/google.com.png</referrerSearchEngineIcon>
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -94,6 +83,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>0</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -202,17 +202,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -240,6 +229,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -325,17 +325,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -363,6 +352,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -462,17 +462,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -500,6 +489,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -585,17 +585,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -623,6 +612,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -739,17 +739,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -777,6 +766,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -862,17 +862,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -900,6 +889,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
diff --git a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByVisitCount__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByVisitCount__Live.getLastVisitsDetails_month.xml
index bf87d09256..1db70384e6 100644
--- a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByVisitCount__Live.getLastVisitsDetails_month.xml
+++ b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByVisitCount__Live.getLastVisitsDetails_month.xml
@@ -97,17 +97,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -135,6 +124,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -220,17 +220,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -258,6 +247,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -374,17 +374,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -412,6 +401,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -511,17 +511,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -549,6 +538,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -634,17 +634,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -672,6 +661,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -757,17 +757,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -795,6 +784,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -870,17 +870,6 @@
<referrerUrl>http://google.com/?q=Wikileaks FTW</referrerUrl>
<referrerSearchEngineUrl>http://google.com</referrerSearchEngineUrl>
<referrerSearchEngineIcon>plugins/Referrers/images/searchEngines/google.com.png</referrerSearchEngineIcon>
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -908,6 +897,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>0</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
diff --git a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortDesc__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortDesc__Live.getLastVisitsDetails_month.xml
index 18a864dbcd..a12a9e2a85 100644
--- a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortDesc__Live.getLastVisitsDetails_month.xml
+++ b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortDesc__Live.getLastVisitsDetails_month.xml
@@ -56,17 +56,6 @@
<referrerUrl>http://google.com/?q=Wikileaks FTW</referrerUrl>
<referrerSearchEngineUrl>http://google.com</referrerSearchEngineUrl>
<referrerSearchEngineIcon>plugins/Referrers/images/searchEngines/google.com.png</referrerSearchEngineIcon>
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -94,6 +83,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>0</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -202,17 +202,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -240,6 +229,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -325,17 +325,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -363,6 +352,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -462,17 +462,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -500,6 +489,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -585,17 +585,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -623,6 +612,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -739,17 +739,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -777,6 +766,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -862,17 +862,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -900,6 +889,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
diff --git a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest__Live.getLastVisitsDetails_month.xml
index 855cc09755..4f7718e08b 100644
--- a/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest__Live.getLastVisitsDetails_month.xml
+++ b/tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest__Live.getLastVisitsDetails_month.xml
@@ -56,17 +56,6 @@
<referrerUrl>http://google.com/?q=Wikileaks FTW</referrerUrl>
<referrerSearchEngineUrl>http://google.com</referrerSearchEngineUrl>
<referrerSearchEngineIcon>plugins/Referrers/images/searchEngines/google.com.png</referrerSearchEngineIcon>
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -94,6 +83,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>0</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -202,17 +202,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -240,6 +229,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -325,17 +325,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -363,6 +352,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -462,17 +462,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -500,6 +489,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -585,17 +585,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -623,6 +612,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -739,17 +739,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -777,6 +766,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -862,17 +862,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -900,6 +889,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -999,17 +999,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -1037,6 +1026,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -1122,17 +1122,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -1160,6 +1149,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>11</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>Unknown</provider>
<providerName>Unknown</providerName>
<providerUrl />
@@ -1276,17 +1276,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -1314,6 +1303,17 @@
<visitLocalHour>12</visitLocalHour>
<daysSinceLastVisit>10</daysSinceLastVisit>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
<provider>awesomeisp.com</provider>
<providerName>Awesomeisp</providerName>
<providerUrl>http://www.awesomeisp.com/</providerUrl>
diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__DevicePlugins.getPlugin_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__DevicePlugins.getPlugin_day.xml
new file mode 100644
index 0000000000..72728977e1
--- /dev/null
+++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__DevicePlugins.getPlugin_day.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<result>
+ <row>
+ <label>Cookie</label>
+ <nb_visits>2</nb_visits>
+ <nb_visits_percentage>100%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/cookie.gif</logo>
+ </row>
+ <row>
+ <label>Flash</label>
+ <nb_visits>2</nb_visits>
+ <nb_visits_percentage>100%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/flash.gif</logo>
+ </row>
+ <row>
+ <label>Java</label>
+ <nb_visits>2</nb_visits>
+ <nb_visits_percentage>100%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/java.gif</logo>
+ </row>
+ <row>
+ <label>Director</label>
+ <nb_visits>0</nb_visits>
+ <nb_visits_percentage>0%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/director.gif</logo>
+ </row>
+ <row>
+ <label>Gears</label>
+ <nb_visits>0</nb_visits>
+ <nb_visits_percentage>0%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/gears.gif</logo>
+ </row>
+ <row>
+ <label>Pdf</label>
+ <nb_visits>0</nb_visits>
+ <nb_visits_percentage>0%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/pdf.gif</logo>
+ </row>
+ <row>
+ <label>Quicktime</label>
+ <nb_visits>0</nb_visits>
+ <nb_visits_percentage>0%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/quicktime.gif</logo>
+ </row>
+ <row>
+ <label>Realplayer</label>
+ <nb_visits>0</nb_visits>
+ <nb_visits_percentage>0%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/realplayer.gif</logo>
+ </row>
+ <row>
+ <label>Silverlight</label>
+ <nb_visits>0</nb_visits>
+ <nb_visits_percentage>0%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/silverlight.gif</logo>
+ </row>
+ <row>
+ <label>Windowsmedia</label>
+ <nb_visits>0</nb_visits>
+ <nb_visits_percentage>0%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/windowsmedia.gif</logo>
+ </row>
+</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__UserSettings.getPlugin_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__UserSettings.getPlugin_day.xml
index 9ddd1bed44..72728977e1 100644
--- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__UserSettings.getPlugin_day.xml
+++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__UserSettings.getPlugin_day.xml
@@ -4,60 +4,60 @@
<label>Cookie</label>
<nb_visits>2</nb_visits>
<nb_visits_percentage>100%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/cookie.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/cookie.gif</logo>
</row>
<row>
<label>Flash</label>
<nb_visits>2</nb_visits>
<nb_visits_percentage>100%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/flash.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/flash.gif</logo>
</row>
<row>
<label>Java</label>
<nb_visits>2</nb_visits>
<nb_visits_percentage>100%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/java.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/java.gif</logo>
</row>
<row>
<label>Director</label>
<nb_visits>0</nb_visits>
<nb_visits_percentage>0%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/director.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/director.gif</logo>
</row>
<row>
<label>Gears</label>
<nb_visits>0</nb_visits>
<nb_visits_percentage>0%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/gears.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/gears.gif</logo>
</row>
<row>
<label>Pdf</label>
<nb_visits>0</nb_visits>
<nb_visits_percentage>0%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/pdf.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/pdf.gif</logo>
</row>
<row>
<label>Quicktime</label>
<nb_visits>0</nb_visits>
<nb_visits_percentage>0%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/quicktime.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/quicktime.gif</logo>
</row>
<row>
<label>Realplayer</label>
<nb_visits>0</nb_visits>
<nb_visits_percentage>0%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/realplayer.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/realplayer.gif</logo>
</row>
<row>
<label>Silverlight</label>
<nb_visits>0</nb_visits>
<nb_visits_percentage>0%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/silverlight.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/silverlight.gif</logo>
</row>
<row>
<label>Windowsmedia</label>
<nb_visits>0</nb_visits>
<nb_visits_percentage>0%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/windowsmedia.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/windowsmedia.gif</logo>
</row>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__DevicePlugins.getPlugin_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__DevicePlugins.getPlugin_day.xml
new file mode 100644
index 0000000000..72728977e1
--- /dev/null
+++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__DevicePlugins.getPlugin_day.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<result>
+ <row>
+ <label>Cookie</label>
+ <nb_visits>2</nb_visits>
+ <nb_visits_percentage>100%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/cookie.gif</logo>
+ </row>
+ <row>
+ <label>Flash</label>
+ <nb_visits>2</nb_visits>
+ <nb_visits_percentage>100%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/flash.gif</logo>
+ </row>
+ <row>
+ <label>Java</label>
+ <nb_visits>2</nb_visits>
+ <nb_visits_percentage>100%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/java.gif</logo>
+ </row>
+ <row>
+ <label>Director</label>
+ <nb_visits>0</nb_visits>
+ <nb_visits_percentage>0%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/director.gif</logo>
+ </row>
+ <row>
+ <label>Gears</label>
+ <nb_visits>0</nb_visits>
+ <nb_visits_percentage>0%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/gears.gif</logo>
+ </row>
+ <row>
+ <label>Pdf</label>
+ <nb_visits>0</nb_visits>
+ <nb_visits_percentage>0%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/pdf.gif</logo>
+ </row>
+ <row>
+ <label>Quicktime</label>
+ <nb_visits>0</nb_visits>
+ <nb_visits_percentage>0%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/quicktime.gif</logo>
+ </row>
+ <row>
+ <label>Realplayer</label>
+ <nb_visits>0</nb_visits>
+ <nb_visits_percentage>0%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/realplayer.gif</logo>
+ </row>
+ <row>
+ <label>Silverlight</label>
+ <nb_visits>0</nb_visits>
+ <nb_visits_percentage>0%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/silverlight.gif</logo>
+ </row>
+ <row>
+ <label>Windowsmedia</label>
+ <nb_visits>0</nb_visits>
+ <nb_visits_percentage>0%</nb_visits_percentage>
+ <logo>plugins/DevicePlugins/images/plugins/windowsmedia.gif</logo>
+ </row>
+</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Live.getLastVisitsDetails_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Live.getLastVisitsDetails_day.xml
index fd996cde0c..422cba06af 100644
--- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Live.getLastVisitsDetails_day.xml
+++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__Live.getLastVisitsDetails_day.xml
@@ -57,17 +57,6 @@
<referrerUrl>http://search.yahoo.com/search?p=purchase</referrerUrl>
<referrerSearchEngineUrl>http://search.yahoo.com</referrerSearchEngineUrl>
<referrerSearchEngineIcon>plugins/Referrers/images/searchEngines/search.yahoo.com.png</referrerSearchEngineIcon>
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -100,6 +89,17 @@
<customVariables>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -243,17 +243,6 @@
<referrerUrl>http://referrer.com/page.htm?param=valuewith some spaces</referrerUrl>
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -286,6 +275,17 @@
<customVariables>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__UserSettings.getPlugin_day.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__UserSettings.getPlugin_day.xml
index 9ddd1bed44..72728977e1 100644
--- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__UserSettings.getPlugin_day.xml
+++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_withCookieSupport__UserSettings.getPlugin_day.xml
@@ -4,60 +4,60 @@
<label>Cookie</label>
<nb_visits>2</nb_visits>
<nb_visits_percentage>100%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/cookie.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/cookie.gif</logo>
</row>
<row>
<label>Flash</label>
<nb_visits>2</nb_visits>
<nb_visits_percentage>100%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/flash.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/flash.gif</logo>
</row>
<row>
<label>Java</label>
<nb_visits>2</nb_visits>
<nb_visits_percentage>100%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/java.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/java.gif</logo>
</row>
<row>
<label>Director</label>
<nb_visits>0</nb_visits>
<nb_visits_percentage>0%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/director.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/director.gif</logo>
</row>
<row>
<label>Gears</label>
<nb_visits>0</nb_visits>
<nb_visits_percentage>0%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/gears.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/gears.gif</logo>
</row>
<row>
<label>Pdf</label>
<nb_visits>0</nb_visits>
<nb_visits_percentage>0%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/pdf.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/pdf.gif</logo>
</row>
<row>
<label>Quicktime</label>
<nb_visits>0</nb_visits>
<nb_visits_percentage>0%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/quicktime.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/quicktime.gif</logo>
</row>
<row>
<label>Realplayer</label>
<nb_visits>0</nb_visits>
<nb_visits_percentage>0%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/realplayer.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/realplayer.gif</logo>
</row>
<row>
<label>Silverlight</label>
<nb_visits>0</nb_visits>
<nb_visits_percentage>0%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/silverlight.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/silverlight.gif</logo>
</row>
<row>
<label>Windowsmedia</label>
<nb_visits>0</nb_visits>
<nb_visits_percentage>0%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/windowsmedia.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/windowsmedia.gif</logo>
</row>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_OneVisitor_LongUrlsTruncated__UserSettings.getPlugin_day.xml b/tests/PHPUnit/System/expected/test_OneVisitor_LongUrlsTruncated__DevicePlugins.getPlugin_day.xml
index aa46939be4..000a410083 100644
--- a/tests/PHPUnit/System/expected/test_OneVisitor_LongUrlsTruncated__UserSettings.getPlugin_day.xml
+++ b/tests/PHPUnit/System/expected/test_OneVisitor_LongUrlsTruncated__DevicePlugins.getPlugin_day.xml
@@ -4,13 +4,13 @@
<label>Cookie</label>
<nb_visits>7</nb_visits>
<nb_visits_percentage>100%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/cookie.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/cookie.gif</logo>
</row>
<row>
<label>Flash</label>
<nb_visits>7</nb_visits>
<nb_visits_percentage>100%</nb_visits_percentage>
- <logo>plugins/UserSettings/images/plugins/flash.gif</logo>
+ <logo>plugins/DevicePlugins/images/plugins/flash.gif</logo>
</row>
<row>
<label>Autres</label>
diff --git a/tests/PHPUnit/System/expected/test_OneVisitor_NoKeywordSpecified__Live.getLastVisitsDetails_day.xml b/tests/PHPUnit/System/expected/test_OneVisitor_NoKeywordSpecified__Live.getLastVisitsDetails_day.xml
index 4f1db44f3d..39a670a112 100644
--- a/tests/PHPUnit/System/expected/test_OneVisitor_NoKeywordSpecified__Live.getLastVisitsDetails_day.xml
+++ b/tests/PHPUnit/System/expected/test_OneVisitor_NoKeywordSpecified__Live.getLastVisitsDetails_day.xml
@@ -46,17 +46,6 @@
<referrerUrl>http://www.google.com.vn/search?q=%3C%3E%26%5C%22the+pdo+extension+is+required+for+this+adapter+but+the+extension+is+not+loaded</referrerUrl>
<referrerSearchEngineUrl>http://google.com</referrerSearchEngineUrl>
<referrerSearchEngineIcon>plugins/Referrers/images/searchEngines/google.com.png</referrerSearchEngineIcon>
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Inconnu</deviceType>
<operatingSystem>Bot</operatingSystem>
<operatingSystemCode>BOT</operatingSystemCode>
@@ -89,6 +78,17 @@
<customVariables>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -151,17 +151,6 @@
<referrerUrl>http://piwik.org/faq/general/#faq_144</referrerUrl>
<referrerSearchEngineUrl>http://google.com</referrerSearchEngineUrl>
<referrerSearchEngineIcon>plugins/Referrers/images/searchEngines/google.com.png</referrerSearchEngineIcon>
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Inconnu</deviceType>
<operatingSystem>Bot</operatingSystem>
<operatingSystemCode>BOT</operatingSystemCode>
@@ -194,6 +183,17 @@
<customVariables>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
diff --git a/tests/PHPUnit/System/expected/test_OneVisitor_SeveralDays_ImportedInRandomOrderTest_shouldShowOneVisit_InEachOfThreeDays__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/System/expected/test_OneVisitor_SeveralDays_ImportedInRandomOrderTest_shouldShowOneVisit_InEachOfThreeDays__Live.getLastVisitsDetails_month.xml
index 8f69cec30a..d8dbff081b 100644
--- a/tests/PHPUnit/System/expected/test_OneVisitor_SeveralDays_ImportedInRandomOrderTest_shouldShowOneVisit_InEachOfThreeDays__Live.getLastVisitsDetails_month.xml
+++ b/tests/PHPUnit/System/expected/test_OneVisitor_SeveralDays_ImportedInRandomOrderTest_shouldShowOneVisit_InEachOfThreeDays__Live.getLastVisitsDetails_month.xml
@@ -51,8 +51,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Windows Vista</operatingSystem>
<operatingSystemCode>WVI</operatingSystemCode>
@@ -85,6 +83,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
<serverTimestamp>1365328800</serverTimestamp>
<serverTimePretty>10:00:00</serverTimePretty>
<serverDatePretty>Sun 7 Apr</serverDatePretty>
@@ -142,8 +142,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Windows Vista</operatingSystem>
<operatingSystemCode>WVI</operatingSystemCode>
@@ -176,6 +174,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
<serverTimestamp>1365246000</serverTimestamp>
<serverTimePretty>11:00:00</serverTimePretty>
<serverDatePretty>Sat 6 Apr</serverDatePretty>
@@ -233,8 +233,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins />
- <pluginsIcons />
<deviceType>Desktop</deviceType>
<operatingSystem>Windows Vista</operatingSystem>
<operatingSystemCode>WVI</operatingSystemCode>
@@ -267,6 +265,8 @@
<customVariables>
</customVariables>
<resolution>unknown</resolution>
+ <plugins />
+ <pluginsIcons />
<serverTimestamp>1365163200</serverTimestamp>
<serverTimePretty>12:00:00</serverTimePretty>
<serverDatePretty>Fri 5 Apr</serverDatePretty>
diff --git a/tests/PHPUnit/System/expected/test_TimezonesTest__Live.getLastVisitsDetails_day.xml b/tests/PHPUnit/System/expected/test_TimezonesTest__Live.getLastVisitsDetails_day.xml
index 9569ea3571..03d31e0118 100644
--- a/tests/PHPUnit/System/expected/test_TimezonesTest__Live.getLastVisitsDetails_day.xml
+++ b/tests/PHPUnit/System/expected/test_TimezonesTest__Live.getLastVisitsDetails_day.xml
@@ -46,17 +46,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -89,6 +78,17 @@
<customVariables>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv
index 18ea02d6f8..83edf5cf0e 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv
@@ -312,19 +312,15 @@ label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site
Unknown,8,40,0%,5,00:15:01,0%
Desktop,2,3,0%,1.5,00:03:01,50%
-Visitor Browser
-label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
-Unknown,8,40,0%,5,00:15:01,0%
-Firefox,1,2,0%,2,00:06:01,0%
-Opera,1,1,0%,1,00:00:00,100%
-
Device brand
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
Unknown,10,43,0%,4.3,00:12:37,10%
-Device model
+Visitor Browser
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
-Unknown,10,43,0%,4.3,00:12:37,10%
+Unknown,8,40,0%,5,00:15:01,0%
+Firefox,1,2,0%,2,00:06:01,0%
+Opera,1,1,0%,1,00:00:00,100%
Browser version
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
@@ -332,6 +328,10 @@ Unknown,8,40,0%,5,00:15:01,0%
Firefox 3.6,1,2,0%,2,00:06:01,0%
Opera 9.63,1,1,0%,1,00:00:00,100%
+Device model
+label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
+Unknown,10,43,0%,4.3,00:12:37,10%
+
Operating System families
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
Unknown,8,40,0%,5,00:15:01,0%
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html
index 383d408ca5..dc5c3ecda4 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html
@@ -50,7 +50,7 @@
</a>
</li>
<li>
- <a href="#UserSettings_getPlugin" style="text-decoration:none; color: rgb(68,68,68);">
+ <a href="#DevicePlugins_getPlugin" style="text-decoration:none; color: rgb(68,68,68);">
Browser Plugins
</a>
</li>
@@ -275,18 +275,13 @@
</a>
</li>
<li>
- <a href="#DevicesDetection_getBrowsers" style="text-decoration:none; color: rgb(68,68,68);">
- Visitor Browser
- </a>
- </li>
- <li>
<a href="#DevicesDetection_getBrand" style="text-decoration:none; color: rgb(68,68,68);">
Device brand
</a>
</li>
<li>
- <a href="#DevicesDetection_getModel" style="text-decoration:none; color: rgb(68,68,68);">
- Device model
+ <a href="#DevicesDetection_getBrowsers" style="text-decoration:none; color: rgb(68,68,68);">
+ Visitor Browser
</a>
</li>
<li>
@@ -295,6 +290,11 @@
</a>
</li>
<li>
+ <a href="#DevicesDetection_getModel" style="text-decoration:none; color: rgb(68,68,68);">
+ Device model
+ </a>
+ </li>
+ <li>
<a href="#DevicesDetection_getOsFamilies" style="text-decoration:none; color: rgb(68,68,68);">
Operating System families
</a>
@@ -1947,7 +1947,7 @@
<a style="text-decoration:none; color: rgb(126,115,99); font-size: 9pt;" href="#reportTop">
Back to top
</a>
-<h2 id="UserSettings_getPlugin" style="color: rgb(126,115,99); font-size: 11pt;">
+<h2 id="DevicePlugins_getPlugin" style="color: rgb(126,115,99); font-size: 11pt;">
Browser Plugins
</h2>
@@ -1969,7 +1969,7 @@
<tr style="">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/UserSettings/images/plugins/cookie.gif'>
+ <img src='plugins/DevicePlugins/images/plugins/cookie.gif'>
&nbsp;
Cookie </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
@@ -1982,7 +1982,7 @@
<tr style="background-color: rgb(249,250,250)">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/UserSettings/images/plugins/flash.gif'>
+ <img src='plugins/DevicePlugins/images/plugins/flash.gif'>
&nbsp;
Flash </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
@@ -1995,7 +1995,7 @@
<tr style="">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/UserSettings/images/plugins/java.gif'>
+ <img src='plugins/DevicePlugins/images/plugins/java.gif'>
&nbsp;
Java </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
@@ -2008,7 +2008,7 @@
<tr style="background-color: rgb(249,250,250)">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/UserSettings/images/plugins/director.gif'>
+ <img src='plugins/DevicePlugins/images/plugins/director.gif'>
&nbsp;
Director </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
@@ -2021,7 +2021,7 @@
<tr style="">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/UserSettings/images/plugins/gears.gif'>
+ <img src='plugins/DevicePlugins/images/plugins/gears.gif'>
&nbsp;
Gears </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
@@ -2034,7 +2034,7 @@
<tr style="background-color: rgb(249,250,250)">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/UserSettings/images/plugins/pdf.gif'>
+ <img src='plugins/DevicePlugins/images/plugins/pdf.gif'>
&nbsp;
Pdf </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
@@ -2047,7 +2047,7 @@
<tr style="">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/UserSettings/images/plugins/quicktime.gif'>
+ <img src='plugins/DevicePlugins/images/plugins/quicktime.gif'>
&nbsp;
Quicktime </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
@@ -2060,7 +2060,7 @@
<tr style="background-color: rgb(249,250,250)">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/UserSettings/images/plugins/realplayer.gif'>
+ <img src='plugins/DevicePlugins/images/plugins/realplayer.gif'>
&nbsp;
Realplayer </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
@@ -2073,7 +2073,7 @@
<tr style="">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/UserSettings/images/plugins/silverlight.gif'>
+ <img src='plugins/DevicePlugins/images/plugins/silverlight.gif'>
&nbsp;
Silverlight </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
@@ -2086,7 +2086,7 @@
<tr style="background-color: rgb(249,250,250)">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/UserSettings/images/plugins/windowsmedia.gif'>
+ <img src='plugins/DevicePlugins/images/plugins/windowsmedia.gif'>
&nbsp;
Windowsmedia </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
@@ -4509,8 +4509,8 @@
<a style="text-decoration:none; color: rgb(126,115,99); font-size: 9pt;" href="#reportTop">
Back to top
</a>
-<h2 id="DevicesDetection_getBrowsers" style="color: rgb(126,115,99); font-size: 11pt;">
- Visitor Browser
+<h2 id="DevicesDetection_getBrand" style="color: rgb(126,115,99); font-size: 11pt;">
+ Device brand
</h2>
@@ -4518,7 +4518,7 @@
<table style="border-collapse:collapse; margin-left: 5px;">
<thead style="background-color: rgb(228,226,215); color: rgb(37,87,146); font-size: 11pt;">
<th style="padding: 6px 0;">
- &nbsp;Browser&nbsp;&nbsp;
+ &nbsp;Device brand&nbsp;&nbsp;
</th>
<th style="padding: 6px 0;">
&nbsp;Visits&nbsp;&nbsp;
@@ -4543,73 +4543,23 @@
<tr style="">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/DevicesDetection/images/browsers/UNK.gif'>
+ <img src='plugins/DevicesDetection/images/brand/Unknown.ico'>
&nbsp;
Unknown </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 8
- </td>
- <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 40
- </td>
- <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 5
- </td>
- <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 00:15:01
- </td>
- <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 0%
- </td>
- <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 0%
- </td>
- </tr>
-
- <tr style="background-color: rgb(249,250,250)">
- <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/DevicesDetection/images/browsers/FF.gif'>
- &nbsp;
- Firefox </td>
- <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 1
- </td>
- <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 2
- </td>
- <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 2
- </td>
- <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 00:06:01
- </td>
- <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 0%
- </td>
- <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 0%
- </td>
- </tr>
-
- <tr style="">
- <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/DevicesDetection/images/browsers/OP.gif'>
- &nbsp;
- Opera </td>
- <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 1
+ 10
</td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 1
+ 43
</td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 1
+ 4.3
</td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 00:00:00
+ 00:12:37
</td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 100%
+ 10%
</td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
0%
@@ -4621,8 +4571,8 @@
<a style="text-decoration:none; color: rgb(126,115,99); font-size: 9pt;" href="#reportTop">
Back to top
</a>
-<h2 id="DevicesDetection_getBrand" style="color: rgb(126,115,99); font-size: 11pt;">
- Device brand
+<h2 id="DevicesDetection_getBrowsers" style="color: rgb(126,115,99); font-size: 11pt;">
+ Visitor Browser
</h2>
@@ -4630,7 +4580,7 @@
<table style="border-collapse:collapse; margin-left: 5px;">
<thead style="background-color: rgb(228,226,215); color: rgb(37,87,146); font-size: 11pt;">
<th style="padding: 6px 0;">
- &nbsp;Device brand&nbsp;&nbsp;
+ &nbsp;Browser&nbsp;&nbsp;
</th>
<th style="padding: 6px 0;">
&nbsp;Visits&nbsp;&nbsp;
@@ -4655,83 +4605,73 @@
<tr style="">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/DevicesDetection/images/brand/Unknown.ico'>
+ <img src='plugins/DevicesDetection/images/browsers/UNK.gif'>
&nbsp;
Unknown </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 10
+ 8
</td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 43
+ 40
</td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 4.3
+ 5
</td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 00:12:37
+ 00:15:01
</td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 10%
+ 0%
</td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
0%
</td>
</tr>
- </tbody>
- </table>
- <br/>
- <a style="text-decoration:none; color: rgb(126,115,99); font-size: 9pt;" href="#reportTop">
- Back to top
- </a>
-<h2 id="DevicesDetection_getModel" style="color: rgb(126,115,99); font-size: 11pt;">
- Device model
-</h2>
-
-
-
- <table style="border-collapse:collapse; margin-left: 5px;">
- <thead style="background-color: rgb(228,226,215); color: rgb(37,87,146); font-size: 11pt;">
- <th style="padding: 6px 0;">
- &nbsp;Device model&nbsp;&nbsp;
- </th>
- <th style="padding: 6px 0;">
- &nbsp;Visits&nbsp;&nbsp;
- </th>
- <th style="padding: 6px 0;">
- &nbsp;Actions&nbsp;&nbsp;
- </th>
- <th style="padding: 6px 0;">
- &nbsp;Actions per Visit&nbsp;&nbsp;
- </th>
- <th style="padding: 6px 0;">
- &nbsp;Avg. Time on Website&nbsp;&nbsp;
- </th>
- <th style="padding: 6px 0;">
- &nbsp;Bounce Rate&nbsp;&nbsp;
- </th>
- <th style="padding: 6px 0;">
- &nbsp;Conversion Rate&nbsp;&nbsp;
- </th>
- </thead>
- <tbody>
-
+
+ <tr style="background-color: rgb(249,250,250)">
+ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
+ <img src='plugins/DevicesDetection/images/browsers/FF.gif'>
+ &nbsp;
+ Firefox </td>
+ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
+ 1
+ </td>
+ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
+ 2
+ </td>
+ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
+ 2
+ </td>
+ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
+ 00:06:01
+ </td>
+ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
+ 0%
+ </td>
+ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
+ 0%
+ </td>
+ </tr>
+
<tr style="">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- Unknown </td>
+ <img src='plugins/DevicesDetection/images/browsers/OP.gif'>
+ &nbsp;
+ Opera </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 10
+ 1
</td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 43
+ 1
</td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 4.3
+ 1
</td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 00:12:37
+ 00:00:00
</td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- 10%
+ 100%
</td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
0%
@@ -4855,6 +4795,66 @@
<a style="text-decoration:none; color: rgb(126,115,99); font-size: 9pt;" href="#reportTop">
Back to top
</a>
+<h2 id="DevicesDetection_getModel" style="color: rgb(126,115,99); font-size: 11pt;">
+ Device model
+</h2>
+
+
+
+ <table style="border-collapse:collapse; margin-left: 5px;">
+ <thead style="background-color: rgb(228,226,215); color: rgb(37,87,146); font-size: 11pt;">
+ <th style="padding: 6px 0;">
+ &nbsp;Device model&nbsp;&nbsp;
+ </th>
+ <th style="padding: 6px 0;">
+ &nbsp;Visits&nbsp;&nbsp;
+ </th>
+ <th style="padding: 6px 0;">
+ &nbsp;Actions&nbsp;&nbsp;
+ </th>
+ <th style="padding: 6px 0;">
+ &nbsp;Actions per Visit&nbsp;&nbsp;
+ </th>
+ <th style="padding: 6px 0;">
+ &nbsp;Avg. Time on Website&nbsp;&nbsp;
+ </th>
+ <th style="padding: 6px 0;">
+ &nbsp;Bounce Rate&nbsp;&nbsp;
+ </th>
+ <th style="padding: 6px 0;">
+ &nbsp;Conversion Rate&nbsp;&nbsp;
+ </th>
+ </thead>
+ <tbody>
+
+ <tr style="">
+ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
+ Unknown </td>
+ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
+ 10
+ </td>
+ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
+ 43
+ </td>
+ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
+ 4.3
+ </td>
+ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
+ 00:12:37
+ </td>
+ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
+ 10%
+ </td>
+ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
+ 0%
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <br/>
+ <a style="text-decoration:none; color: rgb(126,115,99); font-size: 9pt;" href="#reportTop">
+ Back to top
+ </a>
<h2 id="DevicesDetection_getOsFamilies" style="color: rgb(126,115,99); font-size: 11pt;">
Operating System families
</h2>
diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml
index af33e3cf08..298051f251 100644
--- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml
+++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml
@@ -220,7 +220,7 @@
<row>
<category>Visitor Settings</category>
<name>Browser Plugins</name>
- <module>UserSettings</module>
+ <module>DevicePlugins</module>
<action>getPlugin</action>
<dimension>Plugin</dimension>
<documentation>This report shows which browser plugins your visitors had enabled. This information might be important for choosing the right way to deliver your content.</documentation>
@@ -234,8 +234,8 @@
<nb_visits_percentage>% Visits</nb_visits_percentage>
</processedMetrics>
<constantRowsCount>1</constantRowsCount>
- <imageGraphUrl>index.php?module=API&amp;method=ImageGraph.get&amp;idSite=1&amp;apiModule=UserSettings&amp;apiAction=getPlugin&amp;period=day&amp;date=2009-01-04</imageGraphUrl>
- <uniqueId>UserSettings_getPlugin</uniqueId>
+ <imageGraphUrl>index.php?module=API&amp;method=ImageGraph.get&amp;idSite=1&amp;apiModule=DevicePlugins&amp;apiAction=getPlugin&amp;period=day&amp;date=2009-01-04</imageGraphUrl>
+ <uniqueId>DevicePlugins_getPlugin</uniqueId>
</row>
<row>
<category>Visitor Settings</category>
@@ -1808,10 +1808,11 @@
</row>
<row>
<category>Visitor Devices</category>
- <name>Device brand</name>
+ <name>Visitor Browser</name>
<module>DevicesDetection</module>
- <action>getBrand</action>
- <dimension>Device brand</dimension>
+ <action>getBrowsers</action>
+ <dimension>Browser</dimension>
+ <documentation>This report contains information about what kind of browser your visitors were using. Each browser version is listed separately.</documentation>
<metrics>
<nb_visits>Visits</nb_visits>
<nb_uniq_visitors>Unique visitors</nb_uniq_visitors>
@@ -1830,17 +1831,16 @@
<bounce_rate>Bounce Rate</bounce_rate>
<conversion_rate>Conversion Rate</conversion_rate>
</processedMetrics>
- <imageGraphUrl>index.php?module=API&amp;method=ImageGraph.get&amp;idSite=1&amp;apiModule=DevicesDetection&amp;apiAction=getBrand&amp;period=day&amp;date=2009-01-04</imageGraphUrl>
- <imageGraphEvolutionUrl>index.php?module=API&amp;method=ImageGraph.get&amp;idSite=1&amp;apiModule=DevicesDetection&amp;apiAction=getBrand&amp;period=day&amp;date=2008-12-06,2009-01-04</imageGraphEvolutionUrl>
- <uniqueId>DevicesDetection_getBrand</uniqueId>
+ <imageGraphUrl>index.php?module=API&amp;method=ImageGraph.get&amp;idSite=1&amp;apiModule=DevicesDetection&amp;apiAction=getBrowsers&amp;period=day&amp;date=2009-01-04</imageGraphUrl>
+ <imageGraphEvolutionUrl>index.php?module=API&amp;method=ImageGraph.get&amp;idSite=1&amp;apiModule=DevicesDetection&amp;apiAction=getBrowsers&amp;period=day&amp;date=2008-12-06,2009-01-04</imageGraphEvolutionUrl>
+ <uniqueId>DevicesDetection_getBrowsers</uniqueId>
</row>
<row>
<category>Visitor Devices</category>
- <name>Visitor Browser</name>
+ <name>Device brand</name>
<module>DevicesDetection</module>
- <action>getBrowsers</action>
- <dimension>Browser</dimension>
- <documentation>This report contains information about what kind of browser your visitors were using. Each browser version is listed separately.</documentation>
+ <action>getBrand</action>
+ <dimension>Device brand</dimension>
<metrics>
<nb_visits>Visits</nb_visits>
<nb_uniq_visitors>Unique visitors</nb_uniq_visitors>
@@ -1859,16 +1859,16 @@
<bounce_rate>Bounce Rate</bounce_rate>
<conversion_rate>Conversion Rate</conversion_rate>
</processedMetrics>
- <imageGraphUrl>index.php?module=API&amp;method=ImageGraph.get&amp;idSite=1&amp;apiModule=DevicesDetection&amp;apiAction=getBrowsers&amp;period=day&amp;date=2009-01-04</imageGraphUrl>
- <imageGraphEvolutionUrl>index.php?module=API&amp;method=ImageGraph.get&amp;idSite=1&amp;apiModule=DevicesDetection&amp;apiAction=getBrowsers&amp;period=day&amp;date=2008-12-06,2009-01-04</imageGraphEvolutionUrl>
- <uniqueId>DevicesDetection_getBrowsers</uniqueId>
+ <imageGraphUrl>index.php?module=API&amp;method=ImageGraph.get&amp;idSite=1&amp;apiModule=DevicesDetection&amp;apiAction=getBrand&amp;period=day&amp;date=2009-01-04</imageGraphUrl>
+ <imageGraphEvolutionUrl>index.php?module=API&amp;method=ImageGraph.get&amp;idSite=1&amp;apiModule=DevicesDetection&amp;apiAction=getBrand&amp;period=day&amp;date=2008-12-06,2009-01-04</imageGraphEvolutionUrl>
+ <uniqueId>DevicesDetection_getBrand</uniqueId>
</row>
<row>
<category>Visitor Devices</category>
- <name>Browser version</name>
+ <name>Device model</name>
<module>DevicesDetection</module>
- <action>getBrowserVersions</action>
- <dimension>Browser version</dimension>
+ <action>getModel</action>
+ <dimension>Device model</dimension>
<metrics>
<nb_visits>Visits</nb_visits>
<nb_uniq_visitors>Unique visitors</nb_uniq_visitors>
@@ -1887,16 +1887,16 @@
<bounce_rate>Bounce Rate</bounce_rate>
<conversion_rate>Conversion Rate</conversion_rate>
</processedMetrics>
- <imageGraphUrl>index.php?module=API&amp;method=ImageGraph.get&amp;idSite=1&amp;apiModule=DevicesDetection&amp;apiAction=getBrowserVersions&amp;period=day&amp;date=2009-01-04</imageGraphUrl>
- <imageGraphEvolutionUrl>index.php?module=API&amp;method=ImageGraph.get&amp;idSite=1&amp;apiModule=DevicesDetection&amp;apiAction=getBrowserVersions&amp;period=day&amp;date=2008-12-06,2009-01-04</imageGraphEvolutionUrl>
- <uniqueId>DevicesDetection_getBrowserVersions</uniqueId>
+ <imageGraphUrl>index.php?module=API&amp;method=ImageGraph.get&amp;idSite=1&amp;apiModule=DevicesDetection&amp;apiAction=getModel&amp;period=day&amp;date=2009-01-04</imageGraphUrl>
+ <imageGraphEvolutionUrl>index.php?module=API&amp;method=ImageGraph.get&amp;idSite=1&amp;apiModule=DevicesDetection&amp;apiAction=getModel&amp;period=day&amp;date=2008-12-06,2009-01-04</imageGraphEvolutionUrl>
+ <uniqueId>DevicesDetection_getModel</uniqueId>
</row>
<row>
<category>Visitor Devices</category>
- <name>Device model</name>
+ <name>Browser version</name>
<module>DevicesDetection</module>
- <action>getModel</action>
- <dimension>Device model</dimension>
+ <action>getBrowserVersions</action>
+ <dimension>Browser version</dimension>
<metrics>
<nb_visits>Visits</nb_visits>
<nb_uniq_visitors>Unique visitors</nb_uniq_visitors>
@@ -1915,9 +1915,9 @@
<bounce_rate>Bounce Rate</bounce_rate>
<conversion_rate>Conversion Rate</conversion_rate>
</processedMetrics>
- <imageGraphUrl>index.php?module=API&amp;method=ImageGraph.get&amp;idSite=1&amp;apiModule=DevicesDetection&amp;apiAction=getModel&amp;period=day&amp;date=2009-01-04</imageGraphUrl>
- <imageGraphEvolutionUrl>index.php?module=API&amp;method=ImageGraph.get&amp;idSite=1&amp;apiModule=DevicesDetection&amp;apiAction=getModel&amp;period=day&amp;date=2008-12-06,2009-01-04</imageGraphEvolutionUrl>
- <uniqueId>DevicesDetection_getModel</uniqueId>
+ <imageGraphUrl>index.php?module=API&amp;method=ImageGraph.get&amp;idSite=1&amp;apiModule=DevicesDetection&amp;apiAction=getBrowserVersions&amp;period=day&amp;date=2009-01-04</imageGraphUrl>
+ <imageGraphEvolutionUrl>index.php?module=API&amp;method=ImageGraph.get&amp;idSite=1&amp;apiModule=DevicesDetection&amp;apiAction=getBrowserVersions&amp;period=day&amp;date=2008-12-06,2009-01-04</imageGraphEvolutionUrl>
+ <uniqueId>DevicesDetection_getBrowserVersions</uniqueId>
</row>
<row>
<category>Visitor Devices</category>
diff --git a/tests/PHPUnit/System/expected/test_csvExport__Live.getLastVisitsDetails_day.csv b/tests/PHPUnit/System/expected/test_csvExport__Live.getLastVisitsDetails_day.csv
index b578e611b8..055d71f03c 100644
--- a/tests/PHPUnit/System/expected/test_csvExport__Live.getLastVisitsDetails_day.csv
+++ b/tests/PHPUnit/System/expected/test_csvExport__Live.getLastVisitsDetails_day.csv
Binary files differ
diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml
index 69364960c5..d35393d436 100755
--- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml
+++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml
@@ -72,17 +72,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -127,6 +116,17 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -281,17 +281,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -336,6 +325,17 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml
index b1454cde77..e599862bed 100755
--- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml
+++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml
@@ -148,17 +148,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -203,6 +192,17 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -476,17 +476,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -531,6 +520,17 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -694,17 +694,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -745,6 +734,17 @@
</row>
</customVariables>
<resolution>1024x768</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv
index cc59cc4ac5..f4403f36cf 100644
--- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv
+++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv
@@ -470,11 +470,15 @@ Device type
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
Desktop,5,16,80%,3.2,00:22:49,20%
+Device brand
+label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
+Unknown,5,16,80%,3.2,00:22:49,20%
+
Visitor Browser
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
Firefox,5,16,80%,3.2,00:22:49,20%
-Device brand
+Device model
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
Unknown,5,16,80%,3.2,00:22:49,20%
@@ -482,10 +486,6 @@ Browser version
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
Firefox 3.6,5,16,80%,3.2,00:22:49,20%
-Device model
-label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
-Unknown,5,16,80%,3.2,00:22:49,20%
-
Operating System families
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
Windows,5,16,80%,3.2,00:22:49,20%
diff --git a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html
index 63027b9192..cf3ef6a1e6 100644
--- a/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html
+++ b/tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html
@@ -50,7 +50,7 @@
</a>
</li>
<li>
- <a href="#UserSettings_getPlugin" style="text-decoration:none; color: rgb(68,68,68);">
+ <a href="#DevicePlugins_getPlugin" style="text-decoration:none; color: rgb(68,68,68);">
Browser Plugins
</a>
</li>
@@ -335,18 +335,13 @@
</a>
</li>
<li>
- <a href="#DevicesDetection_getBrowsers" style="text-decoration:none; color: rgb(68,68,68);">
- Visitor Browser
- </a>
- </li>
- <li>
<a href="#DevicesDetection_getBrand" style="text-decoration:none; color: rgb(68,68,68);">
Device brand
</a>
</li>
<li>
- <a href="#DevicesDetection_getBrowserVersions" style="text-decoration:none; color: rgb(68,68,68);">
- Browser version
+ <a href="#DevicesDetection_getBrowsers" style="text-decoration:none; color: rgb(68,68,68);">
+ Visitor Browser
</a>
</li>
<li>
@@ -355,6 +350,11 @@
</a>
</li>
<li>
+ <a href="#DevicesDetection_getBrowserVersions" style="text-decoration:none; color: rgb(68,68,68);">
+ Browser version
+ </a>
+ </li>
+ <li>
<a href="#DevicesDetection_getOsFamilies" style="text-decoration:none; color: rgb(68,68,68);">
Operating System families
</a>
@@ -1984,7 +1984,7 @@
<a style="text-decoration:none; color: rgb(126,115,99); font-size: 9pt;" href="#reportTop">
Back to top
</a>
-<h2 id="UserSettings_getPlugin" style="color: rgb(126,115,99); font-size: 11pt;">
+<h2 id="DevicePlugins_getPlugin" style="color: rgb(126,115,99); font-size: 11pt;">
Browser Plugins
</h2>
@@ -2006,7 +2006,7 @@
<tr style="">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/UserSettings/images/plugins/cookie.gif'>
+ <img src='plugins/DevicePlugins/images/plugins/cookie.gif'>
&nbsp;
Cookie </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
@@ -2019,7 +2019,7 @@
<tr style="background-color: rgb(249,250,250)">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/UserSettings/images/plugins/flash.gif'>
+ <img src='plugins/DevicePlugins/images/plugins/flash.gif'>
&nbsp;
Flash </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
@@ -2032,7 +2032,7 @@
<tr style="">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/UserSettings/images/plugins/java.gif'>
+ <img src='plugins/DevicePlugins/images/plugins/java.gif'>
&nbsp;
Java </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
@@ -2045,7 +2045,7 @@
<tr style="background-color: rgb(249,250,250)">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/UserSettings/images/plugins/director.gif'>
+ <img src='plugins/DevicePlugins/images/plugins/director.gif'>
&nbsp;
Director </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
@@ -2058,7 +2058,7 @@
<tr style="">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/UserSettings/images/plugins/gears.gif'>
+ <img src='plugins/DevicePlugins/images/plugins/gears.gif'>
&nbsp;
Gears </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
@@ -2071,7 +2071,7 @@
<tr style="background-color: rgb(249,250,250)">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/UserSettings/images/plugins/pdf.gif'>
+ <img src='plugins/DevicePlugins/images/plugins/pdf.gif'>
&nbsp;
Pdf </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
@@ -2084,7 +2084,7 @@
<tr style="">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/UserSettings/images/plugins/quicktime.gif'>
+ <img src='plugins/DevicePlugins/images/plugins/quicktime.gif'>
&nbsp;
Quicktime </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
@@ -2097,7 +2097,7 @@
<tr style="background-color: rgb(249,250,250)">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/UserSettings/images/plugins/realplayer.gif'>
+ <img src='plugins/DevicePlugins/images/plugins/realplayer.gif'>
&nbsp;
Realplayer </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
@@ -2110,7 +2110,7 @@
<tr style="">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/UserSettings/images/plugins/silverlight.gif'>
+ <img src='plugins/DevicePlugins/images/plugins/silverlight.gif'>
&nbsp;
Silverlight </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
@@ -2123,7 +2123,7 @@
<tr style="background-color: rgb(249,250,250)">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/UserSettings/images/plugins/windowsmedia.gif'>
+ <img src='plugins/DevicePlugins/images/plugins/windowsmedia.gif'>
&nbsp;
Windowsmedia </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
@@ -6190,8 +6190,8 @@
<a style="text-decoration:none; color: rgb(126,115,99); font-size: 9pt;" href="#reportTop">
Back to top
</a>
-<h2 id="DevicesDetection_getBrowsers" style="color: rgb(126,115,99); font-size: 11pt;">
- Visitor Browser
+<h2 id="DevicesDetection_getBrand" style="color: rgb(126,115,99); font-size: 11pt;">
+ Device brand
</h2>
@@ -6199,7 +6199,7 @@
<table style="border-collapse:collapse; margin-left: 5px;">
<thead style="background-color: rgb(228,226,215); color: rgb(37,87,146); font-size: 11pt;">
<th style="padding: 6px 0;">
- &nbsp;Browser&nbsp;&nbsp;
+ &nbsp;Device brand&nbsp;&nbsp;
</th>
<th style="padding: 6px 0;">
&nbsp;Visits&nbsp;&nbsp;
@@ -6224,9 +6224,9 @@
<tr style="">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/DevicesDetection/images/browsers/FF.gif'>
+ <img src='plugins/DevicesDetection/images/brand/Unknown.ico'>
&nbsp;
- Firefox </td>
+ Unknown </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
5
</td>
@@ -6252,8 +6252,8 @@
<a style="text-decoration:none; color: rgb(126,115,99); font-size: 9pt;" href="#reportTop">
Back to top
</a>
-<h2 id="DevicesDetection_getBrand" style="color: rgb(126,115,99); font-size: 11pt;">
- Device brand
+<h2 id="DevicesDetection_getBrowsers" style="color: rgb(126,115,99); font-size: 11pt;">
+ Visitor Browser
</h2>
@@ -6261,7 +6261,7 @@
<table style="border-collapse:collapse; margin-left: 5px;">
<thead style="background-color: rgb(228,226,215); color: rgb(37,87,146); font-size: 11pt;">
<th style="padding: 6px 0;">
- &nbsp;Device brand&nbsp;&nbsp;
+ &nbsp;Browser&nbsp;&nbsp;
</th>
<th style="padding: 6px 0;">
&nbsp;Visits&nbsp;&nbsp;
@@ -6286,9 +6286,9 @@
<tr style="">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/DevicesDetection/images/brand/Unknown.ico'>
+ <img src='plugins/DevicesDetection/images/browsers/FF.gif'>
&nbsp;
- Unknown </td>
+ Firefox </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
5
</td>
@@ -6314,8 +6314,8 @@
<a style="text-decoration:none; color: rgb(126,115,99); font-size: 9pt;" href="#reportTop">
Back to top
</a>
-<h2 id="DevicesDetection_getBrowserVersions" style="color: rgb(126,115,99); font-size: 11pt;">
- Browser version
+<h2 id="DevicesDetection_getModel" style="color: rgb(126,115,99); font-size: 11pt;">
+ Device model
</h2>
@@ -6323,7 +6323,7 @@
<table style="border-collapse:collapse; margin-left: 5px;">
<thead style="background-color: rgb(228,226,215); color: rgb(37,87,146); font-size: 11pt;">
<th style="padding: 6px 0;">
- &nbsp;Browser version&nbsp;&nbsp;
+ &nbsp;Device model&nbsp;&nbsp;
</th>
<th style="padding: 6px 0;">
&nbsp;Visits&nbsp;&nbsp;
@@ -6348,9 +6348,7 @@
<tr style="">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- <img src='plugins/DevicesDetection/images/browsers/FF.gif'>
- &nbsp;
- Firefox 3.6 </td>
+ Unknown </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
5
</td>
@@ -6376,8 +6374,8 @@
<a style="text-decoration:none; color: rgb(126,115,99); font-size: 9pt;" href="#reportTop">
Back to top
</a>
-<h2 id="DevicesDetection_getModel" style="color: rgb(126,115,99); font-size: 11pt;">
- Device model
+<h2 id="DevicesDetection_getBrowserVersions" style="color: rgb(126,115,99); font-size: 11pt;">
+ Browser version
</h2>
@@ -6385,7 +6383,7 @@
<table style="border-collapse:collapse; margin-left: 5px;">
<thead style="background-color: rgb(228,226,215); color: rgb(37,87,146); font-size: 11pt;">
<th style="padding: 6px 0;">
- &nbsp;Device model&nbsp;&nbsp;
+ &nbsp;Browser version&nbsp;&nbsp;
</th>
<th style="padding: 6px 0;">
&nbsp;Visits&nbsp;&nbsp;
@@ -6410,7 +6408,9 @@
<tr style="">
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
- Unknown </td>
+ <img src='plugins/DevicesDetection/images/browsers/FF.gif'>
+ &nbsp;
+ Firefox 3.6 </td>
<td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;">
5
</td>
diff --git a/tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__DevicePlugins.getPlugin_day.xml b/tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__DevicePlugins.getPlugin_day.xml
new file mode 100644
index 0000000000..106f23f16b
--- /dev/null
+++ b/tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__DevicePlugins.getPlugin_day.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<results>
+ <result date="2009-01-04" />
+ <result date="2009-01-05" />
+ <result date="2009-01-06" />
+ <result date="2009-01-07" />
+ <result date="2009-01-08" />
+ <result date="2009-01-09" />
+ <result date="2009-01-10" />
+</results> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__DevicePlugins.getPlugin_week.xml b/tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__DevicePlugins.getPlugin_week.xml
new file mode 100644
index 0000000000..5cfb246edc
--- /dev/null
+++ b/tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__DevicePlugins.getPlugin_week.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<results>
+ <result date="From 2008-12-29 to 2009-01-04" />
+ <result date="From 2009-01-05 to 2009-01-11" />
+ <result date="From 2009-01-12 to 2009-01-18" />
+ <result date="From 2009-01-19 to 2009-01-25" />
+ <result date="From 2009-01-26 to 2009-02-01" />
+ <result date="From 2009-02-02 to 2009-02-08" />
+ <result date="From 2009-02-09 to 2009-02-15" />
+</results> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_noVisit__DevicePlugins.getPlugin_day.xml b/tests/PHPUnit/System/expected/test_noVisit__DevicePlugins.getPlugin_day.xml
new file mode 100644
index 0000000000..c234bed59e
--- /dev/null
+++ b/tests/PHPUnit/System/expected/test_noVisit__DevicePlugins.getPlugin_day.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<result /> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisits.xml b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisits.xml
index fcbdc9e2fd..87777d55db 100644
--- a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisits.xml
+++ b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisits.xml
@@ -46,17 +46,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -97,6 +86,17 @@
</row>
</customVariables>
<resolution>1111x222</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -159,17 +159,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -210,6 +199,17 @@
</row>
</customVariables>
<resolution>1111x222</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -328,17 +328,6 @@
<referrerUrl>http://www.google.com/search?q=this+keyword+should+be+ranked</referrerUrl>
<referrerSearchEngineUrl>http://google.com</referrerSearchEngineUrl>
<referrerSearchEngineIcon>plugins/Referrers/images/searchEngines/google.com.png</referrerSearchEngineIcon>
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -383,6 +372,17 @@
</row>
</customVariables>
<resolution>1111x222</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
diff --git a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisitsDetails_range.xml b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisitsDetails_range.xml
index fcbdc9e2fd..87777d55db 100644
--- a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisitsDetails_range.xml
+++ b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisitsDetails_range.xml
@@ -46,17 +46,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -97,6 +86,17 @@
</row>
</customVariables>
<resolution>1111x222</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -159,17 +159,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -210,6 +199,17 @@
</row>
</customVariables>
<resolution>1111x222</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -328,17 +328,6 @@
<referrerUrl>http://www.google.com/search?q=this+keyword+should+be+ranked</referrerUrl>
<referrerSearchEngineUrl>http://google.com</referrerSearchEngineUrl>
<referrerSearchEngineIcon>plugins/Referrers/images/searchEngines/google.com.png</referrerSearchEngineIcon>
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -383,6 +372,17 @@
</row>
</customVariables>
<resolution>1111x222</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
diff --git a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getVisitorProfile.xml b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getVisitorProfile.xml
index eb74418d9b..7d8348108a 100644
--- a/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getVisitorProfile.xml
+++ b/tests/PHPUnit/System/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getVisitorProfile.xml
@@ -92,17 +92,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -143,6 +132,17 @@
</row>
</customVariables>
<resolution>1111x222</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
@@ -206,17 +206,6 @@
<referrerUrl />
<referrerSearchEngineUrl />
<referrerSearchEngineIcon />
- <plugins>flash, java</plugins>
- <pluginsIcons>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
- <pluginName>flash</pluginName>
- </row>
- <row>
- <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
- <pluginName>java</pluginName>
- </row>
- </pluginsIcons>
<deviceType>Desktop</deviceType>
<operatingSystem>Windows XP</operatingSystem>
<operatingSystemCode>WXP</operatingSystemCode>
@@ -257,6 +246,17 @@
</row>
</customVariables>
<resolution>1111x222</resolution>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/DevicePlugins/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
diff --git a/tests/PHPUnit/UI b/tests/PHPUnit/UI
-Subproject 903002816d39732aa2b2e8d33286725e60c9a4f
+Subproject 185ea7d3a75041a44cd033695e3895426090ab7
diff --git a/tests/PHPUnit/Unit/DeprecatedMethodsTest.php b/tests/PHPUnit/Unit/DeprecatedMethodsTest.php
index 4cbb8e0b08..94e265c9a1 100644
--- a/tests/PHPUnit/Unit/DeprecatedMethodsTest.php
+++ b/tests/PHPUnit/Unit/DeprecatedMethodsTest.php
@@ -64,6 +64,7 @@ class DeprecatedMethodsTest extends \PHPUnit_Framework_TestCase
$this->assertDeprecatedMethodIsRemoved('Piwik\Plugins\UserSettings\API', 'getMobileVsDesktop', $validTill);
$this->assertDeprecatedMethodIsRemoved('Piwik\Plugins\UserSettings\API', 'getResolution', $validTill);
$this->assertDeprecatedMethodIsRemoved('Piwik\Plugins\UserSettings\API', 'getConfiguration', $validTill);
+ $this->assertDeprecatedMethodIsRemoved('Piwik\Plugins\UserSettings\API', 'getPlugin', $validTill);
$this->assertDeprecatedMethodIsRemoved('Piwik\Plugins\UserSettings\UserSettings', 'renameDeprecatedModuleAndAction', $validTill);
$this->assertDeprecatedMethodIsRemovedInPiwik3('\Piwik\Menu\MenuAbstract', 'add');
diff --git a/tests/PHPUnit/Unit/Log/Formatter/LineMessageFormatterTest.php b/tests/PHPUnit/Unit/Log/Formatter/LineMessageFormatterTest.php
new file mode 100644
index 0000000000..9b9aac78b1
--- /dev/null
+++ b/tests/PHPUnit/Unit/Log/Formatter/LineMessageFormatterTest.php
@@ -0,0 +1,85 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Tests\Unit\Log\Formatter;
+
+use DateTime;
+use Piwik\Log\Formatter\LineMessageFormatter;
+
+/**
+ * @group Core
+ * @group Log
+ * @covers \Piwik\Log\Formatter\LineMessageFormatter
+ */
+class LineMessageFormatterTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * @test
+ */
+ public function it_should_format_with_placeholders()
+ {
+ $formatter = new LineMessageFormatter('%level% %tag% %datetime% %message%');
+
+ $record = array(
+ 'message' => 'Hello world',
+ 'datetime' => DateTime::createFromFormat('U', 0),
+ 'level_name' => 'ERROR',
+ 'extra' => array(
+ 'class' => 'Foo'
+ ),
+ );
+
+ $formatted = "ERROR Foo 1970-01-01 00:00:00 Hello world\n";
+
+ $this->assertEquals($formatted, $formatter->format($record));
+ }
+
+ /**
+ * @test
+ */
+ public function it_should_insert_request_id_if_defined()
+ {
+ $formatter = new LineMessageFormatter('%message%');
+
+ $record = array(
+ 'message' => 'Hello world',
+ 'datetime' => DateTime::createFromFormat('U', 0),
+ 'level_name' => 'ERROR',
+ 'extra' => array(
+ 'request_id' => 'request id'
+ ),
+ );
+
+ $formatted = "[request id] Hello world\n";
+
+ $this->assertEquals($formatted, $formatter->format($record));
+ }
+
+ /**
+ * @test
+ */
+ public function it_should_indent_multiline_message()
+ {
+ $formatter = new LineMessageFormatter('%message%');
+
+ $record = array(
+ 'message' => "Hello world\ntest\ntest",
+ 'datetime' => DateTime::createFromFormat('U', 0),
+ 'level_name' => 'ERROR',
+ );
+
+ $formatted = <<<LOG
+Hello world
+ test
+ test
+
+LOG;
+
+ $this->assertEquals($formatted, $formatter->format($record));
+ }
+}
diff --git a/tests/PHPUnit/Unit/Log/Processor/ClassNameProcessorTest.php b/tests/PHPUnit/Unit/Log/Processor/ClassNameProcessorTest.php
new file mode 100644
index 0000000000..2e002196e2
--- /dev/null
+++ b/tests/PHPUnit/Unit/Log/Processor/ClassNameProcessorTest.php
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Tests\Unit\Log\Processor;
+
+use Piwik\Log\Processor\ClassNameProcessor;
+
+/**
+ * @group Core
+ * @group Log
+ * @covers \Piwik\Log\Processor\ClassNameProcessor
+ */
+class ClassNameProcessorTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * @test
+ */
+ public function it_should_append_classname_to_extra()
+ {
+ $processor = new ClassNameProcessor();
+
+ $result = $processor(array(
+ 'extra' => array(
+ 'foo' => 'bar',
+ ),
+ ));
+
+ $expected = array(
+ 'extra' => array(
+ 'foo' => 'bar',
+ 'class' => __CLASS__,
+ ),
+ );
+
+ $this->assertEquals($expected, $result);
+ }
+}
diff --git a/tests/PHPUnit/Unit/Log/Processor/ExceptionToTextProcessorTest.php b/tests/PHPUnit/Unit/Log/Processor/ExceptionToTextProcessorTest.php
new file mode 100644
index 0000000000..54cff2ae37
--- /dev/null
+++ b/tests/PHPUnit/Unit/Log/Processor/ExceptionToTextProcessorTest.php
@@ -0,0 +1,86 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Tests\Unit\Log\Processor;
+
+use Piwik\Log;
+use Piwik\Log\Processor\ExceptionToTextProcessor;
+
+/**
+ * @group Core
+ * @group Log
+ * @covers \Piwik\Log\Processor\ExceptionToTextProcessor
+ */
+class ExceptionToTextProcessorTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * @test
+ */
+ public function it_should_skip_if_no_exception()
+ {
+ $processor = new ExceptionToTextProcessor();
+
+ $record = array('message' => 'Hello world');
+
+ $this->assertEquals($record, $processor($record));
+ }
+
+ /**
+ * @test
+ */
+ public function it_should_replace_message_with_formatted_exception()
+ {
+ $processor = new ExceptionToTextProcessor();
+ Log::$debugBacktraceForTests = '[stack trace]';
+
+ $exception = new \Exception('Hello world');
+ $record = array(
+ 'context' => array(
+ 'exception' => $exception,
+ ),
+ );
+
+ $result = $processor($record);
+
+ $expected = array(
+ 'message' => __FILE__ . "(41): Hello world\n[stack trace]",
+ 'context' => array(
+ 'exception' => $exception,
+ ),
+ );
+
+ $this->assertEquals($expected, $result);
+ }
+
+ /**
+ * @test
+ */
+ public function it_should_add_severity_for_errors()
+ {
+ $processor = new ExceptionToTextProcessor();
+ Log::$debugBacktraceForTests = '[stack trace]';
+
+ $exception = new \ErrorException('Hello world', 0, 1, 'file.php', 123);
+ $record = array(
+ 'context' => array(
+ 'exception' => $exception,
+ ),
+ );
+
+ $result = $processor($record);
+
+ $expected = array(
+ 'message' => "file.php(123): Error - Hello world\n[stack trace]",
+ 'context' => array(
+ 'exception' => $exception,
+ ),
+ );
+
+ $this->assertEquals($expected, $result);
+ }
+}
diff --git a/tests/PHPUnit/Unit/Log/Processor/RequestIdProcessorTest.php b/tests/PHPUnit/Unit/Log/Processor/RequestIdProcessorTest.php
new file mode 100644
index 0000000000..b9c809b6e6
--- /dev/null
+++ b/tests/PHPUnit/Unit/Log/Processor/RequestIdProcessorTest.php
@@ -0,0 +1,62 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Tests\Unit\Log\Processor;
+
+use Piwik\Common;
+use Piwik\Log\Processor\RequestIdProcessor;
+
+/**
+ * @group Core
+ * @group Log
+ * @covers \Piwik\Log\Processor\RequestIdProcessor
+ */
+class RequestIdProcessorTest extends \PHPUnit_Framework_TestCase
+{
+ public function setUp()
+ {
+ parent::setUp();
+ Common::$isCliMode = false;
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+ Common::$isCliMode = true;
+ }
+
+ /**
+ * @test
+ */
+ public function it_should_append_request_id_to_extra()
+ {
+ $processor = new RequestIdProcessor();
+
+ $result = $processor(array());
+
+ $this->assertArrayHasKey('request_id', $result['extra']);
+ $this->assertInternalType('string', $result['extra']['request_id']);
+ $this->assertNotEmpty($result['extra']['request_id']);
+ }
+
+ /**
+ * @test
+ */
+ public function request_id_should_stay_the_same()
+ {
+ $processor = new RequestIdProcessor();
+
+ $result = $processor(array());
+ $id1 = $result['extra']['request_id'];
+
+ $result = $processor(array());
+ $id2 = $result['extra']['request_id'];
+
+ $this->assertEquals($id1, $id2);
+ }
+}
diff --git a/tests/PHPUnit/Unit/Log/Processor/SprintfProcessorTest.php b/tests/PHPUnit/Unit/Log/Processor/SprintfProcessorTest.php
new file mode 100644
index 0000000000..7966b165de
--- /dev/null
+++ b/tests/PHPUnit/Unit/Log/Processor/SprintfProcessorTest.php
@@ -0,0 +1,64 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Tests\Unit\Log\Processor;
+
+use Piwik\Log\Processor\SprintfProcessor;
+
+/**
+ * @group Core
+ * @group Log
+ * @covers \Piwik\Log\Processor\SprintfProcessor
+ */
+class SprintfProcessorTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * @test
+ */
+ public function it_should_replace_placeholders()
+ {
+ $result = $this->process(array(
+ 'message' => 'Test %s and %s.',
+ 'context' => array('here', 'there'),
+ ));
+
+ $this->assertEquals('Test here and there.', $result['message']);
+ }
+
+ /**
+ * @test
+ */
+ public function it_should_ignore_strings_without_placeholders()
+ {
+ $result = $this->process(array(
+ 'message' => 'Hello world!',
+ 'context' => array('foo', 'bar'),
+ ));
+
+ $this->assertEquals('Hello world!', $result['message']);
+ }
+
+ /**
+ * @test
+ */
+ public function it_should_serialize_arrays()
+ {
+ $result = $this->process(array(
+ 'message' => 'Error in the following modules: %s',
+ 'context' => array(array('import', 'export')),
+ ));
+
+ $this->assertEquals('Error in the following modules: ["import","export"]', $result['message']);
+ }
+
+ private function process($record)
+ {
+ $processor = new SprintfProcessor();
+ return $processor($record);
+ }
+}
diff --git a/tests/PHPUnit/bootstrap.php b/tests/PHPUnit/bootstrap.php
index a8d71efb38..0273e60d20 100644
--- a/tests/PHPUnit/bootstrap.php
+++ b/tests/PHPUnit/bootstrap.php
@@ -1,5 +1,7 @@
<?php
+use Piwik\Container\StaticContainer;
+
define('PIWIK_TEST_MODE', true);
define('PIWIK_PRINT_ERROR_BACKTRACE', false);
@@ -44,6 +46,9 @@ if (getenv('PIWIK_USE_XHPROF') == 1) {
\Piwik\Profiler::setupProfilerXHProf();
}
+// setup container for tests
+StaticContainer::setEnvironment('test');
+
// require test fixtures
$fixturesToLoad = array(
'/tests/PHPUnit/UI/Fixtures/*.php',
diff --git a/tests/resources/OmniFixture-dump.sql.gz b/tests/resources/OmniFixture-dump.sql.gz
index cc17a2a9dd..fdfa76c8ba 100644
--- a/tests/resources/OmniFixture-dump.sql.gz
+++ b/tests/resources/OmniFixture-dump.sql.gz
Binary files differ
diff --git a/tests/travis/travis.sh b/tests/travis/travis.sh
index f9f900cbda..1c75579f05 100755
--- a/tests/travis/travis.sh
+++ b/tests/travis/travis.sh
@@ -53,19 +53,19 @@ then
else
if [ -n "$PLUGIN_NAME" ]
then
- travis_wait phpunit --configuration phpunit.xml --colors --testsuite $TEST_SUITE --group $PLUGIN_NAME --coverage-clover $PIWIK_ROOT_DIR/build/logs/clover-$PLUGIN_NAME.xml
+ travis_wait phpunit --configuration phpunit.xml --colors --testsuite $TEST_SUITE --group $PLUGIN_NAME --coverage-clover $PIWIK_ROOT_DIR/build/logs/clover-$PLUGIN_NAME.xml $PHPUNIT_EXTRA_OPTIONS
else
- travis_wait phpunit --configuration phpunit.xml --testsuite $TEST_SUITE --colors
+ travis_wait phpunit --configuration phpunit.xml --testsuite $TEST_SUITE --colors $PHPUNIT_EXTRA_OPTIONS
fi
fi
else
if [ "$COVERAGE" = "Unit" ]
then
echo "Executing tests in test suite UnitTests..."
- phpunit --configuration phpunit.xml --testsuite UnitTests --colors --coverage-clover $TRAVIS_BUILD_DIR/build/logs/clover-unit.xml || true
+ phpunit --configuration phpunit.xml --testsuite UnitTests --colors --coverage-clover $TRAVIS_BUILD_DIR/build/logs/clover-unit.xml $PHPUNIT_EXTRA_OPTIONS || true
elif [ "$COVERAGE" = "Integration" ]
then
echo "Executing tests in test suite IntegrationTests..."
- phpunit --configuration phpunit.xml --testsuite IntegrationTests --colors --coverage-clover $TRAVIS_BUILD_DIR/build/logs/clover-integration.xml || true
+ phpunit --configuration phpunit.xml --testsuite IntegrationTests --colors --coverage-clover $TRAVIS_BUILD_DIR/build/logs/clover-integration.xml $PHPUNIT_EXTRA_OPTIONS || true
fi;
fi