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:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/CoreAdminHome/CustomLogo.php8
-rw-r--r--plugins/CoreUpdater/Controller.php9
-rw-r--r--plugins/CoreUpdater/lang/en.json1
-rw-r--r--plugins/ExamplePlugin/tests/System/expected/test___API.get_day.xml6
-rw-r--r--plugins/Installation/Controller.php33
-rw-r--r--plugins/Installation/FormDefaultSettings.php23
-rw-r--r--plugins/Installation/SystemCheck.php2
-rw-r--r--plugins/Installation/lang/en.json2
-rw-r--r--plugins/Installation/templates/finished.twig31
-rw-r--r--plugins/PrivacyManager/Config.php4
-rw-r--r--plugins/PrivacyManager/PrivacyManager.php63
-rw-r--r--plugins/PrivacyManager/lang/en.json1
-rw-r--r--plugins/PrivacyManager/tests/Integration/PrivacyManagerConfigTest.php14
-rw-r--r--plugins/TestRunner/Commands/TestsRunOnAws.php2
-rw-r--r--plugins/TestRunner/Runner/Remote.php6
-rw-r--r--plugins/VisitFrequency/Reports/Get.php14
-rw-r--r--plugins/VisitFrequency/VisitFrequency.php3
-rw-r--r--plugins/VisitFrequency/lang/en.json1
18 files changed, 179 insertions, 44 deletions
diff --git a/plugins/CoreAdminHome/CustomLogo.php b/plugins/CoreAdminHome/CustomLogo.php
index eda7ef0638..76f328e139 100644
--- a/plugins/CoreAdminHome/CustomLogo.php
+++ b/plugins/CoreAdminHome/CustomLogo.php
@@ -11,6 +11,7 @@ namespace Piwik\Plugins\CoreAdminHome;
use Piwik\Config;
use Piwik\Filesystem;
use Piwik\Option;
+use Piwik\Plugin\Manager;
use Piwik\SettingsPiwik;
class CustomLogo
@@ -114,7 +115,12 @@ class CustomLogo
$logo = $defaultLogo;
- $themeName = \Piwik\Plugin\Manager::getInstance()->getThemeEnabled()->getPluginName();
+ $theme = \Piwik\Plugin\Manager::getInstance()->getThemeEnabled();
+ if(!$theme) {
+ $themeName = Manager::DEFAULT_THEME;
+ } else {
+ $themeName = $theme->getPluginName();
+ }
$themeLogo = sprintf($themeLogo, $themeName);
if (file_exists($pathToPiwikRoot . '/' . $themeLogo)) {
diff --git a/plugins/CoreUpdater/Controller.php b/plugins/CoreUpdater/Controller.php
index cc27c3e9aa..5dbc14b565 100644
--- a/plugins/CoreUpdater/Controller.php
+++ b/plugins/CoreUpdater/Controller.php
@@ -36,7 +36,6 @@ use Piwik\View;
*/
class Controller extends \Piwik\Plugin\Controller
{
- const CONFIG_FILE_BACKUP = '/config/global.ini.auto-backup-before-update.php';
const PATH_TO_EXTRACT_LATEST_VERSION = '/tmp/latest/';
private $coreError = false;
@@ -97,7 +96,6 @@ class Controller extends \Piwik\Plugin\Controller
array('oneClick_Download', Piwik::translate('CoreUpdater_DownloadingUpdateFromX', $url)),
array('oneClick_Unpack', Piwik::translate('CoreUpdater_UnpackingTheUpdate')),
array('oneClick_Verify', Piwik::translate('CoreUpdater_VerifyingUnpackedFiles')),
- array('oneClick_CreateConfigFileBackup', Piwik::translate('CoreUpdater_CreatingBackupOfConfigurationFile', self::CONFIG_FILE_BACKUP))
);
$incompatiblePlugins = $this->getIncompatiblePlugins($this->newVersion);
if (!empty($incompatiblePlugins)) {
@@ -216,13 +214,6 @@ class Controller extends \Piwik\Plugin\Controller
}
}
- private function oneClick_CreateConfigFileBackup()
- {
- $configFileBefore = PIWIK_USER_PATH . '/config/global.ini.php';
- $configFileAfter = PIWIK_USER_PATH . self::CONFIG_FILE_BACKUP;
- Filesystem::copy($configFileBefore, $configFileAfter);
- }
-
private function oneClick_DisableIncompatiblePlugins()
{
$plugins = $this->getIncompatiblePlugins($this->newVersion);
diff --git a/plugins/CoreUpdater/lang/en.json b/plugins/CoreUpdater/lang/en.json
index 15285300eb..1b94754223 100644
--- a/plugins/CoreUpdater/lang/en.json
+++ b/plugins/CoreUpdater/lang/en.json
@@ -1,7 +1,6 @@
{
"CoreUpdater": {
"ClickHereToViewSqlQueries": "Click here to view and copy the list of SQL queries that will get executed",
- "CreatingBackupOfConfigurationFile": "Creating a backup of the configuration file in %s",
"CriticalErrorDuringTheUpgradeProcess": "Critical Error during the update process:",
"DatabaseUpgradeRequired": "Database Upgrade Required",
"DisablingIncompatiblePlugins": "Disabling incompatible plugins: %s",
diff --git a/plugins/ExamplePlugin/tests/System/expected/test___API.get_day.xml b/plugins/ExamplePlugin/tests/System/expected/test___API.get_day.xml
index 58296797c0..c04d73d2c7 100644
--- a/plugins/ExamplePlugin/tests/System/expected/test___API.get_day.xml
+++ b/plugins/ExamplePlugin/tests/System/expected/test___API.get_day.xml
@@ -3,7 +3,7 @@
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_visits>2</nb_visits>
<nb_users>0</nb_users>
- <nb_actions>4</nb_actions>
+ <nb_actions>4</nb_actions>
<max_actions>2</max_actions>
<bounce_rate>0%</bounce_rate>
<nb_actions_per_visit>2</nb_actions_per_visit>
@@ -11,6 +11,10 @@
<nb_visits_returning>0</nb_visits_returning>
<nb_actions_returning>0</nb_actions_returning>
<nb_uniq_visitors_returning>0</nb_uniq_visitors_returning>
+ <sum_visit_length_returning>0</sum_visit_length_returning>
+ <nb_users_returning>0</nb_users_returning>
+ <nb_visits_converted_returning>0</nb_visits_converted_returning>
+ <max_actions_returning>0</max_actions_returning>
<bounce_rate_returning>0%</bounce_rate_returning>
<nb_actions_per_visit_returning>0</nb_actions_per_visit_returning>
<avg_time_on_site_returning>0</avg_time_on_site_returning>
diff --git a/plugins/Installation/Controller.php b/plugins/Installation/Controller.php
index 0dffcd343c..a3c858f08c 100644
--- a/plugins/Installation/Controller.php
+++ b/plugins/Installation/Controller.php
@@ -24,6 +24,7 @@ use Piwik\Piwik;
use Piwik\Plugin\Manager;
use Piwik\Plugins\CoreUpdater\CoreUpdater;
use Piwik\Plugins\LanguagesManager\LanguagesManager;
+use Piwik\Plugins\PrivacyManager\IPAnonymizer;
use Piwik\Plugins\SitesManager\API as APISitesManager;
use Piwik\Plugins\UserCountry\LocationProvider;
use Piwik\Plugins\UsersManager\API as APIUsersManager;
@@ -362,8 +363,6 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
{
$this->checkPiwikIsNotInstalled();
- $this->markInstallationAsCompleted();
-
$view = new View(
'@Installation/trackingCode',
$this->getInstallationSteps(),
@@ -395,6 +394,8 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
*/
public function finished()
{
+ $this->checkPiwikIsNotInstalled();
+
$this->markInstallationAsCompleted();
$view = new View(
@@ -403,6 +404,34 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
__FUNCTION__
);
+ $form = new FormDefaultSettings();
+
+ /**
+ * Triggered on initialization of the form to customize default Piwik settings (at the end of the installation process).
+ *
+ * @param \Piwik\Plugins\Installation\FormDefaultSettings $form
+ */
+ Piwik::postEvent('Installation.defaultSettingsForm.init', array($form));
+
+ $form->addElement('submit', 'submit', array('value' => Piwik::translate('General_ContinueToPiwik') . ' ยป', 'class' => 'submit'));
+
+ if ($form->validate()) {
+ try {
+ /**
+ * Triggered on submission of the form to customize default Piwik settings (at the end of the installation process).
+ *
+ * @param \Piwik\Plugins\Installation\FormDefaultSettings $form
+ */
+ Piwik::postEvent('Installation.defaultSettingsForm.submit', array($form));
+
+ Url::redirectToUrl('index.php');
+ } catch (Exception $e) {
+ $view->errorMessage = $e->getMessage();
+ }
+ }
+
+ $view->addForm($form);
+
$view->showNextStep = false;
$output = $view->render();
diff --git a/plugins/Installation/FormDefaultSettings.php b/plugins/Installation/FormDefaultSettings.php
new file mode 100644
index 0000000000..19f24e6cda
--- /dev/null
+++ b/plugins/Installation/FormDefaultSettings.php
@@ -0,0 +1,23 @@
+<?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\Installation;
+
+use Piwik\QuickForm2;
+
+class FormDefaultSettings extends QuickForm2
+{
+ public function __construct($id = 'defaultsettingsform', $method = 'post', $attributes = null, $trackSubmit = false)
+ {
+ parent::__construct($id, $method, $attributes, $trackSubmit);
+ }
+
+ public function init()
+ {
+ }
+}
diff --git a/plugins/Installation/SystemCheck.php b/plugins/Installation/SystemCheck.php
index 29f87f2415..b175528310 100644
--- a/plugins/Installation/SystemCheck.php
+++ b/plugins/Installation/SystemCheck.php
@@ -332,7 +332,7 @@ class SystemCheck
public static function isPhpVersionValid($phpVersion)
{
global $piwik_minimumPHPVersion;
- return version_compare($piwik_minimumPHPVersion, $phpVersion) === -1;
+ return version_compare($piwik_minimumPHPVersion, $phpVersion) <= 0;
}
} \ No newline at end of file
diff --git a/plugins/Installation/lang/en.json b/plugins/Installation/lang/en.json
index 742bc0744d..df8fd6e53a 100644
--- a/plugins/Installation/lang/en.json
+++ b/plugins/Installation/lang/en.json
@@ -43,6 +43,8 @@
"PercentDone": "%s %% Done",
"PleaseFixTheFollowingErrors": "Please fix the following errors",
"PluginDescription": "Installation process of Piwik. The Installation is usually done once only. If the configuration file config\/config.inc.php is deleted, the installation will start again.",
+ "DefaultSettings": "Default Piwik settings",
+ "DefaultSettingsHelp": "Piwik comes with default settings. You can customize them now or do so later in the admin screen.",
"Requirements": "Piwik Requirements",
"RestartWebServer": "After making this change, restart your web server.",
"ReusingTables": "Reusing the Tables",
diff --git a/plugins/Installation/templates/finished.twig b/plugins/Installation/templates/finished.twig
index 81b2e03276..468fe0600b 100644
--- a/plugins/Installation/templates/finished.twig
+++ b/plugins/Installation/templates/finished.twig
@@ -1,23 +1,34 @@
{% extends '@Installation/layout.twig' %}
{% block content %}
-<h2>{{ 'Installation_Congratulations'|translate|raw }}</h2>
+<h2>{{ 'Installation_Congratulations'|translate|raw }}</h2>
{{ 'Installation_CongratulationsHelp'|translate|raw }}
+<br/>
- <br/>
<h2>{{ 'Installation_WelcomeToCommunity'|translate }}</h2>
<p>
-{{ 'Installation_CollaborativeProject'|translate }}
-</p><p>
+ {{ 'Installation_CollaborativeProject'|translate }}
+</p>
+<p>
{{ 'Installation_GetInvolved'|translate('<a target="_blank" href="http://piwik.org/get-involved/">','</a>')|raw }}
- {{ 'General_HelpTranslatePiwik'|translate("<a target='_blank' href=\'http://piwik.org/translations/\'>","<\/a>")|raw }}
+ {{ 'General_HelpTranslatePiwik'|translate("<a target='_blank' href=\'http://piwik.org/translations/\'>","<\/a>")|raw }}
</p>
- <p>{{ 'Installation_WeHopeYouWillEnjoyPiwik'|translate }}</p>
- <p><i>{{ 'Installation_HappyAnalysing'|translate }}</i></p>
+<p>{{ 'Installation_WeHopeYouWillEnjoyPiwik'|translate }}</p>
+<p><i>{{ 'Installation_HappyAnalysing'|translate }}</i></p>
+<br/>
-<p class="nextStep">
- <a class="submit" href="index.php">{{ 'General_ContinueToPiwik'|translate }} &raquo;</a>
+<h2>{{ 'Installation_DefaultSettings'|translate }}</h2>
+<p>{{ 'Installation_DefaultSettingsHelp'|translate }}</p>
+{% if errorMessage is defined %}
+ <div class="error">
+ <img src="plugins/Morpheus/images/error_medium.png"/>
+ {{ 'General_Error'|translate }}:
+ <br/>- {{ errorMessage|raw }}
+ </div>
+{% endif %}
+{% if form_data is defined %}
+ {% include "genericForm.twig" %}
+{% endif %}
-</p>
{% endblock %}
diff --git a/plugins/PrivacyManager/Config.php b/plugins/PrivacyManager/Config.php
index a1e3929fa5..ac6e143b11 100644
--- a/plugins/PrivacyManager/Config.php
+++ b/plugins/PrivacyManager/Config.php
@@ -28,9 +28,9 @@ class Config
{
private $properties = array(
'useAnonymizedIpForVisitEnrichment' => array('type' => 'boolean', 'default' => true),
- 'ipAddressMaskLength' => array('type' => 'integer', 'default' => 1),
+ 'ipAddressMaskLength' => array('type' => 'integer', 'default' => 2),
'doNotTrackEnabled' => array('type' => 'boolean', 'default' => true),
- 'ipAnonymizerEnabled' => array('type' => 'boolean', 'default' => false),
+ 'ipAnonymizerEnabled' => array('type' => 'boolean', 'default' => true),
);
public function __set($name, $value)
diff --git a/plugins/PrivacyManager/PrivacyManager.php b/plugins/PrivacyManager/PrivacyManager.php
index b96cc7beed..ddce27fa3c 100644
--- a/plugins/PrivacyManager/PrivacyManager.php
+++ b/plugins/PrivacyManager/PrivacyManager.php
@@ -8,6 +8,7 @@
*/
namespace Piwik\Plugins\PrivacyManager;
+use HTML_QuickForm2_DataSource_Array;
use Piwik\Common;
use Piwik\Config as PiwikConfig;
use Piwik\DataTable\DataTableInterface;
@@ -17,7 +18,10 @@ use Piwik\Metrics;
use Piwik\Option;
use Piwik\Period;
use Piwik\Period\Range;
+use Piwik\Piwik;
+use Piwik\Plugin;
use Piwik\Plugins\Goals\Archiver;
+use Piwik\Plugins\Installation\FormDefaultSettings;
use Piwik\Site;
use Piwik\Tracker\GoalManager;
@@ -32,7 +36,7 @@ require_once PIWIK_INCLUDE_PATH . '/plugins/PrivacyManager/IPAnonymizer.php';
/**
*/
-class PrivacyManager extends \Piwik\Plugin
+class PrivacyManager extends Plugin
{
const OPTION_LAST_DELETE_PIWIK_LOGS = "lastDelete_piwik_logs";
const OPTION_LAST_DELETE_PIWIK_REPORTS = 'lastDelete_piwik_reports';
@@ -133,10 +137,12 @@ class PrivacyManager extends \Piwik\Plugin
public function getListHooksRegistered()
{
return array(
- 'AssetManager.getJavaScriptFiles' => 'getJsFiles',
- 'Tracker.setTrackerCacheGeneral' => 'setTrackerCacheGeneral',
- 'Tracker.isExcludedVisit' => array($this->dntChecker, 'checkHeaderInTracker'),
- 'Tracker.setVisitorIp' => array($this->ipAnonymizer, 'setVisitorIpAddress'),
+ 'AssetManager.getJavaScriptFiles' => 'getJsFiles',
+ 'Tracker.setTrackerCacheGeneral' => 'setTrackerCacheGeneral',
+ 'Tracker.isExcludedVisit' => array($this->dntChecker, 'checkHeaderInTracker'),
+ 'Tracker.setVisitorIp' => array($this->ipAnonymizer, 'setVisitorIpAddress'),
+ 'Installation.defaultSettingsForm.init' => 'installationFormInit',
+ 'Installation.defaultSettingsForm.submit' => 'installationFormSubmit',
);
}
@@ -152,6 +158,53 @@ class PrivacyManager extends \Piwik\Plugin
}
/**
+ * Customize the Installation "default settings" form.
+ *
+ * @param FormDefaultSettings $form
+ */
+ public function installationFormInit(FormDefaultSettings $form)
+ {
+ $form->addElement('checkbox', 'do_not_track', null,
+ array(
+ 'content' => '&nbsp;&nbsp;' . Piwik::translate('PrivacyManager_DoNotTrack_Enable') . '<br>'
+ . Piwik::translate('PrivacyManager_DoNotTrack_EnabledMoreInfo'),
+ ));
+ $form->addElement('checkbox', 'anonymise_ip', null,
+ array(
+ 'content' => '&nbsp;&nbsp;' . Piwik::translate('PrivacyManager_AnonymizeIpInlineHelp') . '<br>'
+ . Piwik::translate('PrivacyManager_AnonymizeIpExtendedHelp', array('213.34.51.91', '213.34.0.0')),
+ ));
+
+ // default values
+ $form->addDataSource(new HTML_QuickForm2_DataSource_Array(array(
+ 'do_not_track' => DoNotTrackHeaderChecker::isActive(),
+ 'anonymise_ip' => IPAnonymizer::isActive(),
+ )));
+ }
+
+ /**
+ * Process the submit on the Installation "default settings" form.
+ *
+ * @param FormDefaultSettings $form
+ */
+ public function installationFormSubmit(FormDefaultSettings $form)
+ {
+ $doNotTrack = (bool) $form->getSubmitValue('do_not_track');
+ if ($doNotTrack) {
+ DoNotTrackHeaderChecker::activate();
+ } else {
+ DoNotTrackHeaderChecker::deactivate();
+ }
+
+ $anonymiseIp = (bool) $form->getSubmitValue('anonymise_ip');
+ if ($anonymiseIp) {
+ IPAnonymizer::activate();
+ } else {
+ IPAnonymizer::deactivate();
+ }
+ }
+
+ /**
* Returns the settings for the data purging feature.
*
* @return array
diff --git a/plugins/PrivacyManager/lang/en.json b/plugins/PrivacyManager/lang/en.json
index 801cb91dec..aa84139e89 100644
--- a/plugins/PrivacyManager/lang/en.json
+++ b/plugins/PrivacyManager/lang/en.json
@@ -2,6 +2,7 @@
"PrivacyManager": {
"AnonymizeIpDescription": "Select \"Yes\" if you want Piwik not to track fully qualified IP-Addresses.",
"AnonymizeIpInlineHelp": "Anonymize the last byte(s) of visitors IP addresses to comply with your local privacy laws\/guidelines.",
+ "AnonymizeIpExtendedHelp": "When users visit your website, Piwik will not use the full IP address (such as %s) but instead Piwik will anonymise it first (to %s). IP address anonymisation is one of the requirements set by the privacy laws in some countries such as Germany.",
"AnonymizeIpMaskLengtDescription": "Select how many bytes of the visitors' IPs should be masked.",
"AnonymizeIpMaskLength": "%s byte(s) - e.g. %s",
"CannotLockSoDeleteLogActions": "The log_action table will not be purged: please grant the LOCK TABLES privilege to the '%s' MYSQL user.",
diff --git a/plugins/PrivacyManager/tests/Integration/PrivacyManagerConfigTest.php b/plugins/PrivacyManager/tests/Integration/PrivacyManagerConfigTest.php
index 4d2a121ee3..1e17f7253f 100644
--- a/plugins/PrivacyManager/tests/Integration/PrivacyManagerConfigTest.php
+++ b/plugins/PrivacyManager/tests/Integration/PrivacyManagerConfigTest.php
@@ -13,8 +13,6 @@ use Piwik\Plugins\PrivacyManager\Config as PrivacyManagerConfig;
use Piwik\Tests\Framework\TestCase\IntegrationTestCase;
/**
- * Class Plugins_SitesManagerTest
- *
* @group Plugins
*/
class PrivacyManagerConfigTest extends IntegrationTestCase
@@ -59,16 +57,16 @@ class PrivacyManagerConfigTest extends IntegrationTestCase
public function test_ipAnonymizerEnabled()
{
- $this->assertFalse($this->config->ipAnonymizerEnabled);
+ $this->assertTrue($this->config->ipAnonymizerEnabled);
- $this->config->ipAnonymizerEnabled = true;
+ $this->config->ipAnonymizerEnabled = false;
- $this->assertTrue($this->config->ipAnonymizerEnabled);
+ $this->assertFalse($this->config->ipAnonymizerEnabled);
}
public function test_ipAddressMaskLength()
{
- $this->assertSame(1, $this->config->ipAddressMaskLength);
+ $this->assertSame(2, $this->config->ipAddressMaskLength);
$this->config->ipAddressMaskLength = '19';
@@ -81,8 +79,8 @@ class PrivacyManagerConfigTest extends IntegrationTestCase
$expected = array(
'existingEntry' => 'test',
- 'PrivacyManager.ipAddressMaskLength' => 1,
- 'PrivacyManager.ipAnonymizerEnabled' => false,
+ 'PrivacyManager.ipAddressMaskLength' => 2,
+ 'PrivacyManager.ipAnonymizerEnabled' => true,
'PrivacyManager.doNotTrackEnabled' => true,
'PrivacyManager.useAnonymizedIpForVisitEnrichment' => true,
);
diff --git a/plugins/TestRunner/Commands/TestsRunOnAws.php b/plugins/TestRunner/Commands/TestsRunOnAws.php
index 6f88dd4a5d..c894f80e90 100644
--- a/plugins/TestRunner/Commands/TestsRunOnAws.php
+++ b/plugins/TestRunner/Commands/TestsRunOnAws.php
@@ -148,7 +148,7 @@ This feature is still beta and there might be problems with pictures and/or bina
private function buildFinishedMessage($testSuite, $host)
{
if (in_array($testSuite, array('system', 'all'))) {
- $message = "<info>Tests finished. You can browse processed files at </info><comment>http://$host/tests/PHPUnit/System/processed/</comment>";
+ $message = "<info>Tests finished. You can browse processed files and download artifacts at </info><comment>http://$host/tests/PHPUnit/System/processed/</comment>";
} elseif ('ui' === $testSuite) {
$message = "<info>Tests finished. You can browse processed screenshots at </info><comment>http://$host/tests/PHPUnit/UI/screenshot-diffs/diffviewer.html</comment>";
} else {
diff --git a/plugins/TestRunner/Runner/Remote.php b/plugins/TestRunner/Runner/Remote.php
index 63fe7a4963..49127c45f9 100644
--- a/plugins/TestRunner/Runner/Remote.php
+++ b/plugins/TestRunner/Runner/Remote.php
@@ -28,10 +28,10 @@ class Remote
$this->ssh->exec('git reset --hard');
$this->ssh->exec('git submodule foreach --recursive git reset --hard');
$this->ssh->exec('git clean -d -f');
+ $this->ssh->exec('git submodule foreach git clean -f');
$this->ssh->exec('git fetch --all');
$this->ssh->exec('git checkout ' . trim($gitHash));
$this->ssh->exec('git submodule update --recursive --force');
- $this->ssh->exec('git submodule foreach git clean -f');
$this->ssh->exec('composer.phar install');
}
@@ -88,5 +88,9 @@ class Remote
$this->ssh->exec('php console tests:run --options="--colors" --testsuite="unit"');
$this->ssh->exec('php console tests:run --options="--colors" --testsuite="' . $testSuite . '"');
}
+
+ if ('system' === $testSuite) {
+ $this->ssh->exec("tar -cjf tests/PHPUnit/System/processed/processed.tar.bz2 tests/PHPUnit/System/processed/ plugins/*/tests/System/processed/ --exclude='.gitkeep' --exclude='tests/PHPUnit/System/processed/processed.tar.bz2'");
+ }
}
}
diff --git a/plugins/VisitFrequency/Reports/Get.php b/plugins/VisitFrequency/Reports/Get.php
index 2c7d8fb21f..5db2ebebf6 100644
--- a/plugins/VisitFrequency/Reports/Get.php
+++ b/plugins/VisitFrequency/Reports/Get.php
@@ -18,7 +18,19 @@ class Get extends \Piwik\Plugin\Report
$this->category = 'General_Visitors';
$this->name = Piwik::translate('VisitFrequency_ColumnReturningVisits');
$this->documentation = ''; // TODO
- $this->metrics = array('nb_visits_returning', 'nb_actions_returning', 'avg_time_on_site_returning', 'bounce_rate_returning', 'nb_actions_per_visit_returning', 'nb_uniq_visitors_returning');
+ $this->metrics = array(
+ 'nb_visits_returning',
+ 'nb_actions_returning',
+ 'avg_time_on_site_returning',
+ 'bounce_rate_returning',
+ 'nb_actions_per_visit_returning',
+ 'nb_uniq_visitors_returning',
+ 'sum_visit_length_returning',
+ 'nb_users_returning',
+ 'nb_visits_converted_returning',
+ 'sum_visit_length_returning',
+ 'max_actions_returning'
+ );
$this->processedMetrics = false;
$this->order = 40;
}
diff --git a/plugins/VisitFrequency/VisitFrequency.php b/plugins/VisitFrequency/VisitFrequency.php
index 079b5ddf60..ad7451e0ce 100644
--- a/plugins/VisitFrequency/VisitFrequency.php
+++ b/plugins/VisitFrequency/VisitFrequency.php
@@ -31,7 +31,8 @@ class VisitFrequency extends \Piwik\Plugin
'avg_time_on_site_returning' => 'VisitFrequency_ColumnAverageVisitDurationForReturningVisitors',
'bounce_rate_returning' => 'VisitFrequency_ColumnBounceRateForReturningVisits',
'nb_actions_per_visit_returning' => 'VisitFrequency_ColumnAvgActionsPerReturningVisit',
- 'nb_uniq_visitors_returning' => 'VisitFrequency_ColumnUniqueReturningVisitors'
+ 'nb_uniq_visitors_returning' => 'VisitFrequency_ColumnUniqueReturningVisitors',
+ 'nb_users_returning' => 'VisitFrequency_ColumnReturningUsers'
);
$translations = array_merge($translations, $metrics);
diff --git a/plugins/VisitFrequency/lang/en.json b/plugins/VisitFrequency/lang/en.json
index 8d2fb230e7..ac8a2c3cd1 100644
--- a/plugins/VisitFrequency/lang/en.json
+++ b/plugins/VisitFrequency/lang/en.json
@@ -10,6 +10,7 @@
"ColumnReturningVisits": "Returning Visits",
"ColumnSumVisitLengthReturning": "Total time spent by returning visitors (in seconds)",
"ColumnUniqueReturningVisitors": "Unique returning visitors",
+ "ColumnReturningUsers": "Returning Users",
"PluginDescription": "Reports various statistics about the Returning Visitor versus the First time visitor.",
"ReturnActions": "%s actions by the returning visits",
"ReturnAverageVisitDuration": "%s average visit duration for returning visitors",