Changeset 3235993
- Timestamp:
- 02/06/2025 12:12:56 PM (13 months ago)
- Location:
- gothamazon/trunk
- Files:
-
- 3 edited
-
gothamzone.php (modified) (1 diff)
-
js/obf.js (modified) (1 diff)
-
readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
gothamazon/trunk/gothamzone.php
r3235784 r3235993 4 4 * Plugin URI: https://gothamazon.com 5 5 * Description: Parse Amazon Product Advertising API Feed in 30 seconds 6 * Version: 3.4. 36 * Version: 3.4.4 7 7 * Requires PHP: 7.4 8 8 * Author: Kapsule Network -
gothamazon/trunk/js/obf.js
r3234084 r3235993 1 (function($) { 2 "use strict"; 1 function handleKamesenClick(event) { 2 const target = event.target.closest('.kamesen'); 3 if (!target || !target.hasAttribute("datasin")) return; 4 5 event.preventDefault(); // Empêcher le comportement par défaut du navigateur 6 const encodedUrl = target.getAttribute("datasin"); 7 const url = decodeURIComponent(window.atob(encodedUrl)); 8 9 const newWindow = window.open(url, '_blank'); 10 if (newWindow) newWindow.focus(); 11 } 12 13 function handleKamesenContextMenu(event) { 14 const target = event.target.closest('.kamesen'); 15 if (!target || !target.hasAttribute("datasin")) return; 16 17 event.preventDefault(); 18 const encodedUrl = target.getAttribute("datasin"); 19 const url = decodeURIComponent(window.atob(encodedUrl)); 20 21 window.open(url, '_blank'); 22 } 23 24 // ✅ Ajout d'un écouteur pour détecter le clic molette 25 function handleKamesenMiddleClick(event) { 26 if (event.button === 1) { // Bouton molette détecté 27 const target = event.target.closest('.kamesen'); 28 if (!target || !target.hasAttribute("datasin")) return; 29 30 event.preventDefault(); // Empêcher le comportement par défaut du navigateur 31 const encodedUrl = target.getAttribute("datasin"); 32 const url = decodeURIComponent(window.atob(encodedUrl)); 33 34 const newWindow = window.open(url, '_blank'); 35 if (newWindow) newWindow.focus(); 36 } 37 } 38 39 document.addEventListener("DOMContentLoaded", function() { 40 if (window.disableSameInRocketPromo) { 41 console.log("❌ GTZ Kamesen désactivé par un autre script."); 42 return; 43 } 44 window.disableSameInRocketPromo = true; 3 45 4 // Désactiver l'équivalent dans Rocket Promo Feed car ca cause un conflit 5 window.disableSameInRocketPromo = true; 6 7 /** 8 * Fonction pour gérer le clic gauche sur un élément avec la classe "kamesen". 9 */ 10 function kapsuleDcode(event) { 11 // Récupère l'attribut "datasin" et le décode 12 var attribute = this.getAttribute("datasin"); 13 if (!attribute) return; 14 var url_decode = decodeURI(window.atob(attribute)); 15 16 // Correction spécifique si l'URL contient 'fnac' 17 if (url_decode.indexOf('fnac') !== -1) { 18 url_decode = url_decode.replace(/&/g, '&') 19 .replace(/%2B/g, '+') 20 .replace(/%20/g, '+') 21 .replace(/ /g, '+'); 22 } 23 24 // Remplacement de certains caractères accentués 25 url_decode = url_decode.replace(/è/g, 'e') 26 .replace(/à/g, 'a') 27 .replace(/é/g, 'e') 28 .replace(/ê/g, 'e'); 29 30 // Ouvre l'URL dans un nouvel onglet 31 var newWindow = window.open(url_decode, '_blank'); 32 if (newWindow) { 33 newWindow.focus(); 34 } 35 } 36 37 /** 38 * Fonction pour gérer le clic droit sur un élément avec la classe "kamesen". 39 */ 40 function myRightFunction(event) { 41 event.preventDefault(); 42 var attribute = this.getAttribute("datasin"); 43 if (!attribute) return; 44 var url_decode = decodeURI(window.atob(attribute)); 45 46 if (url_decode.indexOf('fnac') !== -1) { 47 url_decode = url_decode.replace(/&/g, '&') 48 .replace(/%2B/g, '+') 49 .replace(/%20/g, '+') 50 .replace(/ /g, '+'); 51 } 52 53 url_decode = url_decode.replace(/è/g, 'e') 54 .replace(/à/g, 'a') 55 .replace(/é/g, 'e') 56 .replace(/ê/g, 'e'); 57 58 var newWindow = window.open(url_decode, '_blank'); 59 if (newWindow) { 60 newWindow.focus(); 61 } 62 } 63 64 /** 65 * Fonction pour gérer le clic "central" (molette) sur un élément avec la classe "kamesen". 66 */ 67 function EveryClicks(event) { 68 if (event.button === 1) { // Si c'est le clic de la molette 69 event.preventDefault(); 70 var attribute = this.getAttribute("datasin"); 71 if (!attribute) return; 72 var url_decode = decodeURI(window.atob(attribute)); 73 74 if (url_decode.indexOf('fnac') !== -1) { 75 url_decode = url_decode.replace(/&/g, '&') 76 .replace(/%2B/g, '+') 77 .replace(/%20/g, '+') 78 .replace(/ /g, '+'); 79 } 80 81 url_decode = url_decode.replace(/è/g, 'e') 82 .replace(/à/g, 'a') 83 .replace(/é/g, 'e') 84 .replace(/ê/g, 'e'); 85 86 var newWindow = window.open(url_decode, '_blank'); 87 if (newWindow) { 88 newWindow.focus(); 89 } 90 } 91 } 92 93 // Attachement des écouteurs d'événements via délégation 94 // Nous utilisons jQuery.on() sur le document pour capter les clics sur les éléments 95 // qui portent la classe "kamesen", même s'ils sont ajoutés dynamiquement. 96 $(document) 97 .on('click', '.kamesen', function(event) { 98 kapsuleDcode.call(this, event); 99 }) 100 .on('mousedown', '.kamesen', function(event) { 101 // Ici, on laisse la fonction EveryClicks gérer le clic molette 102 EveryClicks.call(this, event); 103 }) 104 .on('contextmenu', '.kamesen', function(event) { 105 event.preventDefault(); 106 myRightFunction.call(this, event); 107 }); 108 109 })(jQuery); 46 console.log("✅ GTZ Kamesen activé."); 47 document.addEventListener("click", handleKamesenClick); 48 document.addEventListener("contextmenu", handleKamesenContextMenu); 49 document.addEventListener("mousedown", handleKamesenMiddleClick); 50 }); -
gothamazon/trunk/readme.txt
r3235784 r3235993 4 4 Tags: amazon affiliate, affiliate, affiliation, amazon, ecommerce, amazon product api 5 5 6 Stable tag: 3.4. 36 Stable tag: 3.4.4 7 7 8 8 Tested up to: 6.7 … … 180 180 == Changelog == 181 181 182 = 3.4.4 = 183 184 - Optimize obf.js 185 182 186 = 3.4.3 = 183 187
Note: See TracChangeset
for help on using the changeset viewer.