From 0fe4509a9494f83632cc2ca3a8c4bee94225ff68 Mon Sep 17 00:00:00 2001 From: mattab Date: Wed, 7 Dec 2016 01:28:31 +1300 Subject: Minor wording change --- plugins/CoreUpdater/lang/en.json | 2 +- plugins/CoreUpdater/templates/updateSuccess.twig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/CoreUpdater/lang/en.json b/plugins/CoreUpdater/lang/en.json index 531481230a..c75736c204 100644 --- a/plugins/CoreUpdater/lang/en.json +++ b/plugins/CoreUpdater/lang/en.json @@ -59,7 +59,7 @@ "ThankYouUpdatePiwik": "Thank you for using Piwik and keeping it up to date!", "PostUpdateMessage": "Piwik will always be free to download and use, but it needs your continued support to grow and improve.", "PostUpdateSupport": "If you need help using Piwik, you can get support from its creators:", - "ProfessionalServices": "Professional Services", + "ServicesSupport": "Services & Support", "CloudHosting": "Cloud hosting", "Updating": "Updating", "UpdateUsingHttpsFailed": "Downloading the latest Piwik version over secure HTTPS connection did not succeed, because of the following error:", diff --git a/plugins/CoreUpdater/templates/updateSuccess.twig b/plugins/CoreUpdater/templates/updateSuccess.twig index a075e35730..0e57bade27 100644 --- a/plugins/CoreUpdater/templates/updateSuccess.twig +++ b/plugins/CoreUpdater/templates/updateSuccess.twig @@ -24,7 +24,7 @@
{{ 'CoreUpdater_CloudHosting'|translate }} -- cgit v1.2.3 From 7c43d162e894fddf2edf78a6d7a5b3301bb8ce98 Mon Sep 17 00:00:00 2001 From: mattab Date: Wed, 7 Dec 2016 02:09:11 +1300 Subject: UI tests Piwik 3.x --- tests/UI/expected-screenshots/DashboardManager_expanded.png | 2 +- tests/UI/expected-screenshots/DashboardManager_removed.png | 4 ++-- tests/UI/expected-screenshots/DashboardManager_widget_list_shown.png | 2 +- tests/UI/expected-screenshots/DashboardManager_widget_preview.png | 4 ++-- tests/UI/expected-screenshots/Dashboard_removed.png | 4 ++-- tests/UI/expected-screenshots/PivotByDimension_pivoted.png | 4 ++-- tests/UI/expected-screenshots/QuickAccess_shortcut.png | 4 ++-- tests/UI/expected-screenshots/Theme_home.png | 4 ++-- tests/UI/expected-screenshots/UIIntegrationTest_admin_home.png | 4 ++-- tests/UI/expected-screenshots/UIIntegrationTest_dashboard1.png | 4 ++-- tests/UI/expected-screenshots/UIIntegrationTest_dashboard2.png | 4 ++-- tests/UI/expected-screenshots/UIIntegrationTest_dashboard3.png | 4 ++-- tests/UI/expected-screenshots/UIIntegrationTest_dashboard4.png | 4 ++-- .../UI/expected-screenshots/UIIntegrationTest_menu_apidisallowed.png | 4 ++-- tests/UI/expected-screenshots/UIIntegrationTest_widgets_listing.png | 4 ++-- 15 files changed, 28 insertions(+), 28 deletions(-) diff --git a/tests/UI/expected-screenshots/DashboardManager_expanded.png b/tests/UI/expected-screenshots/DashboardManager_expanded.png index 03c98e51cf..cf63988ca4 100644 --- a/tests/UI/expected-screenshots/DashboardManager_expanded.png +++ b/tests/UI/expected-screenshots/DashboardManager_expanded.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6c1030ac68bbe0fb9baf84a4be91c92b37c52541e13edd3c67515f9e865dc45c +oid sha256:94ab82e309d168027b35fed07b6d294d19f61a5cc6a7e15da2747c8a47a41ec7 size 44477 diff --git a/tests/UI/expected-screenshots/DashboardManager_removed.png b/tests/UI/expected-screenshots/DashboardManager_removed.png index d70f76cf56..82a3f3a9d0 100644 --- a/tests/UI/expected-screenshots/DashboardManager_removed.png +++ b/tests/UI/expected-screenshots/DashboardManager_removed.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aa0a041726ebcc8f3537f549baa95f71e79a1a3a9bca6e21767514b03672b9d1 -size 366033 +oid sha256:c5d3e67e9beee26b4feb388c1a251349704a75040c9d3333fc33455d83fa3756 +size 365232 diff --git a/tests/UI/expected-screenshots/DashboardManager_widget_list_shown.png b/tests/UI/expected-screenshots/DashboardManager_widget_list_shown.png index 2211071116..8c57d00116 100644 --- a/tests/UI/expected-screenshots/DashboardManager_widget_list_shown.png +++ b/tests/UI/expected-screenshots/DashboardManager_widget_list_shown.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ce88bb1a6ad4eec0abd85f53526fe464e5a423ff8f28ad63ea9f7aac679d9471 +oid sha256:647ddd3e486c79e970bde2ce7479c0397fa2342f0cfaf53e7430d6558e6ac01d size 54385 diff --git a/tests/UI/expected-screenshots/DashboardManager_widget_preview.png b/tests/UI/expected-screenshots/DashboardManager_widget_preview.png index 03f18720d0..4bfc0b7391 100644 --- a/tests/UI/expected-screenshots/DashboardManager_widget_preview.png +++ b/tests/UI/expected-screenshots/DashboardManager_widget_preview.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d84f304a6f52151dd3dc34e72dd938e0a2078632041af219a935c431191fff69 -size 65779 +oid sha256:4f0766bba522362ab240225d22414f2c6040f16f5574abeaba379d30a28d17ac +size 65781 diff --git a/tests/UI/expected-screenshots/Dashboard_removed.png b/tests/UI/expected-screenshots/Dashboard_removed.png index 3dfed681ec..7f8db17a75 100644 --- a/tests/UI/expected-screenshots/Dashboard_removed.png +++ b/tests/UI/expected-screenshots/Dashboard_removed.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:094c77d5be79255b5e8eb93ddb53fd714aad2f9f932d38dbd4740ec4ab078bc8 -size 535332 +oid sha256:cf3579f0bf10409d7676749c0c224b52d774dd21d171359cbcd965ad42b3926c +size 534374 diff --git a/tests/UI/expected-screenshots/PivotByDimension_pivoted.png b/tests/UI/expected-screenshots/PivotByDimension_pivoted.png index 141ba6a2f2..ff1a1d1ede 100644 --- a/tests/UI/expected-screenshots/PivotByDimension_pivoted.png +++ b/tests/UI/expected-screenshots/PivotByDimension_pivoted.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8505c59d6df18932c00a6d72b1cc7259f5dcfc702943b68dfbd1e1897842e40a -size 34976 +oid sha256:27b0bb8135ee54541672b136ed534f979f458cb1aa4191a69d4f2d2ae2fc6313 +size 69880 diff --git a/tests/UI/expected-screenshots/QuickAccess_shortcut.png b/tests/UI/expected-screenshots/QuickAccess_shortcut.png index 891d4d37bb..f8a581acf6 100644 --- a/tests/UI/expected-screenshots/QuickAccess_shortcut.png +++ b/tests/UI/expected-screenshots/QuickAccess_shortcut.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e51b953b731613646113bea6f8f4acb3df91298ff7ca7d8faa341b7a1aaca1f9 -size 1635 +oid sha256:dfcc43e4f2e94c527909ec3fe3663ad01a15b1e33b18e5af6dc75cfb7a3f881b +size 226 diff --git a/tests/UI/expected-screenshots/Theme_home.png b/tests/UI/expected-screenshots/Theme_home.png index 584f5f65da..d964b4da35 100644 --- a/tests/UI/expected-screenshots/Theme_home.png +++ b/tests/UI/expected-screenshots/Theme_home.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:504c3aa759fee908e82a3b7614e368a1805ffede39d077c1402a7be546ffbf41 -size 535353 +oid sha256:341405323fc6fad225a921e8c95cc105620e64091e39145d0c8d43065f2deb6b +size 534631 diff --git a/tests/UI/expected-screenshots/UIIntegrationTest_admin_home.png b/tests/UI/expected-screenshots/UIIntegrationTest_admin_home.png index 51cc1a7934..a151fb3ca1 100644 --- a/tests/UI/expected-screenshots/UIIntegrationTest_admin_home.png +++ b/tests/UI/expected-screenshots/UIIntegrationTest_admin_home.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:435d01a67852dc26ff35e09ad95deb74a3a67572d9c4225bfeb2ce4db9eb8bf5 -size 116872 +oid sha256:13c4d8d62f227c97b1861f178e643e0c68b37a96b917efbbf8e55b2014d5e4a7 +size 124829 diff --git a/tests/UI/expected-screenshots/UIIntegrationTest_dashboard1.png b/tests/UI/expected-screenshots/UIIntegrationTest_dashboard1.png index 5fb5649308..f3c20e75ca 100644 --- a/tests/UI/expected-screenshots/UIIntegrationTest_dashboard1.png +++ b/tests/UI/expected-screenshots/UIIntegrationTest_dashboard1.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5bf33416957124cd0b7d6ff1798feaed103d14a616ec2cd59f59f2e388255480 -size 483771 +oid sha256:d5ee54b34b3bbe7f5710d258a047d5edd5a97579fd4283fcd7aab54d167ae29b +size 482817 diff --git a/tests/UI/expected-screenshots/UIIntegrationTest_dashboard2.png b/tests/UI/expected-screenshots/UIIntegrationTest_dashboard2.png index 6a6af904d6..2dee64bd38 100644 --- a/tests/UI/expected-screenshots/UIIntegrationTest_dashboard2.png +++ b/tests/UI/expected-screenshots/UIIntegrationTest_dashboard2.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:33eb54cef59315a69aae32573c55261044e5352b0616f3477ac61d14343c2a1d -size 1445972 +oid sha256:8978656fc4b1fe831280c928ae2977181e92ac556be424924b6984ca307330bf +size 1445920 diff --git a/tests/UI/expected-screenshots/UIIntegrationTest_dashboard3.png b/tests/UI/expected-screenshots/UIIntegrationTest_dashboard3.png index e9247c2ccc..5410dbf7c7 100644 --- a/tests/UI/expected-screenshots/UIIntegrationTest_dashboard3.png +++ b/tests/UI/expected-screenshots/UIIntegrationTest_dashboard3.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e416ee88a474f7256e8ec6ebe2a0ba00caa6dc9a226db45aa5c468f910474a52 -size 494000 +oid sha256:f553b9822241920129e8d8abc38214622c71a562089269492a426f2018bf10ca +size 428163 diff --git a/tests/UI/expected-screenshots/UIIntegrationTest_dashboard4.png b/tests/UI/expected-screenshots/UIIntegrationTest_dashboard4.png index 2dff1ea755..012c2e55ac 100644 --- a/tests/UI/expected-screenshots/UIIntegrationTest_dashboard4.png +++ b/tests/UI/expected-screenshots/UIIntegrationTest_dashboard4.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:15e85dd5be18d1eb9d06aca262413267e9f691240c6f8b2c0c87ae1c29bc74c8 -size 145992 +oid sha256:282a66980bbcd5b914d9ea47a6cc6f13483cfb800b8531a5ad5516b3f6f2a545 +size 220065 diff --git a/tests/UI/expected-screenshots/UIIntegrationTest_menu_apidisallowed.png b/tests/UI/expected-screenshots/UIIntegrationTest_menu_apidisallowed.png index c4fb2b2bfc..9db129c064 100644 --- a/tests/UI/expected-screenshots/UIIntegrationTest_menu_apidisallowed.png +++ b/tests/UI/expected-screenshots/UIIntegrationTest_menu_apidisallowed.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:98da8cf2c14e8f1b2d8382000cd96e7462ef8e55d634bd97355ae7bd2fe9aebd -size 491070 +oid sha256:1debe699b6d91a94f0ac6fdf0efadeb97cd1894e92913a4b90b22ea4dad12d1d +size 490045 diff --git a/tests/UI/expected-screenshots/UIIntegrationTest_widgets_listing.png b/tests/UI/expected-screenshots/UIIntegrationTest_widgets_listing.png index eaf22538af..7f95ea0dc6 100644 --- a/tests/UI/expected-screenshots/UIIntegrationTest_widgets_listing.png +++ b/tests/UI/expected-screenshots/UIIntegrationTest_widgets_listing.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b013eab8d4b17be33b9d3c956531b72bf5d931e27fa3a459d44a6af45b92a77c -size 179766 +oid sha256:f6e4f0981df22c428c76d6ed70bb78c84ef6ad7972d8505173da57f516b1b2eb +size 179771 -- cgit v1.2.3 From 2de3a66c8c27d4ef0d6fb155b5159c7af2d99d91 Mon Sep 17 00:00:00 2001 From: Matthieu Aubry Date: Thu, 8 Dec 2016 10:26:41 +1300 Subject: Display tooltip introducing Funnels in the goal editor (#10981) --- plugins/Feedback/templates/index.twig | 2 +- plugins/Goals/templates/addNewGoal.twig | 1 + plugins/Marketplace/tests/System/Api/ClientTest.php | 1 + plugins/ProfessionalServices/ProfessionalServices.php | 18 ++++++++++++++++++ plugins/ProfessionalServices/Promo.php | 8 ++++++++ 5 files changed, 29 insertions(+), 1 deletion(-) diff --git a/plugins/Feedback/templates/index.twig b/plugins/Feedback/templates/index.twig index b729b6b96f..80d7d0350f 100644 --- a/plugins/Feedback/templates/index.twig +++ b/plugins/Feedback/templates/index.twig @@ -59,7 +59,7 @@

Grow your business, understand your audience better and increase your sales and conversions with a premium plugin for Piwik:

A/B Testing Platform for Piwik Analytics.

-

Conversion Funnels. +

Conversion Funnels.

Powerful Video Analytics and Audio Analytics.

diff --git a/plugins/Goals/templates/addNewGoal.twig b/plugins/Goals/templates/addNewGoal.twig index 9b7819d7f9..ae57805f3c 100644 --- a/plugins/Goals/templates/addNewGoal.twig +++ b/plugins/Goals/templates/addNewGoal.twig @@ -17,5 +17,6 @@ {{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("","")|raw }}

+ {{ postEvent("Template.afterGoalCannotAddNewGoal") }} {% endif %} diff --git a/plugins/Marketplace/tests/System/Api/ClientTest.php b/plugins/Marketplace/tests/System/Api/ClientTest.php index e38fb809e1..8c3616321f 100644 --- a/plugins/Marketplace/tests/System/Api/ClientTest.php +++ b/plugins/Marketplace/tests/System/Api/ClientTest.php @@ -79,6 +79,7 @@ class ClientTest extends SystemTestCase 'shop', 'versions', 'isDownloadable', + 'changelog', 'consumer'); $this->assertNotEmpty($plugin); diff --git a/plugins/ProfessionalServices/ProfessionalServices.php b/plugins/ProfessionalServices/ProfessionalServices.php index 2dd0811b6b..8dafa079bd 100644 --- a/plugins/ProfessionalServices/ProfessionalServices.php +++ b/plugins/ProfessionalServices/ProfessionalServices.php @@ -21,6 +21,8 @@ class ProfessionalServices extends \Piwik\Plugin 'AssetManager.getStylesheetFiles' => 'getStylesheetFiles', 'Request.getRenamedModuleAndAction' => 'renameProfessionalServicesModule', 'Template.afterGoalConversionOverviewReport' => array('function' => 'getGoalOverviewPromo', 'after' => true), + 'Template.afterGoalCannotAddNewGoal' => array('function' => 'getGoalOverviewPromo', 'after' => true), + 'Template.endGoalEditTable' => array('function' => 'getGoalFunnelOverviewPromo', 'after' => true), 'Template.afterEventsReport' => 'getEventsPromo', ); } @@ -56,6 +58,22 @@ class ProfessionalServices extends \Piwik\Plugin return $isWidget; } + public function getGoalFunnelOverviewPromo(&$out) + { + if(\Piwik\Plugin\Manager::getInstance()->isPluginActivated('Funnels') + || $this->isRequestForDashboardWidget()) { + return; + } + + $out .= ' +

Did you know? + A Funnel defines a series of actions that you expect your visitors to take on their way to converting a goal. +
With Funnels for Piwik, + you can easily determine your funnel and see where your visitors drop off and how to focus efforts to increase your conversions. +

'; + } + + public function getGoalOverviewPromo(&$out) { if(\Piwik\Plugin\Manager::getInstance()->isPluginActivated('AbTesting') diff --git a/plugins/ProfessionalServices/Promo.php b/plugins/ProfessionalServices/Promo.php index afbe6d0bd0..630b2c98c0 100644 --- a/plugins/ProfessionalServices/Promo.php +++ b/plugins/ProfessionalServices/Promo.php @@ -44,6 +44,13 @@ class Promo 'text' => 'Get powerful insights into how your audience watches your videos and listens to your audio. Media Analytics is now available on the Marketplace.', ), + // Funnels + array( + 'campaignContent' => 'funnels', + 'url' => 'https://piwik.org/recommends/conversion-funnels', + 'text' => 'Increase your conversions, sales and revenue by understanding your conversion funnels and where your visitors drop off with Funnels for Piwik.' + ), + // Piwik training array( 'campaignContent' => 'userTraining', @@ -52,6 +59,7 @@ class Promo ), + // Piwik PRO // https://piwik.org/recommends/piwik-pro-from-app array( -- cgit v1.2.3 From d530258efe4e3b9554c84eb98f6037867fffd55e Mon Sep 17 00:00:00 2001 From: Thomas Steur Date: Fri, 9 Dec 2016 16:17:36 +1300 Subject: Fix block quotes are not shown correctly in plugin details (#10988) See Funnels plugin where the first part is a block quote --- plugins/Marketplace/stylesheets/plugin-details.less | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/plugins/Marketplace/stylesheets/plugin-details.less b/plugins/Marketplace/stylesheets/plugin-details.less index 445dcc7d21..46ca2b7526 100644 --- a/plugins/Marketplace/stylesheets/plugin-details.less +++ b/plugins/Marketplace/stylesheets/plugin-details.less @@ -25,6 +25,12 @@ background-position: center; } + blockquote { + margin: 20px 0; + padding-left: 1.5rem; + border-left: 5px solid #ee6e73; + } + .tab-content ul, .tab-content ol { list-style: initial; padding-left: 20px; -- cgit v1.2.3 From 8aec36a019c1687aee46faf33db368766843cca7 Mon Sep 17 00:00:00 2001 From: Thomas Steur Date: Fri, 9 Dec 2016 16:19:21 +1300 Subject: fix marketplace might not search for plugins correctly (#10986) --- core/Http.php | 7 ++++++- plugins/CoreUpdater/ReleaseChannel.php | 2 +- plugins/Installation/Controller.php | 2 +- plugins/Marketplace/Api/Client.php | 3 ++- plugins/Marketplace/Api/Service.php | 2 +- plugins/Marketplace/tests/System/Api/ClientTest.php | 5 +++-- plugins/MobileMessaging/SMSProvider/Clockwork.php | 2 +- plugins/ScheduledReports/API.php | 3 ++- tests/PHPUnit/Integration/HttpTest.php | 7 +++++++ 9 files changed, 24 insertions(+), 9 deletions(-) diff --git a/core/Http.php b/core/Http.php index 373c4815d9..79ee0d2af3 100644 --- a/core/Http.php +++ b/core/Http.php @@ -162,7 +162,7 @@ class Http $fileLength = 0; if (!empty($requestBody) && is_array($requestBody)) { - $requestBody = http_build_query($requestBody); + $requestBody = self::buildQuery($requestBody); } // Piwik services behave like a proxy, so we should act like one. @@ -629,6 +629,11 @@ class Http } } + public static function buildQuery($params) + { + return http_build_query($params, '', '&'); + } + private static function buildHeadersForPost($requestBody) { $postHeader = "Content-Type: application/x-www-form-urlencoded\r\n"; diff --git a/plugins/CoreUpdater/ReleaseChannel.php b/plugins/CoreUpdater/ReleaseChannel.php index c7da77889f..23c84971a4 100644 --- a/plugins/CoreUpdater/ReleaseChannel.php +++ b/plugins/CoreUpdater/ReleaseChannel.php @@ -33,7 +33,7 @@ abstract class ReleaseChannel extends BaseReleaseChannel $url = Config::getInstance()->General['api_service_url'] . '/1.0/getLatestVersion/' - . '?' . http_build_query($parameters, '', '&'); + . '?' . Http::buildQuery($parameters); return $url; } diff --git a/plugins/Installation/Controller.php b/plugins/Installation/Controller.php index 374acee4e3..6d3af32f46 100644 --- a/plugins/Installation/Controller.php +++ b/plugins/Installation/Controller.php @@ -738,7 +738,7 @@ class Controller extends \Piwik\Plugin\ControllerAdmin if (!isset($params['piwikpro'])) { $params['piwikpro'] = '0'; } - $url .= '?' . http_build_query($params, '', '&'); + $url .= '?' . Http::buildQuery($params); try { Http::sendHttpRequest($url, $timeout = 2); } catch (Exception $e) { diff --git a/plugins/Marketplace/Api/Client.php b/plugins/Marketplace/Api/Client.php index 0b4589f33a..254587233d 100644 --- a/plugins/Marketplace/Api/Client.php +++ b/plugins/Marketplace/Api/Client.php @@ -12,6 +12,7 @@ use Piwik\Cache; use Piwik\Common; use Piwik\Container\StaticContainer; use Piwik\Filesystem; +use Piwik\Http; use Piwik\Plugin; use Piwik\Plugins\Marketplace\Environment; use Piwik\Plugins\Marketplace\Api\Service; @@ -272,7 +273,7 @@ class Client $params['num_users'] = $this->environment->getNumUsers(); $params['num_websites'] = $this->environment->getNumWebsites(); - $query = http_build_query($params); + $query = Http::buildQuery($params); $cacheId = $this->getCacheKey($action, $query); $result = $this->cache->fetch($cacheId); diff --git a/plugins/Marketplace/Api/Service.php b/plugins/Marketplace/Api/Service.php index e493b69941..7257d635d4 100644 --- a/plugins/Marketplace/Api/Service.php +++ b/plugins/Marketplace/Api/Service.php @@ -127,7 +127,7 @@ class Service { $endpoint = sprintf('%s/api/%s/', $this->domain, $this->version); - $query = http_build_query($params); + $query = Http::buildQuery($params); $url = sprintf('%s%s?%s', $endpoint, $action, $query); $response = $this->download($url); diff --git a/plugins/Marketplace/tests/System/Api/ClientTest.php b/plugins/Marketplace/tests/System/Api/ClientTest.php index 8c3616321f..7011ebb837 100644 --- a/plugins/Marketplace/tests/System/Api/ClientTest.php +++ b/plugins/Marketplace/tests/System/Api/ClientTest.php @@ -9,6 +9,7 @@ namespace Piwik\Plugins\Marketplace\tests\System\Api; use Piwik\Cache; +use Piwik\Http; use Piwik\Plugin; use Piwik\Plugins\Marketplace\Api\Client; use Piwik\Plugins\Marketplace\Api\Service; @@ -211,7 +212,7 @@ class ClientTest extends SystemTestCase 'num_users' => $this->environment->getNumUsers(), 'num_websites' => $this->environment->getNumWebsites() ); - $id = 'marketplace.api.2.0.plugins.' . md5(http_build_query($params)); + $id = 'marketplace.api.2.0.plugins.' . md5(Http::buildQuery($params)); $cache = $this->getCache(); $this->assertFalse($cache->contains($id)); @@ -240,7 +241,7 @@ class ClientTest extends SystemTestCase 'mysql' => $this->environment->getMySQLVersion(), 'num_users' => $this->environment->getNumUsers(), 'num_websites' => $this->environment->getNumWebsites()); - $id = 'marketplace.api.2.0.plugins.' . md5(http_build_query($params)); + $id = 'marketplace.api.2.0.plugins.' . md5(Http::buildQuery($params)); $cache = $this->getCache(); $cache->save($id, array('plugins' => array(array('name' => 'foobar')))); diff --git a/plugins/MobileMessaging/SMSProvider/Clockwork.php b/plugins/MobileMessaging/SMSProvider/Clockwork.php index afda1fed76..572215d68c 100644 --- a/plugins/MobileMessaging/SMSProvider/Clockwork.php +++ b/plugins/MobileMessaging/SMSProvider/Clockwork.php @@ -91,7 +91,7 @@ class Clockwork extends SMSProvider $url = self::BASE_API_URL . $resource - . '?' . http_build_query($parameters, '', '&'); + . '?' . Http::buildQuery($parameters); $timeout = self::SOCKET_TIMEOUT; diff --git a/plugins/ScheduledReports/API.php b/plugins/ScheduledReports/API.php index c4ab3e20c0..38a7923017 100644 --- a/plugins/ScheduledReports/API.php +++ b/plugins/ScheduledReports/API.php @@ -17,6 +17,7 @@ use Piwik\Date; use Piwik\Db; use Piwik\Development; use Piwik\Filesystem; +use Piwik\Http; use Piwik\Log; use Piwik\NoAccessException; use Piwik\Piwik; @@ -397,7 +398,7 @@ class API extends \Piwik\Plugin\API } catch (\Exception $ex) { // NOTE: can't use warning or error because the log message will appear in the UI as a notification $this->logger->info("Error getting '?{report}' when generating scheduled report: {exception}", array( - 'report' => http_build_query($params), + 'report' => Http::buildQuery($params), 'exception' => $ex->getMessage(), )); diff --git a/tests/PHPUnit/Integration/HttpTest.php b/tests/PHPUnit/Integration/HttpTest.php index 823b6037be..afa068bdf4 100644 --- a/tests/PHPUnit/Integration/HttpTest.php +++ b/tests/PHPUnit/Integration/HttpTest.php @@ -55,6 +55,13 @@ class HttpTest extends \PHPUnit_Framework_TestCase $this->assertGreaterThan(0, filesize($destinationPath)); } + public function testBuildQuery() + { + $this->assertEquals('', Http::buildQuery(array())); + $this->assertEquals('test=foo', Http::buildQuery(array('test' => 'foo'))); + $this->assertEquals('test=foo&bar=baz', Http::buildQuery(array('test' => 'foo', 'bar' => 'baz'))); + } + /** * @dataProvider getMethodsToTest */ -- cgit v1.2.3 From 4b4b2eb65cef8e90919754aa21243ef4497d31ac Mon Sep 17 00:00:00 2001 From: Thomas Steur Date: Fri, 9 Dec 2016 16:21:30 +1300 Subject: fix visit total time only recorded smallint (#10980) Now that the type was changed to int, we no longer need that check --- plugins/CoreHome/Columns/VisitTotalTime.php | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/plugins/CoreHome/Columns/VisitTotalTime.php b/plugins/CoreHome/Columns/VisitTotalTime.php index 9abe8316a9..87025a90f9 100644 --- a/plugins/CoreHome/Columns/VisitTotalTime.php +++ b/plugins/CoreHome/Columns/VisitTotalTime.php @@ -96,13 +96,7 @@ class VisitTotalTime extends VisitDimension $t = 0; } - $smallintMysqlLimit = 65534; - - if ($t > $smallintMysqlLimit) { - $t = $smallintMysqlLimit; - } - return $t; } -} \ No newline at end of file +} -- cgit v1.2.3 From 9227a3a695aa8db3291e3fd994c9a7733ee643bf Mon Sep 17 00:00:00 2001 From: Thomas Steur Date: Fri, 9 Dec 2016 19:34:53 +1300 Subject: Fix propagateNewPage might not actually load the page (#10979) This is because angular might cancel the url change or listen to it themselves and not reload the page entirely. --- plugins/CoreHome/javascripts/broadcast.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/plugins/CoreHome/javascripts/broadcast.js b/plugins/CoreHome/javascripts/broadcast.js index eecbc79a95..2c6fad9eb5 100644 --- a/plugins/CoreHome/javascripts/broadcast.js +++ b/plugins/CoreHome/javascripts/broadcast.js @@ -338,6 +338,15 @@ var broadcast = { // Now load the new page. var newUrl = currentSearchStr + currentHashStr; + var $rootScope = piwikHelper.getAngularDependency('$rootScope'); + if ($rootScope) { + $rootScope.$on('$locationChangeStart', function (event) { + if (event) { + event.preventDefault(); + } + }) + } + if (oldUrl == newUrl) { window.location.reload(); } else { -- cgit v1.2.3 From df62e6ff27f9b2f92186965ccc548e6db5955c36 Mon Sep 17 00:00:00 2001 From: Thomas Steur Date: Mon, 12 Dec 2016 09:41:58 +1300 Subject: Make sure to trigger Sites.getSites event when a new Site instance is created Background: In Piwik 2.13 we removed the `Site.setSite` event because it is slow. So in some cases it may not actually trigger a `Sites.setSites` event when a site is loaded. For example when doing `new Site()`. I think in this case we should still trigger that event if the site did not exist yet because we do not call it very often and not in a loop for all sites etc. This is useful since `new Site` is used eg in `Controller` and for such cases we should trigger this event. --- core/Site.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/Site.php b/core/Site.php index a45a4a5e2e..97381cab04 100644 --- a/core/Site.php +++ b/core/Site.php @@ -65,6 +65,8 @@ class Site $this->id = (int)$idsite; if (!isset(self::$infoSites[$this->id])) { $site = API::getInstance()->getSiteFromId($this->id); + $sites = array(&$site); + self::triggerSetSitesEvent($sites); self::setSiteFromArray($this->id, $site); } } -- cgit v1.2.3 From db01cbefb5f4dd1092396ee5e3549160149dfc77 Mon Sep 17 00:00:00 2001 From: Thomas Steur Date: Mon, 12 Dec 2016 13:53:28 +1300 Subject: expose some more settings methods (#10993) --- core/Settings/Settings.php | 4 +-- core/Settings/Storage/Factory.php | 8 ++++- .../Mock/Settings/FakeMeasurableSettings.php | 4 --- .../Framework/Mock/Settings/FakeSystemSettings.php | 4 --- .../Framework/Mock/Settings/FakeUserSettings.php | 4 --- .../Integration/Settings/BaseSettingsTestCase.php | 38 ++++++++++++++++++++++ .../Settings/Measurable/MeasurableSettingsTest.php | 2 -- .../Integration/Settings/Storage/FactoryTest.php | 10 ++++++ 8 files changed, 57 insertions(+), 17 deletions(-) diff --git a/core/Settings/Settings.php b/core/Settings/Settings.php index 8181502c7b..2ceffb7948 100644 --- a/core/Settings/Settings.php +++ b/core/Settings/Settings.php @@ -93,13 +93,13 @@ abstract class Settings } /** - * Makes a new plugin setting available. + * Adds a new setting to the settings container. * * @param Setting $setting * @throws \Exception If there is a setting with the same name that already exists. * If the name contains non-alphanumeric characters. */ - protected function addSetting(Setting $setting) + public function addSetting(Setting $setting) { $name = $setting->getName(); diff --git a/core/Settings/Storage/Factory.php b/core/Settings/Storage/Factory.php index 2ca3deb17c..8336c58f3e 100644 --- a/core/Settings/Storage/Factory.php +++ b/core/Settings/Storage/Factory.php @@ -125,7 +125,13 @@ class Factory return new Storage(new Backend\NullBackend($key)); } - private function makeStorage(BackendInterface $backend) + /** + * Makes a new storage object based on a custom backend interface. + * + * @param BackendInterface $backend + * @return Storage + */ + public function makeStorage(BackendInterface $backend) { if (SettingsServer::isTrackerApiRequest()) { $backend = new Backend\Cache($backend); diff --git a/tests/PHPUnit/Framework/Mock/Settings/FakeMeasurableSettings.php b/tests/PHPUnit/Framework/Mock/Settings/FakeMeasurableSettings.php index 4fb569b9d8..c11f4e3476 100644 --- a/tests/PHPUnit/Framework/Mock/Settings/FakeMeasurableSettings.php +++ b/tests/PHPUnit/Framework/Mock/Settings/FakeMeasurableSettings.php @@ -28,9 +28,5 @@ class FakeMeasurableSettings extends \Piwik\Plugins\ExampleSettingsPlugin\Measur return parent::makeProperty($name, $defaultValue, $type, $configureCallback); } - public function addSetting(Setting $setting) - { - parent::addSetting($setting); - } } diff --git a/tests/PHPUnit/Framework/Mock/Settings/FakeSystemSettings.php b/tests/PHPUnit/Framework/Mock/Settings/FakeSystemSettings.php index 00b9554196..735b3f9dc2 100644 --- a/tests/PHPUnit/Framework/Mock/Settings/FakeSystemSettings.php +++ b/tests/PHPUnit/Framework/Mock/Settings/FakeSystemSettings.php @@ -28,9 +28,5 @@ class FakeSystemSettings extends \Piwik\Plugins\ExampleSettingsPlugin\SystemSett return parent::makeSetting($name, $defaultValue, $type, $configureCallback); } - public function addSetting(Setting $setting) - { - parent::addSetting($setting); - } } diff --git a/tests/PHPUnit/Framework/Mock/Settings/FakeUserSettings.php b/tests/PHPUnit/Framework/Mock/Settings/FakeUserSettings.php index 9d4bb5fdb1..fc77c85346 100644 --- a/tests/PHPUnit/Framework/Mock/Settings/FakeUserSettings.php +++ b/tests/PHPUnit/Framework/Mock/Settings/FakeUserSettings.php @@ -23,9 +23,5 @@ class FakeUserSettings extends \Piwik\Plugins\ExampleSettingsPlugin\UserSettings return parent::makeSetting($name, $defaultValue, $type, $configureCallback); } - public function addSetting(Setting $setting) - { - parent::addSetting($setting); - } } diff --git a/tests/PHPUnit/Integration/Settings/BaseSettingsTestCase.php b/tests/PHPUnit/Integration/Settings/BaseSettingsTestCase.php index 4a91af3a1c..2d56a0dce7 100644 --- a/tests/PHPUnit/Integration/Settings/BaseSettingsTestCase.php +++ b/tests/PHPUnit/Integration/Settings/BaseSettingsTestCase.php @@ -11,6 +11,7 @@ namespace Piwik\Tests\Integration\Settings; use Piwik\Db; use Piwik\Piwik; use Piwik\Settings\FieldConfig; +use Piwik\Settings\Setting; /** * @group PluginSettings @@ -122,4 +123,41 @@ class BaseSettingsTestCase extends IntegrationTestCase return $this->settings->makeSetting($name, $default = '', $type, function () {}); } + public function test_addSetting_shouldAddNewSetting() + { + $settingName = 'testSetting'; + $setting = $this->buildSetting($settingName); + $settings = $this->createSettingsInstance(); + + $this->assertEmpty($settings->getSetting($settingName)); + + $settings->addSetting($setting); + + $this->assertSame($setting, $settings->getSetting($settingName)); + } + + /** + * @expectedException \Exception + * @expectedExceptionMessage "testSetting" does already exist + */ + public function test_addSetting_throwsException_IfSameSettingAddedTwice() + { + $settingName = 'testSetting'; + $setting = $this->buildSetting($settingName); + $settings = $this->createSettingsInstance(); + + $settings->addSetting($setting); + $settings->addSetting($setting); + } + + private function buildSetting($name, $type = null, $default = '') + { + if (!isset($type)) { + $type = FieldConfig::TYPE_STRING; + } + + $userSetting = new Setting($name, $default, $type, 'MyPluginName'); + + return $userSetting; + } } diff --git a/tests/PHPUnit/Integration/Settings/Measurable/MeasurableSettingsTest.php b/tests/PHPUnit/Integration/Settings/Measurable/MeasurableSettingsTest.php index 689bab5d92..026aec7925 100644 --- a/tests/PHPUnit/Integration/Settings/Measurable/MeasurableSettingsTest.php +++ b/tests/PHPUnit/Integration/Settings/Measurable/MeasurableSettingsTest.php @@ -12,8 +12,6 @@ use Piwik\Db; use Piwik\Plugins\WebsiteMeasurable\Type; use Piwik\Settings\Measurable\MeasurableSetting; use Piwik\Settings\Measurable\MeasurableSettings; -use Piwik\Settings\Plugin\UserSetting; -use Piwik\Settings\Plugin\UserSettings; use Piwik\Tests\Framework\Fixture; use Piwik\Tests\Framework\Mock\Settings\FakeMeasurableSettings; use Piwik\Tests\Integration\Settings\BaseSettingsTestCase; diff --git a/tests/PHPUnit/Integration/Settings/Storage/FactoryTest.php b/tests/PHPUnit/Integration/Settings/Storage/FactoryTest.php index fb25bbf13b..82acc03ec3 100644 --- a/tests/PHPUnit/Integration/Settings/Storage/FactoryTest.php +++ b/tests/PHPUnit/Integration/Settings/Storage/FactoryTest.php @@ -144,4 +144,14 @@ class FactoryTest extends IntegrationTestCase $this->assertSame('', $storage->getValue('mytest', $default = '', FieldConfig::TYPE_STRING)); } + public function test_makeStorage_returnsStorageWithGivenBackend() + { + $backend = new NullBackend('test'); + $storage = $this->factory->makeStorage($backend); + + $this->assertTrue($storage instanceof Storage); + + $this->assertSame($backend, $storage->getBackend()); + } + } -- cgit v1.2.3 From 5e83fd4a153261bd199d372e21a7770b3787cd26 Mon Sep 17 00:00:00 2001 From: Thomas Steur Date: Mon, 12 Dec 2016 14:07:03 +1300 Subject: Allow custom form types for user, system and measurable settings (#10992) * allow custom types for any settings * fix ip * fix system tests --- core/Settings/FieldConfig.php | 8 ++++++++ plugins/CorePluginsAdmin/SettingsMetadata.php | 1 + ..._SitesManager__SitesManager.getSiteSettings.xml | 12 +++++++++++ ...ortLogs__CorePluginsAdmin.getSystemSettings.xml | 23 ++++++++++++++++++++++ ...mportLogs__CorePluginsAdmin.getUserSettings.xml | 4 ++++ ...rtMetadata__API.getAvailableMeasurableTypes.xml | 12 +++++++++++ ...dIsLast__CorePluginsAdmin.getSystemSettings.xml | 23 ++++++++++++++++++++++ ...iodIsLast__CorePluginsAdmin.getUserSettings.xml | 4 ++++ ...noVisit__CorePluginsAdmin.getSystemSettings.xml | 23 ++++++++++++++++++++++ ...t_noVisit__CorePluginsAdmin.getUserSettings.xml | 4 ++++ 10 files changed, 114 insertions(+) diff --git a/core/Settings/FieldConfig.php b/core/Settings/FieldConfig.php index f7f6bf97b3..ef8a6155e2 100644 --- a/core/Settings/FieldConfig.php +++ b/core/Settings/FieldConfig.php @@ -91,6 +91,14 @@ class FieldConfig */ public $uiControl = null; + /** + * Defines a custom template file for a UI control. This file should render a UI control and expose the value in a + * "formField.value" angular model. For an example see "plugins/CorePluginsAdmin/angularjs/form-field/field-text.html" + * + * @var string + */ + public $customUiControlTemplateFile = ''; + /** * Name-value mapping of HTML attributes that will be added HTML form control, eg, * `array('size' => 3)`. Attributes will be escaped before outputting. diff --git a/plugins/CorePluginsAdmin/SettingsMetadata.php b/plugins/CorePluginsAdmin/SettingsMetadata.php index 7e9d8672ca..b1e34f1eb7 100644 --- a/plugins/CorePluginsAdmin/SettingsMetadata.php +++ b/plugins/CorePluginsAdmin/SettingsMetadata.php @@ -120,6 +120,7 @@ class SettingsMetadata 'availableValues' => $availableValues, 'description' => $config->description, 'inlineHelp' => $config->inlineHelp, + 'templateFile' => $config->customUiControlTemplateFile, 'introduction' => $config->introduction, 'condition' => $config->condition, ); diff --git a/plugins/SitesManager/tests/System/expected/test_SitesManager__SitesManager.getSiteSettings.xml b/plugins/SitesManager/tests/System/expected/test_SitesManager__SitesManager.getSiteSettings.xml index d12382f18e..4bdd947b68 100644 --- a/plugins/SitesManager/tests/System/expected/test_SitesManager__SitesManager.getSiteSettings.xml +++ b/plugins/SitesManager/tests/System/expected/test_SitesManager__SitesManager.getSiteSettings.xml @@ -23,6 +23,7 @@ It is recommended, but not required, to specify the various URLs, one per line, that your visitors use to access this website. Alias URLs for a website will not appear in the Referrers > Websites report. Note that it is not necessary to specify the URLs with and without 'www' as Piwik automatically considers both. + @@ -38,6 +39,7 @@ When enabled, Piwik will only track internal actions when the Page URL is one of the known URLs for your website. This prevents people from spamming your analytics with URLs for other websites.<br />The domain and the path has to be an exact match and each valid subdomain has to be specified separately. For example when the known URLs are 'http://example.com/path' and 'http://good.example.com', tracking requests for 'http://example.com/otherpath' or 'http://bad.example.com' are ignored. + @@ -57,6 +59,7 @@ + @@ -77,6 +80,7 @@ Enter the list of IPs, one per line, that you wish to exclude from being tracked by Piwik. You can use wildcards, eg. 1.2.3.* or 1.2.*.*<br /><br />Your current IP address is <i>127.0.0.1</i> + @@ -97,6 +101,7 @@ Enter the list of URL Query Parameters, one per line, to exclude from the Page URLs reports. Regular expressions such as /^sess.*|.*[dD]ate$/ are suported.<br /><br />Piwik will automatically exclude the common session parameters (phpsessid, sessionid, ...). + @@ -117,6 +122,7 @@ Enter the list of user agents to exclude from being tracked by Piwik.<br /><br />If the visitor's user agent string contains any of the strings you specify, the visitor will be excluded from Piwik.<br />You can use this to exclude some bots from being tracked. + @@ -135,6 +141,7 @@ You can use Piwik to track and report what visitors are searching in your website's internal search engine. + @@ -150,6 +157,7 @@ Query parameter (Default): q,query,s,search,searchword,k,keyword & Category parameter: + 1 && sitesearch @@ -168,6 +176,7 @@ Enter a comma separated list of all query parameter names containing the site search keyword. + sitesearch && !use_default_site_search_params @@ -186,6 +195,7 @@ (optional)<br /><br />You may enter a comma-separated list of query parameters specifying the search category. + 1 && sitesearch && !use_default_site_search_params @@ -204,6 +214,7 @@ When enabled, the "Goals" report will have a new "Ecommerce" section.<br />Piwik allows for advanced Ecommerce Analytics tracking & reporting. Learn more about <a href='http://piwik.org/docs/ecommerce-analytics/' target='_blank'> Ecommerce Analytics</a>. + @@ -227,6 +238,7 @@ + diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__CorePluginsAdmin.getSystemSettings.xml b/tests/PHPUnit/System/expected/test_ImportLogs__CorePluginsAdmin.getSystemSettings.xml index fc64578e32..6008a52144 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__CorePluginsAdmin.getSystemSettings.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__CorePluginsAdmin.getSystemSettings.xml @@ -21,6 +21,7 @@ While our <a href='?module=Proxy&action=redirect&url=http://piwik.org/participate/development-process/' target='_blank'>development process</a> includes thousands of automated tests, Beta Testers play a key role in achieving the "No bug policy" in Piwik.<br/>If Piwik is a critical part of your business, we recommend you use the latest stable release. If you use the latest beta and you find a bug or have a suggestion, please <a href='?module=Proxy&action=redirect&url=http%3A%2F%2Fdeveloper.piwik.org%2Fguides%2Fcore-team-workflow%23influencing-piwik-development' target='_blank'>see here</a>.<br />LTS (Long Term Support) versions receive only security and bug fixes. + Release channel @@ -39,6 +40,7 @@ An email will be sent to Super Users when there is a new version available for a plugin. + Send an email when a plugin update is available @@ -64,6 +66,7 @@ Choose the metric that should be displayed in the browser tab + @@ -91,6 +94,7 @@ The value will be only displayed in the following browsers + @@ -108,6 +112,7 @@ Another line This description will be displayed next to the value + @@ -123,6 +128,7 @@ Another line Password for the 3rd API where we fetch the value + @@ -144,6 +150,7 @@ Another line If enabled, logged in users can opt out in their plugin settings. Anonymous users cannot opt out. + @@ -159,6 +166,7 @@ Another line If enabled, anonymized usage data will be sent to demo-anonymous.piwik.org and the tracked data can be viewed there (the data is public). The collected data is used to improve Piwik. Thank you for making Piwik better! + Send anonmyized usage data to the creators of Piwik @@ -174,6 +182,7 @@ Another line If specified, anonymized usage data will be sent to the specified site in this Piwik. + Send anonymize usage data to this Piwik @@ -189,6 +198,7 @@ Another line + @@ -205,6 +215,7 @@ Another line + Send anonymize usage data to a custom Piwik @@ -221,6 +232,7 @@ Another line If a URL and Site Id is specified, usage data will be sent to the custom Piwik instance. + @@ -236,6 +248,7 @@ Another line + @@ -258,6 +271,7 @@ Another line If enabled, the Redis Sentinel feature will be used. Make sure to update host and port if needed. Once you have enabled and saved the change, you will be able to specify multiple hosts and ports comma separated. + @@ -274,6 +288,7 @@ Another line The sentinel master name only needs to be configured if Sentinel is enabled. + @@ -290,6 +305,7 @@ Another line Remote host or unix socket of the Redis server. Max 500 characters are allowed. + @@ -306,6 +322,7 @@ Another line Port the Redis server is running on. Value should be between 1 and 65535. Use 0 if you are using unix socket to connect to Redis server. + @@ -322,6 +339,7 @@ Another line In case you are using Redis for caching make sure to use a different database. + @@ -338,6 +356,7 @@ Another line Password set on the Redis server, if any. Redis can be instructed to require a password before allowing clients to execute commands. + @@ -353,6 +372,7 @@ Another line If enabled, all tracking requests will be written into a queue instead of the directly into the database. Requires a Redis server and phpredis PHP extension. + @@ -369,6 +389,7 @@ Another line Number of allowed maximum queue workers. Accepts a number between 1 and 16. Best practice is to set the number of CPUs you want to make available for queue processing. Be aware you need to make sure to start the workers manually. We recommend to not use 9-15 workers, rather use 8 or 16 as the queue might not be distributed evenly into different queues. DO NOT USE more than 1 worker if you make use the UserId feature when tracking see https://github.com/piwik/piwik/issues/7691 + @@ -385,6 +406,7 @@ Another line Defines how many requests will be picked out of the queue and processed at once. Enter a number which is >= 1. + @@ -400,6 +422,7 @@ Another line If enabled, we will process all requests within a queue during a normal tracking request once there are enough requests in the queue. This will not slow down the tracking request. If disabled, you have to setup a cronjob that executes the "./console queuedtracking:process" console command eg every minute to process the queue. + diff --git a/tests/PHPUnit/System/expected/test_ImportLogs__CorePluginsAdmin.getUserSettings.xml b/tests/PHPUnit/System/expected/test_ImportLogs__CorePluginsAdmin.getUserSettings.xml index 151e26bdc7..385469b2df 100644 --- a/tests/PHPUnit/System/expected/test_ImportLogs__CorePluginsAdmin.getUserSettings.xml +++ b/tests/PHPUnit/System/expected/test_ImportLogs__CorePluginsAdmin.getUserSettings.xml @@ -16,6 +16,7 @@ If enabled, the value will be automatically refreshed depending on the specified interval + @@ -32,6 +33,7 @@ Defines how often the value should be updated Enter a number which is >= 15 + @@ -51,6 +53,7 @@ Pick your favourite color + @@ -72,6 +75,7 @@ If enabled, anonymous usage data will be tracked. For example which pages are viewed and which reports are used most often. For more information contact your system administrator. + diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getAvailableMeasurableTypes.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getAvailableMeasurableTypes.xml index 3e5457c1ff..1865028727 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getAvailableMeasurableTypes.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getAvailableMeasurableTypes.xml @@ -30,6 +30,7 @@ It is recommended, but not required, to specify the various URLs, one per line, that your visitors use to access this website. Alias URLs for a website will not appear in the Referrers > Websites report. Note that it is not necessary to specify the URLs with and without 'www' as Piwik automatically considers both. + @@ -45,6 +46,7 @@ When enabled, Piwik will only track internal actions when the Page URL is one of the known URLs for your website. This prevents people from spamming your analytics with URLs for other websites.<br />The domain and the path has to be an exact match and each valid subdomain has to be specified separately. For example when the known URLs are 'http://example.com/path' and 'http://good.example.com', tracking requests for 'http://example.com/otherpath' or 'http://bad.example.com' are ignored. + @@ -64,6 +66,7 @@ + @@ -83,6 +86,7 @@ Enter the list of IPs, one per line, that you wish to exclude from being tracked by Piwik. You can use wildcards, eg. 1.2.3.* or 1.2.*.*<br /><br />Your current IP address is <i>127.0.0.1</i> + @@ -102,6 +106,7 @@ Enter the list of URL Query Parameters, one per line, to exclude from the Page URLs reports. Regular expressions such as /^sess.*|.*[dD]ate$/ are suported.<br /><br />Piwik will automatically exclude the common session parameters (phpsessid, sessionid, ...). + @@ -121,6 +126,7 @@ Enter the list of user agents to exclude from being tracked by Piwik.<br /><br />If the visitor's user agent string contains any of the strings you specify, the visitor will be excluded from Piwik.<br />You can use this to exclude some bots from being tracked. + @@ -139,6 +145,7 @@ You can use Piwik to track and report what visitors are searching in your website's internal search engine. + @@ -154,6 +161,7 @@ Query parameter (Default): q,query,s,search,searchword,k,keyword & Category parameter: + 1 && sitesearch @@ -171,6 +179,7 @@ Enter a comma separated list of all query parameter names containing the site search keyword. + sitesearch && !use_default_site_search_params @@ -188,6 +197,7 @@ (optional)<br /><br />You may enter a comma-separated list of query parameters specifying the search category. + 1 && sitesearch && !use_default_site_search_params @@ -206,6 +216,7 @@ When enabled, the "Goals" report will have a new "Ecommerce" section.<br />Piwik allows for advanced Ecommerce Analytics tracking & reporting. Learn more about <a href='http://piwik.org/docs/ecommerce-analytics/' target='_blank'> Ecommerce Analytics</a>. + @@ -229,6 +240,7 @@ + diff --git a/tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__CorePluginsAdmin.getSystemSettings.xml b/tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__CorePluginsAdmin.getSystemSettings.xml index fc64578e32..6008a52144 100644 --- a/tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__CorePluginsAdmin.getSystemSettings.xml +++ b/tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__CorePluginsAdmin.getSystemSettings.xml @@ -21,6 +21,7 @@ While our <a href='?module=Proxy&action=redirect&url=http://piwik.org/participate/development-process/' target='_blank'>development process</a> includes thousands of automated tests, Beta Testers play a key role in achieving the "No bug policy" in Piwik.<br/>If Piwik is a critical part of your business, we recommend you use the latest stable release. If you use the latest beta and you find a bug or have a suggestion, please <a href='?module=Proxy&action=redirect&url=http%3A%2F%2Fdeveloper.piwik.org%2Fguides%2Fcore-team-workflow%23influencing-piwik-development' target='_blank'>see here</a>.<br />LTS (Long Term Support) versions receive only security and bug fixes. + Release channel @@ -39,6 +40,7 @@ An email will be sent to Super Users when there is a new version available for a plugin. + Send an email when a plugin update is available @@ -64,6 +66,7 @@ Choose the metric that should be displayed in the browser tab + @@ -91,6 +94,7 @@ The value will be only displayed in the following browsers + @@ -108,6 +112,7 @@ Another line This description will be displayed next to the value + @@ -123,6 +128,7 @@ Another line Password for the 3rd API where we fetch the value + @@ -144,6 +150,7 @@ Another line If enabled, logged in users can opt out in their plugin settings. Anonymous users cannot opt out. + @@ -159,6 +166,7 @@ Another line If enabled, anonymized usage data will be sent to demo-anonymous.piwik.org and the tracked data can be viewed there (the data is public). The collected data is used to improve Piwik. Thank you for making Piwik better! + Send anonmyized usage data to the creators of Piwik @@ -174,6 +182,7 @@ Another line If specified, anonymized usage data will be sent to the specified site in this Piwik. + Send anonymize usage data to this Piwik @@ -189,6 +198,7 @@ Another line + @@ -205,6 +215,7 @@ Another line + Send anonymize usage data to a custom Piwik @@ -221,6 +232,7 @@ Another line If a URL and Site Id is specified, usage data will be sent to the custom Piwik instance. + @@ -236,6 +248,7 @@ Another line + @@ -258,6 +271,7 @@ Another line If enabled, the Redis Sentinel feature will be used. Make sure to update host and port if needed. Once you have enabled and saved the change, you will be able to specify multiple hosts and ports comma separated. + @@ -274,6 +288,7 @@ Another line The sentinel master name only needs to be configured if Sentinel is enabled. + @@ -290,6 +305,7 @@ Another line Remote host or unix socket of the Redis server. Max 500 characters are allowed. + @@ -306,6 +322,7 @@ Another line Port the Redis server is running on. Value should be between 1 and 65535. Use 0 if you are using unix socket to connect to Redis server. + @@ -322,6 +339,7 @@ Another line In case you are using Redis for caching make sure to use a different database. + @@ -338,6 +356,7 @@ Another line Password set on the Redis server, if any. Redis can be instructed to require a password before allowing clients to execute commands. + @@ -353,6 +372,7 @@ Another line If enabled, all tracking requests will be written into a queue instead of the directly into the database. Requires a Redis server and phpredis PHP extension. + @@ -369,6 +389,7 @@ Another line Number of allowed maximum queue workers. Accepts a number between 1 and 16. Best practice is to set the number of CPUs you want to make available for queue processing. Be aware you need to make sure to start the workers manually. We recommend to not use 9-15 workers, rather use 8 or 16 as the queue might not be distributed evenly into different queues. DO NOT USE more than 1 worker if you make use the UserId feature when tracking see https://github.com/piwik/piwik/issues/7691 + @@ -385,6 +406,7 @@ Another line Defines how many requests will be picked out of the queue and processed at once. Enter a number which is >= 1. + @@ -400,6 +422,7 @@ Another line If enabled, we will process all requests within a queue during a normal tracking request once there are enough requests in the queue. This will not slow down the tracking request. If disabled, you have to setup a cronjob that executes the "./console queuedtracking:process" console command eg every minute to process the queue. + diff --git a/tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__CorePluginsAdmin.getUserSettings.xml b/tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__CorePluginsAdmin.getUserSettings.xml index 151e26bdc7..385469b2df 100644 --- a/tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__CorePluginsAdmin.getUserSettings.xml +++ b/tests/PHPUnit/System/expected/test_noVisit_PeriodIsLast__CorePluginsAdmin.getUserSettings.xml @@ -16,6 +16,7 @@ If enabled, the value will be automatically refreshed depending on the specified interval + @@ -32,6 +33,7 @@ Defines how often the value should be updated Enter a number which is >= 15 + @@ -51,6 +53,7 @@ Pick your favourite color + @@ -72,6 +75,7 @@ If enabled, anonymous usage data will be tracked. For example which pages are viewed and which reports are used most often. For more information contact your system administrator. + diff --git a/tests/PHPUnit/System/expected/test_noVisit__CorePluginsAdmin.getSystemSettings.xml b/tests/PHPUnit/System/expected/test_noVisit__CorePluginsAdmin.getSystemSettings.xml index fc64578e32..6008a52144 100644 --- a/tests/PHPUnit/System/expected/test_noVisit__CorePluginsAdmin.getSystemSettings.xml +++ b/tests/PHPUnit/System/expected/test_noVisit__CorePluginsAdmin.getSystemSettings.xml @@ -21,6 +21,7 @@ While our <a href='?module=Proxy&action=redirect&url=http://piwik.org/participate/development-process/' target='_blank'>development process</a> includes thousands of automated tests, Beta Testers play a key role in achieving the "No bug policy" in Piwik.<br/>If Piwik is a critical part of your business, we recommend you use the latest stable release. If you use the latest beta and you find a bug or have a suggestion, please <a href='?module=Proxy&action=redirect&url=http%3A%2F%2Fdeveloper.piwik.org%2Fguides%2Fcore-team-workflow%23influencing-piwik-development' target='_blank'>see here</a>.<br />LTS (Long Term Support) versions receive only security and bug fixes. + Release channel @@ -39,6 +40,7 @@ An email will be sent to Super Users when there is a new version available for a plugin. + Send an email when a plugin update is available @@ -64,6 +66,7 @@ Choose the metric that should be displayed in the browser tab + @@ -91,6 +94,7 @@ The value will be only displayed in the following browsers + @@ -108,6 +112,7 @@ Another line This description will be displayed next to the value + @@ -123,6 +128,7 @@ Another line Password for the 3rd API where we fetch the value + @@ -144,6 +150,7 @@ Another line If enabled, logged in users can opt out in their plugin settings. Anonymous users cannot opt out. + @@ -159,6 +166,7 @@ Another line If enabled, anonymized usage data will be sent to demo-anonymous.piwik.org and the tracked data can be viewed there (the data is public). The collected data is used to improve Piwik. Thank you for making Piwik better! + Send anonmyized usage data to the creators of Piwik @@ -174,6 +182,7 @@ Another line If specified, anonymized usage data will be sent to the specified site in this Piwik. + Send anonymize usage data to this Piwik @@ -189,6 +198,7 @@ Another line + @@ -205,6 +215,7 @@ Another line + Send anonymize usage data to a custom Piwik @@ -221,6 +232,7 @@ Another line If a URL and Site Id is specified, usage data will be sent to the custom Piwik instance. + @@ -236,6 +248,7 @@ Another line + @@ -258,6 +271,7 @@ Another line If enabled, the Redis Sentinel feature will be used. Make sure to update host and port if needed. Once you have enabled and saved the change, you will be able to specify multiple hosts and ports comma separated. + @@ -274,6 +288,7 @@ Another line The sentinel master name only needs to be configured if Sentinel is enabled. + @@ -290,6 +305,7 @@ Another line Remote host or unix socket of the Redis server. Max 500 characters are allowed. + @@ -306,6 +322,7 @@ Another line Port the Redis server is running on. Value should be between 1 and 65535. Use 0 if you are using unix socket to connect to Redis server. + @@ -322,6 +339,7 @@ Another line In case you are using Redis for caching make sure to use a different database. + @@ -338,6 +356,7 @@ Another line Password set on the Redis server, if any. Redis can be instructed to require a password before allowing clients to execute commands. + @@ -353,6 +372,7 @@ Another line If enabled, all tracking requests will be written into a queue instead of the directly into the database. Requires a Redis server and phpredis PHP extension. + @@ -369,6 +389,7 @@ Another line Number of allowed maximum queue workers. Accepts a number between 1 and 16. Best practice is to set the number of CPUs you want to make available for queue processing. Be aware you need to make sure to start the workers manually. We recommend to not use 9-15 workers, rather use 8 or 16 as the queue might not be distributed evenly into different queues. DO NOT USE more than 1 worker if you make use the UserId feature when tracking see https://github.com/piwik/piwik/issues/7691 + @@ -385,6 +406,7 @@ Another line Defines how many requests will be picked out of the queue and processed at once. Enter a number which is >= 1. + @@ -400,6 +422,7 @@ Another line If enabled, we will process all requests within a queue during a normal tracking request once there are enough requests in the queue. This will not slow down the tracking request. If disabled, you have to setup a cronjob that executes the "./console queuedtracking:process" console command eg every minute to process the queue. + diff --git a/tests/PHPUnit/System/expected/test_noVisit__CorePluginsAdmin.getUserSettings.xml b/tests/PHPUnit/System/expected/test_noVisit__CorePluginsAdmin.getUserSettings.xml index 151e26bdc7..385469b2df 100644 --- a/tests/PHPUnit/System/expected/test_noVisit__CorePluginsAdmin.getUserSettings.xml +++ b/tests/PHPUnit/System/expected/test_noVisit__CorePluginsAdmin.getUserSettings.xml @@ -16,6 +16,7 @@ If enabled, the value will be automatically refreshed depending on the specified interval + @@ -32,6 +33,7 @@ Defines how often the value should be updated Enter a number which is >= 15 + @@ -51,6 +53,7 @@ Pick your favourite color + @@ -72,6 +75,7 @@ If enabled, anonymous usage data will be tracked. For example which pages are viewed and which reports are used most often. For more information contact your system administrator. + -- cgit v1.2.3 From 2bebc1ca598821761fe9320e3a0872355d4a5514 Mon Sep 17 00:00:00 2001 From: Thomas Steur Date: Mon, 12 Dec 2016 02:41:13 +0000 Subject: fix system tests --- ...oVisits__CorePluginsAdmin.getSystemSettings.xml | 23 ++++++++++++++++++++++ ...TwoVisits__CorePluginsAdmin.getUserSettings.xml | 4 ++++ 2 files changed, 27 insertions(+) diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__CorePluginsAdmin.getSystemSettings.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__CorePluginsAdmin.getSystemSettings.xml index 7f6c3671eb..0a3d2da7c7 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__CorePluginsAdmin.getSystemSettings.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__CorePluginsAdmin.getSystemSettings.xml @@ -21,6 +21,7 @@ While our <a href='?module=Proxy&action=redirect&url=http://piwik.org/participate/development-process/' target='_blank'>development process</a> includes thousands of automated tests, Beta Testers play a key role in achieving the "No bug policy" in Piwik.<br/>If Piwik is a critical part of your business, we recommend you use the latest stable release. If you use the latest beta and you find a bug or have a suggestion, please <a href='?module=Proxy&action=redirect&url=http%3A%2F%2Fdeveloper.piwik.org%2Fguides%2Fcore-team-workflow%23influencing-piwik-development' target='_blank'>see here</a>.<br />LTS (Long Term Support) versions receive only security and bug fixes. + Release channel @@ -39,6 +40,7 @@ An email will be sent to Super Users when there is a new version available for a plugin. + Send an email when a plugin update is available @@ -64,6 +66,7 @@ Choose the metric that should be displayed in the browser tab + @@ -91,6 +94,7 @@ The value will be only displayed in the following browsers + @@ -108,6 +112,7 @@ Another line This description will be displayed next to the value + @@ -123,6 +128,7 @@ Another line Password for the 3rd API where we fetch the value + @@ -144,6 +150,7 @@ Another line If enabled, logged in users can opt out in their plugin settings. Anonymous users cannot opt out. + @@ -159,6 +166,7 @@ Another line If enabled, anonymized usage data will be sent to demo-anonymous.piwik.org and the tracked data can be viewed there (the data is public). The collected data is used to improve Piwik. Thank you for making Piwik better! + Send anonmyized usage data to the creators of Piwik @@ -174,6 +182,7 @@ Another line If specified, anonymized usage data will be sent to the specified site in this Piwik. + Send anonymize usage data to this Piwik @@ -189,6 +198,7 @@ Another line + @@ -205,6 +215,7 @@ Another line + Send anonymize usage data to a custom Piwik @@ -221,6 +232,7 @@ Another line If a URL and Site Id is specified, usage data will be sent to the custom Piwik instance. + @@ -236,6 +248,7 @@ Another line + @@ -258,6 +271,7 @@ Another line If enabled, the Redis Sentinel feature will be used. Make sure to update host and port if needed. Once you have enabled and saved the change, you will be able to specify multiple hosts and ports comma separated. + @@ -274,6 +288,7 @@ Another line The sentinel master name only needs to be configured if Sentinel is enabled. + @@ -290,6 +305,7 @@ Another line Remote host of the Redis server. Max 500 characters are allowed. + @@ -306,6 +322,7 @@ Another line Port the Redis server is running on. Value should be between 1 and 65535. + @@ -322,6 +339,7 @@ Another line In case you are using Redis for caching make sure to use a different database. + @@ -338,6 +356,7 @@ Another line Password set on the Redis server, if any. Redis can be instructed to require a password before allowing clients to execute commands. + @@ -353,6 +372,7 @@ Another line If enabled, all tracking requests will be written into a queue instead of the directly into the database. Requires a Redis server and phpredis PHP extension. + @@ -369,6 +389,7 @@ Another line Number of allowed maximum queue workers. Accepts a number between 1 and 16. Best practice is to set the number of CPUs you want to make available for queue processing. Be aware you need to make sure to start the workers manually. We recommend to not use 9-15 workers, rather use 8 or 16 as the queue might not be distributed evenly into different queues. DO NOT USE more than 1 worker if you make use the UserId feature when tracking see https://github.com/piwik/piwik/issues/7691 + @@ -385,6 +406,7 @@ Another line Defines how many requests will be picked out of the queue and processed at once. Enter a number which is >= 1. + @@ -400,6 +422,7 @@ Another line If enabled, we will process all requests within a queue during a normal tracking request once there are enough requests in the queue. This will not slow down the tracking request. If disabled, you have to setup a cronjob that executes the "./console queuedtracking:process" console command eg every minute to process the queue. + diff --git a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__CorePluginsAdmin.getUserSettings.xml b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__CorePluginsAdmin.getUserSettings.xml index 151e26bdc7..385469b2df 100644 --- a/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__CorePluginsAdmin.getUserSettings.xml +++ b/tests/PHPUnit/System/expected/test_OneVisitorTwoVisits__CorePluginsAdmin.getUserSettings.xml @@ -16,6 +16,7 @@ If enabled, the value will be automatically refreshed depending on the specified interval + @@ -32,6 +33,7 @@ Defines how often the value should be updated Enter a number which is >= 15 + @@ -51,6 +53,7 @@ Pick your favourite color + @@ -72,6 +75,7 @@ If enabled, anonymous usage data will be tracked. For example which pages are viewed and which reports are used most often. For more information contact your system administrator. + -- cgit v1.2.3 From ac0ceedb692a60f8d749e3f2308517e7be3be036 Mon Sep 17 00:00:00 2001 From: Thomas Steur Date: Mon, 12 Dec 2016 22:23:14 +1300 Subject: Show Marketplace changelog as link instead of tab (#10978) * Show support tab in marketplace plugins directly on the right with the other metadata * remove changelog tab and show it as a link --- plugins/CorePluginsAdmin/templates/macros.twig | 6 +- plugins/Marketplace/templates/plugin-details.twig | 78 +- plugins/Marketplace/templates/plugin-list.twig | 7 +- .../Marketplace/tests/Integration/PluginsTest.php | 5 +- ...-paid-access_token-consumer1_paid2_custom1.json | 18 +- ...ase_type-paid-access_token-consumer2_paid1.json | 14 +- ...se_type-paid-access_token-notexistingtoken.json | 14 +- ...s-201-access_token-consumer1_paid2_custom1.json | 18 +- ...num_users-201-access_token-consumer2_paid1.json | 14 +- .../Marketplace/tests/resources/v2.0_plugins.json | 962 ++++++++------------- .../resources/v2.0_plugins_Barometer_info.json | 2 +- ..._info-access_token-consumer3_paid1_custom2.json | 14 +- ...num_users-201-access_token-consumer2_paid1.json | 14 +- .../resources/v2.0_plugins_PaidPlugin1_info.json | 14 +- .../v2.0_plugins_TreemapVisualization_info.json | 2 +- .../Marketplace/tests/resources/v2.0_themes.json | 16 +- 16 files changed, 448 insertions(+), 750 deletions(-) diff --git a/plugins/CorePluginsAdmin/templates/macros.twig b/plugins/CorePluginsAdmin/templates/macros.twig index 78be51f24e..81b0263220 100644 --- a/plugins/CorePluginsAdmin/templates/macros.twig +++ b/plugins/CorePluginsAdmin/templates/macros.twig @@ -21,8 +21,10 @@ - {% if plugin.repositoryChangelogUrl %} - {{ plugin.currentVersion }} => {{ plugin.latestVersion }} + {% if plugin.changelog is defined and plugin.changelog and plugin.changelog.url is defined and plugin.changelog.url %} + {{ plugin.currentVersion }} => {{ plugin.latestVersion }} {% else %} {{ plugin.currentVersion }} => {{ plugin.latestVersion }} {% endif %} diff --git a/plugins/Marketplace/templates/plugin-details.twig b/plugins/Marketplace/templates/plugin-details.twig index f2b2726a30..9e44e487ea 100644 --- a/plugins/Marketplace/templates/plugin-details.twig +++ b/plugins/Marketplace/templates/plugin-details.twig @@ -13,8 +13,6 @@ {% set latestVersion = '' %} {% endif %} - {% set hasChangelog = plugin.isDownloadable and ((latestVersion and latestVersion.readmeHtml.changelog) or plugin.versions|length > 1) %} -

{{ plugin.displayName }}

@@ -38,18 +36,10 @@
  • {{ 'General_Documentation'|translate }}
  • {% endif %} - {% if hasChangelog %} -
  • {{ 'CorePluginsAdmin_Changelog'|translate }}
  • - {% endif %} - {% if plugin.screenshots|length %}
  • {{ 'Marketplace_Screenshots'|translate }}
  • {% endif %} - {% if plugin.support is not empty %} -
  • {{ 'Marketplace_Support'|translate }}
  • - {% endif %} - {% if plugin.shop is defined and plugin.shop and plugin.shop.reviews and plugin.shop.reviews.embedUrl is defined and plugin.shop.reviews.embedUrl %}
  • {{ 'Marketplace_Reviews'|translate }}
  • {% endif %} @@ -88,41 +78,6 @@
    {% endif %} - {% if hasChangelog %} -
    - {{ marketplaceMacro.missingRequirementsPleaseUpdateNotice(plugin) }} - {% if plugin.canBeUpdated %} -
    - {{ 'Marketplace_PluginUpdateAvailable'|translate(plugin.currentVersion, plugin.latestVersion) }} - {% if plugin.repositoryChangelogUrl %}{{ 'Marketplace_ViewRepositoryChangelog'|translate }}{% endif %} -
    - {% endif %} - - {% if latestVersion.readmeHtml.changelog %} - {{ latestVersion.readmeHtml.changelog|raw }} - {% endif %} - -

    {{ 'CorePluginsAdmin_History'|translate }}

    - -
      - {% for version in plugin.versions|reverse %} -
    • - {% set versionName %} - - {% if version.repositoryChangelogUrl %} - {{ version.name }} - {% else %} - {{ version.name }} - {% endif %} - - {% endset %} - {{ 'Marketplace_PluginVersionInfo'|translate(versionName, version.release)|raw }} -
    • - {% endfor %} -
    -
    - {% endif %} - {% if plugin.screenshots|length %}
    @@ -138,20 +93,6 @@
    {% endif %} - {% if plugin.support is not empty %} -
    -
      - {% for entry in plugin.support %} - {% if entry.name and entry.value %} -
    • - {{ entry.name }}: {{ entry.value }} -
    • - {% endif %} - {% endfor %} -
    -
    - {% endif %} - {% if plugin.shop is defined and plugin.shop and plugin.shop.reviews and plugin.shop.reviews.embedUrl is defined and plugin.shop.reviews.embedUrl %}