From aa3f05d8192f4f278c7290a2c43e59d069a69540 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Mon, 3 May 2004 17:38:40 +0000 Subject: - Patch #7096 by bylund: fixed a bug with the node filters at the node administration page (administration > content) --- modules/node.module | 18 ++++++++++++------ modules/node/node.module | 18 ++++++++++++------ 2 files changed, 24 insertions(+), 12 deletions(-) (limited to 'modules') diff --git a/modules/node.module b/modules/node.module index 6b827f269..1aadba70b 100644 --- a/modules/node.module +++ b/modules/node.module @@ -685,11 +685,13 @@ function node_admin_nodes() { $_SESSION['node_overview_filter'] = 0; } - if (isset($_POST['edit']['filter'])) { + $op = $_POST['op']; + + if ($op == t('Filter') && isset($_POST['edit']['filter'])) { $_SESSION['node_overview_filter'] = $_POST['edit']['filter']; } - if (isset($_POST['edit']['operation'])) { + if ($op == t('Update') && isset($_POST['edit']['operation']) && isset($_POST['edit']['status'])) { $operation = $operations[$_POST['edit']['operation']][1]; foreach ($_POST['edit']['status'] as $nid => $value) { if ($value) { @@ -712,7 +714,7 @@ function node_admin_nodes() { } $form = form_select(NULL, 'filter', $filter, $options); - $form .= form_submit(t('Go')); + $form .= form_submit(t('Filter')); $output .= '

'. t('Filter options') .'

'; $output .= "
$form
"; @@ -721,13 +723,18 @@ function node_admin_nodes() { ** Render operations form: */ + $result = pager_query('SELECT n.*, u.name, u.uid FROM {node} n INNER JOIN {users} u ON n.uid = u.uid '. $filters[$filter][1], 50); + + // Make sure the update controls are disabled if we don't have any rows to select from. + $disabled = !db_num_rows($result); + $options = array(); foreach ($operations as $key => $value) { $options[] = $value[0]; } - $form = form_select(NULL, 'operation', 0, $options); - $form .= form_submit(t('Go')); + $form = form_select(NULL, 'operation', 0, $options, NULL, ($disabled ? 'disabled="disabled"' : '')); + $form .= form_submit(t('Update'), 'op', ($disabled ? array('disabled' => 'disabled') : array())); $output .= '

'. t('Update options') .'

'; $output .= "
$form
"; @@ -736,7 +743,6 @@ function node_admin_nodes() { ** Overview table: */ - $result = pager_query('SELECT n.*, u.name, u.uid FROM {node} n INNER JOIN {users} u ON n.uid = u.uid '. $filters[$filter][1], 50); $header = array(NULL, t('title'), t('type'), t('author'), t('status'), array('data' => t('operations'), 'colspan' => 2)); while ($node = db_fetch_object($result)) { diff --git a/modules/node/node.module b/modules/node/node.module index 6b827f269..1aadba70b 100644 --- a/modules/node/node.module +++ b/modules/node/node.module @@ -685,11 +685,13 @@ function node_admin_nodes() { $_SESSION['node_overview_filter'] = 0; } - if (isset($_POST['edit']['filter'])) { + $op = $_POST['op']; + + if ($op == t('Filter') && isset($_POST['edit']['filter'])) { $_SESSION['node_overview_filter'] = $_POST['edit']['filter']; } - if (isset($_POST['edit']['operation'])) { + if ($op == t('Update') && isset($_POST['edit']['operation']) && isset($_POST['edit']['status'])) { $operation = $operations[$_POST['edit']['operation']][1]; foreach ($_POST['edit']['status'] as $nid => $value) { if ($value) { @@ -712,7 +714,7 @@ function node_admin_nodes() { } $form = form_select(NULL, 'filter', $filter, $options); - $form .= form_submit(t('Go')); + $form .= form_submit(t('Filter')); $output .= '

'. t('Filter options') .'

'; $output .= "
$form
"; @@ -721,13 +723,18 @@ function node_admin_nodes() { ** Render operations form: */ + $result = pager_query('SELECT n.*, u.name, u.uid FROM {node} n INNER JOIN {users} u ON n.uid = u.uid '. $filters[$filter][1], 50); + + // Make sure the update controls are disabled if we don't have any rows to select from. + $disabled = !db_num_rows($result); + $options = array(); foreach ($operations as $key => $value) { $options[] = $value[0]; } - $form = form_select(NULL, 'operation', 0, $options); - $form .= form_submit(t('Go')); + $form = form_select(NULL, 'operation', 0, $options, NULL, ($disabled ? 'disabled="disabled"' : '')); + $form .= form_submit(t('Update'), 'op', ($disabled ? array('disabled' => 'disabled') : array())); $output .= '

'. t('Update options') .'

'; $output .= "
$form
"; @@ -736,7 +743,6 @@ function node_admin_nodes() { ** Overview table: */ - $result = pager_query('SELECT n.*, u.name, u.uid FROM {node} n INNER JOIN {users} u ON n.uid = u.uid '. $filters[$filter][1], 50); $header = array(NULL, t('title'), t('type'), t('author'), t('status'), array('data' => t('operations'), 'colspan' => 2)); while ($node = db_fetch_object($result)) { -- cgit v1.2.3