php:Het nieuws wordt dus opgehaald vanaf 3 en 4 zodat of je nu ingelogd bent of niet, altijd ook de private (#4) mededelingen zou kunnen lezen.<?
// Hoeveelheid nieuws op portal
$CFG['number_of_news'] = '5';
// Lengte van nieuws
$CFG['news_length'] = '200';
// Nieuws bron forum ID: scheid met comma voor meerdere forums, bijv. '1,2,5'
$CFG['news_forum'] = '3,4';
?>
gedeelte voor mededeling forum:
php:Gedeelte voor recente topics<?
//
// Haal berichten van mededeling forum op
//
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'])
)
);
}
//
// BEEINDIG: Haal mededelingen op
//
?>
php:Dus hoe zou ik dat inlog "mechanisme" van recente topics kunnen implanteren in het mededelingenblok op mijn portal?<?
//
// Recente onderwerpen
//
$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'])
)
);
}
//
// BEEINDIG - Recente onderwerpen
//
?>
Duizend maal dank voor het eventuele helpen
Als eerste moet je even onderscheiden wanneer welke fora getoond moeten worden. Dus:
php:Nu moeten we even checken of iemand ingelogd is. Het lijkt erop dat dit stuk code het misschien wel doet:<?
if($ingelogd==1)
{
$CFG['news_forum'] = '3,4';
}
else
{
$CFG['news_forum'] = '3';
}
?>
php:Dus die 2 combineren geeft:<?
if( isset($HTTP_POST_VARS['user_id']) )
{
$ingelogd = 1;
}
else
{
ingelogd = 0;
}
?>
php:Dit dus op de plaats zetten van $CFG['news_forum'] = '3,4';<?
if( isset($HTTP_POST_VARS['user_id']) )
{
$ingelogd = 1;
}
else
{
ingelogd = 0;
}
if($ingelogd==1)
{
$CFG['news_forum'] = '3,4';
}
else
{
$CFG['news_forum'] = '3';
}
?>
Laat ff weten of het is gelukt!
edit: het moet overigens wel $ingelogd=0 zijn
[Dit bericht is gewijzigd door Inspiration op 28-06-2003 02:00]
quote:Hiermee is het gelukt, je had het wel bij het goede eind, maar een $ vergeten en een = teveel
Op vrijdag 27 juni 2003 19:33 schreef DaMousE het volgende:php:Dit dus op de plaats zetten van $CFG['news_forum'] = '3,4';<?
if( isset($HTTP_POST_VARS['user_id']) )
{
$i=1;
}
else
{
$i=0;
}
if($ingelogd=1)
{
$CFG['news_forum'] = '3,4';
}
else
{
$CFG['news_forum'] = '3';
}
?>
Kan het natuurlijk fout hebben, ben geen phpguru ofzo...Laat ff weten of het is gelukt!
Bedankt!
quote:
Op zaterdag 28 juni 2003 02:03 schreef Inspiration het volgende:[..]
Hiermee is het gelukt, je had het wel bij het goede eind, maar een $ vergeten en een = teveel
Bedankt!
Met deze code krijg je altijd beide te zien
php:Met deze code krijg je altijd alleen #3 te zien<?
if($ingelogd=1)
?>
php:Iets in mij zegt dat die = vervangen moet worden met iets ofzo<?
if($ingelogd==1)
?>
en daar is niet veel voor nodig
quote:Nou, ben terug van een paar daagjes vakantie, ik zal er morgen even naar kijken. Het moet trouwens zowiezo een dubbele = zijn, de enkele betekend als ( maak ingelogd 1) dit lukt altijd, dus dan gaat ie daarmee door. De ander betekend als ( ingelogd is gelijk aan 1) dan .... dus vandaar!
Op zaterdag 28 juni 2003 02:06 schreef Inspiration het volgende:[..]
met die code krijg ik het tegenovergestelde van mijn eerdere error
Met deze code krijg je altijd beide te zien
php:Met deze code krijg je altijd alleen #3 te zien<?
if($ingelogd=1)
?>php:Iets in mij zegt dat die = vervangen moet worden met iets ofzo<?
if($ingelogd==1)
?>![]()
Morgen meer hopelijk!
Dat probleem heb ik nu al gelukkig opgelost, door de volgende code verder op in het portal.php te gooien
php:Ik heb echter wel nieuwe items waar ik niet uitkom<?
//
//Mededelingen op portal, toevoeging door Inspiration
//
$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 ((!$is_auth_ary[$forum_data[$i]['forum_id']]['auth_read']) or (!$is_auth_ary[$forum_data[$i]['forum_id']]['auth_view']))
{
$CFG['news_forum'] = '3';
}
else
{
$CFG['news_forum'] = '3,4';
}
//
//Einde mededelingen op portal, toevoeging door Inspiration
//
?>
Zo kan ik wel links in de overal_header toevoegen en veranderen, maar hoe je de "forum navigatie" items en de "links" items kan veranderen, heb ik geen idee van
(je weet wel, die blokken links op het portal )
|
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |