function vorschau($K_Egl, $BenutzerId, $fid, $tid, $sid, $bid, $zid, $neu, $bemerkung) { if (!$K_Egl) { fehler(__FILE__, __LINE__, 1, 'Zwichenablage fuer die Vorschau wurde nicht aktualisiert, da nicht eingeloggt'); } $comp = trim($_POST['text']); $code = $_POST['codearea']; if (strlen($code)) { include_once '../forum/geshi/geshi.php'; $sprachen = array('bash' => 'bash', 'C', 'c', 'cpp', 'cpp', 'HTML' => 'html4strict', 'Java' => 'java', 'JavaScript' => 'javascript', 'lisp' => 'lisp', 'PHP' => 'php-brief', 'Perl' => 'perl', 'Python' => 'python'); $sprache = 'text'; if (isset($_POST['codelang'])) { $sprache = $sprachen[$_POST['codelang']]; if ($sprache == '') { $sprache = 'text'; } else { $t = stripslashes($code); $ersatz = array('>' => '>', '<' => '<', '"' => '"', ''' => '\'', '&' => '&'); $t = strtr($t, $ersatz); if (isset($_POST['codezz']) and $_POST['codezz'] != "") { $a = explode(',', $_POST['codezz']); if (count($a) == 2) { $code_start = intval($a[0]); $code_ende = intval($a[1]); } } $geshi = new GeSHi($t, $sprache, 'geshi/geshi'); $geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS); if (isset($code_start)) { $geshi->highlight_lines_extra(range($code_start, $code_ende)); } $code = $geshi->parse_code(); } } if (isset($_POST['textarea_zeile']) and intval($_POST['textarea_zeile']) != -1) { $zeilen = intval($_POST['textarea_zeile']); $vorderteil = implode("\n", array_slice(explode("\n", $comp, $zeilen + 1), 0, $zeilen)); $hinterteil = ltrim(substr($comp, strlen($vorderteil))); $vorderteil = rtrim($vorderteil); $comp = $vorderteil . '<div class="code-bereich">' . $code . '</div>' . $hinterteil; } else { $comp = $comp . '<div class="code-bereich">' . $code . '</div>'; } } $comp = addslashes($comp); mysql_query("UPDATE Benutzer\n SET Ablage = '{$comp}'\n WHERE BenutzerId = '{$BenutzerId}'") or fehler(__FILE__, __LINE__, 0, 'Zwischenablage fuer die Vorschau konnte nicht aktualisiert werden'); $vorschau = strlen($comp) ? 'j' : 'n'; $bemerkung = rawurlencode($bemerkung); $titel = rawurlencode(substr(strip_tags(trim($_POST['titel'])), 0, 50)); include 'gz-beitraege.php'; }
} if (!isset($TJS)) { $TJS = $K_ThemenJeSeite; } if (isset($_POST['beitraege_je_seite'])) { foreach ($je_seite as $je) { if ($je == $_POST['beitraege_je_seite']) { $BJS = $je; break; } } } if (!isset($BJS)) { $BJS = $K_BeitraegeJeSeite; } // ##### Sprungziel ##### $sprung_wert = array('forum', 'thema', 'baum', 'strang', 'beitrag'); $i = 0; foreach ($sprung_wert as $sprung) { if (strcmp($sprung, $_POST['sprung_speichern']) == 0) { break; } $i++; } $SPRUNG = $i; // #### Baum anzeigen #### $BAUM = isset($_POST['baum_zeigen']) ? 'j' : 'n'; mysql_query("UPDATE Benutzer\n SET KonfThemenJeSeite=\"{$TJS}\", KonfBeitraegeJeSeite=\"{$BJS}\",\n KonfSignatur=\"{$SIGNATUR}\", KonfSprungSpeichern=\"{$SPRUNG}\",\n KonfBaumZeigen=\"{$BAUM}\"\n WHERE BenutzerId=\"{$BenutzerId}\"") or fehler(__FILE__, __LINE__, 0, 'Die Benutzereinstellungen konnten nicht aktuallisiert werden.'); mysql_close($db); $zu = 'benutzer-konf1'; include "gehe-zu.php";
if ($val == $tid) { break; } next($tids); $i++; } if ($val != $tid) { die('Illegale tid uebergeben'); } // wir wollen immer auf saubere Seitengrenzen springen $akt_seite = intval(floor($i / $tjs)); $i = $akt_seite * $tjs; $tids_darstellung = array_slice($tids, $i, $tjs); } $tids_holen = implode(' OR ThemaId = ', $tids_darstellung); $themen = mysql_query("SELECT ThemaId, Autor, AutorLetzter, StempelLetzter, Titel, NumBeitraege, NumGelesen, Gesperrt\n FROM Beitraege\n WHERE BeitragTyp = 2\n AND (ThemaId = {$tids_holen})\n ORDER BY BeitragId DESC") or fehler(__FILE__, __LINE__, 0, 'Themen konnten nicht gelesen werden'); $erster = TRUE; while ($zeile = mysql_fetch_row($themen)) { $baum = $K_BaumZeigen == 'j' ? TRUE : FALSE; $titel = stripslashes($zeile[4]); $param = array('Erster' => $erster, 'ForumId' => $fid, 'ThemaId' => $zeile[0], 'Autor' => $zeile[1], 'AutorLetzter' => $zeile[2], 'StempelLetzter' => $zeile[3], 'Titel' => $titel, 'NumBeitraege' => $zeile[5], 'NumGelesen' => $zeile[6], 'BaumZeigen' => $baum); zeichne_thema($param); $erster = FALSE; // Administrator fuer dieses Forum? if ($K_Admin & 1 << $fid) { $sperren = $zeile[7] == 'j' ? 'n' : 'j'; $grafik = $sperren == 'n' ? 'gesperrt' : 'lesbar'; echo "<tr>\n <td colspan=\"4\">\n <div class=\"admin-leiste\">\n <a href=\"thema-sperren.php?fid={$fid}&tid={$zeile['0']}&tid_sprung={$tid_sprung}&sperren={$sperren}\">Lesbar\n <img src=\"/grafik/{$grafik}.png\" border=\"0\" alt=\"{$grafik}\"></a>\n </div>\n </td>\n </tr>"; } } }
$titel = 'Babylon - Einstellungen / Profil'; include 'kopf.php'; // Standart Konfiguration. Man darf absolut nix ;-) $BenutzerId = -1; $Benutzer = ''; $K_Egl = FALSE; $K_Stil = ''; $P_NameZeigen = 'n'; $K_VName = ''; $K_NName = ''; $P_Ort = ''; $P_EMail = ''; $P_Homepage = ''; benutzer_daten_profil($BenutzerId, $Benutzer, $K_Egl, $K_Stil, $P_NameZeigen, $P_Nachricht, $P_NachrichtAnonym, $P_Ort, $P_EMail, $P_Homepage, $P_Atavar); if (!$K_Egl) { fehler(NULL, 0, 1, 'Zugriff verweigert'); } $name_zeigen = $P_NameZeigen == 'j' ? 'checked' : ''; $nachricht = $P_Nachricht == 'j' ? 'checked' : ''; $nachricht_anonym = $P_NachrichtAnonym == 'j' ? 'checked' : ''; $ort = htmlspecialchars($P_Ort); $homepage = htmlspecialchars($P_Homepage); $email = htmlspecialchars($P_EMail); $atavar_max_bytes = $B_atavar_max_kb * 1024; echo ' </head> <body>'; wartung_ankuendigung(); echo " <h2>Forumseinstellungen</h2>\n <table cellspacing=\"0\" cellpadding\"0\">\n <tr>\n <td class=\"reiter_inaktiv\">\n <a href=\"benutzer-konf1.php\">Verhalten</a>\n </td>\n <td class=\"reiter_inaktiv\">\n <a href=\"benutzer-konf2.php\">Aussehen</a>\n </td>\n <td class=\"reiter_aktiv\">\n Profil\n </td> \n <td class=\"reiter_inaktiv\">\n <a href=\"benutzer-konf4.php\">Persönliches<a>\n </td>\n </tr>\n </table>\n <div class=\"konfiguration\">\n <form name=\"konf\" action=\"benutzer-konf-test3.php\" method=\"post\" enctype=\"multipart/form-data\">\n <table>\n <tr>\n <td colspan=\"2\">\n <input type=\"checkbox\" name=\"name_zeigen\" {$name_zeigen}>Name veröffentlichen</input>\n </td>\n <td>\n Soll Dein realer Name, wie Du ihn in den persönlichen Daten eingetragen hast,\n für die anderen Forenbesucher sichtbar sein?\n </td>\n </tr>\n <tr>\n <td colspan=\"2\">\n <input type=\"checkbox\" name=\"nachricht\" {$nachricht}>Private Nachrichten annehmen</input>\n </td>\n <td>\n Soll es möglich sein Dir private Nachrichten per E-Mail zukommen zu lassen? Diese\n Nachrichten werden vom Forum aus versand, so dass der Absender deine E-Mail Adresse\n nicht erfährt.\n </td>\n </tr>\n <tr>\n <td colspan=\"2\">\n <input type=\"checkbox\" name=\"nachricht_anonym\" {$nachricht_anonym}>Anonyme Nachrichten annehmen</input>\n </td>\n <td>\n Willst Du auch private Nachrichten annehmen, bei denen Du nicht den realen Namen und die\n E-Mail Adresse des Absenders erfährst (setzt voraus, dass Du private Nachrichten\n annimmst)?\n </td>\n </tr>\n <tr>\n <td>Wohnort</td>\n\t <td><input name=\"ort\" type=\"text\" size=\"30\" maxlength=\"255\" value=\"{$ort}\"></td>\n <td>Home sweet home</td>\n\t</tr>\n <tr>\n <td>Homepage</td>\n\t <td><input name=\"homepage\" type=\"text\" size=\"30\" maxlength=\"255\" value=\"{$homepage}\"></td>\n <td>Dein virtuelles Zuhause</td>\n\t</tr>\n <tr>\n\t <td>E-Post</td>\n\t <td><input name=\"email\" type=\"text\" size=\"30\" maxlength=\"255\" value=\"{$email}\"></td>\n\t <td>Deine öffentliche E-Post Adresse. Dies kann Dir sehr viel Spam einbringen...</td>\n\t</tr>\n <tr>\n <td>Atavar</td>\n <td><input name=\"atavar\" type=\"file\" size=\"30\" maxlength=\"{$atavar_max_bytes}\" accept=\"image/jpeg\"></td>\n <td>Ein Bild von Dir. Bitte beachte keine Bilder hoch zu laden, von denen Du nicht die\n Nutzungsrechte hast.</td>\n </tr>\n <tr>\n <td></td>\n <td colspan=\"2\">"; if (isset($_GET['atavar_format'])) { echo 'Das gewählte Dateiformat wird nicht unterstützt.<br> Nur Bilder im Jpeg-, PNG-, und Gif-Format sind erlaubt.';
else $titel = trim ($_POST['titel']); $titel = addslashes ($titel); if ((!isset ($_POST['beschreibung'])) or (isset($_POST['beschreibung']) and (!strlen (trim ($_POST['beschreibung']))))) $inhalt = 'Neue Themen und Beiträge des ' . $B_betreiber . '-Forums'; else $inhalt = trim ($_POST['beschreibung']); $inhalt = addslashes ($inhalt); $seite = 'http://' . $_SERVER['SERVER_NAME'] . '/forum/foren.php'; mysql_query ("INSERT INTO Rss (Titel, Autor, Link, Inhalt, Stempel) VALUES ('$titel', '', '$seite', '$inhalt', 0)") or fehler (__FILE__, __LINE__, 0, 'die Tabelle für die Rss-Funktionalität konnte nicht mit dem Tabellenkopf gefüllt werden.'); for ($x = 1; $x < 17; $x++) mysql_query ("INSERT INTO Rss (Titel, Autor, Link, Inhalt, Stempel) VALUES ('', '', '', '', $x)") or fehler (__FILE__, __LINE__, 0, 'die Tabelle für die Rss-Funktionalität konnte nicht mit dem Tabellenkopf gefüllt werden.'); echo '<h2>Die RSS-Daten wurden erfolgreich gespeichert.</h2>'; echo '<a href="../wartung.php">Zurück zur Wartungshauptseite</a> </body> </html>'; ?>
function rss_wartung () { // Standart Konfiguration. Man darf absolut nix ;-) $BenutzerId = -1; $K_Egl = FALSE; $K_Lesen = 0; $K_Schreiben = 0; $K_Admin = 0; $K_AdminForen = 0; $K_Stil = 'std'; $K_Signatur = ''; $K_SprungSpeichern = 0; $K_BaumZeigen = 'j'; include_once ('../../gemeinsam/db-verbinden.php'); include_once ('../../gemeinsam/benutzer-daten.php'); include ('../konf/konf.php'); include_once ('../fehler.php'); $db = db_verbinden (); benutzer_daten_forum ($BenutzerId, $Benutzer, $K_Egl, $K_Lesen, $K_Schreiben, $K_Admin, $K_AdminForen, $K_ThemenJeSeite, $K_BeitraegeJeSeite, $K_Stil, $K_Signatur, $K_SprungSpeichern, $K_BaumZeigen); if (!$K_AdminForen) die ('Zugriff verweigert'); if (!$B_wartung_start) die ('Um dieses Skript laufen zu lassen muss das Forum über das setzen der $B_wartung_start Variable in /forum/konf/konf.php gesperrt sein'); if ($B_version != 0 or $B_subversion != 8) die ('Das Modul "RSS-Funktionalität bereitstellen" darf nur mit einem Forum der Version 0.8x verwandt werden'); mysql_query ("CREATE TABLE `Rss` ( `RssId` INT (1) UNSIGNED NOT NULL AUTO_INCREMENT, `Titel` VARCHAR(255) NOT NULL, `Autor` VARCHAR(255) NOT NULL, `Link` TEXT NOT NULL, `Inhalt` TEXT NOT NULL, `Stempel` INT(1) UNSIGNED NULL, PRIMARY KEY (`RssId`) ) TYPE=MyISAM") or fehler (__FILE__, __LINE__, 0, 'die Tabelle für die Rss-Funktionalität konnte nicht angelegt werden.'); mysql_query ("UPDATE Konf SET WertInt = '9' WHERE Schluessel = 'B_subversion'") or fehler (__FILE__, __LINE__, 0, 'Die Forumversion konnte nicht aktuallisiert werden'); echo '<h2>Die RSS-Funitionalität wurden erfolgreich eingerichtet.</h2>'; echo "Bitte gib jetzt einen Titel und eine Beschreibung für den Rss-Feed ein <form action=\"module/.rss.php\" method=\"post\"> <table> <tr> <td><b>Titel</b></td><td><input name=\"titel\" type\"text\" size=\"50\" maxlength=\"255\" value=\"$B_betreiber-Forum\"></input></td> </tr> <tr> <td><b>Beschreibung</b></td><td><input name=\"beschreibung\" type\"text\" size=\"50\" maxlength=\"255\" value=\"Neue Themen und Beiträge des $B_betreiber-Forums\"></input></td> </tr> <tr> <td colspan=\"2\">Wenn Du die Felder leer lässt werden die Vorgabewerte eingetragen</td> </tr> <tr> <td colspan=\"2\"> <p> <p> <button>Änderungen speichern</button> </td> </tr> </table> </form> </body> </html>"; exit(); }
fehler(3); } $sql = User::SQL_SELECT_BY_NAME; $parameters = array("name" => $name); $user = $datenbank->querySingle($sql, $parameters, new UserFactory()); if ($user) { fehler(4); } try { User::validiereId($_POST["bewohnerId"]); $bewohnerId = $_POST["bewohnerId"]; $sql = User::SQL_SELECT_BY_BEWOHNER_ID; $parameters = array("bewohnerId" => $bewohnerId); $user = $datenbank->querySingle($sql, $parameters, new UserFactory()); if ($user) { fehler(6); } } catch (Exception $e) { fehler(0); } $sql = Belegung::SQL_SELECT_BY_BEWOHNERID; $parameters = array("bewohnerId" => $bewohnerId); $belegung = $datenbank->querySingle($sql, $parameters, new BelegungFactory()); if (!$belegung || !$belegung->istAktuell()) { fehler(5); } // Ab hier keine Fehler mehr $sql = User::SQL_INSERT_INTO; $parameters = array("bewohnerId" => $bewohnerId, "name" => $name, "passwort" => $passwort, "istAktiviert" => false); $datenbank->queryDirekt($sql, $parameters); header("Location: ./erstellt.php");
$typ = $info[2]; } if (isset($atavar_groesse) and ($atavar_groesse > $B_atavar_max_kb * 1024 or $breite > $B_atavar_max_breite or $hoehe > $B_atavar_max_hoehe)) { $zu_arg = 'atavar_groesse='; } else { if (isset($typ) and ($typ < 1 or $typ > 3)) { $zu_arg = 'atavar_format='; } else { $atavar = ''; $bild = NULL; if (isset($atavar_groesse)) { $bild = addslashes(fread(fopen($atavar_datei, 'r'), $atavar_groesse)); $atavar = "Atavar = 'j', AtavarData = '" . $bild . "',"; } if (isset($_POST['atavar_loeschen'])) { $atavar = "Atavar = 'n', AtavarData = '',"; } $name_zeigen = isset($_POST['name_zeigen']) ? 'j' : 'n'; $nachricht = isset($_POST['nachricht']) ? 'j' : 'n'; $nachricht_anonym = isset($_POST['nachricht_anonym']) ? 'j' : 'n'; if ($nachricht_anonym == 'j') { $nachricht = 'j'; } $ort = strlen($_POST['ort']) ? addslashes($_POST['ort']) : ''; $homepage = strlen($_POST['homepage']) ? addslashes($_POST['homepage']) : ''; $email = strlen($_POST['email']) ? addslashes($_POST['email']) : ''; mysql_query("UPDATE Benutzer\n SET {$atavar}\n ProfilNameZeigen = '{$name_zeigen}',\n NachrichtAnnehmen = '{$nachricht}',\n NachrichtAnnehmenAnonym = '{$nachricht_anonym}',\n ProfilOrt = '{$ort}',\n ProfilEMail = '{$email}',\n ProfilHomepage = '{$homepage}'\n WHERE BenutzerId = '{$BenutzerId}'") or fehler(__FILE__, __LINE__, 0, 'Profildaten konnte nicht aktuallisiert werden.'); } } $zu = 'benutzer-konf3'; include 'gehe-zu.php';
<?php $con_id = @mysql_connect(SQL_HOST, SQL_USER, SQL_PASS, SQL_DATA); if (!$con_id) { fehler("sql.connect.php", "0xdb001"); exit; } mysql_select_db(SQL_DATA, $con_id); ?>
// Bei Antowort Mail Funktion if ($antwort_verschicken == 'j') { include 'antwort-mail.php'; antwort_mail($B_betreiber, $B_mail_absender, $Benutzer, $autor, $titel, $text); } } else { fehler(__FILE__, __LINE__, 1, 'Der Beitrag konnte keinem Forum, keinem Thema, keinem Beitragsstrang oder keinem Beitrag als Antwort zugeordnet werden'); } } mysql_query("UPDATE Benutzer\n SET Beitraege = Beitraege+1,\n LetzterBeitrag = '{$stempel}'\n WHERE BenutzerId = '{$BenutzerId}'") or fehler(__FILE__, __LINE__, 0, 'Beitragszaehler konnte nicht aktuallisiert werden'); mysql_query("UPDATE Beitraege\n SET StempelLetzter = '{$stempel}'\n WHERE BeitragTyp = 1\n AND ForumId = '{$fid}'") or fehler(__FILE__, __LINE__, 0, 'Forum, Datum des letzten Beitrags konnten nicht aktualisiert werden'); mysql_query("UPDATE Beitraege\n SET NumBeitraege = NumBeitraege+1,\n StempelLetzter = '{$stempel}',\n AutorLetzter = '{$Benutzer}'\n WHERE ThemaId = '{$tid}' AND BeitragTyp = 2") or fehler(__FILE__, __LINE__, 0, 'Zähler konnten nicht aktualisiert werden'); // ######################## // ## Rss aktuallisieren ## // ######################## mysql_query("LOCK TABLES Rss WRITE") or fehler(__FILE__, __LINE__, 0, 'WRITE-lock auf die Rss-Tabelle konnte nicht gesetzt werden'); // aeltester Eintrag $erg = mysql_query("SELECT MIN(Stempel)\n FROM Rss\n WHERE Stempel > 0") or fehler(__FILE__, __LINE__, 0, 'Der ällteste Inhalt der Rss-Tabelle konnte nicht ermittelt werden'); $zeile = mysql_fetch_row($erg); $st = $zeile[0]; $titel = substr(htmlentities($titel, ENT_QUOTES), 0, 255); $autor = substr(htmlentities($Benutzer, ENT_QUOTES), 0, 255); $seite = 'http://' . $_SERVER['SERVER_NAME'] . "/forum/beitraege.php?fid={$fid}&tid={$tid}&sid={$sid}&bid={$bid}"; $inhalt = substr(htmlentities($text, ENT_QUOTES), 0, 1024); $erg = mysql_query("UPDATE Rss\n SET Titel = '{$titel}',\n Autor = '{$autor}',\n Link = '{$seite}',\n Inhalt = '{$inhalt}',\n Stempel = '{$stempel}'\n WHERE Stempel = '{$st}'\n LIMIT 1") or fehler(__FILE__, __LINE__, 0, 'Der ällteste Inhalt der Rss-Tabelle konnte nicht aktuallisiert werden'); mysql_query("UNLOCK TABLES") or fehler(__FILE__, __LINE__, 0, 'WRITE-lock konnte von der Rss-Tabelle nicht entfernt werden'); mysql_close($db); $sprung = array('foren', 'themen', 'baum', 'strang', 'beitraege'); $gehe_zu = 'gz-' . $sprung["{$K_SprungSpeichern}"] . '.php'; include $gehe_zu; }
function benutzer_daten_recht(&$BenutzerId, &$K_Grafik, &$K_Links) { $id = -1; $sw = -1; if (!benutzer_cookie($K_Egl, $id, $sw)) { return; } $erg = mysql_query("SELECT Gruppe\n FROM Benutzer\n WHERE BenutzerId = \"{$id}\"") or fehler(__FILE__, __LINE__, 0, 'Benutzergruppe konnte nicht ermittelt werden'); if (mysql_num_rows($erg) != 1) { fehler(__FILE__, __LINE__, 1, 'Zu der BenutzerId ist kein oder mehrere Benutzer vorhanden'); } $zeile = mysql_fetch_row($erg); $erg = mysql_query("SELECT RechtLinks, RechtGrafik\n FROM BenutzerVorlage\n WHERE Name = \"{$zeile['0']}\"") or fehler(__FILE__, __LINE__, 0, 'Die Zugriffsrechte konnten nicht ermittelt werden'); $zeile = mysql_fetch_row($erg); $K_Links = $zeile[0]; $K_Grafik = $zeile[1]; }