$automationID, 'stepId' => $stepAutomationId, 'actionId' => $actionId, ]; } if (!empty($stepAutomationId)) { $stepAutomation['id'] = $stepAutomationId; } if (!empty($conditionId)) { $action['condition_id'] = $conditionId; } if (!empty($actionId)) { $action['id'] = $actionId; } $action['filters']['type_filter'] = acym_getVar('string', 'type_filter'); if ($isMassAction) { $massAction = acym_getVar('array', 'massAction', [], 'SESSION'); $massAction['filters'] = $action['filters']; acym_setSession('massAction', $massAction); return []; } $action['filters'] = json_encode($action['filters']); $action['order'] = 1; foreach ($action as $column => $value) { acym_secureDBColumn($column); } //We need an object to save it so we make a object $action = (object)$action; $action->id = $actionClass->save($action); return [ 'automationId' => $automationID, 'stepId' => $stepAutomationId, 'actionId' => $action->id, ]; } public function saveExitFilters(): void { wp_verify_nonce(acym_getVar('cmd', '_wpnonce'), 'acymnonce') || die('Invalid Token'); $this->setSaveFilters(); acym_enqueueMessage(acym_translation('ACYM_SUCCESSFULLY_SAVED'), 'success'); $this->listing(); } public function saveFilters(): void { wp_verify_nonce(acym_getVar('cmd', '_wpnonce'), 'acymnonce') || die('Invalid Token'); $ids = $this->setSaveFilters(); acym_setVar('id', $ids['automationId']); acym_setVar('stepId', $ids['stepId']); acym_setVar('actionId', $ids['actionId']); $this->summary(); } public function countresults(): void { $or = acym_getVar('int', 'or'); $and = acym_getVar('int', 'and'); $stepAutomation = acym_getVar('array', 'acym_action'); acym_blockRestrictedFilterAjax($stepAutomation); if (empty($stepAutomation['filters'][$or][$and])) { acym_sendAjaxResponse(acym_translation('ACYM_AUTOMATION_NOT_FOUND'), [], false); } $query = new AutomationHelper(); $filterName = key($stepAutomation['filters'][$or][$and]); $options = current($stepAutomation['filters'][$or][$and]); $messages = acym_trigger('onAcymProcessFilterCount_'.$filterName, [&$query, &$options, &$and]); acym_sendAjaxResponse(implode(' | ', $messages)); } public function countResultsOrTotal(): void { $or = acym_getVar('int', 'or'); $stepAutomation = acym_getVar('array', 'acym_action'); acym_blockRestrictedFilterAjax($stepAutomation); $query = new AutomationHelper(); if (!empty($stepAutomation) && !empty($stepAutomation['filters'][$or])) { foreach ($stepAutomation['filters'][$or] as $and => $andValues) { $and = intval($and); foreach ($andValues as $filterName => $options) { $options['countTotal'] = true; acym_trigger('onAcymProcessFilter_'.$filterName, [&$query, &$options, &$and]); } } } $result = $query->count(); acym_sendAjaxResponse(acym_translationSprintf('ACYM_SELECTED_USERS_TOTAL', $result)); } }