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

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKate Butler <kate@innocraft.com>2019-10-07 04:03:02 +0300
committerThomas Steur <tsteur@users.noreply.github.com>2019-10-07 04:03:02 +0300
commit1bf1b1f84e5f913775d35cc6c4f21f5cad6237d0 (patch)
treedb24900b1ed57758e6de42aad7945cf5b42db209 /plugins/ScheduledReports
parent2a54592f8cc55eb703d1972f6e0666bb44b62bb4 (diff)
Skip unnecessary validation on report unsubscribe (#14942)
* Skip unnecessary validation on report unsubscribe * Simplify logic for saving report parameters during unsubscribe * Reset ScheduledReports cache after unsubscribing user * Fix namespace error
Diffstat (limited to 'plugins/ScheduledReports')
-rw-r--r--plugins/ScheduledReports/SubscriptionModel.php21
1 files changed, 7 insertions, 14 deletions
diff --git a/plugins/ScheduledReports/SubscriptionModel.php b/plugins/ScheduledReports/SubscriptionModel.php
index b548b80c89..fcdfa0c101 100644
--- a/plugins/ScheduledReports/SubscriptionModel.php
+++ b/plugins/ScheduledReports/SubscriptionModel.php
@@ -14,6 +14,7 @@ use Piwik\Common;
use Piwik\Db;
use Piwik\DbHelper;
use Piwik\Piwik;
+use Piwik\Plugins\ScheduledReports\API as APIScheduledReports;
class SubscriptionModel
{
@@ -80,20 +81,12 @@ class SubscriptionModel
}
if ($emailFound) {
- Access::doAsSuperUser(function() use ($report) {
- Request::processRequest('ScheduledReports.updateReport', [
- 'idReport' => $report['idreport'],
- 'idSite' => $report['idsite'],
- 'description' => $report['description'],
- 'period' => $report['period'],
- 'hour' => $report['hour'],
- 'reportType' => $report['type'],
- 'reportFormat' => $report['format'],
- 'reports' => $report['reports'],
- 'parameters' => $report['parameters'],
- 'idSegment' => $report['idsegment'],
- ]);
- });
+ $reportModel = new Model();
+ $reportModel->updateReport($report['idreport'], array(
+ 'parameters' => json_encode($report['parameters'])
+ ));
+ // Reset the cache manually since we didn't call the API method which would do it for us
+ APIScheduledReports::$cache = array();
Piwik::postEvent('Report.unsubscribe', [$report['idreport'], $email]);