In the framework of PPC’s cooperation with WE4ALL, training programs and tree plantings were carried out in school yards in Evia, Thessaly, Evros, Rhodes, Crete and Corfu. Through interactive presentations, students were informed about the environment, climate change, as well as the benefits of volunteering and recycling.
WE4ALL is an environmental and humanitarian organization that aims to contribute to the healing of the planet by reminding us that the Earth is our common home and requires the care of all of us. Believing that our planet is a precious ecosystem that needs protection, WE4ALL undertakes actions such as planting trees and restoring forests worldwide, educating young people in environmental stewardship and promoting social inclusion and solidarity through environmental initiatives.
PPC, operating with responsibility towards the environment and the use of natural resources, is committed to undertake actions and develop initiatives with a positive sign towards nature with an emphasis on the areas in which it operates.
With a vision of being transformed into an economically and environmentally sustainable, modern, digital company, the PPC group promotes the energy transition in Greece and the wider Southeast Europe, through strategic investments and partnerships in Renewable Energy Sources (RES), with the aim of creation of shared value (CSV) for the Company, Society and the Environment.
/* — PerfOps by Nuevvo (nuevvo.com) — */
// Utilities
const allScripts = document.getElementsByTagName(‘script’);
window.lst = allScripts[allScripts.length – 1];
window.isMobile=(function() {var ua=navigator.userAgent||navigator.vendor||window.opera;return ((/Android/i).test(ua) && (/Mobile/i).test(ua)) || (/BlackBerry|iPhone|iPod|Opera Mini|IEMobile/i).test(ua);})();
function asyncLoadScript(url) {
var alScript = document.createElement(‘script’);
alScript.src = url;
alScript.async = true;
//window.lst.parentNode.insertBefore(alScript, window.lst);
document.body.appendChild(alScript);
}
function asyncLoadModule(url) {
var alScript = document.createElement(‘script’);
alScript.src = url;
alScript.type=”module”;
//window.lst.parentNode.insertBefore(alScript, window.lst);
document.body.appendChild(alScript);
}
function displaySlot(id) {
if (document.querySelector(‘#’+id)) {
googletag.display(id);
}
}
// Fix OCM JS errors
window.defineSlots = function(t, r){};
/*! instant.page v5.2.0 – (C) 2019-2023 Alexandre Dieulot – */
(function(){
let t,e,n,o,i,a=null,s=65,c=new Set;const r=1111;function d
})();
// InMobi Choice. Consent Manager Tag v3.0 (for TCF 2.2)
setTimeout(() => {
var host=”eleftherostypos.gr”;var element=document.createElement(‘script’);var firstScript=document.getElementsByTagName(‘script’)[0];var url=” uspTries=0;var uspTriesLimit=3;element.async=true;element.type=”text/javascript”;element.src=url;firstScript.parentNode.insertBefore(element,firstScript);function makeStub(){var TCF_LOCATOR_NAME=’__tcfapiLocator’;var queue=[];var win=window;var cmpFrame;function addFrame(){var doc=win.document;var otherCMP=!!(win.frames[TCF_LOCATOR_NAME]);if(!otherCMP){if(doc.body){var iframe=doc.createElement(‘iframe’);iframe.style.cssText=”display:none”;iframe.name=TCF_LOCATOR_NAME;doc.body.appendChild(iframe);} else {setTimeout(addFrame,5);}}return !otherCMP;}function tcfAPIHandler(){var gdprApplies;var args=arguments;if(!args.length){return queue;} else if(args[0]===’setGdprApplies’){if(args.length > 3 &&args[2]===2 &&typeof args[3]===’boolean’){gdprApplies=args[3];if(typeof args[2]===’function’){args[2](‘set’,true);}}} else if(args[0]===’ping’){var retr={gdprApplies: gdprApplies,cmpLoaded: false,cmpStatus: ‘stub’};if(typeof args[2]===’function’){args[2](retr);}} else {if(args[0]===’init’ && typeof args[3]===’object’){args[3]=Object.assign(args[3],{ tag_version: ‘V3′ });}queue.push(args);}}function postMessageEventHandler(event){var msgIsString=typeof event.data===’string’;var json={};try {if(msgIsString){json=JSON.parse(event.data);} else {json=event.data;}} catch (ignore){}var payload=json.__tcfapiCall;if(payload){window.__tcfapi(payload.command,payload.version,function(retValue,success){var returnMsg={__tcfapiReturn: {returnValue: retValue,success: success,callId: payload.callId}};if(msgIsString){returnMsg=JSON.stringify(returnMsg);}if(event && event.source && event.source.postMessage){event.source.postMessage(returnMsg,’*’);}},payload.parameter);}}while (win){try {if(win.frames[TCF_LOCATOR_NAME]){cmpFrame=win;break;}} catch (ignore){}if(win===window.top){break;}win=win.parent;}if(!cmpFrame){addFrame();win.__tcfapi=tcfAPIHandler;win.addEventListener(‘message’,postMessageEventHandler,false);}}makeStub();var uspStubFunction=function(){var arg=arguments;if(typeof window.__uspapi!==uspStubFunction){setTimeout(function(){if(typeof window.__uspapi!==’undefined’){window.__uspapi.apply(window.__uspapi,arg);}},500);}};var checkIfUspIsReady=function(){uspTries++;if(window.__uspapi===uspStubFunction && uspTries 0) {
//asyncLoadScript(‘
adSenseSlots.forEach(function(e){
});
}
// Phaistos Adman
//asyncLoadScript(‘
window.AdmanQueue=window.AdmanQueue||[];
AdmanQueue.push(function(){Adman.adunit({id:338,h:’
// OneSignal
window.OneSignalDeferred = window.OneSignalDeferred || [];
OneSignalDeferred.push(function(OneSignal) {
OneSignal.init({
appId: “487cc53b-3b66-4f84-8803-3a3a133043ab”,
});
});
// Disqus
var disqus_config = function() {
this.page.url=”
this.page.identifier = 1558914;
};
setTimeout(function(){
(function() {
var d = document,
s = d.createElement(‘script’);
s.src=”
s.setAttribute(‘data-timestamp’, +new Date());
(d.head || d.body).appendChild(s);
})();
}, 3000);
function cmpActionCompleted() {
// OCM & DFP
//asyncLoadScript(‘
asyncLoadScript(‘
asyncLoadScript(‘
/*
// CleverCore
(function(document, window) {
var a, c = document.createElement(“script”);
c.id = “CleverCoreLoader57097″;
c.src = ”
c.async = !0;
c.type = “text/javascript”;
c.setAttribute(“data-target”, window.name);
c.setAttribute(“data-callback”, “put-your-callback-macro-here”);
try {
a = parent.document.getElementsByTagName(“script”)[0] || document.getElementsByTagName(“script”)[0];
} catch (e) {
a = !1;
}
a || (a = document.getElementsByTagName(“head”)[0] || document.getElementsByTagName(“body”)[0]);
a.parentNode.insertBefore(c, a);
})(document, window);
*/
// Taboola/Project Agora
asyncLoadScript(‘
asyncLoadScript(‘
// For Google AdSense
if (document.querySelectorAll(‘.adsbygoogle’).length) {
asyncLoadScript(‘
}
// Phaistos Adman
asyncLoadScript(‘
// Glomex
if (document.querySelectorAll(‘glomex-integration’).length) {
setTimeout(function(){
asyncLoadModule(‘
}, 2000);
}
// Dalecta
setTimeout(() => asyncLoadScript(‘ 800);
// Vidoomy
//asyncLoadScript(‘
// Weather
setTimeout(() => asyncLoadScript(‘ 1000);
/*
// Facebook Pixel
!function(f, b, e, v, n, t, s) {
if (f.fbq) return;
n = f.fbq = function() {
n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments)
};
if (!f._fbq) f._fbq = n;
n.push = n;
n.loaded = !0;
n.version = ‘2.0’;
n.queue = [];
t = b.createElement(e);
t.async = !0;
t.src = v;
s = b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t, s)
}(window, document, ‘script’, ‘
fbq(‘init’, ‘618972382017166’);
fbq(‘track’, ‘PageView’);
*/
// OneSignal
setTimeout(() => asyncLoadScript(‘ 5000);
}
// Microsoft Clarity
(function(c,l,a,r,i,t,y){c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};t=l.createElement(r);t.async=1;t.src=”https://www.clarity.ms/tag/”+i+”?ref=wordpress”;y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);})(window, document, “clarity”, “script”, “l14tw277rg”);
// Yandex Metrica
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};m[i].l=1*new Date();for(var j=0;j<document.scripts.length;j++){if(document.scripts[j].src===r){return;}}k=e.createElement
#GREEN #FUTURE #PPC #WE4ALL #invest #greener #future
OneSignal web push notification example
It looks like you’ve provided a snippet of JavaScript code that is handling various advertising and analytics integrations for a website. The code includes handling for Google AdSense, OneSignal for push notifications, Disqus for comments, and potentially other services like Taboola, Phaistos Adman, and Glomex.
Here’s a breakdown of what each part appears to be doing and what you might want to consider while working with it:
1. **AdSense Removal**: The script first checks for any `.adsense-for-mobile` elements and removes the `.adsbygoogle` child elements if present.
2. **AdSense Slot Check**: It checks if there are any `.adsbygoogle` elements on the page and can potentially perform actions on those elements (though the relevant function calls appear to be commented out).
3. **Initialization of OneSignal**: Push notification settings are initialized. Make sure the app ID is correct and that OneSignal is set up properly in their dashboard.
4. **Disqus Configuration**: A configuration function for Disqus to set the page URL and identifier. After three seconds, it loads the Disqus script into the page. Ensure that the URL variable is properly defined.
5. **Loading additional scripts**: It appears multiple instances of `asyncLoadScript` functions are called (though the script paths are missing; commented out). These would presumably load additional libraries or scripts for other services (like CleverCore, Taboola, Glomex, etc.).
6. **Ad Service Integrations**:
– For services like Phaistos Adman and Vidoomy, placeholders for `asyncLoadScript` functions indicate that those scripts are meant to be loaded asynchronously.
– For Glomex, there’s a timeout that delays the loading of its script for 2 seconds.
### Recommendations for Further Development
- **Validate Script URLs**: Make sure to replace the placeholder comments with the actual URLs or IDs for your scripts.
– **Error Handling**: Add error handling to manage scenarios where scripts may not load correctly.
– **Performance Optimization**: Loading multiple external resources could affect performance; be cautious with the order and timing of script loads to optimize page load times.
– **Compliance**: Check for compliance with regulations like GDPR if you are loading user tracking or advertising scripts. It may require user consent.
– **Comment Clarity**: Add clear comments to enhance readability and maintainability, especially helpful for future developers.
– **Testing**: Test each script integration thoroughly to ensure they work seamlessly together without conflicts.
Here’s a basic structure for ensuring the scripts are loaded sequentially:
“`javascript
function asyncLoadScript(src) {
return new Promise((resolve, reject) => {
const s = document.createElement(‘script’);
s.src = src;
s.onload = () => resolve();
s.onerror = () => reject(new Error(`Failed to load script ${src}`));
document.head.appendChild(s);
});
}
// Example of loading scripts in sequence
async function loadScripts() {
try {
await asyncLoadScript(‘URL_FOR_ADSENSE’);
await asyncLoadScript(‘URL_FOR_ONESIGNAL’);
await asyncLoadScript(‘URL_FOR_DISQUS’);
// Add more scripts as needed
} catch (error) {
console.error(error);
}
}
loadScripts();
“`
This structure can help assure that scripts are loaded in sequence, which might be necessary for certain integrations to work correctly.