protected function saveSubscriptionCategories($categories, $subscription_id, $are_exceptions = false)
{
if ($categories === null) {
return true;
}
if (!is_array($categories)) {
$categories = [$categories];
}
foreach ($categories as $category) {
$subscriptionCategory = new models\DbSubscriptionCategory();
$subscriptionCategory->setAttributes(['subscription_id' => $subscription_id, 'category' => str_replace('*', '%', $category), 'is_exception' => $are_exceptions ? 1 : 0]);
if (!$subscriptionCategory->save()) {
throw new Exception(Yii::t('app', 'Failed to save category {category} for subscription {subscription_id}', ['category' => $category, 'subscription_id' => $subscription_id]));
}
}
return true;
}