Random Quotes
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Random Quotes
Hi,
wie kann man denn den "Schon gewusst" Mod so umbauen, dass das so eine Art Random Quote wird?
Sprich anstatt einen Text in die schon_gewusst.txt manuell einzufügen, sollte der Mod sich stündlich ein zufälliges Posting, welches eingegeben wurde aussuchen und zitieren.
Ein Beispiel bietet das turtleboard: http://boards.turtled.com/bestof_rq.htm ... 2003-12-08
wie kann man denn den "Schon gewusst" Mod so umbauen, dass das so eine Art Random Quote wird?
Sprich anstatt einen Text in die schon_gewusst.txt manuell einzufügen, sollte der Mod sich stündlich ein zufälliges Posting, welches eingegeben wurde aussuchen und zitieren.
Ein Beispiel bietet das turtleboard: http://boards.turtled.com/bestof_rq.htm ... 2003-12-08
Zuletzt geändert von musashi am 01.07.2004 11:21, insgesamt 1-mal geändert.
http://phpbbhacks.com/viewhack.php?id=431
..könntest auch das dafür benutzen.
..könntest auch das dafür benutzen.
aso.. hatte das mit "Posting" überlesen. Dann versuch´s ma mit folgendem..
..kann z.B. in der index.php vor $template->pparse('body');
eingefügt werden. Es kann dann mit {MESSAGE} in der index_body.tpl aufgerufen werden.
Code: Alles auswählen
$sql = "SELECT p.*, pt.* FROM ". POSTS_TABLE ." p, ". POSTS_TEXT_TABLE ." pt
WHERE p.post_id = pt.post_id ORDER BY rand() LIMIT 1";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Error getting random post.', '', __LINE__, __FILE__, $sql);
}
if( $row = $db->sql_fetchrow($result) )
{
include_once($phpbb_root_path . 'includes/bbcode.'.$phpEx);
$bbcode_uid = $row['bbcode_uid'];
$message = $row['post_text'];
if( !$board_config['allow_html'] && $userdata['user_level'] != ADMIN )
{
if( $row['enable_html'] )
{
$message = preg_replace('#(<)([\/]?.*?)(>)#is', "<\\2>", $message);
}
}
if( $board_config['allow_bbcode'] )
{
if( $bbcode_uid != '' )
{
$message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);
}
}
$message = make_clickable($message);
if( $board_config['allow_smilies'] )
{
if( $row['enable_smilies'] )
{
$message = smilies_pass($message);
}
}
$orig_word = array();
$replacement_word = array();
obtain_word_list($orig_word, $replacement_word);
if( count($orig_word) )
{
$message = str_replace('\"', '"', substr(preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "preg_replace(\$orig_word, \$replacement_word, '\\0')", '>' . $message . '<'), 1, -1));
}
$message = str_replace("\n", "\n<br />\n", $message);
$template->assign_vars(array(
'MESSAGE' => $message,
));
}
eingefügt werden. Es kann dann mit {MESSAGE} in der index_body.tpl aufgerufen werden.
Zwar schon a bissl her, dennoch DANKE 
Das Prinzip funzt wunderbar, nur ein paar Kleinigkeiten hätte ich noch:
Die Quote sollte keine Zeilenumbrüche machen
Die Quote sollte zB maximal nach 90 Zeichen abgebrochen werden und dann nen Link zu dem entsprechenden Posting haben
Eine Quote/ Stunde aus den letzten 50 Postings reicht.

Das Prinzip funzt wunderbar, nur ein paar Kleinigkeiten hätte ich noch:
Die Quote sollte keine Zeilenumbrüche machen
Die Quote sollte zB maximal nach 90 Zeichen abgebrochen werden und dann nen Link zu dem entsprechenden Posting haben
Eine Quote/ Stunde aus den letzten 50 Postings reicht.
..füge die blaue Zeile unterhalb der grünen Zeile ein, wenn der Beitrag nach xx Zeichen abgetrennt werden soll und ein Link auf den kompletten Beitrag hinweisen soll.$message = str_replace("\n", "\n<br />\n", $message);
$message = ( strlen($message) < $length ) ? $message : substr(stripslashes($message), 0, $length) . ' ... (<a href="'. append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $row['post_id']) . '#' . $row['post_id'].'">kompletter Beitrag</a>)';
..unterhalb dieser Zeile fügst du dann noch $length = '20'; (Wert für Beitragslänge) ein.include_once($phpbb_root_path . 'includes/bbcode.'.$phpEx);
Klappt alles bis auf den Zeilenumbruch nach den XXX Zeichen.
Außerdem wäre es echt cool, wenn es mit Einer RQ/Stunde und nem Archiv mit Datum klappen würde und BBCode nicht dargestellt wird, sondern alles immer als normaler Text. Sonst sieht das zum Teil albern aus.
Bei sehr kurzen Beiträgen zB nur ein Wort, macht er die Verlinkung zum Beitrag selber nicht hin. *edit* Das liegt wohl nicht an der Länge des Beitrags, sondern daran, dass in allen Beiträgen, wo das auftaucht, Sonderzeichen wie am Ende der XXX Zeichen sind.
Ist es möglich den poster noch mit anzeigen zu lassen? Also zB so:
Ein weiteres Problemchen ist, dass auch Posts aus privaten Foren in der RQ angezeigt werden.
Außerdem wäre es echt cool, wenn es mit Einer RQ/Stunde und nem Archiv mit Datum klappen würde und BBCode nicht dargestellt wird, sondern alles immer als normaler Text. Sonst sieht das zum Teil albern aus.
Bei sehr kurzen Beiträgen zB nur ein Wort, macht er die Verlinkung zum Beitrag selber nicht hin. *edit* Das liegt wohl nicht an der Länge des Beitrags, sondern daran, dass in allen Beiträgen, wo das auftaucht, Sonderzeichen wie
Code: Alles auswählen
... / [ ] ( )
Ist es möglich den poster noch mit anzeigen zu lassen? Also zB so:
Zum anschauen & testen kannst Du unter -> http://www.legoquake.de/forum User: test PW: test benutzen. (Ist zwar nicht das Forum wo's letztendlich rein soll, aber zum testen reichts.Musashi: Klappt alles bis auf den Zeilenumbruch nach den XXX Zeichen.... [Beitrag anzeigen]
Ein weiteres Problemchen ist, dass auch Posts aus privaten Foren in der RQ angezeigt werden.
Möchte das Thema noch einmal aufgreifen - evtl. kann ja jemand die fehlenden Bausteine ergänzen.
Wir haben an code:
index.php
Suche:
Darüber füge ein:
ToDo's

Wir haben an code:
index.php
Suche:
Code: Alles auswählen
$template->pparse('body');
Code: Alles auswählen
//Random Quote
$sql = "SELECT p.*, pt.* FROM ". POSTS_TABLE ." p, ". POSTS_TEXT_TABLE ." pt
WHERE p.post_id = pt.post_id ORDER BY rand() LIMIT 1";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Error getting random post.', '', __LINE__, __FILE__, $sql);
}
if( $row = $db->sql_fetchrow($result) )
{
include_once($phpbb_root_path . 'includes/bbcode.'.$phpEx);
$length = '20';
$bbcode_uid = $row['bbcode_uid'];
$message = $row['post_text'];
if( !$board_config['allow_html'] && $userdata['user_level'] != ADMIN )
{
if( $row['enable_html'] )
{
$message = preg_replace('#(<)([\/]?.*?)(>)#is', "<\\2>", $message);
}
}
if( $board_config['allow_bbcode'] )
{
if( $bbcode_uid != '' )
{
$message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);
}
}
$message = make_clickable($message);
if( $board_config['allow_smilies'] )
{
if( $row['enable_smilies'] )
{
$message = smilies_pass($message);
}
}
$orig_word = array();
$replacement_word = array();
obtain_word_list($orig_word, $replacement_word);
if( count($orig_word) )
{
$message = str_replace('\"', '"', substr(preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "preg_replace(\$orig_word, \$replacement_word, '\\0')", '>' . $message . '<'), 1, -1));
}
$message = str_replace("\n", "\n<br />\n", $message);
$message = ( strlen($message) < $length ) ? $message : substr(stripslashes($message), 0, $length) . ' ... (<a href="'. append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $row['post_id']) . '#' . $row['post_id'].'">kompletter Beitrag</a>)';
$template->assign_vars(array(
'MESSAGE' => $message,
));
}
//Random Quote
- Die Random Quote wird derzeit pro Abruf des Forums generiert. Das sollte maximal 1x (evtl. zur Vollen Stunde?) geschehen.
- Der Verfasser der jeweiligen Quote sollte vor der Quote erscheinen, evtl. mit Link auf sein Profil
- Kann man die aufgerufenen stündlichen quotes irgendwie speichern damit man die später mal wieder anschauen und evtl. tagesweise abrufen kann?

www.dsaforum.de - DAS DSA Fanforum
Und noch was - warum kann ich das nicht in der overall_header mit {MESSAGE} aufrufen? *grübel*
www.dsaforum.de - DAS DSA Fanforum