# acymailing/10.11.1/back/Classes/ScenarioQueueClass.php

AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress, version 10.11.1. 43 lines.

- Page: https://pluginprobe.com/plugins/acymailing/10.11.1/code/back/Classes/ScenarioQueueClass.php
- Raw: https://pluginprobe.com/plugins/acymailing/10.11.1/raw/back/Classes/ScenarioQueueClass.php
- Modified: 2025-11-17T10:05:56+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/acymailing/10.11.1/code/back/Classes/ScenarioQueueClass.php#L10-L20`.

```php
<?php

namespace AcyMailing\Classes;

use AcyMailing\Core\AcymClass;

class ScenarioQueueClass extends AcymClass
{
    public function __construct()
    {
        parent::__construct();

        $this->table = 'scenario_queue';
        $this->pkey = 'id';
    }

    public function deleteByStepIds(array $stepIds): ?int
    {
        foreach ($stepIds as $key => $stepId) {
            $stepIds[$key] = acym_escapeDB($stepId);
        }

        return acym_query('DELETE FROM #__acym_'.acym_secureDBColumn($this->table).' WHERE `step_id` IN ('.implode(',', $stepIds).')');
    }

    public function getByProcessId(int $processId): ?object
    {
        $query = 'SELECT step.type, step.params, queue.execution_date FROM #__acym_scenario_queue AS `queue`
                    JOIN #__acym_scenario_step AS `step` ON step.id = queue.step_id
                    WHERE queue.scenario_process_id = '.$processId;

        $nextStep = acym_loadObject($query);

        if (empty($nextStep)) {
            return null;
        }

        $nextStep->params = json_decode($nextStep->params, true);

        return $nextStep;
    }
}

```
