will das Thema der "random quote" nach einer etwas längeren Zeit noch einmal aufgreifen, Acid hatte seinerzeit mal ein Gerüst gebaut. Wohl gemerkt gehts hier nicht um Zitate, die bereits in einer txt vorliegen, sondern um die zufällige generierung einer quote aus dem laufenden Forenbetrieb.
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
1) Die Random Quote wird derzeit pro Abruf des Forums generiert. Das sollte maximal 1x (evtl. zur Vollen Stunde?) geschehen. Wichtig wäre auch, daß die Quote nicht utralt ist, sondern halt ein relativ aktuelles Posting. (Im idealfall eben aus den leztzten 60 Minuten, sollte in diesen 60 Mins kein Posting abgesetzt werden, müsste man halt zurück gehen.
2) Der Verfasser der jeweiligen Quote sollte vor der Quote erscheinen, evtl. mit Link auf sein Profil
3) Kann man die aufgerufenen stündlichen quotes irgendwie speichern damit man die später mal wieder anschauen und evtl. tagesweise abrufen kann?
4) RQ auch in overall_header.tpl aufrufbar?