Новости сети git-svn-id: https://torrentpier2.googlecode.com/svn/trunk@328 a8ac35ab-4ca4-ca47-4c2d-a49a94f06293
This commit is contained in:
pherum83 2011-11-23 22:54:59 +00:00
commit b894a7dcda
12 changed files with 161 additions and 51 deletions

View file

@ -2,7 +2,7 @@
if (!defined('IN_AJAX')) die(basename(__FILE__)); if (!defined('IN_AJAX')) die(basename(__FILE__));
global $userdata, $bb_cfg, $lang; global $userdata, $bb_cfg, $lang, $datastore;
$mode = (string) $this->request['mode']; $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"); 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($bb_cfg['show_latest_news'])
if(isset($news_forums[$t_data['forum_id']]) && $bb_cfg['show_latest_news']) {
{ global $datastore; $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'); } $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_id'] = $topic_id;
$this->response['topic_title'] = $new_title; $this->response['topic_title'] = $new_title;

View file

@ -1040,6 +1040,7 @@ class datastore_common
'jumpbox' => 'build_cat_forums.php', 'jumpbox' => 'build_cat_forums.php',
'viewtopic_forum_select' => 'build_cat_forums.php', 'viewtopic_forum_select' => 'build_cat_forums.php',
'latest_news' => 'build_cat_forums.php', 'latest_news' => 'build_cat_forums.php',
'network_news' => 'build_cat_forums.php',
'ads' => 'build_cat_forums.php', 'ads' => 'build_cat_forums.php',
'moderators' => 'build_moderators.php', 'moderators' => 'build_moderators.php',
'stats' => 'build_stats.php', 'stats' => 'build_stats.php',

View file

@ -31,7 +31,6 @@
* LOG * LOG
* Error reporting * Error reporting
* Cron * Cron
* News
* Subforums * Subforums
* Forums * Forums
@ -53,8 +52,8 @@ $bb_cfg = $tr_cfg = $page_cfg = array();
// Increase number of revision after update // Increase number of revision after update
$bb_cfg['tp_version'] = '2.2 Beta'; $bb_cfg['tp_version'] = '2.2 Beta';
$bb_cfg['tp_release_state'] = 'R327'; $bb_cfg['tp_release_state'] = 'R328';
$bb_cfg['tp_release_date'] = '21-11-2011'; $bb_cfg['tp_release_date'] = '24-11-2011';
// Database // Database
$charset = 'utf8'; $charset = 'utf8';
@ -391,11 +390,6 @@ define('BB_DISABLED', TRIGGERS_DIR .'$off');
define('CRON_ALLOWED', TRIGGERS_DIR .'cron_allowed'); define('CRON_ALLOWED', TRIGGERS_DIR .'cron_allowed');
define('CRON_RUNNING', TRIGGERS_DIR .'cron_running'); 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 // Subforums
$bb_cfg['sf_on_first_page_only'] = true; $bb_cfg['sf_on_first_page_only'] = true;
$bb_cfg['sf_check_view_permissions'] = false; $bb_cfg['sf_check_view_permissions'] = false;

View file

@ -9,6 +9,8 @@
- Magnet links - Magnet links
- No avatar - No avatar
- CallSeed - CallSeed
- News
- Network News
*/ */
if (!defined('BB_ROOT')) die(basename(__FILE__)); if (!defined('BB_ROOT')) die(basename(__FILE__));
@ -25,7 +27,7 @@ $bb_cfg['gold_silver_enabled'] = true;
// Gallery // Gallery
$bb_cfg['gallery_enabled'] = true; $bb_cfg['gallery_enabled'] = true;
$bb_cfg['pic_dir'] = 'pictures/'; $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? $bb_cfg['auto_delete_posted_pics'] = true; // Delete pictures while delete post?
// Magnet links // Magnet links
@ -36,7 +38,7 @@ $bb_cfg['no_avatar'] = 'images/avatars/gallery/noavatar.png';
// Birthday // Birthday
$bb_cfg['birthday']['enabled'] = true; $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']['min_user_age'] = 10;
$bb_cfg['birthday']['check_day'] = 7; $bb_cfg['birthday']['check_day'] = 7;
@ -47,4 +49,14 @@ $bb_cfg['gender'] = true;
$bb_cfg['callseed'] = false; $bb_cfg['callseed'] = false;
// Tracker stats // Tracker stats
$bb_cfg['tor_stats'] = true; $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...

View file

@ -143,6 +143,24 @@ if ($bb_cfg['show_latest_news'] AND $news_forum_ids = $bb_cfg['latest_news_forum
$this->store('latest_news', $data); $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 // Ads
// //

View file

@ -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) 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; $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($bb_cfg['show_latest_news'])
if(isset($news_forums[$forum_id]) && $bb_cfg['show_latest_news'] && $mode == 'newtopic')
{ {
global $datastore; $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'); $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');
}
} }
// //

View file

@ -22,6 +22,10 @@ if ($bb_cfg['show_latest_news'])
{ {
$datastore->enqueue('latest_news'); $datastore->enqueue('latest_news');
} }
if ($bb_cfg['show_network_news'])
{
$datastore->enqueue('network_news');
}
// Init userdata // Init userdata
$user->session_start(); $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']) if ($bb_cfg['birthday']['check_day'] && $bb_cfg['birthday']['enabled'])
{ {
$week_list = $today_list = array(); $week_list = $today_list = array();

View file

@ -195,6 +195,7 @@ $lang['MARK_ALL_FORUMS_READ'] = 'Mark all forums read';
$lang['FORUMS_MARKED_READ'] = 'All forums have been marked read'; $lang['FORUMS_MARKED_READ'] = 'All forums have been marked read';
$lang['LATEST_NEWS'] = 'Latest news'; $lang['LATEST_NEWS'] = 'Latest news';
$lang['NETWORK_NEWS'] = 'Network news';
$lang['SUBFORUMS'] = 'Subforums'; $lang['SUBFORUMS'] = 'Subforums';
// //

View file

@ -197,6 +197,7 @@ $lang['MARK_ALL_FORUMS_READ'] = 'Отметить все форумы как п
$lang['FORUMS_MARKED_READ'] = 'Все форумы были отмечены как прочтённые'; $lang['FORUMS_MARKED_READ'] = 'Все форумы были отмечены как прочтённые';
$lang['LATEST_NEWS'] = 'Новости трекера'; $lang['LATEST_NEWS'] = 'Новости трекера';
$lang['NETWORK_NEWS'] = 'Новости Сети';
$lang['SUBFORUMS'] = 'Подфорумы'; $lang['SUBFORUMS'] = 'Подфорумы';
// //

View file

@ -249,11 +249,24 @@ switch ($mode)
$result = topic_delete($req_topics, $forum_id); $result = topic_delete($req_topics, $forum_id);
//Обновление кеша новостей на главной //Обновление кеша новостей на главной
$news_forums = array_flip(explode(',', $bb_cfg['latest_news_forum_id'])); if($bb_cfg['show_latest_news'])
if(isset($news_forums[$forum_id]) && $bb_cfg['show_latest_news'] && $result)
{ {
$datastore->enqueue('latest_news'); $news_forums = array_flip(explode(',', $bb_cfg['latest_news_forum_id']));
$datastore->update('latest_news'); 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'; $msg = ($result) ? $lang['TOPICS_REMOVED'] : 'No topics were removed';

View file

@ -3,7 +3,7 @@
<table class="forumline"> <table class="forumline">
<tr> <tr>
<th>{SITENAME} - {REGISTRATION}</th> <th>{SITENAME} - {L_REGISTRATION}</th>
</tr> </tr>
<tr> <tr>
<td class="row1"> <td class="row1">

View file

@ -560,27 +560,46 @@ function go_to_page ()
<!-- ENDIF --> <!-- ENDIF -->
<!--main_content--> <!--main_content-->
<td id="main_content"> <td id="main_content">
<div id="main_content_wrap"> <div id="main_content_wrap">
<!-- IF SHOW_LATEST_NEWS --> <div id="latest_news">
<!--latest_news--> <table cellspacing="0" cellpadding="0" width="100%">
<div id="latest_news"> <tr>
<table cellspacing="0" cellpadding="0" width="100%"> <td width="50%">
<tr> <!-- IF SHOW_LATEST_NEWS -->
<td width="70%"> <h3>{L_LATEST_NEWS}</h3>
<h3>{L_LATEST_NEWS}</h3> <table cellpadding="0">
<table cellpadding="0"> <!-- BEGIN news -->
<!-- BEGIN news --> <tr>
<tr> <td><div class="news_date">{news.NEWS_TIME}</div></td>
<td><div class="news_date">{news.NEWS_TIME}</div></td> <td width="100%">
<td width="100%"><div class="news_title<!-- IF news.NEWS_IS_NEW --> new<!-- ENDIF -->"><a href="{TOPIC_URL}{news.NEWS_TOPIC_ID}">{news.NEWS_TITLE}</a></div></td> <div class="news_title<!-- IF news.NEWS_IS_NEW --> new<!-- ENDIF -->"><a href="{TOPIC_URL}{news.NEWS_TOPIC_ID}">{news.NEWS_TITLE}</a></div>
</tr> </td>
<!-- END news --> </tr>
</table> <!-- END news -->
</table> </table>
</div> <!-- ENDIF -->
<!--/latest_news--> </td>
<!-- ENDIF / SHOW_LATEST_NEWS -->
<!-- IF SHOW_NETWORK_NEWS -->
<td width="50%">
<h3>{L_NETWORK_NEWS}</h3>
<table cellpadding="0">
<!-- BEGIN net -->
<tr>
<td><div class="news_date">{net.NEWS_TIME}</div></td>
<td width="100%">
<div class="news_title<!-- IF net.NEWS_IS_NEW --> new<!-- ENDIF -->"><a href="{TOPIC_URL}{net.NEWS_TOPIC_ID}">{net.NEWS_TITLE}</a></div>
</td>
</tr>
<!-- END net -->
</table>
</td>
<!-- ENDIF -->
</tr>
</table>
</div>
<!-- IF AD_BLOCK_200 --><div id="ad-200">{AD_BLOCK_200}</div><!--/ad-200--><!-- ELSEIF AD_BLOCK_100 --><div id="ad-100">{AD_BLOCK_100}</div><!--/ad-100--><!-- ENDIF / AD_BLOCK_100 --> <!-- IF AD_BLOCK_200 --><div id="ad-200">{AD_BLOCK_200}</div><!--/ad-200--><!-- ELSEIF AD_BLOCK_100 --><div id="ad-100">{AD_BLOCK_100}</div><!--/ad-100--><!-- ENDIF / AD_BLOCK_100 -->