/** * Ajax удаление элементов * @return mixed */ public function index_onDelete() { $arElementsID = $this->obRequest->input('checked'); if (empty($arElementsID) || !is_array($arElementsID)) { return $this->listRefresh(); } foreach ($arElementsID as $iElementID) { if (!($obElement = Subscriber::find($iElementID))) { continue; } $obElement->delete(); } Flash::success('lovata.subscriptions::lang.message.delete_success'); return $this->listRefresh(); }
/** * Сохранение нового подпичика * @return array|void */ public function onSubscribe() { $sEmail = Input::get('email'); if (empty($sEmail)) { return; } //получаем выбранную в компоненте группу подписки $iCategoryId = $this->property('category'); //валидация уникального почтового адреса подписчика $rules = ['email' => 'unique:lovata_subscriptions_subscribers']; $validator = Validator::make(['email' => $sEmail], $rules); if ($validator->fails()) { return ['status' => 'not_unique_email']; } $obSubscriber = Subscriber::create(['email' => $sEmail]); //привязка подпичика к определенной группе $obSubscriber->categories()->attach($iCategoryId); return ['status' => 'success']; }