Mudanças entre as edições de "Widget:Item"

De Wiki Gla
Ir para navegação Ir para pesquisar
m
m
Linha 267: Linha 267:
             var MARGIN = 8;
             var MARGIN = 8;
             var GAP = 6;
             var GAP = 6;
             var XOR_KEY = 0x5A;
             var XOR_KEY = 0x5A; /* legado hex — páginas em cache antes do b64 */
             var activeTip = null;
             var activeTip = null;
             var activeWrapper = null;
             var activeWrapper = null;
Linha 309: Linha 309:
             }
             }


             function hexToUtf8String(hex) {
             function bytesToUtf8String(bytes) {
                var bytes = [];
                for (var i = 0; i < hex.length; i += 2) {
                    bytes.push(parseInt(hex.substr(i, 2), 16) ^ XOR_KEY);
                }
                 if (typeof TextDecoder !== "undefined") {
                 if (typeof TextDecoder !== "undefined") {
                     return new TextDecoder("utf-8").decode(new Uint8Array(bytes));
                     return new TextDecoder("utf-8").decode(
                        bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes)
                    );
                 }
                 }
                 var bin = "";
                 var bin = "";
Linha 321: Linha 319:
                     bin += String.fromCharCode(bytes[j]);
                     bin += String.fromCharCode(bytes[j]);
                 }
                 }
                 try {
                 return decodeURIComponent(escape(bin));
                     return decodeURIComponent(escape(bin));
            }
                 } catch (e) {
 
                     return bin;
            function base64ToUtf8String(b64) {
                var bin = atob(b64);
                var bytes = new Uint8Array(bin.length);
                for (var i = 0; i < bin.length; i++) {
                     bytes[i] = bin.charCodeAt(i);
                }
                return bytesToUtf8String(bytes);
            }
 
            function hexToUtf8String(hex) {
                var bytes = [];
                for (var i = 0; i < hex.length; i += 2) {
                    bytes.push(parseInt(hex.substr(i, 2), 16) ^ XOR_KEY);
                 }
                return bytesToUtf8String(bytes);
            }
 
            function payloadToJson(raw) {
                if (!raw) return null;
                if (raw.indexOf("b64:") === 0) {
                     return base64ToUtf8String(raw.slice(4));
                 }
                 }
                return hexToUtf8String(raw);
             }
             }


             function decodePayload(hex) {
             function decodePayload(raw) {
                 if (!hex) return null;
                 if (!raw) return null;
                 if (decodeCache[hex]) return decodeCache[hex];
                 if (decodeCache[raw]) return decodeCache[raw];
                 try {
                 try {
                     var obj = JSON.parse(hexToUtf8String(hex));
                     var obj = JSON.parse(payloadToJson(raw));
                     decodeCache[hex] = obj;
                     decodeCache[raw] = obj;
                     return obj;
                     return obj;
                 } catch (e) {
                 } catch (e) {

Edição das 22h01min de 28 de maio de 2026