diff options
author | Thomas Steur <tsteur@users.noreply.github.com> | 2016-08-29 04:30:52 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-29 04:30:52 +0300 |
commit | 0c9c30b731ccbacf47e154b9f7a590af49e3d799 (patch) | |
tree | c5cf2f6437bb2ee7f3675350ee4b0b6acbbae7d3 /plugins/Widgetize | |
parent | bfdf0bed670f247bf9b1d466e3bcf651e98ab634 (diff) |
Better UI for Piwik 3, more responsive, faster, lots of other fixes (#10397)
* improved ui and responsiveness
* improve rss widget
* commit changes for ui again, got lost after the last commit
* fix more tests
* restoring files
* fix fonts
* fix more tests
* more test fixes
* fix some system tests
* fix tests
* fix system and ui tests
* fix updater tests
* make a page as loaded once the callback is called
* enable verbose
* more verbose output
* enable phantomjs debug flag
* debug should be a phantomjs option
* trying to fix installation tests
* fixes #10173 to not compile css files as less
* trying to minimize js/css requests to hopefully prevent random ui test fails
* disable verbose mode
* fix updater and installation
* lots of bugfixes and ui tweaks
* fix reset dashboard
* various bugfixes
* fix integration tests
* fix text color
* hoping to fix installation tests this way
* cache css/js resources for an hour, should speed up tests and prevent some random issues
* we need to avoid installing plugins multiple times at the same time when requesting resources
* finally getting the colors right again
* fix most tests, more tests for theme
* use an h2 element for titles for better accessibility
* fix headline color
* use actual theme text color (piwik-black)
* fix small font size was applied on all p elements
* fix tests
* now improving all the datatables
* trying to ignore images for visitor log
* Revert "trying to ignore images for visitor log"
This reverts commit ad1ff7267aae14ad905bef130e956c8593c4fb22.
* fix tests
* fix we had always ignored a max label width
* trying to fix file permissions
* fix more file permissions
* Improved plugins update API (#10028)
* refs #7983 let plugins add or remove fields to websites and better settings api
* * Hide CorePluginsAdmin API methods
* More documentation
* Added some more tests
* improved updates API for plugins
* better error code as duplicate column cannot really happen when not actually renaming a colum
Conflicts:
core/Updates/3.0.0-b1.php
plugins/CoreUpdater/Commands/Update/CliUpdateObserver.php
* fix DB field piwik_log_visit.location_provider too small (#10003)
* fixes #9564 fix DB field piwik_log_visit.location_provider too small
* use new plugins updater API
* DB field piwik_log_visit.visit_total_actions too small (#10002)
* fixes #9565 DB field piwik_log_visit.visit_total_actions too small
* change type of some db columns that are too small
* fix tests (#10040)
Conflicts:
plugins/CoreAdminHome/Menu.php
plugins/Goals/Menu.php
plugins/MobileMessaging/Menu.php
plugins/SitesManager/Menu.php
plugins/UsersManager/Menu.php
tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getWidgetMetadata.xml
* fix more file permissions
* repair more file permissions
* repair more file permissions
* trying to make ui tests work again, the table was missing
* fix some encoding issues
* cross browser fixes and usability improvement
* move back the config icon, need to find a better solution later
* more cross browser fixes
* bugfixes
* fix ui tests
* fix encoding issue
* fix various issues with the ui tests when a test gets aborted
* also skip this visitor log test when aborted
* there were 3 css files that were loaded separately, merge them instead into one css
* forgot to add the actual manifest
* do not add manifest if custom logo is specified
* load font css files first as it was before merging them into big css
* fix link icon was not aligned anymore
* minor fixes
* setting it back to 4px
* in popovers the font variable was always ignored and a different font loaded
* forgot to update screenshots
* fix remaining tests
* this should fix an update error
* added 3 new widgets system check, system summary and plugin updates
* tweak new widgets content
* no page reload when changing date or segment
* in admin home show only enabled widgets
* refs #10295 use getMockBuilder instead of deprecated getMock
* fix some ui tests
* fix various bugs
* fix more tests
* fix ui tests
* add a space between loading image and loading message
* fix docs so they appear on developer.piwik.org
* improved documentation
* introduce new Widget::renderTemplate method for consistency with controllers
* remove no longer needed files
* testing system fonts
* fix strong was not really bold
* more useful system summary
* remove ubuntu font
* fix most tests and removed most em elements
* fix tests
* fix headline was very thin
* update submodule
* update submodules
* update submodule
* fix failing ui tests
* update submodules
Diffstat (limited to 'plugins/Widgetize')
-rw-r--r-- | plugins/Widgetize/Widgetize.php | 5 | ||||
-rw-r--r-- | plugins/Widgetize/angularjs/export-widget/export-widget.controller.js | 29 | ||||
-rw-r--r-- | plugins/Widgetize/angularjs/widget-preview/widget-preview.directive.js | 98 | ||||
-rw-r--r-- | plugins/Widgetize/javascripts/widgetize.js | 84 | ||||
-rw-r--r-- | plugins/Widgetize/stylesheets/widgetize.less | 15 | ||||
-rw-r--r-- | plugins/Widgetize/templates/iframe.twig | 7 | ||||
-rw-r--r-- | plugins/Widgetize/templates/index.twig | 64 | ||||
-rw-r--r-- | plugins/Widgetize/tests/System/WidgetTest.php | 57 |
8 files changed, 203 insertions, 156 deletions
diff --git a/plugins/Widgetize/Widgetize.php b/plugins/Widgetize/Widgetize.php index 750686c6f9..1181b227a1 100644 --- a/plugins/Widgetize/Widgetize.php +++ b/plugins/Widgetize/Widgetize.php @@ -29,11 +29,10 @@ class Widgetize extends \Piwik\Plugin $jsFiles[] = "libs/jquery/jquery.truncate.js"; $jsFiles[] = "libs/bower_components/jquery.scrollTo/jquery.scrollTo.min.js"; $jsFiles[] = "plugins/Morpheus/javascripts/piwikHelper.js"; - $jsFiles[] = "plugins/Morpheus/javascripts/jquery.icheck.min.js"; - $jsFiles[] = "plugins/Morpheus/javascripts/morpheus.js"; $jsFiles[] = "plugins/CoreHome/javascripts/dataTable.js"; $jsFiles[] = "plugins/Dashboard/javascripts/widgetMenu.js"; - $jsFiles[] = "plugins/Widgetize/javascripts/widgetize.js"; + $jsFiles[] = "plugins/Widgetize/angularjs/widget-preview/widget-preview.directive.js"; + $jsFiles[] = "plugins/Widgetize/angularjs/export-widget/export-widget.controller.js"; } public function getStylesheetFiles(&$stylesheets) diff --git a/plugins/Widgetize/angularjs/export-widget/export-widget.controller.js b/plugins/Widgetize/angularjs/export-widget/export-widget.controller.js new file mode 100644 index 0000000000..821fcb5ff7 --- /dev/null +++ b/plugins/Widgetize/angularjs/export-widget/export-widget.controller.js @@ -0,0 +1,29 @@ +/*! + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +(function () { + angular.module('piwikApp').controller('ExportWidgetController', ExportWidgetController); + + ExportWidgetController.$inject = ['piwik', '$window']; + + function ExportWidgetController(piwik, $window) { + + function getIframeCode(iframeUrl) + { + var url = iframeUrl.replace(/"/g, '"'); + + return '<iframe src="' + url + '" frameborder="0" marginheight="0" marginwidth="0" width="100%" height="100%"></iframe>'; + } + + // remember to keep controller very simple. Create a service/factory (model) if needed + var urlPath = $window.location.protocol + '//' + $window.location.hostname + ($window.location.port == '' ? '' : (':' + $window.location.port)) + $window.location.pathname; + this.dashboardUrl = urlPath + '?module=Widgetize&action=iframe&moduleToWidgetize=Dashboard&actionToWidgetize=index&idSite=' + piwik.idSite + '&period=week&date=yesterday'; + this.dashboardCode = getIframeCode(this.dashboardUrl); + + this.allWebsitesDashboardUrl = urlPath + '?module=Widgetize&action=iframe&moduleToWidgetize=MultiSites&actionToWidgetize=standalone&idSite=' + piwik.idSite + '&period=week&date=yesterday'; + this.allWebsitesDashboardCode = getIframeCode(this.allWebsitesDashboardUrl); + } +})();
\ No newline at end of file diff --git a/plugins/Widgetize/angularjs/widget-preview/widget-preview.directive.js b/plugins/Widgetize/angularjs/widget-preview/widget-preview.directive.js new file mode 100644 index 0000000000..6694b15fae --- /dev/null +++ b/plugins/Widgetize/angularjs/widget-preview/widget-preview.directive.js @@ -0,0 +1,98 @@ +/*! + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +/** + * Usage: + * <div piwik-widget-preview> + */ +(function () { + angular.module('piwikApp').directive('piwikWidgetPreview', piwikWidgetPreview); + + piwikWidgetPreview.$inject = ['piwik', '$window']; + + function piwikWidgetPreview(piwik, $window){ + + function getEmbedUrl(parameters, exportFormat) { + var copyParameters = {}; + for (var variableName in parameters) { + copyParameters[variableName] = parameters[variableName]; + } + copyParameters['moduleToWidgetize'] = parameters['module']; + copyParameters['actionToWidgetize'] = parameters['action']; + delete copyParameters['action']; + delete copyParameters['module']; + var sourceUrl; + sourceUrl = $window.location.protocol + '//' + $window.location.hostname + ($window.location.port == '' ? '' : (':' + $window.location.port)) + $window.location.pathname + '?'; + sourceUrl += "module=Widgetize" + + "&action=" + exportFormat + + "&" + piwik.helper.getQueryStringFromParameters(copyParameters) + + "&idSite=" + piwik.idSite + + "&period=" + piwik.period + + "&date=" + piwik.broadcast.getValueFromUrl('date') + + "&disableLink=1&widget=1"; + return sourceUrl; + } + + return { + restrict: 'A', + controller: function () { + + var self = this; + + this.getInputFormWithHtml = function (inputId, htmlEmbed) { + return '<pre piwik-select-on-focus readonly="true" id="' + inputId + '">' + this.htmlentities(htmlEmbed) + '</pre>'; + }; + + this.htmlentities = function (s) { + return piwik.helper.escape(piwik.helper.htmlEntities(s)); + }; + + this.callbackAddExportButtonsUnderWidget = function (widgetUniqueId, loadedWidgetElement) { + var widget = widgetsHelper.getWidgetObjectFromUniqueId(widgetUniqueId); + var widgetParameters = widget['parameters']; + + var exportButtonsElement = $('<span id="exportButtons">'); + + var urlIframe = getEmbedUrl(widgetParameters, "iframe"); + // We first build the HTML code that will load the widget in an IFRAME + var widgetIframeHtml = '<div id="widgetIframe">' + + '<iframe width="100%" height="350" src="' + urlIframe + '" scrolling="no" frameborder="0" marginheight="0" marginwidth="0">' + + '</iframe>' + + '</div>'; + + // Add the input field containing the widget in an Iframe + $(exportButtonsElement).append( + '<div id="embedThisWidgetIframe">' + + '<label for="embedThisWidgetIframeInput">› Embed Iframe</label>' + + '<div id="embedThisWidgetIframeInput">' + + self.getInputFormWithHtml('iframeEmbed', widgetIframeHtml) + + '</div>' + + '</div>' + + '<div> <label for="embedThisWidgetDirectLink">› Direct Link</label>' + + '<div id="embedThisWidgetDirectLink"> ' + self.getInputFormWithHtml('directLinkEmbed', urlIframe) + ' - <a href="' + urlIframe + '" rel="noreferrer" target="_blank">' + _pk_translate('Widgetize_OpenInNewWindow') + '</a></div>' + + '</div>' + ); + + // Finally we append the content to the parent widget DIV + $(loadedWidgetElement) + .parent() + .append(exportButtonsElement); + + piwik.helper.compileAngularComponents(exportButtonsElement); + } + }, + compile: function (element, attrs) { + + return function (scope, element, attrs, controller) { + element.widgetPreview({ + onPreviewLoaded: controller.callbackAddExportButtonsUnderWidget + }); + }; + } + }; + } +})();
\ No newline at end of file diff --git a/plugins/Widgetize/javascripts/widgetize.js b/plugins/Widgetize/javascripts/widgetize.js deleted file mode 100644 index 3e7d8787b6..0000000000 --- a/plugins/Widgetize/javascripts/widgetize.js +++ /dev/null @@ -1,84 +0,0 @@ -/*! - * Piwik - free/libre analytics platform - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ - -/** - * @constructor - */ -function widgetize() { - var self = this; - - this.getInputFormWithHtml = function (inputId, htmlEmbed) { - return '<input class="formEmbedCode" id="' + inputId + '" value="' + htmlEmbed.replace(/"/g, '"') + '" onclick="javascript:document.getElementById(\'' + inputId + '\').focus();document.getElementById(\'' + inputId + '\').select();" readonly="true" type="text" />'; - }; - - this.getEmbedUrl = function (parameters, exportFormat) { - var copyParameters = {}; - for (var variableName in parameters) { - copyParameters[variableName] = parameters[variableName]; - } - copyParameters['moduleToWidgetize'] = parameters['module']; - copyParameters['actionToWidgetize'] = parameters['action']; - delete copyParameters['action']; - delete copyParameters['module']; - var sourceUrl; - sourceUrl = document.location.protocol + '//' + document.location.hostname + (document.location.port == '' ? '' : (':' + document.location.port)) + document.location.pathname + '?'; - sourceUrl += "module=Widgetize" + - "&action=" + exportFormat + - "&" + piwikHelper.getQueryStringFromParameters(copyParameters) + - "&idSite=" + piwik.idSite + - "&period=" + piwik.period + - "&date=" + broadcast.getValueFromUrl('date') + - "&disableLink=1&widget=1"; - return sourceUrl; - }; - - this.htmlentities = function (s) { - return s.replace(/[<>&]/g, function (m) { return "&" + m.charCodeAt(0) + ";"; }); - }; - - this.callbackAddExportButtonsUnderWidget = function (widgetUniqueId, loadedWidgetElement) { - var widget = widgetsHelper.getWidgetObjectFromUniqueId(widgetUniqueId); - var widgetParameters = widget['parameters']; - - var exportButtonsElement = $('<span id="exportButtons">'); - - var urlIframe = self.getEmbedUrl(widgetParameters, "iframe"); - // We first build the HTML code that will load the widget in an IFRAME - var widgetIframeHtml = '<div id="widgetIframe">' + - '<iframe width="100%" height="350" src="' + - urlIframe + - '" scrolling="no" frameborder="0" marginheight="0" marginwidth="0">' + - '</iframe>' + - '</div>'; - - // Add the input field containing the widget in an Iframe - $(exportButtonsElement).append( - '<div id="embedThisWidgetIframe">' + - '<label for="embedThisWidgetIframeInput">› Embed Iframe</label>' + - '<span id="embedThisWidgetIframeInput">' + - self.getInputFormWithHtml('iframeEmbed', widgetIframeHtml) + - '</span>' + - '</div>' + - '<div> <label for="embedThisWidgetDirectLink">› Direct Link</label>' + - '<span id="embedThisWidgetDirectLink"> ' + self.getInputFormWithHtml('directLinkEmbed', urlIframe) + ' - <a href="' + urlIframe + '" rel="noreferrer" target="_blank">' + _pk_translate('Widgetize_OpenInNewWindow') + '</a></span>' - + '</div>' - ); - - // We then replace the div iframeDivToExport with the actual Iframe html - $('#iframeDivToExport') - .html(widgetIframeHtml); - - // Finally we append the content to the parent widget DIV - $(loadedWidgetElement) - .parent() - .append(exportButtonsElement); - - // JS is buggy at least on IE - //var widgetJS = '<script type="text/javascript" src="'+ getEmbedUrl(pluginId, actionId, "js") +'"></scr'+'ipt>'; - //divEmbedThisWidget.append('<br />Embed JS: '+ getInputFormWithHtml('javascriptEmbed', widgetJS)); - } -} diff --git a/plugins/Widgetize/stylesheets/widgetize.less b/plugins/Widgetize/stylesheets/widgetize.less index 26dc31498a..f80de58588 100644 --- a/plugins/Widgetize/stylesheets/widgetize.less +++ b/plugins/Widgetize/stylesheets/widgetize.less @@ -28,12 +28,19 @@ padding-bottom: 100px; } -#embedThisWidgetIframe, -#embedThisWidgetFlash, -#embedThisWidgetEverywhere { - margin-top: 5px; +#embedThisWidgetIframe { + margin-top: 16px; } body>.widget { margin: 10px 7px; + overflow: visible; + + strong { + font-weight: 700; + } } + +body.widgetized { + background-color: @theme-color-widget-exported-background-base; +}
\ No newline at end of file diff --git a/plugins/Widgetize/templates/iframe.twig b/plugins/Widgetize/templates/iframe.twig index 66556262b5..f0fc5ef8fa 100644 --- a/plugins/Widgetize/templates/iframe.twig +++ b/plugins/Widgetize/templates/iframe.twig @@ -8,13 +8,8 @@ <script language="javascript" type="text/javascript" src="libs/jqplot/excanvas.min.js"></script> <![endif]--> {% include "_jsCssIncludes.twig" %} - <!--[if IE]> - <link rel="stylesheet" type="text/css" href="plugins/Morpheus/stylesheets/ieonly.css"/> - <![endif]--> </head> - <!--[if (gte IE 9)|!(IE)]><!--> - <body ng-app="app"> - <![endif]--> + <body ng-app="app" class="widgetized"> <div piwik-popover-handler></div> <div class="widget"> {{ content|raw }} diff --git a/plugins/Widgetize/templates/index.twig b/plugins/Widgetize/templates/index.twig index 19569aed92..455127ff57 100644 --- a/plugins/Widgetize/templates/index.twig +++ b/plugins/Widgetize/templates/index.twig @@ -11,33 +11,12 @@ <div> - <script type="text/javascript"> - $(function () { - var widgetized = new widgetize(); - var urlPath = document.location.protocol + '//' + document.location.hostname + (document.location.port == '' ? '' : (':' + document.location.port)) + document.location.pathname; - var dashboardUrl = urlPath + '?module=Widgetize&action=iframe&moduleToWidgetize=Dashboard&actionToWidgetize=index&idSite=' + piwik.idSite + '&period=week&date=yesterday'; - $('#exportFullDashboard').html( - widgetized.getInputFormWithHtml('dashboardEmbed', '<iframe src="' + dashboardUrl + '" frameborder="0" marginheight="0" marginwidth="0" width="100%" height="100%"></iframe>') - ); - $('#linkDashboardUrl').attr('href', dashboardUrl); - - var allWebsitesDashboardUrl = urlPath + '?module=Widgetize&action=iframe&moduleToWidgetize=MultiSites&actionToWidgetize=standalone&idSite=' + piwik.idSite + '&period=week&date=yesterday'; - $('#exportAllWebsitesDashboard').html( - widgetized.getInputFormWithHtml('allWebsitesDashboardEmbed', '<iframe src="' + allWebsitesDashboardUrl + '" frameborder="0" marginheight="0" marginwidth="0" width="100%" height="100%"></iframe>') - ); - $('#linkAllWebsitesDashboardUrl').attr('href', allWebsitesDashboardUrl); - $('#widgetPreview').widgetPreview({ - onPreviewLoaded: widgetized.callbackAddExportButtonsUnderWidget - }); - }); -</script> - -<h2 piwik-enriched-headline>{{ title }}</h2> - -<div class="widgetize"> - <p>With Piwik, you can export your Web Analytics reports on your blog, website, or intranet dashboard... in one click. - - <h2 class="secondary">Authentication</h2> +<div class="widgetize" ng-controller="ExportWidgetController as exportWidget"> +<div piwik-content-intro> + <h2 piwik-enriched-headline>{{ title|e('html_attr') }}</h2> + <p>With Piwik, you can export your Web Analytics reports on your blog, website, or intranet dashboard... in one click.</p> +</div> +<div piwik-content-block content-title="Authentication"> <p> If you want your widgets to be viewable by everybody, you first have to set the 'view' permissions to the anonymous user in the <a href='index.php?module=UsersManager' rel='noreferrer' target='_blank'>Users Management section</a>. @@ -45,25 +24,36 @@ you don't necessarily have to allow 'anonymous' to view your reports. In this case, you can add the secret token_auth parameter (found in the <a href='{{ linkTo({'module':'API','action':'listAllAPI'}) }}' rel='noreferrer' target='_blank'>API page</a>) in the widget URL. </p> - - <h2>Widgetize dashboards</h2> +</div> +<div piwik-content-block content-title="Widgetize dashboards"> <p>You can also display the full Piwik dashboard in your application or website in an IFRAME - (<a href='' rel='noreferrer' target='_blank' id='linkDashboardUrl'>see example</a>). + (<a ng-href='{{ '{{ exportWidget.dashboardUrl }}'|raw }}' rel='noreferrer' target='_blank' >see example</a>). The date parameter can be set to a specific calendar date, "today", or "yesterday". The period parameter can be set to "day", "week", "month", or "year". The language parameter can be set to the language code of a translation, such as language=fr. - For example, for idSite=1 and date=yesterday, you can write: <span id='exportFullDashboard'></span> + For example, for idSite=1 and date=yesterday, you can write: + <br /> - You can also widgetize the all websites dashboard in an IFRAME (<a href='' rel='noreferrer' target='_blank' id='linkAllWebsitesDashboardUrl'>see example</a>) - <span id='exportAllWebsitesDashboard'></span> - </p> - <h2>Widgetize reports</h2> + <pre piwik-select-on-focus ng-bind="exportWidget.dashboardCode"> </pre> + + <br /> + You can also widgetize the all websites dashboard in an IFRAME + (<a ng-href='{{ '{{ exportWidget.allWebsitesDashboardUrl }}'|raw }}' rel='noreferrer' target='_blank' id='linkAllWebsitesDashboardUrl'>see example</a>) + + <br /> + + <pre piwik-select-on-focus ng-bind="exportWidget.allWebsitesDashboardCode"> </pre> + </p> +</div> +<div piwik-content-block content-title="Widgetize reports"> <p>Select a report, and copy paste in your page the embed code below the widget: - <div id="widgetPreview"></div> + <div piwik-widget-preview></div> - <div id='iframeDivToExport' style='display:none;'></div> + <br class="clearfix" /> + +</div> </div> </div> diff --git a/plugins/Widgetize/tests/System/WidgetTest.php b/plugins/Widgetize/tests/System/WidgetTest.php index 72861e6faf..40ad26252f 100644 --- a/plugins/Widgetize/tests/System/WidgetTest.php +++ b/plugins/Widgetize/tests/System/WidgetTest.php @@ -357,10 +357,9 @@ class WidgetTest extends SystemTestCase ), ),array ( 'name' => 'Browser engines', - 'uniqueId' => 'widgetDevicesDetectiongetBrowserEnginesviewDataTablegraphPie', + 'uniqueId' => 'widgetDevicesDetectiongetBrowserEngines', 'parameters' => array ( - 'viewDataTable' => 'graphPie', 'module' => 'DevicesDetection', 'action' => 'getBrowserEngines', ), @@ -414,19 +413,17 @@ class WidgetTest extends SystemTestCase ), ),array ( 'name' => 'Visits per visit duration', - 'uniqueId' => 'widgetVisitorInterestgetNumberOfVisitsPerVisitDurationviewDataTablecloud', + 'uniqueId' => 'widgetVisitorInterestgetNumberOfVisitsPerVisitDuration', 'parameters' => array ( - 'viewDataTable' => 'cloud', 'module' => 'VisitorInterest', 'action' => 'getNumberOfVisitsPerVisitDuration', ), ),array ( 'name' => 'Visits per number of pages', - 'uniqueId' => 'widgetVisitorInterestgetNumberOfVisitsPerPageviewDataTablecloud', + 'uniqueId' => 'widgetVisitorInterestgetNumberOfVisitsPerPage', 'parameters' => array ( - 'viewDataTable' => 'cloud', 'module' => 'VisitorInterest', 'action' => 'getNumberOfVisitsPerPage', ), @@ -468,28 +465,25 @@ class WidgetTest extends SystemTestCase ), ),array ( 'name' => 'Visits per local time', - 'uniqueId' => 'widgetVisitTimegetVisitInformationPerLocalTimeviewDataTablegraphVerticalBar', + 'uniqueId' => 'widgetVisitTimegetVisitInformationPerLocalTime', 'parameters' => array ( - 'viewDataTable' => 'graphVerticalBar', 'module' => 'VisitTime', 'action' => 'getVisitInformationPerLocalTime', ), ),array ( 'name' => 'Visits per server time', - 'uniqueId' => 'widgetVisitTimegetVisitInformationPerServerTimeviewDataTablegraphVerticalBar', + 'uniqueId' => 'widgetVisitTimegetVisitInformationPerServerTime', 'parameters' => array ( - 'viewDataTable' => 'graphVerticalBar', 'module' => 'VisitTime', 'action' => 'getVisitInformationPerServerTime', ), ),array ( 'name' => 'Visits by Day of Week', - 'uniqueId' => 'widgetVisitTimegetByDayOfWeekviewDataTablegraphVerticalBar', + 'uniqueId' => 'widgetVisitTimegetByDayOfWeek', 'parameters' => array ( - 'viewDataTable' => 'graphVerticalBar', 'module' => 'VisitTime', 'action' => 'getByDayOfWeek', ), @@ -599,19 +593,17 @@ class WidgetTest extends SystemTestCase ), ),array ( 'name' => 'Referrer Types', - 'uniqueId' => 'widgetReferrersgetReferrerTypeviewDataTabletableAllColumns', + 'uniqueId' => 'widgetReferrersgetReferrerType', 'parameters' => array ( - 'viewDataTable' => 'tableAllColumns', 'module' => 'Referrers', 'action' => 'getReferrerType', ), ),array ( 'name' => 'Referrers', - 'uniqueId' => 'widgetReferrersgetAllviewDataTabletableAllColumns', + 'uniqueId' => 'widgetReferrersgetAll', 'parameters' => array ( - 'viewDataTable' => 'tableAllColumns', 'module' => 'Referrers', 'action' => 'getAll', ), @@ -641,10 +633,9 @@ class WidgetTest extends SystemTestCase ), ),array ( 'name' => 'Social Networks', - 'uniqueId' => 'widgetReferrersgetSocialsviewDataTablegraphPie', + 'uniqueId' => 'widgetReferrersgetSocials', 'parameters' => array ( - 'viewDataTable' => 'graphPie', 'module' => 'Referrers', 'action' => 'getSocials', ), @@ -765,10 +756,9 @@ class WidgetTest extends SystemTestCase ), ),array ( 'name' => 'Pie graph', - 'uniqueId' => 'widgetExampleUIgetPlanetRatiosviewDataTablegraphPie', + 'uniqueId' => 'widgetExampleUIgetPlanetRatios', 'parameters' => array ( - 'viewDataTable' => 'graphPie', 'module' => 'ExampleUI', 'action' => 'getPlanetRatios', ), @@ -784,10 +774,9 @@ class WidgetTest extends SystemTestCase ), ),array ( 'name' => 'Advanced tag cloud: with logos and links', - 'uniqueId' => 'widgetExampleUIgetPlanetRatiosWithLogosviewDataTablecloud', + 'uniqueId' => 'widgetExampleUIgetPlanetRatiosWithLogos', 'parameters' => array ( - 'viewDataTable' => 'cloud', 'module' => 'ExampleUI', 'action' => 'getPlanetRatiosWithLogos', ) @@ -995,6 +984,30 @@ class WidgetTest extends SystemTestCase 'module' => 'Goals', 'action' => 'getItemsCategory', ), + ), array ( + 'name' => 'Latest Piwik Plugin Updates', + 'uniqueId' => 'widgetCorePluginsAdmingetNewPlugins', + 'parameters' => + array ( + 'module' => 'CorePluginsAdmin', + 'action' => 'getNewPlugins', + ), + ), array ( + 'name' => 'System Check', + 'uniqueId' => 'widgetInstallationgetSystemCheck', + 'parameters' => + array ( + 'module' => 'Installation', + 'action' => 'getSystemCheck', + ), + ), array ( + 'name' => 'System Summary', + 'uniqueId' => 'widgetCoreHomegetSystemSummary', + 'parameters' => + array ( + 'module' => 'CoreHome', + 'action' => 'getSystemSummary', + ), ), ); } |