[PHP] Forumsvorschau nebeneinander statt übereinander

10tacle

Admiral
Registriert
Juni 2003
Beiträge
8.918
Ich habe auf --> http://www.newcenturyworld.de/ versucht ne Forumsvorschau einzufügen allerdings bekomm ich das nur hin das die Topics nebeneinander stehen, sie sollen aber natürlich untereinander stehen.
Wie bekomm ich das nun hin? Bin mit meinem Wissen am Ende!

Hab den Mod mit
Code:
<?php include("forum/recent.php"); ?>
eingefügt, daran kann es also nicht liegen ;)

Der Mod hat folgenden Quellcode
Code:
<?php
// ############ Edit below ###############################
$length = '13'; // length of topic title
$limit = '5'; // how many topics?
$l_recent = 'Themen';
$special_forums = '0'; // 0 = no; 1 = yes
$forums = '1,2'; // ID of forums; separate them with a comma
$css = ''; //path and name to your css_sheet - optional
// ############ Edit above ###############################

define('IN_PHPBB', true);
$phpbb_root_path = 'forum/'; // board folder with! ending mark (if in same folder just './')
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

@$userdata = session_pagestart($user_ip, PAGE_INDEX);
@init_userprefs($userdata);

// #### html output ####
echo "<link rel=\"stylesheet\" href=\"$css\" type=\"text/css\">"; // - optional
echo "<table width=\"90%\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" border=\"0\" class=\"forumline\">";
// #### html output ####

$sql = "SELECT post_id FROM ". POSTS_TABLE;
if ( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not obtain matched posts list.', '', __LINE__, __FILE__, $sql);
}
$recent_ids = array();
while( $row = $db->sql_fetchrow($result) )
{
	$recent_ids[] = $row['post_id'];
}
$db->sql_freeresult($result);

$recent_forum = ( isset($HTTP_POST_VARS['forum']) ) ? intval($HTTP_POST_VARS['forum']) : -1;
if ( $recent_forum == -1 )
{
        $is_auth_ary = auth(AUTH_READ, AUTH_LIST_ALL, $userdata); 
        $ignore_forum_sql = '';
        while( list($key, $value) = each($is_auth_ary) )
        {
                if ( !$value['auth_read'] )
                {
                        $ignore_forum_sql .= ( ( $ignore_forum_sql != '' ) ? ', ' : '' ) . $key;
                }
        }
        if ( $ignore_forum_sql != '' )
        {
                $auth_sql .= ( $auth_sql != '' ) ? " AND f.forum_id NOT IN ($ignore_forum_sql) " : "f.forum_id NOT IN ($ignore_forum_sql) ";
        }
}
if ( $recent_author == '' && $auth_sql == '' )
{
        $sql = "SELECT topic_id FROM ". POSTS_TABLE ."
                   WHERE post_id IN (" . implode(", ", $recent_ids) . ") 
                   $where_sql GROUP BY topic_id";
}
else
{
        $from_sql = POSTS_TABLE ." p"; 
        if ( $auth_sql != '' )
        {
                $from_sql .= ", ". FORUMS_TABLE ." f";
                $where_sql .= " AND f.forum_id = p.forum_id AND $auth_sql";
        }
        $sql = "SELECT p.topic_id FROM $from_sql 
                   WHERE p.post_id IN (" . implode(", ", $recent_ids) . ") 
                   $where_sql GROUP BY p.topic_id";
}
if ( !($result = $db->sql_query($sql)) )
{
        message_die(GENERAL_ERROR, 'Could not obtain topic ids', '', __LINE__, __FILE__, $sql);
}

$recent_ids = array();
while( $row = $db->sql_fetchrow($result) )
{
        $recent_ids[] = $row['topic_id'];
}
$db->sql_freeresult($result);

$auth_results = implode(', ', $recent_ids);
$where_part1 = ( $special_forums == '0' ) ? 't.topic_id IN ('.$auth_results.')' : 'f.forum_id IN ('.$forums.')';

$sql = "SELECT t.*, f.forum_id, f.forum_name, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time 
           FROM ". TOPICS_TABLE ." t, ". FORUMS_TABLE ." f, ". USERS_TABLE ." u, ". POSTS_TABLE ." p, ". POSTS_TABLE ." p2, ". USERS_TABLE ." u2
           WHERE $where_part1 
                      AND t.topic_poster = u.user_id
                      AND f.forum_id = t.forum_id 
                      AND p.post_id = t.topic_first_post_id
                      AND p2.post_id = t.topic_last_post_id
                      AND u2.user_id = p2.poster_id
           ORDER BY t.topic_last_post_id DESC LIMIT $limit";
if ( !$result = $db->sql_query($sql) )
{
        message_die(GENERAL_ERROR, 'Could not obtain main information', '', __LINE__, __FILE__, $sql);
}
$line = array();
while( $row = $db->sql_fetchrow($result) )
{
        $line[] = $row;
}
$db->sql_freeresult($result);		
		
$tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) : array();
$tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) : array();
for($i = 0; $i < count($line); $i++)
{
        $forum_url = append_sid("viewforum.$phpEx?" . POST_FORUM_URL . '=' . $line[$i]['forum_id']);
        $forum_id = $line[$i]['forum_id'];
        $topic_url = append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . '=' . $line[$i]['topic_id']);
        $topic_id = $line[$i]['topic_id'];

        $orig_word = array();
        $replacement_word = array();
        obtain_word_list($orig_word, $replacement_word);
        $word_censor = ( count($orig_word) ) ? preg_replace($orig_word, $replacement_word, $line[$i]['topic_title']) : $line[$i]['topic_title']; 
        $topic_title = ( strlen($line[$i]['topic_title']) < $length ) ? $word_censor : substr(stripslashes($word_censor), 0, $length) . "..."; 

        $topic_type = ( $line[$i]['topic_type'] == POST_ANNOUNCE ) ? $lang['Topic_Announcement'] .' ': '';
        $topic_type .= ( $line[$i]['topic_type'] == POST_GLOBAL_ANNOUNCE ) ? $lang['Topic_global_announcement'] .' ': '';
        $topic_type .= ( $line[$i]['topic_type'] == POST_STICKY ) ? $lang['Topic_Sticky'] .' ': '';
        $topic_type .= ( $line[$i]['topic_vote'] ) ? $lang['Topic_Poll'] .' ': '';

        $views = $line[$i]['topic_views'];
        $replies = $line[$i]['topic_replies'];
        if ( ( $replies + 1 ) > $board_config['posts_per_page'] )
        {
                $total_pages = ceil( ( $replies + 1 ) / $board_config['posts_per_page'] );
                $goto_page = ' [ ';
                $times = 1;
                for($j = 0; $j < $replies + 1; $j += $board_config['posts_per_page'])
                {
                        $goto_page .= '<a href="' . append_sid("".$phpbb_root_path."viewtopic.$phpEx?" . POST_TOPIC_URL . "=" . $topic_id . "&amp;start=$j") . '" >' . $times . '</a>';
                        if ( $times == 1 && $total_pages > 4 )
                        {
                                $goto_page .= ' ... ';
                                $times = $total_pages - 3;
                                $j += ( $total_pages - 4 ) * $board_config['posts_per_page'];
                        }
                        else if ( $times < $total_pages )
                        {
                                $goto_page .= ', ';
                        }
                        $times++;
                }
                $goto_page .= ' ] ';
        }
        else
        {
                $goto_page = '';
        }

        if ( $line[$i]['topic_status'] == TOPIC_LOCKED )
        {
                $folder = $images['folder_locked'];
                $folder_new = $images['folder_locked_new'];
        }
        else if ( $line[$i]['topic_type'] == POST_ANNOUNCE )
        {
                $folder = $images['folder_announce'];
                $folder_new = $images['folder_announce_new'];
        }
        else if ( $line[$i]['topic_type'] == POST_GLOBAL_ANNOUNCE )
        {
                $folder = $images['folder_global_announce'];
                $folder_new = $images['folder_global_announce_new'];
        }
        else if ( $line[$i]['topic_type'] == POST_STICKY )
        {
                $folder = $images['folder_sticky'];
                $folder_new = $images['folder_sticky_new'];
        }
        else
        {
                if ( $replies >= $board_config['hot_threshold'] )
                {
                        $folder = $images['folder_hot'];
                        $folder_new = $images['folder_hot_new'];
                }
                else
                {
                        $folder = $images['folder'];
                        $folder_new = $images['folder_new'];
                }
        }

        if ( $userdata['session_logged_in'] )
        {
                if ( $line[$i]['post_time'] > $userdata['user_lastvisit'] ) 
                {
                        if ( !empty($tracking_topics) || !empty($tracking_forums) || isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all']) )
                        {
                                $unread_topics = true;
                                if ( !empty($tracking_topics[$topic_id]) )
                                {
                                        if ( $tracking_topics[$topic_id] > $line[$i]['post_time'] )
                                        {
                                                $unread_topics = false;
                                        }
                                }
                                if ( !empty($tracking_forums[$forum_id]) )
                                {
                                        if ( $tracking_forums[$forum_id] > $line[$i]['post_time'] )
                                        {
                                                $unread_topics = false;
                                        }
                                }
                                if ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all']) )
                                {
                                        if ( $HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all'] > $line[$i]['post_time'] )
                                        {
                                                $unread_topics = false;
                                        }
                                }
                                if ( $unread_topics )
                                {
                                        $folder_image = $folder_new;
                                        $folder_alt = $lang['New_posts'];
                                        $newest_img = '<a href="' . append_sid("".$phpbb_root_path."viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&amp;view=newest") . '"><img src="'.$phpbb_root_path.$images['icon_newest_reply'] . '" alt="' . $lang['View_newest_post'] . '" title="' . $lang['View_newest_post'] . '" border="0" /></a> ';
                                }
                                else
                                {
                                        $folder_alt = ( $line[$i]['topic_status'] == TOPIC_LOCKED ) ? $lang['Topic_locked'] : $lang['No_new_posts'];
                                        $folder_image = $folder;
                                        $folder_alt = $folder_alt;
                                        $newest_img = '';
                                }
                        }
                        else if ( $line[$i]['post_time'] > $userdata['user_lastvisit'] ) 
                        {
                                $folder_image = $folder_new;
                                $folder_alt = $lang['New_posts'];
                                $newest_img = '<a href="' . append_sid("".$phpbb_root_path."viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&amp;view=newest") . '"><img src="'. $phpbb_root_path.$images['icon_newest_reply'] . '" alt="' . $lang['View_newest_post'] . '" title="' . $lang['View_newest_post'] . '" border="0" /></a> ';
                        }
                        else 
                        {
                                $folder_image = $folder;
                                $folder_alt = ( $line[$i]['topic_status'] == TOPIC_LOCKED ) ? $lang['Topic_locked'] : $lang['No_new_posts'];
                                $newest_img = '';
                        }
                }
                else
                {
                        $folder_image = $folder;
                        $folder_alt = ( $line[$i]['topic_status'] == TOPIC_LOCKED ) ? $lang['Topic_locked'] : $lang['No_new_posts'];
                        $newest_img = '';
                }
        }
        else
        {
                $folder_image = $folder;
                $folder_alt = ( $line[$i]['topic_status'] == TOPIC_LOCKED ) ? $lang['Topic_locked'] : $lang['No_new_posts'];
                $newest_img = '';
        }
			
        $forum_name = $line[$i]['forum_name'];

        $first_time = create_date($board_config['default_dateformat'], $line[$i]['topic_time'], $board_config['board_timezone']);
        $first_author = ( $line[$i]['user_id'] != ANONYMOUS ) ? '<a href="' . append_sid("".$phpbb_root_path."profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . '='  . $line[$i]['user_id']) . '" class="genmed">'.$line[$i]['username'].'</a>' : ( ($line[$i]['post_username'] != '' ) ? $line[$i]['post_username'] : $lang['Guest'] ); 
        $last_time = create_date($board_config['default_dateformat'], $line[$i]['post_time'], $board_config['board_timezone']);
        $last_author = ( $line[$i]['id2'] == ANONYMOUS ) ? ( ($line[$i]['post_username2'] != '' ) ? $line[$i]['post_username2'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("".$phpbb_root_path."profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . '='  . $line[$i]['id2']) . '" class="genmed">' . $line[$i]['user2'] . '</a>';
        

        $row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];

        // #### html output ####
        
        
        echo "<td width=\"90%\" style=\"border-collapse: collapse\" ><a href=\"$phpbb_root_path$topic_url\"></font><font face=\"Verdana\" size=\"2\" color=\"#FFFF00\">$topic_title</a>$goto_page $last_url</font></td>";
        
        
        // #### html output ####
}

// #### html output ####
echo "</table>";
// #### html output ####
?>
 
Zuletzt bearbeitet:
Liegt ganz einfach daran, dass die Übersicht in einer Tabellenspalte ausgegeben werden soll. Und wirklich gut scheint der Mod auch nicht zu sein. Es fehlt auf jedenfall schon mal ein <tr> bzw. </tr>. Du müsstest eigentlich nur beim HTML-Output vor die Zeile noch <tr> und hintendran </tr> schreiben. Und mit den font-Tags solltest du auch noch mal gucken :rolleyes:
 
Zurück
Oben