1/** 2 * Prestashop module for Oct8ne 3 * 4 * @author oct8ne.com 5 * @copyright 2026 Oct8ne 6 * @license Commercial license see license.txt * 7 * 8 * @category Prestashop 9 * @category Module 10 * Support by mail : [email protected] 11 */ 12(function() { 13 if (typeof oct8neConfig === 'undefined') return; 14 15 var staticurl = oct8neConfig.urlStatic + "api/v2/oct8ne.js"; 16 var oct8ne = document.createElement("script"); 17 window.oct8ne = oct8ne; 18 oct8ne.type = "text/javascript"; 19 oct8ne.src = (document.location.protocol == "https:" ? "https://" : "http://") 20 + staticurl 21 + '?' 22 + (Math.round(new Date().getTime() / 86400000)); 23 24 oct8ne.async = true; 25 oct8ne.license = oct8neConfig.license; 26 oct8ne.server = oct8neConfig.server; 27 oct8ne.baseUrl = oct8neConfig.baseUrl; 28 oct8ne.checkoutUrl = oct8neConfig.checkoutUrl; 29 oct8ne.loginUrl = oct8neConfig.loginUrl; 30 oct8ne.checkoutSuccessUrl = oct8neConfig.checkoutSuccessUrl; 31 oct8ne.locale = oct8neConfig.locale; 32 oct8ne.currencyCode = oct8neConfig.currencyCode; 33 oct8ne.platform = "prestashop"; 34 oct8ne.apiVersion = "2.5"; 35 36 oct8ne.onProductAddedToCart = function(productId) { 37 if (typeof ajaxCart != 'undefined'){ 38 ajaxCart.refresh(); 39 } 40 }; 41 42 if (oct8neConfig.user && oct8neConfig.user.email) { 43 oct8ne.options = { 44 context: { 45 "userFirstName" : oct8neConfig.user.firstName, 46 "userLastName" : oct8neConfig.user.lastName, 47 "userEmail": oct8neConfig.user.email 48 }, 49 user: { 50 name : oct8neConfig.user.firstName, 51 email: oct8neConfig.user.email 52 } 53 }; 54 } 55 56 if (oct8neConfig.currentProduct) { 57 oct8ne.currentProduct = { 58 id: oct8neConfig.currentProduct.id, 59 thumbnail: oct8neConfig.currentProduct.thumbnail 60 }; 61 } 62 63 function insertOct8ne() { 64 if (!window.oct8neScriptInserted) { 65 var s = document.getElementsByTagName("script")[0]; 66 if (s) { 67 s.parentNode.insertBefore(oct8ne, s); 68 } else { 69 document.head.appendChild(oct8ne); 70 } 71 window.oct8neScriptInserted = true; 72 73 if (oct8neConfig.scriptEvents && oct8neConfig.scriptEvents !== "DISABLED") { 74 if (oct8neConfig.scriptEvents === "ALL") { 75 window.removeEventListener('mousemove', insertOct8ne); 76 window.removeEventListener('scroll', insertOct8ne); 77 window.removeEventListener('click', insertOct8ne); 78 window.removeEventListener('keydown', insertOct8ne); 79 window.removeEventListener('touchstart', insertOct8ne); 80 } else if (oct8neConfig.scriptEvents !== "SCRIPT") { 81 window.removeEventListener(oct8neConfig.scriptEvents, insertOct8ne); 82 } 83 } 84 } 85 } 86 87 if ((!oct8neConfig.scriptTimer || oct8neConfig.scriptTimer == 0) && (!oct8neConfig.scriptEvents || oct8neConfig.scriptEvents == "DISABLED")) { 88 insertOct8ne(); 89 } else { 90 if (document.cookie.indexOf("oct8ne-room") == -1 && !window.location.href.includes('viewTimeLine')) { 91 if (oct8neConfig.scriptTimer && oct8neConfig.scriptTimer != 0) { 92 setTimeout(insertOct8ne, oct8neConfig.scriptTimer * 1000); 93 } 94 if (oct8neConfig.scriptEvents && oct8neConfig.scriptEvents != "DISABLED") { 95 if (oct8neConfig.scriptEvents == "ALL") { 96 window.addEventListener('mousemove', insertOct8ne); 97 window.addEventListener('scroll', insertOct8ne); 98 window.addEventListener('click', insertOct8ne); 99 window.addEventListener('keydown', insertOct8ne); 100 window.addEventListener('touchstart', insertOct8ne); 101 } else if (oct8neConfig.scriptEvents != "SCRIPT") { 102 window.addEventListener(oct8neConfig.scriptEvents, insertOct8ne); 103 } 104 } 105 } else { 106 insertOct8ne(); 107 } 108 } 109})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.