From b894a7dcda1ee37df9a7dfb00c23d8c3c6c7b41e Mon Sep 17 00:00:00 2001 From: pherum83 Date: Wed, 23 Nov 2011 22:54:59 +0000 Subject: [PATCH] r328 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Новости сети git-svn-id: https://torrentpier2.googlecode.com/svn/trunk@328 a8ac35ab-4ca4-ca47-4c2d-a49a94f06293 --- upload/ajax/mod_action.php | 26 +++++--- upload/common.php | 1 + upload/config.php | 10 +-- upload/config_mods.php | 18 +++++- .../includes/datastore/build_cat_forums.php | 18 ++++++ upload/includes/functions_post.php | 25 +++++--- upload/index.php | 28 +++++++++ upload/language/lang_english/lang_main.php | 1 + upload/language/lang_russian/lang_main.php | 1 + upload/modcp.php | 21 +++++-- upload/templates/default/agreement.tpl | 2 +- upload/templates/default/page_header.tpl | 61 ++++++++++++------- 12 files changed, 161 insertions(+), 51 deletions(-) diff --git a/upload/ajax/mod_action.php b/upload/ajax/mod_action.php index eca7c36b0..737608d57 100644 --- a/upload/ajax/mod_action.php +++ b/upload/ajax/mod_action.php @@ -2,7 +2,7 @@ if (!defined('IN_AJAX')) die(basename(__FILE__)); -global $userdata, $bb_cfg, $lang; +global $userdata, $bb_cfg, $lang, $datastore; $mode = (string) $this->request['mode']; @@ -47,12 +47,24 @@ switch ($mode) DB()->query("UPDATE ". BB_TOPICS ." SET topic_title = '$topic_title_sql' WHERE topic_id = $topic_id LIMIT 1"); //Обновление кеша новостей на главной - $news_forums = array_flip(explode(',', $bb_cfg['latest_news_forum_id'])); - if(isset($news_forums[$t_data['forum_id']]) && $bb_cfg['show_latest_news']) - { global $datastore; - - $datastore->enqueue('latest_news'); - $datastore->update('latest_news'); } + if($bb_cfg['show_latest_news']) + { + $news_forums = array_flip(explode(',', $bb_cfg['latest_news_forum_id'])); + if(isset($news_forums[$t_data['forum_id']]) && $bb_cfg['show_latest_news']) + { + $datastore->enqueue('latest_news'); + $datastore->update('latest_news'); } + } + + if($bb_cfg['show_network_news']) + { + $net_forums = array_flip(explode(',', $bb_cfg['network_news_forum_id'])); + if(isset($net_forums[$t_data['forum_id']]) && $bb_cfg['show_network_news']) + { + $datastore->enqueue('network_news'); + $datastore->update('network_news'); + } + } $this->response['topic_id'] = $topic_id; $this->response['topic_title'] = $new_title; diff --git a/upload/common.php b/upload/common.php index 947783dab..aa9d6a175 100644 --- a/upload/common.php +++ b/upload/common.php @@ -1040,6 +1040,7 @@ class datastore_common 'jumpbox' => 'build_cat_forums.php', 'viewtopic_forum_select' => 'build_cat_forums.php', 'latest_news' => 'build_cat_forums.php', + 'network_news' => 'build_cat_forums.php', 'ads' => 'build_cat_forums.php', 'moderators' => 'build_moderators.php', 'stats' => 'build_stats.php', diff --git a/upload/config.php b/upload/config.php index afd0bd927..3341bd124 100644 --- a/upload/config.php +++ b/upload/config.php @@ -31,7 +31,6 @@ * LOG * Error reporting * Cron - * News * Subforums * Forums @@ -53,8 +52,8 @@ $bb_cfg = $tr_cfg = $page_cfg = array(); // Increase number of revision after update $bb_cfg['tp_version'] = '2.2 Beta'; -$bb_cfg['tp_release_state'] = 'R327'; -$bb_cfg['tp_release_date'] = '21-11-2011'; +$bb_cfg['tp_release_state'] = 'R328'; +$bb_cfg['tp_release_date'] = '24-11-2011'; // Database $charset = 'utf8'; @@ -391,11 +390,6 @@ define('BB_DISABLED', TRIGGERS_DIR .'$off'); define('CRON_ALLOWED', TRIGGERS_DIR .'cron_allowed'); define('CRON_RUNNING', TRIGGERS_DIR .'cron_running'); -// News -$bb_cfg['show_latest_news'] = true; -$bb_cfg['latest_news_count'] = 5; -$bb_cfg['latest_news_forum_id'] = '1'; // (string) 1,2,3... - // Subforums $bb_cfg['sf_on_first_page_only'] = true; $bb_cfg['sf_check_view_permissions'] = false; diff --git a/upload/config_mods.php b/upload/config_mods.php index 2410e67d3..c52fea3a4 100644 --- a/upload/config_mods.php +++ b/upload/config_mods.php @@ -9,6 +9,8 @@ - Magnet links - No avatar - CallSeed + - News + - Network News */ if (!defined('BB_ROOT')) die(basename(__FILE__)); @@ -25,7 +27,7 @@ $bb_cfg['gold_silver_enabled'] = true; // Gallery $bb_cfg['gallery_enabled'] = true; $bb_cfg['pic_dir'] = 'pictures/'; -$bb_cfg['pic_max_size'] = 2*1024*1024; // 2 MiB +$bb_cfg['pic_max_size'] = 5*1024*1024; // 5 MB $bb_cfg['auto_delete_posted_pics'] = true; // Delete pictures while delete post? // Magnet links @@ -36,7 +38,7 @@ $bb_cfg['no_avatar'] = 'images/avatars/gallery/noavatar.png'; // Birthday $bb_cfg['birthday']['enabled'] = true; -$bb_cfg['birthday']['max_user_age'] = 100; +$bb_cfg['birthday']['max_user_age'] = 50; $bb_cfg['birthday']['min_user_age'] = 10; $bb_cfg['birthday']['check_day'] = 7; @@ -47,4 +49,14 @@ $bb_cfg['gender'] = true; $bb_cfg['callseed'] = false; // Tracker stats -$bb_cfg['tor_stats'] = true; \ No newline at end of file +$bb_cfg['tor_stats'] = true; + +// News +$bb_cfg['show_latest_news'] = true; +$bb_cfg['latest_news_count'] = 5; +$bb_cfg['latest_news_forum_id'] = '1'; // (string) 1,2,3... + +// Network News +$bb_cfg['show_network_news'] = true; +$bb_cfg['network_news_count'] = 5; +$bb_cfg['network_news_forum_id'] = '2'; // (string) 1,2,3... \ No newline at end of file diff --git a/upload/includes/datastore/build_cat_forums.php b/upload/includes/datastore/build_cat_forums.php index a3a934bd8..d1c632112 100644 --- a/upload/includes/datastore/build_cat_forums.php +++ b/upload/includes/datastore/build_cat_forums.php @@ -143,6 +143,24 @@ if ($bb_cfg['show_latest_news'] AND $news_forum_ids = $bb_cfg['latest_news_forum $this->store('latest_news', $data); } +// +// Network_news +// +if ($bb_cfg['show_network_news'] AND $net_forum_ids = intval($bb_cfg['network_news_forum_id'])) +{ + $net_count = max($bb_cfg['network_news_count'], 1); + + $data = DB()->fetch_rowset(" + SELECT topic_id, topic_time, topic_title, forum_id + FROM ". BB_TOPICS ." + WHERE forum_id IN ($net_forum_ids) + ORDER BY topic_time DESC + LIMIT $net_count + "); + + $this->store('network_news', $data); +} + // // Ads // diff --git a/upload/includes/functions_post.php b/upload/includes/functions_post.php index 761a8023f..dca31b93c 100644 --- a/upload/includes/functions_post.php +++ b/upload/includes/functions_post.php @@ -106,7 +106,7 @@ function prepare_post(&$mode, &$post_data, &$error_msg, &$username, &$subject, & // function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$topic_type, $post_username, $post_subject, $post_message, $poll_title, &$poll_options, &$poll_length, $update_post_time) { - global $userdata, $post_info, $is_auth, $bb_cfg, $lang; + global $userdata, $post_info, $is_auth, $bb_cfg, $lang, $datastore; $current_time = TIMENOW; @@ -215,13 +215,24 @@ function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_ )); //Обновление кеша новостей на главной - $news_forums = array_flip(explode(',', $bb_cfg['latest_news_forum_id'])); - if(isset($news_forums[$forum_id]) && $bb_cfg['show_latest_news'] && $mode == 'newtopic') + if($bb_cfg['show_latest_news']) { - global $datastore; - - $datastore->enqueue('latest_news'); - $datastore->update('latest_news'); + $news_forums = array_flip(explode(',', $bb_cfg['latest_news_forum_id'])); + if(isset($news_forums[$forum_id]) && $bb_cfg['show_latest_news'] && $mode == 'newtopic') + { + $datastore->enqueue('latest_news'); + $datastore->update('latest_news'); + } + } + + if($bb_cfg['show_network_news']) + { + $net_forums = array_flip(explode(',', $bb_cfg['network_news_forum_id'])); + if(isset($net_forums[$forum_id]) && $bb_cfg['show_network_news'] && $mode == 'newtopic') + { + $datastore->enqueue('network_news'); + $datastore->update('network_news'); + } } // diff --git a/upload/index.php b/upload/index.php index f2726eb59..a2e69a25f 100644 --- a/upload/index.php +++ b/upload/index.php @@ -22,6 +22,10 @@ if ($bb_cfg['show_latest_news']) { $datastore->enqueue('latest_news'); } +if ($bb_cfg['show_network_news']) +{ + $datastore->enqueue('network_news'); +} // Init userdata $user->session_start(); @@ -337,6 +341,30 @@ if ($bb_cfg['show_latest_news']) } } +// Network news +if ($bb_cfg['show_network_news']) +{ + if (!$network_news = $datastore->get('network_news')) + { + $datastore->update('network_news'); + $network_news = $datastore->get('network_news'); + } + + $template->assign_vars(array( + 'SHOW_NETWORK_NEWS' => true, + )); + + foreach ($network_news as $net) + { + $template->assign_block_vars('net', array( + 'NEWS_TOPIC_ID' => $net['topic_id'], + 'NEWS_TITLE' => $net['topic_title'], + 'NEWS_TIME' => bb_date($net['topic_time'], 'd-M', 'false'), + 'NEWS_IS_NEW' => is_unread($net['topic_time'], $net['topic_id'], $net['forum_id']), + )); + } +} + if ($bb_cfg['birthday']['check_day'] && $bb_cfg['birthday']['enabled']) { $week_list = $today_list = array(); diff --git a/upload/language/lang_english/lang_main.php b/upload/language/lang_english/lang_main.php index eedc8d545..4b2aa09d3 100644 --- a/upload/language/lang_english/lang_main.php +++ b/upload/language/lang_english/lang_main.php @@ -195,6 +195,7 @@ $lang['MARK_ALL_FORUMS_READ'] = 'Mark all forums read'; $lang['FORUMS_MARKED_READ'] = 'All forums have been marked read'; $lang['LATEST_NEWS'] = 'Latest news'; +$lang['NETWORK_NEWS'] = 'Network news'; $lang['SUBFORUMS'] = 'Subforums'; // diff --git a/upload/language/lang_russian/lang_main.php b/upload/language/lang_russian/lang_main.php index 40368ca38..627d60b0f 100644 --- a/upload/language/lang_russian/lang_main.php +++ b/upload/language/lang_russian/lang_main.php @@ -197,6 +197,7 @@ $lang['MARK_ALL_FORUMS_READ'] = 'Отметить все форумы как п $lang['FORUMS_MARKED_READ'] = 'Все форумы были отмечены как прочтённые'; $lang['LATEST_NEWS'] = 'Новости трекера'; +$lang['NETWORK_NEWS'] = 'Новости Сети'; $lang['SUBFORUMS'] = 'Подфорумы'; // diff --git a/upload/modcp.php b/upload/modcp.php index ea118f9d0..9826c6066 100644 --- a/upload/modcp.php +++ b/upload/modcp.php @@ -249,11 +249,24 @@ switch ($mode) $result = topic_delete($req_topics, $forum_id); //Обновление кеша новостей на главной - $news_forums = array_flip(explode(',', $bb_cfg['latest_news_forum_id'])); - if(isset($news_forums[$forum_id]) && $bb_cfg['show_latest_news'] && $result) + if($bb_cfg['show_latest_news']) { - $datastore->enqueue('latest_news'); - $datastore->update('latest_news'); + $news_forums = array_flip(explode(',', $bb_cfg['latest_news_forum_id'])); + if(isset($news_forums[$forum_id]) && $bb_cfg['show_latest_news'] && $result) + { + $datastore->enqueue('latest_news'); + $datastore->update('latest_news'); + } + } + + if($bb_cfg['show_network_news']) + { + $net_forums = array_flip(explode(',', $bb_cfg['network_news_forum_id'])); + if(isset($net_forums[$forum_id]) && $bb_cfg['show_network_news'] && $result) + { + $datastore->enqueue('network_news'); + $datastore->update('network_news'); + } } $msg = ($result) ? $lang['TOPICS_REMOVED'] : 'No topics were removed'; diff --git a/upload/templates/default/agreement.tpl b/upload/templates/default/agreement.tpl index 69faa8dc9..e49ece00e 100644 --- a/upload/templates/default/agreement.tpl +++ b/upload/templates/default/agreement.tpl @@ -3,7 +3,7 @@ - +
{SITENAME} - {REGISTRATION}{SITENAME} - {L_REGISTRATION}
diff --git a/upload/templates/default/page_header.tpl b/upload/templates/default/page_header.tpl index 09b949529..96bdac30a 100644 --- a/upload/templates/default/page_header.tpl +++ b/upload/templates/default/page_header.tpl @@ -560,27 +560,46 @@ function go_to_page () - -
- - -
- - -
-

{L_LATEST_NEWS}

- - - - - - - -
{news.NEWS_TIME}
-
-
- - +
+
+
+ + + + + + + + +
+ +

{L_LATEST_NEWS}

+ + + + + + + +
{news.NEWS_TIME}
+ +
+ +
+

{L_NETWORK_NEWS}

+ + + + + + + +
{net.NEWS_TIME}
+ +
+
+
+
{AD_BLOCK_200}
{AD_BLOCK_100}