b0y-101 Mini Shell


Current Path : E:/www/pl/libraries/nextend2/smartslider/smartslider/backend/controllers/settings/
File Upload :
Current File : E:/www/pl/libraries/nextend2/smartslider/smartslider/backend/controllers/settings/settings.php

<?php

class N2SmartsliderBackendSettingsController extends N2SmartSliderController {

    public function initialize() {
        parent::initialize();

        N2Loader::import(array(
            'models.Settings',
            'models.Sliders'
        ), 'smartslider');
    }

    public function actionDefault() {

        if ($this->validatePermission('smartslider_config')) {

            if (N2Request::getInt('save')) {
                if ($this->validateToken()) {
                    $settingsModel = new N2SmartsliderSettingsModel();
                    if ($settingsModel->save()) {
                        $this->invalidateSliderCache();

                        N2Message::success(n2_('Saved and slider cache invalidated.'));
                    }
                }

                $this->redirect(array("settings/default"));
            }

            $this->addViewFile($this->appType->path . '/fragments/', "sidebar-settings", array(), "sidebar");
            $this->addView('default', array(
                "action" => N2Request::getVar("nextendaction")
            ));
            $this->render();

        }
    }

    public function actionClearCache() {
        if ($this->validatePermission('smartslider_config')) {
            if ($this->validateToken()) {
                $slidersModel = new N2SmartsliderSlidersModel();
                foreach ($slidersModel->_getAll() AS $slider) {
                    $slidersModel->refreshCache($slider['id']);
                }
                N2Cache::clearGroup('n2-ss-0');
                N2Cache::clearGroup('combined');
                N2Cache::clearAll();
                N2Message::success(n2_('Cache cleared.'));
            }

            $this->redirect(array("settings/default"));
        }
    }

    public function actionFramework() {
        if ($this->canDo('nextend_config')) {

            $data = N2Post::getVar('global');
            if (is_array($data)) {
                if ($this->validateToken()) {
                    N2Settings::setAll($data);
                    $this->invalidateSliderCache();

                    N2Message::success(n2_('Saved and slider cache invalidated.'));
                }

                $this->redirect(array("settings/framework"));
            }


            $this->addViewFile($this->appType->path . '/fragments/', "sidebar-settings", array(
                "appObj" => $this
            ), "sidebar");

            $this->addView("framework");
            $this->render();
        } else {
            $this->noAccess();
        }
    }

    public function actionFonts() {
        if ($this->canDo('nextend_config')) {
            $fonts = N2Request::getVar('fonts', false);
            if ($fonts) {
                if ($this->validateToken()) {
                    N2Fonts::storeSettings($fonts);

                    $this->invalidateSliderCache();

                    N2Message::success(n2_('Saved and slider cache invalidated.'));
                }

                $this->redirect(array("settings/fonts"));
            }

            $this->addViewFile($this->appType->path . '/fragments/', "sidebar-settings", array(
                "appObj" => $this
            ), "sidebar");

            $this->addView("fonts");
            $this->render();
        }
    }

    public function actionItemDefaults() {

        if ($this->validatePermission('smartslider_config')) {

            if (N2Request::getInt('save')) {
                if ($this->validateToken()) {
                    $settingsModel = new N2SmartsliderSettingsModel();
                    $settingsModel->saveDefaults(N2Request::getVar('defaults', array()));
                }

                $this->redirect(array("settings/itemdefaults"));
            }

            $this->addViewFile($this->appType->path . '/fragments/', "sidebar-settings", array(), "sidebar");
            $this->addView("defaults");
            $this->render();

        }
    }

    public function actionAviary() {
        if ($this->canDo('nextend_config')) {
            N2Loader::import('libraries.image.aviary');
            $aviary = N2Request::getVar('aviary', false);
            if ($aviary) {
                if ($this->validateToken()) {
                    N2ImageAviary::storeSettings($aviary);
                    N2Message::success(n2_('Saved.'));

                }

                $this->redirect(array("settings/aviary"));
            }

            $this->addViewFile($this->appType->path . '/fragments/', "sidebar-settings", array(
                "appObj" => $this
            ), "sidebar");

            $this->addView("aviary");
            $this->render();
        }
    }

    private function invalidateSliderCache() {

        $slidersModel = new N2SmartsliderSlidersModel();
        $slidersModel->invalidateCache();
    }

} 

Copyright © 2019 by b0y-101