commit 4b029c2bceb7fec0fa0fc7c9d18ad9b43a956c58 Author: Hein Erik Date: Tue Apr 7 12:59:01 2026 +0200 Initial commit diff --git a/admin.php b/admin.php new file mode 100644 index 0000000..390cc4b --- /dev/null +++ b/admin.php @@ -0,0 +1,399 @@ +0,'B'=>1,'C'=>2,'D'=>3,'E'=>4,'F'=>5,'G'=>6,'H'=>7,'I'=>8,'J'=>9,'K'=>10,'L'=>11,'M'=>12,'N'=>13,'O'=>14,'P'=>15,'Q'=>16,'R'=>17,'S'=>18,'T'=>19,'U'=>20,'V'=>21,'W'=>22,'X'=>23,'Y'=>24,'Z'=>25,'2'=>26,'3'=>27,'4'=>28,'5'=>29,'6'=>30,'7'=>31]; + $decoded = ''; $buffer = 0; $bits = 0; + for ($i = 0; $i < strlen($b32); $i++) { + $char = $b32[$i]; + if (!isset($map[$char])) continue; + $buffer = ($buffer << 5) | $map[$char]; + $bits += 5; + if ($bits >= 8) { $bits -= 8; $decoded .= chr(($buffer >> $bits) & 0xFF); } + } + return $decoded; + } + public static function generateSecret($length = 16) { + $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'; + $secret = ''; + for ($i = 0; $i < $length; $i++) $secret .= $chars[random_int(0, 31)]; + return $secret; + } + public static function getQRCodeUrl($username, $secret) { + $issuer = urlencode("SG 07 St.Leon"); + $account = urlencode($username); + $otpauth = "otpauth://totp/{$issuer}:{$account}?secret={$secret}&issuer={$issuer}"; + return "https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=" . urlencode($otpauth); + } +} + +// ============================================================================ +// 2. DATENBANK SETUP (News & Benutzer) +// ============================================================================ +try { + $db = new PDO('sqlite:news_database.sqlite'); + $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + + // News Tabelle + $db->exec("CREATE TABLE IF NOT EXISTS news ( + id INTEGER PRIMARY KEY AUTOINCREMENT, date TEXT, department TEXT, title TEXT, content TEXT, full_text TEXT, image TEXT, link TEXT + )"); + try { $db->exec("ALTER TABLE news ADD COLUMN full_text TEXT"); } catch(PDOException $e) {} + + // Benutzer Tabelle + $db->exec("CREATE TABLE IF NOT EXISTS users ( + id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT UNIQUE, password_hash TEXT, totp_secret TEXT + )"); +} catch(PDOException $e) { + die("Datenbankfehler: " . $e->getMessage()); +} + +$userCount = $db->query("SELECT COUNT(*) FROM users")->fetchColumn(); + +// ============================================================================ +// 3. ERSTEINRICHTUNG (Wenn keine Nutzer existieren) +// ============================================================================ +if ($userCount == 0) { + $setup_msg = ""; + $new_secret = MiniTOTP::generateSecret(); + + if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['do_setup'])) { + $user = trim($_POST['username']); + $pass = $_POST['password']; + $secret = $_POST['totp_secret']; + + if (!empty($user) && !empty($pass)) { + $stmt = $db->prepare("INSERT INTO users (username, password_hash, totp_secret) VALUES (?, ?, ?)"); + $stmt->execute([$user, password_hash($pass, PASSWORD_DEFAULT), $secret]); + header("Location: admin.php"); + exit; + } + } + ?> + Setup | SG 07 + +

Ersteinrichtung

Erstelle den ersten Admin-Zugang.

+ QR Code +

1. Scanne diesen QR-Code mit dem Google Authenticator oder Authy.

+
+ + + + +
+ prepare("SELECT * FROM users WHERE username = ?"); + $stmt->execute([trim($_POST['username'])]); + $user = $stmt->fetch(PDO::FETCH_ASSOC); + + if ($user && password_verify($_POST['password'], $user['password_hash'])) { + if (MiniTOTP::verify($user['totp_secret'], $_POST['totp_code'])) { + $_SESSION['logged_in'] = true; + $_SESSION['username'] = $user['username']; + header("Location: admin.php"); exit; + } else { + $login_error = "Der 2FA Code ist falsch oder abgelaufen."; + } + } else { + $login_error = "Benutzername oder Passwort falsch."; + } +} + +if (!isset($_SESSION['logged_in']) || $_SESSION['logged_in'] !== true) { + ?> + Login | SG 07 + +
🔒

Admin Login

+ $login_error
"; ?> +
+ + + + +
+ prepare("UPDATE news SET date=?, department=?, title=?, content=?, full_text=?, image=?, link=? WHERE id=?"); + if ($stmt->execute([$_POST['date'], $_POST['department'], $_POST['title'], $_POST['content'], $_POST['full_text'], $final_image_path, $_POST['link'], $_POST['news_id']])) { + $message = "
✓ News erfolgreich aktualisiert!
"; + } +} + +// Aktion: News speichern (NEU ERSTELLEN) +if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['save_news'])) { + $final_image_path = ''; + + $uploaded_img = handleImageUpload(); + if ($uploaded_img) { + $final_image_path = $uploaded_img; + } else { + $final_image_path = str_replace(['http://new.sg07-stleon.de/', 'https://new.sg07-stleon.de/', 'new.sg07-stleon.de/', 'new.sg07-stleon.de\\'], '', trim($_POST['image_url'] ?? '')); + } + + $stmt = $db->prepare("INSERT INTO news (date, department, title, content, full_text, image, link) VALUES (?, ?, ?, ?, ?, ?, ?)"); + if ($stmt->execute([$_POST['date'], $_POST['department'], $_POST['title'], $_POST['content'], $_POST['full_text'], $final_image_path, $_POST['link']])) { + $message = "
✓ News erfolgreich veröffentlicht!
"; + } +} + +// Aktion: News löschen +if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['delete_news'])) { + $stmt = $db->prepare("DELETE FROM news WHERE id = ?"); + if ($stmt->execute([$_POST['delete_id']])) { + $message = "
✓ Die News wurde unwiderruflich gelöscht!
"; + } +} + +// Aktion: Neuen Benutzer anlegen +$new_user_qr = ""; +if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add_user'])) { + $new_user = trim($_POST['new_username']); + $new_pass = $_POST['new_password']; + $new_secret = MiniTOTP::generateSecret(); + + try { + $stmt = $db->prepare("INSERT INTO users (username, password_hash, totp_secret) VALUES (?, ?, ?)"); + $stmt->execute([$new_user, password_hash($new_pass, PASSWORD_DEFAULT), $new_secret]); + $url = MiniTOTP::getQRCodeUrl($new_user, $new_secret); + $new_user_qr = "

Benutzer '$new_user' angelegt!

Bitte lasse den neuen Benutzer jetzt sofort diesen QR Code scannen.

QR Code

Geheimer Schlüssel (falls QR nicht geht): $new_secret

"; + } catch(PDOException $e) { + $message = "
Fehler: Benutzername existiert evtl. schon.
"; + } +} + +// Edit-Modus prüfen (Ist ein Klick auf "Ändern" erfolgt?) +$is_edit = false; +$edit_news = null; +if (isset($_GET['edit_id'])) { + $stmt = $db->prepare("SELECT * FROM news WHERE id = ?"); + $stmt->execute([$_GET['edit_id']]); + $edit_news = $stmt->fetch(PDO::FETCH_ASSOC); + if ($edit_news) $is_edit = true; +} + +// Alle bestehenden News abrufen, um sie aufzulisten +$existing_news = $db->query("SELECT id, date, department, title FROM news ORDER BY id DESC")->fetchAll(PDO::FETCH_ASSOC); +?> + + + + + Admin Dashboard | SG 07 St. Leon + + + +
+
+

SG 07 Dashboard

+
+ Hallo, + Abmelden +
+
+ + + + +
+ +
+

+
+ + + + + + + + + + + + + + + + + + + +

Aktuelles Bild:

+ + + + + + + + + +
+ + Abbrechen +
+ + + +
+
+ + +
+ +
+
+ + +
+

Bestehende News verwalten

+

Hier kannst du fehlerhafte oder veraltete News endgültig von der Website entfernen.

+ + + + + + + + + + + + + + + + + + + + + +
DatumAbteilungTitelAktion
+ Ändern +
+ + +
+
Noch keine News in der Datenbank vorhanden.
+
+
+ + \ No newline at end of file diff --git a/aktuelles.php b/aktuelles.php new file mode 100644 index 0000000..7270c7d --- /dev/null +++ b/aktuelles.php @@ -0,0 +1,45 @@ + + + + + + Aktuelles & Archiv | SG 07 St. Leon + + + + + +
+

Aktuelles & Archiv

+
+ +
+
+ +
+
+ + +
+
+ × + News Bild +
+
Datum | Abteilung
+

Überschrift

+
+
+ Hier steht dann der komplette Text... +
+
+
+ + + + + + \ No newline at end of file diff --git a/api.php b/api.php new file mode 100644 index 0000000..6a6161e --- /dev/null +++ b/api.php @@ -0,0 +1,44 @@ +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + + // Tabelle sichern + $db->exec("CREATE TABLE IF NOT EXISTS news ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + date TEXT, + department TEXT, + title TEXT, + content TEXT, + full_text TEXT, + image TEXT, + link TEXT + )"); + + $stmt = $db->query('SELECT * FROM news ORDER BY id DESC'); + $news = $stmt->fetchAll(PDO::FETCH_ASSOC); + + if (count($news) === 0) { + $news = [ + [ + "id" => 1, + "date" => date("d.m.Y"), + "department" => "System", + "title" => "Willkommen beim neuen News-System", + "content" => "Die Datenbank ist bereit. Klicke auf Weiterlesen, um zu sehen, wie das Popup funktioniert.", + "full_text" => "Herzlichen Glückwunsch! Die SQLite-Datenbank wurde erfolgreich eingerichtet.\n\nHier im Popup kannst du beliebig lange Texte schreiben. Absätze aus dem Admin-Formular werden hier sauber übernommen.\n\nUm echte News zu erstellen, gehe einfach auf die admin.php und tippe deinen ersten Artikel ein!", + "image" => "https://images.unsplash.com/photo-1518605368461-1e1e38ce8ba6?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80", + "link" => "" + ] + ]; + } + + echo json_encode($news); + +} catch(PDOException $e) { + echo json_encode(["error" => $e->getMessage()]); +} +?> \ No newline at end of file diff --git a/chronik.html b/chronik.html new file mode 100644 index 0000000..e320b77 --- /dev/null +++ b/chronik.html @@ -0,0 +1,257 @@ + + + + + + Vereinschronik | SG 07 St. Leon + + + + + +
+ + + +
+ + +
+

Vereinschronik

+

Die stolze Geschichte der SG 07 St. Leon von 1907 bis heute.

+
+ + +
+

+ Über 100 Jahre Sport, Leidenschaft und Gemeinschaft. Entdecke die Meilensteine unseres Vereins, von den ersten Turnübungen bis hin zu den überregionalen Erfolgen im Handballsport. +

+ +
+

Gesamtverein & Herren

+
+
+
1907
+
Gründung des „Turnverein Germania 07 St. Leon“ und eines zweiten Turnvereins namens „Turnverein Jahn 07 St. Leon“. In beiden Vereinen wurde Turnen und Leichtathletik betrieben.
+
+
+
1910
+
Gründung des „Katholischen Jungmännervereins St. Leon“. Dieser Verein begeisterte die Jugendlichen für das Fußballspiel.
+
+
+
1919
+
Nach der Unterbrechung durch den 1. Weltkrieg nehmen der Turnverein Germania 07 und der Turnerbund Jahn 07 den Sportbetrieb wieder auf. Als neue sportliche Betätigung kam das Faustballspiel hinzu.
+
+
+
1928
+
Die Katholische Mannschaft schloss sich zur DJK (=Deutsche Jugendkraft) zusammen und führte den Handballsport in St. Leon ein.
+
+
+
1929
+
TV Germania und TB Jahn begannen ebenfalls mit dem Handballsport. Jeder der drei Vereine verfügte über eine erste und zweite Mannschaft sowie Jugend- und Schülermannschaften.
+
+
+
1933
+
Aufgrund des politischen Umschwungs wurde die DJK verboten und die beiden Turnvereine mussten sich zwangsweise zur „Turngemeinde 1907 St. Leon“ zusammenschließen.
+
+
+
1946
+
Nach dem Neubeginn des Handballsports wurde am 16. April die „Sportgemeinde 07 St. Leon“ gegründet. Als Vereinsfarben wurden „Rot-Weiß“ gewählt.
+
+
+
1950 - 1961
+
Eine Ära der Erfolge: Die SG holt die erste Badische Jugendmeisterschaft (1950), wird mehrfach Badischer Meister im Feld und in der Halle (u.a. 1954, 1957, 1961) und ist 1958 Gründungsmitglied der süddeutschen Feldhandball-Oberliga.
+
+
+
1969 / 1970
+
Gründung der Hallenhandball-Regionalliga Süd mit der SG 07 St. Leon.
+
+
+
1972 / 1973
+
Ein großer Meilenstein abseits des Feldes: Das Vereinsheim wurde errichtet.
+
+
+
1975 - 1989
+
Die A-Jugend wird Badischer und Süddeutscher Meister im Großfeld (1975). Die 1. Herrenmannschaft feiert weitere Badische Meisterschaften und steigt 1989 in die Regionalliga auf.
+
+
+
2008
+
Aufstieg in die Baden-Württemberg-Oberliga (BW-Oberliga).
+
+
+
16.03.2012
+
Bündelung der Kräfte: Gründung der HSG St. Leon/Reilingen für eine noch erfolgreichere Zukunft im Handballsport.
+
+
+
+ +
+

Die Geschichte der Damen

+
+
+
30.06.1946
+
Gründung der ersten Damenmannschaft. Nach der Teilnahme an der Verbandsrunde 1946-1947 löste sich die Mannschaft mangels Nachwuchs vorerst wieder auf.
+
+
+
1972
+
Neugründung der Damen-Abteilung. Dies war der Startschuss für eine extrem erfolgreiche sportliche Entwicklung in den folgenden Jahrzehnten.
+
+
+
1984 - 1990
+
Der kontinuierliche Weg nach oben: Aufstieg in die 1. Division (1984), Aufstieg in die Landesliga (1987) und der große Aufstieg in die Oberliga (1990).
+
+
+
1992
+
Sensationeller Aufstieg in die Regionalliga Süd. Nach der Auflösung der 1. Damenmannschaft 1994 führte die 1b-Mannschaft den Spielbetrieb in der 1. Division erfolgreich fort.
+
+
+
2013
+
Nach der Fusion zur HSG feierten die Damen den Aufstieg in die BW-Oberliga.
+
+
+
2020
+
Der bisher größte Erfolg der Damenmannschaft: Aufstieg in die 3. Liga (Süd-West).
+
+
+
+ +
+ + + + + + + \ No newline at end of file diff --git a/chronik.php b/chronik.php new file mode 100644 index 0000000..f797c1b --- /dev/null +++ b/chronik.php @@ -0,0 +1,123 @@ + + + + + + Vereinschronik | SG 07 St. Leon + + + + + + + + +
+

Vereinschronik

+

Die stolze Geschichte der SG 07 St. Leon von 1907 bis heute.

+
+ + +
+

+ Über 100 Jahre Sport, Leidenschaft und Gemeinschaft. Entdecke die Meilensteine unseres Vereins, von den ersten Turnübungen bis hin zu den überregionalen Erfolgen im Handballsport. +

+ +
+

Gesamtverein & Herren

+
+
+
1907
+
Gründung des „Turnverein Germania 07 St. Leon“ und eines zweiten Turnvereins namens „Turnverein Jahn 07 St. Leon“. In beiden Vereinen wurde Turnen und Leichtathletik betrieben.
+
+
+
1910
+
Gründung des „Katholischen Jungmännervereins St. Leon“. Dieser Verein begeisterte die Jugendlichen für das Fußballspiel.
+
+
+
1919
+
Nach der Unterbrechung durch den 1. Weltkrieg nehmen der Turnverein Germania 07 und der Turnerbund Jahn 07 den Sportbetrieb wieder auf. Als neue sportliche Betätigung kam das Faustballspiel hinzu.
+
+
+
1928
+
Die Katholische Mannschaft schloss sich zur DJK (=Deutsche Jugendkraft) zusammen und führte den Handballsport in St. Leon ein.
+
+
+
1929
+
TV Germania und TB Jahn begannen ebenfalls mit dem Handballsport. Jeder der drei Vereine verfügte über eine erste und zweite Mannschaft sowie Jugend- und Schülermannschaften.
+
+
+
1933
+
Aufgrund des politischen Umschwungs wurde die DJK verboten und die beiden Turnvereine mussten sich zwangsweise zur „Turngemeinde 1907 St. Leon“ zusammenschließen.
+
+
+
1946
+
Nach dem Neubeginn des Handballsports wurde am 16. April die „Sportgemeinde 07 St. Leon“ gegründet. Als Vereinsfarben wurden „Rot-Weiß“ gewählt.
+
+
+
1950 - 1961
+
Eine Ära der Erfolge: Die SG holt die erste Badische Jugendmeisterschaft (1950), wird mehrfach Badischer Meister im Feld und in der Halle (u.a. 1954, 1957, 1961) und ist 1958 Gründungsmitglied der süddeutschen Feldhandball-Oberliga.
+
+
+
1969 / 1970
+
Gründung der Hallenhandball-Regionalliga Süd mit der SG 07 St. Leon.
+
+
+
1972 / 1973
+
Ein großer Meilenstein abseits des Feldes: Das Vereinsheim wurde errichtet.
+
+
+
1975 - 1989
+
Die A-Jugend wird Badischer und Süddeutscher Meister im Großfeld (1975). Die 1. Herrenmannschaft feiert weitere Badische Meisterschaften und steigt 1989 in die Regionalliga auf.
+
+
+
2008
+
Aufstieg in die Baden-Württemberg-Oberliga (BW-Oberliga).
+
+
+
16.03.2012
+
Bündelung der Kräfte: Gründung der HSG St. Leon/Reilingen für eine noch erfolgreichere Zukunft im Handballsport.
+
+
+
+ +
+

Die Geschichte der Damen

+
+
+
30.06.1946
+
Gründung der ersten Damenmannschaft. Nach der Teilnahme an der Verbandsrunde 1946-1947 löste sich die Mannschaft mangels Nachwuchs vorerst wieder auf.
+
+
+
1972
+
Neugründung der Damen-Abteilung. Dies war der Startschuss für eine extrem erfolgreiche sportliche Entwicklung in den folgenden Jahrzehnten.
+
+
+
1984 - 1990
+
Der kontinuierliche Weg nach oben: Aufstieg in die 1. Division (1984), Aufstieg in die Landesliga (1987) und der große Aufstieg in die Oberliga (1990).
+
+
+
1992
+
Sensationeller Aufstieg in die Regionalliga Süd. Nach der Auflösung der 1. Damenmannschaft 1994 führte die 1b-Mannschaft den Spielbetrieb in der 1. Division erfolgreich fort.
+
+
+
2013
+
Nach der Fusion zur HSG feierten die Damen den Aufstieg in die BW-Oberliga.
+
+
+
2020
+
Der bisher größte Erfolg der Damenmannschaft: Aufstieg in die 3. Liga (Süd-West).
+
+
+
+ +
+ + + + + \ No newline at end of file diff --git a/datenschutz.php b/datenschutz.php new file mode 100644 index 0000000..745cb0e --- /dev/null +++ b/datenschutz.php @@ -0,0 +1,60 @@ + + +
+

Datenschutz

+
+ +
+

1. Datenschutz auf einen Blick

+ +

Allgemeine Hinweise

+

+ Die folgenden Hinweise geben einen einfachen Überblick darüber, was mit Ihren personenbezogenen Daten passiert, wenn Sie diese Website besuchen. Personenbezogene Daten sind alle Daten, mit denen Sie persönlich identifiziert werden können. Ausführliche Informationen zum Thema Datenschutz entnehmen Sie unserer unter diesem Text aufgeführten Datenschutzerklärung. +

+ +

Datenerfassung auf dieser Website

+

+ Wer ist verantwortlich für die Datenerfassung auf dieser Website?
+ Die Datenverarbeitung auf dieser Website erfolgt durch den Websitebetreiber. Dessen Kontaktdaten können Sie dem Impressum dieser Website entnehmen. +

+

+ Wie erfassen wir Ihre Daten?
+ Ihre Daten werden zum einen dadurch erhoben, dass Sie uns diese mitteilen. Hierbei kann es sich z. B. um Daten handeln, die Sie in ein Kontaktformular oder einen Mitgliedsantrag eingeben.
+ Andere Daten werden automatisch oder nach Ihrer Einwilligung beim Besuch der Website durch unsere IT-Systeme erfasst. Das sind vor allem technische Daten (z. B. Internetbrowser, Betriebssystem oder Uhrzeit des Seitenaufrufs). Die Erfassung dieser Daten erfolgt automatisch, sobald Sie diese Website betreten. +

+ +

2. Hosting und Server-Log-Dateien

+

+ Wir hosten unsere Website bei Strato. Der Provider ist die STRATO AG, Pascalstraße 10, 10587 Berlin (nachfolgend „Strato“). Wenn Sie unsere Website besuchen, erfasst Strato verschiedene Logfiles inklusive Ihrer IP-Adressen.
+ Weitere Details entnehmen Sie der Datenschutzerklärung von Strato: https://www.strato.de/datenschutz/. +

+ +

3. Umgang mit Mitgliederdaten

+

+ Wir verarbeiten personenbezogene Daten unserer Mitglieder (z. B. Name, Adresse, Geburtsdatum, Bankverbindung) ausschließlich zur Erfüllung unserer satzungsgemäßen Zwecke und Aufgaben sowie zur Verwaltung der Mitgliedschaft. Die Rechtsgrundlage hierfür ist Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung bzw. vorvertragliche Maßnahmen). +

+ +

4. Analyse-Tools (Matomo)

+

+ Diese Website benutzt den Open Source Webanalysedienst Matomo. Wir haben Matomo so konfiguriert, dass keine Tracking-Cookies in Ihrem Browser gespeichert werden ("Cookieless Tracking"). +

+

+ Die durch Matomo erfassten Informationen über die Nutzung dieser Website (einschließlich Ihrer gekürzten und damit anonymisierten IP-Adresse) werden ausschließlich auf unseren eigenen Servern gespeichert und nicht an Dritte weitergegeben. Die Datenverarbeitung erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Wir haben ein berechtigtes Interesse an der anonymisierten Analyse des Nutzerverhaltens, um unser Webangebot zu optimieren. Da wir Ihre Privatsphäre respektieren, ist in unserem Matomo-System die "Do Not Track"-Funktion standardmäßig respektiert und IP-Adressen werden unkenntlich gemacht. +

+ +

5. Ihre Rechte

+

+ Sie haben im Rahmen der geltenden gesetzlichen Bestimmungen jederzeit das Recht auf unentgeltliche Auskunft über Ihre gespeicherten personenbezogenen Daten, deren Herkunft und Empfänger und den Zweck der Datenverarbeitung und ggf. ein Recht auf Berichtigung oder Löschung dieser Daten. Hierzu sowie zu weiteren Fragen zum Thema personenbezogene Daten können Sie sich jederzeit an die im Impressum angegebene Adresse wenden. +

+ +
+

+ Stand der Datenschutzerklärung: März 2026.
Falls Sie spezifische Änderungen wünschen, können Sie diese Seite jederzeit durch Ihre eigenen Texte ersetzen.
+

+
+ + \ No newline at end of file diff --git a/doc/2010-0502-Satzung-SG-07-St.-Leon-vom-02.05.2010.pdf b/doc/2010-0502-Satzung-SG-07-St.-Leon-vom-02.05.2010.pdf new file mode 100644 index 0000000..8a1194a Binary files /dev/null and b/doc/2010-0502-Satzung-SG-07-St.-Leon-vom-02.05.2010.pdf differ diff --git a/doc/Aufnahme_Antrag.pdf b/doc/Aufnahme_Antrag.pdf new file mode 100644 index 0000000..a914cb5 Binary files /dev/null and b/doc/Aufnahme_Antrag.pdf differ diff --git a/doc/EHRENOrdnung17092010.pdf b/doc/EHRENOrdnung17092010.pdf new file mode 100644 index 0000000..a4447a3 Binary files /dev/null and b/doc/EHRENOrdnung17092010.pdf differ diff --git a/doc/NoWetterunterstand_290412.pdf b/doc/NoWetterunterstand_290412.pdf new file mode 100644 index 0000000..1afd18b --- /dev/null +++ b/doc/NoWetterunterstand_290412.pdf @@ -0,0 +1,135 @@ + + + +Wayback Machine + + + + + + + + +
+ + +
The Wayback Machine - https://web.archive.org/web/20211018233507/http://www.sg07-stleon.de/wp-content/uploads/2017/02/Nutzungsordnung-Wetterunterstand_Stand-29.04.12.pdf
+ + +
+ + + \ No newline at end of file diff --git a/footer.php b/footer.php new file mode 100644 index 0000000..813d3e2 --- /dev/null +++ b/footer.php @@ -0,0 +1,53 @@ + +
+
+ × + News Bild +
+
Datum | Abteilung
+

Überschrift

+
+
+ Hier steht dann der komplette Text... +
+
+
+ + + + + + \ No newline at end of file diff --git a/freundeskreis.php b/freundeskreis.php new file mode 100644 index 0000000..c6a0abd --- /dev/null +++ b/freundeskreis.php @@ -0,0 +1,90 @@ + + + + + + + Freundeskreis | SG 07 St. Leon + + + + + + + +
+

Freundeskreis Handball

+

Das Team hinter dem Team. Gemeinsam für die Zukunft der SG 07 St. Leon.

+
+ + +
+

Wer wir sind

+

+ Anfang 1996 setzten sich 25 engagierte Frauen und Männer zusammen und gründeten den Freundeskreis Handball. + Unser klares Ziel damals wie heute: Den Handballsport der SG 07 materiell und finanziell zu unterstützen + und gleichzeitig die Kameradschaft unter den St. Leoner Handballfreunden aktiv zu leben. +

+ + +
+
+
🚀
+

Nachwuchs fördern

+

Die Anforderungen an unsere Mannschaften wachsen stetig. Wer Nachwuchsförderung auf hohem Niveau betreiben möchte, benötigt ein starkes Finanzierungskonzept. Hier setzen wir an, um die Ausbildung unserer Jugendlichen zu sichern.

+
+
+
�
+

Aktive unterstützen

+

Ob Trainingsmaterial, Ausstattung oder organisatorische Mittel – wir greifen den aktiven Mannschaften finanziell unter die Arme, damit sich die Spieler und Trainer voll auf den sportlichen Erfolg konzentrieren können.

+
+
+
�
+

Gemeinschaft leben

+

Geselligkeit ist bei uns kein Fremdwort! Gemeinsame Ausflüge, Besichtigungen, unser regelmäßiger Stammtisch und traditionelle Schlachtfeste sind fester und beliebter Bestandteil der Aktivitäten des Freundeskreises geworden.

+
+
+ + +
+
+ Handball Fans und Unterstützer +
+
+

Wer mehr erreichen will, muss mehr tun.

+

+ Dies sehen wir nicht als Floskel, sondern als unsere tägliche Herausforderung. Um unsere Förderung stetig zu intensivieren, brauchen wir ein breites Fundament an Unterstützern. +

+

+ Erreichen können wir unsere ambitionierten Ziele nur, wenn sich noch mehr Handballfreunde unserem Kreis anschließen. Ob durch regelmäßige Beiträge, Spenden oder durch aktive und tatkräftige Mitarbeit im Verein – jede Hilfe zählt und bringt unsere Spielerinnen und Spieler ein Stück weiter. +

+
+
+ + +
+
+

Werde Teil der Gemeinschaft!

+

+ Wir laden dich herzlich ein, dich den vielen Handballfreunden im Freundeskreis anzuschließen. + Lade dir einfach die Beitrittserklärung herunter und werde das "Team hinter dem Team". +

+ Beitrittserklärung herunterladen +
+
+ Torsten Weis +

Torsten Weis

+

Vorsitzender Freundeskreis Handball

+ +
+
+ +
+ + + + \ No newline at end of file diff --git a/header.php b/header.php new file mode 100644 index 0000000..894c9c8 --- /dev/null +++ b/header.php @@ -0,0 +1,59 @@ + + + + + + + <?= htmlspecialchars($pageTitle) ?> + + + + + + + + + + + +
+ + + +
\ No newline at end of file diff --git a/img/SG07-Logo_2.png b/img/SG07-Logo_2.png new file mode 100644 index 0000000..5c7f9b7 Binary files /dev/null and b/img/SG07-Logo_2.png differ diff --git a/img/news/2026/20260304_01.jpeg b/img/news/2026/20260304_01.jpeg new file mode 100644 index 0000000..ea1e2da Binary files /dev/null and b/img/news/2026/20260304_01.jpeg differ diff --git a/img/news/2026/20260311_66956.jpeg b/img/news/2026/20260311_66956.jpeg new file mode 100644 index 0000000..ea1e2da Binary files /dev/null and b/img/news/2026/20260311_66956.jpeg differ diff --git a/img/news/2026/20260401_53767.jpeg b/img/news/2026/20260401_53767.jpeg new file mode 100644 index 0000000..fc3147c Binary files /dev/null and b/img/news/2026/20260401_53767.jpeg differ diff --git a/img/uploads/2023/05/1-150x150.jpg b/img/uploads/2023/05/1-150x150.jpg new file mode 100644 index 0000000..6e6ceef Binary files /dev/null and b/img/uploads/2023/05/1-150x150.jpg differ diff --git a/img/uploads/2023/05/1-300x200.jpg b/img/uploads/2023/05/1-300x200.jpg new file mode 100644 index 0000000..879c0e1 Binary files /dev/null and b/img/uploads/2023/05/1-300x200.jpg differ diff --git a/img/uploads/2023/05/1-768x512.jpg b/img/uploads/2023/05/1-768x512.jpg new file mode 100644 index 0000000..d2b89fc Binary files /dev/null and b/img/uploads/2023/05/1-768x512.jpg differ diff --git a/img/uploads/2023/05/1.jpg b/img/uploads/2023/05/1.jpg new file mode 100644 index 0000000..1c3f185 Binary files /dev/null and b/img/uploads/2023/05/1.jpg differ diff --git a/img/uploads/2023/05/2-150x150.jpg b/img/uploads/2023/05/2-150x150.jpg new file mode 100644 index 0000000..df28843 Binary files /dev/null and b/img/uploads/2023/05/2-150x150.jpg differ diff --git a/img/uploads/2023/05/2-300x200.jpg b/img/uploads/2023/05/2-300x200.jpg new file mode 100644 index 0000000..6328ce5 Binary files /dev/null and b/img/uploads/2023/05/2-300x200.jpg differ diff --git a/img/uploads/2023/05/2-768x512.jpg b/img/uploads/2023/05/2-768x512.jpg new file mode 100644 index 0000000..11fab9e Binary files /dev/null and b/img/uploads/2023/05/2-768x512.jpg differ diff --git a/img/uploads/2023/05/2010-0502-Satzung-SG-07-St.-Leon-vom-02.05.2010-pdf-106x150.jpg b/img/uploads/2023/05/2010-0502-Satzung-SG-07-St.-Leon-vom-02.05.2010-pdf-106x150.jpg new file mode 100644 index 0000000..05e3327 Binary files /dev/null and b/img/uploads/2023/05/2010-0502-Satzung-SG-07-St.-Leon-vom-02.05.2010-pdf-106x150.jpg differ diff --git a/img/uploads/2023/05/2010-0502-Satzung-SG-07-St.-Leon-vom-02.05.2010-pdf-212x300.jpg b/img/uploads/2023/05/2010-0502-Satzung-SG-07-St.-Leon-vom-02.05.2010-pdf-212x300.jpg new file mode 100644 index 0000000..d3a2fe9 Binary files /dev/null and b/img/uploads/2023/05/2010-0502-Satzung-SG-07-St.-Leon-vom-02.05.2010-pdf-212x300.jpg differ diff --git a/img/uploads/2023/05/2010-0502-Satzung-SG-07-St.-Leon-vom-02.05.2010-pdf-724x1024.jpg b/img/uploads/2023/05/2010-0502-Satzung-SG-07-St.-Leon-vom-02.05.2010-pdf-724x1024.jpg new file mode 100644 index 0000000..13b1e29 Binary files /dev/null and b/img/uploads/2023/05/2010-0502-Satzung-SG-07-St.-Leon-vom-02.05.2010-pdf-724x1024.jpg differ diff --git a/img/uploads/2023/05/2010-0502-Satzung-SG-07-St.-Leon-vom-02.05.2010-pdf.jpg b/img/uploads/2023/05/2010-0502-Satzung-SG-07-St.-Leon-vom-02.05.2010-pdf.jpg new file mode 100644 index 0000000..1e13960 Binary files /dev/null and b/img/uploads/2023/05/2010-0502-Satzung-SG-07-St.-Leon-vom-02.05.2010-pdf.jpg differ diff --git a/img/uploads/2023/05/2010-0502-Satzung-SG-07-St.-Leon-vom-02.05.2010.pdf b/img/uploads/2023/05/2010-0502-Satzung-SG-07-St.-Leon-vom-02.05.2010.pdf new file mode 100644 index 0000000..8a1194a Binary files /dev/null and b/img/uploads/2023/05/2010-0502-Satzung-SG-07-St.-Leon-vom-02.05.2010.pdf differ diff --git a/img/uploads/2023/05/3-150x150.jpg b/img/uploads/2023/05/3-150x150.jpg new file mode 100644 index 0000000..464b4e1 Binary files /dev/null and b/img/uploads/2023/05/3-150x150.jpg differ diff --git a/img/uploads/2023/05/3-300x200.jpg b/img/uploads/2023/05/3-300x200.jpg new file mode 100644 index 0000000..8870656 Binary files /dev/null and b/img/uploads/2023/05/3-300x200.jpg differ diff --git a/img/uploads/2023/05/3-768x512.jpg b/img/uploads/2023/05/3-768x512.jpg new file mode 100644 index 0000000..4965656 Binary files /dev/null and b/img/uploads/2023/05/3-768x512.jpg differ diff --git a/img/uploads/2023/05/4-150x150.jpg b/img/uploads/2023/05/4-150x150.jpg new file mode 100644 index 0000000..b78381c Binary files /dev/null and b/img/uploads/2023/05/4-150x150.jpg differ diff --git a/img/uploads/2023/05/4-300x200.jpg b/img/uploads/2023/05/4-300x200.jpg new file mode 100644 index 0000000..c5fb14b Binary files /dev/null and b/img/uploads/2023/05/4-300x200.jpg differ diff --git a/img/uploads/2023/05/4-768x512.jpg b/img/uploads/2023/05/4-768x512.jpg new file mode 100644 index 0000000..a892a9e Binary files /dev/null and b/img/uploads/2023/05/4-768x512.jpg differ diff --git a/img/uploads/2023/05/5-150x150.jpg b/img/uploads/2023/05/5-150x150.jpg new file mode 100644 index 0000000..bd02b54 Binary files /dev/null and b/img/uploads/2023/05/5-150x150.jpg differ diff --git a/img/uploads/2023/05/5-300x200.jpg b/img/uploads/2023/05/5-300x200.jpg new file mode 100644 index 0000000..9a7574d Binary files /dev/null and b/img/uploads/2023/05/5-300x200.jpg differ diff --git a/img/uploads/2023/05/5-768x512.jpg b/img/uploads/2023/05/5-768x512.jpg new file mode 100644 index 0000000..fa6e2b9 Binary files /dev/null and b/img/uploads/2023/05/5-768x512.jpg differ diff --git a/img/uploads/2023/05/6-150x150.jpg b/img/uploads/2023/05/6-150x150.jpg new file mode 100644 index 0000000..164dd42 Binary files /dev/null and b/img/uploads/2023/05/6-150x150.jpg differ diff --git a/img/uploads/2023/05/6-300x200.jpg b/img/uploads/2023/05/6-300x200.jpg new file mode 100644 index 0000000..55e8e44 Binary files /dev/null and b/img/uploads/2023/05/6-300x200.jpg differ diff --git a/img/uploads/2023/05/6-768x512.jpg b/img/uploads/2023/05/6-768x512.jpg new file mode 100644 index 0000000..2b771a5 Binary files /dev/null and b/img/uploads/2023/05/6-768x512.jpg differ diff --git a/img/uploads/2023/05/8-150x150.jpg b/img/uploads/2023/05/8-150x150.jpg new file mode 100644 index 0000000..e5a392e Binary files /dev/null and b/img/uploads/2023/05/8-150x150.jpg differ diff --git a/img/uploads/2023/05/8-300x200.jpg b/img/uploads/2023/05/8-300x200.jpg new file mode 100644 index 0000000..f3888fe Binary files /dev/null and b/img/uploads/2023/05/8-300x200.jpg differ diff --git a/img/uploads/2023/05/8-768x512.jpg b/img/uploads/2023/05/8-768x512.jpg new file mode 100644 index 0000000..f279864 Binary files /dev/null and b/img/uploads/2023/05/8-768x512.jpg differ diff --git a/img/uploads/2023/05/9-150x150.jpg b/img/uploads/2023/05/9-150x150.jpg new file mode 100644 index 0000000..d112a40 Binary files /dev/null and b/img/uploads/2023/05/9-150x150.jpg differ diff --git a/img/uploads/2023/05/9-300x200.jpg b/img/uploads/2023/05/9-300x200.jpg new file mode 100644 index 0000000..ce99e81 Binary files /dev/null and b/img/uploads/2023/05/9-300x200.jpg differ diff --git a/img/uploads/2023/05/9-768x512.jpg b/img/uploads/2023/05/9-768x512.jpg new file mode 100644 index 0000000..9800c1d Binary files /dev/null and b/img/uploads/2023/05/9-768x512.jpg differ diff --git a/img/uploads/2023/05/Aufnahme_Antrag.pdf b/img/uploads/2023/05/Aufnahme_Antrag.pdf new file mode 100644 index 0000000..a914cb5 Binary files /dev/null and b/img/uploads/2023/05/Aufnahme_Antrag.pdf differ diff --git a/img/uploads/2023/05/B-01-2012-04-30_005-150x150.jpg b/img/uploads/2023/05/B-01-2012-04-30_005-150x150.jpg new file mode 100644 index 0000000..f9b6df5 Binary files /dev/null and b/img/uploads/2023/05/B-01-2012-04-30_005-150x150.jpg differ diff --git a/img/uploads/2023/05/B-01-2012-04-30_005-300x200.jpg b/img/uploads/2023/05/B-01-2012-04-30_005-300x200.jpg new file mode 100644 index 0000000..3f9c34d Binary files /dev/null and b/img/uploads/2023/05/B-01-2012-04-30_005-300x200.jpg differ diff --git a/img/uploads/2023/05/B-04-2012-04-30_008-150x150.jpg b/img/uploads/2023/05/B-04-2012-04-30_008-150x150.jpg new file mode 100644 index 0000000..9e8056b Binary files /dev/null and b/img/uploads/2023/05/B-04-2012-04-30_008-150x150.jpg differ diff --git a/img/uploads/2023/05/B-04-2012-04-30_008-300x200.jpg b/img/uploads/2023/05/B-04-2012-04-30_008-300x200.jpg new file mode 100644 index 0000000..a9252ba Binary files /dev/null and b/img/uploads/2023/05/B-04-2012-04-30_008-300x200.jpg differ diff --git a/img/uploads/2023/05/EHRENOrdnung17092010-pdf-106x150.jpg b/img/uploads/2023/05/EHRENOrdnung17092010-pdf-106x150.jpg new file mode 100644 index 0000000..82124d1 Binary files /dev/null and b/img/uploads/2023/05/EHRENOrdnung17092010-pdf-106x150.jpg differ diff --git a/img/uploads/2023/05/EHRENOrdnung17092010-pdf-212x300.jpg b/img/uploads/2023/05/EHRENOrdnung17092010-pdf-212x300.jpg new file mode 100644 index 0000000..b9e365d Binary files /dev/null and b/img/uploads/2023/05/EHRENOrdnung17092010-pdf-212x300.jpg differ diff --git a/img/uploads/2023/05/EHRENOrdnung17092010-pdf-724x1024.jpg b/img/uploads/2023/05/EHRENOrdnung17092010-pdf-724x1024.jpg new file mode 100644 index 0000000..cd70577 Binary files /dev/null and b/img/uploads/2023/05/EHRENOrdnung17092010-pdf-724x1024.jpg differ diff --git a/img/uploads/2023/05/EHRENOrdnung17092010-pdf.jpg b/img/uploads/2023/05/EHRENOrdnung17092010-pdf.jpg new file mode 100644 index 0000000..b9b556c Binary files /dev/null and b/img/uploads/2023/05/EHRENOrdnung17092010-pdf.jpg differ diff --git a/img/uploads/2023/05/EHRENOrdnung17092010.pdf b/img/uploads/2023/05/EHRENOrdnung17092010.pdf new file mode 100644 index 0000000..a4447a3 Binary files /dev/null and b/img/uploads/2023/05/EHRENOrdnung17092010.pdf differ diff --git a/img/uploads/2023/05/SG07-Logo_2-150x150.png b/img/uploads/2023/05/SG07-Logo_2-150x150.png new file mode 100644 index 0000000..416d86a Binary files /dev/null and b/img/uploads/2023/05/SG07-Logo_2-150x150.png differ diff --git a/img/uploads/2023/05/SG07-Logo_2.png b/img/uploads/2023/05/SG07-Logo_2.png new file mode 100644 index 0000000..5c7f9b7 Binary files /dev/null and b/img/uploads/2023/05/SG07-Logo_2.png differ diff --git a/img/uploads/2023/05/cropped-SG07-Logo_1-1-150x150.jpg b/img/uploads/2023/05/cropped-SG07-Logo_1-1-150x150.jpg new file mode 100644 index 0000000..c630df3 Binary files /dev/null and b/img/uploads/2023/05/cropped-SG07-Logo_1-1-150x150.jpg differ diff --git a/img/uploads/2023/05/cropped-SG07-Logo_1-1-220x300.jpg b/img/uploads/2023/05/cropped-SG07-Logo_1-1-220x300.jpg new file mode 100644 index 0000000..14d194d Binary files /dev/null and b/img/uploads/2023/05/cropped-SG07-Logo_1-1-220x300.jpg differ diff --git a/img/uploads/2023/05/cropped-SG07-Logo_1-1-751x1024.jpg b/img/uploads/2023/05/cropped-SG07-Logo_1-1-751x1024.jpg new file mode 100644 index 0000000..b480759 Binary files /dev/null and b/img/uploads/2023/05/cropped-SG07-Logo_1-1-751x1024.jpg differ diff --git a/img/uploads/2023/05/cropped-SG07-Logo_1-1-768x1047.jpg b/img/uploads/2023/05/cropped-SG07-Logo_1-1-768x1047.jpg new file mode 100644 index 0000000..37e3dbc Binary files /dev/null and b/img/uploads/2023/05/cropped-SG07-Logo_1-1-768x1047.jpg differ diff --git a/img/uploads/2023/05/cropped-SG07-Logo_1-1-e1683414361958-150x150.jpg b/img/uploads/2023/05/cropped-SG07-Logo_1-1-e1683414361958-150x150.jpg new file mode 100644 index 0000000..94a8e94 Binary files /dev/null and b/img/uploads/2023/05/cropped-SG07-Logo_1-1-e1683414361958-150x150.jpg differ diff --git a/img/uploads/2023/05/cropped-SG07-Logo_1-1-e1683414361958-220x300.jpg b/img/uploads/2023/05/cropped-SG07-Logo_1-1-e1683414361958-220x300.jpg new file mode 100644 index 0000000..308887e Binary files /dev/null and b/img/uploads/2023/05/cropped-SG07-Logo_1-1-e1683414361958-220x300.jpg differ diff --git a/img/uploads/2023/05/cropped-SG07-Logo_1-1-e1683414361958.jpg b/img/uploads/2023/05/cropped-SG07-Logo_1-1-e1683414361958.jpg new file mode 100644 index 0000000..f5a6454 Binary files /dev/null and b/img/uploads/2023/05/cropped-SG07-Logo_1-1-e1683414361958.jpg differ diff --git a/img/uploads/2023/05/cropped-SG07-Logo_1-1.jpg b/img/uploads/2023/05/cropped-SG07-Logo_1-1.jpg new file mode 100644 index 0000000..03edab2 Binary files /dev/null and b/img/uploads/2023/05/cropped-SG07-Logo_1-1.jpg differ diff --git a/img/uploads/2023/10/DKC88SKC89-1024x605.png b/img/uploads/2023/10/DKC88SKC89-1024x605.png new file mode 100644 index 0000000..a9141ff Binary files /dev/null and b/img/uploads/2023/10/DKC88SKC89-1024x605.png differ diff --git a/img/uploads/2023/10/DKC88SKC89-150x150.png b/img/uploads/2023/10/DKC88SKC89-150x150.png new file mode 100644 index 0000000..2bed4b3 Binary files /dev/null and b/img/uploads/2023/10/DKC88SKC89-150x150.png differ diff --git a/img/uploads/2023/10/DKC88SKC89-1536x907.png b/img/uploads/2023/10/DKC88SKC89-1536x907.png new file mode 100644 index 0000000..617c319 Binary files /dev/null and b/img/uploads/2023/10/DKC88SKC89-1536x907.png differ diff --git a/img/uploads/2023/10/DKC88SKC89-300x177.png b/img/uploads/2023/10/DKC88SKC89-300x177.png new file mode 100644 index 0000000..ca8222f Binary files /dev/null and b/img/uploads/2023/10/DKC88SKC89-300x177.png differ diff --git a/img/uploads/2023/10/DKC88SKC89-768x454.png b/img/uploads/2023/10/DKC88SKC89-768x454.png new file mode 100644 index 0000000..bccdd8b Binary files /dev/null and b/img/uploads/2023/10/DKC88SKC89-768x454.png differ diff --git a/img/uploads/2023/10/DKC88SKC89.png b/img/uploads/2023/10/DKC88SKC89.png new file mode 100644 index 0000000..aa6e136 Binary files /dev/null and b/img/uploads/2023/10/DKC88SKC89.png differ diff --git a/img/uploads/2023/10/HaxenfestSG_2023-1024x1024.jpeg b/img/uploads/2023/10/HaxenfestSG_2023-1024x1024.jpeg new file mode 100644 index 0000000..59b6cb8 Binary files /dev/null and b/img/uploads/2023/10/HaxenfestSG_2023-1024x1024.jpeg differ diff --git a/img/uploads/2023/10/HaxenfestSG_2023-150x150.jpeg b/img/uploads/2023/10/HaxenfestSG_2023-150x150.jpeg new file mode 100644 index 0000000..bde3286 Binary files /dev/null and b/img/uploads/2023/10/HaxenfestSG_2023-150x150.jpeg differ diff --git a/img/uploads/2023/10/HaxenfestSG_2023-300x300.jpeg b/img/uploads/2023/10/HaxenfestSG_2023-300x300.jpeg new file mode 100644 index 0000000..9971086 Binary files /dev/null and b/img/uploads/2023/10/HaxenfestSG_2023-300x300.jpeg differ diff --git a/img/uploads/2023/10/HaxenfestSG_2023-768x768.jpeg b/img/uploads/2023/10/HaxenfestSG_2023-768x768.jpeg new file mode 100644 index 0000000..d0832ae Binary files /dev/null and b/img/uploads/2023/10/HaxenfestSG_2023-768x768.jpeg differ diff --git a/img/uploads/2023/10/HaxenfestSG_2023.jpeg b/img/uploads/2023/10/HaxenfestSG_2023.jpeg new file mode 100644 index 0000000..4f5b3ab Binary files /dev/null and b/img/uploads/2023/10/HaxenfestSG_2023.jpeg differ diff --git a/img/uploads/2023/10/Portrait_Placeholder-150x150.png b/img/uploads/2023/10/Portrait_Placeholder-150x150.png new file mode 100644 index 0000000..991fa27 Binary files /dev/null and b/img/uploads/2023/10/Portrait_Placeholder-150x150.png differ diff --git a/img/uploads/2023/10/Portrait_Placeholder-300x300.png b/img/uploads/2023/10/Portrait_Placeholder-300x300.png new file mode 100644 index 0000000..1a22cf1 Binary files /dev/null and b/img/uploads/2023/10/Portrait_Placeholder-300x300.png differ diff --git a/img/uploads/2023/10/Portrait_Placeholder.png b/img/uploads/2023/10/Portrait_Placeholder.png new file mode 100644 index 0000000..e7bdbef Binary files /dev/null and b/img/uploads/2023/10/Portrait_Placeholder.png differ diff --git a/img/uploads/2023/10/cropped-hsg-150x150.png b/img/uploads/2023/10/cropped-hsg-150x150.png new file mode 100644 index 0000000..2e4660a Binary files /dev/null and b/img/uploads/2023/10/cropped-hsg-150x150.png differ diff --git a/img/uploads/2023/10/cropped-hsg.png b/img/uploads/2023/10/cropped-hsg.png new file mode 100644 index 0000000..40d8a63 Binary files /dev/null and b/img/uploads/2023/10/cropped-hsg.png differ diff --git a/img/uploads/2023/10/email-150x150.png b/img/uploads/2023/10/email-150x150.png new file mode 100644 index 0000000..f6df57b Binary files /dev/null and b/img/uploads/2023/10/email-150x150.png differ diff --git a/img/uploads/2023/10/email.png b/img/uploads/2023/10/email.png new file mode 100644 index 0000000..e75f974 Binary files /dev/null and b/img/uploads/2023/10/email.png differ diff --git a/img/uploads/2023/10/external_link-150x150.png b/img/uploads/2023/10/external_link-150x150.png new file mode 100644 index 0000000..7ec91d8 Binary files /dev/null and b/img/uploads/2023/10/external_link-150x150.png differ diff --git a/img/uploads/2023/10/external_link.png b/img/uploads/2023/10/external_link.png new file mode 100644 index 0000000..f0fcf4e Binary files /dev/null and b/img/uploads/2023/10/external_link.png differ diff --git a/img/uploads/2023/10/image-1024x1015.jpeg b/img/uploads/2023/10/image-1024x1015.jpeg new file mode 100644 index 0000000..1cda882 Binary files /dev/null and b/img/uploads/2023/10/image-1024x1015.jpeg differ diff --git a/img/uploads/2023/10/image-150x150.jpeg b/img/uploads/2023/10/image-150x150.jpeg new file mode 100644 index 0000000..3e27869 Binary files /dev/null and b/img/uploads/2023/10/image-150x150.jpeg differ diff --git a/img/uploads/2023/10/image-1536x1523.jpeg b/img/uploads/2023/10/image-1536x1523.jpeg new file mode 100644 index 0000000..5676c5c Binary files /dev/null and b/img/uploads/2023/10/image-1536x1523.jpeg differ diff --git a/img/uploads/2023/10/image-300x297.jpeg b/img/uploads/2023/10/image-300x297.jpeg new file mode 100644 index 0000000..01a09ae Binary files /dev/null and b/img/uploads/2023/10/image-300x297.jpeg differ diff --git a/img/uploads/2023/10/image-768x761.jpeg b/img/uploads/2023/10/image-768x761.jpeg new file mode 100644 index 0000000..3568c0a Binary files /dev/null and b/img/uploads/2023/10/image-768x761.jpeg differ diff --git a/img/uploads/2023/10/image.jpeg b/img/uploads/2023/10/image.jpeg new file mode 100644 index 0000000..b9faf36 Binary files /dev/null and b/img/uploads/2023/10/image.jpeg differ diff --git a/img/uploads/SG07-Logo_2-V0bbOq.tmp b/img/uploads/SG07-Logo_2-V0bbOq.tmp new file mode 100644 index 0000000..5c7f9b7 Binary files /dev/null and b/img/uploads/SG07-Logo_2-V0bbOq.tmp differ diff --git a/img/uploads/bsk-pdf-manager/ftp/index.php b/img/uploads/bsk-pdf-manager/ftp/index.php new file mode 100644 index 0000000..4e6c07c --- /dev/null +++ b/img/uploads/bsk-pdf-manager/ftp/index.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/img/uploads/bsk-pdf-manager/index.php b/img/uploads/bsk-pdf-manager/index.php new file mode 100644 index 0000000..4e6c07c --- /dev/null +++ b/img/uploads/bsk-pdf-manager/index.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/img/uploads/cropped-SG07-Logo_1-1-r7sPT4.tmp b/img/uploads/cropped-SG07-Logo_1-1-r7sPT4.tmp new file mode 100644 index 0000000..03edab2 Binary files /dev/null and b/img/uploads/cropped-SG07-Logo_1-1-r7sPT4.tmp differ diff --git a/img/uploads/image-fyPSiW.tmp b/img/uploads/image-fyPSiW.tmp new file mode 100644 index 0000000..27c276f Binary files /dev/null and b/img/uploads/image-fyPSiW.tmp differ diff --git a/img/uploads/wpcode/cache/docs.json b/img/uploads/wpcode/cache/docs.json new file mode 100644 index 0000000..b09b011 --- /dev/null +++ b/img/uploads/wpcode/cache/docs.json @@ -0,0 +1 @@ +{"categories":{"getting-started":"Getting Started","auto-insert-locations":"Auto-Insert Locations","conversion-pixels":"Conversion Pixels","functionality":"Functionality","troubleshooting":"Troubleshooting"},"docs":{"2364":{"title":"Access Control","url":"https:\/\/wpcode.com\/docs\/access-control\/","categories":["functionality"]},"2351":{"title":"I can't find the script I added in the frontend","url":"https:\/\/wpcode.com\/docs\/i-cant-find-the-script-i-added-in-the-frontend\/","categories":["troubleshooting"]},"2349":{"title":"How to find where a script or code is coming from in WPCode","url":"https:\/\/wpcode.com\/docs\/how-to-find-where-a-script-or-code-is-coming-from-in-wpcode\/","categories":["troubleshooting"]},"2302":{"title":"File Editor","url":"https:\/\/wpcode.com\/docs\/file-editor\/","categories":["functionality"]},"2324":{"title":"How to fix WPCode Permissions Error","url":"https:\/\/wpcode.com\/docs\/how-to-fix-wpcode-permissions-error\/","categories":["troubleshooting"]},"2290":{"title":"How to debug PHP errors in WPCode","url":"https:\/\/wpcode.com\/docs\/how-to-debug-php-errors-in-wpcode\/","categories":["troubleshooting"]},"2142":{"title":"How To Use the Conversion Pixels Custom Click Tracking","url":"https:\/\/wpcode.com\/docs\/conversion-pixels-custom-click-tracking\/","categories":["conversion-pixels"]},"2140":{"title":"How to find the right CSS Selector","url":"https:\/\/wpcode.com\/docs\/finding-css-selector\/","categories":["troubleshooting"]},"2144":{"title":"How to find your Snapchat Pixel Id and Conversions API Token","url":"https:\/\/wpcode.com\/docs\/how-to-find-your-snapchat-pixel-id-and-conversions-api-token\/","categories":["conversion-pixels"]},"2085":{"title":"Using Shortcode Attributes","url":"https:\/\/wpcode.com\/docs\/shortcode-attributes\/","categories":["functionality"]},"2094":{"title":"Using Smart Tags","url":"https:\/\/wpcode.com\/docs\/smart-tags\/","categories":["functionality"]},"2055":{"title":"Using Snippet Error Logging","url":"https:\/\/wpcode.com\/docs\/using-snippet-error-logging\/","categories":["troubleshooting"]},"2002":{"title":"Usage Tracking","url":"https:\/\/wpcode.com\/docs\/usage-tracking\/","categories":[]},"1894":{"title":"Using CSS Selectors to Insert Snippets Anywhere","url":"https:\/\/wpcode.com\/docs\/using-css-selectors\/","categories":["auto-insert-locations"]},"1824":{"title":"How to create advanced scheduling rules","url":"https:\/\/wpcode.com\/docs\/how-to-create-advanced-scheduling-rules\/","categories":["functionality"]},"1822":{"title":"Conditional Logic PHP Snippets","url":"https:\/\/wpcode.com\/docs\/conditional-logic-php-snippets\/","categories":["troubleshooting"]},"1761":{"title":"How to find your TikTok Pixel ID and Events API Access Token","url":"https:\/\/wpcode.com\/docs\/how-to-find-your-tiktok-pixel-id-and-events-api-access-token\/","categories":["conversion-pixels"]},"1759":{"title":"How to find your Pinterest Tag ID and Conversion Access Token","url":"https:\/\/wpcode.com\/docs\/how-to-find-your-pinterest-tag-id-and-conversion-access-token\/","categories":["conversion-pixels"]},"1757":{"title":"How to find your Google Ads Tag ID & Conversion Label","url":"https:\/\/wpcode.com\/docs\/how-to-find-your-google-ads-tag-id\/","categories":["conversion-pixels"]},"1755":{"title":"How to find your Google Analytics ID","url":"https:\/\/wpcode.com\/docs\/how-to-find-your-google-analytics-id\/","categories":["conversion-pixels"]},"1753":{"title":"How to Find your Facebook Pixel ID and Conversions API Token","url":"https:\/\/wpcode.com\/docs\/how-to-find-your-facebook-pixel-id-and-conversions-api-token\/","categories":["conversion-pixels"]},"1721":{"title":"WPCode Library 1-click install","url":"https:\/\/wpcode.com\/docs\/update-plugin-for-1-click-install\/","categories":["getting-started"]},"1604":{"title":"How to Install the WPCode Plugin","url":"https:\/\/wpcode.com\/docs\/how-to-install-the-wpcode-plugin\/","categories":["getting-started"]},"65":{"title":"Using the Global Header & Footer settings","url":"https:\/\/wpcode.com\/docs\/using-the-global-header-footer-settings\/","categories":["getting-started"]},"56":{"title":"How To Use Snippets Smart Conditional Logic","url":"https:\/\/wpcode.com\/docs\/how-to-use-snippets-smart-conditional-logic\/","categories":["getting-started"]},"53":{"title":"A Complete Guide to Snippet Locations","url":"https:\/\/wpcode.com\/docs\/a-complete-guide-to-snippet-locations\/","categories":["getting-started"]},"46":{"title":"PHP Error Handling & Safe Mode","url":"https:\/\/wpcode.com\/docs\/php-error-handling-safe-mode\/","categories":["troubleshooting"]},"27":{"title":"How To Create Your First Snippet?","url":"https:\/\/wpcode.com\/docs\/how-to-create-your-first-snippet\/","categories":["getting-started"]},"9":{"title":"What Type of Snippet Do I Need?","url":"https:\/\/wpcode.com\/docs\/what-type-of-snippet-do-i-need\/","categories":["getting-started"]}}} \ No newline at end of file diff --git a/img/uploads/wpcode/cache/index.html b/img/uploads/wpcode/cache/index.html new file mode 100644 index 0000000..e69de29 diff --git a/img/uploads/wpcode/cache/library/index.html b/img/uploads/wpcode/cache/library/index.html new file mode 100644 index 0000000..e69de29 diff --git a/img/uploads/wpcode/cache/library/snippets.json b/img/uploads/wpcode/cache/library/snippets.json new file mode 100644 index 0000000..61a3475 --- /dev/null +++ b/img/uploads/wpcode/cache/library/snippets.json @@ -0,0 +1 @@ +{"categories":[{"name":"Most Popular","slug":"most-popular"},{"name":"Admin","slug":"admin"},{"name":"Archive","slug":"archive"},{"name":"Attachments","slug":"attachments"},{"name":"Comments","slug":"comments"},{"name":"Disable","slug":"disable"},{"name":"Login","slug":"login"},{"name":"RSS Feeds","slug":"rss-feeds"},{"name":"Widgets","slug":"widgets"}],"snippets":[{"library_id":63,"title":"Add an Edit Post Link to Archives","code":"edit_post_link( __( '{Edit}' ) );\r\n","note":"Make it easier to edit posts when viewing archives. Or on single pages. If you...","categories":["archive"],"code_type":"php","needs_auth":""},{"library_id":947,"title":"Add default ALT to avatar\/Gravatar Images","code":"","note":"Add the user's name as a default alt tag to the Gravatar images loaded on...","categories":["attachments"],"code_type":"php","needs_auth":"1"},{"library_id":6562,"title":"Add Featured Image Column","code":"","note":"Display the featured image in the list of posts in the admin.","categories":["admin","attachments"],"code_type":"php","needs_auth":"1"},{"library_id":44,"title":"Add Featured Images to RSS Feeds","code":"\/**\r\n * Add the post thumbnail, if available, before the content in feeds.\r\n *\r\n * @param string $content The post content.\r\n *\r\n * @return string\r\n *\/\r\nfunction wpcode_snippet_rss_post_thumbnail( $content ) {\r\n\tglobal $post;\r\n\tif ( has_post_thumbnail( $post->ID ) ) {\r\n\t\t$content = '

' . get_the_post_thumbnail( $post->ID ) . '<\/p>' . $content;\r\n\t}\r\n\r\n\treturn $content;\r\n}\r\n\r\nadd_filter( 'the_excerpt_rss', 'wpcode_snippet_rss_post_thumbnail' );\r\nadd_filter( 'the_content_feed', 'wpcode_snippet_rss_post_thumbnail' );","note":"Extend your site's RSS feeds by including featured images in the feed.","categories":["rss-feeds"],"code_type":"php","needs_auth":""},{"library_id":13021,"title":"Add Media File Size Column","code":"","note":"Display the file size in a separate column in the Media screen","categories":["attachments"],"code_type":"php","needs_auth":"1"},{"library_id":65,"title":"Add the Page Slug to Body Class","code":"function wpcode_snippet_add_slug_body_class( $classes ) {\r\n\tglobal $post;\r\n\tif ( isset( $post ) ) {\r\n\t\t$classes[] = $post->post_type . '-' . $post->post_name;\r\n\t}\r\n\r\n\treturn $classes;\r\n}\r\n\r\nadd_filter( 'body_class', 'wpcode_snippet_add_slug_body_class' );","note":"Add the page slug to the body class for better styling.","categories":["archive"],"code_type":"php","needs_auth":""},{"library_id":54,"title":"Allow SVG Files Upload","code":"\/**\r\n * Allow SVG uploads for administrator users.\r\n *\r\n * @param array $upload_mimes Allowed mime types.\r\n *\r\n * @return mixed\r\n *\/\r\nadd_filter(\r\n\t'upload_mimes',\r\n\tfunction ( $upload_mimes ) {\r\n\t\t\/\/ By default, only administrator users are allowed to add SVGs.\r\n\t\t\/\/ To enable more user types edit or comment the lines below but beware of\r\n\t\t\/\/ the security risks if you allow any user to upload SVG files.\r\n\t\tif ( ! current_user_can( 'administrator' ) ) {\r\n\t\t\treturn $upload_mimes;\r\n\t\t}\r\n\r\n\t\t$upload_mimes['svg'] = 'image\/svg+xml';\r\n\t\t$upload_mimes['svgz'] = 'image\/svg+xml';\r\n\r\n\t\treturn $upload_mimes;\r\n\t}\r\n);\r\n\r\n\/**\r\n * Add SVG files mime check.\r\n *\r\n * @param array $wp_check_filetype_and_ext Values for the extension, mime type, and corrected filename.\r\n * @param string $file Full path to the file.\r\n * @param string $filename The name of the file (may differ from $file due to $file being in a tmp directory).\r\n * @param string[] $mimes Array of mime types keyed by their file extension regex.\r\n * @param string|false $real_mime The actual mime type or false if the type cannot be determined.\r\n *\/\r\nadd_filter(\r\n\t'wp_check_filetype_and_ext',\r\n\tfunction ( $wp_check_filetype_and_ext, $file, $filename, $mimes, $real_mime ) {\r\n\r\n\t\tif ( ! $wp_check_filetype_and_ext['type'] ) {\r\n\r\n\t\t\t$check_filetype = wp_check_filetype( $filename, $mimes );\r\n\t\t\t$ext = $check_filetype['ext'];\r\n\t\t\t$type = $check_filetype['type'];\r\n\t\t\t$proper_filename = $filename;\r\n\r\n\t\t\tif ( $type && 0 === strpos( $type, 'image\/' ) && 'svg' !== $ext ) {\r\n\t\t\t\t$ext = false;\r\n\t\t\t\t$type = false;\r\n\t\t\t}\r\n\r\n\t\t\t$wp_check_filetype_and_ext = compact( 'ext', 'type', 'proper_filename' );\r\n\t\t}\r\n\r\n\t\treturn $wp_check_filetype_and_ext;\r\n\r\n\t},\r\n\t10,\r\n\t5\r\n);\r\n","note":"Add support for SVG files to be uploaded in WordPress media.","categories":["most-popular","attachments"],"code_type":"php","needs_auth":""},{"library_id":56,"title":"Automatically Link Featured Images to Posts","code":"\/**\r\n * Wrap the thumbnail in a link to the post.\r\n * Only use this if your theme doesn't already wrap thumbnails in a link.\r\n *\r\n * @param string $html The thumbnail HTML to wrap in an anchor.\r\n * @param int $post_id The post ID.\r\n * @param int $post_image_id The image id.\r\n *\r\n * @return string\r\n *\/\r\nfunction wpcode_snippet_autolink_featured_images( $html, $post_id, $post_image_id ) {\r\n\t$html = '' . $html . '<\/a>';\r\n\r\n\treturn $html;\r\n}\r\n\r\nadd_filter( 'post_thumbnail_html', 'wpcode_snippet_autolink_featured_images', 20, 3 );\r\n","note":"Wrap featured images in your theme in links to posts.","categories":["attachments"],"code_type":"php","needs_auth":""},{"library_id":13588,"title":"Block WP-Admin Area from Non-Administrators","code":"","note":"Prevent users who are not administrators from accessing the wp-admin area.","categories":["admin"],"code_type":"php","needs_auth":"1"},{"library_id":64,"title":"Change \"Howdy Admin\" in Admin Bar","code":"function wpcode_snippet_replace_howdy( $wp_admin_bar ) {\r\n\r\n\t\/\/ Edit the line below to set what you want the admin bar to display intead of \"Howdy,\".\r\n\t$new_howdy = 'Welcome,';\r\n\r\n\t$my_account = $wp_admin_bar->get_node( 'my-account' );\r\n\t$wp_admin_bar->add_node(\r\n\t\tarray(\r\n\t\t\t'id' => 'my-account',\r\n\t\t\t'title' => str_replace( 'Howdy,', $new_howdy, $my_account->title ),\r\n\t\t)\r\n\t);\r\n}\r\n\r\nadd_filter( 'admin_bar_menu', 'wpcode_snippet_replace_howdy', 25 );\r\n","note":"Customize the \"Howdy\" message in the admin bar.","categories":["admin"],"code_type":"php","needs_auth":""},{"library_id":43,"title":"Change Admin Panel Footer Text","code":"add_filter(\r\n\t'admin_footer_text',\r\n\tfunction ( $footer_text ) {\r\n\t\t\/\/ Edit the line below to customize the footer text.\r\n\t\t$footer_text = 'Powered by WordPress<\/a> | WordPress Tutorials: WPBeginner<\/a>';\r\n\t\t\r\n\t\treturn $footer_text;\r\n\t}\r\n);","note":"Display custom text in the admin panel footer with this snippet.","categories":["admin"],"code_type":"php","needs_auth":""},{"library_id":50,"title":"Change Excerpt Length","code":"add_filter(\r\n\t'excerpt_length',\r\n\tfunction ( $length ) {\r\n\t\t\/\/ Number of words to display in the excerpt.\r\n\t\treturn 40;\r\n\t},\r\n\t500\r\n);","note":"Update the length of the Excerpts on your website using this snippet.","categories":["archive"],"code_type":"php","needs_auth":""},{"library_id":964,"title":"Change Outgoing Email Sender","code":"","note":"Change the outgoing sender name and email address. Don't forget to edit the snippet with...","categories":["admin"],"code_type":"php","needs_auth":"1"},{"library_id":49,"title":"Change Read More Text for Excerpts","code":"function wpcode_snippets_change_read_more( $read_more, $read_more_text ) {\r\n\r\n\t\/\/ Edit the line below to add your own \"Read More\" text.\r\n\t$custom_text = 'Read the whole post';\r\n\r\n\t$read_more = str_replace( $read_more_text, $custom_text, $read_more );\r\n\r\n\treturn $read_more;\r\n}\r\n\r\nadd_filter( 'the_content_more_link', 'wpcode_snippets_change_read_more', 15, 2 );\r\n","note":"Customize the \"Read More\" text that shows up after excerpts.","categories":["archive"],"code_type":"php","needs_auth":""},{"library_id":12,"title":"Completely Disable Comments","code":"add_action('admin_init', function () {\r\n \/\/ Redirect any user trying to access comments page\r\n global $pagenow;\r\n \r\n if ($pagenow === 'edit-comments.php') {\r\n wp_safe_redirect(admin_url());\r\n exit;\r\n }\r\n\r\n \/\/ Remove comments metabox from dashboard\r\n remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');\r\n\r\n \/\/ Disable support for comments and trackbacks in post types\r\n foreach (get_post_types() as $post_type) {\r\n if (post_type_supports($post_type, 'comments')) {\r\n remove_post_type_support($post_type, 'comments');\r\n remove_post_type_support($post_type, 'trackbacks');\r\n }\r\n }\r\n});\r\n\r\n\/\/ Close comments on the front-end\r\nadd_filter('comments_open', '__return_false', 20, 2);\r\nadd_filter('pings_open', '__return_false', 20, 2);\r\n\r\n\/\/ Hide existing comments\r\nadd_filter('comments_array', '__return_empty_array', 10, 2);\r\n\r\n\/\/ Remove comments page in menu\r\nadd_action('admin_menu', function () {\r\n remove_menu_page('edit-comments.php');\r\n});\r\n\r\n\/\/ Remove comments links from admin bar\r\nadd_action('admin_bar_menu', function () {\r\n remove_action('admin_bar_menu', 'wp_admin_bar_comments_menu', 60);\r\n}, 0);","note":"Disable comments for all post types, in the admin and the frontend.","categories":["most-popular","comments"],"code_type":"php","needs_auth":""},{"library_id":6572,"title":"Decrease Auto-Save Interval","code":"","note":"Change post editor auto-save to 5 minutes instead of 1.","categories":["admin"],"code_type":"php","needs_auth":"1"},{"library_id":48,"title":"Delay Posts in RSS Feeds","code":"function wpcode_snippet_publish_later_on_feed( $where ) {\r\n\r\n\tglobal $wpdb;\r\n\r\n\tif ( is_feed() ) {\r\n\t\t\/\/ Timestamp in WP-format.\r\n\t\t$now = gmdate( 'Y-m-d H:i:s' );\r\n\r\n\t\t\/\/ Number of unit to wait\r\n\t\t$wait = '10'; \/\/ integer.\r\n\r\n\t\t\/\/ Choose time unit.\r\n\t\t$unit = 'MINUTE'; \/\/ MINUTE, HOUR, DAY, WEEK, MONTH, YEAR.\r\n\r\n\t\t\/\/ Add SQL-sytax to default $where. By default 10 minutes.\r\n\t\t$where .= \" AND TIMESTAMPDIFF($unit, $wpdb->posts.post_date_gmt, '$now') > $wait \";\r\n\t}\r\n\r\n\treturn $where;\r\n}\r\n\r\nadd_filter( 'posts_where', 'wpcode_snippet_publish_later_on_feed' );","note":"Add a delay before published posts show up in the RSS feeds.","categories":["rss-feeds"],"code_type":"php","needs_auth":""},{"library_id":13025,"title":"Disable Admin Password Reset Emails","code":"","note":"Don't send an email to the administrator of the site after a user resets their...","categories":["disable"],"code_type":"php","needs_auth":"1"},{"library_id":40,"title":"Disable Attachment Pages","code":"add_action(\r\n\t'template_redirect',\r\n\tfunction () {\r\n\t\tglobal $post;\r\n\t\tif ( ! is_attachment() || ! isset( $post->post_parent ) || ! is_numeric( $post->post_parent ) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t\/\/ Does the attachment have a parent post?\r\n\t\t\/\/ If the post is trashed, fallback to redirect to homepage.\r\n\t\tif ( 0 !== $post->post_parent && 'trash' !== get_post_status( $post->post_parent ) ) {\r\n\t\t\t\/\/ Redirect to the attachment parent.\r\n\t\t\twp_safe_redirect( get_permalink( $post->post_parent ), 301 );\r\n\t\t} else {\r\n\t\t\t\/\/ For attachment without a parent redirect to homepage.\r\n\t\t\twp_safe_redirect( get_bloginfo( 'wpurl' ), 302 );\r\n\t\t}\r\n\t\texit;\r\n\t},\r\n\t1\r\n);\r\n","note":"Hide the Attachment\/Attachments pages on the frontend from all visitors.","categories":["most-popular","attachments"],"code_type":"php","needs_auth":""},{"library_id":13592,"title":"Disable Automatic Trash Emptying","code":"","note":"Prevent WordPress from automatically deleting trashed posts after 30 days.","categories":["admin","disable"],"code_type":"php","needs_auth":"1"},{"library_id":38,"title":"Disable Automatic Updates","code":"\/\/ Disable core auto-updates\r\nadd_filter( 'auto_update_core', '__return_false' );\r\n\/\/ Disable auto-updates for plugins.\r\nadd_filter( 'auto_update_plugin', '__return_false' );\r\n\/\/ Disable auto-updates for themes.\r\nadd_filter( 'auto_update_theme', '__return_false' );","note":"Use this snippet to completely disable automatic updates on your website.","categories":["most-popular","disable"],"code_type":"php","needs_auth":""},{"library_id":39,"title":"Disable Automatic Updates Emails","code":"\/\/ Disable auto-update emails.\r\nadd_filter( 'auto_core_update_send_email', '__return_false' );\r\n\r\n\/\/ Disable auto-update emails for plugins.\r\nadd_filter( 'auto_plugin_update_send_email', '__return_false' );\r\n\r\n\/\/ Disable auto-update emails for themes.\r\nadd_filter( 'auto_theme_update_send_email', '__return_false' );","note":"Stop getting emails about automatic updates on your WordPress site.","categories":["most-popular","disable"],"code_type":"php","needs_auth":""},{"library_id":967,"title":"Disable Comment Form Website URL","code":"","note":"Remove the Website URL field from the Comments form.","categories":["comments","disable"],"code_type":"php","needs_auth":"1"},{"library_id":899,"title":"Disable Embeds","code":"","note":"Remove an extra request and prevent others from adding embeds in your site.","categories":["disable"],"code_type":"php","needs_auth":"1"},{"library_id":897,"title":"Disable Emojis","code":"","note":"Disable Emoji's in WordPress to improve your site's performance","categories":["disable"],"code_type":"php","needs_auth":"1"},{"library_id":13023,"title":"Disable Fullscreen Editor","code":"","note":"Automatically disable the Gutenberg Fullscreen editor for all users.","categories":["admin","disable"],"code_type":"php","needs_auth":"1"},{"library_id":1193,"title":"Disable Gutenberg Code Editing for Non-Admin Users","code":"","note":"Prevent non-admin users from using \"Edit as HTML\" or \"Code editor\" in the Gutenberg Editor.","categories":["admin","disable"],"code_type":"php","needs_auth":"1"},{"library_id":14,"title":"Disable Gutenberg Editor (use Classic Editor)","code":"add_filter('gutenberg_can_edit_post', '__return_false', 5);\r\nadd_filter('use_block_editor_for_post', '__return_false', 5);","note":"Switch back to the Classic Editor by disablling the Block Editor.","categories":["most-popular","admin"],"code_type":"php","needs_auth":""},{"library_id":6004,"title":"Disable Lazy Load","code":"","note":"Prevent WordPress from adding the lazy-load attribute to all images and iframes.","categories":["attachments","disable"],"code_type":"php","needs_auth":"1"},{"library_id":13027,"title":"Disable Login Autofocus","code":"","note":"Prevent autofocus on the username field on the login page.","categories":["disable","login"],"code_type":"php","needs_auth":"1"},{"library_id":46,"title":"Disable Login by Email","code":"remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );","note":"Force your users to login only using their username.","categories":["login"],"code_type":"php","needs_auth":""},{"library_id":60,"title":"Disable Login Screen Language Switcher","code":"add_filter( 'login_display_language_dropdown', '__return_false' );","note":"Hide the Language Switcher on the default WordPress login screen.","categories":["login"],"code_type":"php","needs_auth":""},{"library_id":962,"title":"Disable New User Notifications","code":"","note":"Prevent the admin user from getting new user notification emails.","categories":["disable"],"code_type":"php","needs_auth":"1"},{"library_id":6011,"title":"Disable Plugin & Theme Editor","code":"","note":"Prevent users from using the Plugin & Theme file editor.","categories":["admin","disable"],"code_type":"php","needs_auth":"1"},{"library_id":6568,"title":"Disable REST API Links","code":"","note":"Remove all head links to the REST API endpoints from the page source.","categories":["disable"],"code_type":"php","needs_auth":"1"},{"library_id":6564,"title":"Disable RSS Feed Links","code":"","note":"Remove head links to RSS Feeds from all the pages on your site.","categories":["rss-feeds"],"code_type":"php","needs_auth":"1"},{"library_id":41,"title":"Disable RSS Feeds","code":"\/**\r\n * Display a custom message instead of the RSS Feeds.\r\n *\r\n * @return void\r\n *\/\r\nfunction wpcode_snippet_disable_feed() {\r\n\twp_die(\r\n\t\tsprintf(\r\n\t\t\t\/\/ Translators: Placeholders for the homepage link.\r\n\t\t\tesc_html__( 'No feed available, please visit our %1$shomepage%2$s!' ),\r\n\t\t\t' ',\r\n\t\t\t'<\/a>'\r\n\t\t)\r\n\t);\r\n}\r\n\r\n\/\/ Replace all feeds with the message above.\r\nadd_action( 'do_feed_rdf', 'wpcode_snippet_disable_feed', 1 );\r\nadd_action( 'do_feed_rss', 'wpcode_snippet_disable_feed', 1 );\r\nadd_action( 'do_feed_rss2', 'wpcode_snippet_disable_feed', 1 );\r\nadd_action( 'do_feed_atom', 'wpcode_snippet_disable_feed', 1 );\r\nadd_action( 'do_feed_rss2_comments', 'wpcode_snippet_disable_feed', 1 );\r\nadd_action( 'do_feed_atom_comments', 'wpcode_snippet_disable_feed', 1 );\r\n\/\/ Remove links to feed from the header.\r\nremove_action( 'wp_head', 'feed_links_extra', 3 );\r\nremove_action( 'wp_head', 'feed_links', 2 );\r\n","note":"Turn off the WordPress RSS Feeds for your website with 1 click.","categories":["rss-feeds"],"code_type":"php","needs_auth":""},{"library_id":47,"title":"Disable Search","code":"\/\/ Prevent search queries.\r\nadd_action(\r\n\t'parse_query',\r\n\tfunction ( $query, $error = true ) {\r\n\t\tif ( is_search() && ! is_admin() ) {\r\n\t\t\t$query->is_search = false;\r\n\t\t\t$query->query_vars['s'] = false;\r\n\t\t\t$query->query['s'] = false;\r\n\t\t\tif ( true === $error ) {\r\n\t\t\t\t$query->is_404 = true;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t15,\r\n\t2\r\n);\r\n\r\n\/\/ Remove the Search Widget.\r\nadd_action(\r\n\t'widgets_init',\r\n\tfunction () {\r\n\t\tunregister_widget( 'WP_Widget_Search' );\r\n\t}\r\n);\r\n\r\n\/\/ Remove the search form.\r\nadd_filter( 'get_search_form', '__return_empty_string', 999 );\r\n\r\n\/\/ Remove the core search block.\r\nadd_action(\r\n\t'init',\r\n\tfunction () {\r\n\t\tif ( ! function_exists( 'unregister_block_type' ) || ! class_exists( 'WP_Block_Type_Registry' ) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t$block = 'core\/search';\r\n\t\tif ( WP_Block_Type_Registry::get_instance()->is_registered( $block ) ) {\r\n\t\t\tunregister_block_type( $block );\r\n\t\t}\r\n\t}\r\n);\r\n\r\n\/\/ Remove admin bar menu search box.\r\nadd_action(\r\n\t'admin_bar_menu',\r\n\tfunction ( $wp_admin_bar ) {\r\n\t\t$wp_admin_bar->remove_menu( 'search' );\r\n\t},\r\n\t11\r\n);\r\n","note":"Completely disable search on your WordPress website.","categories":["disable"],"code_type":"php","needs_auth":""},{"library_id":955,"title":"Disable Self Pingbacks","code":"","note":"Prevent WordPress from automatically creating pingbacks from your own site.","categories":["disable"],"code_type":"php","needs_auth":"1"},{"library_id":13595,"title":"Disable Site Admin Email Verification","code":"","note":"Stop WordPress from asking you to confirm the administrator email address when logging in.","categories":["admin"],"code_type":"php","needs_auth":"1"},{"library_id":6006,"title":"Disable Site Health","code":"","note":"Completely hide the Site Health menu item and dashboard widget.","categories":["admin","disable"],"code_type":"php","needs_auth":"1"},{"library_id":6566,"title":"Disable the WordPress Shortlink","code":"","note":"Remove link rel shortlink from your site head area.","categories":["archive","disable"],"code_type":"php","needs_auth":"1"},{"library_id":42,"title":"Disable The WP Admin Bar","code":"\/* Disable WordPress Admin Bar for all users *\/\r\nadd_filter( 'show_admin_bar', '__return_false' );","note":"Hide the WordPress Admin Bar for all users in the frontend.","categories":["most-popular","admin"],"code_type":"php","needs_auth":""},{"library_id":13029,"title":"Disable Update Notice for Non-admin Users","code":"","note":"Don't show WordPress version update notices to users that can't update the site.","categories":["admin","disable"],"code_type":"php","needs_auth":"1"},{"library_id":35,"title":"Disable Widget Blocks (use Classic Widgets)","code":"add_filter( 'use_widgets_block_editor', '__return_false' );","note":"Use the classic interface instead of Blocks to manage Widgets.","categories":["most-popular","widgets"],"code_type":"php","needs_auth":""},{"library_id":953,"title":"Disable wlwmanifest link","code":"","note":"Prevent WordPress from adding the Windows Live Writer manifest link to your pages.","categories":["disable"],"code_type":"php","needs_auth":"1"},{"library_id":37,"title":"Disable WordPress REST API","code":"add_filter(\r\n\t'rest_authentication_errors',\r\n\tfunction ( $access ) {\r\n\t\treturn new WP_Error(\r\n\t\t\t'rest_disabled',\r\n\t\t\t__( 'The WordPress REST API has been disabled.' ),\r\n\t\t\tarray(\r\n\t\t\t\t'status' => rest_authorization_required_code(),\r\n\t\t\t)\r\n\t\t);\r\n\t}\r\n);","note":"Easily disable the WP REST API on your website with this snippet.","categories":["most-popular","disable"],"code_type":"php","needs_auth":""},{"library_id":6009,"title":"Disable WordPress Sitemaps","code":"","note":"Disable the auto-generated WordPress Sitemaps added in version 5.5.","categories":["disable"],"code_type":"php","needs_auth":"1"},{"library_id":55,"title":"Disable XML-RPC","code":"add_filter( 'xmlrpc_enabled', '__return_false' );\r\n","note":"On sites running WordPress 3.5+, disable XML-RPC completely.","categories":["most-popular","disable"],"code_type":"php","needs_auth":""},{"library_id":62,"title":"Display the Last Updated Date","code":"$u_time = get_the_time( 'U' );\r\n$u_modified_time = get_the_modified_time( 'U' );\r\n\/\/ Only display modified date if 24hrs have passed since the post was published.\r\nif ( $u_modified_time >= $u_time + 86400 ) {\r\n\r\n\t$updated_date = get_the_modified_time( 'F jS, Y' );\r\n\t$updated_time = get_the_modified_time( 'h:i a' );\r\n\r\n\t$updated = '

';\r\n\r\n\t$updated .= sprintf(\r\n\t\/\/ Translators: Placeholders get replaced with the date and time when the post was modified.\r\n\t\tesc_html__( 'Last updated on %1$s at %2$s' ),\r\n\t\t$updated_date,\r\n\t\t$updated_time\r\n\t);\r\n\t$updated .= '<\/p>';\r\n\r\n\techo wp_kses_post( $updated );\r\n}\r\n","note":"Add the last updated date & time to your posts in the frontend.","categories":["archive"],"code_type":"php","needs_auth":""},{"library_id":1196,"title":"Duplicate Post\/Page Link","code":"","note":"Duplicate posts, pages or any post type with 1-click by adding a duplicate link in...","categories":["most-popular","admin"],"code_type":"php","needs_auth":"1"},{"library_id":6002,"title":"Dynamic Year Copyright Shortcode","code":"","note":"This snippet adds an easy-to-use shortcode to display the copyright symbol with the current year.","categories":["archive"],"code_type":"php","needs_auth":"1"},{"library_id":6013,"title":"Empty Admin Dashboard","code":"","note":"Disable all dashboard widgets in the admin and the welcome panel.","categories":["admin","disable"],"code_type":"php","needs_auth":"1"},{"library_id":53,"title":"Enable Shortcode Execution in Text Widgets","code":"add_filter( 'widget_text', 'do_shortcode' );","note":"Extend the default Text Widget with shortcode execution.","categories":["widgets"],"code_type":"php","needs_auth":""},{"library_id":4152,"title":"Enable Shortcode Execution in WPCode HTML Snippets","code":"","note":"Use this snippet to enable shortcode execution in WPCode HTML snippets.","categories":["archive"],"code_type":"php","needs_auth":"1"},{"library_id":52,"title":"Exclude Specific Categories from RSS Feed","code":"\/**\r\n * Exclude a category or multiple categories from the feeds.\r\n * If you want to exclude multiple categories, use a comma-separated list: \"-15, -5, -6\".\r\n * Make sure to prefix the category id(s) with a minus \"-\".\r\n *\r\n * @param WP_Query $query The query.\r\n *\/\r\nfunction wpcode_snippets_exclude_feed_category( $query ) {\r\n\tif ( $query->is_feed ) {\r\n\t\t\/\/ Replace 15 with the desired category id you want to exclude.\r\n\t\t$query->set( 'cat', '-15' );\r\n\t}\r\n}\r\n\r\nadd_action( 'pre_get_posts', 'wpcode_snippets_exclude_feed_category' );\r\n","note":"Prevent posts in certain categories from showing up in your RSS Feeds.","categories":["rss-feeds"],"code_type":"php","needs_auth":""},{"library_id":19,"title":"Hide \u2018Screen Options\u2019 Tab","code":"\/\/ Hide admin 'Screen Options' tab\r\nadd_filter('screen_options_show_screen', '__return_false');","note":"Remove the Screen Options menu at the top of admin pages.","categories":["admin"],"code_type":"php","needs_auth":""},{"library_id":45,"title":"Hide Login Errors in WordPress","code":"add_filter(\r\n\t'login_errors',\r\n\tfunction ( $error ) {\r\n\t\t\/\/ Edit the line below to customize the message.\r\n\t\treturn 'Something is wrong!';\r\n\t}\r\n);\r\n","note":"Improve safety by hiding the specific login error information.","categories":["login"],"code_type":"php","needs_auth":""},{"library_id":6570,"title":"Limit the Number of Post Revisions","code":"","note":"Reduce Database size by limiting post revisions to just 20 per post.","categories":["admin"],"code_type":"php","needs_auth":"1"},{"library_id":957,"title":"Lowercase Filenames for Uploads","code":"","note":"Make all the filenames of new uploads to lowercase after you enable this snippet.","categories":["attachments"],"code_type":"php","needs_auth":"1"},{"library_id":13583,"title":"Move Admin Bar to the Bottom","code":"","note":"Move the admin bar to the bottom of the screen in the frontend.","categories":["admin"],"code_type":"css","needs_auth":"1"},{"library_id":51,"title":"Remove Dashboard Welcome Panel","code":"add_action(\r\n\t'admin_init',\r\n\tfunction () {\r\n\t\tremove_action( 'welcome_panel', 'wp_welcome_panel' );\r\n\t}\r\n);\r\n","note":"Hide the Welcome Panel on the WordPress dashboard for all users.","categories":["admin"],"code_type":"php","needs_auth":""},{"library_id":969,"title":"Remove Login Shake Animation","code":"","note":"Prevent the Login box from shaking when entering the wrong password or username.","categories":["disable","login"],"code_type":"php","needs_auth":"1"},{"library_id":950,"title":"Remove Query Strings From Static Files","code":"","note":"Use this snippet to remove query string from CSS & JS files and improve performance...","categories":["attachments","disable"],"code_type":"php","needs_auth":"1"},{"library_id":13031,"title":"Remove the WordPress Logo From the Admin Bar","code":"","note":"Hide the WordPress logo in the admin bar for all users.","categories":["disable"],"code_type":"php","needs_auth":"1"},{"library_id":36,"title":"Remove WordPress Version Number","code":"add_filter('the_generator', '__return_empty_string');\r\n","note":"Hide the WordPress version number from your site's frontend and feeds.","categories":["most-popular","disable"],"code_type":"php","needs_auth":""},{"library_id":13590,"title":"Remove WP Block Library CSS","code":"","note":"Stop WordPress from loading the block editor CSS - especially useful if you don't use...","categories":["disable"],"code_type":"php","needs_auth":"1"},{"library_id":959,"title":"Replace WordPress Logo on Login Page","code":"","note":"Use your custom logo on the default login page, don't forget to edit the snippet...","categories":["login"],"code_type":"php","needs_auth":"1"},{"library_id":59,"title":"Set a Minimum Word Count for Posts","code":"\/**\r\n * Prevent publishing posts under a minimum number of words.\r\n *\r\n * @param int $post_id The id of the post.\r\n * @param WP_Post $post The post object.\r\n *\r\n * @return void\r\n *\/\r\nfunction wpcode_snippet_publish_min_words( $post_id, $post ) {\r\n\t\/\/ Edit the line below to set the desired minimum number of words.\r\n\t$word_count = 100;\r\n\r\n\tif ( str_word_count( $post->post_content ) < $word_count ) {\r\n\t\twp_die(\r\n\t\t\tsprintf(\r\n\t\t\t\t\/\/ Translators: placeholder adds the minimum number of words.\r\n\t\t\t\tesc_html__( 'The post content is below the minimum word count. Your post needs to have at least %d words to be published.' ),\r\n\t\t\t\tabsint( $word_count )\r\n\t\t\t)\r\n\t\t);\r\n\t}\r\n}\r\n\r\nadd_action( 'publish_post', 'wpcode_snippet_publish_min_words', 9, 2 );","note":"Force your authors to write posts that have a minimum length.","categories":["admin"],"code_type":"php","needs_auth":""},{"library_id":61,"title":"Set oEmbed Max Width","code":"function wpcode_snippet_oembed_defaults( $sizes ) {\r\n\treturn array(\r\n\t\t'width' => 400,\r\n\t\t'height' => 280,\r\n\t);\r\n}\r\n\r\nadd_filter( 'embed_defaults', 'wpcode_snippet_oembed_defaults' );\r\n","note":"Set a max width for the embeds using oEmbed in the content.","categories":["admin"],"code_type":"php","needs_auth":""}],"links":{"snippet":"https:\/\/library.wpcode.com\/api\/get\/"}} \ No newline at end of file diff --git a/img/uploads/wpcode/index.html b/img/uploads/wpcode/index.html new file mode 100644 index 0000000..e69de29 diff --git a/img/uploads/wpforms/.htaccess b/img/uploads/wpforms/.htaccess new file mode 100644 index 0000000..21b9811 --- /dev/null +++ b/img/uploads/wpforms/.htaccess @@ -0,0 +1,25 @@ + +# BEGIN WPForms +# The directives (lines) between "BEGIN WPForms" and "END WPForms" are +# dynamically generated, and should only be modified via WordPress filters. +# Any changes to the directives between these markers will be overwritten. +# Disable PHP and Python scripts parsing. + + SetHandler none + SetHandler default-handler + RemoveHandler .cgi .php .php3 .php4 .php5 .phtml .pl .py .pyc .pyo + RemoveType .cgi .php .php3 .php4 .php5 .phtml .pl .py .pyc .pyo + + + php_flag engine off + + + php_flag engine off + + + php_flag engine off + + + Header set X-Robots-Tag "noindex" + +# END WPForms \ No newline at end of file diff --git a/img/uploads/wpforms/cache/addons.json b/img/uploads/wpforms/cache/addons.json new file mode 100644 index 0000000..72706be --- /dev/null +++ b/img/uploads/wpforms/cache/addons.json @@ -0,0 +1 @@ +{"wpforms-activecampaign":{"title":"ActiveCampaign Addon","slug":"wpforms-activecampaign","url":"https:\/\/wpforms.com\/addons\/activecampaign-addon\/","version":"1.5.0","image":"https:\/\/wpforms.com\/wp-content\/uploads\/2020\/03\/addon-icon.png","excerpt":"The WPForms ActiveCampaign addon lets you add contacts to your account, record events, add notes to contacts, and more.","doc":"https:\/\/wpforms.com\/docs\/how-to-install-and-use-the-activecampaign-addon-with-wpforms\/","id":729633,"license":["elite","agency","ultimate"],"category":["providers"],"changelog":["

1.5.0 (2022-09-20)<\/h4>