Seite 4 von 5

Verfasst: 03.12.2006 15:37
von Miriam
Axo. :D

Verfasst: 11.01.2007 17:15
von diesusi
diesusi hat geschrieben:Wow, das ging aber schnell!

Hat funktioniert, vielen Dank!

Eine Frage noch: Ist es außerdem möglich, dass ich die shoutbox nur für Mitglieder anzeige, die ich dafür freischalte? Also ähnlich wie die Zugangsberechtigung bei den Foren.

Dann wär ich glücklich.. :D
Wenn ich jetzt das ganze für mehrere gruppen anzeigbar machen will,muss ich dann den Code für jede Gruppe einbauen? Oder kann ich die Gruppen über komma oder ähnliches in einem Code für die Box aktivieren?

lg

Verfasst: 11.01.2007 19:36
von Miriam
Du könntest es so machen:

Erweitere die Gruppentabelle um eine Spalte (sagen wir group_shout).
Wenn die Gruppe (bzw. deren Mitglieder) die Shoutbox nutzen dürfen trägst Du eine 1 ein ansonsten ist sie 0 (default). Hier eine Query dafür; mit Präfix phpbb_:

Code: Alles auswählen

ALTER TABLE `phpbb_groups` ADD `group_shout` TINYINT( 1 ) NOT NULL DEFAULT '0';
Dann rüstest Du die von mir gepostete Query etwas um auf diese hier:

Code: Alles auswählen

$sql = "SELECT g.group_id, ug.user_id
       FROM " . GROUPS_TABLE ." g, " . USER_GROUP_TABLE ." ug
       WHERE g.group_id = ug.group_id
       AND (g.group_name = 'elitäre gruppe'
 OR g.group_shout = 1)
       AND ug.user_id = " . $userdata['user_id'];
Ich hab's jetzt nicht getestet, aber das sollte klappen.

Verfasst: 19.01.2007 12:11
von XXL-Petra
kain hat geschrieben:#
#-----[ OPEN ]------------------------------------------------
#
index.php

#
#-----[ FIND ]------------------------------------------------
#
'FORUM_LOCKED_IMG' =>

#
#-----[ AFTER, ADD ]------------------------------------------
#

// Start add - Fully integrated shoutbox MOD
'U_SHOUTBOX' => append_sid("shoutbox.$phpEx"),
'L_SHOUTBOX' => $lang['Shoutbox'],
'U_SHOUTBOX_MAX' => append_sid("shoutbox_max.$phpEx"),
// End add - Fully integrated shoutbox MOD

an.
Nun musst Du die index.php Datei Deines Forums mit einem Texteditor öffnen und per Suchfunktion (Strf + F) nach dem [FIND] markierten Befehl(en) suchen, also nach 'FORUM_LOCKED_IMG' =>
und danach eine neue Leerzeile das
// Start add - Fully integrated shoutbox MOD
'U_SHOUTBOX' => append_sid("shoutbox.$phpEx"),
'L_SHOUTBOX' => $lang['Shoutbox'],
'U_SHOUTBOX_MAX' => append_sid("shoutbox_max.$phpEx"),
// End add - Fully integrated shoutbox MOD

einfügen. Danach die index.php abspeichern und die nächste Datei öffnen, usw.
Am Ende musst Du die 11 bearbeiteten Dateien im Internet auf Deinen Webspache übertragen (ins Forum und die vorhandenen Dateien überschreiben).
In der Zip Datei ist noch nen Ordner namens root. Da drin sind Dateien und diese musst Du auch auf Dein Server laden, in die exakten Ordner so wie sie auch im root Ordner sind.

Am Ende noch die shoutbox_db_update.php im Browser aufrufen (und diese Datei nach Erfolgreichem Ausführen) wieder löschen.

Viel Glück :wink:
Hallo und danke, das ist eine super Anleitung nuuuuuur - ich hab ja nich sooo viel Ahnung - wie issen das? Wenn ich all die Dateien änder, wo erscheint dann die Shoutbox? Ich möchte die gerne im Portal haben NICHT auf der Index-Seite. Muss ich dann trotzdem alles in der index.php ändern?

Verfasst: 19.01.2007 13:38
von Miriam
Davon mal abgesehen, dass das phpBB (in der hier supporteten Standardversion) kein Portal hat, kann ich Dir sagen, dass Du die Änderungen dann natürlich in der portal.php und der dazugehörigen TPL Datei einpflegen musst.

Verfasst: 10.03.2007 00:25
von madosch
Mal eine Frage zur "Fully Integrated Shoutbox" ... in der Datenbank bekommen die Shouts fortlaufend höhere IDs, irgendwann muss doch die Anzahl die zulässige Größe überschreiten, oder? :D

//edit: Der Datenbereich ist MEDIUMINT( 8 ) was 8 Bytes Länge ohne Vorzeichen 18.446.744.073.709.551.615 Shouts entspricht. So wie meine Leute spammen, führ das irgendwann zum Überlauf! :P

Verfasst: 10.03.2007 09:16
von Miriam
MEDIUMINT geht unsigned von 0 bis 16777215. :roll:

Verfasst: 10.03.2007 10:06
von madosch
Ja, mit 3 Bytes (= 2^24) aber mit 8 Bytes wie in der Shoutbox sind es mehr :P

Verfasst: 10.03.2007 11:41
von Miriam
Du hast da was scheinbar in den falschen Hals bekommen: Die 8 bedeutet mit nichten 8 Bit, sondern 8 Stellen, die die Zahl lang sein darf (also als Dezimalzahl).
BIGINT geht unsigned von 0 bis 18446744073709551615

MEDIUMINT geht unsigned von 0 bis 16777215. Da beisst die Maus keinen Faden ab.

Guggst Du --> Klick

Soviel zum OT. :)

Verfasst: 10.03.2007 18:44
von madosch
MEDIUMINT geht unsigned von 0 bis 16777215
Bei 3 Byte = 3x8 Bit = 24 Bit gibt es 2^24 Kombinationen also 16777215. Rechne nach, das hat mit der Anzahl der Stellen nix zu tun :D

Steht übrigens auch auf der Seite die Du verlinkt hast. Es gibt bei der dortigen Tabelle eine Spalte für die Bytes (bei MEDIUMINT standardmäßig 3, bei meiner Shoutbox MEDIUMINT( 8 ) ... )
sondern 8 Stellen, die die Zahl lang sein darf (also als Dezimalzahl).
Quatsch, das wäre eine 8-stellige Dezimalzahl und die geht von 0...99.999.999