1/** 2 * Premium labels 3 */ 4function emgp_handle_labels(config) { 5 document.querySelectorAll('.emgp-thumbnail-label, .emgc-label, div.emg-premium-label').forEach(el => { 6 let post = el.closest(".post-with-user-groups"); 7 8 if (!post) { 9 return; 10 } 11 12 let hasGroup = false; 13 let className = 'emgp-thumbnail-label'; 14 15 if (el.classList.contains('emgc-label')) { 16 if (el.innerHTML === 'Premium') { 17 className = 'emgc-label'; 18 } else { 19 return; 20 } 21 } 22 23 if (el.classList.contains('emg-premium-label')) { 24 if (el.innerHTML === 'Premium') { 25 className = 'emg-premium-label'; 26 } else { 27 return; 28 } 29 } 30 31 emgp_user_object['groups'].forEach(group => { 32 if (post.classList.contains('post-user-group-' + group)) { 33 hasGroup = true; 34 return; 35 } 36 }); 37 38 if (hasGroup === false) { 39 if (config.label_url) { 40 let newLabel = document.createElement("a"); 41 newLabel.className = el.className.trim() + ' emgp-label-link'; 42 newLabel.setAttribute('href', config.label_url); 43 newLabel.innerHTML = config.label; 44 el.parentNode.replaceChild(newLabel, el); 45 } else { 46 el.innerHTML = config.label; 47 } 48 } 49 50 }); 51}
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.