__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
if (
wps_js.isset(wps_js.global, 'request_params', 'page') &&
wps_js.global.request_params.page === "geographic" &&
(!wps_js.isset(wps_js.global, 'request_params', 'tab') || wps_js.global.request_params.tab === "overview") &&
(!wps_js.isset(wps_js.global, 'request_params', 'type') || wps_js.global.request_params.type !== "single-country")
) {
const wpsVectorMap = document.getElementById('wp-statistics-visitors-map')
if (wpsVectorMap) {
const mapData = Wp_Statistics_Geographic_Object.map_chart_data;
let pin = Array();
let colors = {};
if (mapData && mapData?.codes?.length > 0) {
const geoCountryData = {};
mapData.codes.forEach((code, index) => {
const visitors_raw = Number(mapData.raw_data[index]) || 0;
const visitors = mapData.data[index];
geoCountryData[code.toLowerCase()] = {
label: mapData.labels[index],
flag: mapData.flags[index],
visitors_raw,
visitors
};
});
const maxVisitors = Math.max(1, ...Object.values(geoCountryData).map(country => country.visitors_raw));
Object.keys(geoCountryData).forEach(code => {
const country = geoCountryData[code];
const intensity = country.visitors_raw / maxVisitors;
// #EBF5FF to #3288D7
const r = Math.round(235 - (185 * intensity)); // From 235 to 50
const g = Math.round(245 - (109 * intensity)); // From 245 to 136
const b = Math.round(255 - (40 * intensity)); // From 255 to 215
colors[code] = `rgb(${r}, ${g}, ${b})`;
pin[code] = `<div class='map-html-marker'>
<div class="map-country-header">
<img src='${country.flag}'
alt="${country.label}"
title='${country.label}'
class='log-tools wps-flag'/>
<span>${country.label} </span>
</div>
<div class="map-country-content">
<div>${wps_js._('visitors')}</div>
<div>${country.visitors}</div>
</div>
</div>`;
});
}
jQuery('#wp-statistics-visitors-map').vectorMap({
map: 'world_en',
backgroundColor: '#fff',
borderColor: '#fff',
borderOpacity: 0.6,
color: '#e6e6e6',
selectedColor: '#596773',
hoverColor: '#596773',
colors: colors,
onLabelShow: function (element, label, code) {
const lowerCode = code.toLowerCase();
if (pin[lowerCode]) {
label.html(pin[lowerCode]);
return;
}
const imageUrl = `${wps_js.global.assets_url}/images/flags/${lowerCode}.svg`;
const countryName = label.text();
fetch(imageUrl)
.then(response => {
const flagImage = response.ok
? `<img src='${imageUrl}' alt="${countryName}" title="${countryName}" class='log-tools wps-flag'/>`
: '';
label.html(`
<div class='map-html-marker'>
<div class="map-country-header">
${flagImage}
<span>${countryName}</span>
</div>
<div class="map-country-content">
<div>${wps_js._('visitors')}</div>
<div>0</div>
</div>
</div>
`);
})
.catch(error => {
console.error('Error fetching the image:', error);
label.html(`
<div class='map-html-marker'>
<div class="map-country-header">
<span>${countryName}</span>
</div>
<div class="map-country-content">
<div>${wps_js._('visitors')}</div>
<div>0</div>
</div>
</div>
`);
});
},
});
}
const renderHorizontalChart = (id, data) => {
const chartElement = document.getElementById(id);
if (chartElement) {
const parentElement = jQuery(`#${id}`).parent();
if (!data.data || data.data.length === 0) {
parentElement.html(wps_js.no_results());
} else {
wps_js.horizontal_bar(id, data.labels, data.data, data.icons);
}
}
}
wps_js.render_wp_statistics_hitsmap_widget()
const topCountries = Wp_Statistics_Geographic_Object.europe_chart_data;
renderHorizontalChart('geographic--top-countries', topCountries);
const visitorsContinent = Wp_Statistics_Geographic_Object.continent_chart_data;
renderHorizontalChart('geographic-visitors-continent', visitorsContinent);
}| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| add-ons.js | File | 28.96 KB | 0644 |
|
| author-analytics.js | File | 16.02 KB | 0644 |
|
| browser.js | File | 832 B | 0644 |
|
| category-analytics.js | File | 4.5 KB | 0644 |
|
| content-analytics.js | File | 5.3 KB | 0644 |
|
| countries.js | File | 489 B | 0644 |
|
| exclusions.js | File | 1.02 KB | 0644 |
|
| generate-filters.js | File | 765 B | 0644 |
|
| geographic.js | File | 5.19 KB | 0644 |
|
| hits.js | File | 666 B | 0644 |
|
| lock-page.js | File | 1.37 KB | 0644 |
|
| optimization.js | File | 6.26 KB | 0644 |
|
| overview.js | File | 28.4 KB | 0644 |
|
| platform.js | File | 833 B | 0644 |
|
| privacy-audit.js | File | 11.27 KB | 0644 |
|
| referrals.js | File | 2.76 KB | 0644 |
|
| setting.js | File | 12.65 KB | 0644 |
|
| settings.js | File | 18.65 KB | 0644 |
|
| taxonomies.js | File | 706 B | 0644 |
|
| tracker-debugger.js | File | 2.16 KB | 0644 |
|
| visitors.js | File | 3.8 KB | 0644 |
|
| welcome.js | File | 22 B | 0644 |
|