skeeks\cms\controllers\AdminComponentSettingsController::actionRemove PHP Method

actionRemove() public method

public actionRemove ( )
    public function actionRemove()
    {
        $component = $this->_component;
        $rr = new RequestResponse();
        if ($rr->isRequestAjaxPost()) {
            if (\Yii::$app->request->post('do') == 'all') {
                if ($settings = \skeeks\cms\models\CmsComponentSettings::baseQuery($component)->all()) {
                    /**
                     * @var $setting CmsComponentSettings
                     */
                    foreach ($settings as $setting) {
                        //TODO: добавить отладочную информацию.
                        if ($setting->delete()) {
                        }
                    }
                    $component->invalidateCache();
                    $rr->message = 'Настройки успешно удалены';
                    $rr->success = true;
                }
            } else {
                if (\Yii::$app->request->post('do') == 'default') {
                    if ($settings = \skeeks\cms\models\CmsComponentSettings::fetchByComponentDefault($component)) {
                        $settings->delete();
                        $component->invalidateCache();
                        $rr->message = 'Настройки успешно удалены';
                        $rr->success = true;
                    }
                } else {
                    if (\Yii::$app->request->post('do') == 'sites') {
                        if ($settings = \skeeks\cms\models\CmsComponentSettings::baseQuerySites($component)->all()) {
                            /**
                             * @var $setting CmsComponentSettings
                             */
                            foreach ($settings as $setting) {
                                //TODO: добавить отладочную информацию.
                                if ($setting->delete()) {
                                }
                            }
                            $component->invalidateCache();
                            $rr->message = 'Настройки успешно удалены';
                            $rr->success = true;
                        }
                    } else {
                        if (\Yii::$app->request->post('do') == 'users') {
                            if ($settings = \skeeks\cms\models\CmsComponentSettings::baseQueryUsers($component)->all()) {
                                /**
                                 * @var $setting CmsComponentSettings
                                 */
                                foreach ($settings as $setting) {
                                    //TODO: добавить отладочную информацию.
                                    if ($setting->delete()) {
                                    }
                                }
                                $component->invalidateCache();
                                $rr->message = 'Настройки успешно удалены';
                                $rr->success = true;
                            }
                        } else {
                            if (\Yii::$app->request->post('do') == 'site') {
                                $code = \Yii::$app->request->post('code');
                                $site = CmsSite::find()->where(['code' => $code])->one();
                                if ($site) {
                                    if ($settings = \skeeks\cms\models\CmsComponentSettings::fetchByComponentSite($component, $site)) {
                                        $settings->delete();
                                        $component->invalidateCache();
                                        $rr->message = 'Настройки успешно удалены';
                                        $rr->success = true;
                                    }
                                }
                            } else {
                                if (\Yii::$app->request->post('do') == 'user') {
                                    $id = \Yii::$app->request->post('id');
                                    $user = User::find()->where(['id' => $id])->one();
                                    if ($user) {
                                        if ($settings = \skeeks\cms\models\CmsComponentSettings::fetchByComponentUser($component, $user)) {
                                            $settings->delete();
                                            $component->invalidateCache();
                                            $rr->message = 'Настройки успешно удалены';
                                            $rr->success = true;
                                        }
                                    }
                                } else {
                                    $rr->message = 'Все настройки удалены';
                                    $rr->success = true;
                                }
                            }
                        }
                    }
                }
            }
            return (array) $rr;
        }
        return $this->render($this->action->id, ['component' => $component]);
    }