Portalscript beschränken?

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
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.
Antworten
Benutzeravatar
niffi
Mitglied
Beiträge: 185
Registriert: 09.03.2003 22:02

Portalscript beschränken?

Beitrag von niffi »

Hi leute,

hoffe das ist das richtige forum.

also ich habe bei meinem forum eine portalseite erstellt mit ezPortal MOD und das in meine website eingebaut. jetzt möchte ich diese script aber gern so abändern, das alle themen die die "forum_id" 11 haben nicht mehr angezeigt werden, weil das offtopic themen sind.

schaut mal auf http://www.partyausfall.de damit ihr die einbidnung seht.

hier der code der portal ausgabe - mir werden also immer die aktuellsten themen angezeigt, wie gesagt möchte ich das auch weiter so haben, jedoch OHNE die offtopic themen

ich hatte mir das so gedacht, das man vielleicht vor dem script eine abfrage macht und das script erst ausgeführt wird, wenn es themen findet die nicht die forum_id 11 (oder eine andere) haben - geht das?

Code: Alles auswählen

<?php

// Number of news on portal

$CFG['number_of_news'] = '5';



// Length of news

$CFG['news_length'] = '200';



// News Forum ID: separate by comma for multi-forums, eg. '1,2,5'

$CFG['news_forum'] = '1';



// Poll Forum ID: separate by comma for multi-forums, eg. '3,8,14'

$CFG['poll_forum'] = '1';



// Number of Recent Topics (not Forum ID)

$CFG['number_recent_topics'] = '9';



// Exceptional Forums for Recent Topics, eg. '2,4,10' (note: my Recent Topics script has its own permission checking, so you can leave this variable blank)

$CFG['exceptional_forums'] = '';

// FORUM ID OF OFFTOPIC THREADS

$OFFTOPIC['offtopic_themes'] = '11';

//

// END configuration

// --------------------------------------------------------



define('IN_PHPBB', true);

$phpbb_root_path = './';

include($phpbb_root_path . 'extension.inc');

include($phpbb_root_path . 'common.'.$phpEx);

include($phpbb_root_path . 'fetchposts.'.$phpEx);



//

// Start session management

//

$userdata = session_pagestart($user_ip, PAGE_INDEX);

init_userprefs($userdata);

//

// End session management

//



//

// If you don't use these stats on your index you may want to consider

// removing them

//

$total_posts = get_db_stat('postcount');

$total_users = get_db_stat('usercount');

$total_topics = get_db_stat('topiccount');

$newest_userdata = get_db_stat('newestuser');

$newest_user = $newest_userdata['username'];

$newest_uid = $newest_userdata['user_id'];



if( $total_posts == 0 )

{

        $l_total_post_s = $lang['Posted_articles_zero_total'];

}

else if( $total_posts == 1 )

{

        $l_total_post_s = $lang['Posted_article_total'];

}

else

{

        $l_total_post_s = $lang['Posted_articles_total'];

}



if( $total_users == 0 )

{

        $l_total_user_s = $lang['Registered_users_zero_total'];

}

else if( $total_users == 1 )

{

        $l_total_user_s = $lang['Registered_user_total'];

}

else

{

        $l_total_user_s = $lang['Registered_users_total'];

}



if( $userdata['session_logged_in'] )

{

        $sql = "SELECT COUNT(post_id) as total

                        FROM " . POSTS_TABLE . "

                        WHERE post_time >= " . $userdata['user_lastvisit'];

        $result = $db->sql_query($sql);

        if( $result )

        {

                $row = $db->sql_fetchrow($result);

                $lang['Search_new'] = $lang['Search_new'] . "&nbsp;(" . $row['total'] . ")";

        }

}





//

// Recent Topics

//

$sql = "SELECT * FROM ". FORUMS_TABLE . " ORDER BY forum_id";

if (!$result = $db->sql_query($sql))

{

        message_die(GENERAL_ERROR, 'Could not query forums information', '', __LINE__, __FILE__, $sql);

}

$forum_data = array();

while( $row = $db->sql_fetchrow($result) )

{

        $forum_data[] = $row;

}



$is_auth_ary = array();

$is_auth_ary = auth(AUTH_ALL, AUTH_LIST_ALL, $userdata, $forum_data);



if( $CFG['exceptional_forums'] == '' )

{

        $except_forum_id = '\'start\'';

}

else

{

        $except_forum_id = $CFG['exceptional_forums'];

}



for ($i = 0; $i < count($forum_data); $i++)

{

        if ((!$is_auth_ary[$forum_data[$i]['forum_id']]['auth_read']) or (!$is_auth_ary[$forum_data[$i]['forum_id']]['auth_view']))

        {

                if ($except_forum_id == '\'start\'')

                {

                        $except_forum_id = $forum_data[$i]['forum_id'];

                }


                else

                {

                        $except_forum_id .= ',' . $forum_data[$i]['forum_id'];

                }

        }

}

$sql = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id, p.post_id, p.poster_id, p.post_time, u.user_id, u.username

                FROM " . TOPICS_TABLE . " AS t, " . POSTS_TABLE . " AS p, " . USERS_TABLE . " AS u

                WHERE t.forum_id NOT IN (" . $except_forum_id . ")

                        AND t.topic_status <> 2

                        AND p.post_id = t.topic_last_post_id

                        AND p.poster_id = u.user_id

                ORDER BY p.post_id DESC

                LIMIT " . $CFG['number_recent_topics'];

if (!$result = $db->sql_query($sql))

{

        message_die(GENERAL_ERROR, 'Could not query recent topics information', '', __LINE__, __FILE__, $sql);

}

$number_recent_topics = $db->sql_numrows($result);

$recent_topic_row = array();

while ($row = $db->sql_fetchrow($result))

{

        $recent_topic_row[] = $row;

}

for ($i = 0; $i < $number_recent_topics; $i++)

{

        $template->assign_block_vars('recent_topic_row', array(

                'U_TITLE' => append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $recent_topic_row[$i]['post_id']) . '#' .$recent_topic_row[$i]['post_id'],

                'L_TITLE' => $recent_topic_row[$i]['topic_title'],

                'U_POSTER' => append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $recent_topic_row[$i]['user_id']),

                'S_POSTER' => $recent_topic_row[$i]['username'],

                'S_POSTTIME' => create_date($board_config['default_dateformat'], $recent_topic_row[$i]['post_time'], $board_config['board_timezone'])

                )

        );

}

//

// END - Recent Topics

//



//

// Start output of page

//

define('SHOW_ONLINE', true);

$page_title = $lang['Home'];

include($phpbb_root_path . 'includes/page_header_portal.'.$phpEx);



$template->set_filenames(array(

        'body' => 'portal_body.tpl')

);



//

// Avatar On Index MOD

//

$avatar_img = '';

if ( $userdata['user_avatar_type'] && $userdata['user_allowavatar'] )

{

        switch( $userdata['user_avatar_type'] )

        {

                case USER_AVATAR_UPLOAD:

                        $avatar_img = ( $board_config['allow_avatar_upload'] ) ? '<img src="' . $board_config['avatar_path'] . '/' . $userdata['user_avatar'] . '" alt="" border="0" />' : '';

                        break;

                case USER_AVATAR_REMOTE:

                        $avatar_img = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $userdata['user_avatar'] . '" alt="" border="0" />' : '';

                        break;

                case USER_AVATAR_GALLERY:

                        $avatar_img = ( $board_config['allow_avatar_local'] ) ? '<img src="' . $board_config['avatar_gallery_path'] . '/' . $userdata['user_avatar'] . '" alt="" border="0" />' : '';

                        break;

        }

}

// Check For Anonymous User

if ($userdata['user_id'] != '-1')

{

        $name_link = '<a href="' . append_sid("profile.$phpEx?mode=editprofile&" . $userdata['user_id']) . '" target="_top">' . $userdata['username'] . '</a>';

}

else

{

        $name_link = $lang['Guest'];

}

//

// END: Avatar On Index MOD

//





$template->assign_vars(array(

        'WELCOME_TEXT' => $CFG['welcome_text'],

        'TOTAL_POSTS' => sprintf($l_total_post_s, $total_posts),

        'TOTAL_USERS' => sprintf($l_total_user_s, $total_users),

        'TOTAL_TOPICS' => sprintf($lang['total_topics'], $total_topics),

        'NEWEST_USER' => sprintf($lang['Newest_user'], '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$newest_uid") . '">', $newest_user, '</a>'),

        'L_FORUM' => $lang['Forum'],

        'L_BOARD_NAVIGATION' => $lang['Board_navigation'],

        'L_STATISTICS' => $lang['Statistics'],

        'L_ANNOUNCEMENT' => $lang['Post_Announcement'],

        'L_POSTED' => $lang['Posted'],

        'L_COMMENTS' => $lang['Comments'],

        'L_VIEW_COMMENTS' => $lang['View_comments'],

        'L_POST_COMMENT' => $lang['Post_your_comment'],

        'L_SEND_PASSWORD' => $lang['Forgotten_password'],

        'U_SEND_PASSWORD' => append_sid("profile.$phpEx?mode=sendpassword"),

        'L_REGISTER_NEW_ACCOUNT' => sprintf($lang['Register_new_account'], '<a href="' . append_sid("profile.$phpEx?mode=register") . '">', '</a>'),

        'L_REMEMBER_ME' => $lang['Remember_me'],

        'L_VIEW_COMPLETE_LIST' => $lang['View_complete_list'],

        'L_POLL' => $lang['Poll'],

        'L_VOTE_BUTTON' => $lang['Vote'],

        // Recent Topics

        'L_RECENT_TOPICS' => $lang['Recent_topics'],



        // Welcome Avatar

        'L_NAME_WELCOME' => $lang['Welcome'],

        'U_NAME_LINK' => $name_link,

        'AVATAR_IMG' => $avatar_img)

);



//

// Fetch Posts from Announcements Forum

//

if(!isset($HTTP_GET_VARS['article']))

{

        $template->assign_block_vars('welcome_text', array());



        $fetchposts = phpbb_fetch_posts($CFG['news_forum'], $CFG['number_of_news'], $CFG['news_length']);



        for ($i = 0; $i < count($fetchposts); $i++)

        {

                if( $fetchposts[$i]['striped'] == 1 )

                {

                        $open_bracket = '[ ';

                        $close_bracket = ' ]';

                        $read_full = $lang['Read_Full'];

                }

                else

                {

                        $open_bracket = '';

                        $close_bracket = '';

                        $read_full = '';

                }



                $template->assign_block_vars('fetchpost_row', array(

                        'TITLE' => $fetchposts[$i]['topic_title'],

                        'POSTER' => $fetchposts[$i]['username'],

                        'TIME' => $fetchposts[$i]['topic_time'],

                        'TEXT' => $fetchposts[$i]['post_text'],

                        'REPLIES' => $fetchposts[$i]['topic_replies'],

                        'U_VIEW_COMMENTS' => append_sid('viewtopic.' . $phpEx . '?t=' . $fetchposts[$i]['topic_id']),

                        'U_POST_COMMENT' => append_sid('posting.' . $phpEx . '?mode=reply&t=' . $fetchposts[$i]['topic_id']),

                        'U_READ_FULL' => append_sid('portal.' . $phpEx . '?article=' . $i),

                        'L_READ_FULL' => $read_full,

                        'OPEN' => $open_bracket,

                        'CLOSE' => $close_bracket)

                );

        }

}

else

{

        $fetchposts = phpbb_fetch_posts($CFG['news_forum'], $CFG['number_of_news'], 0);



        $i = intval($HTTP_GET_VARS['article']);



        $template->assign_block_vars('fetchpost_row', array(

                'TITLE' => $fetchposts[$i]['topic_title'],

                'POSTER' => $fetchposts[$i]['username'],

                'TIME' => $fetchposts[$i]['topic_time'],

                'TEXT' => $fetchposts[$i]['post_text'],

                'REPLIES' => $fetchposts[$i]['topic_replies'],

                'U_VIEW_COMMENTS' => append_sid('viewtopic.' . $phpEx . '?t=' . $fetchposts[$i]['topic_id']),

                'U_POST_COMMENT' => append_sid('posting.' . $phpEx . '?mode=reply&t=' . $fetchposts[$i]['topic_id'])

                )

        );

}

//

// END: Fetch Announcements

//



//

// Fetch Poll

//

$fetchpoll = phpbb_fetch_poll($CFG['poll_forum']);



if (!empty($fetchpoll))

{

        $template->assign_vars(array(

                'S_POLL_QUESTION' => $fetchpoll['vote_text'],

                'S_POLL_ACTION' => append_sid('posting.'.$phpEx.'?'.POST_TOPIC_URL.'='.$fetchpoll['topic_id']),

                'S_TOPIC_ID' => $fetchpoll['topic_id'],

                'L_SUBMIT_VOTE' => $lang['Submit_vote'],

                'L_LOGIN_TO_VOTE' => $lang['Login_to_vote']

                )

        );



        for ($i = 0; $i < count($fetchpoll['options']); $i++)

        {

                $template->assign_block_vars('poll_option_row', array(

                        'OPTION_ID' => $fetchpoll['options'][$i]['vote_option_id'],

                        'OPTION_TEXT' => $fetchpoll['options'][$i]['vote_option_text'],

                        'VOTE_RESULT' => $fetchpoll['options'][$i]['vote_result'],

                        )

                );

        }

}

else

{

        $template->assign_vars(array(

                'S_POLL_QUESTION' => $lang['No_poll'],

                'DISABLED' => 'disabled="disabled"'

                )

        );

}



//

// Generate the page

//

$template->pparse('body');



include($phpbb_root_path . 'includes/page_tail_portal.'.$phpEx);

?>
Mögt ihr diese Signaturen? Ich nicht.
Benutzeravatar
niffi
Mitglied
Beiträge: 185
Registriert: 09.03.2003 22:02

Beitrag von niffi »

keiner ne idee wie das gehen könnte?
Mögt ihr diese Signaturen? Ich nicht.
Benutzeravatar
niffi
Mitglied
Beiträge: 185
Registriert: 09.03.2003 22:02

Beitrag von niffi »

*up*
Mögt ihr diese Signaturen? Ich nicht.
Benutzeravatar
Budman
Mitglied
Beiträge: 327
Registriert: 02.02.2005 10:46

Beitrag von Budman »

Hallo!

Normalerweise sollte doch im ACP unter Portal eine Möglichkeit sein, bestimmte Foren auszunehmen. Bei mir nennt sich das:

Auszunehmende(s) Forum(s) für Letzte Themen Block, z.B. 2,4,10
*Trenne die Forum ID(s) durch ein Komma*


Gruss Bud
Benutzeravatar
niffi
Mitglied
Beiträge: 185
Registriert: 09.03.2003 22:02

Beitrag von niffi »

kann sein das es an meiner version liegt aber ich hab im ACP kein "portal" menüpunkt....
Mögt ihr diese Signaturen? Ich nicht.
Benutzeravatar
niffi
Mitglied
Beiträge: 185
Registriert: 09.03.2003 22:02

Beitrag von niffi »

hatte halt angenommen das es am einfachsten wäre einfach bevor das portalscript ausgeführt wird eine abfrage zu machen, die alle themen mit der forenID XYZ nicht anzeigt.
Mögt ihr diese Signaturen? Ich nicht.
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“