diff options
author | Dries Buytaert <dries@buytaert.net> | 2008-05-14 13:12:41 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2008-05-14 13:12:41 +0000 |
commit | 8cc4aaeeaef190ef2e69652d4610c71db64d145c (patch) | |
tree | bf260ae78a37e87e34aa2402310c8d3ad824b2c3 /modules/comment/comment.admin.inc | |
parent | 11aeff6016e8ee586c85913d315c0a5cb0c9fe09 (diff) | |
download | brdo-8cc4aaeeaef190ef2e69652d4610c71db64d145c.tar.gz brdo-8cc4aaeeaef190ef2e69652d4610c71db64d145c.tar.bz2 |
- Patch #258171 by Senpai: code cleanup.
Diffstat (limited to 'modules/comment/comment.admin.inc')
-rw-r--r-- | modules/comment/comment.admin.inc | 109 |
1 files changed, 66 insertions, 43 deletions
diff --git a/modules/comment/comment.admin.inc b/modules/comment/comment.admin.inc index a52a4b642..82658c171 100644 --- a/modules/comment/comment.admin.inc +++ b/modules/comment/comment.admin.inc @@ -26,7 +26,7 @@ function comment_admin($type = 'new') { * @param $type * Not used. * @param $arg - * Current path's fourth component deciding the form type (Published comments/Approval queue) + * Current path's fourth component deciding the form type (Published comments/Approval queue). * @return * The form structure. * @ingroup forms @@ -35,53 +35,79 @@ function comment_admin($type = 'new') { * @see theme_comment_admin_overview() */ function comment_admin_overview($type = 'new', $arg) { - // build an 'Update options' form + // Build an 'Update options' form. $form['options'] = array( - '#type' => 'fieldset', '#title' => t('Update options'), - '#prefix' => '<div class="container-inline">', '#suffix' => '</div>' + '#type' => 'fieldset', + '#title' => t('Update options'), + '#prefix' => '<div class="container-inline">', + '#suffix' => '</div>', ); $options = array(); foreach (comment_operations($arg == 'approval' ? 'publish' : 'unpublish') as $key => $value) { $options[$key] = $value[0]; } - $form['options']['operation'] = array('#type' => 'select', '#options' => $options, '#default_value' => 'publish'); - $form['options']['submit'] = array('#type' => 'submit', '#value' => t('Update')); + $form['options']['operation'] = array( + '#type' => 'select', + '#options' => $options, + '#default_value' => 'publish', + ); + $form['options']['submit'] = array( + '#type' => 'submit', + '#value' => t('Update'), + ); - // load the comments that we want to display + // Load the comments that need to be displayed. $status = ($arg == 'approval') ? COMMENT_NOT_PUBLISHED : COMMENT_PUBLISHED; - $form['header'] = array('#type' => 'value', '#value' => array( - theme('table_select_header_cell'), - array('data' => t('Subject'), 'field' => 'subject'), - array('data' => t('Author'), 'field' => 'name'), - array('data' => t('Posted in'), 'field' => 'node_title'), - array('data' => t('Time'), 'field' => 'timestamp', 'sort' => 'desc'), - array('data' => t('Operations')) + $form['header'] = array( + '#type' => 'value', + '#value' => array( + theme('table_select_header_cell'), + array('data' => t('Subject'), 'field' => 'subject'), + array('data' => t('Author'), 'field' => 'name'), + array('data' => t('Posted in'), 'field' => 'node_title'), + array('data' => t('Time'), 'field' => 'timestamp', 'sort' => 'desc'), + array('data' => t('Operations')), )); $result = pager_query('SELECT c.subject, c.nid, c.cid, c.comment, c.timestamp, c.status, c.name, c.homepage, u.name AS registered_name, u.uid, n.title as node_title FROM {comments} c INNER JOIN {users} u ON u.uid = c.uid INNER JOIN {node} n ON n.nid = c.nid WHERE c.status = %d' . tablesort_sql($form['header']['#value']), 50, 0, NULL, $status); - // build a table listing the appropriate comments + // Build a table listing the appropriate comments. $destination = drupal_get_destination(); while ($comment = db_fetch_object($result)) { $comments[$comment->cid] = ''; $comment->name = $comment->uid ? $comment->registered_name : $comment->name; - $form['subject'][$comment->cid] = array('#value' => l($comment->subject, 'node/' . $comment->nid, array('attributes' => array('title' => truncate_utf8($comment->comment, 128)), 'fragment' => 'comment-' . $comment->cid))); - $form['username'][$comment->cid] = array('#value' => theme('username', $comment)); - $form['node_title'][$comment->cid] = array('#value' => l($comment->node_title, 'node/' . $comment->nid)); - $form['timestamp'][$comment->cid] = array('#value' => format_date($comment->timestamp, 'small')); - $form['operations'][$comment->cid] = array('#value' => l(t('edit'), 'comment/edit/' . $comment->cid, array('query' => $destination))); + $form['subject'][$comment->cid] = array( + '#value' => l($comment->subject, 'node/' . $comment->nid, array('attributes' => array('title' => truncate_utf8($comment->comment, 128)), 'fragment' => 'comment-' . $comment->cid)) + ); + $form['username'][$comment->cid] = array( + '#value' => theme('username', $comment) + ); + $form['node_title'][$comment->cid] = array( + '#value' => l($comment->node_title, 'node/' . $comment->nid) + ); + $form['timestamp'][$comment->cid] = array( + '#value' => format_date($comment->timestamp, 'small') + ); + $form['operations'][$comment->cid] = array( + '#value' => l(t('edit'), 'comment/edit/' . $comment->cid, array('query' => $destination)) + ); } - $form['comments'] = array('#type' => 'checkboxes', '#options' => isset($comments) ? $comments: array()); - $form['pager'] = array('#value' => theme('pager', NULL, 50, 0)); + $form['comments'] = array( + '#type' => 'checkboxes', + '#options' => isset($comments) ? $comments: array() + ); + $form['pager'] = array( + '#value' => theme('pager', NULL, 50, 0) + ); + return $form; } /** * Validate comment_admin_overview form submissions. - * - * We can't execute any 'Update options' if no comments were selected. */ function comment_admin_overview_validate($form, &$form_state) { $form_state['values']['comments'] = array_diff($form_state['values']['comments'], array(0)); + // We can't execute any 'Update options' if no comments were selected. if (count($form_state['values']['comments']) == 0) { form_set_error('', t('Please select one or more comments to perform the update on.')); drupal_goto('admin/content/comment'); @@ -97,11 +123,11 @@ function comment_admin_overview_validate($form, &$form_state) { function comment_admin_overview_submit($form, &$form_state) { $operations = comment_operations(); if ($operations[$form_state['values']['operation']][1]) { - // extract the appropriate database query operation + // Extract the appropriate database query operation. $query = $operations[$form_state['values']['operation']][1]; foreach ($form_state['values']['comments'] as $cid => $value) { if ($value) { - // perform the update action, then refresh node statistics + // Perform the update action, then refresh node statistics. db_query($query, $cid); $comment = comment_load($cid); _comment_update_node_statistics($comment->nid); @@ -153,8 +179,7 @@ function theme_comment_admin_overview($form) { } /** - * List the selected comments and verify that the admin really wants to delete - * them. + * List the selected comments and verify that the admin wants to delete them. * * @param $form_state * An associative array containing the current state of the form. @@ -166,8 +191,12 @@ function theme_comment_admin_overview($form) { function comment_multiple_delete_confirm(&$form_state) { $edit = $form_state['post']; - $form['comments'] = array('#prefix' => '<ul>', '#suffix' => '</ul>', '#tree' => TRUE); - // array_filter() returns only elements with actual values + $form['comments'] = array( + '#prefix' => '<ul>', + '#suffix' => '</ul>', + '#tree' => TRUE, + ); + // array_filter() returns only elements with actual values. $comment_counter = 0; foreach (array_filter($edit['comments']) as $cid => $value) { $comment = comment_load($cid); @@ -180,7 +209,7 @@ function comment_multiple_delete_confirm(&$form_state) { $form['operation'] = array('#type' => 'hidden', '#value' => 'delete'); if (!$comment_counter) { - drupal_set_message(t('There do not appear to be any comments to delete or your selected comment was deleted by another administrator.')); + drupal_set_message(t('There do not appear to be any comments to delete, or your selected comment was deleted by another administrator.')); drupal_goto('admin/content/comment'); } else { @@ -193,13 +222,12 @@ function comment_multiple_delete_confirm(&$form_state) { /** * Process comment_multiple_delete_confirm form submissions. - * - * Perform the actual comment deletion. */ function comment_multiple_delete_confirm_submit($form, &$form_state) { if ($form_state['values']['confirm']) { foreach ($form_state['values']['comments'] as $cid => $value) { $comment = comment_load($cid); + // Perform the actual comment deletion. _comment_delete_thread($comment); _comment_update_node_statistics($comment->nid); } @@ -213,12 +241,11 @@ function comment_multiple_delete_confirm_submit($form, &$form_state) { * Menu callback; delete a comment. * * @param $cid - * The comment do be deleted. + * The comment to be deleted. */ function comment_delete($cid = NULL) { $comment = db_fetch_object(db_query('SELECT c.*, u.name AS registered_name, u.uid FROM {comments} c INNER JOIN {users} u ON u.uid = c.uid WHERE c.cid = %d', $cid)); $comment->name = $comment->uid ? $comment->registered_name : $comment->name; - $output = ''; if (is_object($comment) && is_numeric($comment->cid)) { @@ -255,14 +282,10 @@ function comment_confirm_delete(&$form_state, $comment) { */ function comment_confirm_delete_submit($form, &$form_state) { drupal_set_message(t('The comment and all its replies have been deleted.')); - $comment = $form['#comment']; - - // Delete comment and its replies. + // Delete the comment and its replies. _comment_delete_thread($comment); - _comment_update_node_statistics($comment->nid); - // Clear the cache so an anonymous user sees that his comment was deleted. cache_clear_all(); @@ -278,16 +301,16 @@ function comment_confirm_delete_submit($form, &$form_state) { function _comment_delete_thread($comment) { if (!is_object($comment) || !is_numeric($comment->cid)) { watchdog('content', 'Cannot delete non-existent comment.', array(), WATCHDOG_WARNING); + return; } - // Delete the comment: + // Delete the comment. db_query('DELETE FROM {comments} WHERE cid = %d', $comment->cid); watchdog('content', 'Comment: deleted %subject.', array('%subject' => $comment->subject)); - comment_invoke_comment($comment, 'delete'); - // Delete the comment's replies + // Delete the comment's replies. $result = db_query('SELECT c.*, u.name AS registered_name, u.uid FROM {comments} c INNER JOIN {users} u ON u.uid = c.uid WHERE pid = %d', $comment->cid); while ($comment = db_fetch_object($result)) { $comment->name = $comment->uid ? $comment->registered_name : $comment->name; |