In addition to the city of Thessaloniki, two more regions of Northern Greece, Naoussa and Nymphaeum, which were marked by his professional and social activities, “mourn” the loss of Yiannis Boutaris.
Due to mourning, the estates and wineries in Naoussa and Amyntaio are closed. The Kyr Giannis estate in Giannakochori of Naoussa is a pole of attraction for wine lovers from all over the world. Almost three decades after the first plantings, the vineyard in Giannakochori became the Kyr-Yiannis Estate.
The mayor of Naoussa, Nikos Koutsoyiannis, bids farewell to the “great Mr. Giannis” with a statement. It is one of the few times that words seem so poor in front of the greatness of the man. Because Yiannis Boutaris, our Mr. Yiannis, was decisive for a number of things. Great for winemaking, for Thessaloniki, Naoussa, the self-government, great for development, but above all great for all of us who were inspired by his passion, acumen, perseverance, efficiency, subversive thinking”.
As Mr. Koutsoyiannis emphasizes “Naoussa stands with gratitude for all these great things that he offered her, as he was her best ambassador, he put her on the world map with his winemaking genius, while at the same time he supported everything reforming in our country and stood helper in difficult times”.
“Arctouros” was “born” when Giannis Boutaris found himself in front of a dancing bear
It is with unspeakable sadness that “Arktouros” bids farewell to Yiannis Boutaris. He was the man who was inspired and created the non-governmental environmental organization for the protection of wild life and the natural environment in 1992, when he found himself in front of a dancing bear together with his son Michalis.
The sad sight that Yiannis Boutaris witnessed led him to the establishment of an organization for the protection of wildlife and biodiversity, but also to the shelter based in Nymphaeum, Florina, which is visited by thousands of people every year.
“Until the last moment he did not stop fighting for nature, wildlife, freedom, diversity for all, the right to life for every creature.
Have a good journey to eternity, our Mr. John. We promise you to continue your vision of a life where people, animals and nature live in harmony and beauty. Your light, your courage, your foresight and your deep love for the environment and people will always guide us”, says “Arktouros” in his post.
Airport “E. Venizelos”: They discovered 25 kg of cannabis in luggage “traveling” to Santorini – 2 arrests
Venizelos for Boutaris: He leaves knowing that he was integrated into the history of our own Thessaloniki
Halkidiki: Litany today on Mount Athos for the ongoing drought
/* — 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 = 1562888;
};
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
#Flags #halfmast #Thessaloniki #City #Hall
It looks like you pasted a block of JavaScript code that involves the loading and handling of different advertising scripts and configurations. The code contains parts intended for managing Google AdSense, OneSignal (for push notifications), Disqus (for comments), and other advertising-related functionalities.
Here’s a brief overview of what each section appears to be aiming to accomplish, along with some suggestions for improving the readability and efficiency of the code:
1. **AdSense Configuration:**
“`javascript
const adSenseSlots = document.querySelectorAll(‘.adsbygoogle’);
const adSenseSlotCount = adSenseSlots.length;
if (adSenseSlotCount > 0) {
adSenseSlots.forEach(function(e) {
// Placeholder: load corresponding scripts for AdSense slots
});
}
“`
**Suggestion:** Consider defining a clear function for loading the AdSense script. Make sure to handle the case where ad slots may not be present.
2. **OneSignal Initialization:**
“`javascript
window.OneSignalDeferred = window.OneSignalDeferred || [];
OneSignalDeferred.push(function(OneSignal) {
OneSignal.init({
appId: “487cc53b-3b66-4f84-8803-3a3a133043ab”,
});
});
“`
**This looks good**, as it initializes OneSignal properly. Ensure the app ID is correct.
3. **Disqus Configuration:**
“`javascript
var disqus_config = function() {
this.page.url = “”; // Ensure to set the page URL
this.page.identifier = 1562888;
};
“`
**Suggestion:** Be sure to fill in the `page.url` field to properly configure Disqus for your page.
4. **Improving Async Script Loading:**
“`
setTimeout(() => asyncLoadScript(‘script-url’, { someOptions }), 3000);
“`
Consider using `Promise` to ensure that scripts load sequentially and handle failures.
5. **Comments on Unused Code:**
“`
/*
// CleverCore
(function(document, window) {
// Script loading logic…
})(document, window);
*/
“`
**Suggestion:** If this code is commented out, make sure that it is not left in production. If you need it for later, consider keeping it in a separate script or documentation instead.
6. **General Recommendations:**
– Ensure that script URLs are correctly filled in where you see empty strings.
– Validate that all parts are necessary and that you’re not introducing performance overhead by loading too many scripts simultaneously.
- Handle potential errors and script loading failures gracefully to improve the user experience.
– Consider wrapping your variable definitions and configurations within an IIFE (Immediately Invoked Function Expression) if you intend to keep the global namespace clean.
Here’s an improved structure of your script system, focusing on clarity and maintainability:
“`javascript
(function() {
// Function to load scripts asynchronously
function asyncLoadScript(src, options) {
const script = document.createElement(‘script’);
script.src = src;
script.async = true;
if (options && options.onload) {
script.onload = options.onload;
}
(document.head || document.body).appendChild(script);
}
// AdSense loading
const adSenseSlots = document.querySelectorAll(‘.adsbygoogle’);
if (adSenseSlots.length > 0) {
asyncLoadScript(‘https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js’, {
onload: function() {
// Additional actions after loading AdSense
}
});
}
// OneSignal initialization
window.OneSignalDeferred = window.OneSignalDeferred || [];
OneSignalDeferred.push(function(OneSignal) {
OneSignal.init({
appId: “487cc53b-3b66-4f84-8803-3a3a133043ab”
});
});
// Disqus config
var disqus_config = function() {
this.page.url = “YOUR_PAGE_URL_HERE”; // Set the actual page URL
this.page.identifier = 1562888;
};
setTimeout(function() {
asyncLoadScript(‘https://YOUR_DISQUS_SHORTNAME.disqus.com/embed.js’, {
onload: function() {
// Additional actions after loading Disqus
}
});
}, 3000);
// Other ad modules can be similarly processed…
})();
“`
This structure provides a cleaner and more maintainable way to integrate multiple advertising and functionality scripts into your web application.