- Модуль: sender
- Путь к файлу: ~/bitrix/modules/sender/lib/dispatch/state.php
- Класс: BitrixSenderDispatchState
- Вызов: State::changeState
private function changeState($state, Date $sendDate = null)
{
if (!$this->isCampaignActive() && in_array($state, [self::SENDING, self::PLANNED]))
{
throw new InvalidOperationException(Loc::getMessage('SENDER_DISPATCH_STATE_ERROR_CAMPAIGN_INACTIVE'));
}
if (!$this->canChangeState($state))
{
$messageText = Loc::getMessage('SENDER_DISPATCH_STATE_ERROR_CHANGE', array(
'%old%' => $this->getName(),
'%new%' => self::getStateName($state)
));
throw new InvalidOperationException($messageText);
}
$map = self::getStateMap();
if ($map[$state])
{
return $this->updateStatus($map[$state], $state, $sendDate);
}
return false;
}