| @@ -45,10 +45,8 @@ | ||
| 45 | 45 | } |
| 46 | 46 | |
| 47 | 47 | private function storeAndGetTask(string $task): string |
| 48 | 48 | { |
| 49 | - acym_session(); | |
| 50 | - | |
| 51 | 49 | $tasksToStore = [ |
| 52 | 50 | 'globalStats', |
| 53 | 51 | 'detailedStats', |
| 54 | 52 | 'clickMap', |
| @@ -56,24 +54,25 @@ | ||
| 56 | 54 | 'userClickDetails', |
| 57 | 55 | 'statsByList', |
| 58 | 56 | ]; |
| 59 | 57 | |
| 60 | - if ($this->taskCalled === 'listing' && empty($_SESSION['stats_task'])) { | |
| 58 | + $statsTask = acym_getVar('string', 'stats_task', '', 'SESSION'); | |
| 59 | + if ($this->taskCalled === 'listing' && empty($statsTask)) { | |
| 61 | 60 | return 'globalStats'; |
| 62 | 61 | } |
| 63 | 62 | |
| 64 | - if ((empty($this->taskCalled) || $this->taskCalled === 'listing') && !empty($_SESSION['stats_task']) && in_array($_SESSION['stats_task'], $tasksToStore)) { | |
| 65 | - return $_SESSION['stats_task']; | |
| 63 | + if ((empty($this->taskCalled) || $this->taskCalled === 'listing') && !empty($statsTask) && in_array($statsTask, $tasksToStore)) { | |
| 64 | + return $statsTask; | |
| 66 | 65 | } |
| 67 | 66 | |
| 68 | 67 | if (!empty($this->taskCalled) && !in_array($this->taskCalled, $tasksToStore) && method_exists($this, $this->taskCalled)) { |
| 69 | 68 | return $this->taskCalled; |
| 70 | 69 | } elseif (!empty($this->taskCalled) && $this->taskCalled != 'listing' && in_array($this->taskCalled, $tasksToStore)) { |
| 71 | - $_SESSION['stats_task'] = $this->taskCalled; | |
| 70 | + acym_setSession('stats_task', $this->taskCalled); | |
| 72 | 71 | |
| 73 | 72 | return $task; |
| 74 | - } elseif (!empty($_SESSION['stats_task']) && method_exists($this, $_SESSION['stats_task'])) { | |
| 75 | - return $_SESSION['stats_task']; | |
| 73 | + } elseif (!empty($statsTask) && method_exists($this, $statsTask)) { | |
| 74 | + return $statsTask; | |
| 76 | 75 | } else { |
| 77 | 76 | return $this->defaulttask; |
| 78 | 77 | } |
| 79 | 78 | } |
| @@ -117,8 +116,9 @@ | ||
| 117 | 116 | public function prepareDefaultPageInfo(array &$data, bool $needMailId = false): bool |
| 118 | 117 | { |
| 119 | 118 | $data['workflowHelper'] = new WorkflowHelper(); |
| 120 | 119 | |
| 120 | + //If we unselect all email in the dropdown the getVarFiltersListing is not resetting correctly the selected mails ids | |
| 121 | 121 | $overrideFilterMailIds = acym_getVar('string', 'task', '') === 'listing' && empty(acym_getVar('array', 'mail_ids', [])); |
| 122 | 122 | $data['selectedMailid'] = $this->getVarFiltersListing('array', 'mail_ids', [], $overrideFilterMailIds); |
| 123 | 123 | |
| 124 | 124 | foreach ($data['selectedMailid'] as $i => $mailId) { |