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/JSEngine/libs/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/moncbefd/www.moneta.at/JSEngine/libs/storage.js
/* --------------------------------------------------------------
 storage.js 2016-02-23
 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]
 --------------------------------------------------------------
 */

/* globals Storage */

jse.libs.storage = jse.libs.storage || {};

/**
 * ## Browser Storage API Library
 *
 * This library handles the HTML storage functionality. You can either store information in the session or the local
 * storage of the browser.
 *
 * @deprecated Will be removed with JS Engine v1.7.
 *
 * @module JSE/Libs/storage
 * @exports jse.libs.storage
 * @ignore
 */
(function (exports) {

    'use strict';

    /**
     * JavaScript Storage Object
     *
     * @type {boolean}
     */
    var webStorage = (Storage !== undefined) ? true : false;

    /**
     * Stores a value in the browser storage.
     *
     * @param {object} store Storage handler object.
     * @param {boolean} overwrite Whether to overwrite an existing storage value.
     * @param {string} value String defining the value key name to be stored.
     * @param {object} dataset Contains the information to be stored.
     * @param {number} userId User id will be used to identify stored information of a specific user.
     *
     * @return {boolean} Returns the operation result.
     *
     * @private
     */
    var _store = function (store, overwrite, value, dataset, userId) {

        var dataCache = null,
            result = null;

        if (webStorage) {
            dataCache = store.getItem('user_' + userId);
            dataCache = dataCache || '{}';
            dataCache = $.parseJSON(dataCache);

            if (overwrite || dataCache[value] === undefined) {
                dataCache[value] = dataset;
            } else {
                dataCache[value] = $.extend({}, dataCache[value], dataset);
            }

            result = JSON.stringify(dataCache);
            store.setItem('user_' + userId, result);
            return true;
        }
        return false;
    };

    /**
     * Restores data from the browser storage.
     *
     * @param {object} store Storage handler object.
     * @param {string} value Value key name to be retrieved.
     * @param {number} userId User id that owns the value.
     *
     * @return {object} Returns the value if exists or an empty object if not.
     *
     * @private
     */
    var _restore = function (store, value, userId) {

        var dataCache = null;

        if (webStorage) {
            dataCache = store.getItem('user_' + userId);
            dataCache = dataCache || '{}';
            dataCache = $.parseJSON(dataCache);
            return dataCache[value] || {};
        }
        return {};
    };

    /**
     * Stores data in the browser storage.
     *
     * @param {array} destinations Array containing where to store the data (session, local).
     * @param {object} dataset Data to be stored.
     * @param {boolean} overwrite Whether to overwrite existing values.
     *
     * @return {object} Returns a promise object.
     */
    exports.store = function (destinations, dataset, overwrite) {

        var userID = $('body').data().userId,
            resultObject = {},
            promises = [];

        $.each(destinations, function (dest, value) {
            var localDeferred = $.Deferred();
            promises.push(localDeferred);

            switch (dest) {
                case 'session':
                    resultObject.session = _store(sessionStorage, overwrite, value, dataset, userID);
                    localDeferred.resolve(resultObject);
                    break;
                case 'local':
                    resultObject.local = _store(localStorage, overwrite, value, dataset, userID);
                    localDeferred.resolve(resultObject);
                    break;
                default:
                    break;
            }
        });

        return $.when.apply(undefined, promises).promise();

    };

    /**
     * Restores data from the browser storage.
     *
     * @param {array} sources Defines the source of the data to be retrieved (session, local).
     *
     * @return {object} Returns a promise object.
     */
    exports.restore = function (sources) {
        var userID = $('body').data().userId,
            resultObject = {},
            promises = [];

        $.each(sources, function (src, value) {
            var localDeferred = $.Deferred();
            promises.push(localDeferred);

            switch (src) {
                case 'session':
                    resultObject.session = _restore(sessionStorage, value, userID);
                    localDeferred.resolve(resultObject);
                    break;
                case 'local':
                    resultObject.local = _restore(localStorage, value, userID);
                    localDeferred.resolve(resultObject);
                    break;
                default:
                    break;
            }
        });

        return $.when
            .apply(undefined, promises)
            .then(function (result) {
                return $.extend(true, {}, result.local || {}, result.session || {}, result.server || {});
            })
            .promise();
    };

}(jse.libs.storage));

Youez - 2016 - github.com/yon3zu
LinuXploit