Commit 749f15e7 authored by Dries's avatar Dries
Browse files

- Modified patch #18328 by Neil: currently the two forum topic blocks share a...

- Modified patch #18328 by Neil: currently the two forum topic blocks share a number of topics in block setting. This is a bit confusing since configuring one blockshould not affect another block.  Fixed some indentation as well.
parent 03374fc0
...@@ -101,7 +101,8 @@ ...@@ -101,7 +101,8 @@
"2005-01-27" => "update_122", "2005-01-27" => "update_122",
"2005-01-28" => "update_123", "2005-01-28" => "update_123",
"2005-02-11" => "update_124", "2005-02-11" => "update_124",
"2005-02-23" => "update_125" "2005-02-23" => "update_125",
"2005-03-03" => "update_126"
); );
function update_32() { function update_32() {
...@@ -2303,6 +2304,12 @@ function update_125() { ...@@ -2303,6 +2304,12 @@ function update_125() {
return $ret; return $ret;
} }
function update_126() {
$ret[] = update_sql("DELETE FROM {variable} WHERE name LIKE 'forum_block_%'");
return $ret;
}
function update_sql($sql) { function update_sql($sql) {
$edit = $_POST["edit"]; $edit = $_POST["edit"];
$result = db_query($sql); $result = db_query($sql);
......
...@@ -308,29 +308,27 @@ function forum_block($op = 'list', $delta = 0, $edit = array()) { ...@@ -308,29 +308,27 @@ function forum_block($op = 'list', $delta = 0, $edit = array()) {
return $blocks; return $blocks;
case 'configure': case 'configure':
$output = form_select(t('Number of topics in block'), 'forum_block_num', variable_get('forum_block_num', '5'), drupal_map_assoc(array(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20))); $output = form_select(t('Number of topics'), 'forum_block_num_'. $delta, variable_get('forum_block_num_'. $delta, '5'), drupal_map_assoc(array(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)));
return $output; return $output;
case 'save': case 'save':
variable_set('forum_block_num', $edit['forum_block_num']); variable_set('forum_block_num_'. $delta, $edit['forum_block_num_'. $delta]);
break; break;
case 'view': case 'view':
if (user_access('access content')) { if (user_access('access content')) {
switch ($delta) { switch ($delta) {
case 0: case 0:
$title = t('Active forum topics'); $title = t('Active forum topics');
$sql = "SELECT n.nid, n.title, l.last_comment_timestamp, l.comment_count FROM {node} n INNER JOIN {node_comment_statistics} l ON n.nid = l.nid WHERE n.status = 1 AND n.type='forum' ORDER BY l.last_comment_timestamp DESC"; $sql = db_rewrite_sql("SELECT n.nid, n.title, l.last_comment_timestamp, l.comment_count FROM {node} n INNER JOIN {node_comment_statistics} l ON n.nid = l.nid WHERE n.status = 1 AND n.type='forum' ORDER BY l.last_comment_timestamp DESC");
$sql = db_rewrite_sql($sql); $content = node_title_list(db_query_range($sql, 0, variable_get('forum_block_num_0', '5')));
$content = node_title_list(db_query_range($sql, 0, variable_get('forum_block_num', '5'))); break;
break;
case 1: case 1:
$title = t('New forum topics'); $title = t('New forum topics');
$sql = "SELECT n.nid, n.title, l.comment_count FROM {node} n INNER JOIN {node_comment_statistics} l ON n.nid = l.nid WHERE n.type = 'forum' AND n.status = 1 ORDER BY n.nid DESC"; $sql = db_rewrite_sql("SELECT n.nid, n.title, l.comment_count FROM {node} n INNER JOIN {node_comment_statistics} l ON n.nid = l.nid WHERE n.type = 'forum' AND n.status = 1 ORDER BY n.nid DESC");
$sql = db_rewrite_sql($sql); $content = node_title_list(db_query_range($sql, 0, variable_get('forum_block_num_1', '5')));
$content .= node_title_list(db_query_range($sql, 0, variable_get('forum_block_num', '5'))); break;
break;
} }
if ($content) { if ($content) {
......
...@@ -308,29 +308,27 @@ function forum_block($op = 'list', $delta = 0, $edit = array()) { ...@@ -308,29 +308,27 @@ function forum_block($op = 'list', $delta = 0, $edit = array()) {
return $blocks; return $blocks;
case 'configure': case 'configure':
$output = form_select(t('Number of topics in block'), 'forum_block_num', variable_get('forum_block_num', '5'), drupal_map_assoc(array(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20))); $output = form_select(t('Number of topics'), 'forum_block_num_'. $delta, variable_get('forum_block_num_'. $delta, '5'), drupal_map_assoc(array(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)));
return $output; return $output;
case 'save': case 'save':
variable_set('forum_block_num', $edit['forum_block_num']); variable_set('forum_block_num_'. $delta, $edit['forum_block_num_'. $delta]);
break; break;
case 'view': case 'view':
if (user_access('access content')) { if (user_access('access content')) {
switch ($delta) { switch ($delta) {
case 0: case 0:
$title = t('Active forum topics'); $title = t('Active forum topics');
$sql = "SELECT n.nid, n.title, l.last_comment_timestamp, l.comment_count FROM {node} n INNER JOIN {node_comment_statistics} l ON n.nid = l.nid WHERE n.status = 1 AND n.type='forum' ORDER BY l.last_comment_timestamp DESC"; $sql = db_rewrite_sql("SELECT n.nid, n.title, l.last_comment_timestamp, l.comment_count FROM {node} n INNER JOIN {node_comment_statistics} l ON n.nid = l.nid WHERE n.status = 1 AND n.type='forum' ORDER BY l.last_comment_timestamp DESC");
$sql = db_rewrite_sql($sql); $content = node_title_list(db_query_range($sql, 0, variable_get('forum_block_num_0', '5')));
$content = node_title_list(db_query_range($sql, 0, variable_get('forum_block_num', '5'))); break;
break;
case 1: case 1:
$title = t('New forum topics'); $title = t('New forum topics');
$sql = "SELECT n.nid, n.title, l.comment_count FROM {node} n INNER JOIN {node_comment_statistics} l ON n.nid = l.nid WHERE n.type = 'forum' AND n.status = 1 ORDER BY n.nid DESC"; $sql = db_rewrite_sql("SELECT n.nid, n.title, l.comment_count FROM {node} n INNER JOIN {node_comment_statistics} l ON n.nid = l.nid WHERE n.type = 'forum' AND n.status = 1 ORDER BY n.nid DESC");
$sql = db_rewrite_sql($sql); $content = node_title_list(db_query_range($sql, 0, variable_get('forum_block_num_1', '5')));
$content .= node_title_list(db_query_range($sql, 0, variable_get('forum_block_num', '5'))); break;
break;
} }
if ($content) { if ($content) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment