MyBB.de Forum

Normale Version: Shoutbox 2.0 erläuterung und frage
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
Hallo nachfolgend erst mal für alle Änderungen die sowieso irgendwann gefragt werden!

Shouts umdrehen
suche:
Code:
            // Start getting shouts!
            $query = $db->query("
                SELECT s.*, s.username AS shout_username, u.username, u.usergroup, u.displaygroup
                FROM ".TABLE_PREFIX."shouts s
                LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=s.uid)
                ORDER BY s.dateline
                LIMIT $start, $limit

ersttze mit:
Code:
            // Start getting shouts!
            $query = $db->query("
                SELECT s.*, s.username AS shout_username, u.username, u.usergroup, u.displaygroup
                FROM ".TABLE_PREFIX."shouts s
                LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=s.uid)
                ORDER BY s.dateline
                DESC LIMIT $start, $limit

Zeit und Datum einfügen:

suche:
Code:
                $bgcolor = alt_trow();
                eval("\$multipage_top = \"".$templates->get('shoutbox_multipage')."\";");
            }
            
            while($shout = $db->fetch_array($query))
            {

füge danach ein:
Code:
$shout_date = my_date($mybb->settings['dateformat'], $shout['dateline']);
$shout_time = my_date($mybb->settings['timeformat'], $shout['dateline']);

suche:
Code:
$shout['username'] = format_name($shout['username'], $shout['usergroup'], $shout['displaygroup']);
$shout['username'] =  '<<a href="member.php?action=profile&uid='.intval($shout['uid']).'">'.$shout['username'].'</a>>&nbsp;';

ersetzte mit:
Code:
$shout['username'] = format_name($shout['username'], $shout['usergroup'], $shout['displaygroup']);
$shout['username'] = $shout_date . ' ' . $shout_time . ' ' . '&nbsp;<a href="member.php?action=profile&uid='.intval($shout['uid']).'" target="_top">'.$shout['username'].'</a>&nbsp;';

Eingabefenster nach oben:

suche in Globele Templates>shoutbox
Code:
{$multipage_top}
{$shouts}
{$multipage_bottom}
</table>
{$add_shout}

</body>
</html>

ersetzte mit:
Code:
{$multipage_top}
</table>
{$add_shout}
<table>
{$shouts}
{$multipage_bottom}
</table>

</body>
</html>


Nun mal zu meinen Fragen, ich möchte nicht das die Shout im Center sind sondern links Formatiert und ich möchte nicht das bei der automatischen Aktualisierung sich das Eingabefenster mit aktualisiert. Immer wenn man am schreiben ist und es findet ein refresh statt, ist der eingegebene Text verschwunden insofern man ihn noch nicht gesendet hat, wie kann ich das Eingabefenster von dem refresh trennen?

Desweiteren hänge ich wieder die deutschen sprachdatein von mir an, die ich für die Betaversion gemacht habe und die auch mit der Version Kompatibel ist.


Danke für eure hilfe schon einmal im voraus
Hallöchen, Schumuckl!

Erstmal vielen Dank, dass du diese Ängerungen so übersichtlich hier gepostet hast!!!

Um einen kleinen Schönheitsfehler zu korrigieren:
Eingabefenster nach oben:
Code:
{$multipage_top}
</table>
{$add_shout}
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder"><tr><td>
{$shouts}</td>
</tr></table>
</body>
</html>

Zu dem Refresh:

Ich denke, man müsste die "{$add_shout}" komplett auserhalb der Tabelle einfügen, damit diese nicht mitaktualisiert wird. .... hmm....
mit dem eingabefenster scheinen dann wohl beide Varianten zu Funktionieren. Das mit dem Refresh, gibt es Ideen wie ich das machen kann?
und wie ist es mit shouts nach x tagen löschen ?
suche in Shoutbox.php

Code:
eval("\$shouts .= \"".$templates->get('shoutbox_shout')."\";");

füge darüber ein

Code:
// Shouts die älter als X Tage sind löschen
$tage = "2";
$vartime = $shout['dateline'];
$datevar = $tage * 86400;
$datevar = $vartime - $datevar;

$machen = $db->query("DELETE FROM ".TABLE_PREFIX."shouts WHERE dateline <= '$datevar'");

Ich habe es eben bei mir getestet und es Funktioniert einwandfrei, ich habe die Tage zum Testzweck einmal auf null gesetzt und alle shouts waren gelöscht. Nun stehtt es bei mir auf löschen nach 2 Tagen.

hf Schumuckl


EDIT: Ich würde mich freuen wenn jemand mal was zu meinen Problemen sagen könntee
Code:
$machen = $db->query("DELETE FROM ".TABLE_PREFIX."shouts WHERE dateline <= '$datevar'");

... ich hab diese Codezeile gar nicht...
Ich habe einen kleinen fehler gemacht und meinen Beitrag nocheinmal Editiert, bitte versuche es nocheinmal ;-)
Ja, jetzt klappts! Danke!!!

Sorry, dass ich dir wegen des Refreshs nicht helfen kann. ... vielleicht weiß jemand vom Supportteam Rat?!
Wenn ich das richtig verstehe weißt folgender Code dazu an nach einer Zeit x die Shoutbox.php zu aktualisieren, kann man das nicht so machen das nur das tabble mybb_shouts aktualisiert wird?

Code:
$refresh = '';
        if($mybb->settings['sb_refresh_time'] > 0)
        {
            $refresh = '<meta http-equiv="refresh" content="'.$mybb->settings['sb_refresh_time'].';URL=shoutbox.php" />';
        }
Hmm, weiß ich nicht.
Aber da bei mir die Shoutbox in einem IFrame geladen wird, könnte man versuchen die {addshout} auserhalb der IFrame zu setzen. Sie würde dann nicht automatisch mitrefresht werden. In wie weit, dann das shouten noch funktioniert weiß ich allerdings auch nicht. Sorry!
Seiten: 1 2 3 4