PluginProbe
Metricool – Social media and site statistics / trunk
Metricool – Social media and site statistics vtrunk
2.1.0 2.0.2 2.0.1 2.0.0 1.27 trunk
← All changes | app/Features/TaskManagement/TaskManagementController.php +12 -3 2.0.2trunk View file →
@@ -9,28 +9,37 @@
9 9 }
10 10
11 11 use Metricool\Interfaces\FeatureInterface;
12 12 use Metricool\Interfaces\TaskInterface;
13 +use Metricool\Services\DashboardService;
14 +use Metricool\Traits\HasAllowlistControl;
13 15
14 16 class TaskManagementController implements FeatureInterface
15 17 {
18 + use HasAllowlistControl;
19 +
16 20 private TaskManagementEndpoints $endpoints;
17 21 private TaskManagementService $service;
18 22 private TaskManagementListener $listener;
23 + private DashboardService $dashboard;
19 24
20 - public function __construct(TaskManagementService $service, TaskManagementEndpoints $endpoints, TaskManagementListener $listener)
25 + public function __construct(TaskManagementService $service, TaskManagementEndpoints $endpoints, TaskManagementListener $listener, DashboardService $dashboard)
21 26 {
22 27 $this->service = $service;
23 28 $this->endpoints = $endpoints;
24 29 $this->listener = $listener;
30 + $this->dashboard = $dashboard;
25 31 }
26 32
27 33 public function register(): void
28 34 {
29 35 $this->endpoints->register();
30 - $this->listener->listen();
31 36
32 - $this->initiateTasks();
37 + if ($this->userCanManage() && $this->dashboard->isOnboardingCompleted()) {
38 + $this->listener->listen();
39 + $this->initiateTasks();
40 + }
41 +
33 42 add_action('metricool_plugin_version_upgrade', [$this, 'upgradeTasks']);
34 43 }
35 44
36 45 /**