Report#35,82,84:Mouseover in compact view (news), archive news system, pagnition for news / announcements - as well as a switch to choose if the newest or the first post (link in compact view) should be shown, configurable in ACP

This commit is contained in:
Kevin
2008-04-23 09:54:06 +00:00
parent c6028d36a8
commit e433c2f392
18 changed files with 651 additions and 215 deletions

View File

@@ -77,6 +77,8 @@ class acp_portal
'portal_news_length' => array('lang' => 'PORTAL_NEWS_LENGTH' , 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true),
'portal_news_forum' => array('lang' => 'PORTAL_NEWS_FORUM' , 'validate' => 'string', 'type' => 'text:10:200', 'explain' => true),
'portal_news_permissions' => array('lang' => 'PORTAL_NEWS_PERMISSIONS' , 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'portal_news_show_last' => array('lang' => 'PORTAL_NEWS_SHOW_LAST' , 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'portal_news_archive' => array('lang' => 'PORTAL_NEWS_ARCHIVE' , 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
)
);
break;
@@ -92,6 +94,7 @@ class acp_portal
'portal_announcements_length' => array('lang' => 'PORTAL_ANNOUNCEMENTS_LENGTH' , 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true),
'portal_global_announcements_forum' => array('lang' => 'PORTAL_GLOBAL_ANNOUNCEMENTS_FORUM' , 'validate' => 'string', 'type' => 'text:10:200', 'explain' => true),
'portal_announcements_permissions' => array('lang' => 'PORTAL_ANNOUNCEMENTS_PERMISSIONS' , 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'portal_announcements_archive' => array('lang' => 'PORTAL_ANNOUNCEMENTS_ARCHIVE' , 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
)
);
break;

View File

@@ -81,6 +81,9 @@ INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_cust
INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_custom_center_headline', 'Headline center box');
INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_custom_small_headline', 'Headline small box');
INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_forum_index', '0');
INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_news_show_last', '0');
INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_news_archive', '1');
INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_announcements_archive', '1');
# POSTGRES COMMIT #

View File

@@ -23,6 +23,9 @@ $sql_update['0.2.3'] = array(
"INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_custom_center_headline', 'Headline center box')",
"INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_custom_small_headline', 'Headline small box')",
"INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_forum_index', '0')",
"INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_news_show_last', '0')",
"INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_news_archive', '1')",
"INSERT INTO phpbb_portal_config (config_name, config_value) VALUES ('portal_announcements_archive', '1')",
);
?>

View File

@@ -44,6 +44,8 @@ $lang = array_merge($lang, array(
// news & global announcements
'LATEST_ANNOUNCEMENTS' => 'Latest global announcements',
'GLOBAL_ANNOUNCEMENT' => 'Global announcement',
'VIEW_LATEST_ANNOUNCEMENT' => '1 announcement',
'VIEW_LATEST_ANNOUNCEMENTS' => '%d announcements',
'LATEST_NEWS' => 'Latest news',
'READ_FULL' => 'Read all',
'NO_NEWS' => 'No news',

View File

@@ -100,6 +100,8 @@ $lang = array_merge($lang, array(
'PORTAL_GLOBAL_ANNOUNCEMENTS_FORUM_EXPLAIN' => 'Forum we pull the articles from, leave blank to pull from all forums, separate by comma for multi-forums, eg. 1,2,5',
'PORTAL_ANNOUNCEMENTS_PERMISSIONS' => 'Enable/disable permissions',
'PORTAL_ANNOUNCEMENTS_PERMISSIONS_EXPLAIN' => 'Take forum viewing permissions into account when displaying announcements',
'PORTAL_ANNOUNCEMENTS_ARCHIVE' => 'Enable the announcements archive system',
'PORTAL_ANNOUNCEMENTS_ARCHIVE_EXPLAIN' => 'If enabled the announcements archive system / page numbers will be displayed.',
// news
'ACP_PORTAL_NEWS_INFO' => 'News',
@@ -108,7 +110,7 @@ $lang = array_merge($lang, array(
'PORTAL_NEWS' => 'Display news block',
'PORTAL_NEWS_EXPLAIN' => 'Display this block on portal.',
'PORTAL_NEWS_STYLE' => 'Compact news block style',
'PORTAL_NEWS_STYLE_EXPLAIN' => 'If select yes use compact style for news, no is large style.',
'PORTAL_NEWS_STYLE_EXPLAIN' => 'If select yes use compact style for news, no is large style (text view).',
'PORTAL_SHOW_ALL_NEWS' => 'Show all of the articles in this forum',
'PORTAL_SHOW_ALL_NEWS_EXPLAIN' => 'Including stickies.',
'PORTAL_NUMBER_OF_NEWS' => 'Number of news articles on portal',
@@ -121,6 +123,10 @@ $lang = array_merge($lang, array(
'PORTAL_EXCLUDE_FORUM_EXPLAIN' => 'Forum we pull the articles from, leave blank to pull from all forums, separate by comma for multi-forums, eg. 1,2,5',
'PORTAL_NEWS_PERMISSIONS' => 'Enable/disable permissions',
'PORTAL_NEWS_PERMISSIONS_EXPLAIN' => 'Take forum viewing permissions into account when displaying news',
'PORTAL_NEWS_SHOW_LAST' => 'Show the newest post',
'PORTAL_NEWS_SHOW_LAST_EXPLAIN' => 'When activated, the newest post will be shown in the text view. When deactivated, the first post of the topic will be shown.<br />In the compact news block style the link will lead to the newest post.',
'PORTAL_NEWS_ARCHIVE' => 'Enable the news archive system',
'PORTAL_NEWS_ARCHIVE_EXPLAIN' => 'If enabled the news archive system / page numbers will be displayed.',
// recent topics
'ACP_PORTAL_RECENT_INFO' => 'Recent topics',

View File

@@ -19,9 +19,74 @@ if (!defined('IN_PORTAL'))
}
$announcement = request_var('announcement', -1);
$start = request_var('ap', 0);
$start = ($start < 0) ? 0 : $start;
// Pagnition
if ( $portal_config['portal_announcements_archive'] )
{
$permissions = $portal_config['portal_announcements_permissions'];
$forum_from = $portal_config['portal_global_announcements_forum'];
$forum_from = ( strpos($forum_from, ',') !== FALSE ) ? explode(',', $forum_from) : (($forum_from != '') ? array($forum_from) : array());
$str_where = '';
if( $permissions == TRUE )
{
$disallow_access = array_unique(array_keys($auth->acl_getf('!f_read', true)));
} else {
$disallow_access = array();
}
$global_f = 0;
if( sizeof($forum_from) )
{
$disallow_access = array_diff($forum_from, $disallow_access);
if( !sizeof($disallow_access) )
{
return array();
}
foreach( $disallow_access as $acc_id)
{
$acc_id = (int) $acc_id;
$str_where .= "forum_id = $acc_id OR ";
if( $type == 'announcements' && $global_f < 1 && $acc_id > 0 )
{
$global_f = $acc_id;
}
}
}
else
{
foreach( $disallow_access as $acc_id )
{
$acc_id = (int) $acc_id;
$str_where .= "forum_id <> $acc_id AND ";
}
}
$str_where = ( strlen($str_where) > 0 ) ? 'AND (forum_id = 0 OR (' . trim(substr($str_where, 0, -4)) . '))' : '';
$sql = 'SELECT COUNT(topic_id) AS num_topics
FROM ' . TOPICS_TABLE . '
WHERE ((topic_type = ' . POST_GLOBAL . ')
OR topic_type = ' . POST_ANNOUNCE . ')
AND topic_approved = 1
AND topic_moved_id = 0
' . $str_where;
$result = $db->sql_query($sql);
$total_announcements = (int) $db->sql_fetchfield('num_topics');
$db->sql_freeresult($result);
}
if($announcement < 0)
{
$fetch_news = phpbb_fetch_posts($portal_config['portal_global_announcements_forum'], $portal_config['portal_announcements_permissions'], $portal_config['portal_number_of_announcements'], $portal_config['portal_announcements_length'], $portal_config['portal_announcements_day'], 'announcements');
$fetch_news = phpbb_fetch_posts($portal_config['portal_global_announcements_forum'], $portal_config['portal_announcements_permissions'], $portal_config['portal_number_of_announcements'], $portal_config['portal_announcements_length'], $portal_config['portal_announcements_day'], 'announcements', $start);
if (count($fetch_news) == 0)
{
@@ -57,6 +122,13 @@ if($announcement < 0)
$unread_topic = (isset($topic_tracking_info[$topic_id]) && $fetch_news[$i]['topic_last_post_time'] > $topic_tracking_info[$topic_id]) ? true : false;
$real_forum_id = ( $forum_id == 0 ) ? $fetch_news['global_id']: $forum_id;
$read_full_url = (isset($_GET['ap'])) ? 'ap='. $start . '&amp;announcement=' . $i . '#a' . $i : 'announcement=' . $i . '#a' . $i;
$view_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . (($fetch_news[$i]['forum_id']) ? $fetch_news[$i]['forum_id'] : $forum_id) . '&amp;t=' . $topic_id);
if ( $portal_config['portal_announcements_archive'] )
{
$pagination = generate_portal_pagination(append_sid("{$phpbb_root_path}portal.$phpEx"), $total_announcements, $portal_config['portal_number_of_announcements'], $start, 'announcements');
}
$template->assign_block_vars('announcements_row', array(
'ATTACH_ICON_IMG' => ($fetch_news[$i]['attachment']) ? $user->img('icon_topic_attach', $user->lang['TOTAL_ATTACHMENTS']) : '',
@@ -69,25 +141,35 @@ if($announcement < 0)
'TEXT' => $fetch_news[$i]['post_text'],
'REPLIES' => $fetch_news[$i]['topic_replies'],
'TOPIC_VIEWS' => $fetch_news[$i]['topic_views'],
'A_ID' => $i,
'U_VIEWFORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $fetch_news[$i]['forum_id']),
'U_LAST_COMMENTS' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", (($real_forum_id) ? 'f=' . $real_forum_id . '&amp;' : '') . 'p=' . $fetch_news[$i]['topic_last_post_id'] . '#p' . $fetch_news[$i]['topic_last_post_id']),
'U_VIEW_COMMENTS' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 't=' . $topic_id),
'U_POST_COMMENT' => append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=reply&amp;' . (($real_forum_id) ? 'f=' . $real_forum_id . '&amp;' : '') . 't=' . $topic_id),
'U_READ_FULL' => append_sid("{$phpbb_root_path}portal.$phpEx", 'announcement=' . $i),
'U_READ_FULL' => append_sid("{$phpbb_root_path}portal.$phpEx", $read_full_url),
'L_READ_FULL' => $read_full,
'OPEN' => $open_bracket,
'CLOSE' => $close_bracket,
'S_NOT_LAST' => ($i < count($fetch_news) - 1) ? true : false,
'S_POLL' => $fetch_news[$i]['poll'],
// 'MINI_POST_IMG' => $user->img('icon_post_target', 'POST'),
'S_UNREAD_INFO' => $unread_topic,
'PAGINATION' => topic_generate_pagination($fetch_news[$i]['topic_replies'], $view_topic_url),
));
if ($portal_config['portal_number_of_announcements'] <> 0 && $portal_config['portal_announcements_archive'])
{
$template->assign_vars(array(
'AP_PAGINATION' => $pagination,
'TOTAL_ANNOUNCEMENTS' => ($total_announcements == 1) ? $user->lang['VIEW_LATEST_ANNOUNCEMENT'] : sprintf($user->lang['VIEW_LATEST_ANNOUNCEMENTS'], $total_announcements),
'AP_PAGE_NUMBER' => on_page($total_announcements, $portal_config['portal_number_of_announcements'], $start))
);
}
}
}
}
else
{
$fetch_news = phpbb_fetch_posts($portal_config['portal_global_announcements_forum'], $portal_config['portal_announcements_permissions'], $portal_config['portal_number_of_announcements'], 0, $portal_config['portal_announcements_day'], 'announcements');
$fetch_news = phpbb_fetch_posts($portal_config['portal_global_announcements_forum'], $portal_config['portal_announcements_permissions'], $portal_config['portal_number_of_announcements'], 0, $portal_config['portal_announcements_day'], 'announcements', $start);
$i = $announcement;
$forum_id = $fetch_news[$i]['forum_id'];
@@ -98,33 +180,51 @@ else
$close_bracket = ' ]';
$read_full = $user->lang['BACK'];
$read_full_url = (isset($_GET['ap'])) ? append_sid("{$phpbb_root_path}portal.$phpEx", "ap=$start#a$i") : append_sid("{$phpbb_root_path}portal.$phpEx#a$i");
$view_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . (($fetch_news[$i]['forum_id']) ? $fetch_news[$i]['forum_id'] : $forum_id) . '&amp;t=' . $topic_id);
if ( $portal_config['portal_announcements_archive'] )
{
$pagination = generate_portal_pagination(append_sid("{$phpbb_root_path}portal.$phpEx"), $total_announcements, $portal_config['portal_number_of_announcements'], $start, 'announcements');
}
$template->assign_block_vars('announcements_row', array(
'ATTACH_ICON_IMG' => ($fetch_news[$i]['attachment']) ? $user->img('icon_topic_attach', $user->lang['TOTAL_ATTACHMENTS']) : '',
'FORUM_NAME' => ( $forum_id ) ? $fetch_news[$i]['forum_name'] : '',
'TITLE' => $fetch_news[$i]['topic_title'],
'POSTER' => $fetch_news[$i]['username'],
'POSTER_FULL' => $fetch_news[$i]['username_full'],
'TIME' => $fetch_news[$i]['topic_time'],
'TEXT' => $fetch_news[$i]['post_text'],
'REPLIES' => $fetch_news[$i]['topic_replies'],
'TITLE' => $fetch_news[$i]['topic_title'],
'POSTER' => $fetch_news[$i]['username'],
'POSTER_FULL' => $fetch_news[$i]['username_full'],
'TIME' => $fetch_news[$i]['topic_time'],
'TEXT' => $fetch_news[$i]['post_text'],
'REPLIES' => $fetch_news[$i]['topic_replies'],
'TOPIC_VIEWS' => $fetch_news[$i]['topic_views'],
'A_ID' => $i,
'U_VIEWFORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $fetch_news[$i]['forum_id']),
'U_LAST_COMMENTS' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", (($forum_id) ? 'f=' . $forum_id . '&amp;' : '') . 'p=' . $fetch_news[$i]['topic_last_post_id'] . '#p' . $fetch_news[$i]['topic_last_post_id']),
'U_VIEW_COMMENTS' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 't=' . $topic_id),
'U_POST_COMMENT' => append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=reply&amp;' . (($forum_id) ? 'f=' . $forum_id . '&amp;' : '') . 't=' . $topic_id),
'S_POLL' => $fetch_news[$i]['poll'],
'S_POLL' => $fetch_news[$i]['poll'],
'S_UNREAD_INFO' => $unread_topic,
'U_READ_FULL' => append_sid("{$phpbb_root_path}portal.$phpEx"),
'L_READ_FULL' => $read_full,
'OPEN' => $open_bracket,
'U_READ_FULL' => $read_full_url,
'L_READ_FULL' => $read_full,
'OPEN' => $open_bracket,
'CLOSE' => $close_bracket,
'PAGINATION' => topic_generate_pagination($fetch_news[$i]['topic_replies'], $view_topic_url),
));
if ($portal_config['portal_number_of_announcements'] <> 0 && $portal_config['portal_announcements_archive'])
{
$template->assign_vars(array(
'AP_PAGINATION' => $pagination,
'TOTAL_ANNOUNCEMENTS' => ($total_announcements == 1) ? $user->lang['VIEW_LATEST_ANNOUNCEMENT'] : sprintf($user->lang['VIEW_LATEST_ANNOUNCEMENTS'], $total_announcements),
'AP_PAGE_NUMBER' => on_page($total_announcements, $portal_config['portal_number_of_announcements'], $start))
);
}
}
$template->assign_vars(array(
'NEWEST_POST_IMG' => $user->img('icon_topic_newest', 'VIEW_NEWEST_POST'),
'READ_POST_IMG' => $user->img('icon_topic_latest', 'VIEW_NEWEST_POST'),
'GOTO_PAGE_IMG' => $user->img('icon_post_target', 'GOTO_PAGE'),
'S_DISPLAY_ANNOUNCEMENTS' => true,
));

View File

@@ -26,14 +26,74 @@ if (!defined('IN_PORTAL'))
$template->assign_vars(array(
'NEWEST_POST_IMG' => $user->img('icon_topic_newest', 'VIEW_NEWEST_POST'),
'READ_POST_IMG' => $user->img('icon_topic_latest', 'VIEW_NEWEST_POST'),
'GOTO_PAGE_IMG' => $user->img('icon_post_target', 'GOTO_PAGE'),
'S_DISPLAY_NEWS' => true,
));
#if (!isset($HTTP_GET_VARS['article']))
$news = request_var('news', -1);
$user->add_lang('viewforum');
$start = request_var('np', 0);
$start = ($start < 0) ? 0 : $start;
// Pagnition
if ( $portal_config['portal_news_archive'] )
{
$permissions = $portal_config['portal_news_permissions'];
$forum_from = $portal_config['portal_news_forum'];
$forum_from = ( strpos($forum_from, ',') !== FALSE ) ? explode(',', $forum_from) : (($forum_from != '') ? array($forum_from) : array());
$str_where = '';
if( $permissions == TRUE )
{
$disallow_access = array_unique(array_keys($auth->acl_getf('!f_read', true)));
} else {
$disallow_access = array();
}
if( sizeof($forum_from) )
{
$disallow_access = array_diff($forum_from, $disallow_access);
if( !sizeof($disallow_access) )
{
return array();
}
foreach( $disallow_access as $acc_id)
{
$acc_id = (int) $acc_id;
$str_where .= "forum_id = $acc_id OR ";
}
}
else
{
foreach( $disallow_access as $acc_id )
{
$acc_id = (int) $acc_id;
$str_where .= "forum_id <> $acc_id AND ";
}
}
$str_where = ( strlen($str_where) > 0 ) ? 'AND (' . trim(substr($str_where, 0, -4)) . ')' : '';
$topic_type = ($portal_config['portal_show_all_news']) ? '( topic_type <> ' . POST_ANNOUNCE . ' ) AND ( topic_type <> ' . POST_GLOBAL . ')' : 'topic_type = ' . POST_NORMAL;
$sql = 'SELECT COUNT(topic_id) AS num_topics
FROM ' . TOPICS_TABLE . '
WHERE ' . $topic_type . '
AND topic_approved = 1
AND topic_moved_id = 0
' . $str_where;
$result = $db->sql_query($sql);
$total_news = (int) $db->sql_fetchfield('num_topics');
$db->sql_freeresult($result);
}
if($news < 0)
{
$fetch_news = phpbb_fetch_posts($portal_config['portal_news_forum'], $portal_config['portal_news_permissions'], $portal_config['portal_number_of_news'], $portal_config['portal_news_length'], 0, ($portal_config['portal_show_all_news']) ? 'news_all' : 'news');
$fetch_news = phpbb_fetch_posts($portal_config['portal_news_forum'], $portal_config['portal_news_permissions'], $portal_config['portal_number_of_news'], $portal_config['portal_news_length'], 0, ($portal_config['portal_show_all_news']) ? 'news_all' : 'news', $start);
if (count($fetch_news) == 0)
{
@@ -64,67 +124,103 @@ if($news < 0)
$topic_id = $fetch_news[$i]['topic_id'];
$topic_tracking_info = get_complete_topic_tracking($forum_id, $topic_id, $global_announce_list = false);
$unread_topic = (isset($topic_tracking_info[$topic_id]) && $fetch_news[$i]['topic_last_post_time'] > $topic_tracking_info[$topic_id]) ? true : false;
$read_full_url = (isset($_GET['np'])) ? 'np='. $start . '&amp;news=' . $i . '#n' . $i : 'news=' . $i . '#n' . $i;
$view_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . (($fetch_news[$i]['forum_id']) ? $fetch_news[$i]['forum_id'] : $forum_id) . '&amp;t=' . $topic_id);
if ( $portal_config['portal_news_archive'] )
{
$pagination = generate_portal_pagination(append_sid("{$phpbb_root_path}portal.$phpEx"), $total_news, $portal_config['portal_number_of_news'], $start, ($portal_config['portal_show_all_news']) ? 'news_all' : 'news');
}
$template->assign_block_vars('news_row', array(
'ATTACH_ICON_IMG' => ($fetch_news[$i]['attachment']) ? $user->img('icon_topic_attach', $user->lang['TOTAL_ATTACHMENTS']) : '',
'FORUM_NAME' => ( $forum_id ) ? $fetch_news[$i]['forum_name'] : '',
'TITLE' => $fetch_news[$i]['topic_title'],
'POSTER' => $fetch_news[$i]['username'],
'POSTER_FULL' => $fetch_news[$i]['username_full'],
'U_USER_PROFILE' => (($fetch_news[$i]['user_type'] == USER_NORMAL || $fetch_news[$i]['user_type'] == USER_FOUNDER) && $fetch_news[$i]['user_id'] != ANONYMOUS) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&amp;u=' . $fetch_news[$i]['user_id']) : '',
'TIME' => $fetch_news[$i]['topic_time'],
'TEXT' => $fetch_news[$i]['post_text'],
'REPLIES' => $fetch_news[$i]['topic_replies'],
'TITLE' => $fetch_news[$i]['topic_title'],
'POSTER' => $fetch_news[$i]['username'],
'POSTER_FULL' => $fetch_news[$i]['username_full'],
'U_USER_PROFILE' => (($fetch_news[$i]['user_type'] == USER_NORMAL || $fetch_news[$i]['user_type'] == USER_FOUNDER) && $fetch_news[$i]['user_id'] != ANONYMOUS) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&amp;u=' . $fetch_news[$i]['user_id']) : '',
'TIME' => $fetch_news[$i]['topic_time'],
'TEXT' => $fetch_news[$i]['post_text'],
'REPLIES' => $fetch_news[$i]['topic_replies'],
'TOPIC_VIEWS' => $fetch_news[$i]['topic_views'],
'N_ID' => $i,
'U_VIEWFORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $fetch_news[$i]['forum_id']),
'U_LAST_COMMENTS' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $fetch_news[$i]['forum_id'] . '&amp;p=' . $fetch_news[$i]['topic_last_post_id'] . '#p' . $fetch_news[$i]['topic_last_post_id']),
'U_VIEW_COMMENTS' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $fetch_news[$i]['forum_id'] . '&amp;t=' . $fetch_news[$i]['topic_id']),
'U_POST_COMMENT' => append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=reply&amp;f=' . $fetch_news[$i]['forum_id'] . '&amp;t=' . $fetch_news[$i]['topic_id']),
'U_READ_FULL' => append_sid("{$phpbb_root_path}portal.$phpEx", 'news=' . $i),
'L_READ_FULL' => $read_full,
'OPEN' => $open_bracket,
'U_READ_FULL' => append_sid("{$phpbb_root_path}portal.$phpEx", $read_full_url),
'L_READ_FULL' => $read_full,
'OPEN' => $open_bracket,
'CLOSE' => $close_bracket,
'S_NOT_LAST' => ($i < count($fetch_news) - 1) ? true : false,
'S_POLL' => $fetch_news[$i]['poll'],
'S_NOT_LAST' => ($i < count($fetch_news) - 1) ? true : false,
'S_POLL' => $fetch_news[$i]['poll'],
'S_UNREAD_INFO' => $unread_topic,
'PAGINATION' => topic_generate_pagination($fetch_news[$i]['topic_replies'], $view_topic_url),
));
if ($portal_config['portal_number_of_news'] <> 0 && $portal_config['portal_news_archive'])
{
$template->assign_vars(array(
'NP_PAGINATION' => $pagination,
'TOTAL_NEWS' => ($total_news == 1) ? $user->lang['VIEW_FORUM_TOPIC'] : sprintf($user->lang['VIEW_FORUM_TOPICS'], $total_news),
'NP_PAGE_NUMBER' => on_page($total_news, $portal_config['portal_number_of_news'], $start))
);
}
}
}
}
else
{
$fetch_news = phpbb_fetch_posts($portal_config['portal_news_forum'], $portal_config['portal_news_permissions'], $portal_config['portal_number_of_news'], 0, 0, ($portal_config['portal_show_all_news']) ? 'news_all' : 'news');
$fetch_news = phpbb_fetch_posts($portal_config['portal_news_forum'], $portal_config['portal_news_permissions'], $portal_config['portal_number_of_news'], 0, 0, ($portal_config['portal_show_all_news']) ? 'news_all' : 'news', $start);
$i = $news;
$forum_id = $fetch_news[$i]['forum_id'];
$topic_id = $fetch_news[$i]['topic_id'];
$topic_tracking_info = get_complete_topic_tracking($forum_id, $topic_id, $global_announce_list = false);
$unread_topic = (isset($topic_tracking_info[$topic_id]) && $fetch_news[$i]['topic_last_post_time'] > $topic_tracking_info[$topic_id]) ? true : false;
$open_bracket = '[ ';
$close_bracket = ' ]';
$read_full = $user->lang['BACK'];
$forum_id = $fetch_news[$i]['forum_id'];
$topic_id = $fetch_news[$i]['topic_id'];
$topic_tracking_info = get_complete_topic_tracking($forum_id, $topic_id, $global_announce_list = false);
$unread_topic = (isset($topic_tracking_info[$topic_id]) && $fetch_news[$i]['topic_last_post_time'] > $topic_tracking_info[$topic_id]) ? true : false;
$open_bracket = '[ ';
$close_bracket = ' ]';
$read_full = $user->lang['BACK'];
$read_full_url = (isset($_GET['np'])) ? append_sid("{$phpbb_root_path}portal.$phpEx", "np=$start#n$i") : append_sid("{$phpbb_root_path}portal.$phpEx#n$i");
$view_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . (($fetch_news[$i]['forum_id']) ? $fetch_news[$i]['forum_id'] : $forum_id) . '&amp;t=' . $topic_id);
if ( $portal_config['portal_news_archive'] )
{
$pagination = generate_portal_pagination(append_sid("{$phpbb_root_path}portal.$phpEx"), $total_news, $portal_config['portal_number_of_news'], $start, ($portal_config['portal_show_all_news']) ? 'news_all' : 'news');
}
$template->assign_block_vars('news_row', array(
'ATTACH_ICON_IMG' => ($fetch_news[$i]['attachment']) ? $user->img('icon_topic_attach', $user->lang['TOTAL_ATTACHMENTS']) : '',
'FORUM_NAME' => ( $forum_id ) ? $fetch_news[$i]['forum_name'] : '',
'TITLE' => $fetch_news[$i]['topic_title'],
'POSTER' => $fetch_news[$i]['username'],
'POSTER_FULL' => $fetch_news[$i]['username_full'],
'TIME' => $fetch_news[$i]['topic_time'],
'TEXT' => $fetch_news[$i]['post_text'],
'REPLIES' => $fetch_news[$i]['topic_replies'],
'TITLE' => $fetch_news[$i]['topic_title'],
'POSTER' => $fetch_news[$i]['username'],
'POSTER_FULL' => $fetch_news[$i]['username_full'],
'TIME' => $fetch_news[$i]['topic_time'],
'TEXT' => $fetch_news[$i]['post_text'],
'REPLIES' => $fetch_news[$i]['topic_replies'],
'TOPIC_VIEWS' => $fetch_news[$i]['topic_views'],
'N_ID' => $i,
'U_VIEWFORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $fetch_news[$i]['forum_id']),
'U_LAST_COMMENTS' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $fetch_news[$i]['forum_id'] . '&amp;p=' . $fetch_news[$i]['topic_last_post_id'] . '#p' . $fetch_news[$i]['topic_last_post_id']),
'U_VIEW_COMMENTS' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $fetch_news[$i]['forum_id'] . '&amp;t=' . $fetch_news[$i]['topic_id']),
'U_POST_COMMENT' => append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=reply&amp;f=' . $fetch_news[$i]['forum_id'] . '&amp;t=' . $fetch_news[$i]['topic_id']),
'S_POLL' => $fetch_news[$i]['poll'],
'S_POLL' => $fetch_news[$i]['poll'],
'S_UNREAD_INFO' => $unread_topic,
'U_READ_FULL' => append_sid("{$phpbb_root_path}portal.$phpEx"),
'U_READ_FULL' => $read_full_url,
'L_READ_FULL' => $read_full,
'OPEN' => $open_bracket,
'CLOSE' => $close_bracket,
'OPEN' => $open_bracket,
'CLOSE' => $close_bracket,
'PAGINATION' => topic_generate_pagination($fetch_news[$i]['topic_replies'], $view_topic_url),
));
if ($portal_config['portal_number_of_news'] <> 0 && $portal_config['portal_news_archive'])
{
$template->assign_vars(array(
'NP_PAGINATION' => $pagination,
'TOTAL_NEWS' => ($total_news == 1) ? $user->lang['VIEW_FORUM_TOPIC'] : sprintf($user->lang['VIEW_FORUM_TOPICS'], $total_news),
'NP_PAGE_NUMBER' => on_page($total_news, $portal_config['portal_number_of_news'], $start))
);
}
}
?>

View File

@@ -71,7 +71,7 @@ function set_portal_config($config_name, $config_value)
include($phpbb_root_path . 'includes/message_parser.'.$phpEx);
// fetch post for news & announce
function phpbb_fetch_posts($forum_from, $permissions, $number_of_posts, $text_length, $time, $type)
function phpbb_fetch_posts($forum_from, $permissions, $number_of_posts, $text_length, $time, $type, $start = 0)
{
global $db, $phpbb_root_path, $auth, $user, $bbcode_bitfield, $bbcode;
@@ -118,6 +118,8 @@ function phpbb_fetch_posts($forum_from, $permissions, $number_of_posts, $text_le
$str_where .= "t.forum_id <> $acc_id AND ";
}
}
$portal_config = obtain_portal_config();
switch( $type )
{
@@ -135,7 +137,16 @@ function phpbb_fetch_posts($forum_from, $permissions, $number_of_posts, $text_le
$topic_type = 't.topic_type = ' . POST_NORMAL;
$str_where = ( strlen($str_where) > 0 ) ? 'AND (' . trim(substr($str_where, 0, -4)) . ')' : '';
$user_link = 't.topic_last_poster_id = u.user_id';
$post_link = 't.topic_last_post_id = p.post_id';
if ( $portal_config['portal_news_show_last'] )
{
$post_link = 't.topic_last_post_id = p.post_id';
}
else
{
$post_link = 't.topic_first_post_id = p.post_id';
}
$topic_order = 't.topic_last_post_time DESC';
break;
@@ -144,7 +155,16 @@ function phpbb_fetch_posts($forum_from, $permissions, $number_of_posts, $text_le
$topic_type = '( t.topic_type <> ' . POST_ANNOUNCE . ' ) AND ( t.topic_type <> ' . POST_GLOBAL . ')';
$str_where = ( strlen($str_where) > 0 ) ? 'AND (' . trim(substr($str_where, 0, -4)) . ')' : '';
$user_link = 't.topic_last_poster_id = u.user_id';
$post_link = 't.topic_last_post_id = p.post_id';
if ( $portal_config['portal_news_show_last'] )
{
$post_link = 't.topic_last_post_id = p.post_id';
}
else
{
$post_link = 't.topic_first_post_id = p.post_id';
}
$topic_order = 't.topic_last_post_time DESC';
break;
@@ -223,14 +243,13 @@ function phpbb_fetch_posts($forum_from, $permissions, $number_of_posts, $text_le
ORDER BY
' . $topic_order;
if( $number_of_posts == '' OR $number_of_posts == 0)
{
if ($number_of_posts <> 0)
{
$sql .= '
LIMIT
'.$start.',' . $number_of_posts;
}
$result = $db->sql_query($sql);
}
else
{
$result = $db->sql_query_limit($sql, $number_of_posts);
}
// Instantiate BBCode if need be
if ($bbcode_bitfield !== '')
@@ -283,7 +302,7 @@ function phpbb_fetch_posts($forum_from, $permissions, $number_of_posts, $text_le
$posts[$i] = array_merge($posts[$i], array(
'post_text' => ap_validate($message),
'topic_id' => $row['topic_id'],
'topic_last_post_id' => $row['topic_last_post_id'],
'topic_last_post_id' => $row['post_id'],
'forum_id' => $row['forum_id'],
'topic_replies' => $row['topic_replies'],
'topic_time' => $user->format_date($row['post_time']),
@@ -432,4 +451,99 @@ function ap_validate($str) {
return str_replace('</li><br/>', '</li>', $s);
}
/**
* Pagination routine, generates page number sequence
* tpl_prefix is for using different pagination blocks at one page
*/
function generate_portal_pagination($base_url, $num_items, $per_page, $start_item, $type, $add_prevnext_text = false, $tpl_prefix = '')
{
global $template, $user;
switch( $type )
{
case "announcements":
$pagination_type = 'ap';
break;
case "news":
case "news_all":
$pagination_type = 'np';
break;
}
// Make sure $per_page is a valid value
$per_page = ($per_page <= 0) ? 1 : $per_page;
$seperator = '<span class="page-sep">' . $user->lang['COMMA_SEPARATOR'] . '</span>';
$total_pages = ceil($num_items / $per_page);
if ($total_pages == 1 || !$num_items)
{
return false;
}
$on_page = floor($start_item / $per_page) + 1;
$url_delim = (strpos($base_url, '?') === false) ? '?' : '&amp;';
$page_string = ($on_page == 1) ? '<strong>1</strong>' : '<a href="' . $base_url . '">1</a>';
if ($total_pages > 5)
{
$start_cnt = min(max(1, $on_page - 4), $total_pages - 5);
$end_cnt = max(min($total_pages, $on_page + 4), 6);
$page_string .= ($start_cnt > 1) ? ' ... ' : $seperator;
for ($i = $start_cnt + 1; $i < $end_cnt; $i++)
{
$page_string .= ($i == $on_page) ? '<strong>' . $i . '</strong>' : '<a href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($i - 1) * $per_page) . '">' . $i . '</a>';
if ($i < $end_cnt - 1)
{
$page_string .= $seperator;
}
}
$page_string .= ($end_cnt < $total_pages) ? ' ... ' : $seperator;
}
else
{
$page_string .= $seperator;
for ($i = 2; $i < $total_pages; $i++)
{
$page_string .= ($i == $on_page) ? '<strong>' . $i . '</strong>' : '<a href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($i - 1) * $per_page) . '">' . $i . '</a>';
if ($i < $total_pages)
{
$page_string .= $seperator;
}
}
}
$page_string .= ($on_page == $total_pages) ? '<strong>' . $total_pages . '</strong>' : '<a href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($total_pages - 1) * $per_page) . '">' . $total_pages . '</a>';
if ($add_prevnext_text)
{
if ($on_page != 1)
{
$page_string = '<a href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . (($on_page - 2) * $per_page) . '">' . $user->lang['PREVIOUS'] . '</a>&nbsp;&nbsp;' . $page_string;
}
if ($on_page != $total_pages)
{
$page_string .= '&nbsp;&nbsp;<a href="' . $base_url . "{$url_delim}" . $pagination_type . '=' . ($on_page * $per_page) . '">' . $user->lang['NEXT'] . '</a>';
}
}
$template->assign_vars(array(
$tpl_prefix . 'BASE_URL' => $base_url,
'A_' . $tpl_prefix . 'BASE_URL' => addslashes($base_url),
$tpl_prefix . 'PER_PAGE' => $per_page,
$tpl_prefix . 'PREVIOUS_PAGE' => ($on_page == 1) ? '' : $base_url . "{$url_delim}" . $pagination_type . '=' . (($on_page - 2) * $per_page),
$tpl_prefix . 'NEXT_PAGE' => ($on_page == $total_pages) ? '' : $base_url . "{$url_delim}" . $pagination_type . '=' . ($on_page * $per_page),
$tpl_prefix . 'TOTAL_PAGES' => $total_pages,
));
return $page_string;
}
?>

View File

@@ -4,36 +4,52 @@
<ul class="topiclist">
<li class="header"><dl><dt>{L_LATEST_ANNOUNCEMENTS}</dt></dl></li>
</ul>
<div class="panel">
<div class="inner"><span class="corners-top"><span></span></span>
<div class="postbody" style="width: 100%">
<div class="postbody" style="width: 100%">
<!-- BEGIN announcements_row -->
<!-- IF announcements_row.S_NO_TOPICS -->
<span style="text-align: center;"><strong>{L_NO_ANNOUNCEMENTS}</strong></span>
<!-- ELSE -->
<h4 class="first"><!-- IF announcements_row.S_UNREAD_INFO -->{NEWEST_POST_IMG}<!-- ELSE -->{READ_POST_IMG}<!-- ENDIF --> {announcements_row.ATTACH_ICON_IMG} <!-- IF announcements_row.S_POLL --> <strong>{L_POLL}: </strong><!-- ENDIF --><a href="{announcements_row.U_VIEW_COMMENTS}"><strong>{announcements_row.TITLE}</strong></a></h4>
<div class="post <!-- IF announcements_row.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
<div class="inner"><span class="corners-top"><span></span></span>
<h4 class="first"><a name="a{announcements_row.A_ID}"></a><!-- IF announcements_row.S_UNREAD_INFO -->{NEWEST_POST_IMG}<!-- ELSE -->{READ_POST_IMG}<!-- ENDIF --> {announcements_row.ATTACH_ICON_IMG} <!-- IF announcements_row.S_POLL --> <strong>{L_POLL}: </strong><!-- ENDIF --><a href="{announcements_row.U_VIEW_COMMENTS}"><strong>{announcements_row.TITLE}</strong></a></h4>
<!-- IF announcements_row.PAGINATION --><strong class="pagination"><span>{announcements_row.PAGINATION}</span></strong><!-- ENDIF -->
<ul class="linklist">
<li>{L_POSTED_BY}: {announcements_row.POSTER_FULL}<!-- IF announcements_row.FORUM_NAME --> &nbsp;&bull;&nbsp; {L_FORUM}: <strong><a href="{announcements_row.U_VIEWFORUM}">{announcements_row.FORUM_NAME}</a></strong>
<li>{L_POSTED_BY}: {announcements_row.POSTER_FULL} {L_POSTED_ON_DATE}: {announcements_row.TIME}</li>
</ul>
<ul class="linklist">
<li>
<!-- IF announcements_row.FORUM_NAME -->
{L_FORUM}: <strong><a href="{announcements_row.U_VIEWFORUM}">{announcements_row.FORUM_NAME}</a></strong>
<!-- ELSE -->
&nbsp;&bull;&nbsp; {L_GLOBAL_ANNOUNCEMENT}
{L_GLOBAL_ANNOUNCEMENT}
<!-- ENDIF -->
</li>
<li class="rightside">{announcements_row.TIME}</li>
</ul>
<div class="content">
<br />
{announcements_row.TEXT}
</div>
<br style="clear:both" />
<div class="content">
<br />
{announcements_row.TEXT}
</div>
<br style="clear:both" />
<span style="float: left;">{L_TOPIC_VIEWS}: {announcements_row.TOPIC_VIEWS} &nbsp;&bull;&nbsp; <a href="{announcements_row.U_VIEW_COMMENTS}" title="{L_VIEW_COMMENTS}">{L_COMMENTS}: {announcements_row.REPLIES}</a> &nbsp;&bull;&nbsp; <a href="{announcements_row.U_POST_COMMENT}">{L_POST_REPLY}</a></span>
<span style="float: right; margin: 0 0 5px 0">{announcements_row.OPEN}<a href="{announcements_row.U_READ_FULL}">{announcements_row.L_READ_FULL}</a>{announcements_row.CLOSE}</span>
<div class="back2top"><a href="#wrap" class="top" title="{L_BACK_TO_TOP}">{L_BACK_TO_TOP}</a></div>
<!-- IF announcements_row.S_NOT_LAST --><hr /><!-- ENDIF -->
<!-- IF announcements_row.S_NOT_LAST --><br style="clear:both" /><!-- ENDIF -->
<!-- IF announcements_row.S_LAST_ROW -->
<!-- IF AP_PAGINATION or TOTAL_ANNOUNCEMENTS -->
<hr class="dashed" />
<div class="pagination">
{TOTAL_ANNOUNCEMENTS}
<!-- IF AP_PAGE_NUMBER --><!-- IF AP_PAGINATION --> &bull; {AP_PAGE_NUMBER} &bull; <span>{AP_PAGINATION}</span><!-- ELSE --> &bull; {AP_PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF -->
</div>
<!-- ENDIF -->
<!-- END announcements_row -->
<!-- ENDIF -->
<span class="corners-bottom"><span></span></span></div>
</div>
<span class="corners-bottom"><span></span></span></div>
</div>
<!-- BEGINELSE -->
<div class="post bg3">
<div class="inner"><span class="corners-top"><span></span></span>
<span style="text-align: center;"><strong>{L_NO_ANNOUNCEMENTS}</strong></span>
<span class="corners-bottom"><span></span></span></div>
</div>
<!-- END announcements_row -->
</div>
<span class="corners-bottom"><span></span></span>
</div>
</div>

View File

@@ -1,47 +1,65 @@
<!-- BEGIN announcements_row -->
<!-- IF announcements_row.S_FIRST_ROW -->
<div class="forabg">
<div class="inner">
<span class="corners-top"><span></span></span>
<ul class="topiclist">
<li class="header"><dl><dt>{L_LATEST_ANNOUNCEMENTS}</dt></dl></li>
</ul>
<ul class="topiclist forums">
<li>
<dl>
<dd class="posts_portal" style="border-left:0px">
<ul class="news">
<!-- BEGIN announcements_row -->
<!-- IF announcements_row.S_NO_TOPICS -->
<li>
<span class="gensmall" style="text-align: center; margin: 0 0 0 5px;"><strong>{L_NO_ANNOUNCEMENTS}</strong></span>
</li>
<!-- ELSE -->
<li>
<span style="float: left; margin: 0 0 0 5px;"><img src="{T_THEME_PATH}/images/arrow_right.gif" alt=""/>
<ul class="topiclist topics">
<!-- ENDIF -->
<li class="row<!-- IF announcements_row.S_ROW_COUNT is even --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
<dl>
<dt style="border-left:0px; width: 99%">
<img src="{T_THEME_PATH}/images/arrow_right.gif" alt=""/>
<!-- IF announcements_row.S_UNREAD_INFO -->{NEWEST_POST_IMG}<!-- ELSE -->{READ_POST_IMG}<!-- ENDIF --> {announcements_row.ATTACH_ICON_IMG} <!-- IF announcements_row.S_POLL --> <strong>{L_POLL}: </strong><!-- ENDIF -->
<a href="{announcements_row.U_VIEW_COMMENTS}" title="{announcements_row.TITLE}"><strong style="font-size:1.1em;">{announcements_row.TITLE}</strong></a></span>
<span style="float: right; margin: 0 5px 0 0;">{L_POST_BY_AUTHOR}: {announcements_row.POSTER_FULL}</span>
<a href="{announcements_row.U_VIEW_COMMENTS}" title="{announcements_row.TITLE}" class="topictitle">{announcements_row.TITLE}</a>
<br style="clear:both" />
<!-- IF announcements_row.PAGINATION --><strong class="pagination"><span>{announcements_row.PAGINATION}</span></strong><!-- ENDIF -->
{L_POST_BY_AUTHOR} {announcements_row.POSTER_FULL} {L_POSTED_ON_DATE} {announcements_row.TIME}
<br style="clear:both" />
<!-- IF announcements_row.FORUM_NAME -->
<span style="float: left; font-size:1.0em; margin: 2px 0 0 28px;">{L_FORUM}: <strong><a href="{announcements_row.U_VIEWFORUM}">{announcements_row.FORUM_NAME}</a></strong></span>
{L_FORUM}: <strong><a href="{announcements_row.U_VIEWFORUM}">{announcements_row.FORUM_NAME}</a></strong>
<!-- ELSE -->
<span style="float: left; font-size:1.0em; margin: 2px 0 0 28px;">{L_GLOBAL_ANNOUNCEMENT}</span>
{L_GLOBAL_ANNOUNCEMENT}
<!-- ENDIF -->
<span style="float: right; margin: 0 5px 0 0;">{L_POSTED_ON_DATE} <strong>{announcements_row.TIME}</strong></span>
<br style="clear:both" />
<span style="float: left; margin: 0 0 0 28px;">
<!-- IF S_CAN_READ --><a href="{announcements_row.U_VIEW_COMMENTS}" title="{L_VIEW_COMMENTS}"><span style="font-size:0.9em;"><em>{L_COMMENTS}: {announcements_row.REPLIES}</em></span></a><!-- ENDIF -->
<span style="font-size:0.9em;"><em>{L_TOPIC_VIEWS}: {announcements_row.TOPIC_VIEWS}</em></span>
</span>
<!-- IF announcements_row.S_NOT_LAST --><hr style="margin: 0px 0px 3px 0px;" /><!-- ENDIF -->
</li>
<!-- ENDIF -->
<!-- END announcements_row -->
</ul>
</dd>
</dl>
<span style="float: left; font-size:0.9em;"><a href="{announcements_row.U_VIEW_COMMENTS}" title="{L_VIEW_COMMENTS}"><em>{L_COMMENTS}: {announcements_row.REPLIES}</em></a>
<em>&nbsp;&bull;&nbsp;{L_TOPIC_VIEWS}: {announcements_row.TOPIC_VIEWS}</em></span>
</dt>
</dl>
</li>
<!-- IF announcements_row.S_LAST_ROW -->
</ul>
<span class="corners-bottom"><span></span></span>
</div>
</div>
<!-- ENDIF -->
<!-- BEGINELSE -->
<div class="forabg">
<div class="inner">
<span class="corners-top"><span></span></span>
<ul class="topiclist">
<li class="header"><dl><dt>{L_LATEST_ANNOUNCEMENTS}</dt></dl></li>
</ul>
<ul class="topiclist topics">
<li class="bg3">
<dl>
<dt style="border-left:0px; width: 99%">
<span class="gensmall" style="font-weight: bold;">{L_NO_ANNOUNCEMENTS}</span>
</dt>
</dl>
</li>
</ul>
<span class="corners-bottom"><span></span></span>
</div>
</div>
<!-- END announcements_row -->
<!-- IF AP_PAGINATION or TOTAL_ANNOUNCEMENTS -->
<div class="pagination">
{TOTAL_ANNOUNCEMENTS}
<!-- IF AP_PAGE_NUMBER --><!-- IF AP_PAGINATION --> &bull; {AP_PAGE_NUMBER} &bull; <span>{AP_PAGINATION}</span><!-- ELSE --> &bull; {AP_PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF -->
</div>
<br />
<!-- ENDIF -->
<br style="clear:both" />

View File

@@ -4,32 +4,46 @@
<ul class="topiclist">
<li class="header"><dl><dt>{L_LATEST_NEWS}</dt></dl></li>
</ul>
<div class="panel">
<div class="inner"><span class="corners-top"><span></span></span>
<div class="postbody" style="width: 100%">
<div class="postbody" style="width: 100%">
<!-- BEGIN news_row -->
<!-- IF news_row.S_NO_TOPICS -->
<span style="text-align: center;"><strong>{L_NO_NEWS}</strong></span>
<!-- ELSE -->
<h4 class="first"><!-- IF news_row.S_UNREAD_INFO -->{NEWEST_POST_IMG}<!-- ELSE -->{READ_POST_IMG}<!-- ENDIF --> {news_row.ATTACH_ICON_IMG} <!-- IF news_row.S_POLL --><strong>{L_POLL}: </strong><!-- ENDIF --><a href="{news_row.U_VIEW_COMMENTS}"><strong>{news_row.TITLE}</strong></a></h4>
<div class="post <!-- IF news_row.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
<div class="inner"><span class="corners-top"><span></span></span>
<h4 class="first"><a name="n{news_row.N_ID}"></a><!-- IF news_row.S_UNREAD_INFO -->{NEWEST_POST_IMG}<!-- ELSE -->{READ_POST_IMG}<!-- ENDIF --> {news_row.ATTACH_ICON_IMG} <!-- IF news_row.S_POLL --><strong>{L_POLL}: </strong><!-- ENDIF --><a href="{news_row.U_LAST_COMMENTS}"><strong>{news_row.TITLE}</strong></a></h4>
<!-- IF news_row.PAGINATION --><strong class="pagination"><span>{news_row.PAGINATION}</span></strong><!-- ENDIF -->
<ul class="linklist">
<li>{L_POSTED_BY}: {news_row.POSTER_FULL}<!-- IF news_row.FORUM_NAME --> &nbsp;&bull;&nbsp; {L_FORUM}: <strong><a href="{news_row.U_VIEWFORUM}">{news_row.FORUM_NAME}</a></strong><!-- ENDIF --></li>
<li class="rightside">{news_row.TIME}</li>
</ul>
<li>{L_LAST_POST} {L_POST_BY_AUTHOR}: {news_row.POSTER_FULL} {L_POSTED_ON_DATE} {news_row.TIME}</li>
</ul>
<ul class="linklist">
<li>{L_FORUM}: <strong><a href="{news_row.U_VIEWFORUM}">{news_row.FORUM_NAME}</a></strong></li>
</ul>
<div class="content">
<br />
{news_row.TEXT}
</div>
<br style="clear:both" />
<span style="float: left;">{L_TOPIC_VIEWS}: {news_row.TOPIC_VIEWS} &nbsp;&bull;&nbsp; <a href="{news_row.U_VIEW_COMMENTS}" title="{L_VIEW_COMMENTS}">{L_COMMENTS}: {news_row.REPLIES}</a> &nbsp;&bull;&nbsp; <a href="{news_row.U_POST_COMMENT}">{L_POST_REPLY}</a></span>
<span style="float: left;">{L_TOPIC_VIEWS}: {news_row.TOPIC_VIEWS} &nbsp;&bull;&nbsp; <a href="{news_row.U_VIEW_COMMENTS}" title="{L_VIEW_COMMENTS}">{L_COMMENTS}: {news_row.REPLIES}</a> &nbsp;&bull;&nbsp; <a href="{news_row.U_POST_COMMENT}">{L_POST_REPLY}</a></span>
<span style="float: right; margin: 0 0 5px 0">{news_row.OPEN}<a href="{news_row.U_READ_FULL}">{news_row.L_READ_FULL}</a>{news_row.CLOSE}</span>
<div class="back2top"><a href="#wrap" class="top" title="{L_BACK_TO_TOP}">{L_BACK_TO_TOP}</a></div>
<!-- IF news_row.S_NOT_LAST --><hr /><!-- ENDIF -->
<div class="back2top"><a href="#wrap" class="top" title="{L_BACK_TO_TOP}">{L_BACK_TO_TOP}</a></div>
<!-- IF news_row.S_NOT_LAST --><br style="clear:both" /><!-- ENDIF -->
<!-- IF news_row.S_LAST_ROW -->
<!-- IF NP_PAGINATION or TOTAL_NEWS -->
<hr class="dashed" />
<div class="pagination">
{TOTAL_NEWS}
<!-- IF NP_PAGE_NUMBER --><!-- IF NP_PAGINATION --> &bull; {NP_PAGE_NUMBER} &bull; <span>{NP_PAGINATION}</span><!-- ELSE --> &bull; {NP_PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF -->
</div>
<!-- ENDIF -->
<!-- END news_row -->
<!-- ENDIF -->
<span class="corners-bottom"><span></span></span></div>
</div>
<span class="corners-bottom"><span></span></span></div>
</div>
<!-- BEGINELSE -->
<div class="post bg3">
<div class="inner"><span class="corners-top"><span></span></span>
<span style="text-align: center;"><strong>{L_NO_NEWS}</strong></span>
<span class="corners-bottom"><span></span></span></div>
</div>
<!-- END news_row -->
</div>
<span class="corners-bottom"><span></span></span>
</div>
</div>

View File

@@ -1,44 +1,62 @@
<!-- BEGIN news_row -->
<!-- IF news_row.S_FIRST_ROW or news_row.S_NO_TOPICS -->
<div class="forabg">
<div class="inner">
<span class="corners-top"><span></span></span>
<ul class="topiclist">
<li class="header"><dl><dt>{L_LATEST_NEWS}</dt></dl></li>
</ul>
<ul class="topiclist forums">
<li>
<ul class="topiclist topics">
<!-- ENDIF -->
<li class="row<!-- IF news_row.S_ROW_COUNT is even --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
<dl>
<dd class="posts_portal" style="border-left:0px">
<ul class="news">
<!-- BEGIN news_row -->
<!-- IF news_row.S_NO_TOPICS -->
<li>
<span class="gensmall" style="text-align: center; margin: 0 0 0 5px;"><strong>{L_NO_NEWS}</strong></span>
</li>
<!-- ELSE -->
<li>
<span style="float: left; margin: 0 0 0 5px;"><img src="{T_THEME_PATH}/images/arrow_right.gif" alt=""/>
<!-- IF news_row.S_UNREAD_INFO -->{NEWEST_POST_IMG}<!-- ELSE -->{READ_POST_IMG}<!-- ENDIF --> {news_row.ATTACH_ICON_IMG} <!-- IF news_row.S_POLL --><strong>{L_POLL}: </strong><!-- ENDIF --><a href="{news_row.U_LAST_COMMENTS}" title="{L_JUMP_NEWEST}"><strong style="font-size:1.1em;">{news_row.TITLE}</strong></a></span>
<span style="float: right; margin: 0 5px 0 0;">{L_LAST_POST} {L_POST_BY_AUTHOR}: {news_row.POSTER_FULL}</span>
<br style="clear:both" />
<!-- IF news_row.FORUM_NAME -->
<span style="float: left; font-size:1.0em; margin: 2px 0 0 28px;">{L_FORUM}: <strong><a href="{news_row.U_VIEWFORUM}">{news_row.FORUM_NAME}</a></strong></span>
<!-- ENDIF -->
<span style="float: right; margin: 0 5px 0 0;">{L_POSTED_ON_DATE} <strong>{news_row.TIME}</strong></span>
<br style="clear:both" />
<span style="float: left; margin: 0 0 0 28px;">
<a href="{news_row.U_VIEW_COMMENTS}" title="{L_JUMP_FIRST}"><span style="font-size:0.9em;"><em>{L_COMMENTS}: {news_row.REPLIES}</em></span></a>
<span style="font-size:0.9em;"><em>{L_TOPIC_VIEWS}: {news_row.TOPIC_VIEWS}</em></span>
</span>
<!-- IF news_row.S_NOT_LAST --><hr style="margin: 0px 0px 3px 0px;" /><!-- ENDIF -->
</li>
<dt style="border-left:0px; width: 99%">
<img src="{T_THEME_PATH}/images/arrow_right.gif" alt=""/>
<!-- IF news_row.S_UNREAD_INFO -->{NEWEST_POST_IMG}<!-- ELSE -->{READ_POST_IMG}<!-- ENDIF --> {news_row.ATTACH_ICON_IMG} <!-- IF news_row.S_POLL --><strong>{L_POLL}: </strong><!-- ENDIF --><a href="{news_row.U_LAST_COMMENTS}" title="{L_JUMP_NEWEST}" class="topictitle">{news_row.TITLE}</a>
<br style="clear:both" />
<!-- IF news_row.PAGINATION --><strong class="pagination"><span>{news_row.PAGINATION}</span></strong><!-- ENDIF -->
{L_LAST_POST} {L_POST_BY_AUTHOR}: {news_row.POSTER_FULL} {L_POSTED_ON_DATE} {news_row.TIME}
<br style="clear:both" />
<!-- IF news_row.FORUM_NAME -->
{L_FORUM}: <strong><a href="{news_row.U_VIEWFORUM}">{news_row.FORUM_NAME}</a></strong>
<br style="clear:both" />
<!-- ENDIF -->
<!-- END news_row -->
</ul>
</dd>
<span style="float: left; font-size:0.9em;"><a href="{news_row.U_VIEW_COMMENTS}" title="{L_JUMP_FIRST}"><em>{L_COMMENTS}: {news_row.REPLIES}</em></a>
<em>&nbsp;&bull;&nbsp;{L_TOPIC_VIEWS}: {news_row.TOPIC_VIEWS}</em></span>
</dt>
</dl>
</li>
<!-- IF news_row.S_LAST_ROW -->
</ul>
<span class="corners-bottom"><span></span></span>
</div>
</div>
<!-- ENDIF -->
<!-- BEGINELSE -->
<div class="forabg">
<div class="inner">
<span class="corners-top"><span></span></span>
<ul class="topiclist">
<li class="header"><dl><dt>{L_LATEST_NEWS}</dt></dl></li>
</ul>
<ul class="topiclist topics">
<li class="bg3">
<dl>
<dt style="border-left:0px; width: 99%">
<span class="gensmall" style="font-weight: bold;">{L_NO_NEWS}</span>
</dt>
</dl>
</li>
</ul>
<span class="corners-bottom"><span></span></span>
</div>
</div>
<!-- END news_row -->
<!-- IF NP_PAGINATION or TOTAL_NEWS -->
<div class="pagination">
{TOTAL_NEWS}
<!-- IF NP_PAGE_NUMBER --><!-- IF NP_PAGINATION --> &bull; {NP_PAGE_NUMBER} &bull; <span>{NP_PAGINATION}</span><!-- ELSE --> &bull; {NP_PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF -->
</div>
<br />
<!-- ENDIF -->
<br style="clear:both" />