Edit File by line
/home/barbar84/public_h.../wp-admin
File: edit-comments.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* Edit Comments Administration Screen.
[2] Fix | Delete
*
[3] Fix | Delete
* @package WordPress
[4] Fix | Delete
* @subpackage Administration
[5] Fix | Delete
*/
[6] Fix | Delete
[7] Fix | Delete
/** WordPress Administration Bootstrap */
[8] Fix | Delete
require_once __DIR__ . '/admin.php';
[9] Fix | Delete
if ( ! current_user_can( 'edit_posts' ) ) {
[10] Fix | Delete
wp_die(
[11] Fix | Delete
'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
[12] Fix | Delete
'<p>' . __( 'Sorry, you are not allowed to edit comments.' ) . '</p>',
[13] Fix | Delete
403
[14] Fix | Delete
);
[15] Fix | Delete
}
[16] Fix | Delete
[17] Fix | Delete
$wp_list_table = _get_list_table( 'WP_Comments_List_Table' );
[18] Fix | Delete
$pagenum = $wp_list_table->get_pagenum();
[19] Fix | Delete
[20] Fix | Delete
$doaction = $wp_list_table->current_action();
[21] Fix | Delete
[22] Fix | Delete
if ( $doaction ) {
[23] Fix | Delete
check_admin_referer( 'bulk-comments' );
[24] Fix | Delete
[25] Fix | Delete
if ( 'delete_all' === $doaction && ! empty( $_REQUEST['pagegen_timestamp'] ) ) {
[26] Fix | Delete
$comment_status = wp_unslash( $_REQUEST['comment_status'] );
[27] Fix | Delete
$delete_time = wp_unslash( $_REQUEST['pagegen_timestamp'] );
[28] Fix | Delete
$comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT comment_ID FROM $wpdb->comments WHERE comment_approved = %s AND %s > comment_date_gmt", $comment_status, $delete_time ) );
[29] Fix | Delete
$doaction = 'delete';
[30] Fix | Delete
} elseif ( isset( $_REQUEST['delete_comments'] ) ) {
[31] Fix | Delete
$comment_ids = $_REQUEST['delete_comments'];
[32] Fix | Delete
$doaction = $_REQUEST['action'];
[33] Fix | Delete
} elseif ( isset( $_REQUEST['ids'] ) ) {
[34] Fix | Delete
$comment_ids = array_map( 'absint', explode( ',', $_REQUEST['ids'] ) );
[35] Fix | Delete
} elseif ( wp_get_referer() ) {
[36] Fix | Delete
wp_safe_redirect( wp_get_referer() );
[37] Fix | Delete
exit;
[38] Fix | Delete
}
[39] Fix | Delete
[40] Fix | Delete
$approved = 0;
[41] Fix | Delete
$unapproved = 0;
[42] Fix | Delete
$spammed = 0;
[43] Fix | Delete
$unspammed = 0;
[44] Fix | Delete
$trashed = 0;
[45] Fix | Delete
$untrashed = 0;
[46] Fix | Delete
$deleted = 0;
[47] Fix | Delete
[48] Fix | Delete
$redirect_to = remove_query_arg( array( 'trashed', 'untrashed', 'deleted', 'spammed', 'unspammed', 'approved', 'unapproved', 'ids' ), wp_get_referer() );
[49] Fix | Delete
$redirect_to = add_query_arg( 'paged', $pagenum, $redirect_to );
[50] Fix | Delete
[51] Fix | Delete
wp_defer_comment_counting( true );
[52] Fix | Delete
[53] Fix | Delete
foreach ( $comment_ids as $comment_id ) { // Check the permissions on each.
[54] Fix | Delete
if ( ! current_user_can( 'edit_comment', $comment_id ) ) {
[55] Fix | Delete
continue;
[56] Fix | Delete
}
[57] Fix | Delete
[58] Fix | Delete
switch ( $doaction ) {
[59] Fix | Delete
case 'approve':
[60] Fix | Delete
wp_set_comment_status( $comment_id, 'approve' );
[61] Fix | Delete
$approved++;
[62] Fix | Delete
break;
[63] Fix | Delete
case 'unapprove':
[64] Fix | Delete
wp_set_comment_status( $comment_id, 'hold' );
[65] Fix | Delete
$unapproved++;
[66] Fix | Delete
break;
[67] Fix | Delete
case 'spam':
[68] Fix | Delete
wp_spam_comment( $comment_id );
[69] Fix | Delete
$spammed++;
[70] Fix | Delete
break;
[71] Fix | Delete
case 'unspam':
[72] Fix | Delete
wp_unspam_comment( $comment_id );
[73] Fix | Delete
$unspammed++;
[74] Fix | Delete
break;
[75] Fix | Delete
case 'trash':
[76] Fix | Delete
wp_trash_comment( $comment_id );
[77] Fix | Delete
$trashed++;
[78] Fix | Delete
break;
[79] Fix | Delete
case 'untrash':
[80] Fix | Delete
wp_untrash_comment( $comment_id );
[81] Fix | Delete
$untrashed++;
[82] Fix | Delete
break;
[83] Fix | Delete
case 'delete':
[84] Fix | Delete
wp_delete_comment( $comment_id );
[85] Fix | Delete
$deleted++;
[86] Fix | Delete
break;
[87] Fix | Delete
}
[88] Fix | Delete
}
[89] Fix | Delete
[90] Fix | Delete
if ( ! in_array( $doaction, array( 'approve', 'unapprove', 'spam', 'unspam', 'trash', 'delete' ), true ) ) {
[91] Fix | Delete
$screen = get_current_screen()->id;
[92] Fix | Delete
[93] Fix | Delete
/** This action is documented in wp-admin/edit.php */
[94] Fix | Delete
$redirect_to = apply_filters( "handle_bulk_actions-{$screen}", $redirect_to, $doaction, $comment_ids ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
[95] Fix | Delete
}
[96] Fix | Delete
[97] Fix | Delete
wp_defer_comment_counting( false );
[98] Fix | Delete
[99] Fix | Delete
if ( $approved ) {
[100] Fix | Delete
$redirect_to = add_query_arg( 'approved', $approved, $redirect_to );
[101] Fix | Delete
}
[102] Fix | Delete
if ( $unapproved ) {
[103] Fix | Delete
$redirect_to = add_query_arg( 'unapproved', $unapproved, $redirect_to );
[104] Fix | Delete
}
[105] Fix | Delete
if ( $spammed ) {
[106] Fix | Delete
$redirect_to = add_query_arg( 'spammed', $spammed, $redirect_to );
[107] Fix | Delete
}
[108] Fix | Delete
if ( $unspammed ) {
[109] Fix | Delete
$redirect_to = add_query_arg( 'unspammed', $unspammed, $redirect_to );
[110] Fix | Delete
}
[111] Fix | Delete
if ( $trashed ) {
[112] Fix | Delete
$redirect_to = add_query_arg( 'trashed', $trashed, $redirect_to );
[113] Fix | Delete
}
[114] Fix | Delete
if ( $untrashed ) {
[115] Fix | Delete
$redirect_to = add_query_arg( 'untrashed', $untrashed, $redirect_to );
[116] Fix | Delete
}
[117] Fix | Delete
if ( $deleted ) {
[118] Fix | Delete
$redirect_to = add_query_arg( 'deleted', $deleted, $redirect_to );
[119] Fix | Delete
}
[120] Fix | Delete
if ( $trashed || $spammed ) {
[121] Fix | Delete
$redirect_to = add_query_arg( 'ids', implode( ',', $comment_ids ), $redirect_to );
[122] Fix | Delete
}
[123] Fix | Delete
[124] Fix | Delete
wp_safe_redirect( $redirect_to );
[125] Fix | Delete
exit;
[126] Fix | Delete
} elseif ( ! empty( $_GET['_wp_http_referer'] ) ) {
[127] Fix | Delete
wp_redirect( remove_query_arg( array( '_wp_http_referer', '_wpnonce' ), wp_unslash( $_SERVER['REQUEST_URI'] ) ) );
[128] Fix | Delete
exit;
[129] Fix | Delete
}
[130] Fix | Delete
[131] Fix | Delete
$wp_list_table->prepare_items();
[132] Fix | Delete
[133] Fix | Delete
wp_enqueue_script( 'admin-comments' );
[134] Fix | Delete
enqueue_comment_hotkeys_js();
[135] Fix | Delete
[136] Fix | Delete
if ( $post_id ) {
[137] Fix | Delete
$comments_count = wp_count_comments( $post_id );
[138] Fix | Delete
$draft_or_post_title = wp_html_excerpt( _draft_or_post_title( $post_id ), 50, '&hellip;' );
[139] Fix | Delete
if ( $comments_count->moderated > 0 ) {
[140] Fix | Delete
$title = sprintf(
[141] Fix | Delete
/* translators: 1: Comments count, 2: Post title. */
[142] Fix | Delete
__( 'Comments (%1$s) on &#8220;%2$s&#8221;' ),
[143] Fix | Delete
number_format_i18n( $comments_count->moderated ),
[144] Fix | Delete
$draft_or_post_title
[145] Fix | Delete
);
[146] Fix | Delete
} else {
[147] Fix | Delete
$title = sprintf(
[148] Fix | Delete
/* translators: %s: Post title. */
[149] Fix | Delete
__( 'Comments on &#8220;%s&#8221;' ),
[150] Fix | Delete
$draft_or_post_title
[151] Fix | Delete
);
[152] Fix | Delete
}
[153] Fix | Delete
} else {
[154] Fix | Delete
$comments_count = wp_count_comments();
[155] Fix | Delete
if ( $comments_count->moderated > 0 ) {
[156] Fix | Delete
$title = sprintf(
[157] Fix | Delete
/* translators: %s: Comments count. */
[158] Fix | Delete
__( 'Comments (%s)' ),
[159] Fix | Delete
number_format_i18n( $comments_count->moderated )
[160] Fix | Delete
);
[161] Fix | Delete
} else {
[162] Fix | Delete
$title = __( 'Comments' );
[163] Fix | Delete
}
[164] Fix | Delete
}
[165] Fix | Delete
[166] Fix | Delete
add_screen_option( 'per_page' );
[167] Fix | Delete
[168] Fix | Delete
get_current_screen()->add_help_tab(
[169] Fix | Delete
array(
[170] Fix | Delete
'id' => 'overview',
[171] Fix | Delete
'title' => __( 'Overview' ),
[172] Fix | Delete
'content' =>
[173] Fix | Delete
'<p>' . __( 'You can manage comments made on your site similar to the way you manage posts and other content. This screen is customizable in the same ways as other management screens, and you can act on comments using the on-hover action links or the bulk actions.' ) . '</p>',
[174] Fix | Delete
)
[175] Fix | Delete
);
[176] Fix | Delete
get_current_screen()->add_help_tab(
[177] Fix | Delete
array(
[178] Fix | Delete
'id' => 'moderating-comments',
[179] Fix | Delete
'title' => __( 'Moderating Comments' ),
[180] Fix | Delete
'content' =>
[181] Fix | Delete
'<p>' . __( 'A red bar on the left means the comment is waiting for you to moderate it.' ) . '</p>' .
[182] Fix | Delete
'<p>' . __( 'In the <strong>Author</strong> column, in addition to the author&#8217;s name, email address, and blog URL, the commenter&#8217;s IP address is shown. Clicking on this link will show you all the comments made from this IP address.' ) . '</p>' .
[183] Fix | Delete
'<p>' . __( 'In the <strong>Comment</strong> column, hovering over any comment gives you options to approve, reply (and approve), quick edit, edit, spam mark, or trash that comment.' ) . '</p>' .
[184] Fix | Delete
'<p>' . __( 'In the <strong>In response to</strong> column, there are three elements. The text is the name of the post that inspired the comment, and links to the post editor for that entry. The View Post link leads to that post on your live site. The small bubble with the number in it shows the number of approved comments that post has received. If there are pending comments, a red notification circle with the number of pending comments is displayed. Clicking the notification circle will filter the comments screen to show only pending comments on that post.' ) . '</p>' .
[185] Fix | Delete
'<p>' . __( 'In the <strong>Submitted on</strong> column, the date and time the comment was left on your site appears. Clicking on the date/time link will take you to that comment on your live site.' ) . '</p>' .
[186] Fix | Delete
'<p>' . __( 'Many people take advantage of keyboard shortcuts to moderate their comments more quickly. Use the link to the side to learn more.' ) . '</p>',
[187] Fix | Delete
)
[188] Fix | Delete
);
[189] Fix | Delete
[190] Fix | Delete
get_current_screen()->set_help_sidebar(
[191] Fix | Delete
'<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
[192] Fix | Delete
'<p>' . __( '<a href="https://wordpress.org/support/article/comments-screen/">Documentation on Comments</a>' ) . '</p>' .
[193] Fix | Delete
'<p>' . __( '<a href="https://wordpress.org/support/article/comment-spam/">Documentation on Comment Spam</a>' ) . '</p>' .
[194] Fix | Delete
'<p>' . __( '<a href="https://wordpress.org/support/article/keyboard-shortcuts/">Documentation on Keyboard Shortcuts</a>' ) . '</p>' .
[195] Fix | Delete
'<p>' . __( '<a href="https://wordpress.org/support/">Support</a>' ) . '</p>'
[196] Fix | Delete
);
[197] Fix | Delete
[198] Fix | Delete
get_current_screen()->set_screen_reader_content(
[199] Fix | Delete
array(
[200] Fix | Delete
'heading_views' => __( 'Filter comments list' ),
[201] Fix | Delete
'heading_pagination' => __( 'Comments list navigation' ),
[202] Fix | Delete
'heading_list' => __( 'Comments list' ),
[203] Fix | Delete
)
[204] Fix | Delete
);
[205] Fix | Delete
[206] Fix | Delete
require_once ABSPATH . 'wp-admin/admin-header.php';
[207] Fix | Delete
?>
[208] Fix | Delete
[209] Fix | Delete
<div class="wrap">
[210] Fix | Delete
<h1 class="wp-heading-inline">
[211] Fix | Delete
<?php
[212] Fix | Delete
if ( $post_id ) {
[213] Fix | Delete
printf(
[214] Fix | Delete
/* translators: %s: Link to post. */
[215] Fix | Delete
__( 'Comments on &#8220;%s&#8221;' ),
[216] Fix | Delete
sprintf(
[217] Fix | Delete
'<a href="%1$s">%2$s</a>',
[218] Fix | Delete
get_edit_post_link( $post_id ),
[219] Fix | Delete
wp_html_excerpt( _draft_or_post_title( $post_id ), 50, '&hellip;' )
[220] Fix | Delete
)
[221] Fix | Delete
);
[222] Fix | Delete
} else {
[223] Fix | Delete
_e( 'Comments' );
[224] Fix | Delete
}
[225] Fix | Delete
?>
[226] Fix | Delete
</h1>
[227] Fix | Delete
[228] Fix | Delete
<?php
[229] Fix | Delete
if ( isset( $_REQUEST['s'] ) && strlen( $_REQUEST['s'] ) ) {
[230] Fix | Delete
echo '<span class="subtitle">';
[231] Fix | Delete
printf(
[232] Fix | Delete
/* translators: %s: Search query. */
[233] Fix | Delete
__( 'Search results for: %s' ),
[234] Fix | Delete
'<strong>' . wp_html_excerpt( esc_html( wp_unslash( $_REQUEST['s'] ) ), 50, '&hellip;' ) . '</strong>'
[235] Fix | Delete
);
[236] Fix | Delete
echo '</span>';
[237] Fix | Delete
}
[238] Fix | Delete
?>
[239] Fix | Delete
[240] Fix | Delete
<hr class="wp-header-end">
[241] Fix | Delete
[242] Fix | Delete
<?php
[243] Fix | Delete
if ( isset( $_REQUEST['error'] ) ) {
[244] Fix | Delete
$error = (int) $_REQUEST['error'];
[245] Fix | Delete
$error_msg = '';
[246] Fix | Delete
switch ( $error ) {
[247] Fix | Delete
case 1:
[248] Fix | Delete
$error_msg = __( 'Invalid comment ID.' );
[249] Fix | Delete
break;
[250] Fix | Delete
case 2:
[251] Fix | Delete
$error_msg = __( 'Sorry, you are not allowed to edit comments on this post.' );
[252] Fix | Delete
break;
[253] Fix | Delete
}
[254] Fix | Delete
if ( $error_msg ) {
[255] Fix | Delete
echo '<div id="moderated" class="error"><p>' . $error_msg . '</p></div>';
[256] Fix | Delete
}
[257] Fix | Delete
}
[258] Fix | Delete
[259] Fix | Delete
if ( isset( $_REQUEST['approved'] ) || isset( $_REQUEST['deleted'] ) || isset( $_REQUEST['trashed'] ) || isset( $_REQUEST['untrashed'] ) || isset( $_REQUEST['spammed'] ) || isset( $_REQUEST['unspammed'] ) || isset( $_REQUEST['same'] ) ) {
[260] Fix | Delete
$approved = isset( $_REQUEST['approved'] ) ? (int) $_REQUEST['approved'] : 0;
[261] Fix | Delete
$deleted = isset( $_REQUEST['deleted'] ) ? (int) $_REQUEST['deleted'] : 0;
[262] Fix | Delete
$trashed = isset( $_REQUEST['trashed'] ) ? (int) $_REQUEST['trashed'] : 0;
[263] Fix | Delete
$untrashed = isset( $_REQUEST['untrashed'] ) ? (int) $_REQUEST['untrashed'] : 0;
[264] Fix | Delete
$spammed = isset( $_REQUEST['spammed'] ) ? (int) $_REQUEST['spammed'] : 0;
[265] Fix | Delete
$unspammed = isset( $_REQUEST['unspammed'] ) ? (int) $_REQUEST['unspammed'] : 0;
[266] Fix | Delete
$same = isset( $_REQUEST['same'] ) ? (int) $_REQUEST['same'] : 0;
[267] Fix | Delete
[268] Fix | Delete
if ( $approved > 0 || $deleted > 0 || $trashed > 0 || $untrashed > 0 || $spammed > 0 || $unspammed > 0 || $same > 0 ) {
[269] Fix | Delete
if ( $approved > 0 ) {
[270] Fix | Delete
/* translators: %s: Number of comments. */
[271] Fix | Delete
$messages[] = sprintf( _n( '%s comment approved.', '%s comments approved.', $approved ), $approved );
[272] Fix | Delete
}
[273] Fix | Delete
[274] Fix | Delete
if ( $spammed > 0 ) {
[275] Fix | Delete
$ids = isset( $_REQUEST['ids'] ) ? $_REQUEST['ids'] : 0;
[276] Fix | Delete
/* translators: %s: Number of comments. */
[277] Fix | Delete
$messages[] = sprintf( _n( '%s comment marked as spam.', '%s comments marked as spam.', $spammed ), $spammed ) . ' <a href="' . esc_url( wp_nonce_url( "edit-comments.php?doaction=undo&action=unspam&ids=$ids", 'bulk-comments' ) ) . '">' . __( 'Undo' ) . '</a><br />';
[278] Fix | Delete
}
[279] Fix | Delete
[280] Fix | Delete
if ( $unspammed > 0 ) {
[281] Fix | Delete
/* translators: %s: Number of comments. */
[282] Fix | Delete
$messages[] = sprintf( _n( '%s comment restored from the spam.', '%s comments restored from the spam.', $unspammed ), $unspammed );
[283] Fix | Delete
}
[284] Fix | Delete
[285] Fix | Delete
if ( $trashed > 0 ) {
[286] Fix | Delete
$ids = isset( $_REQUEST['ids'] ) ? $_REQUEST['ids'] : 0;
[287] Fix | Delete
/* translators: %s: Number of comments. */
[288] Fix | Delete
$messages[] = sprintf( _n( '%s comment moved to the Trash.', '%s comments moved to the Trash.', $trashed ), $trashed ) . ' <a href="' . esc_url( wp_nonce_url( "edit-comments.php?doaction=undo&action=untrash&ids=$ids", 'bulk-comments' ) ) . '">' . __( 'Undo' ) . '</a><br />';
[289] Fix | Delete
}
[290] Fix | Delete
[291] Fix | Delete
if ( $untrashed > 0 ) {
[292] Fix | Delete
/* translators: %s: Number of comments. */
[293] Fix | Delete
$messages[] = sprintf( _n( '%s comment restored from the Trash.', '%s comments restored from the Trash.', $untrashed ), $untrashed );
[294] Fix | Delete
}
[295] Fix | Delete
[296] Fix | Delete
if ( $deleted > 0 ) {
[297] Fix | Delete
/* translators: %s: Number of comments. */
[298] Fix | Delete
$messages[] = sprintf( _n( '%s comment permanently deleted.', '%s comments permanently deleted.', $deleted ), $deleted );
[299] Fix | Delete
}
[300] Fix | Delete
[301] Fix | Delete
if ( $same > 0 ) {
[302] Fix | Delete
$comment = get_comment( $same );
[303] Fix | Delete
if ( $comment ) {
[304] Fix | Delete
switch ( $comment->comment_approved ) {
[305] Fix | Delete
case '1':
[306] Fix | Delete
$messages[] = __( 'This comment is already approved.' ) . ' <a href="' . esc_url( admin_url( "comment.php?action=editcomment&c=$same" ) ) . '">' . __( 'Edit comment' ) . '</a>';
[307] Fix | Delete
break;
[308] Fix | Delete
case 'trash':
[309] Fix | Delete
$messages[] = __( 'This comment is already in the Trash.' ) . ' <a href="' . esc_url( admin_url( 'edit-comments.php?comment_status=trash' ) ) . '"> ' . __( 'View Trash' ) . '</a>';
[310] Fix | Delete
break;
[311] Fix | Delete
case 'spam':
[312] Fix | Delete
$messages[] = __( 'This comment is already marked as spam.' ) . ' <a href="' . esc_url( admin_url( "comment.php?action=editcomment&c=$same" ) ) . '">' . __( 'Edit comment' ) . '</a>';
[313] Fix | Delete
break;
[314] Fix | Delete
}
[315] Fix | Delete
}
[316] Fix | Delete
}
[317] Fix | Delete
[318] Fix | Delete
echo '<div id="moderated" class="updated notice is-dismissible"><p>' . implode( "<br/>\n", $messages ) . '</p></div>';
[319] Fix | Delete
}
[320] Fix | Delete
}
[321] Fix | Delete
?>
[322] Fix | Delete
[323] Fix | Delete
<?php $wp_list_table->views(); ?>
[324] Fix | Delete
[325] Fix | Delete
<form id="comments-form" method="get">
[326] Fix | Delete
[327] Fix | Delete
<?php $wp_list_table->search_box( __( 'Search Comments' ), 'comment' ); ?>
[328] Fix | Delete
[329] Fix | Delete
<?php if ( $post_id ) : ?>
[330] Fix | Delete
<input type="hidden" name="p" value="<?php echo esc_attr( (int) $post_id ); ?>" />
[331] Fix | Delete
<?php endif; ?>
[332] Fix | Delete
<input type="hidden" name="comment_status" value="<?php echo esc_attr( $comment_status ); ?>" />
[333] Fix | Delete
<input type="hidden" name="pagegen_timestamp" value="<?php echo esc_attr( current_time( 'mysql', 1 ) ); ?>" />
[334] Fix | Delete
[335] Fix | Delete
<input type="hidden" name="_total" value="<?php echo esc_attr( $wp_list_table->get_pagination_arg( 'total_items' ) ); ?>" />
[336] Fix | Delete
<input type="hidden" name="_per_page" value="<?php echo esc_attr( $wp_list_table->get_pagination_arg( 'per_page' ) ); ?>" />
[337] Fix | Delete
<input type="hidden" name="_page" value="<?php echo esc_attr( $wp_list_table->get_pagination_arg( 'page' ) ); ?>" />
[338] Fix | Delete
[339] Fix | Delete
<?php if ( isset( $_REQUEST['paged'] ) ) { ?>
[340] Fix | Delete
<input type="hidden" name="paged" value="<?php echo esc_attr( absint( $_REQUEST['paged'] ) ); ?>" />
[341] Fix | Delete
<?php } ?>
[342] Fix | Delete
[343] Fix | Delete
<?php $wp_list_table->display(); ?>
[344] Fix | Delete
</form>
[345] Fix | Delete
</div>
[346] Fix | Delete
[347] Fix | Delete
<div id="ajax-response"></div>
[348] Fix | Delete
[349] Fix | Delete
<?php
[350] Fix | Delete
wp_comment_reply( '-1', true, 'detail' );
[351] Fix | Delete
wp_comment_trashnotice();
[352] Fix | Delete
require_once ABSPATH . 'wp-admin/admin-footer.php'; ?>
[353] Fix | Delete
[354] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function