[2.3] Passwortgeschützte Threads

rellek

relativ sensationell
Teammitglied
Name: Passwortgeschützte Threads
Version: 1.0 Beta 1
Für wBB-Version: 2.3
Getestet mit: 2.3.1

Beschreibung: Der Hack ermöglicht es, in bestimmten Foren Themen mit einem Passwort zu versehen, welches jeder Benutzer vor dem Betrachten einmal eingegeben haben muss. Wenn das Passwort nicht geändert wird, muss es nicht nochmal eingegeben werden. Admins, S-Mods, der Themenstarter und alle, die das Recht haben, Themen zu bearbeiten
brauchen kein Passwort einzugeben, um den Thread aufzurufen. Das Passwort kann beim Erstellen des Themas gesetzt und beim beim Editieren des Themas (Administrative Optionen) geändert werden. Wenn das Passwort geändert wurde, muss jeder Benutzer es noch einmal eingeben.

Demo: s. Anhang
Copyright: 2005 by rellek
Disclaimer: Dieser Hack darf nur vom Autoren (rellek) zum Download angeboten werden.
Support erfolgt nur an Ort und Stelle des Downloads, der vom Autoren angeboten wurde. Versuche, Support via ICQ zu erlangen werden abgewürgt und bei Wiederholung mit dem IGNORE-Knopf belohnt. Support gibt es ausschließlich beim Autor.
Modifikation nur für Eigenbedarf, ansonsten vorher fragen.

Wichtig - bitte beachten! Infos zu den Beta-Hacks

---

Bekannte Fehler und andere Unverträglichkeiten:
- Themen mit Passwort geschützt, auch wenn kein Passwort eingegeben? -> rellek[org] - Einzelnen Beitrag anzeigen - [2.3] Passwortgeschützte Threads
- Passwort entfernen geht nicht? -> rellek[org] - Einzelnen Beitrag anzeigen - [2.3] Passwortgeschützte Threads
- anonyme Foren und Passwort-Themen kombinieren? -> rellek[org] - Einzelnen Beitrag anzeigen - [2.3] Passwortgeschützte Threads
- mysql_fetch_array()-Fehler nach Eingabe des Passworts? -> rellek[org] - Einzelnen Beitrag anzeigen - [2.3] Passwortgeschützte Threads
- Probleme mit nächstes/vorheriges Thema? -> rellek[org] - Einzelnen Beitrag anzeigen - [2.3] Passwortgeschützte Threads

---

Was für die Final noch geplant ist: (derzeit nichts)
 

Anhänge

  • PWD-Thread-wBB23.zip
    4,5 KB · Aufrufe: 300
  • Demo.png
    Demo.png
    37,6 KB · Aufrufe: 1.184
Zuletzt bearbeitet:

dragon

Neuer Benutzer
wollt mal fragen ob es normal ist das bei dem hack dann immer wenn man ein neues thema erstellt nen passwortschutz drin ist oder kannn man das umgehen indem man irgendwas einstellt also so das man aussuchen kann ob nen pw drin ist???
 

dragon

Neuer Benutzer
ja aber trotzdem kommt dan beim neuen thread sonen schlüssel und man wird beim anklicken des threads trotzdem zum pw eingeben gebeten auch wenn man da nichts eingeben muss und nur auf weiter klicken muss geht es net das der schlüssel weg ist am thread und man nicht erst zum passwort eingeben kommt???
 

rellek

relativ sensationell
Teammitglied
ok, probier mal:

newthread.php, suche:
Code:
if(isset($_POST['pwd'])) $pwd = md5($_POST['pwd']);

ersetze durch:
Code:
if($_POST['pwd'] != "") $pwd = md5($_POST['pwd']);
 

dragon

Neuer Benutzer
Joa wenn man den Code ändert geht es einwandfrei falls ich doch noch was endecke melde ich es danke!!!
 

Polarist2k

Erfahrener Benutzer
Funzt gut soweit (mit der genannten Änderung) .. hätte allerdings noch nen Vorschlag für ne weitere Version: Einstellbar im ACP ob eine Usergruppe PW-Geschützte Threads erstellen kann oder ned ;) :D

Danke für den Hack ... geiles Ding!!! :D

Greetz, Polarist
 

Polarist2k

Erfahrener Benutzer
Fänd ich ne super Sache, weil sonst schützt jeder seinen Thread [oder einfach zu viele] und das find ich ned so toll ;) :D

Greetz, Polarist
 

remet

Neuer Benutzer
Hi Rellek!

Thx 4 this great Hack!

echt ein geiles Teil! nur leider habe ich ein problem

wenn ein user den thread lesen will und dann das richtige passwort eingibt bekomme ich folgenden fehler:

Code:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web4/html/board/acp/lib/class_db_mysql.php on line 100

Warning: Cannot modify header information - headers already sent by (output started at /srv/www/htdocs/web4/html/board/acp/lib/class_db_mysql.php:100) in /srv/www/htdocs/web4/html/board/thread.php on line 34

wenn er dann zurück geht und den thread lesen will ist der aber dennoch freigeschaltet!
haste ne idee?
 

rellek

relativ sensationell
Teammitglied
Hi,

probier mal bitte, ob die folgende Ändeurng dein Problem behebt:
thread.php, suche:
Code:
$db->query_first("UPDATE bb".$n."_threads SET accessgranted = '$access' WHERE threadid = '".intval($threadid)."'");

ersetze durch:
Code:
$db->query("UPDATE bb".$n."_threads SET accessgranted = '$access' WHERE threadid = '".intval($threadid)."'");
 

guybrush

Neuer Benutzer
hi!

ich muß sagen, einen feinen hack hast du da gezaubert.

aber eine frage hab ich noch: wird der fürs wbb 2.1.x umgecodet?
das würde sicher viele der massig vorhandenen 21x user freuen (besonders mich :D)

mfg
guybrush
 

rellek

relativ sensationell
Teammitglied
Wenn die Beta-Phase abgeschlossen ist, wird der für alle neueren wBBs gecodet (u.a. auch für 2.1).
 

Polarist2k

Erfahrener Benutzer
Original von Polarist2k
Funzt gut soweit (mit der genannten Änderung) .. hätte allerdings noch nen Vorschlag für ne weitere Version: Einstellbar im ACP ob eine Usergruppe PW-Geschützte Threads erstellen kann oder ned ;) :D

Danke für den Hack ... geiles Ding!!! :D

Greetz, Polarist

Wie sieht's damit aus ;) :D ?

Greetz, Polarist
 

Tales

Neuer Benutzer
moin, ich habe es einfach mal ins 2.2.0 reingebaut.... :D :D :D...

nun erster fehler ist....

wenn ich einen neuen Thread schreiben will kommt folgende meldung....

Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/www/htdocs/car-portal.de/testboard/wbb2/newthread.php on line 162

was müste ich verändern...
 

Tales

Neuer Benutzer
ich habe hier die 161 -163

Code:
161			else $pwd = '';
162			$db->query("INSERT INTO bb".$n."_threads (boardid,prefix,topic,iconid,starttime,starterid,starter,lastposttime,lastposterid,lastposter,attachments,pollid,important,visible,pwd) VALUES ('$boardid','".addslashes($prefix)."','".addslashes($topic)."','$iconid','$time','$wbbuserdata[userid]','".addslashes($wbbuserdata['username'])."','$time','$wbbuserdata[userid]','".addslashes($wbbuserdata['username'])."','".count($attachmentids)."','$poll_id','$important','".(($board['moderatenew'] == 10 || $board['moderatenew'] == 11) ? (0) : (1))."','$pwd')");time','$wbbuserdata[userid]','".addslashes($wbbuserdata['username'])."','$time','$wbbuserdata[userid]','".addslashes($wbbuserdata['username'])."','".(($attachment_id) ? (1) : (0))."','$poll_id','$important','".(($board['moderatenew'] == 10 || $board['moderatenew'] == 11) ? (0) : (1))."')");
163			$threadid = $db->insert_id();
 

rellek

relativ sensationell
Teammitglied
Dann probier mal, die Zeile 162 damit zu ersetzen:

Code:
$db->query("INSERT INTO bb".$n."_threads (boardid,prefix,topic,iconid,starttime,starterid,starter,lastposttime,lastposterid,lastposter,attachments,pollid,important,visible,pwd) VALUES ('$boardid','".addslashes($prefix)."','".addslashes($topic)."','$iconid','$time','$wbbuserdata[userid]','".addslashes($wbbuserdata['username'])."','$time','$wbbuserdata[userid]','".addslashes($wbbuserdata['username'])."','".count($attachmentids)."','$poll_id','$important','".(($board['moderatenew'] == 10 || $board['moderatenew'] == 11) ? (0) : (1))."', $pwd");
 
Oben