diff --git a/languages/de/mods/lang_portal.php b/languages/de/mods/lang_portal.php index 02909c46..84c5659c 100644 --- a/languages/de/mods/lang_portal.php +++ b/languages/de/mods/lang_portal.php @@ -43,6 +43,8 @@ $lang = array_merge($lang, array( // news & global announcements 'LATEST_ANNOUNCEMENTS' => 'Letzte Bekanntmachung', 'GLOBAL_ANNOUNCEMENT' => 'Globale Bekanntmachung', + 'VIEW_LATEST_ANNOUNCEMENT' => '1 Bekanntmachung', + 'VIEW_LATEST_ANNOUNCEMENTS' => '%d Bekanntmachungen', 'LATEST_NEWS' => 'Aktuelle Beiträge', 'READ_FULL' => 'alles lesen', 'NO_NEWS' => 'Keine neuen Beiträge', diff --git a/languages/de/mods/lang_portal_acp.php b/languages/de/mods/lang_portal_acp.php index af483512..bfd37b72 100644 --- a/languages/de/mods/lang_portal_acp.php +++ b/languages/de/mods/lang_portal_acp.php @@ -77,7 +77,7 @@ $lang = array_merge($lang, array( 'PORTAL_RANDOM_MEMBER' => 'Zufälliges Profil', 'PORTAL_RANDOM_MEMBER_EXPLAIN' => 'Diesen Block auf dem Portal anzeigen.', - // global announcements + // announcements 'ACP_PORTAL_ANNOUNCE_INFO' => 'Bekanntmachungen', 'ACP_PORTAL_ANNOUNCE_SETTINGS' => 'Einstellungen für Bekanntmachungen', 'ACP_PORTAL_ANNOUNCE_SETTINGS_EXPLAIN' => 'Hier kannst du die Einstellungen für die Bekanntmachungen ändern.', @@ -95,6 +95,8 @@ $lang = array_merge($lang, array( 'PORTAL_GLOBAL_ANNOUNCEMENTS_FORUM_EXPLAIN' => 'Die Nummer des Forums, aus dem die Bekanntmachungen angezeigt werden sollen. Frei lassen um aus allen Foren anzeigen zu lassen. Mit Komma trennen wenn aus mehreren, ausgewählten Foren angezeigt werden soll, z.B. 1,2,5', 'PORTAL_ANNOUNCEMENTS_PERMISSIONS' => 'Berechtigungen prüfen anschalten?', 'PORTAL_ANNOUNCEMENTS_PERMISSIONS_EXPLAIN' => 'Berücksichtigt Berechtigungen beim Anzeigen der Bekanntmachungen', + 'PORTAL_ANNOUNCEMENTS_ARCHIVE' => 'Das Archivsystem für die Bekanntmachungen aktivieren', + 'PORTAL_ANNOUNCEMENTS_ARCHIVE_EXPLAIN' => 'Wenn aktiviert, wird das Archivsystem / Seitenzahlen angezeigt.', // news 'ACP_PORTAL_NEWS_INFO' => 'Aktuelle Beiträge', @@ -103,7 +105,7 @@ $lang = array_merge($lang, array( 'PORTAL_NEWS' => 'Aktuelle Beiträge anzeigen', 'PORTAL_NEWS_EXPLAIN' => 'Diesen Block auf dem Portal anzeigen.', 'PORTAL_NEWS_STYLE' => 'Kompakter Block Style', - 'PORTAL_NEWS_STYLE_EXPLAIN' => 'Wenn ja angewählt ist, wird die kompakte Ansicht für die aktuellen Beiträge angezeigt, nein ist die große Ansicht.', + 'PORTAL_NEWS_STYLE_EXPLAIN' => 'Wenn ja angewählt ist, wird die kompakte Ansicht für die aktuellen Beiträge angezeigt, nein ist die Textansicht.', 'PORTAL_SHOW_ALL_NEWS' => 'Zeige alle Beiträge dieses Forums', 'PORTAL_SHOW_ALL_NEWS_EXPLAIN' => 'Inklusive Wichtigen.', 'PORTAL_NUMBER_OF_NEWS' => 'Anzahl der Beiträge auf dem Portal', @@ -116,6 +118,10 @@ $lang = array_merge($lang, array( 'PORTAL_EXCLUDE_FORUM_EXPLAIN' => 'Die Nummer der Foren, aus denen Beiträge nicht angezeigt werden sollen. Frei lassen um aus allen Foren anzeigen zu lassen. Mit Komma trennen wenn mehrere Foren ausgeschlossen werden sollen, z.B. 1,2,5', 'PORTAL_NEWS_PERMISSIONS' => 'Berechtigungen prüfen anschalten?', 'PORTAL_NEWS_PERMISSIONS_EXPLAIN' => 'Berücksichtigt Berechtigungen beim Anzeigen der aktuellen Beiträge', + 'PORTAL_NEWS_SHOW_LAST' => 'Den neuesten Beitrag anzeigen', + 'PORTAL_NEWS_SHOW_LAST_EXPLAIN' => 'Wenn aktiviert, wird der neueste Beitrag in der Textansicht angezeigt. Wenn deaktiviert, wird der erste Beitrag des Themas angezeigt.
Im kompakten Block Style wird der Themenlink bei aktivierter Einstellung auf den neuesten Beitrag gesetzt. Ansonsten auf den Ersten.', + 'PORTAL_NEWS_ARCHIVE' => 'Das Archivsystem für die aktuellen Beiträge aktivieren', + 'PORTAL_NEWS_ARCHIVE_EXPLAIN' => 'Wenn aktiviert, wird das Archivsystem / Seitenzahlen angezeigt.', // recent topics 'ACP_PORTAL_RECENT_INFO' => 'Neueste Themen', diff --git a/root/includes/acp/acp_portal.php b/root/includes/acp/acp_portal.php index f9a5cb46..dc923bd9 100644 --- a/root/includes/acp/acp_portal.php +++ b/root/includes/acp/acp_portal.php @@ -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; diff --git a/root/install_portal/schemas/_schema_data.sql b/root/install_portal/schemas/_schema_data.sql index 91409dff..e4f0fcb2 100644 --- a/root/install_portal/schemas/_schema_data.sql +++ b/root/install_portal/schemas/_schema_data.sql @@ -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 # diff --git a/root/install_portal/schemas/update_schema.php b/root/install_portal/schemas/update_schema.php index 8b9ce474..569de8e1 100644 --- a/root/install_portal/schemas/update_schema.php +++ b/root/install_portal/schemas/update_schema.php @@ -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')", ); ?> \ No newline at end of file diff --git a/root/language/en/mods/lang_portal.php b/root/language/en/mods/lang_portal.php index 342650d2..9b4c4fe3 100644 --- a/root/language/en/mods/lang_portal.php +++ b/root/language/en/mods/lang_portal.php @@ -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', diff --git a/root/language/en/mods/lang_portal_acp.php b/root/language/en/mods/lang_portal_acp.php index 9e972e07..2aff1271 100644 --- a/root/language/en/mods/lang_portal_acp.php +++ b/root/language/en/mods/lang_portal_acp.php @@ -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.
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', diff --git a/root/portal/block/announcements.php b/root/portal/block/announcements.php index 52c3d671..c8dbd4ec 100644 --- a/root/portal/block/announcements.php +++ b/root/portal/block/announcements.php @@ -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 . '&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) . '&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 . '&' : '') . '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&' . (($real_forum_id) ? 'f=' . $real_forum_id . '&' : '') . '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) . '&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 . '&' : '') . '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&' . (($forum_id) ? 'f=' . $forum_id . '&' : '') . '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, )); diff --git a/root/portal/block/news.php b/root/portal/block/news.php index 870ba374..e56f3465 100644 --- a/root/portal/block/news.php +++ b/root/portal/block/news.php @@ -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 . '&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) . '&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&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&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'] . '&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'] . '&t=' . $fetch_news[$i]['topic_id']), 'U_POST_COMMENT' => append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=reply&f=' . $fetch_news[$i]['forum_id'] . '&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) . '&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'] . '&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'] . '&t=' . $fetch_news[$i]['topic_id']), 'U_POST_COMMENT' => append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=reply&f=' . $fetch_news[$i]['forum_id'] . '&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)) + ); + } } ?> \ No newline at end of file diff --git a/root/portal/includes/functions.php b/root/portal/includes/functions.php index 9798c9e8..153005e4 100644 --- a/root/portal/includes/functions.php +++ b/root/portal/includes/functions.php @@ -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('
', '', $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 = '' . $user->lang['COMMA_SEPARATOR'] . ''; + $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) ? '?' : '&'; + + $page_string = ($on_page == 1) ? '1' : '1'; + + 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) ? '' . $i . '' : '' . $i . ''; + 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) ? '' . $i . '' : '' . $i . ''; + if ($i < $total_pages) + { + $page_string .= $seperator; + } + } + } + + $page_string .= ($on_page == $total_pages) ? '' . $total_pages . '' : '' . $total_pages . ''; + + if ($add_prevnext_text) + { + if ($on_page != 1) + { + $page_string = '' . $user->lang['PREVIOUS'] . '  ' . $page_string; + } + + if ($on_page != $total_pages) + { + $page_string .= '  ' . $user->lang['NEXT'] . ''; + } + } + + $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; +} + ?> \ No newline at end of file diff --git a/root/styles/prosilver/template/portal/block/announcements.html b/root/styles/prosilver/template/portal/block/announcements.html index 8a4afaa0..ae559d23 100644 --- a/root/styles/prosilver/template/portal/block/announcements.html +++ b/root/styles/prosilver/template/portal/block/announcements.html @@ -4,36 +4,52 @@ -
-
-
+
- - {L_NO_ANNOUNCEMENTS} - -

{NEWEST_POST_IMG}{READ_POST_IMG} {announcements_row.ATTACH_ICON_IMG} {L_POLL}: {announcements_row.TITLE}

+
+
+

{NEWEST_POST_IMG}{READ_POST_IMG} {announcements_row.ATTACH_ICON_IMG} {L_POLL}: {announcements_row.TITLE}

+ {announcements_row.PAGINATION} + -
-
- {announcements_row.TEXT} -
-
+
+
+ {announcements_row.TEXT} +
+
{L_TOPIC_VIEWS}: {announcements_row.TOPIC_VIEWS}  •  {L_COMMENTS}: {announcements_row.REPLIES}  •  {L_POST_REPLY} {announcements_row.OPEN}{announcements_row.L_READ_FULL}{announcements_row.CLOSE} -
+
+ + +
+ - + +
-
-
+ +
+
+ {L_NO_ANNOUNCEMENTS} +
+
+ +
diff --git a/root/styles/prosilver/template/portal/block/announcements_compact.html b/root/styles/prosilver/template/portal/block/announcements_compact.html index 96b76cc6..b6eede2b 100644 --- a/root/styles/prosilver/template/portal/block/announcements_compact.html +++ b/root/styles/prosilver/template/portal/block/announcements_compact.html @@ -1,47 +1,65 @@ + +
- + +
+
+ + +
+
+ + +
+ + + +
+
\ No newline at end of file diff --git a/root/styles/prosilver/template/portal/block/news.html b/root/styles/prosilver/template/portal/block/news.html index e4e5c59f..eaaaab98 100644 --- a/root/styles/prosilver/template/portal/block/news.html +++ b/root/styles/prosilver/template/portal/block/news.html @@ -4,32 +4,46 @@ -
-
-
+
- - {L_NO_NEWS} - -

{NEWEST_POST_IMG}{READ_POST_IMG} {news_row.ATTACH_ICON_IMG} {L_POLL}: {news_row.TITLE}

+
+
+

{NEWEST_POST_IMG}{READ_POST_IMG} {news_row.ATTACH_ICON_IMG} {L_POLL}: {news_row.TITLE}

+ {news_row.PAGINATION} +
  • {L_LAST_POST} {L_POST_BY_AUTHOR}: {news_row.POSTER_FULL} {L_POSTED_ON_DATE} {news_row.TIME}
  • + +

    {news_row.TEXT}

    - {L_TOPIC_VIEWS}: {news_row.TOPIC_VIEWS}  •  {L_COMMENTS}: {news_row.REPLIES}  •  {L_POST_REPLY} + {L_TOPIC_VIEWS}: {news_row.TOPIC_VIEWS}  •  {L_COMMENTS}: {news_row.REPLIES}  •  {L_POST_REPLY} {news_row.OPEN}{news_row.L_READ_FULL}{news_row.CLOSE} - -
    + +
    + + +
    + - + +
    -
    -
    + +
    +
    + {L_NO_NEWS} +
    +
    + +
    diff --git a/root/styles/prosilver/template/portal/block/news_compact.html b/root/styles/prosilver/template/portal/block/news_compact.html index 843db401..7080c91d 100644 --- a/root/styles/prosilver/template/portal/block/news_compact.html +++ b/root/styles/prosilver/template/portal/block/news_compact.html @@ -1,44 +1,62 @@ + +
    -
    +
    + + +
    +
    + + +
    + + + +
    +
    \ No newline at end of file diff --git a/templates/subsilver2/template/portal/block/announcements.html b/templates/subsilver2/template/portal/block/announcements.html index 434729b9..bfca22a3 100644 --- a/templates/subsilver2/template/portal/block/announcements.html +++ b/templates/subsilver2/template/portal/block/announcements.html @@ -5,17 +5,16 @@ - - {L_NO_ANNOUNCEMENTS} - - + - +
    + {NEWEST_POST_IMG}{READ_POST_IMG} {announcements_row.ATTACH_ICON_IMG} {L_POLL}: {announcements_row.TITLE}
    + {L_POSTED_BY}: {announcements_row.POSTER_FULL}  •  {L_FORUM}: {announcements_row.FORUM_NAME} @@ -28,18 +27,30 @@ {announcements_row.TEXT}

    + [ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {announcements_row.PAGINATION} ]
    {L_TOPIC_VIEWS}: {announcements_row.TOPIC_VIEWS}  •  {L_COMMENTS}: {announcements_row.REPLIES}  •  {L_POST_REPLY} {announcements_row.OPEN}{announcements_row.L_READ_FULL}{announcements_row.CLOSE} {L_BACK_TO_TOP}
    -
    - +
    + + {L_NO_ANNOUNCEMENTS} + +
    + + + + +
    + {TOTAL_ANNOUNCEMENTS} + • {AP_PAGE_NUMBER} • {AP_PAGINATION} • {AP_PAGE_NUMBER}
    + diff --git a/templates/subsilver2/template/portal/block/announcements_compact.html b/templates/subsilver2/template/portal/block/announcements_compact.html index e8c1cef2..6aca5400 100644 --- a/templates/subsilver2/template/portal/block/announcements_compact.html +++ b/templates/subsilver2/template/portal/block/announcements_compact.html @@ -3,37 +3,40 @@ {L_LATEST_ANNOUNCEMENTS} - + + + + {NEWEST_POST_IMG}{READ_POST_IMG} {announcements_row.ATTACH_ICON_IMG} {L_POLL}: + {announcements_row.TITLE} +
    + {L_POST_BY_AUTHOR} {announcements_row.POSTER_FULL} {L_POSTED_ON_DATE} {announcements_row.TIME} + [ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {announcements_row.PAGINATION} ] +
    + + {L_FORUM}: {announcements_row.FORUM_NAME} + + {L_GLOBAL_ANNOUNCEMENT} + +
    + {L_COMMENTS}: {announcements_row.REPLIES} +  • {L_TOPIC_VIEWS}: {announcements_row.TOPIC_VIEWS} + + + {L_NO_ANNOUNCEMENTS} - - - - - {NEWEST_POST_IMG}{READ_POST_IMG} {announcements_row.ATTACH_ICON_IMG} {L_POLL}: - {announcements_row.TITLE} - - - {L_POST_BY_AUTHOR}: {announcements_row.POSTER_FULL} - -
    - - {L_FORUM}: {announcements_row.FORUM_NAME} - - {L_GLOBAL_ANNOUNCEMENT} - - {L_POSTED_ON_DATE} {announcements_row.TIME} -
    - - - {L_COMMENTS}: {announcements_row.REPLIES} {L_TOPIC_VIEWS}: {announcements_row.TOPIC_VIEWS} - - - - -
    \ No newline at end of file +
    + + + + + +
    {TOTAL_ANNOUNCEMENTS} + • {AP_PAGE_NUMBER} • {AP_PAGINATION} • {AP_PAGE_NUMBER}
    +
    + \ No newline at end of file diff --git a/templates/subsilver2/template/portal/block/news.html b/templates/subsilver2/template/portal/block/news.html index 2e535b31..542c937e 100644 --- a/templates/subsilver2/template/portal/block/news.html +++ b/templates/subsilver2/template/portal/block/news.html @@ -5,34 +5,47 @@ - - {L_NO_NEWS} - - + - + - +
    {NEWEST_POST_IMG}{READ_POST_IMG} {news_row.ATTACH_ICON_IMG} {L_POLL}: {news_row.TITLE} + + {NEWEST_POST_IMG}{READ_POST_IMG} {news_row.ATTACH_ICON_IMG} {L_POLL}: {news_row.TITLE}
    - {L_POSTED_BY}: {news_row.POSTER_FULL}  •  {L_FORUM}: {news_row.FORUM_NAME} + {L_POSTED_BY}: {news_row.POSTER_FULL} +  •  {L_FORUM}: {news_row.FORUM_NAME} + {news_row.TIME}

    {news_row.TEXT}


    + [ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {news_row.PAGINATION} ]
    {L_TOPIC_VIEWS}: {news_row.TOPIC_VIEWS}  •  {L_COMMENTS}: {news_row.REPLIES}  •  {L_POST_REPLY} {news_row.OPEN}{news_row.L_READ_FULL}{news_row.CLOSE} {L_BACK_TO_TOP}
    - -
    +
    + + {L_NO_NEWS} + +
    + + + + +
    + {TOTAL_NEWS} + • {NP_PAGE_NUMBER} • {NP_PAGINATION} • {NP_PAGE_NUMBER}
    + diff --git a/templates/subsilver2/template/portal/block/news_compact.html b/templates/subsilver2/template/portal/block/news_compact.html index c46bc91d..310b2311 100644 --- a/templates/subsilver2/template/portal/block/news_compact.html +++ b/templates/subsilver2/template/portal/block/news_compact.html @@ -3,27 +3,35 @@ {L_LATEST_NEWS} - + + + {NEWEST_POST_IMG}{READ_POST_IMG} {news_row.ATTACH_ICON_IMG} {L_POLL}: + {news_row.TITLE} +
    + {L_POST_BY_AUTHOR} {news_row.POSTER_FULL} {L_POSTED_ON_DATE} {news_row.TIME} + [ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {news_row.PAGINATION} ] +
    + {L_FORUM}: {news_row.FORUM_NAME} +
    + {L_COMMENTS}: {news_row.REPLIES} +  • {L_TOPIC_VIEWS}: {news_row.TOPIC_VIEWS} + + + {L_NO_NEWS} - - - - - {NEWEST_POST_IMG}{READ_POST_IMG} {news_row.ATTACH_ICON_IMG} {L_POLL}: {news_row.TITLE} - - {L_LAST_POST} {L_POST_BY_AUTHOR}: {news_row.POSTER_FULL} -
    - {L_FORUM}: {news_row.FORUM_NAME} - {L_POSTED_ON_DATE} {news_row.TIME} -
    - {L_COMMENTS}: {news_row.REPLIES} {L_TOPIC_VIEWS}: {news_row.TOPIC_VIEWS} - - - -
    \ No newline at end of file +
    + + + + + +
    {TOTAL_NEWS} + • {NP_PAGE_NUMBER} • {NP_PAGINATION} • {NP_PAGE_NUMBER}
    +
    + \ No newline at end of file